@strands.gg/accui 1.6.2 → 1.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/dist/accui.css +112 -87
  2. package/dist/nuxt/module.cjs.js.map +1 -1
  3. package/dist/nuxt/module.es.js.map +1 -1
  4. package/dist/nuxt/runtime/composables/useStrandsAuth.cjs.js.map +1 -1
  5. package/dist/nuxt/runtime/composables/useStrandsAuth.es.js.map +1 -1
  6. package/dist/nuxt/runtime/middleware/auth.global.cjs.js.map +1 -1
  7. package/dist/nuxt/runtime/middleware/auth.global.es.js.map +1 -1
  8. package/dist/nuxt/runtime/plugin.client.cjs.js.map +1 -1
  9. package/dist/nuxt/runtime/plugin.client.es.js.map +1 -1
  10. package/dist/nuxt/runtime/plugin.server.cjs.js.map +1 -1
  11. package/dist/nuxt/runtime/plugin.server.es.js.map +1 -1
  12. package/dist/nuxt-v4/module.cjs.js.map +1 -1
  13. package/dist/nuxt-v4/module.es.js.map +1 -1
  14. package/dist/nuxt-v4/runtime/composables/useStrandsAuth.cjs.js.map +1 -1
  15. package/dist/nuxt-v4/runtime/composables/useStrandsAuth.es.js.map +1 -1
  16. package/dist/nuxt-v4/runtime/middleware/auth.global.cjs.js.map +1 -1
  17. package/dist/nuxt-v4/runtime/middleware/auth.global.es.js.map +1 -1
  18. package/dist/nuxt-v4/runtime/plugin.client.cjs.js.map +1 -1
  19. package/dist/nuxt-v4/runtime/plugin.client.es.js.map +1 -1
  20. package/dist/nuxt-v4/runtime/plugin.server.cjs.js.map +1 -1
  21. package/dist/nuxt-v4/runtime/plugin.server.es.js.map +1 -1
  22. package/dist/strands-auth-ui.cjs.js +533 -447
  23. package/dist/strands-auth-ui.cjs.js.map +1 -1
  24. package/dist/strands-auth-ui.es.js +533 -447
  25. package/dist/strands-auth-ui.es.js.map +1 -1
  26. package/dist/useStrandsAuth-CO9JEdxM.js.map +1 -1
  27. package/dist/useStrandsAuth-z4jAu9Uv.cjs.map +1 -1
  28. package/dist/useStrandsConfig-Bdk-g0jS.js.map +1 -1
  29. package/dist/useStrandsConfig-CtmQtE7Y.cjs.map +1 -1
  30. package/package.json +2 -1
  31. package/dist/index.d.ts +0 -7
  32. package/dist/index.d.ts.map +0 -1
  33. package/dist/nuxt/module.d.ts +0 -5
  34. package/dist/nuxt/module.d.ts.map +0 -1
  35. package/dist/nuxt/runtime/composables/useStrandsAuth.d.ts +0 -137
  36. package/dist/nuxt/runtime/composables/useStrandsAuth.d.ts.map +0 -1
  37. package/dist/nuxt/runtime/middleware/auth.global.d.ts +0 -3
  38. package/dist/nuxt/runtime/middleware/auth.global.d.ts.map +0 -1
  39. package/dist/nuxt/runtime/plugin.client.d.ts +0 -3
  40. package/dist/nuxt/runtime/plugin.client.d.ts.map +0 -1
  41. package/dist/nuxt/runtime/plugin.server.d.ts +0 -3
  42. package/dist/nuxt/runtime/plugin.server.d.ts.map +0 -1
  43. package/dist/nuxt/runtime/styles.css +0 -78
  44. package/dist/nuxt/types.d.ts +0 -46
  45. package/dist/nuxt/types.d.ts.map +0 -1
  46. package/dist/nuxt-v4/module.d.ts +0 -5
  47. package/dist/nuxt-v4/module.d.ts.map +0 -1
  48. package/dist/nuxt-v4/runtime/composables/useStrandsAuth.d.ts +0 -27
  49. package/dist/nuxt-v4/runtime/composables/useStrandsAuth.d.ts.map +0 -1
  50. package/dist/nuxt-v4/runtime/middleware/auth.global.d.ts +0 -3
  51. package/dist/nuxt-v4/runtime/middleware/auth.global.d.ts.map +0 -1
  52. package/dist/nuxt-v4/runtime/plugin.client.d.ts +0 -3
  53. package/dist/nuxt-v4/runtime/plugin.client.d.ts.map +0 -1
  54. package/dist/nuxt-v4/runtime/plugin.server.d.ts +0 -3
  55. package/dist/nuxt-v4/runtime/plugin.server.d.ts.map +0 -1
  56. package/dist/nuxt-v4/runtime/styles.css +0 -141
  57. package/dist/nuxt-v4/types.d.ts +0 -64
  58. package/dist/nuxt-v4/types.d.ts.map +0 -1
  59. package/dist/nuxt-v4.d.ts +0 -4
  60. package/dist/nuxt-v4.d.ts.map +0 -1
  61. package/dist/nuxt.d.ts +0 -3
  62. package/dist/nuxt.d.ts.map +0 -1
  63. package/dist/shared/defaults.d.ts +0 -3
  64. package/dist/shared/defaults.d.ts.map +0 -1
  65. package/dist/types/index.d.ts +0 -197
  66. package/dist/types/index.d.ts.map +0 -1
  67. package/dist/utils/index.d.ts +0 -2
  68. package/dist/utils/index.d.ts.map +0 -1
  69. package/dist/utils/slots.d.ts +0 -2
  70. package/dist/utils/slots.d.ts.map +0 -1
  71. package/dist/utils/validation.d.ts +0 -13
  72. package/dist/utils/validation.d.ts.map +0 -1
  73. package/dist/vue/components/SignedIn.vue.d.ts +0 -51
  74. package/dist/vue/components/SignedIn.vue.d.ts.map +0 -1
  75. package/dist/vue/components/SignedOut.vue.d.ts +0 -54
  76. package/dist/vue/components/SignedOut.vue.d.ts.map +0 -1
  77. package/dist/vue/components/StrandsAuth.vue.d.ts +0 -23
  78. package/dist/vue/components/StrandsAuth.vue.d.ts.map +0 -1
  79. package/dist/vue/components/StrandsBackupCodesModal.vue.d.ts +0 -12
  80. package/dist/vue/components/StrandsBackupCodesModal.vue.d.ts.map +0 -1
  81. package/dist/vue/components/StrandsCompleteSignUp.vue.d.ts +0 -21
  82. package/dist/vue/components/StrandsCompleteSignUp.vue.d.ts.map +0 -1
  83. package/dist/vue/components/StrandsConfigProvider.vue.d.ts +0 -22
  84. package/dist/vue/components/StrandsConfigProvider.vue.d.ts.map +0 -1
  85. package/dist/vue/components/StrandsConfirmModal.vue.d.ts +0 -22
  86. package/dist/vue/components/StrandsConfirmModal.vue.d.ts.map +0 -1
  87. package/dist/vue/components/StrandsEmailMfaSetupModal.vue.d.ts +0 -12
  88. package/dist/vue/components/StrandsEmailMfaSetupModal.vue.d.ts.map +0 -1
  89. package/dist/vue/components/StrandsHardwareKeySetupModal.vue.d.ts +0 -15
  90. package/dist/vue/components/StrandsHardwareKeySetupModal.vue.d.ts.map +0 -1
  91. package/dist/vue/components/StrandsLogo.vue.d.ts +0 -8
  92. package/dist/vue/components/StrandsLogo.vue.d.ts.map +0 -1
  93. package/dist/vue/components/StrandsMFASetup.vue.d.ts +0 -16
  94. package/dist/vue/components/StrandsMFASetup.vue.d.ts.map +0 -1
  95. package/dist/vue/components/StrandsMfaModal.vue.d.ts +0 -12
  96. package/dist/vue/components/StrandsMfaModal.vue.d.ts.map +0 -1
  97. package/dist/vue/components/StrandsMfaVerification.vue.d.ts +0 -17
  98. package/dist/vue/components/StrandsMfaVerification.vue.d.ts.map +0 -1
  99. package/dist/vue/components/StrandsPasswordReset.vue.d.ts +0 -15
  100. package/dist/vue/components/StrandsPasswordReset.vue.d.ts.map +0 -1
  101. package/dist/vue/components/StrandsSecuredFooter.vue.d.ts +0 -22
  102. package/dist/vue/components/StrandsSecuredFooter.vue.d.ts.map +0 -1
  103. package/dist/vue/components/StrandsSettingsModal.vue.d.ts +0 -18
  104. package/dist/vue/components/StrandsSettingsModal.vue.d.ts.map +0 -1
  105. package/dist/vue/components/StrandsSignIn.vue.d.ts +0 -21
  106. package/dist/vue/components/StrandsSignIn.vue.d.ts.map +0 -1
  107. package/dist/vue/components/StrandsSignUp.vue.d.ts +0 -19
  108. package/dist/vue/components/StrandsSignUp.vue.d.ts.map +0 -1
  109. package/dist/vue/components/StrandsTotpSetupModal.vue.d.ts +0 -12
  110. package/dist/vue/components/StrandsTotpSetupModal.vue.d.ts.map +0 -1
  111. package/dist/vue/components/StrandsUserButton.vue.d.ts +0 -19
  112. package/dist/vue/components/StrandsUserButton.vue.d.ts.map +0 -1
  113. package/dist/vue/components/StrandsUserProfile.vue.d.ts +0 -26
  114. package/dist/vue/components/StrandsUserProfile.vue.d.ts.map +0 -1
  115. package/dist/vue/components/SvgIcon.vue.d.ts +0 -17
  116. package/dist/vue/components/SvgIcon.vue.d.ts.map +0 -1
  117. package/dist/vue/components/index.d.ts +0 -23
  118. package/dist/vue/components/index.d.ts.map +0 -1
  119. package/dist/vue/composables/useOAuthProviders.d.ts +0 -74
  120. package/dist/vue/composables/useOAuthProviders.d.ts.map +0 -1
  121. package/dist/vue/composables/useStrandsAuth.d.ts +0 -124
  122. package/dist/vue/composables/useStrandsAuth.d.ts.map +0 -1
  123. package/dist/vue/composables/useStrandsConfig.d.ts +0 -11
  124. package/dist/vue/composables/useStrandsConfig.d.ts.map +0 -1
  125. package/dist/vue/composables/useStrandsMfa.d.ts +0 -37
  126. package/dist/vue/composables/useStrandsMfa.d.ts.map +0 -1
  127. package/dist/vue/index.d.ts +0 -7
  128. package/dist/vue/index.d.ts.map +0 -1
  129. package/dist/vue/plugins/StrandsUIPlugin.d.ts +0 -18
  130. package/dist/vue/plugins/StrandsUIPlugin.d.ts.map +0 -1
  131. package/dist/vue/ui/UiAlert.vue.d.ts +0 -31
  132. package/dist/vue/ui/UiAlert.vue.d.ts.map +0 -1
  133. package/dist/vue/ui/UiAvatarEditor.vue.d.ts +0 -24
  134. package/dist/vue/ui/UiAvatarEditor.vue.d.ts.map +0 -1
  135. package/dist/vue/ui/UiAvatarEditorSimple.vue.d.ts +0 -25
  136. package/dist/vue/ui/UiAvatarEditorSimple.vue.d.ts.map +0 -1
  137. package/dist/vue/ui/UiButton.vue.d.ts +0 -40
  138. package/dist/vue/ui/UiButton.vue.d.ts.map +0 -1
  139. package/dist/vue/ui/UiCard.vue.d.ts +0 -29
  140. package/dist/vue/ui/UiCard.vue.d.ts.map +0 -1
  141. package/dist/vue/ui/UiInput.vue.d.ts +0 -48
  142. package/dist/vue/ui/UiInput.vue.d.ts.map +0 -1
  143. package/dist/vue/ui/UiLevelProgress.vue.d.ts +0 -19
  144. package/dist/vue/ui/UiLevelProgress.vue.d.ts.map +0 -1
  145. package/dist/vue/ui/UiLink.vue.d.ts +0 -35
  146. package/dist/vue/ui/UiLink.vue.d.ts.map +0 -1
  147. package/dist/vue/ui/UiLoader.vue.d.ts +0 -15
  148. package/dist/vue/ui/UiLoader.vue.d.ts.map +0 -1
  149. package/dist/vue/ui/UiModal.vue.d.ts +0 -31
  150. package/dist/vue/ui/UiModal.vue.d.ts.map +0 -1
  151. package/dist/vue/ui/UiTabs.vue.d.ts +0 -17
  152. package/dist/vue/ui/UiTabs.vue.d.ts.map +0 -1
  153. package/dist/vue/ui/UiToggle.vue.d.ts +0 -15
  154. package/dist/vue/ui/UiToggle.vue.d.ts.map +0 -1
  155. package/dist/vue/ui/index.d.ts +0 -19
  156. package/dist/vue/ui/index.d.ts.map +0 -1
  157. package/dist/vue/utils/levels.d.ts +0 -28
  158. package/dist/vue/utils/levels.d.ts.map +0 -1
  159. package/dist/vue/utils/sounds.d.ts +0 -57
  160. package/dist/vue/utils/sounds.d.ts.map +0 -1
@@ -317,6 +317,9 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
317
317
  setup(__props) {
318
318
  const props = __props;
319
319
  const cardClasses = vue.computed(() => {
320
+ if (props.variant === "clean") {
321
+ return "";
322
+ }
320
323
  const baseClasses = ["bg-white text-black border border-gray-200 flex flex-col gap-3"];
321
324
  const variantClasses = {
322
325
  default: "rounded-lg",
@@ -850,7 +853,7 @@ const _hoisted_14$c = { class: "bg-white border border-gray-200 rounded-xl p-5 s
850
853
  const _hoisted_15$c = { class: "flex justify-center" };
851
854
  const _hoisted_16$b = ["width", "height"];
852
855
  const _hoisted_17$b = { class: "bg-white border border-gray-200 rounded-xl p-5 shadow-sm" };
853
- const _hoisted_18$a = { class: "space-y-3" };
856
+ const _hoisted_18$9 = { class: "space-y-3" };
854
857
  const _hoisted_19$8 = { class: "flex items-center gap-3" };
855
858
  const _hoisted_20$7 = { class: "flex-1 relative" };
856
859
  const _hoisted_21$5 = ["min", "max"];
@@ -1298,7 +1301,7 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
1298
1301
  ]),
1299
1302
  vue.createElementVNode("h3", { class: "text-sm font-semibold text-gray-700" }, "Zoom")
1300
1303
  ], -1)),
1301
- vue.createElementVNode("div", _hoisted_18$a, [
1304
+ vue.createElementVNode("div", _hoisted_18$9, [
1302
1305
  vue.createElementVNode("div", _hoisted_19$8, [
1303
1306
  vue.createElementVNode("button", {
1304
1307
  onClick: _cache[6] || (_cache[6] = ($event) => {
@@ -1495,7 +1498,7 @@ const _hoisted_14$b = { class: "zoom-control" };
1495
1498
  const _hoisted_15$b = ["min", "max"];
1496
1499
  const _hoisted_16$a = { class: "action-buttons" };
1497
1500
  const _hoisted_17$a = ["disabled"];
1498
- const _hoisted_18$9 = { class: "preview-section" };
1501
+ const _hoisted_18$8 = { class: "preview-section" };
1499
1502
  const _hoisted_19$7 = { class: "preview-container" };
1500
1503
  const _hoisted_20$6 = ["width", "height"];
1501
1504
  const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
@@ -1936,7 +1939,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
1936
1939
  ])
1937
1940
  ])
1938
1941
  ]),
1939
- vue.createElementVNode("div", _hoisted_18$9, [
1942
+ vue.createElementVNode("div", _hoisted_18$8, [
1940
1943
  _cache[9] || (_cache[9] = vue.createElementVNode("h3", { class: "text-sm font-medium text-gray-700 mb-3" }, "Preview", -1)),
1941
1944
  vue.createElementVNode("div", _hoisted_19$7, [
1942
1945
  vue.createElementVNode("canvas", {
@@ -3234,7 +3237,8 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
3234
3237
  __name: "UiModal",
3235
3238
  props: {
3236
3239
  open: { type: Boolean, default: false },
3237
- closeOnOverlayClick: { type: Boolean, default: true }
3240
+ closeOnOverlayClick: { type: Boolean, default: true },
3241
+ fullscreenOnMobile: { type: Boolean, default: true }
3238
3242
  },
3239
3243
  emits: ["close"],
3240
3244
  setup(__props, { emit: __emit }) {
@@ -3253,7 +3257,7 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
3253
3257
  onClick: handleOverlayClick
3254
3258
  }, [
3255
3259
  vue.createElementVNode("div", {
3256
- class: "modal-container",
3260
+ class: vue.normalizeClass(["modal-container", { "modal-container-fullscreen-mobile": _ctx.fullscreenOnMobile }]),
3257
3261
  onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
3258
3262
  }, ["stop"]))
3259
3263
  }, [
@@ -3268,13 +3272,13 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
3268
3272
  vue.renderSlot(_ctx.$slots, "footer", {}, void 0, true)
3269
3273
  ])) : vue.createCommentVNode("", true)
3270
3274
  ])
3271
- ])
3275
+ ], 2)
3272
3276
  ])) : vue.createCommentVNode("", true)
3273
3277
  ]);
3274
3278
  };
3275
3279
  }
3276
3280
  });
3277
- const StrandsUiModal = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-c61f001d"]]);
3281
+ const StrandsUiModal = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-53bb98be"]]);
3278
3282
  const _imports_0 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABVgAAAHgCAYAAABQLAbaAAAEt2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS41LjAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIKICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgdGlmZjpJbWFnZUxlbmd0aD0iNDgwIgogICB0aWZmOkltYWdlV2lkdGg9IjEzNjgiCiAgIHRpZmY6UmVzb2x1dGlvblVuaXQ9IjIiCiAgIHRpZmY6WFJlc29sdXRpb249IjcyLzEiCiAgIHRpZmY6WVJlc29sdXRpb249IjcyLzEiCiAgIGV4aWY6UGl4ZWxYRGltZW5zaW9uPSIxMzY4IgogICBleGlmOlBpeGVsWURpbWVuc2lvbj0iNDgwIgogICBleGlmOkNvbG9yU3BhY2U9IjEiCiAgIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiCiAgIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIKICAgeG1wOk1vZGlmeURhdGU9IjIw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rYdCFBEBYXQHawB8r7uGOCph1YlP9yoKH2PS1V0EEREREREREZlFW8B6BZN5xLgbTELOcR5rdATEp7prOIeru4A4qiAxjZh0rwYAxwMQERERERER0Xu0BawAUIWc0vn4nZIQ66UY7G7fDSSk0R2sYMDasnr36ozuOpqVhNzQXQMRERERERERmUdrwFpfbrv4/7N3P8lNJGvb/79Z5l/E+/ziyBEHA6MuVoBYAWIF2JPGGiFWgFmBzQqAFWBGkj2xWYHFClCvgOoRjdwd0om3z/NiZFX+BlUC4baxZEvKzKrrE8HpPnRj3w1SqerKO+90WcMlVQaYPR16tRCx6wJ+5gomcV1DaAaYN65rmEI/77oXEREREREREfmB04AV4CrXt4C+6zouoTrg6KXrIkogdl3Az1jSkF/DC9el2QBqjsuYhrpXRURERERERORUzgPWZdb6KYR84BVAQ4delduxRgRMrEczNpigFiUizDvXNYiIiIiIiIiIn4zrAka6tA4Iq6PtH1J4fpv1V67rKJpPNOMlzEfXdfzMCuvevJd816X1Aai6rmMK/RXWl10XISIiIiIiIiJ+ct7BOmKwoXexEsHLQ5o113UUzRXPxwMQ9oiLhco7vUMKV0HjAURERERERETkJ7wJWPMDZEI+8AoAi9nr0Yxd1yELlbguIASHNGsWu+W6jmkZ7FvXNYiIiIiIiIiIv7wJWKEQB14BVAaYA4Wss2OIKq5rOEfor9m569GMLeaN6zouIMkXf0RERERERERETuVVwLrMWj/CPHVdxwzECllnJyX1OmBN4T+ua/BZj73KAHOA/6MeThH+6BIRERERERERmS+vAlaAf/N4H2i7rmMG8pB1z+twMAQG4/XvYQQ91zX47JivbwgyXIVhMa5FIiIiIiIiIjJH3gWsAEPsU4qx7ToecKSQ9ZJSrNe/fxb7u+safHXIzkuLXXVdxwVt36GeuC5CRERERERERPzmZcB6h3qSQlG25lYVskoZHbKzabEbruu4qKHGA4iIiIiIiIjIBLwMWAFus/6K4mzPVch6Cb6PCLCYInRbz1Qerm65ruMS2upeFREREREREZFJeBuwQqFGBYBC1guzno8IiLBFeY3ORAHCVYy6V0VERERERERkQl4HrAUbFQAKWaXgihCuAu2b1NuuixARERERERGRMHgdsEI2KsBg9l3XMUPVAUcfejRj14WIzFJBwlV1r4qIiIiIiIjIVLwPWAGucO0pkLiuY4biAeZAIetkIqJ/ua7hZ0yxXpsX0qX1pgjhKupeFREREREREZEpBRGwLrPWN9k81iJRyDoh32ewllmPvUqX1gHQcF3LLAyLd50RERERERERkTkLImAFyLvKXruuY8biAeagy27VdSEi0+rRjAccfQBqrmuZke071BPXRYiIiIiIiIhIWIIJWAFWWN8AOq7rmLEY0g9/0NpwXYjIpA5p1gaYAyB2XcusDDV7VUREREREREQuIKiAFWCIXQP6ruuYtQheHrKz6boOkfP8xe4zW7Bw1WJfqHtVRERERERERC4iuID1DvUkwhRyTqLFbh2y89J1HSKnyeetvhmSvnJdy4wlt6hvuS5CRERERERERMIUXMAK8G8e71O8eawAWOxGl9ZHHX4lPumxW83nrTZc1zJ7Gg0gIiIiIiIiIhcXZMAK3+axtl3XMSc6/Eq88Re7zwakHyjQSIAx2yvUt10XISIiIiIiIiLhCjZgBRhinwKJ6zrmJIb0g+ayiis9mnGX1kEBRwKMJDrYSkREREREREQuK+iANTuUJirkoVcjFrvVpfWmzCMDLPZ31zWUzV/sPjvGfABqrmuZHx1sJSIiIiIiIiKXF3TACrDCr50Uit6F1tDIAH/ZAm2dH+9atVBxXc8caTSAiIiIiIiIiMxE8AErwG3WX9nib/WNNTJA5qXHXuWQnc3id60CGg0gIiIiIiIiIjNUiIAV4Bb1LYPZd13HvOUjAz6WeWSAzNYhzdqAow8Wu1XwrlUADPapRgOIiIiIiIiIyKwUJmAFuMK1Ih96NS4eYD6WpZvVYLyesZtiggwlR+MALOaAAo05+BmLfXGTett1HSIiIiIiIiJSHIUKWJdZ6w+xDylHyFqablaL9TpgNdigAtZ8HMDLAeYjxR8HMK59i/qW6yJEREREREREpFgKFbACZFt/ozXA61BuhkbdrC+LHrTK5Xyfs3r00WI3XNezYMkQ+9R1ESIiIiIiIiJSPIULWAFW+LUTYUoVpljsxgBz0KXZcF3LrEWejwgwmF9c1/AzJ4LVUsxZPWmIfai5qyIiIiIiIiIyD4UMWAH+zeP9FJ67rmPBYjBvurQ+FKmb1fcRAb5SsJpJ4bnCVRERERERERGZl8IGrAC3WX9lsS9c1+FAdYD52KX1pkhBq69SWHZdwzgFq99Z7IvbrL9yXYeIiIiIiIiIFFehA1aAW9S3ShqyAjSKELQazw8ti8CLEQE9mnGXnZcKVjMW+1aHWomIiIiIiIjIvBU+YIVvIetb13U4FHTQalnyfUSA0yDzkGatS+tggPkIdqPswWqu87/cKNtBXiIiIiIiIiLigHFdwCJ9prltME9c1+GB7avYF8uBzKX8RDNewnx0XcdP9FdYX+iYgB57lWO+PrPYBhAv8nsHINGhViIiIiIiIiKyKKUKWEEh6wlti3l9i8f7rgv5mR57lQFHPdd1/MwK6wt5Lx3SrFnMpoGqOlVPpXBVRERERETmJns+/bIK0T2wFYupGGwhns0spm8gMdjfwXZuUm+7rkkkFKULWAG6tD4AVdd1eCQB++IqtH3tau3Ssq5r+Jkh9u68Qr1DmjWIHmj7/7kUroqIiIiIyFyMdhGW7LksAftihfq260JEfFfKgDXviDxAIetpti3mnW9drV1aH/F6K3x0f4VfO7P6ap9oxleInlhsDajN6usWmMJVERERERGZi7JnCAazdZPHZT08XGQipQxYQRfICSRA22Df+rAtwPeANcKs/fuSofSoU1Wh6tQUroqIiIiIyNx0ab0BGq7rcCmF57dZf+W6DhFflTZghW8t/m8sdtV1LZ5LcBy2dmkd4HXoaJ9Ou20ie/19qVqiRwbbKNE2k1lSuCoiIiIiInPToxkP/D50eVH6V7l+d5m1vutCRHx0xXUBLuUXhjUdfHWuGGhYTKNLKyE7HOvdNa61F3VxtdjfjcfrAXbC7touu1VDWrPw6JijqsVUwOL1gFl/KVwVEREREZG5GmA2XdfgicoxX6pA23UhIj4qdcA6cot64zNNFLJOJAYaBtsYcESXVhtMx5C+m2d3q8F4vUpmML+c9vPZtn9TTTEPImzNklZGYapC1UtRuCoiIiIiIotQc12AL4aYVRSwipzK35ZABz7T3DJanbqsNpiOhffXSDvLMwrADmltWHg5i681J50hdm0JahDdA1s1UNW2/7lQuCoiIiIiInOXn93Sc12HL1J4d5t1jVgUOYU6WMfcor6Vd7IqZL24GtiagY0BhkNafQsdi30PUcdgkhV+7Uz7RS227/l6QHXp21weO/a/MmOd/3L94V3N/RERERERkTnLtsR7/Ry6UBH8y3UNIr5SwHqCQtbZyjs4awZTyyJHS5cWQMdiEgOJwf4OtmNZ6p8dvi51IF1Y3eIfi337v9zYULgqIiIiIiKLMOlZGyUSuy5AxFcKWE9xi/pWl2YC5iXa4j0vVYOtwqjT0wApXVoY6FtIgD6QgOlDqmXDErPYF7eob7muQ0REREREysNCrAdREZmEAtYzrFDf7rLbgXQPrdIsVN71Wv3hZ6S0Unh+m/or13WIiIiIiEi5GIwarkRkIpHrAny2wq+dIfYhWTeliCxWAtH926wrXBURERERkYWzWAWsIjIRBaznuEM9yUPWtutaREqkM8Q+vMiBaCIiIiIiIiIii6SAdQJ3qCcrrD+02BeuaxEpuhRer7B+/w71xHUtIiIiIiIiIiLn0QzWKdyivvUHrX4EL13XIlI02eFm9vlt6tuua5mHHnuVL3ypLLFUMQwrKVHFkP5jy5EZG0lyDImCZhERERERERG/KWCd0m3WX3XZbevwK5GZ6hxj14oSJh7SrIGpWrgHVA3EA44qSxggxWIwWOCfZ5KOH+m2BHRpAXTIAuj3EbRvUm/P/T9CRERERERERCbyz6d7mcgnmvESZo8fTrsXkWml8Pr/cX3rLmt917VcxiHNmiV6ZLANC3Mdhp91+7J/FftiuSChtIiIiIiIbz7T3DaYJ67r8Eiywvpd10WI+EgzWC8on8t6X3NZRS4sMdiHt1nfCDlc7dGMu7QOLOYA7Ma8w1WA/Hs0BpiPh+xszvv7iYiIiIiIiMjZFLBe0i3qW2CfMjY3UUR+zmD2/8v1+6Fvde/RjAeYA6DmqgaL3VLIKiIiIiIiIuKOAtYZWKG+PcQ+JJuTKCJnyLa2m7WbPF4LuWt1JA9XY9d1ZCFrs+a6DhERERGRgklcFyAiYVDAOiMaGSDycwaz/zfX797i8b7rWmahS7OBB+HqyBCz6roGEREREZEiiTDBN4WIyGIoYJ2xW9S3hti7aKVLZCQx2IdF6VodMZhnrmsYF8Ej1zWIiIiIiBSJwSSuaxCRMChgnYM71JOrXL8PvHZdi4hLKbwuwqzVk3rsVSxUXddxQuy6ABERERGRIhmQagygiExEAeucLLPWX2F9QwdgSUm1DfbhbdY3itS1OvKFLxXXNZymx56XdYmIiIiIhOgO9QQo3POMiMyeAtY5W6G+rW5WKQsDfbBPV1h/WLSu1RD4GvyKiIiIiARMXawici4FrAvwvZs1uo+6WaWADPQt9sXfXL+7Qn3bdT0iIiIiIiKzYHSQtYhMQAHrAq3wa2eF9btWF2gplu1j7P1b1LeKOA5ARERERETKK9+Z13Zchoh4TgGrA7eobw2xdy32retaRC6hbbAPV1h/ms8mEhERERERKZxhdraKmklE5EwKWB25Qz25Rb2hQ7AkQKNgVXNWRURERESk8O5QT4ZYjfwTkTNdcV1A2eXzKre7NBtgNoHYaUEiZ2sb7AuFqiIiIiIiUjb5rr27hzRrQ8xqBPfyfxTP4/sZqFjQIbYigVDA6okV6tufaLaXMBvAM9f1iIxRsCoiIiIiIsLiZrLmTVhv5v19RGQ2NCLAI3eoJyusb2g+q3hCowBERERERERERM6hgNVDo/msClrFkW0FqyIiIiIiIiIik1HA6jEFrbIoBvoW++K/XF9eYf2pglURERERERERkckoYA2AglaZo7aB539z/e4t6lt3Weu7LkhEREREREREJCQ65Cog+amFjU80tyJoGMwT5nRioRSXgf4Q3i5h99WpKiIiIiIiIiJyOQpYA5QHrVvAVn6y4CYKWuV8bQPv/ub6tjpVRURERERERERmQwFr4FaobwPbhzRr6feuVhFA3aoiIiIiIiIiIvOmgLUg8vCs/Ynm1hLU1NVaXtmBVewb7FuFqiIiIiIiIiIi86WAtWDy8QHb/NjV+gCFrYWWh6odi3n9X661NQJARERERERERGQxFLAW2KirFeBPdlaHpKsR5pGFitPCZCZGnapg3//NjX2FqiIiIiIiIiIii6eAtST+zeN9YB8UtgYuSeHdEnb/b250FKqKiIiIiIiIiLilgLWETgtbNUbAT6Ot/wbeWaL2Cr92XNckIiIiIiIiIiLfKWAtufGwtctu1ZDWLDwCak4LK7dOCu/VpSoiIiIiIiIi4j8FrPJN3h3ZAV59ZK/yP3ypDjGrETwAqo7LK7J2Cr9dwbT/LzqgSkREREREREQkJApY5VR5yNfOf3AicL1noKr5rReSGEwH7HuwHXWoioiIiIiIiIiETQGrTORk4ArZSAEYVlNMVaHrRLZXWH/quggREREREREREZkdBaxyYWMjBb7psluNsPGQtBoR3bPYGI0XGFntsfd8WR2rIiIiIiIiIiKFoYBVZmosdN0f//nsAK1hBUw1xVby8LUCxPmPMqgc86XKWBewiIiIiIiIiIiETQGrLEQevMIZ4eInmvGVPGi1ENv87w3ml/xfifO/VvhxDEFMQCxmEwWsIiIiIiIiIiKFoYBVvHCHegIkl/kaXVo9/J8BW+2xV9GYABERERERERGRYohcFyAyKxb7znUNE6gccdRwXYSIiIiIiIiIiMyGAlYpDBPI1vsIHrmuQUREREREREREZkMjAqQwrnJjf8DRG9d1TKCmMQEiIsX2iWY8+vsrEB/nY3DykThSIpKJO8kAACAASURBVD32Kl/48o8RRkssVQzDyvEpI5L0OhH5bvx6usRSBWDIsA9wgxt93VPLNMZfT/DjZzTo+ithOvm6Pu0eI/Tr5cn7qSsQW5b6o88DcP/+VcAqhbHMWr9Lqw3UHJdyrq982QC2XNchIiKX02W3CsMqRPfA1shmgcfj/44Flr79+y0M9C0kFpNE2PdgOzeptxdauFzYJ5pxFvIMqwZTSbEVg/nFYioGO/7nHwMMOGIJc8pXSrGYb6+NcV1aAKPXSp/s9dI32L7F/m4gMZAcQ+L6YUJkFj7RjCOiKqTV/JDbqskOvj2xOJECfHtPDTgavV8S8vcJpL9B1LlG2lnW+6NUeuxVBgzisc/lClAFKgYq/3w9/fgZDd+vv0AH6IPpGOzvYDtXuNEJOaCSMPXYqxzzpZodBP7tdR0D8Vmv69PuMcaulzB2zczuKbLXuGWpP3ZAuRPZAehm1cI98vcvEJ+8n7IApD/83Mn7bEh/i6C9qPfuaXd7IsE6pLVh4aXrOiaQrLB+13URcjHZw7X56LqOk4bYu3rQFpmv7OHtyyqYBwZWT7+pvbA22LdXoa1QwJ3xB3QL8Sjs4ZTw3COd8cBeIYD4bvxaStYcEc/pWyUW0zGk73RtLZ4TQUyNxVyjO2TX3HfXuNae57W2S7MBxrcdmnqOnaNRmArRgxSqEbY243vNc+UBZQdMJ1uwWurMO3TN/ru/PrPYBnN6H1vMfkT6ep5NDQpYpVB8Db5OY7AP1bEUJl9fZwpYRebnkGbNYjYNVBd0o9sG+3aF+vYCvlcpfX+IMVWL+QVsdYF/vovQyX7Y9wqWxAdjoeoT3O04a2shK1zfO/nMkzkscl5Ue16vKQWs5XBIswbRA5vthKq5reZMc1usyu+x37C4Rez2VezTeXwGKGCVwunSOsDfC9O47RXWn7ouQqangFVcGd2ApVA12KrreqbUB/oW+96wtO96+9EkRqvpYDccPsQlYF8oaL2cH8PUhXY6+aQDpg3mbQjvP59kD3/RI7Lrbuy6nnMkYDoW3t/i8b7rYgB6NONjoieOr6Wn2Ybotd4P/svvf57hoJtvStsG+3ZWTTQKWItr9LlisA3PX9Nn6Rh4ewW7f5mg8jM7qwa7N8O6JpVAtDbr678CVimczzS3DGbTdR0T6F/l+l1t4QuPAlZZtDzo27TYDde1zIrF7F8jfe5jB5EnwepJiYLWyWXXaWpjs3FDW5CYtwTM/lXS1z6+B33RoxkPsnCj5rqWC0pcXjdGnf/4//vXNtgX2lnmF08/iyeVzOK9p4C1WMa2wa9SrPuSDtjX03a25p+xB7hbuEyucv3+LPMYBaxSOL6GX6ex2Be3qG+5rkOm4+trTAFrcXVpfaBYN2IjyVXsQ58Cnr/YfZaSbnn8MJcY7FMFAT/6vvU4ukf24BK7rikgbY2j+CcPHvxmxmC2bvL4xaK+X/57twk0FvU9Z2T7KvaFT59JZZQH808I7/VzmuQyQasC1mIYvaY9GmsxTxN3cfvw+p51HqOAVQopoDEBnRXW77suQqajgFUW6ZCdTYvdcl3HHLVXWH/ouggH858uq/RBQCAzy0KSqEv6uy6tNxQj4AEWM/s/8I7DbxYdSEumAB3jP5Nc5PrqQwB1CgWsEwqoi38ekvNe855kNjPNYxSwSiEFNCZAh10FSAGrLEr+sOHda23WXF4HAx+/UKpu1u+HmwQ9sywESdmD1oJee+e6mBXgItV5vNthUVSBfw5Pa6rFUQWsYSr4YsG0krPuKbq07OLL+aerXF+e1ZiAaBZfRMQ3KWy7rmFSNpAgWEQWb1CSG7N8K+DCHdKsDTj6EPBDXWwxB4fsFPpz5JBmrUvrzTFHHy3mIPTuuADEYN50aX3s0YxdF+PCoJj3ZrUee3N53xyy89IWZJzCmHiA+Vj066trf7H7LLu2B/s5PK3GAPPhD1pl+e8tlR57lUN2XuYLdDXX9XgiHt1TZAsGmXl9Hl3EF77MrBYFrFJIeRdf23EZk6qV9QFGRM7jJnh0oLbob1ikQMBit/LtzIWRhao7Lw9p9fI/J3WsLt4oYHrp04PQIphizrzmmC8z/e/q0Yy7tEJepDqXxW6V8T0wb/lr52BI+qqE1/ZKBC+7tA70DFgcBVi0n7c4D1oPejTjWYaaPlHAKoVl4J3rGiZ1hNGFWEROU8iH/FPEi/pGBQ4EGkUIWUfdH+pU9YfFbgw4+lCWIKDHXsUW9NprZ3it/czO6jGmqAcw/iB/DygMm5Gsa9V8QB1+tQHmIJsnLqH68b4l/EX7BagNMB+vEL10Xcg8KGCVwrrC9W3XNUwqgidaGReRcfk1oTTXhU8LeHA9pFkreCDQOGQn2BvWbGaZuj88FQ8wH8uwrXXWXZ4+mVXAesjOpsHulWwBpDrAKGS9hB57lRJ3rZ6lFKN+iiq/bznQfcv0LHbVdQ3zcMV1ASLzssxav0urTRiro5WvfNkAtlwX4rtsEP5RI8U8MNgqWin8ZgnzsUvLdRlzY6BvIQE6Bvu26Af7ZA/5OotyVv5i99mQ9JXrOubNYjcOab4L7f2RHwih7g/PRfDykJ1/FfmEdUNUsXhx7oaXsk6t0oYJcR6y6vCrKfXYrQ442kPX+FPloygqN3n83HUtMpkeu9Vj0gO0WCBj1MEqBWffuq5gUgbzTF2sP/d9ED4vTbbqFbuuSRYn73aoAg2LOejSeqNOEpnEITubZQhXR6x/Jw6fKz9UKHZdh5yviDN/x1ls7LoGX3VpvSlxuDqSh6y6Z5/Un+w8yYOo2HUtPrPYjc/s7Om15b8/2XkyIP2gTmw5SQGrFNpVbuwDfdd1TGjUxSqnGAUk+iCTMY0iP+TMclZemeWBwJbrOhYs/pOdYLZeddmtAg3XdchUCjHz9zQptpCfKZcx2tqN3qcjcd6NKec4ZGczxW7r/n0yBruazfst5r1tEfzJzpMUu+26DvGTAlYptGXW+kBQXayua/BRl91qCQMSmUw84CjYmZMyP2UPBFJsQJ8naUC1ypjChqzyXY+9yoCjA8IYubVItZBnXi9CPk5iy3UdAaoqZPWTwlU5jwJWKTyD3XddwxQqXZoN10X4J9UNrPxMI++AKxR1sF6cAgEAaqE8nJniHjpWBkEfrHaG2HUBPjnm6xv0Hj1VvqU7mN0Ci6RxEpdWHXB0YDBBfI6XwWd2VhWuynkUsErh3aTeNtBxXcfkjE6RHJPP2Kw5LkM8ZxnqAUeAH8LV0gcCQ77WXNdwnh57Fas/q6BZ7MYftBSkFFAekunz9ScMVvPgT8g72xuu6yiAagra4eGBHs04wmrHhpxLAauUQop957qGKcTqYv1uoHBVJmAwj1zXIO4pXP3RcQCH9Xzhi7pzCiCCl4c0a67rkNk5ZGcThWSTqAwCPFhwXhSuzpZRR71zPZrxAHOgOcIyCQWsUgrXuPGKcA67AsxmKFs75888cF2BBKGq94zk83gVruaMDuuRBbIYdfIVxCE7m5qdOZWaFhgUyksxHRO9REG3TEgBq5TCMmt9g2m7rmMK8Ve+aLtdJnZdgIRhwCB2XYO4k8+BbLiuwycG84vrGqRUYnXyhe+QZk3h6vSyBYbyLvQqlJci+ovdZxqTItNQwColkr52XcE0DOZZmW/UxqgbTSY0LNRrxUDiuoZQ5A92WpQ6IYX/uK7hPDe4EdDuEplArQDzWBPXBbjSoxlbheQXVdrmiDyE2nJdh8gs9WjGKemW6zokLApYpTRuUm8DbcdlTKNS1hu1kTxgVsgsE0l10mop6cHubAbrfXi5zFqfoEb4yHki0JijQA0wB2jn0IWVsTlCIZQU1QCzqbmrMi0FrFIqBkI67KqUN2rjdPiJTCl2XcAsRUQKnc7RoxkPSV+5rsNXAXVBd1wXIDNVOebrpusiLiqg981M5WNWYtd1BK5UzRE6/EeKKj9wuuG4DAmQAlYplStc3yasTpmgH1Iu64pu9GUKEfzLdQ2zlGIS1zX4bPRg57oOnwUUFP3mugCZLYvd6LJbqLEtRdal2dCYldkoU3PEALOJ7tWlkExpn7/lchSwSqkss9a32KBmseohRaScrnI1cV2DzwaYPfRg91NXuBFEZ2gU1iGUMrH0pesKLmYpiPfNrPRoxgoTZqpyxFHDdRHz9he7z1CHnxRQ3r0aOy5DAqWAVUrnGjcC3E4a6kOKiFyUZlOe7ZCdTXQA3nna+WvIe0tcazsuQeajdkiz5rqIaZVtcWuQHWoVu66jSCJ45LqGedLcVSk288R1BRIuBaxSOsus9Q1m33UdUwryIUVkwWLXBcyaUWffP3xmZ1WHWp0vDWjbfR4Et13XIbOXEj1zXcO08tdj4rqORci7EGuu6yigQt+36/AfKaqso1/XRLk4BaxSUmlQYwIALOZNWWY6iciIfe+6Ap/0aMYGq47+CSxhg1pItHqtF5LBroZ472Kxb13XMG/qQpyvIWbVdQ3zoMN/pMgGGpcil6SAVUrpJvU24XXLxGU6mVRkWin8x3UNsxbgwXxzdUykU64nk+Sfc8FIYdt1DTIfId67hDlOajoDzBt1Ic5PBIXbZqx5vVICNdcFzEhClnVsn/Uj39Hbzn8kRs8bM3HFdQEirhjsC4upua5jGtnJpM3tZeqJ61pEfBNBz3UNs7bMWv8PWi8iKH3X5l/sPhuSFrIjaA7arguY1h3qSZdWm+I83EjOYJ4BW67rmMYya/0urddAcCMOJpF3IdYcl1F0lUOatdAWu37mmOgZ2Nh1HSLzcEizZgNcxDfQH8LbCNsZQvvOJXOCTzTjKxAbosqQtBoR3bPYCvrMmIgCVimtm9TbAT7MVfLDCB66LmQRLEt9SF2XIeLUbdZffaZZNSUeut+jGR9rK+sUouDG4AAYeGfD+kyWyQQZNF3l+taAowcU7EC9Hs1Y22AXI82uZ23HZcxE9rqxwXWji0zKhjfWY9tg3876szUPaJP8//4wbqrLbhWGVQs1g7lHwT4fZ0EjAqTUDPaF6xouoPaZndA+AC5kyFBbFWRiRRwRMHKLesNm16vEdS0uaCvrVDor/NpxXcRFaCRGcYU4j3KZtf5Vrj8EXhdp62Qersau6ygDg3nguoZZUSgvJXDPdQETag+xd1dYf7rohcsVfu2sUN++Rb2xwvr9IfYu2KcW+7ZIn5OXYVwXIOLaIa0PNrzVl/5Vrt/NT7otrB57lQFHhdv2LfNhsS9uUd9yXce8ZScTm+oQ4gj+NaMvW8PxA/cQe/e0bU35aIDCz0OcHft0hfq26youqkvrFeFvy07O+Otp4vyvFQNxgRcS+iusL7su4qI+slf5H75UU6hZTOWS195V3P05b+PRAUUG+jZ7f5xcFIrJfo9Cuz8/qRD363nX80fXdcxT/lrsk70ekx//mankW6SLfp2eVLLC+l3XRcxal5Z1XcPP5KMAXtxm3dt74kOatRQaEeZRSO+Ts55BLkIjAqT0LPY12bb7kFSO+boJPHddyDzlM9D6BHSBFndMSbo753FI32ea2wYTz/JrzkL2UJdqS+LkkpDDVYAh9tVSNrPTW+OhkMX+nl17ljpDhv1Z3KCP5p+NLaTcI/zRCUGOCRi5mwVkbWZw7e3SinH359lw9H2Bb++dDti3k84KPKRZG2JWI3hEeJ23lWO+VAl8TEARu1cvM7dyfMEl71Kuza1QWYh8/qq3smtn9PC25zuUxp9Rslnf5gkle38oYJXSW6G+3aUV3HYpi904pPku1IeVKShglYmUJWAtE21lnU4KQc5eHXeHevKZ5luPZg4nQNvAbwaTDEg7s+pyOMvY/LP2+M+POkPyB/p4njXMQ5HmUcp0DPRT7Ov/cuPV3Sm7Occe2DfyB/agPheGmKAD1myh05+u58sYhapL2P3LPD+dXHD5yF7l/+NrzcITiw1uHIqAIapY/I1YLfZ5aOOf8gX/7U804wi2PLqvmysFrCIA2BcBdrFiMW967N0PfevRz1jsex8768Q/V7gR1I2H/Fx+ynXDcRkhSSx2//x/zX/XuLEx4OgRC15cy+aHmTbY92A7f3OjM20YNE/jnSHZqJDoWUgP80WaRymTuUyweprRA/tnmlsmkK7KKJy5jqcqQvfqrF+HJ+Vfcx/Yz3YgmFWbjbqJZ/29ZD6GpFXj7/TM7ZB3J+WLxo1PNLfKELTqkCsRvt2whRjOxPmogMKKMCH+ucjidYq80FBO4T/ULZZ9Me/OykVZZq2fwtwPocwPZNg28HyIvXuT9eWbPF67yfqrm9TbPoWrJ92k3r7J47XsgIlguvdDn6cp02kfY+/for416/fSLepbNpyDaoN93fdoxgS+0JnC67+5fncer8PT3KGe3GT9VTaj1D4lnOtzqUVEHi+ERMHvToLsvXGLegOi+xT4faGAVSRnsEHOM81HBdRc1zEvlqjtugYJgoL4AjlkJ6gtoB4IfvbqSbdZf2Wxb2f5NQ30DWZ/PFDNTuFdfxVqOH2HerLC+t1AwqZKl91gwyaZXArPV1h/OM/3VUAha+y6gIsahD07MTHYh7dZ33C1WLZCfXuIfTjrzzKZvfwQMx91QhsNcJ4Vfu2ssH43zc6S8XYh+6IUsIrk5nFwzKJYzEvXNcxL/qHSdl2H+M3o5rUwejRji224riMkQ+xD1zXMwzVubHD5xZMkhdcG+3C8QzXUQPUsoYRNKWnNdQ0yP9kihn24qFOub1HfMhjfR6NUeuz5Gt6cI8ydJAaz/1+u3/fhnIpR157JPqcT1/XI6Yyn532k8LvrGublNuuvhtj7FKxJRgGryBgTwMPJGaqfaW65LmJ+FJ7JT7V9uImW2fD4YKuEfDt5hFmD6P4Qe/e/XF9eYd2MfmRbtqP7EWbNwPP84X9uN4+2QKMBTlpmrb/C+v0LBIftUZfqCut3b7O+UYZrRAgha+jzKOWnkmPswkOtY1Lvu6AGDGLXNUwr3x0XOy5jahb74iaP13wb8XKTenuIfRjAgkApWU8DVoMtVPh4Ur4L5yL3ed7ydpKviCtdWgcEuyUmul+0bQQjn2luF30otlxIMsTOdRtiGfjw/hpi794ABpiPLusYMdC3sA/2/X+5sX/Zh7VPNOMlqBmiR2Brs7iZT+H1bdY3Lvt1QjB2Cu0DTjz0539WHQPv/ub6tm8P1ot2yM6ex4dfdVZYv++6CJfCvs88k9PPYt8PvYowa//mcVDBWpfWGwKbv2qxL25R33Jdx3l8f71OIMlmzBZHl9ZHPFxQCOU1PQuHNGs2O3Q8XvT3HmLvzurz68osvohIkRjsC4upua7jYtI3QCEfXG5Rb3ymmQR+QyKz1Rli1xSuFocnpxW35xHU5a/TbWD7I3uV/8OXVbJQu3aRr2exb29TL0W4Ct9PoQXosls1DCsAx5DoGvCjK1x7OuCohp8dObHrAmTmnC90XuPGqwFHz/DzNU9K6mVdZ+mxVxlw5OsizalCCqJuUd/6TBM908h5DOYX1zUsyk3q7U80Hy5hDljwvcINbszsfl8jAkROuEm9HfAw8kKPCrhFfWuIvZvCa7JupVJ3KZVUAmwb7MMV1u8rWCmOpSxobDgsoZ2/rh7eZP3VPLsg77LWX6G+vcL6Q4juT/uZk8Lr7CTWclrh185N6u2b1Nu6BvzTMmt9i/X11OGA51HKKZyHq/DtNf/OZQ0/YwNbWBjwZRVPw+rT5J+JW67rmEYII13EC6tl+sy8Qz3JzxVY5I7czvIM7/nVwSpyihS2luARAd1cjBjMZpfd/aKOCshv4p12bWVbff3YxjxultsbRBbPWSdH22BfuJrRmV+rG59obl0hevmzrd0G+inm6e3AtprK4vnc0ZfPoyzkPUqZGOgfexCujkSwbUGjpGbAED2yWNdlTCoJdVTOLepbXVoV4JnrWsRblWO+bgLPXReyKHeoJz32Hh7z9c2Cxh3N9H5EHawip7hDPfG4+2MC6RvXFYiITCle5DfLwkqeZx2r7g9AukM9ucnjtSH2bt7V0ia76esA2xaz9jfX795SuCoTyLsxPN2NM6y6rkAuz2Kf+xKuAlzhRgdPdzZZjHcLHT9jsTXXNUzCQD/vdgvWShYOt13XIf6y2I0/2SnV4tEya/2bPF5bxK7i4Yw7ydXBKnKGvPvjCYFt68lV/6C1cZv1V64LERHxjcHs/821pz4ehpQHFluOy5ACMNh9i/GuMyoNLGySf8rnXW67rmPcMmv9Lq0OHh4gFsG/XNcwqT/ZWU2xQbxHh/DCp5D/oobYpy7mTsoPEjz+/U+x23/QWi7bs/0t6o0urV+Y03XdYmd+DVEHq8gZsu6PcGfjRLDZoxm7rkNExBejrtWbPF7zMVwVmaW8o887JpDwRs6U+Drv0mLfu64hdCn2kesaJpQUJWy6Qz0x2Keu6ygzi/3ddQ3nieBll9absj3fX+X6XDpZU3g+j88yBawiP7GSrc63HZdxUZUBRqMCREQyiSV6WJQHMpHz5GMCEtd1nFSmU5GLyOct2UtEXi4qhMRAECM8ihZI5qOKAh5PFzaDCWXRvTHAfOzSenNIs+a6mEVYZq2fHexqn3LJXMZA32L2Ibo/r+cBjQgQOVf0HNIPrqu4oJpGBYiI0Bli1+7wa+K6EJFFMpiOxcau65BimMd2ylkakHaWMK7LCFaPZjwII2Dd9mF2+qxd5fpWPp5OXf4LZiAJ5li3TMNiGl1aCdlhrW+L+J4Ylze+bWeHTVNLMdUI7gGxgYr95/smAfoGkwyxv1/BtP8v19rz3sGmgFXkHCv82unSek2gJzzmowL2lz2+IRYRmReLffu/3NjQSAApIx+3Paaw7LoGuRBvRwOM3KGedGm5LiNYQ6Iq+B8zmQUcfOPCMmv9zzRfG8ym61rKxmASG8Br/xQx38NWgDaYjoX3BpOs8GvhuvrzRb5tx2WcSQGryAQCX1EcjQrwdkuXiMg8WOzbbFuRSDlZbN941tEX0oE/8p3PowFOSPD4sBqfBTJ/tV3kTr3AD1kOVoG632tgawY2wJKHrh2LSSD9LcL0wXYsS/0ihq8+UMAqMoFl1vp/svM0xe65ruWCaoc0a0W+IRERGadwVURkZrZ9Hg0wLpuxJxdhoOr/710xu1dHllnrd2m+QOdoLFTe/d4nzGaq81QNtgpmNXt/GyAdha8JkFhM30BisL+nmCQi7SuEvRgFrCIT+jeP97u02kDNcSkXYjFveuzdX9Y2WREpOIPZX2G94boO8d8nmnFEVDWkFQvx2AFMMT92EMUnf+0ZkpN/nz242D6YviX9TzbrLepHpP1jSG5wo6/PZvHZEPvCdQ2TsqD30gVZ/+ev9q9yY991EfN2lRv7A45eUsywz1sG07bYVdd1LFgMxCYfj2ABg8WOhbD5olVnPIRVF+zZFLCKTGGIfbqE+UCYH3jxV75sAFuuCxERmaPkb64V6nRhubwee5VjvlTBVG12KELt+6EI2SPFjDYHxif/3nyb62a/fZfRA8wSMOCIQ1p9mx/IACTZ7NSoE5H2r3CjowBWHAqmexWyucO+jcUIwSHNmv/dq+yX4VqoWayu2PdA2QLWc+WHR9XGQ9jTumDBdEYdsEWd/zoJBawiU7hDPQn5A89gNns0t3XglYgUVDLEPtSBVtJjrzLgyypE98CuDjiKORG6+BQm5A8w37rHsoAoC2HHA9jRHDWFr7IoIXWvymUY37tXyQOwUshnsQb5vBkqS9SG1HUZIYqzH7Y26oAdn/8K9EcHb5XhvkUBq8iUblHf6tJ6hP/baE6lA69EpLiitTv8mriuQtz4RDO+ks0YezTgqEYeUhbBKIAdzVEbD1+7tDrjwWuZO0dk5oLqXpWLswEcqlSG8QAj2SzWcEfThWiFXztdWgkBvBcCkucl2cFbJ+9bIux7sJ0iha4KWEUuwGCfW8yB6zouSAdeiUjhWOyLWwqVSifb+n/UsPAICGGL6zz8ELyCHXW8dghzpJF4Qt2rpXLPdQHnaBclgJmUgXdWAetCWezbUHeqBqZqsFULq4yFrmDaFt5f41qw7/fIdQEiIcrDydeu67goq5MpRaRYtm9R33JdhCxOl91ql52Xxxx9tPASPYT+YDQzjUB324gX2upeLQ/j+WJMCr+5rmHRrnB923UNZRNB23UNJVYFu2GwewOOel1aB4e0NrrsBnUfo4BV5IKucn2LH08LDkn8B60N10WIiMxAoi6r8jikWevSOoD0A9gN63koIBIu+9Z1BbI41vPFmCuYtusaFi3v4Etc11EmeRNV23EZkqllC+jphy6tj112XoYQtipgFbmgZdb6BhvsSdURbPbY04OpiATOvlCXVfH1aMZdWgf5eJ6a63pECi5Zob7tughZjE80Y9c1nCfFJK5rcOSd6wLKxmjR3kcx2I3vYWuz0fP0uqWAVeQSAh8VUPnKF3WxikiwLGZfIUCx9dirHLKzOcB8RMGqyKK0XRcgi3PF/0N9+uU9uM+W9L/bnfz5PnFchpwtBvNmgPnYpfXGt6BVAavIJYU8KsBgnqmLVURClZI+d12DzM8hzdqAow8Wu+W6FpEyMRoPUCqGyPdngRKHjEsl/m93SV2sgWjkQevBIc2a62JAAavIpQU+KkBdrCISpBReazRAcR2y8zIfBxC7rkWkZJK8g0tKwmJj1zX8TAr/cV2DK+Xt3HUr3x3VdlyGTK5mMQddWgeuO1oVsIrMQMijAtTFKiIBSiz2lesiZPbyWasfLFaLfyJutF0XIIuVYr1+DjDaJp+4LqCMNIs1SDXXowMUsIrMSMCjAtTFKiJBsdi36l4tnh671UHWter9KbEiRaXxAOVjMF4HrBbTd12DSwZT9oDZiZAbqITGAHPQpdlY9DdWwCoyIyGPClAXq4gEJElh23URMlt/svPkmFQjAUTc6ms8QPlYzztYI2ypA9aUtLQjElwLuIFK8sOwFt3NqoBVZIYCXumqHHHUcF2EiMh51L1aPH+y8yTFblvwuBTTBgAAIABJREFU+iFfpATUKVdCEdG/XNfwM0YBV+K6gLJaZq0/xD4ESh3yB64xwCxsNqsCVpEZC3WlK4JHrmsQETmPuleLZRSuuq5DRCCFd65rkMXzvYNVxKVsUd8+d12HXEo8wHz8g9bcxyIqYBWZsYBHBdQOadZcFyEi8hPb6l4tjh67VYWrIv5Y0mFC4iHLUqm7B9XB694K9W2rQ6+CF8HLQ3Y25/w9RGTWblJvG8y+6zqmZTFzveCIiFxOFOIIFjlFj2Y8IN1zXYeIfKf5q+KjIcNSB6zih1vUtxSyhs9it+YZsipgFZmTK1x7SnjzWmo67EpEPNVZ4Vd1VxVAj73KAKMDrUT8ouuriMhPKGQthnmGrApYReZkmbV+CsFdgL/yZe6zSUREpmfVvVoQx3zdROGqiFdS+N11DSIivlPIWgzzClkVsIrM0W3WXwFt13VMw2AeuK5BROSkYWDXUjldl2bDYrWQJ+KftusCRERCcIv6VoRZI7zdqjLGYrf+ZOfJLL+mAlaRORuGd+CVDrsSEd+0dbhVUWjWt4iPdMCV+GqJpVKPLzOYUv/3++rfPN4fYu+jQ8iClmJfddmtzurrKWAVmbM71JPQthGkUHNdg4jISArvXNcgl5dvxYpd1yEi/1T2k9rFX4ZhqQPGFFvq/36f3aGeXOX6fUBjrMJVgXRvVufQKGAVWYBr3HhFQFsIDGamrfIiIpcREbVd1yCX06MZW+yW6zpE5HQ6RLC8LNbr+buGqNQBozpY/bbMWn+F9Q2DfYi6WUMV5+cDXJoCVpEFWGatD/a56zqmEH+iGbsuQkQESPTgH76BRgOI+CyYJgApn5S01AGjwfziugY5303q7RXW74a2c1UyFrsxizGJClhFFmSF+jYBHSAQQcN1DSIiBHTdlNP1sgW7Vdd1iMiZtIhVYgbjdcCelryD02pEQFBuUd8aYu9a7FvXtch07AyaARSwiiyQCWhFy2AeuK5BRATse9cVyOUMsrneekAUEfGQxXodsKLZ3bHrAmQ6d6gnt6g3FLQG59KHfStgFVmgm9TbhNONVZvVsGcRkYtbUmdV8DQeQMRziesCxB3j/59/7LoAV/Jnsdh1HXIxClrDc9kuVgWsIgsWUhfrkK811zWISKn1NX81bF12q+jhUMRrKfzHdQ3iTkTkdQdrBPdc1+DKMV+qrmuQyxsPWsE+xf9FjTKr5feuF6KAVWTBQupiPcbWXNcgIqWmcDV4acN1BSLyc8b/LeIyRykmcV3DOWLXBbhjFLAWyB3qyQr17RXW7xrsQ4t9a3TIoHcswwufG3BlloWIyGQM9oXF1FzXcZ4INIdVRJxJ4TfXNcjlGHhgXRcxQwb6NnsYSvKfSv7575jKiUNJKnyfQRvPsz4RkWkNGfaXMK7L+KlPNOM71BPXdSyaLXH3btGNmq4+slf5P3xZtVCLMI+sZtY7ZzDPgK2L/FoFrCIO3KTe7tLq4/8FtNpjr7LMmlbWRMSFxHUBcnE9mvEAgu2+ybpKTBvse4NJBqSdWT3gf6IZL7FUMQwrhqiSklYsxAbzC1kIWzEQ60FLRObtDvXE9+eSpeywxG3HZbhQc12AzNfd7Dl7O//BIc3aELOaNzoFew8VuMohzVoegk9FAWvJfKIZR0TVCBtbzC9kHRZx/gMDlTNu5pN//tX0Dfb3FJNEpP0r3OgoiJucxb42ARz8kc/+abuuQ0TKZwmrEQEBGxJVIbz+VYvZj0hfX+TGelKTBrVZZ8sgNgwrYKpDiPN5hBX04CUis+N1wJqWcKt8NgcyjV3XIYs1Pk7wI3uV/+FLNYWawTwwUNXC62Kk2eJGe9pfp4C1wHrsVbJwLHpgsbXvb0ibP+7886HnJ49B8Ym/Mvo6BovFMOCIQ1p9Cx0wHYP9HWxHwevprnHj1YAj7wPWYXZD03Zdh4iUj2VJnx0BSwOb453C6//H9a27Ht2z5LWMFhraJ/95l91qhI2PsbU8eI3RGAIRmZLBdCw2dl3HWSJ4BGy4rmORDGktvCVKmaX8HqDN2Of/KHTN5vOaB/n7tnQLEPNmMBcalaiAtWB67FUGfFkF8+SYo6rFVDgzTp29fEWlBjb/QMiC1y6txGI6kP4WQVuhKyyz1u/SauP51o8yn9wpIm6t8Ks6WMMWyudHAtHa7QBfb/l7pAPsj35u/OHLwhP04CUi57DY313XcI64bHNYbRYqi/zgROj6avTzowXXIWk1IrpnsRV1vF7Khe6dFLAWxCHNmsVsHnNUBVMB7zblxQYbg1m1sJmHrvlDgX1/FdrLJfrA/M6+xf/DrmquCxCRUir1IlxBhBDsdf7L9Yc+da1e1vjD12eaFVPCrbUiMi3bwfODrgxmlbFAqcjyGeY113VIOE5bcIXvi66GqKLwdSqVLrvVaZs9FLAGLBsBcNSw8MTmDzGeharnqWY/TGMA37pcDem7sgSuV7mxP+Dojes6zhHroKswLLGkD0kpksR1AXJx2Y6aI9+vSYULV0VELmII7SXXRZwjHxNQioB1EMA5HRKGsUVXOBG+Qtb5ahhWbHawZpwHsLEO2gQYVvk+pmkiClgDdcjO5jFHGwV70X/rch0FrkC7yB2uoYwJGDCImfLiIosXZTN49OckRaHQK2DZDHivu6GSIXZN4aqISHbwXpeW1wddAbUSNX3UXBcg5fCzDs3xkUNDiJcwv5Rp5utFDtdTwBqYfBTAG5+HkM9QDDTGOlw7YNqG9N08T/ZdNAPvrPcfotOv3sjipaQ+3xSLTCWF/7iuQS7OEFWs1/tq7IsyzfITEZlAB8+fSb7yZQPYcl3HPHVpNtBhheKB0w7ZGjll5mtMwYLXCP417a9RwBqIbA6LeeN/EDdXVbBVi9no0oKsu/UtLHXCPgjF/5lHaT7XVzL5Kr/rMv7hIqtsIr6KoOe6Brk4zxeCkxXq266LEBHxzG94/qxpME8oeMCKxgN455BmLT848h5ZiFgxUDllN3EC9C0mGR3uXaTGsHFnzXzNRg6kNTAP8oPPQ84R4ml/gQLWAPzF7rNj0i3CfnHOQy07ICr9Nk7AYt5d41o7pK0jN6m3fd+SE4VzEnTZxa4LEBEBSLEV4+/iYdt1ASIivokw7RT7zHUd54gPadaKGlodsrPp+QJlaWTn3Xx9BvbUsYxn7NGJAQy2Ojrce5RTXMW+KOLIw5PGgtdXkIXTKTQizKMAw9Z42l8QzaEImZEee5VDdvaGpK8CfDEuWgw0DHZvwFGvS+vgkNZGl90gOvqM54e5pLDsugaf9Njz8v2oIFxE5HwG+9Z1DSIivlniWttxCROxBe3w7NGMLXbLdR0yanA7+mixWzPIYWKgMcB8PGSnkK/dn7lJvX2LeuMm68tgn+J57nFZClg9lY0EOPpgsauuawlUzcJLSD90aX3s0nrzmZ1VX4MxC+9d1/AzCu4yhzRrXXZeHnP00XUtZ4h9fY2LSOnErgs4yxVuBDxWSERkPpZ/PG3cZ7V8TmmhDAoaHIfmkJ3NeTW4WexWl9abWX/dUKxQ315h/W4KzwnjMNt42l+ggNVDf7Lz5BjzAY8fTgIT43l3q+8drJS4gzrvJN/s0vpoMQdnbRPxxYAvWpQRETlbP6QxQiIii2SxXjd9fGc2i9RU8Be7z4CG6zrKbkFdxI0ydrKOu836qyH2Pv5nIFPTDFbP/MXusyHpK9d1FFwtOyzMn9mtBpP4fdoylR57lbI8lGYzd44aFh4NOKq5rmcaZTjo6hPN+Eo21+ge3xeiEoN9W9SZXCIyM6X4HIPss2zA0SPXdYhIOCJoWwgh/ImP+bpJ1gkXtB7NOD9vRRwbYBbSXWqxW3+yk/ybx6UdWXSHevKJ5sMlzAEFaixUB6tHRu3orusomZgT3a1ddl5mJwUuzoDU++2KX/hSmFXi0/TYq3RpNrq0DgYc9bIRE36fpHqaCJ4UaUV/ZPzPZwnzMf/zaZD9GdWAhsUcdGl97NGM3VUqIuJej93qgKMPZKcd+6Zwn1EiRZEvVAexEGWxG4t+Zpu1bCHMHPi8O64s8uen2qK+X4rd9mlHrQt3qCcmm8taGApYPZGfGLjlug6hlm0BNweHtBY2TuBOACcKLrFUuA/+bPt/a2MUqpKtWtZc13VJlWO+FObDejSiIZt7O9GfTzzAfPjMjkYliLiVuC6grP5i99mA1OdRU4W7nxApmGC66izmTcgL6wOO9vD3Wl0qbp6f0oOyh6z5ok7bcRkzoxEBHlC46qd8JfHbOIFDWv0U046w7y1Re4VfZ911muDxB6xhWIgHomylO3pgsbXQtv9PKj9dte26jss4pFmzRI/yUQ3TvvYqBrv3mZ21Wzzen0uBIhKqQnyWnSYfCbA3JK25ruUchf0zECkCg923mGeu65hQPMDsAfddFzKt/LCjmus6JGPdPIdX8pD14RyyhZD8RkHeC+pgdUzhajhsFtqsZluT0w+HtHqf2dk7pDWT7SnG8+04jj50Lu371vKdl4e0ehZzkL/nao5Lm6daqFumDmnWurQOZnGgmMEG3dUgEjKPD2+sfCrgdeEzO6tZp38Qn22F/DMQKYqQxgTkqqGdzJ7X23Bdh3ihAulBuXffWV/D5WTaX6AOVoc+s7OqcDVcY4HrKhgOafUtdMB0DOm7K9zoTHcolEnAlnqLwCxkB1R9qVqiR2CrWZeqATw/RmzGLOYlgazmZ39mX59dNlA9RSUfVv9whl9TRAJnMKtAIWbeZ4ejRC9tdj8SjKUsCN52XIaInO0tEEoXK0CjS4sV1r2e55jvNDjAz/nY4k7FYPcO2dm6yeMXrotZNIOpeHoPM/VCkwJWR7IbYvvG0xeSXMBopADYmsVsDDiiS6tjMUmEfQ+287MTzlPS/xjMwuotih57la98rRl4cDJQLbnqITsvb/LY29NVszEAZnPOoxpqf9DauM16IcIUkXAsdSB1XcSpInhEAQLWv9h9dky6ZbHBbblPMQoXRDwW2JiAEa9D1vzwQc1clTNZ7NYhO5UrXHsxXaNW2FJsxdMcRAFrCMZWroK7IZapVQ22Oupy7dIC+CF0nb7T1Q0fRgSMulPBVC3cA2oDjmIvL8cesNiNz+y892kO6Ry7Vc8UwWaPve0Q3mciRTFk2F/y82YZ8jEqP1v09Fm+OPVySBpsSBnBkx57W7oui/jpJvV2l1abMMaOjGt0aVWvYteWPTpEeLQghp7/5RwWuzHgaLVH86FPr+F5MpgHrms4QzLtL1DA6sCAo5d4EFaJMz+Ernmna2LA19Z4Jz7RjCOiaoSNx8NU/H1g95LBvumym7gcnP59bMPcu1XPUvnKlw1gy8H3FimlO9STLq0+nj5MhngY4Kjr34YXeJxG12URzxl4F+j1pjrAHHRpvlihvu2ykNF1O4DDB8Uv8QDzsQwjA3o044Gn1xmL/X3aX6OAdcG6NBtooLX8U1zGcDXr5h7EMKzms1fuAVWT/X5UyjY3dU4qkH74g9bzRW+Tz24qo0fHHDUsxmnIYjDPeuy9UreUyOIYSKy/c+aCGR9SsGD1m+y63NwuS4eOSGiucH17wNEmni6UnSMG86ZL68FV7ItFX2eKet2WxbLYrS6tBljniwXzckz0xNfRfktEUzcoKWBdoCydN5uu6xBZhB57lS98qVzJwtI4C1DNL2Sz4qoG4gFH+Q2b+eGy6uclNmwRvOzSujfPm8zxA8YMtuFZSF454qhBAeYuioQixf5mPJ61GcHLP9np/ZvHb13XcpoSPKBXBpi9HnsPtfgl4p9l1vqfab42YT+/NgaYRpfW9iKC1hJct2Xx4nyx4InBvgh1vNFp8nOJNlzXcZYUk0z7axSwLlAersau6xC5CIN58Jnm1tj//2XsH8dkq9ujFe54wBFLY8GpHfvfH/9OFmjmN5lddquGtGbh0TFH1axT1ZtQ9QdFOdhGJBQRpmPhies6fibFbh+yE/uyBS9bqDpqWHhUkgf06oCjD2WaNScSkmvceDXg6BlhdrGOG90Dt8G+vQrtWV1zRju2vjcXiMxFzWJqXVrtIgStAZxL1L/IiD0FrAui0QBSADWDqbkuQmbi202mxb6PoH3eYWufaMZLLFVgWIXoHtiqgaolrfwYonst6INtREJjidqQui7jXBa79Zmd6jXS5y5Cvu8HOEbPjjmqlfABPR5gPnZpbRvsW12jRfxRkC7WcTUwtQGQha2mY+G9wSRXuZr87F54tDtvCWo/3gt7tWNLim8UtCZgX8xysWBRsp3dRwf43Xx4ofNLdFrMgnRpfcTvF5CICJx+WmK84BrmxmJf3KK+5bqOSY26IrIxGzZmTsFLfsieV6GOgb6FkLYNJxbTh/S3a6C5krkurR6evbbOsZCQ7xPN+ApmNcU8iLBlDFXPk/zsn1lMP8K+v4LdX/R7bbRzI8U8uMh1OdDrbZL/mx1D+m7RIfg0n4WB/v6eJrGYviF95zpAyTvNPuLZ7+scJSd/wsfXlWPJBX5NH+j78ro+KWuIM29c13ERFrOf/Z7e2Pd95M5f7D5LSbd8fz+lcKHzSxSwLkDIb1YRkYLpr7C+7LqI8/TYrQ5I3+DvAUFyvoXMe/PdZ5rbBuP1mIAzJEDbYt4ZTHKRbWIj3ztUTTU/zLFGgRauPLCQ91r25/j1jcWuzvP7BCK5ip37WId8nuUb9H7BYF7d5PFzV9//M82tAnWxiicMZsuXET0FymzaBt5ZovZl7l1mKVuk+bJKdj9Yc13PZKL7F/n9U8C6AOpeFRHxh8E+9HkLao/d6jHpge8ruzKR5CrX7/veTTBPRXlgyTvQErIOnMRifz/934v+BbZiMRWDjU120KPey/M31/daflCt79sZF61/FXt/XiHrZ3ZWDXZvHl87YO0V1h+6+MYl7GKVBfElZC3K/co4A/0U046w78F2zhsJN0s99ir/f3t3lNzE1e1t/NkyxFR959QRVS8GriKPIGYE2CMIvkmkq5gRACPAHkFgBDFXMrkxjABlBFFGQOeKNyZVVuqE9wNsaZ8LSYkhgIXdrd3den5VVFJFaFZkqdX977XXfsvb9QA3KzifOFuhvXqWP+gM1oJNZq+2EpchSZoYjZ+c9hKX8UHjm/jRPtW6CNHHtd7y9gdgM3UhqVzk0pMj3lT+hmVyY/BXR3n4aI9CnPz++1s7qmCtY97eBwrp8HOj2g9qHo3DiNwDv/F3Yfw+7+PWwPq/2bt7lmWr53WZzcG/2dtpgD8X5SoSt1/S/anMzQ9VFaEZiLci3ILAEW94yd4gQn888iX+OiJkDUaDY8iun+GB2cl9OgKhOV2pc8Sb1vRKqWrXQiN4etY/awdrwexelaTSSdYBcpp/s3fXm5c6Otsyo7o4YO8ZlVkSpgobXGR5Ne/unEn36vM8j1knRawKOWDvB9wc+GOSjjo6YO9nHF+k/CW/Nq9jB+s5ZKf9B3WeSzwkrp4lbAZo5FyLTrB7VZJKqbQ3Bg24k7oG5S8yXOiZjYGYfOmfFkLzDW+28j7okXMnPykWM2N5vYBj1kXzJd31VH95ICabA6taWztkv5ZhXUW1TvtV13AV6J01XAUD1oJ5QSZJJdQ84MfShayTmlqp61D+AuFm6hpSmnS3LewcWs1PA77O+5ihxA/lSiLXB0iT8LCV5zHrZkhI9tBucj5/mOrvV201h7xdT12EBPHRef60AWtBvDiQpPJqEFupa/inoTfx9bW+6J0ZkegNueYh1/PoIfvNaMB6mpwfWgZf71M0IOlDu4ssbzPDEmLpcxwT11PXoIWXrdDZPc8BDFgLUtByGUlSDkaMShh2eVNZZ0cctVLXkNIXXHqAXawqXvMF3VZeBzvmteflmeT3gDDaoDKLpO/Ly2wOAvF2yhpUS63UBWjRnX+klQFrcRZ63pok6fMEwpepa1CRFrtD+TKbA7tYNQ8XaeT2WQs0SvgwrnxyDkW/yvFYtZXng4SzuEKnF52vnUQYP6zcTV1H3hp+9pXWubtXwYC1EL/z+Bb1HforSZXXoFG6TrpI9HujxuzKsotV85HnCoVYynEy5ZPnA8LgPdRMLpTgO+UqnW2gl7iMhTOEnUj8NXUdBfCzr4TyeWBkwFqAETH3AfuSpPxERqULebyprLdIWPif72U2ByOw40mFyvNhxsgHXzMZweW8jlXjnalzVZaHdsPxqIAsdR0LZPca7QepiyiIn32lsptH9yoYsBbF8QCSVF7ZZBfcUvGmst4a8D+payiDyY1hP3Ud0iyCD0ZmkvP5zde8Qq7TyaCxiasT5iEb1nwsQ+rRF1pIuX6uDFhz9pLuOl4YSFKZ9VIXIC22hpujqDB5Lld3dMvM8nydfM1nMCpR+L/CN32I91LXUXdD4sY40JaUn7iT5+fKgDVnI1hPXYMk6aPK/PS/NDdLUpFW+KY/Am/Gpfrw+2vOQsnC/xU6u57XizOCe4arUr5G8DCv0QBTF/I8mCAQbqau4XMFGAzhUYPYh6X+Ky5mq2y+s8zjBd3WEkvNwLAJYW0IrclOf01goXdGllQNAQaRxuZ1vslS1/IRpbpZkop0jfaDA/a+xgfTyYzg4QVCb0TcT12LpOq7RvvBb3SbgXA/dS11Eok71+jUde6qlEr/Gu27eR/UgDV/66kLmFWAwYj48BWXHrwfqL7vvSdmvZO/95z95n/xeg3CGoSbkbhGSQavSxL8Fa5ujJexldYAQ1YtkIssbx7x5me8ZpiryYP1nelGKQfs9ajQ9auk8rpKZ/s3uhiy5mMED6/R2U5dh1Qz2ZC4WcSBDVhz9JLuekxdxOyy45zmuEzC2d7k1wMYd7xepLF2TFxvwE3scpWUTu+YeLvEnatTBqxaKJfZHLygu7FEeIYh67z0j4mbJ6//AnEnEtbTlaQayFIXsGgiobSbShmy5iMSH12jk3uHnbTgsiLnGTuDNVehEiHiuHOh2CHZ1+lk/+LbJ9do312hfeMVy5cbhM0RPMTdgyXNRy8QN1ZouymAVFLuQD0/kbizQvvG++fDK3R6kfgoUVm5i8Rf8zpWKHGIVWO+5jNoEEv9Ol2lsx3LO/O+Cvr/4ZLhqpSvQsNVMGDNVaxI98UQct0pbRarbA5OBq5D4irE25ML+rnWIqn2/gpWr9DppS5GAhjBH6lrKKvx6I7GBgYrRelD48bVTywz/WJ8I5/NraKKiCUPsWrK13wGDRqlf52u0tluEHyA9pki8dErljdOG+FXRzZEqECFh6tgwJq3r1IXMINsOnMrpet0shU6u1fpbK3QXoXGjTDeebKXujZJlVX1YDVLXYCKEwxqPulEyJqlrqUuxrOnx12rp82fvszmIBBvz6u2IoUc30MNO1hnleV1oGAYN5PIqBKv07/49smQeAPP7TOJxEdX6WwtYriKn30Vpz+PcBUMWPNWgREB5VyqscI3/Su0H6zQ3piOE7C7VTXmmIx8VT1YBfJd1qryyTP0qasVvukPiYas+egdEz/Ztfq+yaiAUl4nfo48P2t2sM4m3++vkOV3rPqKLFXmvXmdTjY5t/dS11Jmkbhzlc5W6joSylIXoPqZdoTPqzvagDUnh+w3Kf/mJNkKnd3URZxmOk7A7lbVTBaJO69YvrxC+0YdbmJTmnS47NYhWJ1y1l+9GbDOZnojHghPUtdSUdl5Zk/XYW5ivsHTkg9EZ7BEI7fXacTIcSozOK0rvWzGqxfbG1U/vxQhwGAE9z7ngVgdrylGYKOBcnPiczXXjnAD1pwccdRKXcMMeqkLOAu7W1VVkxP7w8nN7upVOtvTE/z4IirexuUwn2W65PVPlldXaN+uQ7D6t1ipmyV9ngtc8uc7o+t0sit8u+mN+Oym58ZXLN8473mx4iHrIM/g6SIXs7yOVWejHLtOGwTPlaer7Gt0lc72eC8O7+Mmskhjowwj/FILXge/z9fj7PqpPlcGrDkJDMvevUqowQ6xdreqInoQb//J8uo12nc/drO7QmfXuVQz601f05NBdb3YKVVj/cu1fM8Wyxvx05186JTnubHCIWuu59HJ5zbL85g1lGuo7cPGmVT6NbpOJ7vI8sKv5posXT51RvaH1e+aseH9/HviwyFxNdYgw5mXz5k9X2ANysMB3S0IP6Su41NWaNf+5/2S7vqQcKsBN6nETFzVSC/A0z9Z3j3LDe5vdLcD4X4RhVVVgMEQHi0Rn9SrU/XjDtg7pPzjZvSZRvDwGu27qeuoMs+R7xqvkIgP/8OlB0U+cHpJdz2Or29bRf0d+Yq38x6HdcDeA+BOnsesmd0V2rlukOZ34acFYi1GIwG8oNtaIjyjMueY8xufv8Ptq3x7rlE4NfucZOPmqXTKluec/Jy/oNtqwHYgfJe4rNIKhCfHjO7Na9bqx9jBmpNY/i+F2j3l+pArdHrXaN9doX1j3PUSbwfCE3ckVUF6J+aqblyhfeYb3WmnVliQz+opegHundYBXEeR+DB1DcpfJC780r/zmp4jF72To6iO1Y+5Qqc3JG5U5XUfFtABFYjOA/6EBuFp3sf0u/CTsjpdF01ms65OxmZlqeuZg93x+ft84SpAJOb+2Uuol7qAss21PTlP/Dqd7CqdreCM+g/pjcPobzdTh6tgB2tuyt5ZMYKn12jfSl1HSi/prkNYi/A1sJ64HFXXuTpVZzF5gnqf8j+4yVMWiY9GsFuGL8dUDtlvHvHmZxbrZ193uXd3LbrqdVXmIovER0V3rH5KBTpoCvusveTxfiQu9HX0RxTSdTb5LnxOfbrzcpR/l3aZ1PgauBeIO3mG45Pvwmd5HS+VAINj4o3U1/8lO+988txage/jecj9M5UHA9aclH35kMsT/+nEOIGvMHDVR4y7hegXHap+SI0vMqeySHzUgF7ZvhxTqssFswDIhsQz7eau000+K/ep93d46W4gxkt6WYdwh/KMY8pesXyjqO9oH379U9GhyO88vjUi7hdx7ArrrdDeSF3EPNToGrjQc3jZm7xmMYJ7Zdnk6zdmbIF0AAAM/UlEQVS6u2UILWd9TSZB69ak5lbxlaU1HR/XoLGbasbqaQxYc1KWD+PHROLOeNdyfchz9pv/zdv1Y+K681sFZCN4ukR88ieX+qk3VJpcZH5HPUKEXiT+ZKj6aYs4k6yGekPibcPV4p3o5LhJPT4zha+UyMs0bA00voa4HtN0/uy+Yvle0a+VHUPvmMv5bUG71f9hXjOXy+h3Ht+K8F0FO8jn9nBscp9QpgdeM8lrFm2eJtffP5O2i/VMKwNe0l0fwVaD8HWi7+Ii9SLh4X/4olf2c6ABa07KHrCW6clQFTxnv/lfvF6zw3UxjGf0hh7En46JT8oaiLyg27pAuBXhOypyEXXyta1CWFA2B/y4FhitD6HVgP9hwW8yyyoQBpE4GMEfDWL/FZee+F5P43ce3xoyulXBG4xegKdl/g6axfT6KUIrQisQvgQIhGYknvvnUYbP2jRUHhHWFui8nI3gjyXIUrxHp2O+htBaInyZx3upzMrwPi+bE53zpW04SL05awXOTRlAgF8g9svaaHHAj2sw2ifN69cfEs81S/Q5+83/x+tbEdYreC0E/LWC9AnEn6p2/jNgzUnZA9a6z+uZh+nFHYSbkbhG+b60NKOTy/7L/AX/KSfC1lLNFD4ZqEYavbIu35BUfyUfBZSN4KnhiSR9npJ0zgPpQ1UVY94rFqZd6kWsOC75tRBQj3vzKQPWnJQ9YLWDNX8v6LYu0libjBX4KsBaFZ8QLYLpU7AAv9Q19HvvAUCL+XS4ZoHQHxJ/bRD7Q+hVufNKUn1NOysTnCfhxLnyAqH3v5R/iZskVcV0tc+czu1ZIPRtJFgMRY4gSrXPR6J7xpNqff9owJqTsgeszmCdjwN+XGsQW4au6Uy/rEbwSx1P2p9j+n6MxNYHlpi3AAI0P/Aezd7797+WBkbiAJb6r7iYGRBIqrrxjfmwCWFtRGxOlrS3Jr/d5O/zY+sDfzyb/HMw+eW5UpJK4P1r4BOjJT56Xp/cQ0zP1xmTc3qD2A+QlWFfBqUzba4aMlo7ca1wpvdT2a4PTrkWasGH7xnf+3+Ev6+LshH8EYiDAFmA7BiyRbgnN2DNyQF7D4A7qev4mBE8vEb7buo6FtH0C37IaK1B46tIXMfQNReGqZIkSZIkKbULqQuoi0gchHLn1a3UBSyqydKRPvDkkG7riPA8dU1VMwlSM8bLKH4JhOyIUd8wVZIkSZIkpWbAmpMGYRBTF/EJk6HGSuyYxh0o8zslqYzxEoN+JP4aICvb8glJkiRJkqT3GbDmZDxrq9wdrIfsNy8bVCUVibdS15BABgwCIYvEwcn5dIs0j0WSJEmSJNWTAWtOGjQGo5J3Jh7zeg3opa5jUR3Q3aIioxoi4UkgDsb/Hn/90H8z7tqOfwX2YTLU+njyT0NTSZIkSZK0CAxYc3LEqL9U7g5WhoRbGLAmcch+84g391PXMaPBVb7dTF2EJEmSJElSFTRSF1AXl7hU+qX3DfgudQ2L6pi3d6hI9yrwJHUBkiRJkiRJVWHAmpPJbNMsdR2naP7O40WcAZrUId0WxLup65hVg/A0dQ2SJEmSJElVYcCao0Dop67hNCPi96lrWDRHhPsRmqnrmNUSX/QSlyBJkiRJklQZBqw5+thmQCXT+jd7lemmrLpJx/BW6jpmNYKnk25sSZIkSZIkzcCANVex9B2sAA24P162riIdst+sWsdwg+j8VUmSJEmSpM9gwJqrpUoErEDziPDskP3KLFuvomPe3qc6G1sBDFbo7KYuQpIkSZIkqUoMWHO0wjd9oCrLq1tveftD6iLq6oDuVqzQxlYTdq9KkiRJkiR9JgPW/FWli5VAvHXAniFrzg7ptgKhUqMBAALxUeoaJEmSJEmSqsaANWcBnqau4TNtveRx5cLAsjqk2zoiPItQtfEL2RU6vdRFSJIkSZIkVY0Ba+6qsdHVSZF494C9H5zJej6H7DePCPtUa+7qRNxJXYEkSZIkSVIVGbDmbNIFWJU5rCdtHfHm2SHdVupCquqIN98Da6nrOIsh9FLXIEmSJEmSVEUGrMWo6izLtSPCswN+rGRImNJklu1W6jrOaPc6nSx1EZIkSZIkSVVkwFqAQKzybuwtGP38ksf3UxdSBYfsNw/Ye0Z1w1WGjgeQJEmSJEk6s5C6gLo6YO+Q6m109L7sInHjst2NHzTZ0Gqfio4FmOit0N5IXYQkSZIkSVJV2cFanKqOCTipdUR4/pLH990A610v6a4fEZ5R7XCVYPeqJEmSJEnSuRiwFqTiYwLeEYnbR7z5+YDuVupayuAlj7+P43C1lbqWc8omm7JJkiRJkiTpjBwRUKDJbM711HXkLIO4s0JnN3Uh8/aS7nokfE/Fu1b/Fm8v4s9RkiRJkiQpTwasBZoEcs9S11GQbFGC1kP2m8e8vR+Jd1PXkqNshfZq6iIkSZIkSZKqzoC1YAfsPaf6S8k/JYO4cxF6ddsMaxKs3oF4N1Z/w7L32L0qSZIkSZKUBwPWgo3nloYfUtcxJ7uR8PQq31Z6/my9g1UAeiu0N1IXIUmSJEmSVAcGrHOwAF2s78uAXiA+qtImSpORDvep39zcdwyJq9dr1m0sSZIkSZKUigHrHCxYF+s7AgxGhF5g9LRsYwTGnaqv1yKNrwNxq6bdqu/bXaF9O3URkiRJkiRJdWHAOicH7D2j5p2RM8oiod8g/gSxP88O12mgCmEtwtcB1hYkVAXGYfcx8Ybdq5IkSZIkSfkxYJ2TyfLzZ6nrKKl+JGQw+iVAFiA7huysQeALuq0llpowXIvQCoQvGYfbrfxKrp5I3LlKZzt1HZIkSZIkSXViwDpHB+w9AO6krqNKAgwiDPj714c0+bsTtTWPuiooW6G9mroISZIkSZKkurmQuoBFcpHl7SPefI0h4Mziu+GpzmhI3EhdgyRJkiRJUh01UhewSC6zOQhENxjSXEXijnNXJUmSJEmSiuGIgAQcFaA5cjSAJEmSJElSgexgTeAiy9tAlrgMLQBHA0iSJEmSJBXLgDWBy2wOJsHXxzZtks7N0QCSJEmSJEnFc0RAQgd0tyD8kLoO1VJvhbbdq5IkSZIkSQWzgzWhFTq7kbiTug7VTjZ0MzVJkiRJkqS5sIO1BH6juxsI36WuQ3XRuLHCN/3UVUiSJEmSJC0CO1hL4Asu3QUMxHRuI7hnuCpJkiRJkjQ/BqwlMNn0ahPIUtei6orEnWu0H6SuQ5IkSZIkaZE4IqBEXtBtLRGeAa3UtahaIvHRVTpbqeuQJEmSJElaNAasJWPIqjPor9C+kboISZIkSZKkReSIgJK5TicbEjdwXIBmk71ieSN1EZIkSZIkSYvKgLWEDFk1o2xI3Fhlc5C6EEmSJEmSpEXliIASO2S/ecSbZ8Ba6lpUOtmQuHGdTpa6EEmSJEmSpEVmwFoBB+w9AO6krkOlYbgqSZIkSZJUEo4IqIAV2ncjcSd1HSqF/iuWbxiuSpIkSZIklYMBa0VcpbPdIGziXNaFFQhPXrHszFVJkiRJkqQScURAxbyg21oiPANaqWvR/Izg4TXad1PXIUmSJEmSpHcZsFbUb3S3A+F+6jpUvBHcu0b7Qeo6JEmSJEmS9E8GrBX2O49vjYjfYzdrXWWBePsKnV7qQiRJkiRJkvRhzmCtsH/x7ZMhcSMSH6WuRbnrDYkbhquSJEmSJEnlZgdrTRzQ3WI8MqCVuBSdk/NWJUmSJEmSqsOAtUYO2W++5fVdZ7NWliMBJEmSJEmSKsaAtYZe0G1doPF9JN5KXYtmM4KH/5/l7VU2B6lrkSRJkiRJ0uwMWGvMsQGVYNeqJEmSJElShRmwLgCD1vIJMBgRH/6HSw/sWpUkSZIkSaouA9YFYtBaGrtD4s51OlnqQiRJkiRJknQ+BqwLyKA1mV4g7jgOQJIkSZIkqT4MWBfYJGj9DlhPXErdGaxKkiRJkiTVlAGreEG31YDtMA5blR+DVUmSJEmSpJozYNVfXtBtLcE6hDvAWup6qmi6edUIdp2xKkmSJEmSVH8GrPqgE12tN3FW6yx6AZ7+yfLuKpuD1MVIkiRJkiRpPgxYdaqXdNdHsGXY+g9ZJD6yW1WSJEmSJGlxGbDqsxzw41pkeGsStq6nrieBLBIfNaDnbFVJkiRJkiQZsOrMXtBtXaSxNmR0KxC+ooZzWwMMIvQDPD0mPrFTVZIkSZIkSScZsCo308D1mLjegK+oYIdrgAGEHsSfIPbtUpUkSZIkSdKnGLCqUAf8uNYgtk6Erk3K0+maBUJ/SPz1AqF3xKhvh6okSZIkSZI+hwGrkpgGr5HYGkJrifBlJDaBZoBWHAexZzZZ2j8AMiAbwR9L40A1M0iVJEmSJElSXgxYVVrP2W9e4nUT4AK0PvbfRZYGQ4YDgNdcGqyyOZhTiZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSSq//wPIY8mduEaAiwAAAABJRU5ErkJggg==";
3279
3283
  const slotHasContent = (slotName, slots) => {
3280
3284
  const slot = slots[slotName];
@@ -3559,7 +3563,7 @@ const _hoisted_14$a = { class: "flex items-center space-x-3" };
3559
3563
  const _hoisted_15$a = { class: "text-2xl" };
3560
3564
  const _hoisted_16$9 = { class: "font-medium text-gray-900" };
3561
3565
  const _hoisted_17$9 = { class: "text-sm text-gray-500" };
3562
- const _hoisted_18$8 = {
3566
+ const _hoisted_18$7 = {
3563
3567
  key: 2,
3564
3568
  class: "text-center"
3565
3569
  };
@@ -3924,7 +3928,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
3924
3928
  ])
3925
3929
  ])
3926
3930
  ])) : vue.createCommentVNode("", true),
3927
- selectedMethod.value?.device_type === "email" && !emailCodeSent.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_18$8, [
3931
+ selectedMethod.value?.device_type === "email" && !emailCodeSent.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_18$7, [
3928
3932
  _cache[10] || (_cache[10] = vue.createElementVNode("p", { class: "text-sm text-gray-600 mb-4" }, "Click below to receive your verification code", -1)),
3929
3933
  vue.createVNode(vue.unref(StrandsUiButton), {
3930
3934
  variant: "primary",
@@ -4258,58 +4262,58 @@ function useOAuthProviders(options = {}) {
4258
4262
  getProviderIcon
4259
4263
  };
4260
4264
  }
4261
- const _hoisted_1$h = { class: "w-full min-w-100 max-w-md mx-auto animate-slide-up" };
4262
- const _hoisted_2$g = { class: "text-center mb-8" };
4263
- const _hoisted_3$g = {
4265
+ const _hoisted_1$h = { class: "text-center mb-8" };
4266
+ const _hoisted_2$g = {
4264
4267
  key: 0,
4265
4268
  class: "mb-8"
4266
4269
  };
4267
- const _hoisted_4$e = {
4270
+ const _hoisted_3$g = {
4268
4271
  key: 0,
4269
4272
  class: "space-y-3 mb-6"
4270
4273
  };
4271
- const _hoisted_5$d = { class: "w-5 h-5 flex items-center justify-center" };
4272
- const _hoisted_6$c = {
4274
+ const _hoisted_4$e = { class: "w-5 h-5 flex items-center justify-center" };
4275
+ const _hoisted_5$d = {
4273
4276
  key: 0,
4274
4277
  class: "w-5 h-5"
4275
4278
  };
4276
- const _hoisted_7$c = ["src", "alt"];
4277
- const _hoisted_8$a = {
4279
+ const _hoisted_6$c = ["src", "alt"];
4280
+ const _hoisted_7$c = {
4278
4281
  key: 1,
4279
4282
  viewBox: "0 0 24 24",
4280
4283
  class: "w-5 h-5"
4281
4284
  };
4282
- const _hoisted_9$a = {
4285
+ const _hoisted_8$a = {
4283
4286
  key: 2,
4284
4287
  class: "w-5 h-5 fill-current",
4285
4288
  viewBox: "0 0 24 24"
4286
4289
  };
4287
- const _hoisted_10$a = {
4290
+ const _hoisted_9$a = {
4288
4291
  key: 3,
4289
4292
  class: "w-5 h-5 rounded-full bg-neutral-300 flex items-center justify-center"
4290
4293
  };
4291
- const _hoisted_11$a = { class: "text-xs font-semibold text-neutral-600" };
4292
- const _hoisted_12$a = { class: "font-medium" };
4293
- const _hoisted_13$a = {
4294
+ const _hoisted_10$a = { class: "text-xs font-semibold text-neutral-600" };
4295
+ const _hoisted_11$a = { class: "font-medium" };
4296
+ const _hoisted_12$a = {
4294
4297
  key: 0,
4295
4298
  class: "divider-with-text"
4296
4299
  };
4297
- const _hoisted_14$9 = { class: "divider-text" };
4298
- const _hoisted_15$9 = {
4300
+ const _hoisted_13$a = { class: "divider-text" };
4301
+ const _hoisted_14$9 = {
4299
4302
  key: 0,
4300
4303
  class: "mb-4"
4301
4304
  };
4302
- const _hoisted_16$8 = { class: "flex items-center justify-between mb-2" };
4303
- const _hoisted_17$8 = {
4305
+ const _hoisted_15$9 = { class: "flex items-center justify-between mb-2" };
4306
+ const _hoisted_16$8 = {
4304
4307
  key: 0,
4305
4308
  class: "mt-8 text-center"
4306
4309
  };
4307
- const _hoisted_18$7 = { class: "text-neutral-400 text-sm" };
4310
+ const _hoisted_17$8 = { class: "text-neutral-400 text-sm" };
4308
4311
  const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
4309
4312
  __name: "StrandsAuth",
4310
4313
  props: {
4311
4314
  mode: { default: "signin" },
4312
4315
  redirectUrl: {},
4316
+ inModal: { type: Boolean, default: false },
4313
4317
  config: {}
4314
4318
  },
4315
4319
  emits: ["success", "error", "forgot-password", "password-reset-sent", "mode-changed"],
@@ -4485,257 +4489,258 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
4485
4489
  emit("mode-changed", newMode);
4486
4490
  });
4487
4491
  return (_ctx, _cache) => {
4488
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$h, [
4489
- vue.createVNode(vue.unref(_sfc_main$v), { variant: "modern" }, {
4490
- default: vue.withCtx(() => [
4491
- vue.createElementVNode("div", _hoisted_2$g, [
4492
- vue.createVNode(vue.Transition, {
4493
- name: "fade",
4494
- mode: "out-in"
4495
- }, {
4496
- default: vue.withCtx(() => [
4497
- (vue.openBlock(), vue.createElementBlock("h1", {
4498
- key: currentMode.value,
4499
- class: "text-3xl font-bold text-gradient mb-2"
4500
- }, vue.toDisplayString(isPasswordReset.value ? "Reset password" : isSignUp.value ? "Create account" : "Welcome back"), 1))
4501
- ]),
4502
- _: 1
4503
- }),
4504
- vue.createVNode(vue.Transition, {
4505
- name: "fade",
4506
- mode: "out-in"
4507
- }, {
4508
- default: vue.withCtx(() => [
4509
- (vue.openBlock(), vue.createElementBlock("p", {
4510
- key: currentMode.value,
4511
- class: "text-neutral-600"
4512
- }, vue.toDisplayString(isPasswordReset.value ? "Enter your email address and we'll send you a link to reset your password" : isSignUp.value ? "We'll send you a magic link to get started" : "Sign in to your account to continue"), 1))
4513
- ]),
4514
- _: 1
4515
- })
4516
- ]),
4517
- vue.createVNode(vue.Transition, { name: "height-fade" }, {
4518
- default: vue.withCtx(() => [
4519
- !isPasswordReset.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$g, [
4520
- vue.createVNode(vue.unref(_sfc_main$s), {
4521
- modelValue: currentMode.value,
4522
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => currentMode.value = $event),
4523
- tabs: [
4524
- { label: "Sign In", value: "signin" },
4525
- { label: "Sign Up", value: "signup" }
4526
- ]
4527
- }, null, 8, ["modelValue"])
4528
- ])) : vue.createCommentVNode("", true)
4529
- ]),
4530
- _: 1
4531
- }),
4532
- vue.createVNode(vue.Transition, { name: "height-fade" }, {
4533
- default: vue.withCtx(() => [
4534
- !isPasswordReset.value && displayProviders.value?.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$e, [
4535
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayProviders.value, (provider) => {
4536
- return vue.openBlock(), vue.createBlock(vue.unref(StrandsUiButton), {
4537
- key: provider.id,
4538
- variant: "outline",
4539
- "full-width": "",
4540
- disabled: vue.unref(oauthLoading),
4541
- onClick: ($event) => handleOAuthAuth(provider.id),
4542
- class: "btn-oauth group"
4543
- }, {
4544
- default: vue.withCtx(() => [
4545
- vue.createElementVNode("div", _hoisted_5$d, [
4546
- provider.icon || provider.iconUrl ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$c, [
4547
- vue.createElementVNode("img", {
4548
- src: provider.icon || provider.iconUrl,
4549
- alt: `${provider.displayName || provider.name} icon`,
4550
- class: "w-5 h-5"
4551
- }, null, 8, _hoisted_7$c)
4552
- ])) : provider.id === "google" ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_8$a, _cache[6] || (_cache[6] = [
4553
- vue.createElementVNode("path", {
4554
- fill: "#4285F4",
4555
- d: "M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z"
4556
- }, null, -1),
4557
- vue.createElementVNode("path", {
4558
- fill: "#34A853",
4559
- d: "M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z"
4560
- }, null, -1),
4561
- vue.createElementVNode("path", {
4562
- fill: "#FBBC05",
4563
- d: "M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z"
4564
- }, null, -1),
4565
- vue.createElementVNode("path", {
4566
- fill: "#EA4335",
4567
- d: "M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z"
4568
- }, null, -1)
4569
- ]))) : provider.id === "github" ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_9$a, _cache[7] || (_cache[7] = [
4570
- vue.createElementVNode("path", { d: "M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z" }, null, -1)
4571
- ]))) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_10$a, [
4572
- vue.createElementVNode("span", _hoisted_11$a, vue.toDisplayString((provider.displayName || provider.name).charAt(0).toUpperCase()), 1)
4573
- ]))
4574
- ]),
4575
- vue.createElementVNode("span", _hoisted_12$a, " Continue with " + vue.toDisplayString(provider.displayName || provider.name.charAt(0).toUpperCase() + provider.name.slice(1)), 1)
4576
- ]),
4577
- _: 2
4578
- }, 1032, ["disabled", "onClick"]);
4579
- }), 128))
4580
- ])) : vue.createCommentVNode("", true)
4581
- ]),
4582
- _: 1
4583
- }),
4584
- vue.createVNode(vue.Transition, { name: "height-fade" }, {
4492
+ return vue.openBlock(), vue.createElementBlock("div", {
4493
+ class: vue.normalizeClass(props.inModal ? "auth-container-modal w-full min-w-90" : "auth-container w-full min-w-100 max-w-md mx-auto animate-slide-up")
4494
+ }, [
4495
+ vue.createElementVNode("div", {
4496
+ class: vue.normalizeClass(props.inModal ? "auth-content-modal" : "auth-content card-modern")
4497
+ }, [
4498
+ vue.createElementVNode("div", _hoisted_1$h, [
4499
+ vue.createVNode(vue.Transition, {
4500
+ name: "fade",
4501
+ mode: "out-in"
4502
+ }, {
4585
4503
  default: vue.withCtx(() => [
4586
- !isPasswordReset.value && displayProviders.value?.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_13$a, [
4587
- vue.createElementVNode("span", _hoisted_14$9, "Or " + vue.toDisplayString(isSignUp.value ? "create account" : "sign in") + " with email", 1)
4588
- ])) : vue.createCommentVNode("", true)
4504
+ (vue.openBlock(), vue.createElementBlock("h1", {
4505
+ key: currentMode.value,
4506
+ class: "text-3xl font-bold text-gradient mb-2"
4507
+ }, vue.toDisplayString(isPasswordReset.value ? "Reset password" : isSignUp.value ? "Create account" : "Welcome back"), 1))
4589
4508
  ]),
4590
4509
  _: 1
4591
4510
  }),
4592
- vue.createElementVNode("form", {
4593
- onSubmit: vue.withModifiers(handleAuth, ["prevent"]),
4594
- class: "space-y-6"
4595
- }, [
4596
- vue.createElementVNode("div", null, [
4597
- vue.createElementVNode("div", {
4598
- class: vue.normalizeClass(["email-field-spacing", !isPasswordReset.value && !isSignUp.value ? "has-password" : "no-password"])
4599
- }, [
4600
- vue.createVNode(vue.unref(StrandsUiInput), {
4601
- modelValue: form.email,
4602
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => form.email = $event),
4603
- type: "email",
4604
- label: "Email address",
4605
- placeholder: "Enter your email",
4606
- required: "",
4607
- autocomplete: "email",
4608
- error: error.value && !form.email ? "Email is required" : ""
4609
- }, null, 8, ["modelValue", "error"])
4610
- ], 2),
4611
- vue.createVNode(vue.Transition, { name: "password-fade" }, {
4612
- default: vue.withCtx(() => [
4613
- !isPasswordReset.value && !isSignUp.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_15$9, [
4614
- vue.createElementVNode("div", _hoisted_16$8, [
4615
- _cache[9] || (_cache[9] = vue.createElementVNode("span", { class: "text-sm font-medium text-gray-700" }, "Password", -1)),
4616
- vue.createVNode(vue.unref(_sfc_main$t), {
4617
- variant: "primary",
4618
- size: "sm",
4619
- onClick: _cache[2] || (_cache[2] = ($event) => currentMode.value = "reset-password")
4620
- }, {
4621
- default: vue.withCtx(() => _cache[8] || (_cache[8] = [
4622
- vue.createTextVNode(" Forgot password? ", -1)
4623
- ])),
4624
- _: 1,
4625
- __: [8]
4626
- })
4627
- ]),
4628
- vue.createVNode(vue.unref(StrandsUiInput), {
4629
- modelValue: form.password,
4630
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => form.password = $event),
4631
- type: "password",
4632
- placeholder: "Enter your password",
4633
- required: "",
4634
- autocomplete: "current-password",
4635
- error: error.value && !form.password ? "Password is required" : ""
4636
- }, null, 8, ["modelValue", "error"])
4637
- ])) : vue.createCommentVNode("", true)
4638
- ]),
4639
- _: 1
4640
- })
4641
- ]),
4642
- vue.createVNode(vue.unref(StrandsUiButton), {
4643
- type: "submit",
4644
- variant: "primary",
4645
- "full-width": "",
4646
- disabled: buttonLoading.value || !isFormValid.value,
4647
- loading: buttonLoading.value,
4648
- "loading-text": vue.unref(loadingMessage)
4649
- }, {
4650
- default: vue.withCtx(() => [
4651
- vue.createTextVNode(vue.toDisplayString(isPasswordReset.value ? isPasswordResetSubmitted.value ? "Link sent!" : "Send reset link" : isSignUp.value ? "Send magic link" : "Sign in"), 1)
4652
- ]),
4653
- _: 1
4654
- }, 8, ["disabled", "loading", "loading-text"])
4655
- ], 32),
4656
4511
  vue.createVNode(vue.Transition, {
4657
- name: "expand",
4512
+ name: "fade",
4658
4513
  mode: "out-in"
4659
4514
  }, {
4660
4515
  default: vue.withCtx(() => [
4661
- isPasswordReset.value && isPasswordResetSubmitted.value ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$x), {
4662
- key: "reset-success",
4663
- variant: "success",
4664
- message: `Check your email - We've sent a password reset link to ${form.email}`,
4665
- class: "mt-6 animate-fade-in"
4666
- }, null, 8, ["message"])) : vue.createCommentVNode("", true)
4516
+ (vue.openBlock(), vue.createElementBlock("p", {
4517
+ key: currentMode.value,
4518
+ class: "text-neutral-600"
4519
+ }, vue.toDisplayString(isPasswordReset.value ? "Enter your email address and we'll send you a link to reset your password" : isSignUp.value ? "We'll send you a magic link to get started" : "Sign in to your account to continue"), 1))
4667
4520
  ]),
4668
4521
  _: 1
4669
- }),
4670
- vue.createVNode(vue.Transition, { name: "height-fade" }, {
4671
- default: vue.withCtx(() => [
4672
- isPasswordReset.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_17$8, [
4673
- vue.createVNode(vue.unref(_sfc_main$t), {
4674
- onClick: _cache[4] || (_cache[4] = ($event) => currentMode.value = "signin"),
4675
- class: "inline-flex items-center gap-2"
4522
+ })
4523
+ ]),
4524
+ vue.createVNode(vue.Transition, { name: "height-fade" }, {
4525
+ default: vue.withCtx(() => [
4526
+ !isPasswordReset.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$g, [
4527
+ vue.createVNode(vue.unref(_sfc_main$s), {
4528
+ modelValue: currentMode.value,
4529
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => currentMode.value = $event),
4530
+ tabs: [
4531
+ { label: "Sign In", value: "signin" },
4532
+ { label: "Sign Up", value: "signup" }
4533
+ ]
4534
+ }, null, 8, ["modelValue"])
4535
+ ])) : vue.createCommentVNode("", true)
4536
+ ]),
4537
+ _: 1
4538
+ }),
4539
+ vue.createVNode(vue.Transition, { name: "height-fade" }, {
4540
+ default: vue.withCtx(() => [
4541
+ !isPasswordReset.value && displayProviders.value?.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$g, [
4542
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayProviders.value, (provider) => {
4543
+ return vue.openBlock(), vue.createBlock(vue.unref(StrandsUiButton), {
4544
+ key: provider.id,
4545
+ variant: "outline",
4546
+ "full-width": "",
4547
+ disabled: vue.unref(oauthLoading),
4548
+ onClick: ($event) => handleOAuthAuth(provider.id),
4549
+ class: "btn-oauth group"
4676
4550
  }, {
4677
- default: vue.withCtx(() => _cache[10] || (_cache[10] = [
4678
- vue.createElementVNode("svg", {
4679
- class: "w-4 h-4",
4680
- fill: "none",
4681
- stroke: "currentColor",
4682
- viewBox: "0 0 24 24"
4683
- }, [
4684
- vue.createElementVNode("path", {
4685
- "stroke-linecap": "round",
4686
- "stroke-linejoin": "round",
4687
- "stroke-width": "2",
4688
- d: "M15 19l-7-7 7-7"
4689
- })
4690
- ], -1),
4691
- vue.createTextVNode(" Back to sign in ", -1)
4692
- ])),
4693
- _: 1,
4694
- __: [10]
4695
- })
4696
- ])) : vue.createCommentVNode("", true)
4697
- ]),
4698
- _: 1
4699
- }),
4700
- error.value ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$x), {
4701
- key: 0,
4702
- variant: "error",
4703
- message: error.value,
4704
- class: "mt-6 animate-fade-in",
4705
- dismissible: "",
4706
- onDismiss: _cache[5] || (_cache[5] = ($event) => error.value = "")
4707
- }, null, 8, ["message"])) : vue.createCommentVNode("", true),
4708
- vue.createVNode(_sfc_main$l, {
4709
- config: props.config
4710
- }, {
4711
- default: vue.withCtx(() => [
4712
- vue.unref(getSupportEmail)() ? (vue.openBlock(), vue.createBlock(vue.Transition, {
4713
- key: 0,
4714
- name: "support-fade"
4715
- }, {
4716
- default: vue.withCtx(() => [
4717
- vue.createElementVNode("p", _hoisted_18$7, [
4718
- _cache[12] || (_cache[12] = vue.createTextVNode(" Need help? ", -1)),
4551
+ default: vue.withCtx(() => [
4552
+ vue.createElementVNode("div", _hoisted_4$e, [
4553
+ provider.icon || provider.iconUrl ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$d, [
4554
+ vue.createElementVNode("img", {
4555
+ src: provider.icon || provider.iconUrl,
4556
+ alt: `${provider.displayName || provider.name} icon`,
4557
+ class: "w-5 h-5"
4558
+ }, null, 8, _hoisted_6$c)
4559
+ ])) : provider.id === "google" ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_7$c, _cache[6] || (_cache[6] = [
4560
+ vue.createElementVNode("path", {
4561
+ fill: "#4285F4",
4562
+ d: "M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z"
4563
+ }, null, -1),
4564
+ vue.createElementVNode("path", {
4565
+ fill: "#34A853",
4566
+ d: "M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z"
4567
+ }, null, -1),
4568
+ vue.createElementVNode("path", {
4569
+ fill: "#FBBC05",
4570
+ d: "M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z"
4571
+ }, null, -1),
4572
+ vue.createElementVNode("path", {
4573
+ fill: "#EA4335",
4574
+ d: "M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z"
4575
+ }, null, -1)
4576
+ ]))) : provider.id === "github" ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_8$a, _cache[7] || (_cache[7] = [
4577
+ vue.createElementVNode("path", { d: "M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z" }, null, -1)
4578
+ ]))) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$a, [
4579
+ vue.createElementVNode("span", _hoisted_10$a, vue.toDisplayString((provider.displayName || provider.name).charAt(0).toUpperCase()), 1)
4580
+ ]))
4581
+ ]),
4582
+ vue.createElementVNode("span", _hoisted_11$a, " Continue with " + vue.toDisplayString(provider.displayName || provider.name.charAt(0).toUpperCase() + provider.name.slice(1)), 1)
4583
+ ]),
4584
+ _: 2
4585
+ }, 1032, ["disabled", "onClick"]);
4586
+ }), 128))
4587
+ ])) : vue.createCommentVNode("", true)
4588
+ ]),
4589
+ _: 1
4590
+ }),
4591
+ vue.createVNode(vue.Transition, { name: "height-fade" }, {
4592
+ default: vue.withCtx(() => [
4593
+ !isPasswordReset.value && displayProviders.value?.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_12$a, [
4594
+ vue.createElementVNode("span", _hoisted_13$a, "Or " + vue.toDisplayString(isSignUp.value ? "create account" : "sign in") + " with email", 1)
4595
+ ])) : vue.createCommentVNode("", true)
4596
+ ]),
4597
+ _: 1
4598
+ }),
4599
+ vue.createElementVNode("form", {
4600
+ onSubmit: vue.withModifiers(handleAuth, ["prevent"]),
4601
+ class: "space-y-6"
4602
+ }, [
4603
+ vue.createElementVNode("div", null, [
4604
+ vue.createElementVNode("div", {
4605
+ class: vue.normalizeClass(["email-field-spacing", !isPasswordReset.value && !isSignUp.value ? "has-password" : "no-password"])
4606
+ }, [
4607
+ vue.createVNode(vue.unref(StrandsUiInput), {
4608
+ modelValue: form.email,
4609
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => form.email = $event),
4610
+ type: "email",
4611
+ label: "Email address",
4612
+ placeholder: "Enter your email",
4613
+ required: "",
4614
+ autocomplete: "email",
4615
+ error: error.value && !form.email ? "Email is required" : ""
4616
+ }, null, 8, ["modelValue", "error"])
4617
+ ], 2),
4618
+ vue.createVNode(vue.Transition, { name: "password-fade" }, {
4619
+ default: vue.withCtx(() => [
4620
+ !isPasswordReset.value && !isSignUp.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_14$9, [
4621
+ vue.createElementVNode("div", _hoisted_15$9, [
4622
+ _cache[9] || (_cache[9] = vue.createElementVNode("span", { class: "text-sm font-medium text-gray-700" }, "Password", -1)),
4719
4623
  vue.createVNode(vue.unref(_sfc_main$t), {
4720
4624
  variant: "primary",
4721
- href: `mailto:${vue.unref(getSupportEmail)()}`
4625
+ size: "sm",
4626
+ onClick: _cache[2] || (_cache[2] = ($event) => currentMode.value = "reset-password")
4722
4627
  }, {
4723
- default: vue.withCtx(() => _cache[11] || (_cache[11] = [
4724
- vue.createTextVNode(" Contact Support ", -1)
4628
+ default: vue.withCtx(() => _cache[8] || (_cache[8] = [
4629
+ vue.createTextVNode(" Forgot password? ", -1)
4725
4630
  ])),
4726
4631
  _: 1,
4727
- __: [11]
4728
- }, 8, ["href"])
4729
- ])
4730
- ]),
4731
- _: 1
4732
- })) : vue.createCommentVNode("", true)
4632
+ __: [8]
4633
+ })
4634
+ ]),
4635
+ vue.createVNode(vue.unref(StrandsUiInput), {
4636
+ modelValue: form.password,
4637
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => form.password = $event),
4638
+ type: "password",
4639
+ placeholder: "Enter your password",
4640
+ required: "",
4641
+ autocomplete: "current-password",
4642
+ error: error.value && !form.password ? "Password is required" : ""
4643
+ }, null, 8, ["modelValue", "error"])
4644
+ ])) : vue.createCommentVNode("", true)
4645
+ ]),
4646
+ _: 1
4647
+ })
4648
+ ]),
4649
+ vue.createVNode(vue.unref(StrandsUiButton), {
4650
+ type: "submit",
4651
+ variant: "primary",
4652
+ "full-width": "",
4653
+ disabled: buttonLoading.value || !isFormValid.value,
4654
+ loading: buttonLoading.value,
4655
+ "loading-text": vue.unref(loadingMessage)
4656
+ }, {
4657
+ default: vue.withCtx(() => [
4658
+ vue.createTextVNode(vue.toDisplayString(isPasswordReset.value ? isPasswordResetSubmitted.value ? "Link sent!" : "Send reset link" : isSignUp.value ? "Send magic link" : "Sign in"), 1)
4733
4659
  ]),
4734
4660
  _: 1
4735
- }, 8, ["config"])
4736
- ]),
4737
- _: 1
4738
- }),
4661
+ }, 8, ["disabled", "loading", "loading-text"])
4662
+ ], 32),
4663
+ vue.createVNode(vue.Transition, {
4664
+ name: "expand",
4665
+ mode: "out-in"
4666
+ }, {
4667
+ default: vue.withCtx(() => [
4668
+ isPasswordReset.value && isPasswordResetSubmitted.value ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$x), {
4669
+ key: "reset-success",
4670
+ variant: "success",
4671
+ message: `Check your email - We've sent a password reset link to ${form.email}`,
4672
+ class: "mt-6 animate-fade-in"
4673
+ }, null, 8, ["message"])) : vue.createCommentVNode("", true)
4674
+ ]),
4675
+ _: 1
4676
+ }),
4677
+ vue.createVNode(vue.Transition, { name: "height-fade" }, {
4678
+ default: vue.withCtx(() => [
4679
+ isPasswordReset.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16$8, [
4680
+ vue.createVNode(vue.unref(_sfc_main$t), {
4681
+ onClick: _cache[4] || (_cache[4] = ($event) => currentMode.value = "signin"),
4682
+ class: "inline-flex items-center gap-2"
4683
+ }, {
4684
+ default: vue.withCtx(() => _cache[10] || (_cache[10] = [
4685
+ vue.createElementVNode("svg", {
4686
+ class: "w-4 h-4",
4687
+ fill: "none",
4688
+ stroke: "currentColor",
4689
+ viewBox: "0 0 24 24"
4690
+ }, [
4691
+ vue.createElementVNode("path", {
4692
+ "stroke-linecap": "round",
4693
+ "stroke-linejoin": "round",
4694
+ "stroke-width": "2",
4695
+ d: "M15 19l-7-7 7-7"
4696
+ })
4697
+ ], -1),
4698
+ vue.createTextVNode(" Back to sign in ", -1)
4699
+ ])),
4700
+ _: 1,
4701
+ __: [10]
4702
+ })
4703
+ ])) : vue.createCommentVNode("", true)
4704
+ ]),
4705
+ _: 1
4706
+ }),
4707
+ error.value ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$x), {
4708
+ key: 0,
4709
+ variant: "error",
4710
+ message: error.value,
4711
+ class: "mt-6 animate-fade-in",
4712
+ dismissible: "",
4713
+ onDismiss: _cache[5] || (_cache[5] = ($event) => error.value = "")
4714
+ }, null, 8, ["message"])) : vue.createCommentVNode("", true),
4715
+ vue.createVNode(_sfc_main$l, {
4716
+ config: props.config
4717
+ }, {
4718
+ default: vue.withCtx(() => [
4719
+ vue.unref(getSupportEmail)() ? (vue.openBlock(), vue.createBlock(vue.Transition, {
4720
+ key: 0,
4721
+ name: "support-fade"
4722
+ }, {
4723
+ default: vue.withCtx(() => [
4724
+ vue.createElementVNode("p", _hoisted_17$8, [
4725
+ _cache[12] || (_cache[12] = vue.createTextVNode(" Need help? ", -1)),
4726
+ vue.createVNode(vue.unref(_sfc_main$t), {
4727
+ variant: "primary",
4728
+ href: `mailto:${vue.unref(getSupportEmail)()}`
4729
+ }, {
4730
+ default: vue.withCtx(() => _cache[11] || (_cache[11] = [
4731
+ vue.createTextVNode(" Contact Support ", -1)
4732
+ ])),
4733
+ _: 1,
4734
+ __: [11]
4735
+ }, 8, ["href"])
4736
+ ])
4737
+ ]),
4738
+ _: 1
4739
+ })) : vue.createCommentVNode("", true)
4740
+ ]),
4741
+ _: 1
4742
+ }, 8, ["config"])
4743
+ ], 2),
4739
4744
  vue.createVNode(_sfc_main$k, {
4740
4745
  show: showMfaVerification.value,
4741
4746
  "available-mfa-methods": vue.unref(availableMfaMethods),
@@ -4743,11 +4748,11 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
4743
4748
  onClose: handleMfaClose,
4744
4749
  onError: handleMfaError
4745
4750
  }, null, 8, ["show", "available-mfa-methods"])
4746
- ]);
4751
+ ], 2);
4747
4752
  };
4748
4753
  }
4749
4754
  });
4750
- const StrandsAuth = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-a8f59d58"]]);
4755
+ const StrandsAuth = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-d0fd51f5"]]);
4751
4756
  const _hoisted_1$g = { class: "w-full min-w-100 max-w-md mx-auto animate-slide-up" };
4752
4757
  const _hoisted_2$f = {
4753
4758
  key: 0,
@@ -11956,7 +11961,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
11956
11961
  user: vue.unref(user),
11957
11962
  signOut: vue.unref(signOut)
11958
11963
  })
11959
- ])) : _ctx.showFallback && !showLoading.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$2, [
11964
+ ])) : !vue.unref(isAuthenticated) && _ctx.showFallback && !showLoading.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$2, [
11960
11965
  vue.renderSlot(_ctx.$slots, "fallback", { signIn }, () => [
11961
11966
  vue.createElementVNode("div", { class: "text-center py-8" }, [
11962
11967
  _cache[0] || (_cache[0] = vue.createStaticVNode('<div class="w-16 h-16 mx-auto mb-4 bg-neutral-100 rounded-full flex items-center justify-center"><svg class="w-8 h-8 text-neutral-400" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"></path></svg></div><h3 class="text-lg font-semibold text-neutral-900 mb-2">Sign in required</h3><p class="text-neutral-600 mb-4">You need to be signed in to access this content.</p>', 3)),
@@ -12276,14 +12281,16 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
12276
12281
  __name: "StrandsUserButton",
12277
12282
  props: {
12278
12283
  hideUser: { type: Boolean, default: false },
12279
- variant: { default: "minimal" }
12284
+ variant: { default: "minimal" },
12285
+ redirectUrl: { default: "/" }
12280
12286
  },
12281
- emits: ["profile-updated", "signed-out"],
12287
+ emits: ["profile-updated", "signed-out", "signed-in"],
12282
12288
  setup(__props, { emit: __emit }) {
12283
12289
  const emit = __emit;
12284
12290
  const { currentUser: user, signOut } = useStrandsAuth.useStrandsAuth();
12285
12291
  const showDropdown = vue.ref(false);
12286
12292
  const showProfileModal = vue.ref(false);
12293
+ const showSignInModal = vue.ref(false);
12287
12294
  const containerRef = vue.ref();
12288
12295
  const profileButtonRef = vue.ref();
12289
12296
  const displayName = vue.computed(() => {
@@ -12338,6 +12345,19 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
12338
12345
  const handleProfileError = (error) => {
12339
12346
  console.error("Profile error:", error);
12340
12347
  };
12348
+ const openSignIn = () => {
12349
+ showSignInModal.value = true;
12350
+ };
12351
+ const closeSignIn = () => {
12352
+ showSignInModal.value = false;
12353
+ };
12354
+ const handleSignedIn = () => {
12355
+ closeSignIn();
12356
+ emit("signed-in");
12357
+ };
12358
+ const handleSignInError = (error) => {
12359
+ console.error("Sign in error:", error);
12360
+ };
12341
12361
  const handleSignOut = async () => {
12342
12362
  try {
12343
12363
  await signOut();
@@ -12363,206 +12383,272 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
12363
12383
  ref_key: "containerRef",
12364
12384
  ref: containerRef
12365
12385
  }, [
12366
- vue.createElementVNode("button", {
12367
- onClick: toggleDropdown,
12368
- onKeydown: [
12369
- vue.withKeys(toggleDropdown, ["enter"]),
12370
- vue.withKeys(vue.withModifiers(toggleDropdown, ["prevent"]), ["space"]),
12371
- vue.withKeys(closeDropdown, ["escape"]),
12372
- vue.withKeys(vue.withModifiers(openDropdown, ["prevent"]), ["arrow-down"])
12373
- ],
12374
- class: "relative flex items-center py-2 px-3 rounded-full bg-gray-100 text-gray-900 text-sm font-medium hover:bg-gray-300 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2 transition-all duration-150",
12375
- "aria-haspopup": "true",
12376
- "aria-expanded": showDropdown.value,
12377
- "aria-label": "User menu"
12378
- }, [
12379
- vue.createElementVNode("div", _hoisted_2, [
12380
- !_ctx.hideUser ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3, [
12381
- vue.createElementVNode("div", _hoisted_4, vue.toDisplayString(displayName.value), 1)
12382
- ])) : vue.createCommentVNode("", true),
12383
- vue.createElementVNode("div", _hoisted_5, [
12384
- vue.createElementVNode("div", _hoisted_6, [
12385
- vue.unref(user)?.avatar ? (vue.openBlock(), vue.createElementBlock("img", {
12386
- key: 0,
12387
- src: vue.unref(user).avatar,
12388
- alt: `${vue.unref(user).firstName || vue.unref(user).email}'s avatar`,
12389
- class: "w-8 h-8 rounded-full object-cover"
12390
- }, null, 8, _hoisted_7)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_8, _cache[0] || (_cache[0] = [
12391
- vue.createElementVNode("svg", {
12392
- class: "w-5 h-5 text-gray-600",
12393
- fill: "currentColor",
12394
- viewBox: "0 0 20 20"
12395
- }, [
12396
- vue.createElementVNode("path", {
12397
- "fill-rule": "evenodd",
12398
- d: "M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z",
12399
- "clip-rule": "evenodd"
12400
- })
12401
- ], -1)
12402
- ])))
12403
- ])
12404
- ]),
12405
- (vue.openBlock(), vue.createElementBlock("svg", {
12406
- class: vue.normalizeClass(["w-4 h-4 text-gray-400 transition-transform duration-150", { "transform rotate-180": showDropdown.value }]),
12407
- fill: "none",
12408
- stroke: "currentColor",
12409
- viewBox: "0 0 24 24"
12410
- }, _cache[1] || (_cache[1] = [
12411
- vue.createElementVNode("path", {
12412
- "stroke-linecap": "round",
12413
- "stroke-linejoin": "round",
12414
- "stroke-width": "2",
12415
- d: "M19 9l-7 7-7-7"
12416
- }, null, -1)
12417
- ]), 2))
12418
- ]),
12419
- vue.createVNode(vue.Transition, { name: "dropdown" }, {
12420
- default: vue.withCtx(() => [
12421
- showDropdown.value ? (vue.openBlock(), vue.createElementBlock("div", {
12422
- key: 0,
12423
- class: "absolute right-0 top-full mt-2 w-72 bg-white rounded-lg shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none z-50",
12424
- role: "menu",
12425
- "aria-orientation": "vertical",
12426
- onKeydown: [
12427
- vue.withKeys(closeDropdown, ["escape"]),
12428
- vue.withKeys(vue.withModifiers(focusPrevious, ["prevent"]), ["arrow-up"]),
12429
- vue.withKeys(vue.withModifiers(focusNext, ["prevent"]), ["arrow-down"]),
12430
- vue.withKeys(vue.withModifiers(focusFirst, ["prevent"]), ["home"]),
12431
- vue.withKeys(vue.withModifiers(focusLast, ["prevent"]), ["end"])
12432
- ]
12386
+ vue.createVNode(vue.unref(_sfc_main$5), null, {
12387
+ fallback: vue.withCtx(() => [
12388
+ vue.createElementVNode("button", {
12389
+ onClick: openSignIn,
12390
+ class: "relative flex items-center gap-2 py-2 px-4 rounded-full bg-strands-500 text-white text-sm font-medium hover:bg-strands-600 focus:outline-none focus:ring-2 focus:ring-strands-500 focus:ring-offset-2 transition-all duration-150",
12391
+ "aria-label": "Sign in"
12392
+ }, _cache[8] || (_cache[8] = [
12393
+ vue.createElementVNode("svg", {
12394
+ class: "w-4 h-4",
12395
+ fill: "none",
12396
+ stroke: "currentColor",
12397
+ viewBox: "0 0 24 24"
12433
12398
  }, [
12434
- vue.createElementVNode("div", _hoisted_10, [
12435
- vue.createElementVNode("div", _hoisted_11, [
12436
- vue.unref(user) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_12, [
12437
- vue.createVNode(vue.unref(StrandsUiLevelProgress), {
12438
- size: 80,
12439
- value: vue.unref(user).xp,
12440
- max: vue.unref(user).next_level_xp,
12441
- level: vue.unref(user).level,
12442
- "level-label": `LEVEL ${vue.unref(user).level}`,
12443
- "user-settings": vue.unref(user).settings,
12444
- class: "absolute z-10 top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 pointer-events-none"
12445
- }, null, 8, ["value", "max", "level", "level-label", "user-settings"]),
12446
- vue.unref(user)?.avatar ? (vue.openBlock(), vue.createElementBlock("img", {
12447
- key: 0,
12448
- src: vue.unref(user).avatar,
12449
- alt: `${vue.unref(user).firstName || vue.unref(user).email}'s avatar`,
12450
- class: "w-14 h-14 rounded-full object-cover"
12451
- }, null, 8, _hoisted_13)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_14, _cache[2] || (_cache[2] = [
12452
- vue.createElementVNode("svg", {
12453
- class: "w-5 h-5 text-gray-600",
12454
- fill: "currentColor",
12455
- viewBox: "0 0 20 20"
12456
- }, [
12457
- vue.createElementVNode("path", {
12458
- "fill-rule": "evenodd",
12459
- d: "M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z",
12460
- "clip-rule": "evenodd"
12461
- })
12462
- ], -1)
12463
- ])))
12464
- ])) : vue.createCommentVNode("", true),
12465
- vue.createElementVNode("div", _hoisted_15, [
12466
- vue.createElementVNode("div", _hoisted_16, vue.toDisplayString(displayName.value), 1),
12467
- vue.createElementVNode("div", _hoisted_17, vue.toDisplayString(vue.unref(user)?.email), 1)
12468
- ])
12469
- ]),
12470
- _cache[5] || (_cache[5] = vue.createElementVNode("div", { class: "h-px bg-gray-200 my-2" }, null, -1)),
12471
- vue.createElementVNode("div", _hoisted_18, [
12472
- vue.createElementVNode("button", {
12473
- ref_key: "profileButtonRef",
12474
- ref: profileButtonRef,
12475
- onClick: openProfile,
12476
- class: "w-full flex items-center space-x-3 px-3 py-2 text-sm text-gray-700 rounded-lg hover:bg-gray-100 focus:bg-gray-100 focus:outline-none transition-colors duration-150",
12477
- role: "menuitem",
12478
- tabindex: "-1"
12479
- }, _cache[3] || (_cache[3] = [
12480
- vue.createElementVNode("svg", {
12481
- class: "w-4 h-4 text-gray-400",
12482
- fill: "none",
12483
- stroke: "currentColor",
12484
- viewBox: "0 0 24 24"
12485
- }, [
12486
- vue.createElementVNode("path", {
12487
- "stroke-linecap": "round",
12488
- "stroke-linejoin": "round",
12489
- "stroke-width": "2",
12490
- d: "M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"
12491
- })
12492
- ], -1),
12493
- vue.createTextVNode(" Profile ", -1)
12494
- ]), 512),
12495
- vue.createElementVNode("button", {
12496
- onClick: handleSignOut,
12497
- class: "w-full flex items-center space-x-3 px-3 py-2 text-sm text-red-600 rounded-lg hover:bg-red-50 focus:bg-red-50 focus:outline-none transition-colors duration-150",
12498
- role: "menuitem",
12499
- tabindex: "-1"
12500
- }, _cache[4] || (_cache[4] = [
12399
+ vue.createElementVNode("path", {
12400
+ "stroke-linecap": "round",
12401
+ "stroke-linejoin": "round",
12402
+ "stroke-width": "2",
12403
+ d: "M11 16l-4-4m0 0l4-4m-4 4h14m-5 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h7a3 3 0 013 3v1"
12404
+ })
12405
+ ], -1),
12406
+ vue.createElementVNode("span", null, "Sign In", -1)
12407
+ ])),
12408
+ vue.createVNode(vue.unref(StrandsUiModal), {
12409
+ open: showSignInModal.value,
12410
+ onClose: closeSignIn,
12411
+ "fullscreen-on-mobile": false
12412
+ }, {
12413
+ header: vue.withCtx(() => [
12414
+ vue.createElementVNode("div", { class: "flex items-center justify-between" }, [
12415
+ _cache[10] || (_cache[10] = vue.createElementVNode("h2", { class: "text-xl font-semibold text-gray-900" }, "Sign In", -1)),
12416
+ vue.createElementVNode("button", {
12417
+ onClick: closeSignIn,
12418
+ class: "p-1 rounded-lg text-gray-400 hover:text-gray-600 hover:bg-gray-100 transition-colors",
12419
+ "aria-label": "Close sign in"
12420
+ }, _cache[9] || (_cache[9] = [
12421
+ vue.createElementVNode("svg", {
12422
+ class: "w-5 h-5",
12423
+ fill: "none",
12424
+ stroke: "currentColor",
12425
+ viewBox: "0 0 24 24"
12426
+ }, [
12427
+ vue.createElementVNode("path", {
12428
+ "stroke-linecap": "round",
12429
+ "stroke-linejoin": "round",
12430
+ "stroke-width": "2",
12431
+ d: "M6 18L18 6M6 6l12 12"
12432
+ })
12433
+ ], -1)
12434
+ ]))
12435
+ ])
12436
+ ]),
12437
+ default: vue.withCtx(() => [
12438
+ vue.createVNode(vue.unref(StrandsAuth), {
12439
+ onSignedIn: handleSignedIn,
12440
+ onError: handleSignInError,
12441
+ "redirect-url": _ctx.redirectUrl,
12442
+ "in-modal": ""
12443
+ }, null, 8, ["redirect-url"])
12444
+ ]),
12445
+ _: 1
12446
+ }, 8, ["open"])
12447
+ ]),
12448
+ default: vue.withCtx(() => [
12449
+ vue.createElementVNode("button", {
12450
+ onClick: toggleDropdown,
12451
+ onKeydown: [
12452
+ vue.withKeys(toggleDropdown, ["enter"]),
12453
+ vue.withKeys(vue.withModifiers(toggleDropdown, ["prevent"]), ["space"]),
12454
+ vue.withKeys(closeDropdown, ["escape"]),
12455
+ vue.withKeys(vue.withModifiers(openDropdown, ["prevent"]), ["arrow-down"])
12456
+ ],
12457
+ class: "relative flex items-center py-2 px-3 rounded-full bg-gray-100 text-gray-900 text-sm font-medium hover:bg-gray-300 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2 transition-all duration-150",
12458
+ "aria-haspopup": "true",
12459
+ "aria-expanded": showDropdown.value,
12460
+ "aria-label": "User menu"
12461
+ }, [
12462
+ vue.createElementVNode("div", _hoisted_2, [
12463
+ !_ctx.hideUser ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3, [
12464
+ vue.createElementVNode("div", _hoisted_4, vue.toDisplayString(displayName.value), 1)
12465
+ ])) : vue.createCommentVNode("", true),
12466
+ vue.createElementVNode("div", _hoisted_5, [
12467
+ vue.createElementVNode("div", _hoisted_6, [
12468
+ vue.unref(user)?.avatar ? (vue.openBlock(), vue.createElementBlock("img", {
12469
+ key: 0,
12470
+ src: vue.unref(user).avatar,
12471
+ alt: `${vue.unref(user).firstName || vue.unref(user).email}'s avatar`,
12472
+ class: "w-8 h-8 rounded-full object-cover"
12473
+ }, null, 8, _hoisted_7)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_8, _cache[0] || (_cache[0] = [
12501
12474
  vue.createElementVNode("svg", {
12502
- class: "w-4 h-4 text-red-500",
12503
- fill: "none",
12504
- stroke: "currentColor",
12505
- viewBox: "0 0 24 24"
12475
+ class: "w-5 h-5 text-gray-600",
12476
+ fill: "currentColor",
12477
+ viewBox: "0 0 20 20"
12506
12478
  }, [
12507
12479
  vue.createElementVNode("path", {
12508
- "stroke-linecap": "round",
12509
- "stroke-linejoin": "round",
12510
- "stroke-width": "2",
12511
- d: "M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"
12480
+ "fill-rule": "evenodd",
12481
+ d: "M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z",
12482
+ "clip-rule": "evenodd"
12512
12483
  })
12513
- ], -1),
12514
- vue.createTextVNode(" Sign Out ", -1)
12515
- ]))
12484
+ ], -1)
12485
+ ])))
12516
12486
  ])
12517
- ])
12518
- ], 40, _hoisted_9)) : vue.createCommentVNode("", true)
12519
- ]),
12520
- _: 1
12521
- })
12522
- ], 40, _hoisted_1),
12523
- vue.createVNode(vue.unref(StrandsUiModal), {
12524
- open: showProfileModal.value,
12525
- onClose: closeProfile,
12526
- "fullscreen-on-mobile": false
12527
- }, {
12528
- header: vue.withCtx(() => [
12529
- vue.createElementVNode("div", { class: "flex items-center justify-between" }, [
12530
- _cache[7] || (_cache[7] = vue.createElementVNode("h2", { class: "text-xl font-semibold text-gray-900" }, "User Profile", -1)),
12531
- vue.createElementVNode("button", {
12532
- onClick: closeProfile,
12533
- class: "p-1 rounded-lg text-gray-400 hover:text-gray-600 hover:bg-gray-100 transition-colors",
12534
- "aria-label": "Close profile"
12535
- }, _cache[6] || (_cache[6] = [
12536
- vue.createElementVNode("svg", {
12537
- class: "w-5 h-5",
12487
+ ]),
12488
+ (vue.openBlock(), vue.createElementBlock("svg", {
12489
+ class: vue.normalizeClass(["w-4 h-4 text-gray-400 transition-transform duration-150", { "transform rotate-180": showDropdown.value }]),
12538
12490
  fill: "none",
12539
12491
  stroke: "currentColor",
12540
12492
  viewBox: "0 0 24 24"
12541
- }, [
12493
+ }, _cache[1] || (_cache[1] = [
12542
12494
  vue.createElementVNode("path", {
12543
12495
  "stroke-linecap": "round",
12544
12496
  "stroke-linejoin": "round",
12545
12497
  "stroke-width": "2",
12546
- d: "M6 18L18 6M6 6l12 12"
12547
- })
12548
- ], -1)
12549
- ]))
12550
- ])
12551
- ]),
12552
- default: vue.withCtx(() => [
12553
- vue.createVNode(StrandsUserProfile, {
12554
- onProfileUpdated: handleProfileUpdated,
12555
- onError: handleProfileError,
12556
- "in-modal": ""
12557
- })
12498
+ d: "M19 9l-7 7-7-7"
12499
+ }, null, -1)
12500
+ ]), 2))
12501
+ ]),
12502
+ vue.createVNode(vue.Transition, { name: "dropdown" }, {
12503
+ default: vue.withCtx(() => [
12504
+ showDropdown.value ? (vue.openBlock(), vue.createElementBlock("div", {
12505
+ key: 0,
12506
+ class: "absolute right-0 top-full mt-2 w-72 bg-white rounded-lg shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none z-50",
12507
+ role: "menu",
12508
+ "aria-orientation": "vertical",
12509
+ onKeydown: [
12510
+ vue.withKeys(closeDropdown, ["escape"]),
12511
+ vue.withKeys(vue.withModifiers(focusPrevious, ["prevent"]), ["arrow-up"]),
12512
+ vue.withKeys(vue.withModifiers(focusNext, ["prevent"]), ["arrow-down"]),
12513
+ vue.withKeys(vue.withModifiers(focusFirst, ["prevent"]), ["home"]),
12514
+ vue.withKeys(vue.withModifiers(focusLast, ["prevent"]), ["end"])
12515
+ ]
12516
+ }, [
12517
+ vue.createElementVNode("div", _hoisted_10, [
12518
+ vue.createElementVNode("div", _hoisted_11, [
12519
+ vue.unref(user) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_12, [
12520
+ vue.createVNode(vue.unref(StrandsUiLevelProgress), {
12521
+ size: 80,
12522
+ value: vue.unref(user).xp,
12523
+ max: vue.unref(user).next_level_xp,
12524
+ level: vue.unref(user).level,
12525
+ "level-label": `LEVEL ${vue.unref(user).level}`,
12526
+ "user-settings": vue.unref(user).settings,
12527
+ class: "absolute z-10 top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 pointer-events-none"
12528
+ }, null, 8, ["value", "max", "level", "level-label", "user-settings"]),
12529
+ vue.unref(user)?.avatar ? (vue.openBlock(), vue.createElementBlock("img", {
12530
+ key: 0,
12531
+ src: vue.unref(user).avatar,
12532
+ alt: `${vue.unref(user).firstName || vue.unref(user).email}'s avatar`,
12533
+ class: "w-14 h-14 rounded-full object-cover"
12534
+ }, null, 8, _hoisted_13)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_14, _cache[2] || (_cache[2] = [
12535
+ vue.createElementVNode("svg", {
12536
+ class: "w-5 h-5 text-gray-600",
12537
+ fill: "currentColor",
12538
+ viewBox: "0 0 20 20"
12539
+ }, [
12540
+ vue.createElementVNode("path", {
12541
+ "fill-rule": "evenodd",
12542
+ d: "M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z",
12543
+ "clip-rule": "evenodd"
12544
+ })
12545
+ ], -1)
12546
+ ])))
12547
+ ])) : vue.createCommentVNode("", true),
12548
+ vue.createElementVNode("div", _hoisted_15, [
12549
+ vue.createElementVNode("div", _hoisted_16, vue.toDisplayString(displayName.value), 1),
12550
+ vue.createElementVNode("div", _hoisted_17, vue.toDisplayString(vue.unref(user)?.email), 1)
12551
+ ])
12552
+ ]),
12553
+ _cache[5] || (_cache[5] = vue.createElementVNode("div", { class: "h-px bg-gray-200 my-2" }, null, -1)),
12554
+ vue.createElementVNode("div", _hoisted_18, [
12555
+ vue.createElementVNode("button", {
12556
+ ref_key: "profileButtonRef",
12557
+ ref: profileButtonRef,
12558
+ onClick: openProfile,
12559
+ class: "w-full flex items-center space-x-3 px-3 py-2 text-sm text-gray-700 rounded-lg hover:bg-gray-100 focus:bg-gray-100 focus:outline-none transition-colors duration-150",
12560
+ role: "menuitem",
12561
+ tabindex: "-1"
12562
+ }, _cache[3] || (_cache[3] = [
12563
+ vue.createElementVNode("svg", {
12564
+ class: "w-4 h-4 text-gray-400",
12565
+ fill: "none",
12566
+ stroke: "currentColor",
12567
+ viewBox: "0 0 24 24"
12568
+ }, [
12569
+ vue.createElementVNode("path", {
12570
+ "stroke-linecap": "round",
12571
+ "stroke-linejoin": "round",
12572
+ "stroke-width": "2",
12573
+ d: "M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"
12574
+ })
12575
+ ], -1),
12576
+ vue.createTextVNode(" Profile ", -1)
12577
+ ]), 512),
12578
+ vue.createElementVNode("button", {
12579
+ onClick: handleSignOut,
12580
+ class: "w-full flex items-center space-x-3 px-3 py-2 text-sm text-red-600 rounded-lg hover:bg-red-50 focus:bg-red-50 focus:outline-none transition-colors duration-150",
12581
+ role: "menuitem",
12582
+ tabindex: "-1"
12583
+ }, _cache[4] || (_cache[4] = [
12584
+ vue.createElementVNode("svg", {
12585
+ class: "w-4 h-4 text-red-500",
12586
+ fill: "none",
12587
+ stroke: "currentColor",
12588
+ viewBox: "0 0 24 24"
12589
+ }, [
12590
+ vue.createElementVNode("path", {
12591
+ "stroke-linecap": "round",
12592
+ "stroke-linejoin": "round",
12593
+ "stroke-width": "2",
12594
+ d: "M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"
12595
+ })
12596
+ ], -1),
12597
+ vue.createTextVNode(" Sign Out ", -1)
12598
+ ]))
12599
+ ])
12600
+ ])
12601
+ ], 40, _hoisted_9)) : vue.createCommentVNode("", true)
12602
+ ]),
12603
+ _: 1
12604
+ })
12605
+ ], 40, _hoisted_1),
12606
+ vue.createVNode(vue.unref(StrandsUiModal), {
12607
+ open: showProfileModal.value,
12608
+ onClose: closeProfile,
12609
+ "fullscreen-on-mobile": false
12610
+ }, {
12611
+ header: vue.withCtx(() => [
12612
+ vue.createElementVNode("div", { class: "flex items-center justify-between" }, [
12613
+ _cache[7] || (_cache[7] = vue.createElementVNode("h2", { class: "text-xl font-semibold text-gray-900" }, "User Profile", -1)),
12614
+ vue.createElementVNode("button", {
12615
+ onClick: closeProfile,
12616
+ class: "p-1 rounded-lg text-gray-400 hover:text-gray-600 hover:bg-gray-100 transition-colors",
12617
+ "aria-label": "Close profile"
12618
+ }, _cache[6] || (_cache[6] = [
12619
+ vue.createElementVNode("svg", {
12620
+ class: "w-5 h-5",
12621
+ fill: "none",
12622
+ stroke: "currentColor",
12623
+ viewBox: "0 0 24 24"
12624
+ }, [
12625
+ vue.createElementVNode("path", {
12626
+ "stroke-linecap": "round",
12627
+ "stroke-linejoin": "round",
12628
+ "stroke-width": "2",
12629
+ d: "M6 18L18 6M6 6l12 12"
12630
+ })
12631
+ ], -1)
12632
+ ]))
12633
+ ])
12634
+ ]),
12635
+ default: vue.withCtx(() => [
12636
+ vue.createVNode(vue.unref(StrandsUserProfile), {
12637
+ onProfileUpdated: handleProfileUpdated,
12638
+ onError: handleProfileError,
12639
+ "in-modal": ""
12640
+ })
12641
+ ]),
12642
+ _: 1
12643
+ }, 8, ["open"])
12558
12644
  ]),
12559
12645
  _: 1
12560
- }, 8, ["open"])
12646
+ })
12561
12647
  ], 512);
12562
12648
  };
12563
12649
  }
12564
12650
  });
12565
- const StrandsUserButton = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-55619755"]]);
12651
+ const StrandsUserButton = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-6fbc9411"]]);
12566
12652
  const components = {
12567
12653
  StrandsUiAlert: _sfc_main$x,
12568
12654
  StrandsUiButton,