diff --git a/dist/assets/index-CDcNm7E6.css b/dist/assets/index-CDcNm7E6.css new file mode 100644 index 0000000..a536a7e --- /dev/null +++ b/dist/assets/index-CDcNm7E6.css @@ -0,0 +1 @@ +@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap";/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:"Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-800:oklch(44.4% .177 26.899);--color-orange-50:oklch(98% .016 73.684);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-200:oklch(90.1% .076 70.697);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-800:oklch(47% .157 37.304);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-800:oklch(47.3% .137 46.201);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-800:oklch(42.4% .199 265.638);--color-violet-200:oklch(89.4% .057 293.283);--color-violet-800:oklch(43.2% .232 292.759);--color-slate-700:oklch(37.2% .044 257.287);--color-neutral-50:oklch(98.5% 0 0);--color-neutral-100:oklch(97% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-300:oklch(87% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-500:oklch(55.6% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-md:.375rem;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-gris-fondo:#f5f5f5}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.top-1\/2{top:50%}.top-\[84px\]{top:84px}.top-full{top:100%}.right-0{right:0}.right-6{right:calc(var(--spacing) * 6)}.bottom-0{bottom:0}.bottom-6{bottom:calc(var(--spacing) * 6)}.left-0{left:0}.left-3{left:calc(var(--spacing) * 3)}.left-3\.5{left:calc(var(--spacing) * 3.5)}.z-10{z-index:10}.z-40{z-index:40}.z-45{z-index:45}.z-50{z-index:50}.z-\[80\]{z-index:80}.z-\[90\]{z-index:90}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-7{margin-bottom:calc(var(--spacing) * 7)}.-ml-2{margin-left:calc(var(--spacing) * -2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-4\.5{height:calc(var(--spacing) * 4.5)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-14{height:calc(var(--spacing) * 14)}.h-\[80px\]{height:80px}.h-\[84px\]{height:84px}.h-screen{height:100vh}.max-h-\[92vh\]{max-height:92vh}.max-h-\[250px\]{max-height:250px}.max-h-\[260px\]{max-height:260px}.max-h-\[330px\]{max-height:330px}.min-h-\[130px\]{min-height:130px}.min-h-\[150px\]{min-height:150px}.min-h-\[190px\]{min-height:190px}.min-h-screen{min-height:100vh}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-4\.5{width:calc(var(--spacing) * 4.5)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-12{width:calc(var(--spacing) * 12)}.w-64{width:calc(var(--spacing) * 64)}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[180px\]{max-width:180px}.max-w-\[220px\]{max-width:220px}.max-w-\[260px\]{max-width:260px}.max-w-\[290px\]{max-width:290px}.max-w-\[300px\]{max-width:300px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:0}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-\[280px\]{min-width:280px}.min-w-\[760px\]{min-width:760px}.min-w-\[960px\]{min-width:960px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-y{resize:vertical}.scroll-mt-28{scroll-margin-top:calc(var(--spacing) * 28)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing) * 4)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-neutral-100>:not(:last-child)){border-color:var(--color-neutral-100)}:where(.divide-neutral-200>:not(:last-child)){border-color:var(--color-neutral-200)}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-4{border-top-style:var(--tw-border-style);border-top-width:4px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-4{border-bottom-style:var(--tw-border-style);border-bottom-width:4px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[\#4F758B\]{border-color:#4f758b}.border-\[\#4F758B\]\/10{border-color:#4f758b1a}.border-\[\#4F758B\]\/20{border-color:#4f758b33}.border-\[\#4F758B\]\/25{border-color:#4f758b40}.border-\[\#4F758B\]\/30{border-color:#4f758b4d}.border-\[\#4F758B\]\/40{border-color:#4f758b66}.border-\[\#6CC24A\]{border-color:#6cc24a}.border-\[\#6CC24A\]\/30{border-color:#6cc24a4d}.border-\[\#D0D0D0\]{border-color:#d0d0d0}.border-\[\#D6E8F4\]{border-color:#d6e8f4}.border-amber-200{border-color:var(--color-amber-200)}.border-blue-200{border-color:var(--color-blue-200)}.border-emerald-200{border-color:var(--color-emerald-200)}.border-emerald-700{border-color:var(--color-emerald-700)}.border-neutral-200{border-color:var(--color-neutral-200)}.border-neutral-200\/10{border-color:#e5e5e51a}@supports (color:color-mix(in lab,red,red)){.border-neutral-200\/10{border-color:color-mix(in oklab,var(--color-neutral-200) 10%,transparent)}}.border-neutral-300{border-color:var(--color-neutral-300)}.border-orange-200{border-color:var(--color-orange-200)}.border-red-100{border-color:var(--color-red-100)}.border-red-200{border-color:var(--color-red-200)}.border-red-800{border-color:var(--color-red-800)}.border-slate-700{border-color:var(--color-slate-700)}.border-transparent{border-color:#0000}.border-violet-200{border-color:var(--color-violet-200)}.border-white\/40{border-color:#fff6}@supports (color:color-mix(in lab,red,red)){.border-white\/40{border-color:color-mix(in oklab,var(--color-white) 40%,transparent)}}.border-t-white{border-top-color:var(--color-white)}.bg-\[\#4F758B\]{background-color:#4f758b}.bg-\[\#4F758B\]\/5{background-color:#4f758b0d}.bg-\[\#4F758B\]\/10{background-color:#4f758b1a}.bg-\[\#6CC24A\]{background-color:#6cc24a}.bg-\[\#6CC24A\]\/5{background-color:#6cc24a0d}.bg-\[\#6CC24A\]\/10{background-color:#6cc24a1a}.bg-\[\#D0D0D0\]{background-color:#d0d0d0}.bg-\[\#F5F5F5\]{background-color:#f5f5f5}.bg-\[\#F7FBFD\]{background-color:#f7fbfd}.bg-\[\#ba1a1a\]{background-color:#ba1a1a}.bg-amber-50{background-color:var(--color-amber-50)}.bg-black\/45{background-color:#00000073}@supports (color:color-mix(in lab,red,red)){.bg-black\/45{background-color:color-mix(in oklab,var(--color-black) 45%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-neutral-50{background-color:var(--color-neutral-50)}.bg-neutral-50\/50{background-color:#fafafa80}@supports (color:color-mix(in lab,red,red)){.bg-neutral-50\/50{background-color:color-mix(in oklab,var(--color-neutral-50) 50%,transparent)}}.bg-neutral-100{background-color:var(--color-neutral-100)}.bg-orange-50{background-color:var(--color-orange-50)}.bg-red-50{background-color:var(--color-red-50)}.bg-white{background-color:var(--color-white)}.fill-current{fill:currentColor}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-7{padding-inline:calc(var(--spacing) * 7)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-14{padding-block:calc(var(--spacing) * 14)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-0{padding-left:0}.pl-9{padding-left:calc(var(--spacing) * 9)}.pl-10{padding-left:calc(var(--spacing) * 10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.text-\[\#4F758B\]{color:#4f758b}.text-\[\#6B8FA3\]{color:#6b8fa3}.text-\[\#6CC24A\]{color:#6cc24a}.text-\[\#ba1a1a\]{color:#ba1a1a}.text-amber-800{color:var(--color-amber-800)}.text-blue-800{color:var(--color-blue-800)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-neutral-300{color:var(--color-neutral-300)}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-500{color:var(--color-neutral-500)}.text-neutral-600{color:var(--color-neutral-600)}.text-neutral-700{color:var(--color-neutral-700)}.text-neutral-800{color:var(--color-neutral-800)}.text-orange-800{color:var(--color-orange-800)}.text-red-600{color:var(--color-red-600)}.text-violet-800{color:var(--color-violet-800)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-neutral-400::placeholder{color:var(--color-neutral-400)}.accent-\[\#6CC24A\]{accent-color:#6cc24a}.opacity-25{opacity:.25}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.selection\:bg-\[\#6CC24A\] ::selection{background-color:#6cc24a}.selection\:bg-\[\#6CC24A\]::selection{background-color:#6cc24a}.selection\:bg-transparent ::selection{background-color:#0000}.selection\:bg-transparent::selection{background-color:#0000}.selection\:text-white ::selection{color:var(--color-white)}.selection\:text-white::selection{color:var(--color-white)}@media(hover:hover){.hover\:border-\[\#4F758B\]:hover{border-color:#4f758b}.hover\:border-\[\#4F758B\]\/40:hover{border-color:#4f758b66}.hover\:border-\[\#4F758B\]\/50:hover{border-color:#4f758b80}.hover\:border-\[\#4F758B\]\/55:hover{border-color:#4f758b8c}.hover\:border-emerald-400:hover{border-color:var(--color-emerald-400)}.hover\:border-orange-300:hover{border-color:var(--color-orange-300)}.hover\:border-red-100:hover{border-color:var(--color-red-100)}.hover\:bg-\[\#3F6174\]:hover{background-color:#3f6174}.hover\:bg-\[\#3d6378\]:hover{background-color:#3d6378}.hover\:bg-\[\#4F758B\]:hover{background-color:#4f758b}.hover\:bg-\[\#4F758B\]\/5:hover{background-color:#4f758b0d}.hover\:bg-\[\#4F758B\]\/\[0\.025\]:hover{background-color:#4f758b06}.hover\:bg-\[\#5aaa3f\]:hover{background-color:#5aaa3f}.hover\:bg-\[\#5bb03c\]:hover{background-color:#5bb03c}.hover\:bg-\[\#41677b\]:hover{background-color:#41677b}.hover\:bg-emerald-100:hover{background-color:var(--color-emerald-100)}.hover\:bg-neutral-50:hover{background-color:var(--color-neutral-50)}.hover\:bg-neutral-50\/70:hover{background-color:#fafafab3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-neutral-50\/70:hover{background-color:color-mix(in oklab,var(--color-neutral-50) 70%,transparent)}}.hover\:bg-neutral-100:hover{background-color:var(--color-neutral-100)}.hover\:bg-neutral-200:hover{background-color:var(--color-neutral-200)}.hover\:bg-orange-100:hover{background-color:var(--color-orange-100)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.hover\:text-\[\#3d6378\]:hover{color:#3d6378}.hover\:text-\[\#4F758B\]:hover{color:#4f758b}.hover\:text-emerald-800:hover{color:var(--color-emerald-800)}.hover\:text-neutral-700:hover{color:var(--color-neutral-700)}.hover\:text-neutral-800:hover{color:var(--color-neutral-800)}.hover\:text-red-500:hover{color:var(--color-red-500)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:border-\[\#4F758B\]:focus{border-color:#4f758b}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-\[\#4F758B\]\/10:focus{--tw-ring-color:oklab(54.2682% -.0318721 -.0447881/.1)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-98:active{--tw-scale-x:98%;--tw-scale-y:98%;--tw-scale-z:98%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-\[0\.99\]:active{scale:.99}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-neutral-300:disabled{border-color:var(--color-neutral-300)}.disabled\:bg-neutral-50:disabled{background-color:var(--color-neutral-50)}.disabled\:bg-neutral-300:disabled{background-color:var(--color-neutral-300)}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-45:disabled{opacity:.45}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:flex{display:flex}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:h-6{height:calc(var(--spacing) * 6)}.sm\:h-10{height:calc(var(--spacing) * 10)}.sm\:w-16{width:calc(var(--spacing) * 16)}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:self-auto{align-self:auto}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-9{padding:calc(var(--spacing) * 9)}.sm\:px-3{padding-inline:calc(var(--spacing) * 3)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media(min-width:48rem){.md\:block{display:block}.md\:hidden{display:none}.md\:translate-x-0{--tw-translate-x:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.md\:justify-center{justify-content:center}.md\:pl-64{padding-left:calc(var(--spacing) * 64)}.md\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}}@media(min-width:64rem){.lg\:w-auto{width:auto}.lg\:max-w-md{max-width:var(--container-md)}.lg\:max-w-sm{max-width:var(--container-sm)}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:items-start{align-items:flex-start}.lg\:justify-between{justify-content:space-between}.lg\:text-right{text-align:right}.lg\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}}@media(min-width:80rem){.xl\:min-w-full{min-width:100%}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:px-4{padding-inline:calc(var(--spacing) * 4)}}@media(min-width:96rem){.\32xl\:inline{display:inline}}}body{font-family:var(--font-sans);background-color:var(--color-gris-fondo)}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}} diff --git a/dist/assets/index-D9yGuvWp.js b/dist/assets/index-D9yGuvWp.js new file mode 100644 index 0000000..b13903c --- /dev/null +++ b/dist/assets/index-D9yGuvWp.js @@ -0,0 +1,270 @@ +(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))a(l);new MutationObserver(l=>{for(const c of l)if(c.type==="childList")for(const u of c.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&a(u)}).observe(document,{childList:!0,subtree:!0});function i(l){const c={};return l.integrity&&(c.integrity=l.integrity),l.referrerPolicy&&(c.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?c.credentials="include":l.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function a(l){if(l.ep)return;l.ep=!0;const c=i(l);fetch(l.href,c)}})();var nd={exports:{}},qr={};/** + * @license React + * react-jsx-runtime.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Ky;function ZS(){if(Ky)return qr;Ky=1;var n=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function i(a,l,c){var u=null;if(c!==void 0&&(u=""+c),l.key!==void 0&&(u=""+l.key),"key"in l){c={};for(var d in l)d!=="key"&&(c[d]=l[d])}else c=l;return l=c.ref,{$$typeof:n,type:a,key:u,ref:l!==void 0?l:null,props:c}}return qr.Fragment=e,qr.jsx=i,qr.jsxs=i,qr}var Yy;function WS(){return Yy||(Yy=1,nd.exports=ZS()),nd.exports}var g=WS(),sd={exports:{}},be={};/** + * @license React + * react.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Xy;function e1(){if(Xy)return be;Xy=1;var n=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),c=Symbol.for("react.consumer"),u=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),v=Symbol.for("react.activity"),x=Symbol.iterator;function _(A){return A===null||typeof A!="object"?null:(A=x&&A[x]||A["@@iterator"],typeof A=="function"?A:null)}var S={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},T=Object.assign,k={};function C(A,z,Z){this.props=A,this.context=z,this.refs=k,this.updater=Z||S}C.prototype.isReactComponent={},C.prototype.setState=function(A,z){if(typeof A!="object"&&typeof A!="function"&&A!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,A,z,"setState")},C.prototype.forceUpdate=function(A){this.updater.enqueueForceUpdate(this,A,"forceUpdate")};function D(){}D.prototype=C.prototype;function j(A,z,Z){this.props=A,this.context=z,this.refs=k,this.updater=Z||S}var V=j.prototype=new D;V.constructor=j,T(V,C.prototype),V.isPureReactComponent=!0;var G=Array.isArray;function J(){}var q={H:null,A:null,T:null,S:null},K=Object.prototype.hasOwnProperty;function ie(A,z,Z){var W=Z.ref;return{$$typeof:n,type:A,key:z,ref:W!==void 0?W:null,props:Z}}function X(A,z){return ie(A.type,z,A.props)}function pe(A){return typeof A=="object"&&A!==null&&A.$$typeof===n}function ce(A){var z={"=":"=0",":":"=2"};return"$"+A.replace(/[=:]/g,function(Z){return z[Z]})}var Ce=/\/+/g;function Se(A,z){return typeof A=="object"&&A!==null&&A.key!=null?ce(""+A.key):z.toString(36)}function _e(A){switch(A.status){case"fulfilled":return A.value;case"rejected":throw A.reason;default:switch(typeof A.status=="string"?A.then(J,J):(A.status="pending",A.then(function(z){A.status==="pending"&&(A.status="fulfilled",A.value=z)},function(z){A.status==="pending"&&(A.status="rejected",A.reason=z)})),A.status){case"fulfilled":return A.value;case"rejected":throw A.reason}}throw A}function P(A,z,Z,W,ae){var de=typeof A;(de==="undefined"||de==="boolean")&&(A=null);var xe=!1;if(A===null)xe=!0;else switch(de){case"bigint":case"string":case"number":xe=!0;break;case"object":switch(A.$$typeof){case n:case e:xe=!0;break;case y:return xe=A._init,P(xe(A._payload),z,Z,W,ae)}}if(xe)return ae=ae(A),xe=W===""?"."+Se(A,0):W,G(ae)?(Z="",xe!=null&&(Z=xe.replace(Ce,"$&/")+"/"),P(ae,z,Z,"",function(Hn){return Hn})):ae!=null&&(pe(ae)&&(ae=X(ae,Z+(ae.key==null||A&&A.key===ae.key?"":(""+ae.key).replace(Ce,"$&/")+"/")+xe)),z.push(ae)),1;xe=0;var nt=W===""?".":W+":";if(G(A))for(var Ie=0;Ie>>1,te=P[fe];if(0>>1;fel(Z,ee))Wl(ae,Z)?(P[fe]=ae,P[W]=ee,fe=W):(P[fe]=Z,P[z]=ee,fe=z);else if(Wl(ae,ee))P[fe]=ae,P[W]=ee,fe=W;else break e}}return Y}function l(P,Y){var ee=P.sortIndex-Y.sortIndex;return ee!==0?ee:P.id-Y.id}if(n.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var c=performance;n.unstable_now=function(){return c.now()}}else{var u=Date,d=u.now();n.unstable_now=function(){return u.now()-d}}var m=[],p=[],y=1,v=null,x=3,_=!1,S=!1,T=!1,k=!1,C=typeof setTimeout=="function"?setTimeout:null,D=typeof clearTimeout=="function"?clearTimeout:null,j=typeof setImmediate<"u"?setImmediate:null;function V(P){for(var Y=i(p);Y!==null;){if(Y.callback===null)a(p);else if(Y.startTime<=P)a(p),Y.sortIndex=Y.expirationTime,e(m,Y);else break;Y=i(p)}}function G(P){if(T=!1,V(P),!S)if(i(m)!==null)S=!0,J||(J=!0,ce());else{var Y=i(p);Y!==null&&_e(G,Y.startTime-P)}}var J=!1,q=-1,K=5,ie=-1;function X(){return k?!0:!(n.unstable_now()-ieP&&X());){var fe=v.callback;if(typeof fe=="function"){v.callback=null,x=v.priorityLevel;var te=fe(v.expirationTime<=P);if(P=n.unstable_now(),typeof te=="function"){v.callback=te,V(P),Y=!0;break t}v===i(m)&&a(m),V(P)}else a(m);v=i(m)}if(v!==null)Y=!0;else{var A=i(p);A!==null&&_e(G,A.startTime-P),Y=!1}}break e}finally{v=null,x=ee,_=!1}Y=void 0}}finally{Y?ce():J=!1}}}var ce;if(typeof j=="function")ce=function(){j(pe)};else if(typeof MessageChannel<"u"){var Ce=new MessageChannel,Se=Ce.port2;Ce.port1.onmessage=pe,ce=function(){Se.postMessage(null)}}else ce=function(){C(pe,0)};function _e(P,Y){q=C(function(){P(n.unstable_now())},Y)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(P){P.callback=null},n.unstable_forceFrameRate=function(P){0>P||125fe?(P.sortIndex=ee,e(p,P),i(m)===null&&P===i(p)&&(T?(D(q),q=-1):T=!0,_e(G,ee-fe))):(P.sortIndex=te,e(m,P),S||_||(S=!0,J||(J=!0,ce()))),P},n.unstable_shouldYield=X,n.unstable_wrapCallback=function(P){var Y=x;return function(){var ee=x;x=Y;try{return P.apply(this,arguments)}finally{x=ee}}}})(rd)),rd}var Zy;function n1(){return Zy||(Zy=1,ad.exports=t1()),ad.exports}var od={exports:{}},zt={};/** + * @license React + * react-dom.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Wy;function s1(){if(Wy)return zt;Wy=1;var n=Sf();function e(m){var p="https://react.dev/errors/"+m;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}return n(),od.exports=s1(),od.exports}/** + * @license React + * react-dom-client.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var t0;function a1(){if(t0)return Fr;t0=1;var n=n1(),e=Sf(),i=i1();function a(t){var s="https://react.dev/errors/"+t;if(1te||(t.current=fe[te],fe[te]=null,te--)}function Z(t,s){te++,fe[te]=t.current,t.current=s}var W=A(null),ae=A(null),de=A(null),xe=A(null);function nt(t,s){switch(Z(de,s),Z(ae,t),Z(W,null),s.nodeType){case 9:case 11:t=(t=s.documentElement)&&(t=t.namespaceURI)?gy(t):0;break;default:if(t=s.tagName,s=s.namespaceURI)s=gy(s),t=yy(s,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}z(W),Z(W,t)}function Ie(){z(W),z(ae),z(de)}function Hn(t){t.memoizedState!==null&&Z(xe,t);var s=W.current,r=yy(s,t.type);s!==r&&(Z(ae,t),Z(W,r))}function vt(t){ae.current===t&&(z(W),z(ae)),xe.current===t&&(z(xe),Pr._currentValue=ee)}var Ft,Nn;function Q(t){if(Ft===void 0)try{throw Error()}catch(r){var s=r.stack.trim().match(/\n( *(at )?)/);Ft=s&&s[1]||"",Nn=-1)":-1h||E[o]!==U[h]){var $=` +`+E[o].replace(" at new "," at ");return t.displayName&&$.includes("")&&($=$.replace("",t.displayName)),$}while(1<=o&&0<=h);break}}}finally{ze=!1,Error.prepareStackTrace=r}return(r=t?t.displayName||t.name:"")?Q(r):""}function Oe(t,s){switch(t.tag){case 26:case 27:case 5:return Q(t.type);case 16:return Q("Lazy");case 13:return t.child!==s&&s!==null?Q("Suspense Fallback"):Q("Suspense");case 19:return Q("SuspenseList");case 0:case 15:return Ee(t.type,!1);case 11:return Ee(t.type.render,!1);case 1:return Ee(t.type,!0);case 31:return Q("Activity");default:return""}}function Ge(t){try{var s="",r=null;do s+=Oe(t,r),r=t,t=t.return;while(t);return s}catch(o){return` +Error generating stack: `+o.message+` +`+o.stack}}var xt=Object.prototype.hasOwnProperty,It=n.unstable_scheduleCallback,At=n.unstable_cancelCallback,$n=n.unstable_shouldYield,qn=n.unstable_requestPaint,dt=n.unstable_now,ks=n.unstable_getCurrentPriorityLevel,wt=n.unstable_ImmediatePriority,en=n.unstable_UserBlockingPriority,Fn=n.unstable_NormalPriority,Ze=n.unstable_LowPriority,oi=n.unstable_IdlePriority,li=n.log,Vi=n.unstable_setDisableYieldValue,kn=null,Ut=null;function In(t){if(typeof li=="function"&&Vi(t),Ut&&typeof Ut.setStrictMode=="function")try{Ut.setStrictMode(kn,t)}catch{}}var Vt=Math.clz32?Math.clz32:Ic,qc=Math.log,Fc=Math.LN2;function Ic(t){return t>>>=0,t===0?32:31-(qc(t)/Fc|0)|0}var Hi=256,ci=262144,$i=4194304;function as(t){var s=t&42;if(s!==0)return s;switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function ui(t,s,r){var o=t.pendingLanes;if(o===0)return 0;var h=0,f=t.suspendedLanes,b=t.pingedLanes;t=t.warmLanes;var w=o&134217727;return w!==0?(o=w&~f,o!==0?h=as(o):(b&=w,b!==0?h=as(b):r||(r=w&~t,r!==0&&(h=as(r))))):(w=o&~f,w!==0?h=as(w):b!==0?h=as(b):r||(r=o&~t,r!==0&&(h=as(r)))),h===0?0:s!==0&&s!==h&&(s&f)===0&&(f=h&-h,r=s&-s,f>=r||f===32&&(r&4194048)!==0)?s:h}function hi(t,s){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&s)===0}function Gc(t,s){switch(t){case 1:case 2:case 4:case 8:case 64:return s+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return s+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function ko(){var t=$i;return $i<<=1,($i&62914560)===0&&($i=4194304),t}function Wa(t){for(var s=[],r=0;31>r;r++)s.push(t);return s}function di(t,s){t.pendingLanes|=s,s!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function Kc(t,s,r,o,h,f){var b=t.pendingLanes;t.pendingLanes=r,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=r,t.entangledLanes&=r,t.errorRecoveryDisabledLanes&=r,t.shellSuspendCounter=0;var w=t.entanglements,E=t.expirationTimes,U=t.hiddenUpdates;for(r=b&~r;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var Gw=/[\n"\\]/g;function gn(t){return t.replace(Gw,function(s){return"\\"+s.charCodeAt(0).toString(16)+" "})}function Jc(t,s,r,o,h,f,b,w){t.name="",b!=null&&typeof b!="function"&&typeof b!="symbol"&&typeof b!="boolean"?t.type=b:t.removeAttribute("type"),s!=null?b==="number"?(s===0&&t.value===""||t.value!=s)&&(t.value=""+pn(s)):t.value!==""+pn(s)&&(t.value=""+pn(s)):b!=="submit"&&b!=="reset"||t.removeAttribute("value"),s!=null?Qc(t,b,pn(s)):r!=null?Qc(t,b,pn(r)):o!=null&&t.removeAttribute("value"),h==null&&f!=null&&(t.defaultChecked=!!f),h!=null&&(t.checked=h&&typeof h!="function"&&typeof h!="symbol"),w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"?t.name=""+pn(w):t.removeAttribute("name")}function um(t,s,r,o,h,f,b,w){if(f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"&&(t.type=f),s!=null||r!=null){if(!(f!=="submit"&&f!=="reset"||s!=null)){Xc(t);return}r=r!=null?""+pn(r):"",s=s!=null?""+pn(s):r,w||s===t.value||(t.value=s),t.defaultValue=s}o=o??h,o=typeof o!="function"&&typeof o!="symbol"&&!!o,t.checked=w?t.checked:!!o,t.defaultChecked=!!o,b!=null&&typeof b!="function"&&typeof b!="symbol"&&typeof b!="boolean"&&(t.name=b),Xc(t)}function Qc(t,s,r){s==="number"&&Oo(t.ownerDocument)===t||t.defaultValue===""+r||(t.defaultValue=""+r)}function Ki(t,s,r,o){if(t=t.options,s){s={};for(var h=0;h"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),nu=!1;if(ls)try{var sr={};Object.defineProperty(sr,"passive",{get:function(){nu=!0}}),window.addEventListener("test",sr,sr),window.removeEventListener("test",sr,sr)}catch{nu=!1}var Cs=null,su=null,Mo=null;function ym(){if(Mo)return Mo;var t,s=su,r=s.length,o,h="value"in Cs?Cs.value:Cs.textContent,f=h.length;for(t=0;t=rr),Sm=" ",Tm=!1;function Em(t,s){switch(t){case"keyup":return x_.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Am(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Qi=!1;function __(t,s){switch(t){case"compositionend":return Am(s);case"keypress":return s.which!==32?null:(Tm=!0,Sm);case"textInput":return t=s.data,t===Sm&&Tm?null:t;default:return null}}function S_(t,s){if(Qi)return t==="compositionend"||!lu&&Em(t,s)?(t=ym(),Mo=su=Cs=null,Qi=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1=s)return{node:r,offset:s-t};t=o}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=Mm(r)}}function Um(t,s){return t&&s?t===s?!0:t&&t.nodeType===3?!1:s&&s.nodeType===3?Um(t,s.parentNode):"contains"in t?t.contains(s):t.compareDocumentPosition?!!(t.compareDocumentPosition(s)&16):!1:!1}function Lm(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var s=Oo(t.document);s instanceof t.HTMLIFrameElement;){try{var r=typeof s.contentWindow.location.href=="string"}catch{r=!1}if(r)t=s.contentWindow;else break;s=Oo(t.document)}return s}function hu(t){var s=t&&t.nodeName&&t.nodeName.toLowerCase();return s&&(s==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||s==="textarea"||t.contentEditable==="true")}var R_=ls&&"documentMode"in document&&11>=document.documentMode,Zi=null,du=null,ur=null,fu=!1;function zm(t,s,r){var o=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;fu||Zi==null||Zi!==Oo(o)||(o=Zi,"selectionStart"in o&&hu(o)?o={start:o.selectionStart,end:o.selectionEnd}:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection(),o={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}),ur&&cr(ur,o)||(ur=o,o=jl(du,"onSelect"),0>=b,h-=b,Gn=1<<32-Vt(s)+h|r<we?(ke=ue,ue=null):ke=ue.sibling;var Me=L(O,ue,B[we],F);if(Me===null){ue===null&&(ue=ke);break}t&&ue&&Me.alternate===null&&s(O,ue),N=f(Me,N,we),De===null?me=Me:De.sibling=Me,De=Me,ue=ke}if(we===B.length)return r(O,ue),Re&&us(O,we),me;if(ue===null){for(;wewe?(ke=ue,ue=null):ke=ue.sibling;var Zs=L(O,ue,Me.value,F);if(Zs===null){ue===null&&(ue=ke);break}t&&ue&&Zs.alternate===null&&s(O,ue),N=f(Zs,N,we),De===null?me=Zs:De.sibling=Zs,De=Zs,ue=ke}if(Me.done)return r(O,ue),Re&&us(O,we),me;if(ue===null){for(;!Me.done;we++,Me=B.next())Me=I(O,Me.value,F),Me!==null&&(N=f(Me,N,we),De===null?me=Me:De.sibling=Me,De=Me);return Re&&us(O,we),me}for(ue=o(ue);!Me.done;we++,Me=B.next())Me=H(ue,O,we,Me.value,F),Me!==null&&(t&&Me.alternate!==null&&ue.delete(Me.key===null?we:Me.key),N=f(Me,N,we),De===null?me=Me:De.sibling=Me,De=Me);return t&&ue.forEach(function(QS){return s(O,QS)}),Re&&us(O,we),me}function Fe(O,N,B,F){if(typeof B=="object"&&B!==null&&B.type===T&&B.key===null&&(B=B.props.children),typeof B=="object"&&B!==null){switch(B.$$typeof){case _:e:{for(var me=B.key;N!==null;){if(N.key===me){if(me=B.type,me===T){if(N.tag===7){r(O,N.sibling),F=h(N,B.props.children),F.return=O,O=F;break e}}else if(N.elementType===me||typeof me=="object"&&me!==null&&me.$$typeof===K&&Si(me)===N.type){r(O,N.sibling),F=h(N,B.props),gr(F,B),F.return=O,O=F;break e}r(O,N);break}else s(O,N);N=N.sibling}B.type===T?(F=bi(B.props.children,O.mode,F,B.key),F.return=O,O=F):(F=Fo(B.type,B.key,B.props,null,O.mode,F),gr(F,B),F.return=O,O=F)}return b(O);case S:e:{for(me=B.key;N!==null;){if(N.key===me)if(N.tag===4&&N.stateNode.containerInfo===B.containerInfo&&N.stateNode.implementation===B.implementation){r(O,N.sibling),F=h(N,B.children||[]),F.return=O,O=F;break e}else{r(O,N);break}else s(O,N);N=N.sibling}F=xu(B,O.mode,F),F.return=O,O=F}return b(O);case K:return B=Si(B),Fe(O,N,B,F)}if(_e(B))return re(O,N,B,F);if(ce(B)){if(me=ce(B),typeof me!="function")throw Error(a(150));return B=me.call(B),ye(O,N,B,F)}if(typeof B.then=="function")return Fe(O,N,Qo(B),F);if(B.$$typeof===j)return Fe(O,N,Ko(O,B),F);Zo(O,B)}return typeof B=="string"&&B!==""||typeof B=="number"||typeof B=="bigint"?(B=""+B,N!==null&&N.tag===6?(r(O,N.sibling),F=h(N,B),F.return=O,O=F):(r(O,N),F=vu(B,O.mode,F),F.return=O,O=F),b(O)):r(O,N)}return function(O,N,B,F){try{pr=0;var me=Fe(O,N,B,F);return ca=null,me}catch(ue){if(ue===la||ue===Xo)throw ue;var De=nn(29,ue,null,O.mode);return De.lanes=F,De.return=O,De}finally{}}}var Ei=op(!0),lp=op(!1),Bs=!1;function Ou(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Du(t,s){t=t.updateQueue,s.updateQueue===t&&(s.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Us(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function Ls(t,s,r){var o=t.updateQueue;if(o===null)return null;if(o=o.shared,(Ue&2)!==0){var h=o.pending;return h===null?s.next=s:(s.next=h.next,h.next=s),o.pending=s,s=qo(t),Im(t,null,r),s}return $o(t,o,s,r),qo(t)}function yr(t,s,r){if(s=s.updateQueue,s!==null&&(s=s.shared,(r&4194048)!==0)){var o=s.lanes;o&=t.pendingLanes,r|=o,s.lanes=r,ne(t,r)}}function Mu(t,s){var r=t.updateQueue,o=t.alternate;if(o!==null&&(o=o.updateQueue,r===o)){var h=null,f=null;if(r=r.firstBaseUpdate,r!==null){do{var b={lane:r.lane,tag:r.tag,payload:r.payload,callback:null,next:null};f===null?h=f=b:f=f.next=b,r=r.next}while(r!==null);f===null?h=f=s:f=f.next=s}else h=f=s;r={baseState:o.baseState,firstBaseUpdate:h,lastBaseUpdate:f,shared:o.shared,callbacks:o.callbacks},t.updateQueue=r;return}t=r.lastBaseUpdate,t===null?r.firstBaseUpdate=s:t.next=s,r.lastBaseUpdate=s}var Bu=!1;function br(){if(Bu){var t=oa;if(t!==null)throw t}}function vr(t,s,r,o){Bu=!1;var h=t.updateQueue;Bs=!1;var f=h.firstBaseUpdate,b=h.lastBaseUpdate,w=h.shared.pending;if(w!==null){h.shared.pending=null;var E=w,U=E.next;E.next=null,b===null?f=U:b.next=U,b=E;var $=t.alternate;$!==null&&($=$.updateQueue,w=$.lastBaseUpdate,w!==b&&(w===null?$.firstBaseUpdate=U:w.next=U,$.lastBaseUpdate=E))}if(f!==null){var I=h.baseState;b=0,$=U=E=null,w=f;do{var L=w.lane&-536870913,H=L!==w.lane;if(H?(Ne&L)===L:(o&L)===L){L!==0&&L===ra&&(Bu=!0),$!==null&&($=$.next={lane:0,tag:w.tag,payload:w.payload,callback:null,next:null});e:{var re=t,ye=w;L=s;var Fe=r;switch(ye.tag){case 1:if(re=ye.payload,typeof re=="function"){I=re.call(Fe,I,L);break e}I=re;break e;case 3:re.flags=re.flags&-65537|128;case 0:if(re=ye.payload,L=typeof re=="function"?re.call(Fe,I,L):re,L==null)break e;I=v({},I,L);break e;case 2:Bs=!0}}L=w.callback,L!==null&&(t.flags|=64,H&&(t.flags|=8192),H=h.callbacks,H===null?h.callbacks=[L]:H.push(L))}else H={lane:L,tag:w.tag,payload:w.payload,callback:w.callback,next:null},$===null?(U=$=H,E=I):$=$.next=H,b|=L;if(w=w.next,w===null){if(w=h.shared.pending,w===null)break;H=w,w=H.next,H.next=null,h.lastBaseUpdate=H,h.shared.pending=null}}while(!0);$===null&&(E=I),h.baseState=E,h.firstBaseUpdate=U,h.lastBaseUpdate=$,f===null&&(h.shared.lanes=0),$s|=b,t.lanes=b,t.memoizedState=I}}function cp(t,s){if(typeof t!="function")throw Error(a(191,t));t.call(s)}function up(t,s){var r=t.callbacks;if(r!==null)for(t.callbacks=null,t=0;tf?f:8;var b=P.T,w={};P.T=w,eh(t,!1,s,r);try{var E=h(),U=P.S;if(U!==null&&U(w,E),E!==null&&typeof E=="object"&&typeof E.then=="function"){var $=V_(E,o);_r(t,s,$,ln(t))}else _r(t,s,o,ln(t))}catch(I){_r(t,s,{then:function(){},status:"rejected",reason:I},ln())}finally{Y.p=f,b!==null&&w.types!==null&&(b.types=w.types),P.T=b}}function G_(){}function Zu(t,s,r,o){if(t.tag!==5)throw Error(a(476));var h=$p(t).queue;Hp(t,h,s,ee,r===null?G_:function(){return qp(t),r(o)})}function $p(t){var s=t.memoizedState;if(s!==null)return s;s={memoizedState:ee,baseState:ee,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ms,lastRenderedState:ee},next:null};var r={};return s.next={memoizedState:r,baseState:r,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ms,lastRenderedState:r},next:null},t.memoizedState=s,t=t.alternate,t!==null&&(t.memoizedState=s),s}function qp(t){var s=$p(t);s.next===null&&(s=t.alternate.memoizedState),_r(t,s.next.queue,{},ln())}function Wu(){return Rt(Pr)}function Fp(){return ut().memoizedState}function Ip(){return ut().memoizedState}function K_(t){for(var s=t.return;s!==null;){switch(s.tag){case 24:case 3:var r=ln();t=Us(r);var o=Ls(s,t,r);o!==null&&(Zt(o,s,r),yr(o,s,r)),s={cache:Nu()},t.payload=s;return}s=s.return}}function Y_(t,s,r){var o=ln();r={lane:o,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},ll(t)?Kp(s,r):(r=yu(t,s,r,o),r!==null&&(Zt(r,t,o),Yp(r,s,o)))}function Gp(t,s,r){var o=ln();_r(t,s,r,o)}function _r(t,s,r,o){var h={lane:o,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null};if(ll(t))Kp(s,h);else{var f=t.alternate;if(t.lanes===0&&(f===null||f.lanes===0)&&(f=s.lastRenderedReducer,f!==null))try{var b=s.lastRenderedState,w=f(b,r);if(h.hasEagerState=!0,h.eagerState=w,tn(w,b))return $o(t,s,h,0),Ke===null&&Ho(),!1}catch{}finally{}if(r=yu(t,s,h,o),r!==null)return Zt(r,t,o),Yp(r,s,o),!0}return!1}function eh(t,s,r,o){if(o={lane:2,revertLane:Oh(),gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null},ll(t)){if(s)throw Error(a(479))}else s=yu(t,r,o,2),s!==null&&Zt(s,t,2)}function ll(t){var s=t.alternate;return t===ve||s!==null&&s===ve}function Kp(t,s){ha=tl=!0;var r=t.pending;r===null?s.next=s:(s.next=r.next,r.next=s),t.pending=s}function Yp(t,s,r){if((r&4194048)!==0){var o=s.lanes;o&=t.pendingLanes,r|=o,s.lanes=r,ne(t,r)}}var Sr={readContext:Rt,use:il,useCallback:it,useContext:it,useEffect:it,useImperativeHandle:it,useLayoutEffect:it,useInsertionEffect:it,useMemo:it,useReducer:it,useRef:it,useState:it,useDebugValue:it,useDeferredValue:it,useTransition:it,useSyncExternalStore:it,useId:it,useHostTransitionStatus:it,useFormState:it,useActionState:it,useOptimistic:it,useMemoCache:it,useCacheRefresh:it};Sr.useEffectEvent=it;var Xp={readContext:Rt,use:il,useCallback:function(t,s){return Ht().memoizedState=[t,s===void 0?null:s],t},useContext:Rt,useEffect:Op,useImperativeHandle:function(t,s,r){r=r!=null?r.concat([t]):null,rl(4194308,4,Up.bind(null,s,t),r)},useLayoutEffect:function(t,s){return rl(4194308,4,t,s)},useInsertionEffect:function(t,s){rl(4,2,t,s)},useMemo:function(t,s){var r=Ht();s=s===void 0?null:s;var o=t();if(Ai){In(!0);try{t()}finally{In(!1)}}return r.memoizedState=[o,s],o},useReducer:function(t,s,r){var o=Ht();if(r!==void 0){var h=r(s);if(Ai){In(!0);try{r(s)}finally{In(!1)}}}else h=s;return o.memoizedState=o.baseState=h,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:h},o.queue=t,t=t.dispatch=Y_.bind(null,ve,t),[o.memoizedState,t]},useRef:function(t){var s=Ht();return t={current:t},s.memoizedState=t},useState:function(t){t=Ku(t);var s=t.queue,r=Gp.bind(null,ve,s);return s.dispatch=r,[t.memoizedState,r]},useDebugValue:Ju,useDeferredValue:function(t,s){var r=Ht();return Qu(r,t,s)},useTransition:function(){var t=Ku(!1);return t=Hp.bind(null,ve,t.queue,!0,!1),Ht().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,s,r){var o=ve,h=Ht();if(Re){if(r===void 0)throw Error(a(407));r=r()}else{if(r=s(),Ke===null)throw Error(a(349));(Ne&127)!==0||gp(o,s,r)}h.memoizedState=r;var f={value:r,getSnapshot:s};return h.queue=f,Op(bp.bind(null,o,f,t),[t]),o.flags|=2048,fa(9,{destroy:void 0},yp.bind(null,o,f,r,s),null),r},useId:function(){var t=Ht(),s=Ke.identifierPrefix;if(Re){var r=Kn,o=Gn;r=(o&~(1<<32-Vt(o)-1)).toString(32)+r,s="_"+s+"R_"+r,r=nl++,0<\/script>",f=f.removeChild(f.firstChild);break;case"select":f=typeof o.is=="string"?b.createElement("select",{is:o.is}):b.createElement("select"),o.multiple?f.multiple=!0:o.size&&(f.size=o.size);break;default:f=typeof o.is=="string"?b.createElement(h,{is:o.is}):b.createElement(h)}}f[Te]=s,f[_t]=o;e:for(b=s.child;b!==null;){if(b.tag===5||b.tag===6)f.appendChild(b.stateNode);else if(b.tag!==4&&b.tag!==27&&b.child!==null){b.child.return=b,b=b.child;continue}if(b===s)break e;for(;b.sibling===null;){if(b.return===null||b.return===s)break e;b=b.return}b.sibling.return=b.return,b=b.sibling}s.stateNode=f;e:switch(Dt(f,h,o),h){case"button":case"input":case"select":case"textarea":o=!!o.autoFocus;break e;case"img":o=!0;break e;default:o=!1}o&&gs(s)}}return et(s),mh(s,s.type,t===null?null:t.memoizedProps,s.pendingProps,r),null;case 6:if(t&&s.stateNode!=null)t.memoizedProps!==o&&gs(s);else{if(typeof o!="string"&&s.stateNode===null)throw Error(a(166));if(t=de.current,ia(s)){if(t=s.stateNode,r=s.memoizedProps,o=null,h=Ct,h!==null)switch(h.tag){case 27:case 5:o=h.memoizedProps}t[Te]=s,t=!!(t.nodeValue===r||o!==null&&o.suppressHydrationWarning===!0||my(t.nodeValue,r)),t||Ds(s,!0)}else t=Nl(t).createTextNode(o),t[Te]=s,s.stateNode=t}return et(s),null;case 31:if(r=s.memoizedState,t===null||t.memoizedState!==null){if(o=ia(s),r!==null){if(t===null){if(!o)throw Error(a(318));if(t=s.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(a(557));t[Te]=s}else vi(),(s.flags&128)===0&&(s.memoizedState=null),s.flags|=4;et(s),t=!1}else r=Tu(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=r),t=!0;if(!t)return s.flags&256?(an(s),s):(an(s),null);if((s.flags&128)!==0)throw Error(a(558))}return et(s),null;case 13:if(o=s.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(h=ia(s),o!==null&&o.dehydrated!==null){if(t===null){if(!h)throw Error(a(318));if(h=s.memoizedState,h=h!==null?h.dehydrated:null,!h)throw Error(a(317));h[Te]=s}else vi(),(s.flags&128)===0&&(s.memoizedState=null),s.flags|=4;et(s),h=!1}else h=Tu(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=h),h=!0;if(!h)return s.flags&256?(an(s),s):(an(s),null)}return an(s),(s.flags&128)!==0?(s.lanes=r,s):(r=o!==null,t=t!==null&&t.memoizedState!==null,r&&(o=s.child,h=null,o.alternate!==null&&o.alternate.memoizedState!==null&&o.alternate.memoizedState.cachePool!==null&&(h=o.alternate.memoizedState.cachePool.pool),f=null,o.memoizedState!==null&&o.memoizedState.cachePool!==null&&(f=o.memoizedState.cachePool.pool),f!==h&&(o.flags|=2048)),r!==t&&r&&(s.child.flags|=8192),fl(s,s.updateQueue),et(s),null);case 4:return Ie(),t===null&&Uh(s.stateNode.containerInfo),et(s),null;case 10:return ds(s.type),et(s),null;case 19:if(z(ct),o=s.memoizedState,o===null)return et(s),null;if(h=(s.flags&128)!==0,f=o.rendering,f===null)if(h)Er(o,!1);else{if(at!==0||t!==null&&(t.flags&128)!==0)for(t=s.child;t!==null;){if(f=el(t),f!==null){for(s.flags|=128,Er(o,!1),t=f.updateQueue,s.updateQueue=t,fl(s,t),s.subtreeFlags=0,t=r,r=s.child;r!==null;)Gm(r,t),r=r.sibling;return Z(ct,ct.current&1|2),Re&&us(s,o.treeForkCount),s.child}t=t.sibling}o.tail!==null&&dt()>bl&&(s.flags|=128,h=!0,Er(o,!1),s.lanes=4194304)}else{if(!h)if(t=el(f),t!==null){if(s.flags|=128,h=!0,t=t.updateQueue,s.updateQueue=t,fl(s,t),Er(o,!0),o.tail===null&&o.tailMode==="hidden"&&!f.alternate&&!Re)return et(s),null}else 2*dt()-o.renderingStartTime>bl&&r!==536870912&&(s.flags|=128,h=!0,Er(o,!1),s.lanes=4194304);o.isBackwards?(f.sibling=s.child,s.child=f):(t=o.last,t!==null?t.sibling=f:s.child=f,o.last=f)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=dt(),t.sibling=null,r=ct.current,Z(ct,h?r&1|2:r&1),Re&&us(s,o.treeForkCount),t):(et(s),null);case 22:case 23:return an(s),Lu(),o=s.memoizedState!==null,t!==null?t.memoizedState!==null!==o&&(s.flags|=8192):o&&(s.flags|=8192),o?(r&536870912)!==0&&(s.flags&128)===0&&(et(s),s.subtreeFlags&6&&(s.flags|=8192)):et(s),r=s.updateQueue,r!==null&&fl(s,r.retryQueue),r=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),o=null,s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(o=s.memoizedState.cachePool.pool),o!==r&&(s.flags|=2048),t!==null&&z(_i),null;case 24:return r=null,t!==null&&(r=t.memoizedState.cache),s.memoizedState.cache!==r&&(s.flags|=2048),ds(ft),et(s),null;case 25:return null;case 30:return null}throw Error(a(156,s.tag))}function W_(t,s){switch(_u(s),s.tag){case 1:return t=s.flags,t&65536?(s.flags=t&-65537|128,s):null;case 3:return ds(ft),Ie(),t=s.flags,(t&65536)!==0&&(t&128)===0?(s.flags=t&-65537|128,s):null;case 26:case 27:case 5:return vt(s),null;case 31:if(s.memoizedState!==null){if(an(s),s.alternate===null)throw Error(a(340));vi()}return t=s.flags,t&65536?(s.flags=t&-65537|128,s):null;case 13:if(an(s),t=s.memoizedState,t!==null&&t.dehydrated!==null){if(s.alternate===null)throw Error(a(340));vi()}return t=s.flags,t&65536?(s.flags=t&-65537|128,s):null;case 19:return z(ct),null;case 4:return Ie(),null;case 10:return ds(s.type),null;case 22:case 23:return an(s),Lu(),t!==null&&z(_i),t=s.flags,t&65536?(s.flags=t&-65537|128,s):null;case 24:return ds(ft),null;case 25:return null;default:return null}}function vg(t,s){switch(_u(s),s.tag){case 3:ds(ft),Ie();break;case 26:case 27:case 5:vt(s);break;case 4:Ie();break;case 31:s.memoizedState!==null&&an(s);break;case 13:an(s);break;case 19:z(ct);break;case 10:ds(s.type);break;case 22:case 23:an(s),Lu(),t!==null&&z(_i);break;case 24:ds(ft)}}function Ar(t,s){try{var r=s.updateQueue,o=r!==null?r.lastEffect:null;if(o!==null){var h=o.next;r=h;do{if((r.tag&t)===t){o=void 0;var f=r.create,b=r.inst;o=f(),b.destroy=o}r=r.next}while(r!==h)}}catch(w){He(s,s.return,w)}}function Vs(t,s,r){try{var o=s.updateQueue,h=o!==null?o.lastEffect:null;if(h!==null){var f=h.next;o=f;do{if((o.tag&t)===t){var b=o.inst,w=b.destroy;if(w!==void 0){b.destroy=void 0,h=s;var E=r,U=w;try{U()}catch($){He(h,E,$)}}}o=o.next}while(o!==f)}}catch($){He(s,s.return,$)}}function xg(t){var s=t.updateQueue;if(s!==null){var r=t.stateNode;try{up(s,r)}catch(o){He(t,t.return,o)}}}function wg(t,s,r){r.props=ji(t.type,t.memoizedProps),r.state=t.memoizedState;try{r.componentWillUnmount()}catch(o){He(t,s,o)}}function jr(t,s){try{var r=t.ref;if(r!==null){switch(t.tag){case 26:case 27:case 5:var o=t.stateNode;break;case 30:o=t.stateNode;break;default:o=t.stateNode}typeof r=="function"?t.refCleanup=r(o):r.current=o}}catch(h){He(t,s,h)}}function Yn(t,s){var r=t.ref,o=t.refCleanup;if(r!==null)if(typeof o=="function")try{o()}catch(h){He(t,s,h)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof r=="function")try{r(null)}catch(h){He(t,s,h)}else r.current=null}function _g(t){var s=t.type,r=t.memoizedProps,o=t.stateNode;try{e:switch(s){case"button":case"input":case"select":case"textarea":r.autoFocus&&o.focus();break e;case"img":r.src?o.src=r.src:r.srcSet&&(o.srcset=r.srcSet)}}catch(h){He(t,t.return,h)}}function ph(t,s,r){try{var o=t.stateNode;wS(o,t.type,r,s),o[_t]=s}catch(h){He(t,t.return,h)}}function Sg(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&Ks(t.type)||t.tag===4}function gh(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||Sg(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&Ks(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function yh(t,s,r){var o=t.tag;if(o===5||o===6)t=t.stateNode,s?(r.nodeType===9?r.body:r.nodeName==="HTML"?r.ownerDocument.body:r).insertBefore(t,s):(s=r.nodeType===9?r.body:r.nodeName==="HTML"?r.ownerDocument.body:r,s.appendChild(t),r=r._reactRootContainer,r!=null||s.onclick!==null||(s.onclick=os));else if(o!==4&&(o===27&&Ks(t.type)&&(r=t.stateNode,s=null),t=t.child,t!==null))for(yh(t,s,r),t=t.sibling;t!==null;)yh(t,s,r),t=t.sibling}function ml(t,s,r){var o=t.tag;if(o===5||o===6)t=t.stateNode,s?r.insertBefore(t,s):r.appendChild(t);else if(o!==4&&(o===27&&Ks(t.type)&&(r=t.stateNode),t=t.child,t!==null))for(ml(t,s,r),t=t.sibling;t!==null;)ml(t,s,r),t=t.sibling}function Tg(t){var s=t.stateNode,r=t.memoizedProps;try{for(var o=t.type,h=s.attributes;h.length;)s.removeAttributeNode(h[0]);Dt(s,o,r),s[Te]=t,s[_t]=r}catch(f){He(t,t.return,f)}}var ys=!1,gt=!1,bh=!1,Eg=typeof WeakSet=="function"?WeakSet:Set,Nt=null;function eS(t,s){if(t=t.containerInfo,Ph=Bl,t=Lm(t),hu(t)){if("selectionStart"in t)var r={start:t.selectionStart,end:t.selectionEnd};else e:{r=(r=t.ownerDocument)&&r.defaultView||window;var o=r.getSelection&&r.getSelection();if(o&&o.rangeCount!==0){r=o.anchorNode;var h=o.anchorOffset,f=o.focusNode;o=o.focusOffset;try{r.nodeType,f.nodeType}catch{r=null;break e}var b=0,w=-1,E=-1,U=0,$=0,I=t,L=null;t:for(;;){for(var H;I!==r||h!==0&&I.nodeType!==3||(w=b+h),I!==f||o!==0&&I.nodeType!==3||(E=b+o),I.nodeType===3&&(b+=I.nodeValue.length),(H=I.firstChild)!==null;)L=I,I=H;for(;;){if(I===t)break t;if(L===r&&++U===h&&(w=b),L===f&&++$===o&&(E=b),(H=I.nextSibling)!==null)break;I=L,L=I.parentNode}I=H}r=w===-1||E===-1?null:{start:w,end:E}}else r=null}r=r||{start:0,end:0}}else r=null;for(Vh={focusedElem:t,selectionRange:r},Bl=!1,Nt=s;Nt!==null;)if(s=Nt,t=s.child,(s.subtreeFlags&1028)!==0&&t!==null)t.return=s,Nt=t;else for(;Nt!==null;){switch(s=Nt,f=s.alternate,t=s.flags,s.tag){case 0:if((t&4)!==0&&(t=s.updateQueue,t=t!==null?t.events:null,t!==null))for(r=0;r title"))),Dt(f,o,r),f[Te]=t,jt(f),o=f;break e;case"link":var b=Ry("link","href",h).get(o+(r.href||""));if(b){for(var w=0;wFe&&(b=Fe,Fe=ye,ye=b);var O=Bm(w,ye),N=Bm(w,Fe);if(O&&N&&(H.rangeCount!==1||H.anchorNode!==O.node||H.anchorOffset!==O.offset||H.focusNode!==N.node||H.focusOffset!==N.offset)){var B=I.createRange();B.setStart(O.node,O.offset),H.removeAllRanges(),ye>Fe?(H.addRange(B),H.extend(N.node,N.offset)):(B.setEnd(N.node,N.offset),H.addRange(B))}}}}for(I=[],H=w;H=H.parentNode;)H.nodeType===1&&I.push({element:H,left:H.scrollLeft,top:H.scrollTop});for(typeof w.focus=="function"&&w.focus(),w=0;wr?32:r,P.T=null,r=Eh,Eh=null;var f=Fs,b=_s;if(St=0,ba=Fs=null,_s=0,(Ue&6)!==0)throw Error(a(331));var w=Ue;if(Ue|=4,Ug(f.current),Dg(f,f.current,b,r),Ue=w,Dr(0,!1),Ut&&typeof Ut.onPostCommitFiberRoot=="function")try{Ut.onPostCommitFiberRoot(kn,f)}catch{}return!0}finally{Y.p=h,P.T=o,ey(t,s)}}function ny(t,s,r){s=bn(r,s),s=ih(t.stateNode,s,2),t=Ls(t,s,2),t!==null&&(di(t,2),Xn(t))}function He(t,s,r){if(t.tag===3)ny(t,t,r);else for(;s!==null;){if(s.tag===3){ny(s,t,r);break}else if(s.tag===1){var o=s.stateNode;if(typeof s.type.getDerivedStateFromError=="function"||typeof o.componentDidCatch=="function"&&(qs===null||!qs.has(o))){t=bn(r,t),r=sg(2),o=Ls(s,r,2),o!==null&&(ig(r,o,s,t),di(o,2),Xn(o));break}}s=s.return}}function kh(t,s,r){var o=t.pingCache;if(o===null){o=t.pingCache=new sS;var h=new Set;o.set(s,h)}else h=o.get(s),h===void 0&&(h=new Set,o.set(s,h));h.has(r)||(wh=!0,h.add(r),t=lS.bind(null,t,s,r),s.then(t,t))}function lS(t,s,r){var o=t.pingCache;o!==null&&o.delete(s),t.pingedLanes|=t.suspendedLanes&r,t.warmLanes&=~r,Ke===t&&(Ne&r)===r&&(at===4||at===3&&(Ne&62914560)===Ne&&300>dt()-yl?(Ue&2)===0&&va(t,0):_h|=r,ya===Ne&&(ya=0)),Xn(t)}function sy(t,s){s===0&&(s=ko()),t=yi(t,s),t!==null&&(di(t,s),Xn(t))}function cS(t){var s=t.memoizedState,r=0;s!==null&&(r=s.retryLane),sy(t,r)}function uS(t,s){var r=0;switch(t.tag){case 31:case 13:var o=t.stateNode,h=t.memoizedState;h!==null&&(r=h.retryLane);break;case 19:o=t.stateNode;break;case 22:o=t.stateNode._retryCache;break;default:throw Error(a(314))}o!==null&&o.delete(s),sy(t,r)}function hS(t,s){return It(t,s)}var Tl=null,wa=null,Ch=!1,El=!1,Rh=!1,Gs=0;function Xn(t){t!==wa&&t.next===null&&(wa===null?Tl=wa=t:wa=wa.next=t),El=!0,Ch||(Ch=!0,fS())}function Dr(t,s){if(!Rh&&El){Rh=!0;do for(var r=!1,o=Tl;o!==null;){if(t!==0){var h=o.pendingLanes;if(h===0)var f=0;else{var b=o.suspendedLanes,w=o.pingedLanes;f=(1<<31-Vt(42|t)+1)-1,f&=h&~(b&~w),f=f&201326741?f&201326741|1:f?f|2:0}f!==0&&(r=!0,oy(o,f))}else f=Ne,f=ui(o,o===Ke?f:0,o.cancelPendingCommit!==null||o.timeoutHandle!==-1),(f&3)===0||hi(o,f)||(r=!0,oy(o,f));o=o.next}while(r);Rh=!1}}function dS(){iy()}function iy(){El=Ch=!1;var t=0;Gs!==0&&SS()&&(t=Gs);for(var s=dt(),r=null,o=Tl;o!==null;){var h=o.next,f=ay(o,s);f===0?(o.next=null,r===null?Tl=h:r.next=h,h===null&&(wa=r)):(r=o,(t!==0||(f&3)!==0)&&(El=!0)),o=h}St!==0&&St!==5||Dr(t),Gs!==0&&(Gs=0)}function ay(t,s){for(var r=t.suspendedLanes,o=t.pingedLanes,h=t.expirationTimes,f=t.pendingLanes&-62914561;0w)break;var $=E.transferSize,I=E.initiatorType;$&&py(I)&&(E=E.responseEnd,b+=$*(E"u"?null:document;function jy(t,s,r){var o=_a;if(o&&typeof s=="string"&&s){var h=gn(s);h='link[rel="'+t+'"][href="'+h+'"]',typeof r=="string"&&(h+='[crossorigin="'+r+'"]'),Ay.has(h)||(Ay.add(h),t={rel:t,crossOrigin:r,href:s},o.querySelector(h)===null&&(s=o.createElement("link"),Dt(s,"link",t),jt(s),o.head.appendChild(s)))}}function OS(t){Ss.D(t),jy("dns-prefetch",t,null)}function DS(t,s){Ss.C(t,s),jy("preconnect",t,s)}function MS(t,s,r){Ss.L(t,s,r);var o=_a;if(o&&t&&s){var h='link[rel="preload"][as="'+gn(s)+'"]';s==="image"&&r&&r.imageSrcSet?(h+='[imagesrcset="'+gn(r.imageSrcSet)+'"]',typeof r.imageSizes=="string"&&(h+='[imagesizes="'+gn(r.imageSizes)+'"]')):h+='[href="'+gn(t)+'"]';var f=h;switch(s){case"style":f=Sa(t);break;case"script":f=Ta(t)}Tn.has(f)||(t=v({rel:"preload",href:s==="image"&&r&&r.imageSrcSet?void 0:t,as:s},r),Tn.set(f,t),o.querySelector(h)!==null||s==="style"&&o.querySelector(Lr(f))||s==="script"&&o.querySelector(zr(f))||(s=o.createElement("link"),Dt(s,"link",t),jt(s),o.head.appendChild(s)))}}function BS(t,s){Ss.m(t,s);var r=_a;if(r&&t){var o=s&&typeof s.as=="string"?s.as:"script",h='link[rel="modulepreload"][as="'+gn(o)+'"][href="'+gn(t)+'"]',f=h;switch(o){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":f=Ta(t)}if(!Tn.has(f)&&(t=v({rel:"modulepreload",href:t},s),Tn.set(f,t),r.querySelector(h)===null)){switch(o){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(r.querySelector(zr(f)))return}o=r.createElement("link"),Dt(o,"link",t),jt(o),r.head.appendChild(o)}}}function US(t,s,r){Ss.S(t,s,r);var o=_a;if(o&&t){var h=Ii(o).hoistableStyles,f=Sa(t);s=s||"default";var b=h.get(f);if(!b){var w={loading:0,preload:null};if(b=o.querySelector(Lr(f)))w.loading=5;else{t=v({rel:"stylesheet",href:t,"data-precedence":s},r),(r=Tn.get(f))&&Kh(t,r);var E=b=o.createElement("link");jt(E),Dt(E,"link",t),E._p=new Promise(function(U,$){E.onload=U,E.onerror=$}),E.addEventListener("load",function(){w.loading|=1}),E.addEventListener("error",function(){w.loading|=2}),w.loading|=4,Cl(b,s,o)}b={type:"stylesheet",instance:b,count:1,state:w},h.set(f,b)}}}function LS(t,s){Ss.X(t,s);var r=_a;if(r&&t){var o=Ii(r).hoistableScripts,h=Ta(t),f=o.get(h);f||(f=r.querySelector(zr(h)),f||(t=v({src:t,async:!0},s),(s=Tn.get(h))&&Yh(t,s),f=r.createElement("script"),jt(f),Dt(f,"link",t),r.head.appendChild(f)),f={type:"script",instance:f,count:1,state:null},o.set(h,f))}}function zS(t,s){Ss.M(t,s);var r=_a;if(r&&t){var o=Ii(r).hoistableScripts,h=Ta(t),f=o.get(h);f||(f=r.querySelector(zr(h)),f||(t=v({src:t,async:!0,type:"module"},s),(s=Tn.get(h))&&Yh(t,s),f=r.createElement("script"),jt(f),Dt(f,"link",t),r.head.appendChild(f)),f={type:"script",instance:f,count:1,state:null},o.set(h,f))}}function Ny(t,s,r,o){var h=(h=de.current)?kl(h):null;if(!h)throw Error(a(446));switch(t){case"meta":case"title":return null;case"style":return typeof r.precedence=="string"&&typeof r.href=="string"?(s=Sa(r.href),r=Ii(h).hoistableStyles,o=r.get(s),o||(o={type:"style",instance:null,count:0,state:null},r.set(s,o)),o):{type:"void",instance:null,count:0,state:null};case"link":if(r.rel==="stylesheet"&&typeof r.href=="string"&&typeof r.precedence=="string"){t=Sa(r.href);var f=Ii(h).hoistableStyles,b=f.get(t);if(b||(h=h.ownerDocument||h,b={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},f.set(t,b),(f=h.querySelector(Lr(t)))&&!f._p&&(b.instance=f,b.state.loading=5),Tn.has(t)||(r={rel:"preload",as:"style",href:r.href,crossOrigin:r.crossOrigin,integrity:r.integrity,media:r.media,hrefLang:r.hrefLang,referrerPolicy:r.referrerPolicy},Tn.set(t,r),f||PS(h,t,r,b.state))),s&&o===null)throw Error(a(528,""));return b}if(s&&o!==null)throw Error(a(529,""));return null;case"script":return s=r.async,r=r.src,typeof r=="string"&&s&&typeof s!="function"&&typeof s!="symbol"?(s=Ta(r),r=Ii(h).hoistableScripts,o=r.get(s),o||(o={type:"script",instance:null,count:0,state:null},r.set(s,o)),o):{type:"void",instance:null,count:0,state:null};default:throw Error(a(444,t))}}function Sa(t){return'href="'+gn(t)+'"'}function Lr(t){return'link[rel="stylesheet"]['+t+"]"}function ky(t){return v({},t,{"data-precedence":t.precedence,precedence:null})}function PS(t,s,r,o){t.querySelector('link[rel="preload"][as="style"]['+s+"]")?o.loading=1:(s=t.createElement("link"),o.preload=s,s.addEventListener("load",function(){return o.loading|=1}),s.addEventListener("error",function(){return o.loading|=2}),Dt(s,"link",r),jt(s),t.head.appendChild(s))}function Ta(t){return'[src="'+gn(t)+'"]'}function zr(t){return"script[async]"+t}function Cy(t,s,r){if(s.count++,s.instance===null)switch(s.type){case"style":var o=t.querySelector('style[data-href~="'+gn(r.href)+'"]');if(o)return s.instance=o,jt(o),o;var h=v({},r,{"data-href":r.href,"data-precedence":r.precedence,href:null,precedence:null});return o=(t.ownerDocument||t).createElement("style"),jt(o),Dt(o,"style",h),Cl(o,r.precedence,t),s.instance=o;case"stylesheet":h=Sa(r.href);var f=t.querySelector(Lr(h));if(f)return s.state.loading|=4,s.instance=f,jt(f),f;o=ky(r),(h=Tn.get(h))&&Kh(o,h),f=(t.ownerDocument||t).createElement("link"),jt(f);var b=f;return b._p=new Promise(function(w,E){b.onload=w,b.onerror=E}),Dt(f,"link",o),s.state.loading|=4,Cl(f,r.precedence,t),s.instance=f;case"script":return f=Ta(r.src),(h=t.querySelector(zr(f)))?(s.instance=h,jt(h),h):(o=r,(h=Tn.get(f))&&(o=v({},r),Yh(o,h)),t=t.ownerDocument||t,h=t.createElement("script"),jt(h),Dt(h,"link",o),t.head.appendChild(h),s.instance=h);case"void":return null;default:throw Error(a(443,s.type))}else s.type==="stylesheet"&&(s.state.loading&4)===0&&(o=s.instance,s.state.loading|=4,Cl(o,r.precedence,t));return s.instance}function Cl(t,s,r){for(var o=r.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),h=o.length?o[o.length-1]:null,f=h,b=0;b title"):null)}function VS(t,s,r){if(r===1||s.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof s.precedence!="string"||typeof s.href!="string"||s.href==="")break;return!0;case"link":if(typeof s.rel!="string"||typeof s.href!="string"||s.href===""||s.onLoad||s.onError)break;switch(s.rel){case"stylesheet":return t=s.disabled,typeof s.precedence=="string"&&t==null;default:return!0}case"script":if(s.async&&typeof s.async!="function"&&typeof s.async!="symbol"&&!s.onLoad&&!s.onError&&s.src&&typeof s.src=="string")return!0}return!1}function Dy(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function HS(t,s,r,o){if(r.type==="stylesheet"&&(typeof o.media!="string"||matchMedia(o.media).matches!==!1)&&(r.state.loading&4)===0){if(r.instance===null){var h=Sa(o.href),f=s.querySelector(Lr(h));if(f){s=f._p,s!==null&&typeof s=="object"&&typeof s.then=="function"&&(t.count++,t=Ol.bind(t),s.then(t,t)),r.state.loading|=4,r.instance=f,jt(f);return}f=s.ownerDocument||s,o=ky(o),(h=Tn.get(h))&&Kh(o,h),f=f.createElement("link"),jt(f);var b=f;b._p=new Promise(function(w,E){b.onload=w,b.onerror=E}),Dt(f,"link",o),r.instance=f}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(r,s),(s=r.state.preload)&&(r.state.loading&3)===0&&(t.count++,r=Ol.bind(t),s.addEventListener("load",r),s.addEventListener("error",r))}}var Xh=0;function $S(t,s){return t.stylesheets&&t.count===0&&Ml(t,t.stylesheets),0Xh?50:800)+s);return t.unsuspend=r,function(){t.unsuspend=null,clearTimeout(o),clearTimeout(h)}}:null}function Ol(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Ml(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Dl=null;function Ml(t,s){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Dl=new Map,s.forEach(qS,t),Dl=null,Ol.call(t))}function qS(t,s){if(!(s.state.loading&4)){var r=Dl.get(t);if(r)var o=r.get(null);else{r=new Map,Dl.set(t,r);for(var h=t.querySelectorAll("link[data-precedence],style[data-precedence]"),f=0;f"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}return n(),id.exports=a1(),id.exports}var o1=r1();const Tf=M.createContext({});function Ef(n){const e=M.useRef(null);return e.current===null&&(e.current=n()),e.current}const l1=typeof window<"u",Af=l1?M.useLayoutEffect:M.useEffect,Dc=M.createContext(null);function jf(n,e){n.indexOf(e)===-1&&n.push(e)}function fc(n,e){const i=n.indexOf(e);i>-1&&n.splice(i,1)}const ns=(n,e,i)=>i>e?e:i{};const ii={},Ev=n=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(n),Av=n=>typeof n=="object"&&n!==null,jv=n=>/^0[^.\s]+$/u.test(n);function Nv(n){let e;return()=>(e===void 0&&(e=n()),e)}const jn=n=>n,To=(...n)=>n.reduce((e,i)=>a=>i(e(a))),lo=(n,e,i)=>{const a=e-n;return a?(i-n)/a:1};class kf{constructor(){this.subscriptions=[]}add(e){return jf(this.subscriptions,e),()=>fc(this.subscriptions,e)}notify(e,i,a){const l=this.subscriptions.length;if(l)if(l===1)this.subscriptions[0](e,i,a);else for(let c=0;cn*1e3,An=n=>n/1e3,kv=(n,e)=>e?n*(1e3/e):0,Cv=(n,e,i)=>(((1-3*i+3*e)*n+(3*i-6*e))*n+3*e)*n,c1=1e-7,u1=12;function h1(n,e,i,a,l){let c,u,d=0;do u=e+(i-e)/2,c=Cv(u,a,l)-n,c>0?i=u:e=u;while(Math.abs(c)>c1&&++dh1(c,0,1,n,i);return c=>c===0||c===1?c:Cv(l(c),e,a)}const Rv=n=>e=>e<=.5?n(2*e)/2:(2-n(2*(1-e)))/2,Ov=n=>e=>1-n(1-e),Dv=Eo(.33,1.53,.69,.99),Cf=Ov(Dv),Mv=Rv(Cf),Bv=n=>n>=1?1:(n*=2)<1?.5*Cf(n):.5*(2-Math.pow(2,-10*(n-1))),Rf=n=>1-Math.sin(Math.acos(n)),Uv=Ov(Rf),Lv=Rv(Rf),d1=Eo(.42,0,1,1),f1=Eo(0,0,.58,1),zv=Eo(.42,0,.58,1),m1=n=>Array.isArray(n)&&typeof n[0]!="number",Pv=n=>Array.isArray(n)&&typeof n[0]=="number",p1={linear:jn,easeIn:d1,easeInOut:zv,easeOut:f1,circIn:Rf,circInOut:Lv,circOut:Uv,backIn:Cf,backInOut:Mv,backOut:Dv,anticipate:Bv},g1=n=>typeof n=="string",s0=n=>{if(Pv(n)){Nf(n.length===4);const[e,i,a,l]=n;return Eo(e,i,a,l)}else if(g1(n))return p1[n];return n},$l=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function y1(n){let e=new Set,i=new Set,a=!1,l=!1;const c=new WeakSet;let u={delta:0,timestamp:0,isProcessing:!1};function d(p){c.has(p)&&(m.schedule(p),n()),p(u)}const m={schedule:(p,y=!1,v=!1)=>{const _=v&&a?e:i;return y&&c.add(p),_.add(p),p},cancel:p=>{i.delete(p),c.delete(p)},process:p=>{if(u=p,a){l=!0;return}a=!0;const y=e;e=i,i=y,e.forEach(d),e.clear(),a=!1,l&&(l=!1,m.process(p))}};return m}const b1=40;function Vv(n,e){let i=!1,a=!0;const l={delta:0,timestamp:0,isProcessing:!1},c=()=>i=!0,u=$l.reduce((j,V)=>(j[V]=y1(c),j),{}),{setup:d,read:m,resolveKeyframes:p,preUpdate:y,update:v,preRender:x,render:_,postRender:S}=u,T=()=>{const j=ii.useManualTiming,V=j?l.timestamp:performance.now();i=!1,j||(l.delta=a?1e3/60:Math.max(Math.min(V-l.timestamp,b1),1)),l.timestamp=V,l.isProcessing=!0,d.process(l),m.process(l),p.process(l),y.process(l),v.process(l),x.process(l),_.process(l),S.process(l),l.isProcessing=!1,i&&e&&(a=!1,n(T))},k=()=>{i=!0,a=!0,l.isProcessing||n(T)};return{schedule:$l.reduce((j,V)=>{const G=u[V];return j[V]=(J,q=!1,K=!1)=>(i||k(),G.schedule(J,q,K)),j},{}),cancel:j=>{for(let V=0;V<$l.length;V++)u[$l[V]].cancel(j)},state:l,steps:u}}const{schedule:Xe,cancel:ai,state:Mt,steps:ld}=Vv(typeof requestAnimationFrame<"u"?requestAnimationFrame:jn,!0);let ic;function v1(){ic=void 0}const $t={now:()=>(ic===void 0&&$t.set(Mt.isProcessing||ii.useManualTiming?Mt.timestamp:performance.now()),ic),set:n=>{ic=n,queueMicrotask(v1)}},Hv=n=>e=>typeof e=="string"&&e.startsWith(n),$v=Hv("--"),x1=Hv("var(--"),Of=n=>x1(n)?w1.test(n.split("/*")[0].trim()):!1,w1=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function i0(n){return typeof n!="string"?!1:n.split("/*")[0].includes("var(--")}const Xa={test:n=>typeof n=="number",parse:parseFloat,transform:n=>n},co={...Xa,transform:n=>ns(0,1,n)},ql={...Xa,default:1},eo=n=>Math.round(n*1e5)/1e5,Df=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function _1(n){return n==null}const S1=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,Mf=(n,e)=>i=>!!(typeof i=="string"&&S1.test(i)&&i.startsWith(n)||e&&!_1(i)&&Object.prototype.hasOwnProperty.call(i,e)),qv=(n,e,i)=>a=>{if(typeof a!="string")return a;const[l,c,u,d]=a.match(Df);return{[n]:parseFloat(l),[e]:parseFloat(c),[i]:parseFloat(u),alpha:d!==void 0?parseFloat(d):1}},T1=n=>ns(0,255,n),cd={...Xa,transform:n=>Math.round(T1(n))},Bi={test:Mf("rgb","red"),parse:qv("red","green","blue"),transform:({red:n,green:e,blue:i,alpha:a=1})=>"rgba("+cd.transform(n)+", "+cd.transform(e)+", "+cd.transform(i)+", "+eo(co.transform(a))+")"};function E1(n){let e="",i="",a="",l="";return n.length>5?(e=n.substring(1,3),i=n.substring(3,5),a=n.substring(5,7),l=n.substring(7,9)):(e=n.substring(1,2),i=n.substring(2,3),a=n.substring(3,4),l=n.substring(4,5),e+=e,i+=i,a+=a,l+=l),{red:parseInt(e,16),green:parseInt(i,16),blue:parseInt(a,16),alpha:l?parseInt(l,16)/255:1}}const Ud={test:Mf("#"),parse:E1,transform:Bi.transform},Ao=n=>({test:e=>typeof e=="string"&&e.endsWith(n)&&e.split(" ").length===1,parse:parseFloat,transform:e=>`${e}${n}`}),Es=Ao("deg"),ts=Ao("%"),oe=Ao("px"),A1=Ao("vh"),j1=Ao("vw"),a0={...ts,parse:n=>ts.parse(n)/100,transform:n=>ts.transform(n*100)},za={test:Mf("hsl","hue"),parse:qv("hue","saturation","lightness"),transform:({hue:n,saturation:e,lightness:i,alpha:a=1})=>"hsla("+Math.round(n)+", "+ts.transform(eo(e))+", "+ts.transform(eo(i))+", "+eo(co.transform(a))+")"},bt={test:n=>Bi.test(n)||Ud.test(n)||za.test(n),parse:n=>Bi.test(n)?Bi.parse(n):za.test(n)?za.parse(n):Ud.parse(n),transform:n=>typeof n=="string"?n:n.hasOwnProperty("red")?Bi.transform(n):za.transform(n),getAnimatableNone:n=>{const e=bt.parse(n);return e.alpha=0,bt.transform(e)}},N1=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function k1(n){var e,i;return isNaN(n)&&typeof n=="string"&&(((e=n.match(Df))==null?void 0:e.length)||0)+(((i=n.match(N1))==null?void 0:i.length)||0)>0}const Fv="number",Iv="color",C1="var",R1="var(",r0="${}",O1=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function Ga(n){const e=n.toString(),i=[],a={color:[],number:[],var:[]},l=[];let c=0;const d=e.replace(O1,m=>(bt.test(m)?(a.color.push(c),l.push(Iv),i.push(bt.parse(m))):m.startsWith(R1)?(a.var.push(c),l.push(C1),i.push(m)):(a.number.push(c),l.push(Fv),i.push(parseFloat(m))),++c,r0)).split(r0);return{values:i,split:d,indexes:a,types:l}}function D1(n){return Ga(n).values}function Gv({split:n,types:e}){const i=n.length;return a=>{let l="";for(let c=0;ctypeof n=="number"?0:bt.test(n)?bt.getAnimatableNone(n):n,U1=(n,e)=>typeof n=="number"?e!=null&&e.trim().endsWith("/")?n:0:B1(n);function L1(n){const e=Ga(n);return Gv(e)(e.values.map((a,l)=>U1(a,e.split[l])))}const Vn={test:k1,parse:D1,createTransformer:M1,getAnimatableNone:L1};function ud(n,e,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?n+(e-n)*6*i:i<1/2?e:i<2/3?n+(e-n)*(2/3-i)*6:n}function z1({hue:n,saturation:e,lightness:i,alpha:a}){n/=360,e/=100,i/=100;let l=0,c=0,u=0;if(!e)l=c=u=i;else{const d=i<.5?i*(1+e):i+e-i*e,m=2*i-d;l=ud(m,d,n+1/3),c=ud(m,d,n),u=ud(m,d,n-1/3)}return{red:Math.round(l*255),green:Math.round(c*255),blue:Math.round(u*255),alpha:a}}function mc(n,e){return i=>i>0?e:n}const Ye=(n,e,i)=>n+(e-n)*i,hd=(n,e,i)=>{const a=n*n,l=i*(e*e-a)+a;return l<0?0:Math.sqrt(l)},P1=[Ud,Bi,za],V1=n=>P1.find(e=>e.test(n));function o0(n){const e=V1(n);if(!e)return!1;let i=e.parse(n);return e===za&&(i=z1(i)),i}const l0=(n,e)=>{const i=o0(n),a=o0(e);if(!i||!a)return mc(n,e);const l={...i};return c=>(l.red=hd(i.red,a.red,c),l.green=hd(i.green,a.green,c),l.blue=hd(i.blue,a.blue,c),l.alpha=Ye(i.alpha,a.alpha,c),Bi.transform(l))},Ld=new Set(["none","hidden"]);function H1(n,e){return Ld.has(n)?i=>i<=0?n:e:i=>i>=1?e:n}function $1(n,e){return i=>Ye(n,e,i)}function Bf(n){return typeof n=="number"?$1:typeof n=="string"?Of(n)?mc:bt.test(n)?l0:I1:Array.isArray(n)?Kv:typeof n=="object"?bt.test(n)?l0:q1:mc}function Kv(n,e){const i=[...n],a=i.length,l=n.map((c,u)=>Bf(c)(c,e[u]));return c=>{for(let u=0;u{for(const c in a)i[c]=a[c](l);return i}}function F1(n,e){const i=[],a={color:0,var:0,number:0};for(let l=0;l{const i=Vn.createTransformer(e),a=Ga(n),l=Ga(e);return a.indexes.var.length===l.indexes.var.length&&a.indexes.color.length===l.indexes.color.length&&a.indexes.number.length>=l.indexes.number.length?Ld.has(n)&&!l.values.length||Ld.has(e)&&!a.values.length?H1(n,e):To(Kv(F1(a,l),l.values),i):mc(n,e)};function Yv(n,e,i){return typeof n=="number"&&typeof e=="number"&&typeof i=="number"?Ye(n,e,i):Bf(n)(n,e)}const G1=n=>{const e=({timestamp:i})=>n(i);return{start:(i=!0)=>Xe.update(e,i),stop:()=>ai(e),now:()=>Mt.isProcessing?Mt.timestamp:$t.now()}},Xv=(n,e,i=10)=>{let a="";const l=Math.max(Math.round(e/i),2);for(let c=0;c=pc?1/0:e}function K1(n,e=100,i){const a=i({...n,keyframes:[0,e]}),l=Math.min(Uf(a),pc);return{type:"keyframes",ease:c=>a.next(l*c).value/e,duration:An(l)}}const ot={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1};function zd(n,e){return n*Math.sqrt(1-e*e)}const Y1=12;function X1(n,e,i){let a=i;for(let l=1;l{const y=p*u,v=y*n,x=y-i,_=zd(p,u),S=Math.exp(-v);return dd-x/_*S},c=p=>{const v=p*u*n,x=v*i+i,_=Math.pow(u,2)*Math.pow(p,2)*n,S=Math.exp(-v),T=zd(Math.pow(p,2),u);return(-l(p)+dd>0?-1:1)*((x-_)*S)/T}):(l=p=>{const y=Math.exp(-p*n),v=(p-i)*n+1;return-dd+y*v},c=p=>{const y=Math.exp(-p*n),v=(i-p)*(n*n);return y*v});const d=5/n,m=X1(l,c,d);if(n=hn(n),isNaN(m))return{stiffness:ot.stiffness,damping:ot.damping,duration:n};{const p=Math.pow(m,2)*a;return{stiffness:p,damping:u*2*Math.sqrt(a*p),duration:n}}}const Q1=["duration","bounce"],Z1=["stiffness","damping","mass"];function c0(n,e){return e.some(i=>n[i]!==void 0)}function W1(n){let e={velocity:ot.velocity,stiffness:ot.stiffness,damping:ot.damping,mass:ot.mass,isResolvedFromDuration:!1,...n};if(!c0(n,Z1)&&c0(n,Q1))if(e.velocity=0,n.visualDuration){const i=n.visualDuration,a=2*Math.PI/(i*1.2),l=a*a,c=2*ns(.05,1,1-(n.bounce||0))*Math.sqrt(l);e={...e,mass:ot.mass,stiffness:l,damping:c}}else{const i=J1({...n,velocity:0});e={...e,...i,mass:ot.mass},e.isResolvedFromDuration=!0}return e}function gc(n=ot.visualDuration,e=ot.bounce){const i=typeof n!="object"?{visualDuration:n,keyframes:[0,1],bounce:e}:n;let{restSpeed:a,restDelta:l}=i;const c=i.keyframes[0],u=i.keyframes[i.keyframes.length-1],d={done:!1,value:c},{stiffness:m,damping:p,mass:y,duration:v,velocity:x,isResolvedFromDuration:_}=W1({...i,velocity:-An(i.velocity||0)}),S=x||0,T=p/(2*Math.sqrt(m*y)),k=u-c,C=An(Math.sqrt(m/y)),D=Math.abs(k)<5;a||(a=D?ot.restSpeed.granular:ot.restSpeed.default),l||(l=D?ot.restDelta.granular:ot.restDelta.default);let j,V,G,J,q,K;if(T<1)G=zd(C,T),J=(S+T*C*k)/G,j=X=>{const pe=Math.exp(-T*C*X);return u-pe*(J*Math.sin(G*X)+k*Math.cos(G*X))},q=T*C*J+k*G,K=T*C*k-J*G,V=X=>Math.exp(-T*C*X)*(q*Math.sin(G*X)+K*Math.cos(G*X));else if(T===1){j=pe=>u-Math.exp(-C*pe)*(k+(S+C*k)*pe);const X=S+C*k;V=pe=>Math.exp(-C*pe)*(C*X*pe-S)}else{const X=C*Math.sqrt(T*T-1);j=Se=>{const _e=Math.exp(-T*C*Se),P=Math.min(X*Se,300);return u-_e*((S+T*C*k)*Math.sinh(P)+X*k*Math.cosh(P))/X};const pe=(S+T*C*k)/X,ce=T*C*pe-k*X,Ce=T*C*k-pe*X;V=Se=>{const _e=Math.exp(-T*C*Se),P=Math.min(X*Se,300);return _e*(ce*Math.sinh(P)+Ce*Math.cosh(P))}}const ie={calculatedDuration:_&&v||null,velocity:X=>hn(V(X)),next:X=>{if(!_&&T<1){const ce=Math.exp(-T*C*X),Ce=Math.sin(G*X),Se=Math.cos(G*X),_e=u-ce*(J*Ce+k*Se),P=hn(ce*(q*Ce+K*Se));return d.done=Math.abs(P)<=a&&Math.abs(u-_e)<=l,d.value=d.done?u:_e,d}const pe=j(X);if(_)d.done=X>=v;else{const ce=hn(V(X));d.done=Math.abs(ce)<=a&&Math.abs(u-pe)<=l}return d.value=d.done?u:pe,d},toString:()=>{const X=Math.min(Uf(ie),pc),pe=Xv(ce=>ie.next(X*ce).value,X,30);return X+"ms "+pe},toTransition:()=>{}};return ie}gc.applyToOptions=n=>{const e=K1(n,100,gc);return n.ease=e.ease,n.duration=hn(e.duration),n.type="keyframes",n};const eT=5;function Jv(n,e,i){const a=Math.max(e-eT,0);return kv(i-n(a),e-a)}function Pd({keyframes:n,velocity:e=0,power:i=.8,timeConstant:a=325,bounceDamping:l=10,bounceStiffness:c=500,modifyTarget:u,min:d,max:m,restDelta:p=.5,restSpeed:y}){const v=n[0],x={done:!1,value:v},_=K=>d!==void 0&&Km,S=K=>d===void 0?m:m===void 0||Math.abs(d-K)-T*Math.exp(-K/a),j=K=>C+D(K),V=K=>{const ie=D(K),X=j(K);x.done=Math.abs(ie)<=p,x.value=x.done?C:X};let G,J;const q=K=>{_(x.value)&&(G=K,J=gc({keyframes:[x.value,S(x.value)],velocity:Jv(j,K,x.value),damping:l,stiffness:c,restDelta:p,restSpeed:y}))};return q(0),{calculatedDuration:null,next:K=>{let ie=!1;return!J&&G===void 0&&(ie=!0,V(K),q(K)),G!==void 0&&K>=G?J.next(K-G):(!ie&&V(K),x)}}}function tT(n,e,i){const a=[],l=i||ii.mix||Yv,c=n.length-1;for(let u=0;ue[0];if(c===2&&e[0]===e[1])return()=>e[1];const u=n[0]===n[1];n[0]>n[c-1]&&(n=[...n].reverse(),e=[...e].reverse());const d=tT(e,a,l),m=d.length,p=y=>{if(u&&y1)for(;vp(ns(n[0],n[c-1],y)):p}function sT(n,e){const i=n[n.length-1];for(let a=1;a<=e;a++){const l=lo(0,e,a);n.push(Ye(i,1,l))}}function iT(n){const e=[0];return sT(e,n.length-1),e}function aT(n,e){return n.map(i=>i*e)}function rT(n,e){return n.map(()=>e||zv).splice(0,n.length-1)}function to({duration:n=300,keyframes:e,times:i,ease:a="easeInOut"}){const l=m1(a)?a.map(s0):s0(a),c={done:!1,value:e[0]},u=aT(i&&i.length===e.length?i:iT(e),n),d=nT(u,e,{ease:Array.isArray(l)?l:rT(e,l)});return{calculatedDuration:n,next:m=>(c.value=d(m),c.done=m>=n,c)}}const oT=n=>n!==null;function Mc(n,{repeat:e,repeatType:i="loop"},a,l=1){const c=n.filter(oT),d=l<0||e&&i!=="loop"&&e%2===1?0:c.length-1;return!d||a===void 0?c[d]:a}const lT={decay:Pd,inertia:Pd,tween:to,keyframes:to,spring:gc};function Qv(n){typeof n.type=="string"&&(n.type=lT[n.type])}class Lf{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(e=>{this.resolve=e})}notifyFinished(){this.resolve()}then(e,i){return this.finished.then(e,i)}}const cT=n=>n/100;class yc extends Lf{constructor(e){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.delayState={done:!1,value:void 0},this.stop=()=>{var a,l;const{motionValue:i}=this.options;i&&i.updatedAt!==$t.now()&&this.tick($t.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),(l=(a=this.options).onStop)==null||l.call(a))},this.options=e,this.initAnimation(),this.play(),e.autoplay===!1&&this.pause()}initAnimation(){const{options:e}=this;Qv(e);const{type:i=to,repeat:a=0,repeatDelay:l=0,repeatType:c,velocity:u=0}=e;let{keyframes:d}=e;const m=i||to;m!==to&&typeof d[0]!="number"&&(this.mixKeyframes=To(cT,Yv(d[0],d[1])),d=[0,100]);const p=m({...e,keyframes:d});c==="mirror"&&(this.mirroredGenerator=m({...e,keyframes:[...d].reverse(),velocity:-u})),p.calculatedDuration===null&&(p.calculatedDuration=Uf(p));const{calculatedDuration:y}=p;this.calculatedDuration=y,this.resolvedDuration=y+l,this.totalDuration=this.resolvedDuration*(a+1)-l,this.generator=p}updateTime(e){const i=Math.round(e-this.startTime)*this.playbackSpeed;this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=i}tick(e,i=!1){const{generator:a,totalDuration:l,mixKeyframes:c,mirroredGenerator:u,resolvedDuration:d,calculatedDuration:m}=this;if(this.startTime===null)return a.next(0);const{delay:p=0,keyframes:y,repeat:v,repeatType:x,repeatDelay:_,type:S,onUpdate:T,finalKeyframe:k}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,e):this.speed<0&&(this.startTime=Math.min(e-l/this.speed,this.startTime)),i?this.currentTime=e:this.updateTime(e);const C=this.currentTime-p*(this.playbackSpeed>=0?1:-1),D=this.playbackSpeed>=0?C<0:C>l;this.currentTime=Math.max(C,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=l);let j=this.currentTime,V=a;if(v){const K=Math.min(this.currentTime,l)/d;let ie=Math.floor(K),X=K%1;!X&&K>=1&&(X=1),X===1&&ie--,ie=Math.min(ie,v+1),!!(ie%2)&&(x==="reverse"?(X=1-X,_&&(X-=_/d)):x==="mirror"&&(V=u)),j=ns(0,1,X)*d}let G;D?(this.delayState.value=y[0],G=this.delayState):G=V.next(j),c&&!D&&(G.value=c(G.value));let{done:J}=G;!D&&m!==null&&(J=this.playbackSpeed>=0?this.currentTime>=l:this.currentTime<=0);const q=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&J);return q&&S!==Pd&&(G.value=Mc(y,this.options,k,this.speed)),T&&T(G.value),q&&this.finish(),G}then(e,i){return this.finished.then(e,i)}get duration(){return An(this.calculatedDuration)}get iterationDuration(){const{delay:e=0}=this.options||{};return this.duration+An(e)}get time(){return An(this.currentTime)}set time(e){e=hn(e),this.currentTime=e,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=e:this.driver&&(this.startTime=this.driver.now()-e/this.playbackSpeed),this.driver?this.driver.start(!1):(this.startTime=0,this.state="paused",this.holdTime=e,this.tick(e))}getGeneratorVelocity(){const e=this.currentTime;if(e<=0)return this.options.velocity||0;if(this.generator.velocity)return this.generator.velocity(e);const i=this.generator.next(e).value;return Jv(a=>this.generator.next(a).value,e,i)}get speed(){return this.playbackSpeed}set speed(e){const i=this.playbackSpeed!==e;i&&this.driver&&this.updateTime($t.now()),this.playbackSpeed=e,i&&this.driver&&(this.time=An(this.currentTime))}play(){var l,c;if(this.isStopped)return;const{driver:e=G1,startTime:i}=this.options;this.driver||(this.driver=e(u=>this.tick(u))),(c=(l=this.options).onPlay)==null||c.call(l);const a=this.driver.now();this.state==="finished"?(this.updateFinished(),this.startTime=a):this.holdTime!==null?this.startTime=a-this.holdTime:this.startTime||(this.startTime=i??a),this.state==="finished"&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime($t.now()),this.holdTime=this.currentTime}complete(){this.state!=="running"&&this.play(),this.state="finished",this.holdTime=null}finish(){var e,i;this.notifyFinished(),this.teardown(),this.state="finished",(i=(e=this.options).onComplete)==null||i.call(e)}cancel(){var e,i;this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),(i=(e=this.options).onCancel)==null||i.call(e)}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(e){return this.startTime=0,this.tick(e,!0)}attachTimeline(e){var i;return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),(i=this.driver)==null||i.stop(),e.observe(this)}}function uT(n){for(let e=1;en*180/Math.PI,Vd=n=>{const e=Ui(Math.atan2(n[1],n[0]));return Hd(e)},hT={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:n=>(Math.abs(n[0])+Math.abs(n[3]))/2,rotate:Vd,rotateZ:Vd,skewX:n=>Ui(Math.atan(n[1])),skewY:n=>Ui(Math.atan(n[2])),skew:n=>(Math.abs(n[1])+Math.abs(n[2]))/2},Hd=n=>(n=n%360,n<0&&(n+=360),n),u0=Vd,h0=n=>Math.sqrt(n[0]*n[0]+n[1]*n[1]),d0=n=>Math.sqrt(n[4]*n[4]+n[5]*n[5]),dT={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:h0,scaleY:d0,scale:n=>(h0(n)+d0(n))/2,rotateX:n=>Hd(Ui(Math.atan2(n[6],n[5]))),rotateY:n=>Hd(Ui(Math.atan2(-n[2],n[0]))),rotateZ:u0,rotate:u0,skewX:n=>Ui(Math.atan(n[4])),skewY:n=>Ui(Math.atan(n[1])),skew:n=>(Math.abs(n[1])+Math.abs(n[4]))/2};function $d(n){return n.includes("scale")?1:0}function qd(n,e){if(!n||n==="none")return $d(e);const i=n.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let a,l;if(i)a=dT,l=i;else{const d=n.match(/^matrix\(([-\d.e\s,]+)\)$/u);a=hT,l=d}if(!l)return $d(e);const c=a[e],u=l[1].split(",").map(mT);return typeof c=="function"?c(u):u[c]}const fT=(n,e)=>{const{transform:i="none"}=getComputedStyle(n);return qd(i,e)};function mT(n){return parseFloat(n.trim())}const Ja=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Qa=new Set([...Ja,"pathRotation"]),f0=n=>n===Xa||n===oe,pT=new Set(["x","y","z"]),gT=Ja.filter(n=>!pT.has(n));function yT(n){const e=[];return gT.forEach(i=>{const a=n.getValue(i);a!==void 0&&(e.push([i,a.get()]),a.set(i.startsWith("scale")?1:0))}),e}const si={width:({x:n},{paddingLeft:e="0",paddingRight:i="0",boxSizing:a})=>{const l=n.max-n.min;return a==="border-box"?l:l-parseFloat(e)-parseFloat(i)},height:({y:n},{paddingTop:e="0",paddingBottom:i="0",boxSizing:a})=>{const l=n.max-n.min;return a==="border-box"?l:l-parseFloat(e)-parseFloat(i)},top:(n,{top:e})=>parseFloat(e),left:(n,{left:e})=>parseFloat(e),bottom:({y:n},{top:e})=>parseFloat(e)+(n.max-n.min),right:({x:n},{left:e})=>parseFloat(e)+(n.max-n.min),x:(n,{transform:e})=>qd(e,"x"),y:(n,{transform:e})=>qd(e,"y")};si.translateX=si.x;si.translateY=si.y;const zi=new Set;let Fd=!1,Id=!1,Gd=!1;function Zv(){if(Id){const n=Array.from(zi).filter(a=>a.needsMeasurement),e=new Set(n.map(a=>a.element)),i=new Map;e.forEach(a=>{const l=yT(a);l.length&&(i.set(a,l),a.render())}),n.forEach(a=>a.measureInitialState()),e.forEach(a=>{a.render();const l=i.get(a);l&&l.forEach(([c,u])=>{var d;(d=a.getValue(c))==null||d.set(u)})}),n.forEach(a=>a.measureEndState()),n.forEach(a=>{a.suspendedScrollY!==void 0&&window.scrollTo(0,a.suspendedScrollY)})}Id=!1,Fd=!1,zi.forEach(n=>n.complete(Gd)),zi.clear()}function Wv(){zi.forEach(n=>{n.readKeyframes(),n.needsMeasurement&&(Id=!0)})}function bT(){Gd=!0,Wv(),Zv(),Gd=!1}class zf{constructor(e,i,a,l,c,u=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...e],this.onComplete=i,this.name=a,this.motionValue=l,this.element=c,this.isAsync=u}scheduleResolve(){this.state="scheduled",this.isAsync?(zi.add(this),Fd||(Fd=!0,Xe.read(Wv),Xe.resolveKeyframes(Zv))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:e,name:i,element:a,motionValue:l}=this;if(e[0]===null){const c=l==null?void 0:l.get(),u=e[e.length-1];if(c!==void 0)e[0]=c;else if(a&&i){const d=a.readValue(i,u);d!=null&&(e[0]=d)}e[0]===void 0&&(e[0]=u),l&&c===void 0&&l.set(e[0])}uT(e)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(e=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,e),zi.delete(this)}cancel(){this.state==="scheduled"&&(zi.delete(this),this.state="pending")}resume(){this.state==="pending"&&this.scheduleResolve()}}const vT=n=>n.startsWith("--");function ex(n,e,i){vT(e)?n.style.setProperty(e,i):n.style[e]=i}const xT={};function tx(n,e){const i=Nv(n);return()=>xT[e]??i()}const wT=tx(()=>window.ScrollTimeline!==void 0,"scrollTimeline"),nx=tx(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),Xr=([n,e,i,a])=>`cubic-bezier(${n}, ${e}, ${i}, ${a})`,m0={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:Xr([0,.65,.55,1]),circOut:Xr([.55,0,1,.45]),backIn:Xr([.31,.01,.66,-.59]),backOut:Xr([.33,1.53,.69,.99])};function sx(n,e){if(n)return typeof n=="function"?nx()?Xv(n,e):"ease-out":Pv(n)?Xr(n):Array.isArray(n)?n.map(i=>sx(i,e)||m0.easeOut):m0[n]}function _T(n,e,i,{delay:a=0,duration:l=300,repeat:c=0,repeatType:u="loop",ease:d="easeOut",times:m}={},p=void 0){const y={[e]:i};m&&(y.offset=m);const v=sx(d,l);Array.isArray(v)&&(y.easing=v);const x={delay:a,duration:l,easing:Array.isArray(v)?"linear":v,fill:"both",iterations:c+1,direction:u==="reverse"?"alternate":"normal"};return p&&(x.pseudoElement=p),n.animate(y,x)}function ix(n){return typeof n=="function"&&"applyToOptions"in n}function ST({type:n,...e}){return ix(n)&&nx()?n.applyToOptions(e):(e.duration??(e.duration=300),e.ease??(e.ease="easeOut"),e)}class ax extends Lf{constructor(e){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!e)return;const{element:i,name:a,keyframes:l,pseudoElement:c,allowFlatten:u=!1,finalKeyframe:d,onComplete:m}=e;this.isPseudoElement=!!c,this.allowFlatten=u,this.options=e,Nf(typeof e.type!="string");const p=ST(e);this.animation=_T(i,a,l,p,c),p.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!c){const y=Mc(l,this.options,d,this.speed);this.updateMotionValue&&this.updateMotionValue(y),ex(i,a,y),this.animation.cancel()}m==null||m(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),this.state==="finished"&&this.updateFinished())}pause(){this.animation.pause()}complete(){var e,i;(i=(e=this.animation).finish)==null||i.call(e)}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;const{state:e}=this;e==="idle"||e==="finished"||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){var i,a,l;const e=(i=this.options)==null?void 0:i.element;!this.isPseudoElement&&(e!=null&&e.isConnected)&&((l=(a=this.animation).commitStyles)==null||l.call(a))}get duration(){var i,a;const e=((a=(i=this.animation.effect)==null?void 0:i.getComputedTiming)==null?void 0:a.call(i).duration)||0;return An(Number(e))}get iterationDuration(){const{delay:e=0}=this.options||{};return this.duration+An(e)}get time(){return An(Number(this.animation.currentTime)||0)}set time(e){const i=this.finishedTime!==null;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=hn(e),i&&this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(e){e<0&&(this.finishedTime=null),this.animation.playbackRate=e}get state(){return this.finishedTime!==null?"finished":this.animation.playState}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(e){this.manualStartTime=this.animation.startTime=e}attachTimeline({timeline:e,rangeStart:i,rangeEnd:a,observe:l}){var c;return this.allowFlatten&&((c=this.animation.effect)==null||c.updateTiming({easing:"linear"})),this.animation.onfinish=null,e&&wT()?(this.animation.timeline=e,i&&(this.animation.rangeStart=i),a&&(this.animation.rangeEnd=a),jn):l(this)}}const rx={anticipate:Bv,backInOut:Mv,circInOut:Lv};function TT(n){return n in rx}function ET(n){typeof n.ease=="string"&&TT(n.ease)&&(n.ease=rx[n.ease])}const fd=10;class AT extends ax{constructor(e){ET(e),Qv(e),super(e),e.startTime!==void 0&&e.autoplay!==!1&&(this.startTime=e.startTime),this.options=e}updateMotionValue(e){const{motionValue:i,onUpdate:a,onComplete:l,element:c,...u}=this.options;if(!i)return;if(e!==void 0){i.set(e);return}const d=new yc({...u,autoplay:!1}),m=Math.max(fd,$t.now()-this.startTime),p=ns(0,fd,m-fd),y=d.sample(m).value,{name:v}=this.options;c&&v&&ex(c,v,y),i.setWithVelocity(d.sample(Math.max(0,m-p)).value,y,p),d.stop()}}const p0=(n,e)=>e==="zIndex"?!1:!!(typeof n=="number"||Array.isArray(n)||typeof n=="string"&&(Vn.test(n)||n==="0")&&!n.startsWith("url("));function jT(n){const e=n[0];if(n.length===1)return!0;for(let i=0;iObject.hasOwnProperty.call(Element.prototype,"animate"));function DT(n){var v;const{motionValue:e,name:i,repeatDelay:a,repeatType:l,damping:c,type:u,keyframes:d}=n;if(!(((v=e==null?void 0:e.owner)==null?void 0:v.current)instanceof HTMLElement))return!1;const{onUpdate:p,transformTemplate:y}=e.owner.getProps();return OT()&&i&&(ox.has(i)||RT.has(i)&&CT(d))&&(i!=="transform"||!y)&&!p&&!a&&l!=="mirror"&&c!==0&&u!=="inertia"}const MT=40;class BT extends Lf{constructor({autoplay:e=!0,delay:i=0,type:a="keyframes",repeat:l=0,repeatDelay:c=0,repeatType:u="loop",keyframes:d,name:m,motionValue:p,element:y,...v}){var S;super(),this.stop=()=>{var T,k;this._animation&&(this._animation.stop(),(T=this.stopTimeline)==null||T.call(this)),(k=this.keyframeResolver)==null||k.cancel()},this.createdAt=$t.now();const x={autoplay:e,delay:i,type:a,repeat:l,repeatDelay:c,repeatType:u,name:m,motionValue:p,element:y,...v},_=(y==null?void 0:y.KeyframeResolver)||zf;this.keyframeResolver=new _(d,(T,k,C)=>this.onKeyframesResolved(T,k,x,!C),m,p,y),(S=this.keyframeResolver)==null||S.scheduleResolve()}onKeyframesResolved(e,i,a,l){var C,D;this.keyframeResolver=void 0;const{name:c,type:u,velocity:d,delay:m,isHandoff:p,onUpdate:y}=a;this.resolvedAt=$t.now();let v=!0;NT(e,c,u,d)||(v=!1,(ii.instantAnimations||!m)&&(y==null||y(Mc(e,a,i))),e[0]=e[e.length-1],Kd(a),a.repeat=0);const _={startTime:l?this.resolvedAt?this.resolvedAt-this.createdAt>MT?this.resolvedAt:this.createdAt:this.createdAt:void 0,finalKeyframe:i,...a,keyframes:e},S=v&&!p&&DT(_),T=(D=(C=_.motionValue)==null?void 0:C.owner)==null?void 0:D.current;let k;if(S)try{k=new AT({..._,element:T})}catch{k=new yc(_)}else k=new yc(_);k.finished.then(()=>{this.notifyFinished()}).catch(jn),this.pendingTimeline&&(this.stopTimeline=k.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=k}get finished(){return this._animation?this.animation.finished:this._finished}then(e,i){return this.finished.finally(e).then(()=>{})}get animation(){var e;return this._animation||((e=this.keyframeResolver)==null||e.resume(),bT()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(e){this.animation.time=e}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(e){this.animation.speed=e}get startTime(){return this.animation.startTime}attachTimeline(e){return this._animation?this.stopTimeline=this.animation.attachTimeline(e):this.pendingTimeline=e,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){var e;this._animation&&this.animation.cancel(),(e=this.keyframeResolver)==null||e.cancel()}}function lx(n,e,i,a=0,l=1){const c=Array.from(n).sort((p,y)=>p.sortNodePosition(y)).indexOf(e),u=n.size,d=(u-1)*a;return typeof i=="function"?i(c,u):l===1?c*a:d-c*a}const g0=30,UT=n=>!isNaN(parseFloat(n));class LT{constructor(e,i={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=a=>{var c;const l=$t.now();if(this.updatedAt!==l&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(a),this.current!==this.prev&&((c=this.events.change)==null||c.notify(this.current),this.dependents))for(const u of this.dependents)u.dirty()},this.hasAnimated=!1,this.setCurrent(e),this.owner=i.owner}setCurrent(e){this.current=e,this.updatedAt=$t.now(),this.canTrackVelocity===null&&e!==void 0&&(this.canTrackVelocity=UT(this.current))}setPrevFrameValue(e=this.current){this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt}onChange(e){return this.on("change",e)}on(e,i){this.events[e]||(this.events[e]=new kf);const a=this.events[e].add(i);return e==="change"?()=>{a(),Xe.read(()=>{this.events.change.getSize()||this.stop()})}:a}clearListeners(){for(const e in this.events)this.events[e].clear()}attach(e,i){this.passiveEffect=e,this.stopPassiveEffect=i}set(e){this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e)}setWithVelocity(e,i,a){this.set(i),this.prev=void 0,this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt-a}jump(e,i=!0){this.updateAndNotify(e),this.prev=e,this.prevUpdatedAt=this.prevFrameValue=void 0,i&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){var e;(e=this.events.change)==null||e.notify(this.current)}addDependent(e){this.dependents||(this.dependents=new Set),this.dependents.add(e)}removeDependent(e){this.dependents&&this.dependents.delete(e)}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const e=$t.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||e-this.updatedAt>g0)return 0;const i=Math.min(this.updatedAt-this.prevUpdatedAt,g0);return kv(parseFloat(this.current)-parseFloat(this.prevFrameValue),i)}start(e){return this.stop(),new Promise(i=>{this.hasAnimated=!0,this.animation=e(i),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){var e,i;(e=this.dependents)==null||e.clear(),(i=this.events.destroy)==null||i.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function Ka(n,e){return new LT(n,e)}function cx(n,e){if(n!=null&&n.inherit&&e){const{inherit:i,...a}=n;return{...e,...a}}return n}function Pf(n,e){const i=(n==null?void 0:n[e])??(n==null?void 0:n.default)??n;return i!==n?cx(i,n):i}const zT={type:"spring",stiffness:500,damping:25,restSpeed:10},PT=n=>({type:"spring",stiffness:550,damping:n===0?2*Math.sqrt(550):30,restSpeed:10}),VT={type:"keyframes",duration:.8},HT={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},$T=(n,{keyframes:e})=>e.length>2?VT:Qa.has(n)?n.startsWith("scale")?PT(e[1]):zT:HT,qT=new Set(["when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from","elapsed"]);function FT(n){for(const e in n)if(!qT.has(e))return!0;return!1}const Vf=(n,e,i,a={},l,c)=>u=>{const d=Pf(a,n)||{},m=d.delay||a.delay||0;let{elapsed:p=0}=a;p=p-hn(m);const y={keyframes:Array.isArray(i)?i:[null,i],ease:"easeOut",velocity:e.getVelocity(),...d,delay:-p,onUpdate:x=>{e.set(x),d.onUpdate&&d.onUpdate(x)},onComplete:()=>{u(),d.onComplete&&d.onComplete()},name:n,motionValue:e,element:c?void 0:l};FT(d)||Object.assign(y,$T(n,y)),y.duration&&(y.duration=hn(y.duration)),y.repeatDelay&&(y.repeatDelay=hn(y.repeatDelay)),y.from!==void 0&&(y.keyframes[0]=y.from);let v=!1;if((y.type===!1||y.duration===0&&!y.repeatDelay)&&(Kd(y),y.delay===0&&(v=!0)),(ii.instantAnimations||ii.skipAnimations||l!=null&&l.shouldSkipAnimations||d.skipAnimations)&&(v=!0,Kd(y),y.delay=0),y.allowFlatten=!d.type&&!d.ease,v&&!c&&e.get()!==void 0){const x=Mc(y.keyframes,d);if(x!==void 0){Xe.update(()=>{y.onUpdate(x),y.onComplete()});return}}return d.isSync?new yc(y):new BT(y)},IT=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function GT(n){const e=IT.exec(n);if(!e)return[,];const[,i,a,l]=e;return[`--${i??a}`,l]}function ux(n,e,i=1){const[a,l]=GT(n);if(!a)return;const c=window.getComputedStyle(e).getPropertyValue(a);if(c){const u=c.trim();return Ev(u)?parseFloat(u):u}return Of(l)?ux(l,e,i+1):l}function y0(n){const e=[{},{}];return n==null||n.values.forEach((i,a)=>{e[0][a]=i.get(),e[1][a]=i.getVelocity()}),e}function Hf(n,e,i,a){if(typeof e=="function"){const[l,c]=y0(a);e=e(i!==void 0?i:n.custom,l,c)}if(typeof e=="string"&&(e=n.variants&&n.variants[e]),typeof e=="function"){const[l,c]=y0(a);e=e(i!==void 0?i:n.custom,l,c)}return e}function Pi(n,e,i){const a=n.getProps();return Hf(a,e,i!==void 0?i:a.custom,n)}const hx=new Set(["width","height","top","left","right","bottom",...Ja]),Yd=n=>Array.isArray(n);function KT(n,e,i){n.hasValue(e)?n.getValue(e).set(i):n.addValue(e,Ka(i))}function YT(n){return Yd(n)?n[n.length-1]||0:n}function XT(n,e){const i=Pi(n,e);let{transitionEnd:a={},transition:l={},...c}=i||{};c={...c,...a};for(const u in c){const d=YT(c[u]);KT(n,u,d)}}const Bt=n=>!!(n&&n.getVelocity);function JT(n){return!!(Bt(n)&&n.add)}function Xd(n,e){const i=n.getValue("willChange");if(JT(i))return i.add(e);if(!i&&ii.WillChange){const a=new ii.WillChange("auto");n.addValue("willChange",a),a.add(e)}}function $f(n){return n.replace(/([A-Z])/g,e=>`-${e.toLowerCase()}`)}const QT="framerAppearId",dx="data-"+$f(QT);function fx(n){return n.props[dx]}function ZT({protectedKeys:n,needsAnimating:e},i){const a=n.hasOwnProperty(i)&&e[i]!==!0;return e[i]=!1,a}function mx(n,e,{delay:i=0,transitionOverride:a,type:l}={}){let{transition:c,transitionEnd:u,...d}=e;const m=n.getDefaultTransition();c=c?cx(c,m):m;const p=c==null?void 0:c.reduceMotion,y=c==null?void 0:c.skipAnimations;a&&(c=a);const v=[],x=l&&n.animationState&&n.animationState.getState()[l],_=c==null?void 0:c.path;_&&_.animateVisualElement(n,d,c,i,v);for(const S in d){const T=n.getValue(S,n.latestValues[S]??null),k=d[S];if(k===void 0||x&&ZT(x,S))continue;const C={delay:i,...Pf(c||{},S)};y&&(C.skipAnimations=!0);const D=T.get();if(D!==void 0&&!T.isAnimating()&&!Array.isArray(k)&&k===D&&!C.velocity){Xe.update(()=>T.set(k));continue}let j=!1;if(window.MotionHandoffAnimation){const J=fx(n);if(J){const q=window.MotionHandoffAnimation(J,S,Xe);q!==null&&(C.startTime=q,j=!0)}}Xd(n,S);const V=p??n.shouldReduceMotion;T.start(Vf(S,T,k,V&&hx.has(S)?{type:!1}:C,n,j));const G=T.animation;G&&v.push(G)}if(u){const S=()=>Xe.update(()=>{u&&XT(n,u)});v.length?Promise.all(v).then(S):S()}return v}function Jd(n,e,i={}){var m;const a=Pi(n,e,i.type==="exit"?(m=n.presenceContext)==null?void 0:m.custom:void 0);let{transition:l=n.getDefaultTransition()||{}}=a||{};i.transitionOverride&&(l=i.transitionOverride);const c=a?()=>Promise.all(mx(n,a,i)):()=>Promise.resolve(),u=n.variantChildren&&n.variantChildren.size?(p=0)=>{const{delayChildren:y=0,staggerChildren:v,staggerDirection:x}=l;return WT(n,e,p,y,v,x,i)}:()=>Promise.resolve(),{when:d}=l;if(d){const[p,y]=d==="beforeChildren"?[c,u]:[u,c];return p().then(()=>y())}else return Promise.all([c(),u(i.delay)])}function WT(n,e,i=0,a=0,l=0,c=1,u){const d=[];for(const m of n.variantChildren)m.notify("AnimationStart",e),d.push(Jd(m,e,{...u,delay:i+(typeof a=="function"?0:a)+lx(n.variantChildren,m,a,l,c)}).then(()=>m.notify("AnimationComplete",e)));return Promise.all(d)}function eE(n,e,i={}){n.notify("AnimationStart",e);let a;if(Array.isArray(e)){const l=e.map(c=>Jd(n,c,i));a=Promise.all(l)}else if(typeof e=="string")a=Jd(n,e,i);else{const l=typeof e=="function"?Pi(n,e,i.custom):e;a=Promise.all(mx(n,l,i))}return a.then(()=>{n.notify("AnimationComplete",e)})}const tE={test:n=>n==="auto",parse:n=>n},px=n=>e=>e.test(n),gx=[Xa,oe,ts,Es,j1,A1,tE],b0=n=>gx.find(px(n));function nE(n){return typeof n=="number"?n===0:n!==null?n==="none"||n==="0"||jv(n):!0}const sE=new Set(["brightness","contrast","saturate","opacity"]);function iE(n){const[e,i]=n.slice(0,-1).split("(");if(e==="drop-shadow")return n;const[a]=i.match(Df)||[];if(!a)return n;const l=i.replace(a,"");let c=sE.has(e)?1:0;return a!==i&&(c*=100),e+"("+c+l+")"}const aE=/\b([a-z-]*)\(.*?\)/gu,Qd={...Vn,getAnimatableNone:n=>{const e=n.match(aE);return e?e.map(iE).join(" "):n}},Zd={...Vn,getAnimatableNone:n=>{const e=Vn.parse(n);return Vn.createTransformer(n)(e.map(a=>typeof a=="number"?0:typeof a=="object"?{...a,alpha:1}:a))}},v0={...Xa,transform:Math.round},rE={rotate:Es,pathRotation:Es,rotateX:Es,rotateY:Es,rotateZ:Es,scale:ql,scaleX:ql,scaleY:ql,scaleZ:ql,skew:Es,skewX:Es,skewY:Es,distance:oe,translateX:oe,translateY:oe,translateZ:oe,x:oe,y:oe,z:oe,perspective:oe,transformPerspective:oe,opacity:co,originX:a0,originY:a0,originZ:oe},bc={borderWidth:oe,borderTopWidth:oe,borderRightWidth:oe,borderBottomWidth:oe,borderLeftWidth:oe,borderRadius:oe,borderTopLeftRadius:oe,borderTopRightRadius:oe,borderBottomRightRadius:oe,borderBottomLeftRadius:oe,width:oe,maxWidth:oe,height:oe,maxHeight:oe,top:oe,right:oe,bottom:oe,left:oe,inset:oe,insetBlock:oe,insetBlockStart:oe,insetBlockEnd:oe,insetInline:oe,insetInlineStart:oe,insetInlineEnd:oe,padding:oe,paddingTop:oe,paddingRight:oe,paddingBottom:oe,paddingLeft:oe,paddingBlock:oe,paddingBlockStart:oe,paddingBlockEnd:oe,paddingInline:oe,paddingInlineStart:oe,paddingInlineEnd:oe,margin:oe,marginTop:oe,marginRight:oe,marginBottom:oe,marginLeft:oe,marginBlock:oe,marginBlockStart:oe,marginBlockEnd:oe,marginInline:oe,marginInlineStart:oe,marginInlineEnd:oe,fontSize:oe,backgroundPositionX:oe,backgroundPositionY:oe,...rE,zIndex:v0,fillOpacity:co,strokeOpacity:co,numOctaves:v0},oE={...bc,color:bt,backgroundColor:bt,outlineColor:bt,fill:bt,stroke:bt,borderColor:bt,borderTopColor:bt,borderRightColor:bt,borderBottomColor:bt,borderLeftColor:bt,filter:Qd,WebkitFilter:Qd,mask:Zd,WebkitMask:Zd},yx=n=>oE[n],lE=new Set([Qd,Zd]);function bx(n,e){let i=yx(n);return lE.has(i)||(i=Vn),i.getAnimatableNone?i.getAnimatableNone(e):void 0}const cE=new Set(["auto","none","0"]);function uE(n,e,i){let a=0,l;for(;a{e.getValue(m).set(p)}),this.resolveNoneKeyframes()}}const qf=["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"];function vx(n,e,i){if(n==null)return[];if(n instanceof EventTarget)return[n];if(typeof n=="string"){let a=document;const l=(i==null?void 0:i[n])??a.querySelectorAll(n);return l?Array.from(l):[]}return Array.from(n).filter(a=>a!=null)}const Wd=(n,e)=>e&&typeof n=="number"?e.transform(n):n;function ac(n){return Av(n)&&"offsetHeight"in n&&!("ownerSVGElement"in n)}const{schedule:Ff}=Vv(queueMicrotask,!1),Bn={x:!1,y:!1};function xx(){return Bn.x||Bn.y}function dE(n){return n==="x"||n==="y"?Bn[n]?null:(Bn[n]=!0,()=>{Bn[n]=!1}):Bn.x||Bn.y?null:(Bn.x=Bn.y=!0,()=>{Bn.x=Bn.y=!1})}function wx(n,e){const i=vx(n),a=new AbortController,l={passive:!0,...e,signal:a.signal};return[i,l,()=>a.abort()]}function fE(n){return!(n.pointerType==="touch"||xx())}function mE(n,e,i={}){const[a,l,c]=wx(n,i);return a.forEach(u=>{let d=!1,m=!1,p;const y=()=>{u.removeEventListener("pointerleave",S)},v=k=>{p&&(p(k),p=void 0),y()},x=k=>{d=!1,window.removeEventListener("pointerup",x),window.removeEventListener("pointercancel",x),m&&(m=!1,v(k))},_=()=>{d=!0,window.addEventListener("pointerup",x,l),window.addEventListener("pointercancel",x,l)},S=k=>{if(k.pointerType!=="touch"){if(d){m=!0;return}v(k)}},T=k=>{if(!fE(k))return;m=!1;const C=e(u,k);typeof C=="function"&&(p=C,u.addEventListener("pointerleave",S,l))};u.addEventListener("pointerenter",T,l),u.addEventListener("pointerdown",_,l)}),c}const _x=(n,e)=>e?n===e?!0:_x(n,e.parentElement):!1,If=n=>n.pointerType==="mouse"?typeof n.button!="number"||n.button<=0:n.isPrimary!==!1,pE=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function gE(n){return pE.has(n.tagName)||n.isContentEditable===!0}const yE=new Set(["INPUT","SELECT","TEXTAREA"]);function bE(n){return yE.has(n.tagName)||n.isContentEditable===!0}const rc=new WeakSet;function x0(n){return e=>{e.key==="Enter"&&n(e)}}function md(n,e){n.dispatchEvent(new PointerEvent("pointer"+e,{isPrimary:!0,bubbles:!0}))}const vE=(n,e)=>{const i=n.currentTarget;if(!i)return;const a=x0(()=>{if(rc.has(i))return;md(i,"down");const l=x0(()=>{md(i,"up")}),c=()=>md(i,"cancel");i.addEventListener("keyup",l,e),i.addEventListener("blur",c,e)});i.addEventListener("keydown",a,e),i.addEventListener("blur",()=>i.removeEventListener("keydown",a),e)};function w0(n){return If(n)&&!xx()}const _0=new WeakSet;function xE(n,e,i={}){const[a,l,c]=wx(n,i),u=d=>{const m=d.currentTarget;if(!w0(d)||_0.has(d))return;rc.add(m),i.stopPropagation&&_0.add(d);const p=e(m,d),y={...l,capture:!0},v=(S,T)=>{window.removeEventListener("pointerup",x,y),window.removeEventListener("pointercancel",_,y),rc.has(m)&&rc.delete(m),w0(S)&&typeof p=="function"&&p(S,{success:T})},x=S=>{v(S,m===window||m===document||i.useGlobalTarget||_x(m,S.target))},_=S=>{v(S,!1)};window.addEventListener("pointerup",x,y),window.addEventListener("pointercancel",_,y)};return a.forEach(d=>{(i.useGlobalTarget?window:d).addEventListener("pointerdown",u,l),ac(d)&&(d.addEventListener("focus",p=>vE(p,l)),!gE(d)&&!d.hasAttribute("tabindex")&&(d.tabIndex=0))}),c}function Gf(n){return Av(n)&&"ownerSVGElement"in n}const oc=new WeakMap;let Ws;const Sx=(n,e,i)=>(a,l)=>l&&l[0]?l[0][n+"Size"]:Gf(a)&&"getBBox"in a?a.getBBox()[e]:a[i],wE=Sx("inline","width","offsetWidth"),_E=Sx("block","height","offsetHeight");function SE({target:n,borderBoxSize:e}){var i;(i=oc.get(n))==null||i.forEach(a=>{a(n,{get width(){return wE(n,e)},get height(){return _E(n,e)}})})}function TE(n){n.forEach(SE)}function EE(){typeof ResizeObserver>"u"||(Ws=new ResizeObserver(TE))}function AE(n,e){Ws||EE();const i=vx(n);return i.forEach(a=>{let l=oc.get(a);l||(l=new Set,oc.set(a,l)),l.add(e),Ws==null||Ws.observe(a)}),()=>{i.forEach(a=>{const l=oc.get(a);l==null||l.delete(e),l!=null&&l.size||Ws==null||Ws.unobserve(a)})}}const lc=new Set;let Pa;function jE(){Pa=()=>{const n={get width(){return window.innerWidth},get height(){return window.innerHeight}};lc.forEach(e=>e(n))},window.addEventListener("resize",Pa)}function NE(n){return lc.add(n),Pa||jE(),()=>{lc.delete(n),!lc.size&&typeof Pa=="function"&&(window.removeEventListener("resize",Pa),Pa=void 0)}}function S0(n,e){return typeof n=="function"?NE(n):AE(n,e)}function kE(n){return Gf(n)&&n.tagName==="svg"}const CE=[...gx,bt,Vn],RE=n=>CE.find(px(n)),T0=()=>({translate:0,scale:1,origin:0,originPoint:0}),Va=()=>({x:T0(),y:T0()}),E0=()=>({min:0,max:0}),Tt=()=>({x:E0(),y:E0()}),OE=new WeakMap;function Bc(n){return n!==null&&typeof n=="object"&&typeof n.start=="function"}function uo(n){return typeof n=="string"||Array.isArray(n)}const Kf=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],Yf=["initial",...Kf];function Uc(n){return Bc(n.animate)||Yf.some(e=>uo(n[e]))}function Tx(n){return!!(Uc(n)||n.variants)}function DE(n,e,i){for(const a in e){const l=e[a],c=i[a];if(Bt(l))n.addValue(a,l);else if(Bt(c))n.addValue(a,Ka(l,{owner:n}));else if(c!==l)if(n.hasValue(a)){const u=n.getValue(a);u.liveStyle===!0?u.jump(l):u.hasAnimated||u.set(l)}else{const u=n.getStaticValue(a);n.addValue(a,Ka(u!==void 0?u:l,{owner:n}))}}for(const a in i)e[a]===void 0&&n.removeValue(a);return e}const ef={current:null},Ex={current:!1},ME=typeof window<"u";function BE(){if(Ex.current=!0,!!ME)if(window.matchMedia){const n=window.matchMedia("(prefers-reduced-motion)"),e=()=>ef.current=n.matches;n.addEventListener("change",e),e()}else ef.current=!1}const A0=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];let vc={};function Ax(n){vc=n}function UE(){return vc}class LE{scrapeMotionValuesFromProps(e,i,a){return{}}constructor({parent:e,props:i,presenceContext:a,reducedMotionConfig:l,skipAnimations:c,blockInitialAnimation:u,visualState:d},m={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=zf,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const _=$t.now();this.renderScheduledAt<_&&(this.renderScheduledAt=_,Xe.render(this.render,!1,!0))};const{latestValues:p,renderState:y}=d;this.latestValues=p,this.baseTarget={...p},this.initialValues=i.initial?{...p}:{},this.renderState=y,this.parent=e,this.props=i,this.presenceContext=a,this.depth=e?e.depth+1:0,this.reducedMotionConfig=l,this.skipAnimationsConfig=c,this.options=m,this.blockInitialAnimation=!!u,this.isControllingVariants=Uc(i),this.isVariantNode=Tx(i),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(e&&e.current);const{willChange:v,...x}=this.scrapeMotionValuesFromProps(i,{},this);for(const _ in x){const S=x[_];p[_]!==void 0&&Bt(S)&&S.set(p[_])}}mount(e){var i,a;if(this.hasBeenMounted)for(const l in this.initialValues)(i=this.values.get(l))==null||i.jump(this.initialValues[l]),this.latestValues[l]=this.initialValues[l];this.current=e,OE.set(e,this),this.projection&&!this.projection.instance&&this.projection.mount(e),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((l,c)=>this.bindToMotionValue(c,l)),this.reducedMotionConfig==="never"?this.shouldReduceMotion=!1:this.reducedMotionConfig==="always"?this.shouldReduceMotion=!0:(Ex.current||BE(),this.shouldReduceMotion=ef.current),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,(a=this.parent)==null||a.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){var e;this.projection&&this.projection.unmount(),ai(this.notifyUpdate),ai(this.render),this.valueSubscriptions.forEach(i=>i()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),(e=this.parent)==null||e.removeChild(this);for(const i in this.events)this.events[i].clear();for(const i in this.features){const a=this.features[i];a&&(a.unmount(),a.isMounted=!1)}this.current=null}addChild(e){this.children.add(e),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(e)}removeChild(e){this.children.delete(e),this.enteringChildren&&this.enteringChildren.delete(e)}bindToMotionValue(e,i){if(this.valueSubscriptions.has(e)&&this.valueSubscriptions.get(e)(),i.accelerate&&ox.has(e)&&this.current instanceof HTMLElement){const{factory:u,keyframes:d,times:m,ease:p,duration:y}=i.accelerate,v=new ax({element:this.current,name:e,keyframes:d,times:m,ease:p,duration:hn(y)}),x=u(v);this.valueSubscriptions.set(e,()=>{x(),v.cancel()});return}const a=Qa.has(e);a&&this.onBindTransform&&this.onBindTransform();const l=i.on("change",u=>{this.latestValues[e]=u,this.props.onUpdate&&Xe.preRender(this.notifyUpdate),a&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});let c;typeof window<"u"&&window.MotionCheckAppearSync&&(c=window.MotionCheckAppearSync(this,e,i)),this.valueSubscriptions.set(e,()=>{l(),c&&c()})}sortNodePosition(e){return!this.current||!this.sortInstanceNodePosition||this.type!==e.type?0:this.sortInstanceNodePosition(this.current,e.current)}updateFeatures(){let e="animation";for(e in vc){const i=vc[e];if(!i)continue;const{isEnabled:a,Feature:l}=i;if(!this.features[e]&&l&&a(this.props)&&(this.features[e]=new l(this)),this.features[e]){const c=this.features[e];c.isMounted?c.update():(c.mount(),c.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Tt()}getStaticValue(e){return this.latestValues[e]}setStaticValue(e,i){this.latestValues[e]=i}update(e,i){(e.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=e,this.prevPresenceContext=this.presenceContext,this.presenceContext=i;for(let a=0;ai.variantChildren.delete(e)}addValue(e,i){const a=this.values.get(e);i!==a&&(a&&this.removeValue(e),this.bindToMotionValue(e,i),this.values.set(e,i),this.latestValues[e]=i.get())}removeValue(e){this.values.delete(e);const i=this.valueSubscriptions.get(e);i&&(i(),this.valueSubscriptions.delete(e)),delete this.latestValues[e],this.removeValueFromRenderState(e,this.renderState)}hasValue(e){return this.values.has(e)}getValue(e,i){if(this.props.values&&this.props.values[e])return this.props.values[e];let a=this.values.get(e);return a===void 0&&i!==void 0&&(a=Ka(i===null?void 0:i,{owner:this}),this.addValue(e,a)),a}readValue(e,i){let a=this.latestValues[e]!==void 0||!this.current?this.latestValues[e]:this.getBaseTargetFromProps(this.props,e)??this.readValueFromInstance(this.current,e,this.options);return a!=null&&(typeof a=="string"&&(Ev(a)||jv(a))?a=parseFloat(a):!RE(a)&&Vn.test(i)&&(a=bx(e,i)),this.setBaseTarget(e,Bt(a)?a.get():a)),Bt(a)?a.get():a}setBaseTarget(e,i){this.baseTarget[e]=i}getBaseTarget(e){var c;const{initial:i}=this.props;let a;if(typeof i=="string"||typeof i=="object"){const u=Hf(this.props,i,(c=this.presenceContext)==null?void 0:c.custom);u&&(a=u[e])}if(i&&a!==void 0)return a;const l=this.getBaseTargetFromProps(this.props,e);return l!==void 0&&!Bt(l)?l:this.initialValues[e]!==void 0&&a===void 0?void 0:this.baseTarget[e]}on(e,i){return this.events[e]||(this.events[e]=new kf),this.events[e].add(i)}notify(e,...i){this.events[e]&&this.events[e].notify(...i)}scheduleRenderMicrotask(){Ff.render(this.render)}}class jx extends LE{constructor(){super(...arguments),this.KeyframeResolver=hE}sortInstanceNodePosition(e,i){return e.compareDocumentPosition(i)&2?1:-1}getBaseTargetFromProps(e,i){const a=e.style;return a?a[i]:void 0}removeValueFromRenderState(e,{vars:i,style:a}){delete i[e],delete a[e]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:e}=this.props;Bt(e)&&(this.childSubscription=e.on("change",i=>{this.current&&(this.current.textContent=`${i}`)}))}}class ri{constructor(e){this.isMounted=!1,this.node=e}update(){}}function Nx({top:n,left:e,right:i,bottom:a}){return{x:{min:e,max:i},y:{min:n,max:a}}}function zE({x:n,y:e}){return{top:e.min,right:n.max,bottom:e.max,left:n.min}}function PE(n,e){if(!e)return n;const i=e({x:n.left,y:n.top}),a=e({x:n.right,y:n.bottom});return{top:i.y,left:i.x,bottom:a.y,right:a.x}}function pd(n){return n===void 0||n===1}function tf({scale:n,scaleX:e,scaleY:i}){return!pd(n)||!pd(e)||!pd(i)}function Di(n){return tf(n)||kx(n)||n.z||n.rotate||n.rotateX||n.rotateY||n.skewX||n.skewY}function kx(n){return j0(n.x)||j0(n.y)}function j0(n){return n&&n!=="0%"}function xc(n,e,i){const a=n-i,l=e*a;return i+l}function N0(n,e,i,a,l){return l!==void 0&&(n=xc(n,l,a)),xc(n,i,a)+e}function nf(n,e=0,i=1,a,l){n.min=N0(n.min,e,i,a,l),n.max=N0(n.max,e,i,a,l)}function Cx(n,{x:e,y:i}){nf(n.x,e.translate,e.scale,e.originPoint),nf(n.y,i.translate,i.scale,i.originPoint)}const k0=.999999999999,C0=1.0000000000001;function VE(n,e,i,a=!1){var d;const l=i.length;if(!l)return;e.x=e.y=1;let c,u;for(let m=0;mk0&&(e.x=1),e.yk0&&(e.y=1)}function Wn(n,e){n.min+=e,n.max+=e}function R0(n,e,i,a,l=.5){const c=Ye(n.min,n.max,l);nf(n,e,i,c,a)}function O0(n,e){return typeof n=="string"?parseFloat(n)/100*(e.max-e.min):n}function cc(n,e,i){const a=i??n;R0(n.x,O0(e.x,a.x),e.scaleX,e.scale,e.originX),R0(n.y,O0(e.y,a.y),e.scaleY,e.scale,e.originY)}function Rx(n,e){return Nx(PE(n.getBoundingClientRect(),e))}function HE(n,e,i){const a=Rx(n,i),{scroll:l}=e;return l&&(Wn(a.x,l.offset.x),Wn(a.y,l.offset.y)),a}const $E={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},qE=Ja.length;function FE(n,e,i){let a="",l=!0;for(let u=0;u{if(!e.target)return n;if(typeof n=="string")if(oe.test(n))n=parseFloat(n);else return n;const i=D0(n,e.target.x),a=D0(n,e.target.y);return`${i}% ${a}%`}},IE={correct:(n,{treeScale:e,projectionDelta:i})=>{const a=n,l=Vn.parse(n);if(l.length>5)return a;const c=Vn.createTransformer(n),u=typeof l[0]!="number"?1:0,d=i.x.scale*e.x,m=i.y.scale*e.y;l[0+u]/=d,l[1+u]/=m;const p=Ye(d,m,.5);return typeof l[2+u]=="number"&&(l[2+u]/=p),typeof l[3+u]=="number"&&(l[3+u]/=p),c(l)}},sf={borderRadius:{...Ir,applyTo:[...qf]},borderTopLeftRadius:Ir,borderTopRightRadius:Ir,borderBottomLeftRadius:Ir,borderBottomRightRadius:Ir,boxShadow:IE};function Dx(n,{layout:e,layoutId:i}){return Qa.has(n)||n.startsWith("origin")||(e||i!==void 0)&&(!!sf[n]||n==="opacity")}function Jf(n,e,i){var u;const a=n.style,l=e==null?void 0:e.style,c={};if(!a)return c;for(const d in a)(Bt(a[d])||l&&Bt(l[d])||Dx(d,n)||((u=i==null?void 0:i.getValue(d))==null?void 0:u.liveStyle)!==void 0)&&(c[d]=a[d]);return c}function GE(n){return window.getComputedStyle(n)}class KE extends jx{constructor(){super(...arguments),this.type="html",this.renderInstance=Ox}readValueFromInstance(e,i){var a;if(Qa.has(i))return(a=this.projection)!=null&&a.isProjecting?$d(i):fT(e,i);{const l=GE(e),c=($v(i)?l.getPropertyValue(i):l[i])||0;return typeof c=="string"?c.trim():c}}measureInstanceViewportBox(e,{transformPagePoint:i}){return Rx(e,i)}build(e,i,a){Xf(e,i,a.transformTemplate)}scrapeMotionValuesFromProps(e,i,a){return Jf(e,i,a)}}const YE={offset:"stroke-dashoffset",array:"stroke-dasharray"},XE={offset:"strokeDashoffset",array:"strokeDasharray"};function JE(n,e,i=1,a=0,l=!0){n.pathLength=1;const c=l?YE:XE;n[c.offset]=`${-a}`,n[c.array]=`${e} ${i}`}const QE=["offsetDistance","offsetPath","offsetRotate","offsetAnchor"];function Mx(n,{attrX:e,attrY:i,attrScale:a,pathLength:l,pathSpacing:c=1,pathOffset:u=0,...d},m,p,y){if(Xf(n,d,p),m){n.style.viewBox&&(n.attrs.viewBox=n.style.viewBox);return}n.attrs=n.style,n.style={};const{attrs:v,style:x}=n;v.transform&&(x.transform=v.transform,delete v.transform),(x.transform||v.transformOrigin)&&(x.transformOrigin=v.transformOrigin??"50% 50%",delete v.transformOrigin),x.transform&&(x.transformBox=(y==null?void 0:y.transformBox)??"fill-box",delete v.transformBox);for(const _ of QE)v[_]!==void 0&&(x[_]=v[_],delete v[_]);e!==void 0&&(v.x=e),i!==void 0&&(v.y=i),a!==void 0&&(v.scale=a),l!==void 0&&JE(v,l,c,u,!1)}const Bx=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]),Ux=n=>typeof n=="string"&&n.toLowerCase()==="svg";function ZE(n,e,i,a){Ox(n,e,void 0,a);for(const l in e.attrs)n.setAttribute(Bx.has(l)?l:$f(l),e.attrs[l])}function Lx(n,e,i){const a=Jf(n,e,i);for(const l in n)if(Bt(n[l])||Bt(e[l])){const c=Ja.indexOf(l)!==-1?"attr"+l.charAt(0).toUpperCase()+l.substring(1):l;a[c]=n[l]}return a}class WE extends jx{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=Tt}getBaseTargetFromProps(e,i){return e[i]}readValueFromInstance(e,i){if(Qa.has(i)){const a=yx(i);return a&&a.default||0}return i=Bx.has(i)?i:$f(i),e.getAttribute(i)}scrapeMotionValuesFromProps(e,i,a){return Lx(e,i,a)}build(e,i,a){Mx(e,i,this.isSVGTag,a.transformTemplate,a.style)}renderInstance(e,i,a,l){ZE(e,i,a,l)}mount(e){this.isSVGTag=Ux(e.tagName),super.mount(e)}}const eA=Yf.length;function zx(n){if(!n)return;if(!n.isControllingVariants){const i=n.parent?zx(n.parent)||{}:{};return n.props.initial!==void 0&&(i.initial=n.props.initial),i}const e={};for(let i=0;iPromise.all(e.map(({animation:i,options:a})=>eE(n,i,a)))}function iA(n){let e=sA(n),i=M0(),a=!0,l=!1;const c=p=>(y,v)=>{var _;const x=Pi(n,v,p==="exit"?(_=n.presenceContext)==null?void 0:_.custom:void 0);if(x){const{transition:S,transitionEnd:T,...k}=x;y={...y,...k,...T}}return y};function u(p){e=p(n)}function d(p){const{props:y}=n,v=zx(n.parent)||{},x=[],_=new Set;let S={},T=1/0;for(let C=0;CT&&G,X=!1;const pe=Array.isArray(V)?V:[V];let ce=pe.reduce(c(D),{});J===!1&&(ce={});const{prevResolvedValues:Ce={}}=j,Se={...Ce,...ce},_e=ee=>{ie=!0,_.has(ee)&&(X=!0,_.delete(ee)),j.needsAnimating[ee]=!0;const fe=n.getValue(ee);fe&&(fe.liveStyle=!1)};for(const ee in Se){const fe=ce[ee],te=Ce[ee];if(S.hasOwnProperty(ee))continue;let A=!1;Yd(fe)&&Yd(te)?A=!Px(fe,te)||K:A=fe!==te,A?fe!=null?_e(ee):_.add(ee):fe!==void 0&&_.has(ee)?_e(ee):j.protectedKeys[ee]=!0}j.prevProp=V,j.prevResolvedValues=ce,j.isActive&&(S={...S,...ce}),(a||l)&&n.blockInitialAnimation&&(ie=!1);const P=q&&K;ie&&(!P||X)&&x.push(...pe.map(ee=>{const fe={type:D};if(typeof ee=="string"&&(a||l)&&!P&&n.manuallyAnimateOnMount&&n.parent){const{parent:te}=n,A=Pi(te,ee);if(te.enteringChildren&&A){const{delayChildren:z}=A.transition||{};fe.delay=lx(te.enteringChildren,n,z)}}return{animation:ee,options:fe}}))}if(_.size){const C={};if(typeof y.initial!="boolean"){const D=Pi(n,Array.isArray(y.initial)?y.initial[0]:y.initial);D&&D.transition&&(C.transition=D.transition)}_.forEach(D=>{const j=n.getBaseTarget(D),V=n.getValue(D);V&&(V.liveStyle=!0),C[D]=j??null}),x.push({animation:C})}let k=!!x.length;return a&&(y.initial===!1||y.initial===y.animate)&&!n.manuallyAnimateOnMount&&(k=!1),a=!1,l=!1,k?e(x):Promise.resolve()}function m(p,y){var x;if(i[p].isActive===y)return Promise.resolve();(x=n.variantChildren)==null||x.forEach(_=>{var S;return(S=_.animationState)==null?void 0:S.setActive(p,y)}),i[p].isActive=y;const v=d(p);for(const _ in i)i[_].protectedKeys={};return v}return{animateChanges:d,setActive:m,setAnimateFunction:u,getState:()=>i,reset:()=>{i=M0(),l=!0}}}function aA(n,e){return typeof e=="string"?e!==n:Array.isArray(e)?!Px(e,n):!1}function Ci(n=!1){return{isActive:n,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function M0(){return{animate:Ci(!0),whileInView:Ci(),whileHover:Ci(),whileTap:Ci(),whileDrag:Ci(),whileFocus:Ci(),exit:Ci()}}function af(n,e){n.min=e.min,n.max=e.max}function Dn(n,e){af(n.x,e.x),af(n.y,e.y)}function B0(n,e){n.translate=e.translate,n.scale=e.scale,n.originPoint=e.originPoint,n.origin=e.origin}const Vx=1e-4,rA=1-Vx,oA=1+Vx,Hx=.01,lA=0-Hx,cA=0+Hx;function qt(n){return n.max-n.min}function uA(n,e,i){return Math.abs(n-e)<=i}function U0(n,e,i,a=.5){n.origin=a,n.originPoint=Ye(e.min,e.max,n.origin),n.scale=qt(i)/qt(e),n.translate=Ye(i.min,i.max,n.origin)-n.originPoint,(n.scale>=rA&&n.scale<=oA||isNaN(n.scale))&&(n.scale=1),(n.translate>=lA&&n.translate<=cA||isNaN(n.translate))&&(n.translate=0)}function no(n,e,i,a){U0(n.x,e.x,i.x,a?a.originX:void 0),U0(n.y,e.y,i.y,a?a.originY:void 0)}function L0(n,e,i,a=0){const l=a?Ye(i.min,i.max,a):i.min;n.min=l+e.min,n.max=n.min+qt(e)}function hA(n,e,i,a){L0(n.x,e.x,i.x,a==null?void 0:a.x),L0(n.y,e.y,i.y,a==null?void 0:a.y)}function z0(n,e,i,a=0){const l=a?Ye(i.min,i.max,a):i.min;n.min=e.min-l,n.max=n.min+qt(e)}function wc(n,e,i,a){z0(n.x,e.x,i.x,a==null?void 0:a.x),z0(n.y,e.y,i.y,a==null?void 0:a.y)}function P0(n,e,i,a,l){return n-=e,n=xc(n,1/i,a),l!==void 0&&(n=xc(n,1/l,a)),n}function dA(n,e=0,i=1,a=.5,l,c=n,u=n){if(ts.test(e)&&(e=parseFloat(e),e=Ye(u.min,u.max,e/100)-u.min),typeof e!="number")return;let d=Ye(c.min,c.max,a);n===c&&(d-=e),n.min=P0(n.min,e,i,d,l),n.max=P0(n.max,e,i,d,l)}function V0(n,e,[i,a,l],c,u){dA(n,e[i],e[a],e[l],e.scale,c,u)}const fA=["x","scaleX","originX"],mA=["y","scaleY","originY"];function H0(n,e,i,a){V0(n.x,e,fA,i?i.x:void 0,a?a.x:void 0),V0(n.y,e,mA,i?i.y:void 0,a?a.y:void 0)}function $0(n){return n.translate===0&&n.scale===1}function $x(n){return $0(n.x)&&$0(n.y)}function q0(n,e){return n.min===e.min&&n.max===e.max}function pA(n,e){return q0(n.x,e.x)&&q0(n.y,e.y)}function F0(n,e){return Math.round(n.min)===Math.round(e.min)&&Math.round(n.max)===Math.round(e.max)}function qx(n,e){return F0(n.x,e.x)&&F0(n.y,e.y)}function I0(n){return qt(n.x)/qt(n.y)}function G0(n,e){return n.translate===e.translate&&n.scale===e.scale&&n.originPoint===e.originPoint}function Qn(n){return[n("x"),n("y")]}function gA(n,e,i){let a="";const l=n.x.translate/e.x,c=n.y.translate/e.y,u=(i==null?void 0:i.z)||0;if((l||c||u)&&(a=`translate3d(${l}px, ${c}px, ${u}px) `),(e.x!==1||e.y!==1)&&(a+=`scale(${1/e.x}, ${1/e.y}) `),i){const{transformPerspective:p,rotate:y,pathRotation:v,rotateX:x,rotateY:_,skewX:S,skewY:T}=i;p&&(a=`perspective(${p}px) ${a}`),y&&(a+=`rotate(${y}deg) `),v&&(a+=`rotate(${v}deg) `),x&&(a+=`rotateX(${x}deg) `),_&&(a+=`rotateY(${_}deg) `),S&&(a+=`skewX(${S}deg) `),T&&(a+=`skewY(${T}deg) `)}const d=n.x.scale*e.x,m=n.y.scale*e.y;return(d!==1||m!==1)&&(a+=`scale(${d}, ${m})`),a||"none"}const yA=qf.length,K0=n=>typeof n=="string"?parseFloat(n):n,Y0=n=>typeof n=="number"||oe.test(n);function bA(n,e,i,a,l,c){l?(n.opacity=Ye(0,i.opacity??1,vA(a)),n.opacityExit=Ye(e.opacity??1,0,xA(a))):c&&(n.opacity=Ye(e.opacity??1,i.opacity??1,a));for(let u=0;uae?1:i(lo(n,e,a))}function wA(n,e,i){const a=Bt(n)?n:Ka(n);return a.start(Vf("",a,e,i)),a.animation}function ho(n,e,i,a={passive:!0}){return n.addEventListener(e,i,a),()=>n.removeEventListener(e,i,a)}const _A=(n,e)=>n.depth-e.depth;class SA{constructor(){this.children=[],this.isDirty=!1}add(e){jf(this.children,e),this.isDirty=!0}remove(e){fc(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(_A),this.isDirty=!1,this.children.forEach(e)}}function TA(n,e){const i=$t.now(),a=({timestamp:l})=>{const c=l-i;c>=e&&(ai(a),n(c-e))};return Xe.setup(a,!0),()=>ai(a)}function uc(n){return Bt(n)?n.get():n}class EA{constructor(){this.members=[]}add(e){jf(this.members,e);for(let i=this.members.length-1;i>=0;i--){const a=this.members[i];if(a===e||a===this.lead||a===this.prevLead)continue;const l=a.instance;(!l||l.isConnected===!1)&&!a.snapshot&&(fc(this.members,a),a.unmount())}e.scheduleRender()}remove(e){if(fc(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){const i=this.members[this.members.length-1];i&&this.promote(i)}}relegate(e){var i;for(let a=this.members.indexOf(e)-1;a>=0;a--){const l=this.members[a];if(l.isPresent!==!1&&((i=l.instance)==null?void 0:i.isConnected)!==!1)return this.promote(l),!0}return!1}promote(e,i){var l;const a=this.lead;if(e!==a&&(this.prevLead=a,this.lead=e,e.show(),a)){a.updateSnapshot(),e.scheduleRender();const{layoutDependency:c}=a.options,{layoutDependency:u}=e.options;(c===void 0||c!==u)&&(e.resumeFrom=a,i&&(a.preserveOpacity=!0),a.snapshot&&(e.snapshot=a.snapshot,e.snapshot.latestValues=a.animationValues||a.latestValues),(l=e.root)!=null&&l.isUpdating&&(e.isLayoutDirty=!0)),e.options.crossfade===!1&&a.hide()}}exitAnimationComplete(){this.members.forEach(e=>{var i,a,l,c,u;(a=(i=e.options).onExitComplete)==null||a.call(i),(u=(l=e.resumingFrom)==null?void 0:(c=l.options).onExitComplete)==null||u.call(c)})}scheduleRender(){this.members.forEach(e=>e.instance&&e.scheduleRender(!1))}removeLeadSnapshot(){var e;(e=this.lead)!=null&&e.snapshot&&(this.lead.snapshot=void 0)}}const hc={hasAnimatedSinceResize:!0,hasEverUpdated:!1},gd=["","X","Y","Z"],AA=1e3;let jA=0;function yd(n,e,i,a){const{latestValues:l}=e;l[n]&&(i[n]=l[n],e.setStaticValue(n,0),a&&(a[n]=0))}function Ix(n){if(n.hasCheckedOptimisedAppear=!0,n.root===n)return;const{visualElement:e}=n.options;if(!e)return;const i=fx(e);if(window.MotionHasOptimisedAnimation(i,"transform")){const{layout:l,layoutId:c}=n.options;window.MotionCancelOptimisedAnimation(i,"transform",Xe,!(l||c))}const{parent:a}=n;a&&!a.hasCheckedOptimisedAppear&&Ix(a)}function Gx({attachResizeListener:n,defaultParent:e,measureScroll:i,checkIsScrollRoot:a,resetTransform:l}){return class{constructor(u={},d=e==null?void 0:e()){this.id=jA++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,this.nodes.forEach(CA),this.nodes.forEach(UA),this.nodes.forEach(LA),this.nodes.forEach(RA)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=u,this.root=d?d.root||d:this,this.path=d?[...d.path,d]:[],this.parent=d,this.depth=d?d.depth+1:0;for(let m=0;mthis.root.updateBlockedByResize=!1;Xe.read(()=>{v=window.innerWidth}),n(u,()=>{const _=window.innerWidth;_!==v&&(v=_,this.root.updateBlockedByResize=!0,y&&y(),y=TA(x,250),hc.hasAnimatedSinceResize&&(hc.hasAnimatedSinceResize=!1,this.nodes.forEach(Z0)))})}d&&this.root.registerSharedNode(d,this),this.options.animate!==!1&&p&&(d||m)&&this.addEventListener("didUpdate",({delta:y,hasLayoutChanged:v,hasRelativeLayoutChanged:x,layout:_})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const S=this.options.transition||p.getDefaultTransition()||$A,{onLayoutAnimationStart:T,onLayoutAnimationComplete:k}=p.getProps(),C=!this.targetLayout||!qx(this.targetLayout,_),D=!v&&x;if(this.options.layoutRoot||this.resumeFrom||D||v&&(C||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const j={...Pf(S,"layout"),onPlay:T,onComplete:k};(p.shouldReduceMotion||this.options.layoutRoot)&&(j.delay=0,j.type=!1),this.startAnimation(j),this.setAnimationOrigin(y,D,j.path)}else v||Z0(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=_})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const u=this.getStack();u&&u.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),ai(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(zA),this.animationId++)}getTransformTemplate(){const{visualElement:u}=this.options;return u&&u.getProps().transformTemplate}willUpdate(u=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&Ix(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let y=0;y{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!qt(this.snapshot.measuredBox.x)&&!qt(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let m=0;m{const q=J/1e3,K=G==null?void 0:G(q);K?(x.x.translate=K.x,x.x.scale=Ye(u.x.scale,1,q),x.x.origin=u.x.origin,x.x.originPoint=u.x.originPoint,x.y.translate=K.y,x.y.scale=Ye(u.y.scale,1,q),x.y.origin=u.y.origin,x.y.originPoint=u.y.originPoint):(W0(x.x,u.x,q),W0(x.y,u.y,q)),this.setTargetDelta(x),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(wc(_,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),VA(this.relativeTarget,this.relativeTargetOrigin,_,q),V&&pA(this.relativeTarget,V)&&(this.isProjectionDirty=!1),V||(V=Tt()),Dn(V,this.relativeTarget)),k&&(this.animationValues=v,bA(v,y,this.latestValues,q,j,D)),K&&K.rotate!==void 0&&(this.animationValues||(this.animationValues=v),this.animationValues.pathRotation=K.rotate),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=q},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(u){var d,m,p;this.notifyListeners("animationStart"),(d=this.currentAnimation)==null||d.stop(),(p=(m=this.resumingFrom)==null?void 0:m.currentAnimation)==null||p.stop(),this.pendingAnimation&&(ai(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=Xe.update(()=>{hc.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=Ka(0)),this.motionValue.jump(0,!1),this.currentAnimation=wA(this.motionValue,[0,1e3],{...u,velocity:0,isSync:!0,onUpdate:y=>{this.mixTargetDelta(y),u.onUpdate&&u.onUpdate(y)},onComplete:()=>{u.onComplete&&u.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const u=this.getStack();u&&u.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(AA),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const u=this.getLead();let{targetWithTransforms:d,target:m,layout:p,latestValues:y}=u;if(!(!d||!m||!p)){if(this!==u&&this.layout&&p&&Kx(this.options.animationType,this.layout.layoutBox,p.layoutBox)){m=this.target||Tt();const v=qt(this.layout.layoutBox.x);m.x.min=u.target.x.min,m.x.max=m.x.min+v;const x=qt(this.layout.layoutBox.y);m.y.min=u.target.y.min,m.y.max=m.y.min+x}Dn(d,m),cc(d,y),no(this.projectionDeltaWithTransform,this.layoutCorrected,d,y)}}registerSharedNode(u,d){this.sharedNodes.has(u)||this.sharedNodes.set(u,new EA),this.sharedNodes.get(u).add(d);const p=d.options.initialPromotionConfig;d.promote({transition:p?p.transition:void 0,preserveFollowOpacity:p&&p.shouldPreserveFollowOpacity?p.shouldPreserveFollowOpacity(d):void 0})}isLead(){const u=this.getStack();return u?u.lead===this:!0}getLead(){var d;const{layoutId:u}=this.options;return u?((d=this.getStack())==null?void 0:d.lead)||this:this}getPrevLead(){var d;const{layoutId:u}=this.options;return u?(d=this.getStack())==null?void 0:d.prevLead:void 0}getStack(){const{layoutId:u}=this.options;if(u)return this.root.sharedNodes.get(u)}promote({needsReset:u,transition:d,preserveFollowOpacity:m}={}){const p=this.getStack();p&&p.promote(this,m),u&&(this.projectionDelta=void 0,this.needsReset=!0),d&&this.setOptions({transition:d})}relegate(){const u=this.getStack();return u?u.relegate(this):!1}resetSkewAndRotation(){const{visualElement:u}=this.options;if(!u)return;let d=!1;const{latestValues:m}=u;if((m.z||m.rotate||m.rotateX||m.rotateY||m.rotateZ||m.skewX||m.skewY)&&(d=!0),!d)return;const p={};m.z&&yd("z",u,p,this.animationValues);for(let y=0;y{var d;return(d=u.currentAnimation)==null?void 0:d.stop()}),this.root.nodes.forEach(J0),this.root.sharedNodes.clear()}}}function NA(n){n.updateLayout()}function kA(n){var i;const e=((i=n.resumeFrom)==null?void 0:i.snapshot)||n.snapshot;if(n.isLead()&&n.layout&&e&&n.hasListeners("didUpdate")){const{layoutBox:a,measuredBox:l}=n.layout,{animationType:c}=n.options,u=e.source!==n.layout.source;if(c==="size")Qn(v=>{const x=u?e.measuredBox[v]:e.layoutBox[v],_=qt(x);x.min=a[v].min,x.max=x.min+_});else if(c==="x"||c==="y"){const v=c==="x"?"y":"x";af(u?e.measuredBox[v]:e.layoutBox[v],a[v])}else Kx(c,e.layoutBox,a)&&Qn(v=>{const x=u?e.measuredBox[v]:e.layoutBox[v],_=qt(a[v]);x.max=x.min+_,n.relativeTarget&&!n.currentAnimation&&(n.isProjectionDirty=!0,n.relativeTarget[v].max=n.relativeTarget[v].min+_)});const d=Va();no(d,a,e.layoutBox);const m=Va();u?no(m,n.applyTransform(l,!0),e.measuredBox):no(m,a,e.layoutBox);const p=!$x(d);let y=!1;if(!n.resumeFrom){const v=n.getClosestProjectingParent();if(v&&!v.resumeFrom){const{snapshot:x,layout:_}=v;if(x&&_){const S=n.options.layoutAnchor||void 0,T=Tt();wc(T,e.layoutBox,x.layoutBox,S);const k=Tt();wc(k,a,_.layoutBox,S),qx(T,k)||(y=!0),v.options.layoutRoot&&(n.relativeTarget=k,n.relativeTargetOrigin=T,n.relativeParent=v)}}}n.notifyListeners("didUpdate",{layout:a,snapshot:e,delta:m,layoutDelta:d,hasLayoutChanged:p,hasRelativeLayoutChanged:y})}else if(n.isLead()){const{onExitComplete:a}=n.options;a&&a()}n.options.transition=void 0}function CA(n){n.parent&&(n.isProjecting()||(n.isProjectionDirty=n.parent.isProjectionDirty),n.isSharedProjectionDirty||(n.isSharedProjectionDirty=!!(n.isProjectionDirty||n.parent.isProjectionDirty||n.parent.isSharedProjectionDirty)),n.isTransformDirty||(n.isTransformDirty=n.parent.isTransformDirty))}function RA(n){n.isProjectionDirty=n.isSharedProjectionDirty=n.isTransformDirty=!1}function OA(n){n.clearSnapshot()}function J0(n){n.clearMeasurements()}function DA(n){n.isLayoutDirty=!0,n.updateLayout()}function Q0(n){n.isLayoutDirty=!1}function MA(n){n.isAnimationBlocked&&n.layout&&!n.isLayoutDirty&&(n.snapshot=n.layout,n.isLayoutDirty=!0)}function BA(n){const{visualElement:e}=n.options;e&&e.getProps().onBeforeLayoutMeasure&&e.notify("BeforeLayoutMeasure"),n.resetTransform()}function Z0(n){n.finishAnimation(),n.targetDelta=n.relativeTarget=n.target=void 0,n.isProjectionDirty=!0}function UA(n){n.resolveTargetDelta()}function LA(n){n.calcProjection()}function zA(n){n.resetSkewAndRotation()}function PA(n){n.removeLeadSnapshot()}function W0(n,e,i){n.translate=Ye(e.translate,0,i),n.scale=Ye(e.scale,1,i),n.origin=e.origin,n.originPoint=e.originPoint}function eb(n,e,i,a){n.min=Ye(e.min,i.min,a),n.max=Ye(e.max,i.max,a)}function VA(n,e,i,a){eb(n.x,e.x,i.x,a),eb(n.y,e.y,i.y,a)}function HA(n){return n.animationValues&&n.animationValues.opacityExit!==void 0}const $A={duration:.45,ease:[.4,0,.1,1]},tb=n=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(n),nb=tb("applewebkit/")&&!tb("chrome/")?Math.round:jn;function sb(n){n.min=nb(n.min),n.max=nb(n.max)}function qA(n){sb(n.x),sb(n.y)}function Kx(n,e,i){return n==="position"||n==="preserve-aspect"&&!uA(I0(e),I0(i),.2)}function FA(n){var e;return n!==n.root&&((e=n.scroll)==null?void 0:e.wasRoot)}const IA=Gx({attachResizeListener:(n,e)=>ho(n,"resize",e),measureScroll:()=>{var n,e;return{x:document.documentElement.scrollLeft||((n=document.body)==null?void 0:n.scrollLeft)||0,y:document.documentElement.scrollTop||((e=document.body)==null?void 0:e.scrollTop)||0}},checkIsScrollRoot:()=>!0}),bd={current:void 0},Yx=Gx({measureScroll:n=>({x:n.scrollLeft,y:n.scrollTop}),defaultParent:()=>{if(!bd.current){const n=new IA({});n.mount(window),n.setOptions({layoutScroll:!0}),bd.current=n}return bd.current},resetTransform:(n,e)=>{n.style.transform=e!==void 0?e:"none"},checkIsScrollRoot:n=>window.getComputedStyle(n).position==="fixed"}),Qf=M.createContext({transformPagePoint:n=>n,isStatic:!1,reducedMotion:"never"});function ib(n,e){if(typeof n=="function")return n(e);n!=null&&(n.current=e)}function GA(...n){return e=>{let i=!1;const a=n.map(l=>{const c=ib(l,e);return!i&&typeof c=="function"&&(i=!0),c});if(i)return()=>{for(let l=0;l{const{width:_,height:S,top:T,left:k,right:C,bottom:D,direction:j}=m.current;if(e||c===!1||!d.current||!_||!S)return;const V=j==="rtl",G=i==="left"?V?`right: ${C}`:`left: ${k}`:V?`left: ${k}`:`right: ${C}`,J=a==="bottom"?`bottom: ${D}`:`top: ${T}`;d.current.dataset.motionPopId=u;const q=document.createElement("style");p&&(q.nonce=p);const K=l??document.head;return K.appendChild(q),q.sheet&&q.sheet.insertRule(` + [data-motion-pop-id="${u}"] { + position: absolute !important; + width: ${_}px !important; + height: ${S}px !important; + ${G}px !important; + ${J}px !important; + } + `),()=>{var ie;(ie=d.current)==null||ie.removeAttribute("data-motion-pop-id"),K.contains(q)&&K.removeChild(q)}},[e]),g.jsx(YA,{isPresent:e,childRef:d,sizeRef:m,pop:c,children:c===!1?n:M.cloneElement(n,{ref:v})})}const JA=({children:n,initial:e,isPresent:i,onExitComplete:a,custom:l,presenceAffectsLayout:c,mode:u,anchorX:d,anchorY:m,root:p})=>{const y=Ef(QA),v=M.useId(),x=M.useRef(i),_=M.useRef(a);Af(()=>{x.current=i,_.current=a});let S=!0,T=M.useMemo(()=>(S=!1,{id:v,initial:e,isPresent:i,custom:l,onExitComplete:k=>{y.set(k,!0);for(const C of y.values())if(!C)return;a&&a()},register:k=>(y.set(k,!1),()=>{var C;y.delete(k),!x.current&&!y.size&&((C=_.current)==null||C.call(_))})}),[i,y,a]);return c&&S&&(T={...T}),M.useMemo(()=>{y.forEach((k,C)=>y.set(C,!1))},[i]),M.useEffect(()=>{!i&&!y.size&&a&&a()},[i]),n=g.jsx(XA,{pop:u==="popLayout",isPresent:i,anchorX:d,anchorY:m,root:p,children:n}),g.jsx(Dc.Provider,{value:T,children:n})};function QA(){return new Map}function Xx(n=!0){const e=M.useContext(Dc);if(e===null)return[!0,null];const{isPresent:i,onExitComplete:a,register:l}=e,c=M.useId();M.useEffect(()=>{if(n)return l(c)},[n]);const u=M.useCallback(()=>n&&a&&a(c),[c,a,n]);return!i&&a?[!1,u]:[!0]}const Fl=n=>n.key||"";function ab(n){const e=[];return M.Children.forEach(n,i=>{M.isValidElement(i)&&e.push(i)}),e}const ei=({children:n,custom:e,initial:i=!0,onExitComplete:a,presenceAffectsLayout:l=!0,mode:c="sync",propagate:u=!1,anchorX:d="left",anchorY:m="top",root:p})=>{const[y,v]=Xx(u),x=M.useMemo(()=>ab(n),[n]),_=u&&!y?[]:x.map(Fl),S=M.useRef(!0),T=M.useRef(x),k=Ef(()=>new Map),C=M.useRef(new Set),[D,j]=M.useState(x),[V,G]=M.useState(x);Af(()=>{S.current=!1,T.current=x;for(let K=0;K{const ie=Fl(K),X=u&&!y?!1:x===V||_.includes(ie),pe=()=>{if(C.current.has(ie))return;if(k.has(ie))C.current.add(ie),k.set(ie,!0);else return;let ce=!0;k.forEach(Ce=>{Ce||(ce=!1)}),ce&&(q==null||q(),G(T.current),u&&(v==null||v()),a&&a())};return g.jsx(JA,{isPresent:X,initial:!S.current||i?void 0:!1,custom:e,presenceAffectsLayout:l,mode:c,root:p,onExitComplete:X?void 0:pe,anchorX:d,anchorY:m,children:K},ie)})})},Jx=M.createContext({strict:!1}),rb={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]};let ob=!1;function ZA(){if(ob)return;const n={};for(const e in rb)n[e]={isEnabled:i=>rb[e].some(a=>!!i[a])};Ax(n),ob=!0}function Qx(){return ZA(),UE()}function WA(n){const e=Qx();for(const i in n)e[i]={...e[i],...n[i]};Ax(e)}const e2=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","propagate","ignoreStrict","viewport"]);function _c(n){return n.startsWith("while")||n.startsWith("drag")&&n!=="draggable"||n.startsWith("layout")||n.startsWith("onTap")||n.startsWith("onPan")||n.startsWith("onLayout")||e2.has(n)}let Zx=n=>!_c(n);function t2(n){typeof n=="function"&&(Zx=e=>e.startsWith("on")?!_c(e):n(e))}try{t2(require("@emotion/is-prop-valid").default)}catch{}function n2(n,e,i){const a={};for(const l in n)l==="values"&&typeof n.values=="object"||Bt(n[l])||(Zx(l)||i===!0&&_c(l)||!e&&!_c(l)||n.draggable&&l.startsWith("onDrag"))&&(a[l]=n[l]);return a}const Lc=M.createContext({});function s2(n,e){if(Uc(n)){const{initial:i,animate:a}=n;return{initial:i===!1||uo(i)?i:void 0,animate:uo(a)?a:void 0}}return n.inherit!==!1?e:{}}function i2(n){const{initial:e,animate:i}=s2(n,M.useContext(Lc));return M.useMemo(()=>({initial:e,animate:i}),[lb(e),lb(i)])}function lb(n){return Array.isArray(n)?n.join(" "):n}const Zf=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function Wx(n,e,i){for(const a in e)!Bt(e[a])&&!Dx(a,i)&&(n[a]=e[a])}function a2({transformTemplate:n},e){return M.useMemo(()=>{const i=Zf();return Xf(i,e,n),Object.assign({},i.vars,i.style)},[e])}function r2(n,e){const i=n.style||{},a={};return Wx(a,i,n),Object.assign(a,a2(n,e)),a}function o2(n,e){const i={},a=r2(n,e);return n.drag&&n.dragListener!==!1&&(i.draggable=!1,a.userSelect=a.WebkitUserSelect=a.WebkitTouchCallout="none",a.touchAction=n.drag===!0?"none":`pan-${n.drag==="x"?"y":"x"}`),n.tabIndex===void 0&&(n.onTap||n.onTapStart||n.whileTap)&&(i.tabIndex=0),i.style=a,i}const ew=()=>({...Zf(),attrs:{}});function l2(n,e,i,a){const l=M.useMemo(()=>{const c=ew();return Mx(c,e,Ux(a),n.transformTemplate,n.style),{...c.attrs,style:{...c.style}}},[e]);if(n.style){const c={};Wx(c,n.style,n),l.style={...c,...l.style}}return l}const c2=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function Wf(n){return typeof n!="string"||n.includes("-")?!1:!!(c2.indexOf(n)>-1||/[A-Z]/u.test(n))}function u2(n,e,i,{latestValues:a},l,c=!1,u){const m=(u??Wf(n)?l2:o2)(e,a,l,n),p=n2(e,typeof n=="string",c),y=n!==M.Fragment?{...p,...m,ref:i}:{},{children:v}=e,x=M.useMemo(()=>Bt(v)?v.get():v,[v]);return M.createElement(n,{...y,children:x})}function h2({scrapeMotionValuesFromProps:n,createRenderState:e},i,a,l){return{latestValues:d2(i,a,l,n),renderState:e()}}function d2(n,e,i,a){const l={},c=a(n,{});for(const x in c)l[x]=uc(c[x]);let{initial:u,animate:d}=n;const m=Uc(n),p=Tx(n);e&&p&&!m&&n.inherit!==!1&&(u===void 0&&(u=e.initial),d===void 0&&(d=e.animate));let y=i?i.initial===!1:!1;y=y||u===!1;const v=y?d:u;if(v&&typeof v!="boolean"&&!Bc(v)){const x=Array.isArray(v)?v:[v];for(let _=0;_(e,i)=>{const a=M.useContext(Lc),l=M.useContext(Dc),c=()=>h2(n,e,a,l);return i?c():Ef(c)},f2=tw({scrapeMotionValuesFromProps:Jf,createRenderState:Zf}),m2=tw({scrapeMotionValuesFromProps:Lx,createRenderState:ew}),p2=Symbol.for("motionComponentSymbol");function g2(n,e,i){const a=M.useRef(i);M.useInsertionEffect(()=>{a.current=i});const l=M.useRef(null);return M.useCallback(c=>{var d;c&&((d=n.onMount)==null||d.call(n,c)),e&&(c?e.mount(c):e.unmount());const u=a.current;if(typeof u=="function")if(c){const m=u(c);typeof m=="function"&&(l.current=m)}else l.current?(l.current(),l.current=null):u(c);else u&&(u.current=c)},[e])}const nw=M.createContext({});function Oa(n){return n&&typeof n=="object"&&Object.prototype.hasOwnProperty.call(n,"current")}function y2(n,e,i,a,l,c){var j,V;const{visualElement:u}=M.useContext(Lc),d=M.useContext(Jx),m=M.useContext(Dc),p=M.useContext(Qf),y=p.reducedMotion,v=p.skipAnimations,x=M.useRef(null),_=M.useRef(!1);a=a||d.renderer,!x.current&&a&&(x.current=a(n,{visualState:e,parent:u,props:i,presenceContext:m,blockInitialAnimation:m?m.initial===!1:!1,reducedMotionConfig:y,skipAnimations:v,isSVG:c}),_.current&&x.current&&(x.current.manuallyAnimateOnMount=!0));const S=x.current,T=M.useContext(nw);S&&!S.projection&&l&&(S.type==="html"||S.type==="svg")&&b2(x.current,i,l,T);const k=M.useRef(!1);M.useInsertionEffect(()=>{S&&k.current&&S.update(i,m)});const C=i[dx],D=M.useRef(!!C&&typeof window<"u"&&!((j=window.MotionHandoffIsComplete)!=null&&j.call(window,C))&&((V=window.MotionHasOptimisedAnimation)==null?void 0:V.call(window,C)));return Af(()=>{_.current=!0,S&&(k.current=!0,window.MotionIsMounted=!0,S.updateFeatures(),S.scheduleRenderMicrotask(),D.current&&S.animationState&&S.animationState.animateChanges())}),M.useEffect(()=>{S&&(!D.current&&S.animationState&&S.animationState.animateChanges(),D.current&&(queueMicrotask(()=>{var G;(G=window.MotionHandoffMarkAsComplete)==null||G.call(window,C)}),D.current=!1),S.enteringChildren=void 0)}),S}function b2(n,e,i,a){const{layoutId:l,layout:c,drag:u,dragConstraints:d,layoutScroll:m,layoutRoot:p,layoutAnchor:y,layoutCrossfade:v}=e;n.projection=new i(n.latestValues,e["data-framer-portal-id"]?void 0:sw(n.parent)),n.projection.setOptions({layoutId:l,layout:c,alwaysMeasureLayout:!!u||d&&Oa(d),visualElement:n,animationType:typeof c=="string"?c:"both",initialPromotionConfig:a,crossfade:v,layoutScroll:m,layoutRoot:p,layoutAnchor:y})}function sw(n){if(n)return n.options.allowProjection!==!1?n.projection:sw(n.parent)}function vd(n,{forwardMotionProps:e=!1,type:i}={},a,l){a&&WA(a);const c=i?i==="svg":Wf(n),u=c?m2:f2;function d(p,y){let v;const x={...M.useContext(Qf),...p,layoutId:v2(p)},{isStatic:_}=x,S=i2(p),T=u(p,_);if(!_&&typeof window<"u"){x2();const k=w2(x);v=k.MeasureLayout,S.visualElement=y2(n,T,x,l,k.ProjectionNode,c)}return g.jsxs(Lc.Provider,{value:S,children:[v&&S.visualElement?g.jsx(v,{visualElement:S.visualElement,...x}):null,u2(n,p,g2(T,S.visualElement,y),T,_,e,c)]})}d.displayName=`motion.${typeof n=="string"?n:`create(${n.displayName??n.name??""})`}`;const m=M.forwardRef(d);return m[p2]=n,m}function v2({layoutId:n}){const e=M.useContext(Tf).id;return e&&n!==void 0?e+"-"+n:n}function x2(n,e){M.useContext(Jx).strict}function w2(n){const e=Qx(),{drag:i,layout:a}=e;if(!i&&!a)return{};const l={...i,...a};return{MeasureLayout:i!=null&&i.isEnabled(n)||a!=null&&a.isEnabled(n)?l.MeasureLayout:void 0,ProjectionNode:l.ProjectionNode}}function _2(n,e){if(typeof Proxy>"u")return vd;const i=new Map,a=(c,u)=>vd(c,u,n,e),l=(c,u)=>a(c,u);return new Proxy(l,{get:(c,u)=>u==="create"?a:(i.has(u)||i.set(u,vd(u,void 0,n,e)),i.get(u))})}const S2=(n,e)=>e.isSVG??Wf(n)?new WE(e):new KE(e,{allowProjection:n!==M.Fragment});class T2 extends ri{constructor(e){super(e),e.animationState||(e.animationState=iA(e))}updateAnimationControlsSubscription(){const{animate:e}=this.node.getProps();Bc(e)&&(this.unmountControls=e.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:e}=this.node.getProps(),{animate:i}=this.node.prevProps||{};e!==i&&this.updateAnimationControlsSubscription()}unmount(){var e;this.node.animationState.reset(),(e=this.unmountControls)==null||e.call(this)}}let E2=0;class A2 extends ri{constructor(){super(...arguments),this.id=E2++,this.isExitComplete=!1}update(){var c;if(!this.node.presenceContext)return;const{isPresent:e,onExitComplete:i}=this.node.presenceContext,{isPresent:a}=this.node.prevPresenceContext||{};if(!this.node.animationState||e===a)return;if(e&&a===!1){if(this.isExitComplete){const{initial:u,custom:d}=this.node.getProps();if(typeof u=="string"||typeof u=="object"&&u!==null&&!Array.isArray(u)){const m=Pi(this.node,u,d);if(m){const{transition:p,transitionEnd:y,...v}=m;for(const x in v)(c=this.node.getValue(x))==null||c.jump(v[x])}}this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive("exit",!1);this.isExitComplete=!1;return}const l=this.node.animationState.setActive("exit",!e);i&&!e&&l.then(()=>{this.isExitComplete=!0,i(this.id)})}mount(){const{register:e,onExitComplete:i}=this.node.presenceContext||{};i&&i(this.id),e&&(this.unmount=e(this.id))}unmount(){}}const j2={animation:{Feature:T2},exit:{Feature:A2}};function jo(n){return{point:{x:n.pageX,y:n.pageY}}}const N2=n=>e=>If(e)&&n(e,jo(e));function so(n,e,i,a){return ho(n,e,N2(i),a)}const iw=({current:n})=>n?n.ownerDocument.defaultView:null,cb=(n,e)=>Math.abs(n-e);function k2(n,e){const i=cb(n.x,e.x),a=cb(n.y,e.y);return Math.sqrt(i**2+a**2)}const ub=new Set(["auto","scroll"]);class aw{constructor(e,i,{transformPagePoint:a,contextWindow:l=window,dragSnapToOrigin:c=!1,distanceThreshold:u=3,element:d}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=S=>{this.handleScroll(S.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=Il(this.lastRawMoveEventInfo,this.transformPagePoint));const S=xd(this.lastMoveEventInfo,this.history),T=this.startEvent!==null,k=k2(S.offset,{x:0,y:0})>=this.distanceThreshold;if(!T&&!k)return;const{point:C}=S,{timestamp:D}=Mt;this.history.push({...C,timestamp:D});const{onStart:j,onMove:V}=this.handlers;T||(j&&j(this.lastMoveEvent,S),this.startEvent=this.lastMoveEvent),V&&V(this.lastMoveEvent,S)},this.handlePointerMove=(S,T)=>{this.lastMoveEvent=S,this.lastRawMoveEventInfo=T,this.lastMoveEventInfo=Il(T,this.transformPagePoint),Xe.update(this.updatePoint,!0)},this.handlePointerUp=(S,T)=>{this.end();const{onEnd:k,onSessionEnd:C,resumeAnimation:D}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&D&&D(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const j=xd(S.type==="pointercancel"?this.lastMoveEventInfo:Il(T,this.transformPagePoint),this.history);this.startEvent&&k&&k(S,j),C&&C(S,j)},!If(e))return;this.dragSnapToOrigin=c,this.handlers=i,this.transformPagePoint=a,this.distanceThreshold=u,this.contextWindow=l||window;const m=jo(e),p=Il(m,this.transformPagePoint),{point:y}=p,{timestamp:v}=Mt;this.history=[{...y,timestamp:v}];const{onSessionStart:x}=i;x&&x(e,xd(p,this.history));const _={passive:!0,capture:!0};this.removeListeners=To(so(this.contextWindow,"pointermove",this.handlePointerMove,_),so(this.contextWindow,"pointerup",this.handlePointerUp,_),so(this.contextWindow,"pointercancel",this.handlePointerUp,_)),d&&this.startScrollTracking(d)}startScrollTracking(e){let i=e.parentElement;for(;i;){const a=getComputedStyle(i);(ub.has(a.overflowX)||ub.has(a.overflowY))&&this.scrollPositions.set(i,{x:i.scrollLeft,y:i.scrollTop}),i=i.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener("scroll",this.onElementScroll,{capture:!0}),window.addEventListener("scroll",this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener("scroll",this.onElementScroll,{capture:!0}),window.removeEventListener("scroll",this.onWindowScroll)}}handleScroll(e){const i=this.scrollPositions.get(e);if(!i)return;const a=e===window,l=a?{x:window.scrollX,y:window.scrollY}:{x:e.scrollLeft,y:e.scrollTop},c={x:l.x-i.x,y:l.y-i.y};c.x===0&&c.y===0||(a?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=c.x,this.lastMoveEventInfo.point.y+=c.y):this.history.length>0&&(this.history[0].x-=c.x,this.history[0].y-=c.y),this.scrollPositions.set(e,l),Xe.update(this.updatePoint,!0))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),ai(this.updatePoint)}}function Il(n,e){return e?{point:e(n.point)}:n}function hb(n,e){return{x:n.x-e.x,y:n.y-e.y}}function xd({point:n},e){return{point:n,delta:hb(n,rw(e)),offset:hb(n,C2(e)),velocity:R2(e,.1)}}function C2(n){return n[0]}function rw(n){return n[n.length-1]}function R2(n,e){if(n.length<2)return{x:0,y:0};let i=n.length-1,a=null;const l=rw(n);for(;i>=0&&(a=n[i],!(l.timestamp-a.timestamp>hn(e)));)i--;if(!a)return{x:0,y:0};a===n[0]&&n.length>2&&l.timestamp-a.timestamp>hn(e)*2&&(a=n[1]);const c=An(l.timestamp-a.timestamp);if(c===0)return{x:0,y:0};const u={x:(l.x-a.x)/c,y:(l.y-a.y)/c};return u.x===1/0&&(u.x=0),u.y===1/0&&(u.y=0),u}function O2(n,{min:e,max:i},a){return e!==void 0&&ni&&(n=a?Ye(i,n,a.max):Math.min(n,i)),n}function db(n,e,i){return{min:e!==void 0?n.min+e:void 0,max:i!==void 0?n.max+i-(n.max-n.min):void 0}}function D2(n,{top:e,left:i,bottom:a,right:l}){return{x:db(n.x,i,l),y:db(n.y,e,a)}}function fb(n,e){let i=e.min-n.min,a=e.max-n.max;return e.max-e.mina?i=lo(e.min,e.max-a,n.min):a>l&&(i=lo(n.min,n.max-l,e.min)),ns(0,1,i)}function U2(n,e){const i={};return e.min!==void 0&&(i.min=e.min-n.min),e.max!==void 0&&(i.max=e.max-n.min),i}const rf=.35;function L2(n=rf){return n===!1?n=0:n===!0&&(n=rf),{x:mb(n,"left","right"),y:mb(n,"top","bottom")}}function mb(n,e,i){return{min:pb(n,e),max:pb(n,i)}}function pb(n,e){return typeof n=="number"?n:n[e]||0}const z2=new WeakMap;class P2{constructor(e){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Tt(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=e}start(e,{snapToCursor:i=!1,distanceThreshold:a}={}){const{presenceContext:l}=this.visualElement;if(l&&l.isPresent===!1)return;const c=v=>{i&&this.snapToCursor(jo(v).point),this.stopAnimation()},u=(v,x)=>{const{drag:_,dragPropagation:S,onDragStart:T}=this.getProps();if(_&&!S&&(this.openDragLock&&this.openDragLock(),this.openDragLock=dE(_),!this.openDragLock))return;this.latestPointerEvent=v,this.latestPanInfo=x,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Qn(C=>{let D=this.getAxisMotionValue(C).get()||0;if(ts.test(D)){const{projection:j}=this.visualElement;if(j&&j.layout){const V=j.layout.layoutBox[C];V&&(D=qt(V)*(parseFloat(D)/100))}}this.originPoint[C]=D}),T&&Xe.update(()=>T(v,x),!1,!0),Xd(this.visualElement,"transform");const{animationState:k}=this.visualElement;k&&k.setActive("whileDrag",!0)},d=(v,x)=>{this.latestPointerEvent=v,this.latestPanInfo=x;const{dragPropagation:_,dragDirectionLock:S,onDirectionLock:T,onDrag:k}=this.getProps();if(!_&&!this.openDragLock)return;const{offset:C}=x;if(S&&this.currentDirection===null){this.currentDirection=H2(C),this.currentDirection!==null&&T&&T(this.currentDirection);return}this.updateAxis("x",x.point,C),this.updateAxis("y",x.point,C),this.visualElement.render(),k&&Xe.update(()=>k(v,x),!1,!0)},m=(v,x)=>{this.latestPointerEvent=v,this.latestPanInfo=x,this.stop(v,x),this.latestPointerEvent=null,this.latestPanInfo=null},p=()=>{const{dragSnapToOrigin:v}=this.getProps();(v||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:y}=this.getProps();this.panSession=new aw(e,{onSessionStart:c,onStart:u,onMove:d,onSessionEnd:m,resumeAnimation:p},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:y,distanceThreshold:a,contextWindow:iw(this.visualElement),element:this.visualElement.current})}stop(e,i){const a=e||this.latestPointerEvent,l=i||this.latestPanInfo,c=this.isDragging;if(this.cancel(),!c||!l||!a)return;const{velocity:u}=l;this.startAnimation(u);const{onDragEnd:d}=this.getProps();d&&Xe.postRender(()=>d(a,l))}cancel(){this.isDragging=!1;const{projection:e,animationState:i}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.endPanSession();const{dragPropagation:a}=this.getProps();!a&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),i&&i.setActive("whileDrag",!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(e,i,a){const{drag:l}=this.getProps();if(!a||!Gl(e,l,this.currentDirection))return;const c=this.getAxisMotionValue(e);let u=this.originPoint[e]+a[e];this.constraints&&this.constraints[e]&&(u=O2(u,this.constraints[e],this.elastic[e])),c.set(u)}resolveConstraints(){var c;const{dragConstraints:e,dragElastic:i}=this.getProps(),a=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):(c=this.visualElement.projection)==null?void 0:c.layout,l=this.constraints;e&&Oa(e)?this.constraints||(this.constraints=this.resolveRefConstraints()):e&&a?this.constraints=D2(a.layoutBox,e):this.constraints=!1,this.elastic=L2(i),l!==this.constraints&&!Oa(e)&&a&&this.constraints&&!this.hasMutatedConstraints&&Qn(u=>{this.constraints!==!1&&this.getAxisMotionValue(u)&&(this.constraints[u]=U2(a.layoutBox[u],this.constraints[u]))})}resolveRefConstraints(){const{dragConstraints:e,onMeasureDragConstraints:i}=this.getProps();if(!e||!Oa(e))return!1;const a=e.current,{projection:l}=this.visualElement;if(!l||!l.layout)return!1;l.root&&(l.root.scroll=void 0,l.root.updateScroll());const c=HE(a,l.root,this.visualElement.getTransformPagePoint());let u=M2(l.layout.layoutBox,c);if(i){const d=i(zE(u));this.hasMutatedConstraints=!!d,d&&(u=Nx(d))}return u}startAnimation(e){const{drag:i,dragMomentum:a,dragElastic:l,dragTransition:c,dragSnapToOrigin:u,onDragTransitionEnd:d}=this.getProps(),m=this.constraints||{},p=Qn(y=>{if(!Gl(y,i,this.currentDirection))return;let v=m&&m[y]||{};(u===!0||u===y)&&(v={min:0,max:0});const x=l?200:1e6,_=l?40:1e7,S={type:"inertia",velocity:a?e[y]:0,bounceStiffness:x,bounceDamping:_,timeConstant:750,restDelta:1,restSpeed:10,...c,...v};return this.startAxisValueAnimation(y,S)});return Promise.all(p).then(d)}startAxisValueAnimation(e,i){const a=this.getAxisMotionValue(e);return Xd(this.visualElement,e),a.start(Vf(e,a,0,i,this.visualElement,!1))}stopAnimation(){Qn(e=>this.getAxisMotionValue(e).stop())}getAxisMotionValue(e){const i=`_drag${e.toUpperCase()}`,l=this.visualElement.getProps()[i];return l||this.visualElement.getValue(e,this.visualElement.latestValues[e]??0)}snapToCursor(e){Qn(i=>{const{drag:a}=this.getProps();if(!Gl(i,a,this.currentDirection))return;const{projection:l}=this.visualElement,c=this.getAxisMotionValue(i);if(l&&l.layout){const{min:u,max:d}=l.layout.layoutBox[i],m=c.get()||0;c.set(e[i]-Ye(u,d,.5)+m)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:e,dragConstraints:i}=this.getProps(),{projection:a}=this.visualElement;if(!Oa(i)||!a||!this.constraints)return;this.stopAnimation();const l={x:0,y:0};Qn(u=>{const d=this.getAxisMotionValue(u);if(d&&this.constraints!==!1){const m=d.get();l[u]=B2({min:m,max:m},this.constraints[u])}});const{transformTemplate:c}=this.visualElement.getProps();this.visualElement.current.style.transform=c?c({},""):"none",a.root&&a.root.updateScroll(),a.updateLayout(),this.constraints=!1,this.resolveConstraints(),Qn(u=>{if(!Gl(u,e,null))return;const d=this.getAxisMotionValue(u),{min:m,max:p}=this.constraints[u];d.set(Ye(m,p,l[u]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;z2.set(this.visualElement,this);const e=this.visualElement.current,i=so(e,"pointerdown",p=>{const{drag:y,dragListener:v=!0}=this.getProps(),x=p.target,_=x!==e&&bE(x);y&&v&&!_&&this.start(p)});let a;const l=()=>{const{dragConstraints:p}=this.getProps();Oa(p)&&p.current&&(this.constraints=this.resolveRefConstraints(),a||(a=V2(e,p.current,()=>this.scalePositionWithinConstraints())))},{projection:c}=this.visualElement,u=c.addEventListener("measure",l);c&&!c.layout&&(c.root&&c.root.updateScroll(),c.updateLayout()),Xe.read(l);const d=ho(window,"resize",()=>this.scalePositionWithinConstraints()),m=c.addEventListener("didUpdate",(({delta:p,hasLayoutChanged:y})=>{this.isDragging&&y&&(Qn(v=>{const x=this.getAxisMotionValue(v);x&&(this.originPoint[v]+=p[v].translate,x.set(x.get()+p[v].translate))}),this.visualElement.render())}));return()=>{d(),i(),u(),m&&m(),a&&a()}}getProps(){const e=this.visualElement.getProps(),{drag:i=!1,dragDirectionLock:a=!1,dragPropagation:l=!1,dragConstraints:c=!1,dragElastic:u=rf,dragMomentum:d=!0}=e;return{...e,drag:i,dragDirectionLock:a,dragPropagation:l,dragConstraints:c,dragElastic:u,dragMomentum:d}}}function gb(n){let e=!0;return()=>{if(e){e=!1;return}n()}}function V2(n,e,i){const a=S0(n,gb(i)),l=S0(e,gb(i));return()=>{a(),l()}}function Gl(n,e,i){return(e===!0||e===n)&&(i===null||i===n)}function H2(n,e=10){let i=null;return Math.abs(n.y)>e?i="y":Math.abs(n.x)>e&&(i="x"),i}class $2 extends ri{constructor(e){super(e),this.removeGroupControls=jn,this.removeListeners=jn,this.controls=new P2(e)}mount(){const{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||jn}update(){const{dragControls:e}=this.node.getProps(),{dragControls:i}=this.node.prevProps||{};e!==i&&(this.removeGroupControls(),e&&(this.removeGroupControls=e.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}}const wd=n=>(e,i)=>{n&&Xe.update(()=>n(e,i),!1,!0)};class q2 extends ri{constructor(){super(...arguments),this.removePointerDownListener=jn}onPointerDown(e){this.session=new aw(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:iw(this.node)})}createPanHandlers(){const{onPanSessionStart:e,onPanStart:i,onPan:a,onPanEnd:l}=this.node.getProps();return{onSessionStart:wd(e),onStart:wd(i),onMove:wd(a),onEnd:(c,u)=>{delete this.session,l&&Xe.postRender(()=>l(c,u))}}}mount(){this.removePointerDownListener=so(this.node.current,"pointerdown",e=>this.onPointerDown(e))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}let _d=!1;class F2 extends M.Component{componentDidMount(){const{visualElement:e,layoutGroup:i,switchLayoutGroup:a,layoutId:l}=this.props,{projection:c}=e;c&&(i.group&&i.group.add(c),a&&a.register&&l&&a.register(c),_d&&c.root.didUpdate(),c.addEventListener("animationComplete",()=>{this.safeToRemove()}),c.setOptions({...c.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),hc.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){const{layoutDependency:i,visualElement:a,drag:l,isPresent:c}=this.props,{projection:u}=a;return u&&(u.isPresent=c,e.layoutDependency!==i&&u.setOptions({...u.options,layoutDependency:i}),_d=!0,l||e.layoutDependency!==i||i===void 0||e.isPresent!==c?u.willUpdate():this.safeToRemove(),e.isPresent!==c&&(c?u.promote():u.relegate()||Xe.postRender(()=>{const d=u.getStack();(!d||!d.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{visualElement:e,layoutAnchor:i}=this.props,{projection:a}=e;a&&(a.options.layoutAnchor=i,a.root.didUpdate(),Ff.postRender(()=>{!a.currentAnimation&&a.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:e,layoutGroup:i,switchLayoutGroup:a}=this.props,{projection:l}=e;_d=!0,l&&(l.scheduleCheckAfterUnmount(),i&&i.group&&i.group.remove(l),a&&a.deregister&&a.deregister(l))}safeToRemove(){const{safeToRemove:e}=this.props;e&&e()}render(){return null}}function ow(n){const[e,i]=Xx(),a=M.useContext(Tf);return g.jsx(F2,{...n,layoutGroup:a,switchLayoutGroup:M.useContext(nw),isPresent:e,safeToRemove:i})}const I2={pan:{Feature:q2},drag:{Feature:$2,ProjectionNode:Yx,MeasureLayout:ow}};function yb(n,e,i){const{props:a}=n;n.animationState&&a.whileHover&&n.animationState.setActive("whileHover",i==="Start");const l="onHover"+i,c=a[l];c&&Xe.postRender(()=>c(e,jo(e)))}class G2 extends ri{mount(){const{current:e}=this.node;e&&(this.unmount=mE(e,(i,a)=>(yb(this.node,a,"Start"),l=>yb(this.node,l,"End"))))}unmount(){}}class K2 extends ri{constructor(){super(...arguments),this.isActive=!1}onFocus(){let e=!1;try{e=this.node.current.matches(":focus-visible")}catch{e=!0}!e||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=To(ho(this.node.current,"focus",()=>this.onFocus()),ho(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function bb(n,e,i){const{props:a}=n;if(n.current instanceof HTMLButtonElement&&n.current.disabled)return;n.animationState&&a.whileTap&&n.animationState.setActive("whileTap",i==="Start");const l="onTap"+(i==="End"?"":i),c=a[l];c&&Xe.postRender(()=>c(e,jo(e)))}class Y2 extends ri{mount(){const{current:e}=this.node;if(!e)return;const{globalTapTarget:i,propagate:a}=this.node.props;this.unmount=xE(e,(l,c)=>(bb(this.node,c,"Start"),(u,{success:d})=>bb(this.node,u,d?"End":"Cancel")),{useGlobalTarget:i,stopPropagation:(a==null?void 0:a.tap)===!1})}unmount(){}}const of=new WeakMap,Sd=new WeakMap,X2=n=>{const e=of.get(n.target);e&&e(n)},J2=n=>{n.forEach(X2)};function Q2({root:n,...e}){const i=n||document;Sd.has(i)||Sd.set(i,{});const a=Sd.get(i),l=JSON.stringify(e);return a[l]||(a[l]=new IntersectionObserver(J2,{root:n,...e})),a[l]}function Z2(n,e,i){const a=Q2(e);return of.set(n,i),a.observe(n),()=>{of.delete(n),a.unobserve(n)}}const W2={some:0,all:1};class ej extends ri{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){var m;(m=this.stopObserver)==null||m.call(this);const{viewport:e={}}=this.node.getProps(),{root:i,margin:a,amount:l="some",once:c}=e,u={root:i?i.current:void 0,rootMargin:a,threshold:typeof l=="number"?l:W2[l]},d=p=>{const{isIntersecting:y}=p;if(this.isInView===y||(this.isInView=y,c&&!y&&this.hasEnteredView))return;y&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",y);const{onViewportEnter:v,onViewportLeave:x}=this.node.getProps(),_=y?v:x;_&&_(p)};this.stopObserver=Z2(this.node.current,u,d)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:e,prevProps:i}=this.node;["amount","margin","root"].some(tj(e,i))&&this.startObserver()}unmount(){var e;(e=this.stopObserver)==null||e.call(this),this.hasEnteredView=!1,this.isInView=!1}}function tj({viewport:n={}},{viewport:e={}}={}){return i=>n[i]!==e[i]}const nj={inView:{Feature:ej},tap:{Feature:Y2},focus:{Feature:K2},hover:{Feature:G2}},sj={layout:{ProjectionNode:Yx,MeasureLayout:ow}},ij={...j2,...nj,...I2,...sj},aj=_2(ij,S2),cn=aj;/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const rj=n=>n.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),oj=n=>n.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,i,a)=>a?a.toUpperCase():i.toLowerCase()),vb=n=>{const e=oj(n);return e.charAt(0).toUpperCase()+e.slice(1)},lw=(...n)=>n.filter((e,i,a)=>!!e&&e.trim()!==""&&a.indexOf(e)===i).join(" ").trim(),lj=n=>{for(const e in n)if(e.startsWith("aria-")||e==="role"||e==="title")return!0};/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */var cj={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const uj=M.forwardRef(({color:n="currentColor",size:e=24,strokeWidth:i=2,absoluteStrokeWidth:a,className:l="",children:c,iconNode:u,...d},m)=>M.createElement("svg",{ref:m,...cj,width:e,height:e,stroke:n,strokeWidth:a?Number(i)*24/Number(e):i,className:lw("lucide",l),...!c&&!lj(d)&&{"aria-hidden":"true"},...d},[...u.map(([p,y])=>M.createElement(p,y)),...Array.isArray(c)?c:[c]]));/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Be=(n,e)=>{const i=M.forwardRef(({className:a,...l},c)=>M.createElement(uj,{ref:c,iconNode:e,className:lw(`lucide-${rj(vb(n))}`,`lucide-${n}`,a),...l}));return i.displayName=vb(n),i};/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const hj=[["path",{d:"M8 3 4 7l4 4",key:"9rb6wj"}],["path",{d:"M4 7h16",key:"6tx8e3"}],["path",{d:"m16 21 4-4-4-4",key:"siv7j2"}],["path",{d:"M20 17H4",key:"h6l3hr"}]],dj=Be("arrow-left-right",hj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const fj=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],mj=Be("arrow-right",fj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const pj=[["rect",{width:"20",height:"12",x:"2",y:"6",rx:"2",key:"9lu3g6"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M6 12h.01M18 12h.01",key:"113zkx"}]],xb=Be("banknote",pj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const gj=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 18h.01",key:"lrp35t"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M16 18h.01",key:"kzsmim"}]],yj=Be("calendar-days",gj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const bj=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]],vj=Be("calendar",bj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const xj=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],wj=Be("chevron-down",xj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const _j=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],Sj=Be("circle-alert",_j);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Tj=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Sc=Be("circle-check",Tj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Ej=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}],["path",{d:"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662",key:"154egf"}]],Aj=Be("circle-user",Ej);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const jj=[["path",{d:"M21.54 15H17a2 2 0 0 0-2 2v4.54",key:"1djwo0"}],["path",{d:"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17",key:"1tzkfa"}],["path",{d:"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05",key:"14pb5j"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],cw=Be("earth",jj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Nj=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],kj=Be("external-link",Nj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Cj=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Rj=Be("eye",Cj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Oj=[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]],Da=Be("file-spreadsheet",Oj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Dj=[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],Kl=Be("file-text",Dj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Mj=[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]],Bj=Be("funnel",Mj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Uj=[["rect",{x:"3",y:"8",width:"18",height:"4",rx:"1",key:"bkv52"}],["path",{d:"M12 8v13",key:"1c76mn"}],["path",{d:"M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7",key:"6wjy6b"}],["path",{d:"M7.5 8a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5 2.5 2.5 0 0 1 0 5",key:"1ihvrl"}]],wb=Be("gift",Uj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Lj=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]],zj=Be("history",Lj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Pj=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],uw=Be("info",Pj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Vj=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],qa=Be("loader-circle",Vj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Hj=[["circle",{cx:"12",cy:"16",r:"1",key:"1au0dj"}],["rect",{x:"3",y:"10",width:"18",height:"12",rx:"2",key:"6s8ecr"}],["path",{d:"M7 10V7a5 5 0 0 1 10 0v3",key:"1pqi11"}]],$j=Be("lock-keyhole",Hj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const qj=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],Fj=Be("log-out",qj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Ij=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],hw=Be("menu",Ij);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Gj=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M12 15h.01",key:"q59x07"}],["path",{d:"M12 7v4",key:"xawao1"}]],Kj=Be("message-square-warning",Gj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Yj=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],Xj=Be("play",Yj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Jj=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],Qj=Be("plus",Jj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Zj=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],Wj=Be("refresh-cw",Zj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const eN=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],Jr=Be("search",eN);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const tN=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],dw=Be("send",tN);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const nN=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],Aa=Be("trash-2",nN);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const sN=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],fo=Be("triangle-alert",sN);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const iN=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],Gr=Be("upload",iN);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const aN=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Ya=Be("x",aN),mo=[{code:"GT",name:"Guatemala",flag:"/cruce-cuentas/gt-flag.png",currency:"GTQ",locale:"es-GT",enabled:!0},{code:"TT",name:"Trinidad y Tobago",flag:"/cruce-cuentas/tt-flag.png",currency:"TTD",locale:"en-TT",enabled:!0},{code:"PA",name:"Panamá",flag:"https://dbit.digitalcompass.agency/storage/v1/object/public/public-assets/Flag_of_Panama.svg",currency:"USD",locale:"es-PA",enabled:!0}];function _b(n){return mo.find(e=>e.code===n)??mo[0]}const rN="https://dbit.digitalcompass.agency/storage/v1/object/public/public-assets/GLM_completo.png";function oN({currentView:n,onViewChange:e,onNewCruce:i,isSidebarOpen:a=!1,onCloseSidebar:l,user:c,isAuthEnabled:u=!1,onLogout:d,country:m,onCountryChange:p,onChooseAnotherCountry:y}){const[v,x]=M.useState(!1),_=M.useRef(null);return M.useEffect(()=>{function S(T){_.current&&!_.current.contains(T.target)&&x(!1)}return document.addEventListener("mousedown",S),()=>document.removeEventListener("mousedown",S)},[]),g.jsxs("aside",{className:`bg-neutral-100 h-screen w-64 fixed left-0 top-0 flex flex-col z-50 pb-6 min-h-screen font-sans transition-transform duration-300 md:translate-x-0 ${a?"translate-x-0":"-translate-x-full"}`,children:[g.jsx("div",{className:"absolute right-0 top-0 h-[80px] w-px bg-[#D0D0D0] pointer-events-none z-10 hidden md:block"}),g.jsx("div",{className:"absolute right-0 top-[84px] bottom-0 w-px bg-[#D0D0D0] pointer-events-none z-10 hidden md:block"}),g.jsxs("div",{className:"h-[84px] px-4 flex justify-between md:justify-center items-center bg-white border-b-4 border-[#6CC24A] relative",children:[g.jsx("img",{alt:"GomezLee Marketing logo",className:"h-10 object-contain selection:bg-transparent",src:rN}),g.jsx("button",{onClick:l,className:"md:hidden p-2 text-neutral-500 hover:text-neutral-800 transition-colors","aria-label":"Cerrar menú",children:g.jsx(Ya,{className:"w-5 h-5"})})]}),g.jsxs("div",{className:"px-4 pt-5",children:[g.jsxs("label",{className:"block",children:[g.jsxs("span",{className:"text-[9px] uppercase tracking-wider font-black text-neutral-400 flex items-center gap-1.5 mb-1.5",children:[g.jsx(cw,{className:"w-3.5 h-3.5"}),"País"]}),g.jsxs("div",{className:"relative",ref:_,children:[g.jsxs("button",{type:"button",onClick:()=>x(!v),className:"w-full border border-neutral-300 bg-white px-3 py-2 text-xs font-bold text-[#4F758B] focus:outline-none focus:border-[#4F758B] flex items-center justify-between transition-colors hover:bg-neutral-50",children:[g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx("img",{src:m.flag,alt:"",className:"w-5 h-3.5 object-cover shadow-sm border border-neutral-200"}),g.jsx("span",{children:m.name})]}),g.jsx(wj,{className:`w-4 h-4 text-[#4F758B] transition-transform ${v?"rotate-180":""}`})]}),v&&g.jsx("ul",{className:"absolute left-0 right-0 top-full mt-1 bg-white border border-neutral-300 shadow-lg z-50 py-1",children:mo.map(S=>g.jsx("li",{children:g.jsxs("button",{type:"button",disabled:!S.enabled,onClick:()=>{p(S.code),x(!1)},className:`w-full text-left px-3 py-2.5 text-xs font-bold flex items-center gap-2.5 transition-colors ${S.enabled?"hover:bg-neutral-100 text-[#4F758B]":"opacity-60 cursor-not-allowed text-neutral-500 bg-neutral-50"}`,children:[g.jsx("img",{src:S.flag,alt:"",className:"w-6 h-4 object-cover shadow-sm border border-neutral-200 bg-white flex-shrink-0"}),g.jsxs("span",{className:"min-w-0 text-left leading-tight",children:[g.jsx("span",{className:"block",children:S.name}),!S.enabled&&g.jsx("span",{className:"block mt-1 text-[10px] text-neutral-400 font-medium italic",children:"Próximamente"})]})]})},S.code))})]})]}),g.jsx("button",{type:"button",onClick:y,className:"mt-2 text-[9px] font-bold uppercase tracking-wider text-neutral-400 hover:text-[#4F758B]",children:"Ver países disponibles"})]}),g.jsx("nav",{className:"flex-1 flex flex-col mt-5",children:g.jsxs("ul",{className:"space-y-1",children:[g.jsx("li",{children:g.jsxs("button",{onClick:()=>e("cruce"),className:`w-full flex items-center gap-3 px-6 py-3.5 transition-all duration-150 text-left font-bold text-sm tracking-wide ${n==="cruce"?"bg-[#4F758B] text-white":"text-neutral-600 hover:bg-neutral-200 hover:text-neutral-800"}`,children:[g.jsx(dj,{className:`w-4 h-4 ${n==="cruce"?"text-[#6CC24A]":""}`}),g.jsx("span",{children:"Cruce de Cuentas"})]})}),g.jsx("li",{children:g.jsxs("button",{onClick:()=>e("historial"),className:`w-full flex items-center gap-3 px-6 py-3.5 transition-all duration-150 text-left font-bold text-sm tracking-wide ${n==="historial"?"bg-[#4F758B] text-white":"text-neutral-600 hover:bg-neutral-200 hover:text-neutral-800"}`,children:[g.jsx(zj,{className:`w-4 h-4 ${n==="historial"?"text-[#6CC24A]":""}`}),g.jsx("span",{children:"Reportes Históricos"})]})})]})}),g.jsxs("div",{className:"px-4 space-y-3 pt-4 border-t border-[#D0D0D0] bg-neutral-100",children:[c&&g.jsxs("div",{className:"border border-neutral-200 bg-white px-3 py-3 flex items-center gap-2",children:[g.jsx(Aj,{className:"w-4 h-4 text-[#4F758B] flex-shrink-0"}),g.jsxs("div",{className:"min-w-0",children:[g.jsx("p",{className:"text-[11px] font-black text-neutral-700 truncate",title:c.name,children:c.name}),g.jsx("p",{className:"text-[9px] text-neutral-400 truncate",title:c.email,children:c.email})]})]}),g.jsxs("button",{onClick:i,className:"w-full bg-[#6CC24A] hover:bg-[#5bb03c] text-white py-3 px-4 font-bold text-xs uppercase tracking-wider flex items-center justify-center gap-2 transition-all duration-150 shadow-sm active:scale-98",children:[g.jsx(Qj,{className:"w-4 h-4"}),g.jsx("span",{children:"Nuevo Cruce"})]}),u&&d&&g.jsxs("button",{onClick:d,className:"w-full border border-neutral-300 bg-white hover:bg-neutral-50 text-neutral-600 py-2.5 px-4 font-bold text-[11px] uppercase tracking-wider flex items-center justify-center gap-2 transition-all duration-150",children:[g.jsx(Fj,{className:"w-4 h-4"}),g.jsx("span",{children:"Cerrar sesión"})]})]})]})}function zc(n,e){var i={};for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&e.indexOf(a)<0&&(i[a]=n[a]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var l=0,a=Object.getOwnPropertySymbols(n);ln?(...e)=>n(...e):(...e)=>fetch(...e);class em extends Error{constructor(e,i="FunctionsError",a){super(e),this.name=i,this.context=a}toJSON(){return{name:this.name,message:this.message,context:this.context}}}class uN extends em{constructor(e){super("Failed to send a request to the Edge Function","FunctionsFetchError",e)}}class Sb extends em{constructor(e){super("Relay Error invoking the Edge Function","FunctionsRelayError",e)}}class Tb extends em{constructor(e){super("Edge Function returned a non-2xx status code","FunctionsHttpError",e)}}var lf;(function(n){n.Any="any",n.ApNortheast1="ap-northeast-1",n.ApNortheast2="ap-northeast-2",n.ApSouth1="ap-south-1",n.ApSoutheast1="ap-southeast-1",n.ApSoutheast2="ap-southeast-2",n.CaCentral1="ca-central-1",n.EuCentral1="eu-central-1",n.EuWest1="eu-west-1",n.EuWest2="eu-west-2",n.EuWest3="eu-west-3",n.SaEast1="sa-east-1",n.UsEast1="us-east-1",n.UsWest1="us-west-1",n.UsWest2="us-west-2"})(lf||(lf={}));class hN{constructor(e,{headers:i={},customFetch:a,region:l=lf.Any}={}){this.url=e,this.headers=i,this.region=l,this.fetch=cN(a)}setAuth(e){this.headers.Authorization=`Bearer ${e}`}invoke(e){return lN(this,arguments,void 0,function*(i,a={}){var l;let c,u;try{const{headers:d,method:m,body:p,signal:y,timeout:v}=a;let x={},{region:_}=a;_||(_=this.region);const S=new URL(`${this.url}/${i}`);_&&_!=="any"&&(x["x-region"]=_,S.searchParams.set("forceFunctionRegion",_));let T;const k=!!d&&Object.keys(d).some(J=>J.toLowerCase()==="content-type");p&&!k?typeof Blob<"u"&&p instanceof Blob||p instanceof ArrayBuffer?(x["Content-Type"]="application/octet-stream",T=p):typeof p=="string"?(x["Content-Type"]="text/plain",T=p):typeof FormData<"u"&&p instanceof FormData?T=p:(x["Content-Type"]="application/json",T=JSON.stringify(p)):p&&typeof p!="string"&&!(typeof Blob<"u"&&p instanceof Blob)&&!(p instanceof ArrayBuffer)&&!(typeof FormData<"u"&&p instanceof FormData)?T=JSON.stringify(p):T=p;let C=y;v&&(u=new AbortController,c=setTimeout(()=>u.abort(),v),y?(C=u.signal,y.addEventListener("abort",()=>u.abort())):C=u.signal);const D=yield this.fetch(S.toString(),{method:m||"POST",headers:Object.assign(Object.assign(Object.assign({},x),this.headers),d),body:T,signal:C}).catch(J=>{throw new uN(J)}),j=D.headers.get("x-relay-error");if(j&&j==="true")throw new Sb(D);if(!D.ok)throw new Tb(D);let V=((l=D.headers.get("Content-Type"))!==null&&l!==void 0?l:"text/plain").split(";")[0].trim(),G;return V==="application/json"?G=yield D.json():V==="application/octet-stream"||V==="application/pdf"?G=yield D.blob():V==="text/event-stream"?G=D:V==="multipart/form-data"?G=yield D.formData():G=yield D.text(),{data:G,error:null,response:D}}catch(d){return{data:null,error:d,response:d instanceof Tb||d instanceof Sb?d.context:void 0}}finally{c&&clearTimeout(c)}})}}const fw=3,Eb=n=>Math.min(1e3*2**n,3e4),dN=[520,503],mw=["GET","HEAD","OPTIONS"];var Ab=class extends Error{constructor(n){super(n.message),this.name="PostgrestError",this.details=n.details,this.hint=n.hint,this.code=n.code}toJSON(){return{name:this.name,message:this.message,details:this.details,hint:this.hint,code:this.code}}};function jb(n,e){return new Promise(i=>{if(e!=null&&e.aborted){i();return}const a=setTimeout(()=>{e==null||e.removeEventListener("abort",l),i()},n);function l(){clearTimeout(a),i()}e==null||e.addEventListener("abort",l)})}function fN(n,e,i,a){return!(!a||i>=fw||!mw.includes(n)||!dN.includes(e))}var mN=class{constructor(n){var e,i,a,l,c;this.shouldThrowOnError=!1,this.retryEnabled=!0,this.method=n.method,this.url=n.url,this.headers=new Headers(n.headers),this.schema=n.schema,this.body=n.body,this.shouldThrowOnError=(e=n.shouldThrowOnError)!==null&&e!==void 0?e:!1,this.signal=n.signal,this.isMaybeSingle=(i=n.isMaybeSingle)!==null&&i!==void 0?i:!1,this.shouldStripNulls=(a=n.shouldStripNulls)!==null&&a!==void 0?a:!1,this.urlLengthLimit=(l=n.urlLengthLimit)!==null&&l!==void 0?l:8e3,this.retryEnabled=(c=n.retry)!==null&&c!==void 0?c:!0,n.fetch?this.fetch=n.fetch:this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}stripNulls(){if(this.headers.get("Accept")==="text/csv")throw new Error("stripNulls() cannot be used with csv()");return this.shouldStripNulls=!0,this}setHeader(n,e){return this.headers=new Headers(this.headers),this.headers.set(n,e),this}retry(n){return this.retryEnabled=n,this}then(n,e){var i=this;if(this.schema===void 0||(["GET","HEAD"].includes(this.method)?this.headers.set("Accept-Profile",this.schema):this.headers.set("Content-Profile",this.schema)),this.method!=="GET"&&this.method!=="HEAD"&&this.headers.set("Content-Type","application/json"),this.shouldStripNulls){const u=this.headers.get("Accept");u==="application/vnd.pgrst.object+json"?this.headers.set("Accept","application/vnd.pgrst.object+json;nulls=stripped"):(!u||u==="application/json")&&this.headers.set("Accept","application/vnd.pgrst.array+json;nulls=stripped")}const a=this.fetch;let c=(async()=>{let u=0;for(;;){const p={};i.headers.forEach((v,x)=>{p[x]=v}),u>0&&(p["X-Retry-Count"]=String(u));let y;try{y=await a(i.url.toString(),{method:i.method,headers:p,body:JSON.stringify(i.body,(v,x)=>typeof x=="bigint"?x.toString():x),signal:i.signal})}catch(v){if((v==null?void 0:v.name)==="AbortError"||(v==null?void 0:v.code)==="ABORT_ERR"||!mw.includes(i.method))throw v;if(i.retryEnabled&&u{var d;let m="",p="",y="";const v=u==null?void 0:u.cause;if(v){var x,_,S,T;const D=(x=v==null?void 0:v.message)!==null&&x!==void 0?x:"",j=(_=v==null?void 0:v.code)!==null&&_!==void 0?_:"";m=`${(S=u==null?void 0:u.name)!==null&&S!==void 0?S:"FetchError"}: ${u==null?void 0:u.message}`,m+=` + +Caused by: ${(T=v==null?void 0:v.name)!==null&&T!==void 0?T:"Error"}: ${D}`,j&&(m+=` (${j})`),v!=null&&v.stack&&(m+=` +${v.stack}`)}else{var k;m=(k=u==null?void 0:u.stack)!==null&&k!==void 0?k:""}const C=this.url.toString().length;return(u==null?void 0:u.name)==="AbortError"||(u==null?void 0:u.code)==="ABORT_ERR"?(y="",p="Request was aborted (timeout or manual cancellation)",C>this.urlLengthLimit&&(p+=`. Note: Your request URL is ${C} characters, which may exceed server limits. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [many IDs])), consider using an RPC function to pass values server-side.`)):((v==null?void 0:v.name)==="HeadersOverflowError"||(v==null?void 0:v.code)==="UND_ERR_HEADERS_OVERFLOW")&&(y="",p="HTTP headers exceeded server limits (typically 16KB)",C>this.urlLengthLimit&&(p+=`. Your request URL is ${C} characters. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [200+ IDs])), consider using an RPC function instead.`)),{success:!1,error:{message:`${(d=u==null?void 0:u.name)!==null&&d!==void 0?d:"FetchError"}: ${u==null?void 0:u.message}`,details:m,hint:p,code:y},data:null,count:null,status:0,statusText:""}})),c.then(n,e)}async processResponse(n){var e=this;let i=null,a=null,l=null,c=n.status,u=n.statusText;if(n.ok){var d,m;if(e.method!=="HEAD"){var p;const x=await n.text();if(x!=="")if(e.headers.get("Accept")==="text/csv")a=x;else if(e.headers.get("Accept")&&(!((p=e.headers.get("Accept"))===null||p===void 0)&&p.includes("application/vnd.pgrst.plan+text")))a=x;else try{a=JSON.parse(x)}catch{if(i={message:x},a=null,e.shouldThrowOnError)throw new Ab({message:x,details:"",hint:"",code:""})}}const y=(d=e.headers.get("Prefer"))===null||d===void 0?void 0:d.match(/count=(exact|planned|estimated)/),v=(m=n.headers.get("content-range"))===null||m===void 0?void 0:m.split("/");y&&v&&v.length>1&&(l=parseInt(v[1])),e.isMaybeSingle&&Array.isArray(a)&&(a.length>1?(i={code:"PGRST116",details:`Results contain ${a.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:"JSON object requested, multiple (or no) rows returned"},a=null,l=null,c=406,u="Not Acceptable"):a.length===1?a=a[0]:a=null)}else{const y=await n.text();try{i=JSON.parse(y),Array.isArray(i)&&n.status===404&&(a=[],i=null,c=200,u="OK")}catch{n.status===404&&y===""?(c=204,u="No Content"):i={message:y}}if(i&&e.shouldThrowOnError)throw new Ab(i)}return{success:i===null,error:i,data:a,count:l,status:c,statusText:u}}returns(){return this}overrideTypes(){return this}},pN=class extends mN{throwOnError(){return super.throwOnError()}select(n){let e=!1;const i=(n??"*").split("").map(a=>/\s/.test(a)&&!e?"":(a==='"'&&(e=!e),a)).join("");return this.url.searchParams.set("select",i),this.headers.append("Prefer","return=representation"),this}order(n,{ascending:e=!0,nullsFirst:i,foreignTable:a,referencedTable:l=a}={}){const c=l?`${l}.order`:"order",u=this.url.searchParams.get(c);return this.url.searchParams.set(c,`${u?`${u},`:""}${n}.${e?"asc":"desc"}${i===void 0?"":i?".nullsfirst":".nullslast"}`),this}limit(n,{foreignTable:e,referencedTable:i=e}={}){const a=typeof i>"u"?"limit":`${i}.limit`;return this.url.searchParams.set(a,`${n}`),this}range(n,e,{foreignTable:i,referencedTable:a=i}={}){const l=typeof a>"u"?"offset":`${a}.offset`,c=typeof a>"u"?"limit":`${a}.limit`;return this.url.searchParams.set(l,`${n}`),this.url.searchParams.set(c,`${e-n+1}`),this}abortSignal(n){return this.signal=n,this}single(){return this.headers.set("Accept","application/vnd.pgrst.object+json"),this}maybeSingle(){return this.isMaybeSingle=!0,this}csv(){return this.headers.set("Accept","text/csv"),this}geojson(){return this.headers.set("Accept","application/geo+json"),this}explain({analyze:n=!1,verbose:e=!1,settings:i=!1,buffers:a=!1,wal:l=!1,format:c="text"}={}){var u;const d=[n?"analyze":null,e?"verbose":null,i?"settings":null,a?"buffers":null,l?"wal":null].filter(Boolean).join("|"),m=(u=this.headers.get("Accept"))!==null&&u!==void 0?u:"application/json";return this.headers.set("Accept",`application/vnd.pgrst.plan+${c}; for="${m}"; options=${d};`),c==="json"?this:this}rollback(){return this.headers.append("Prefer","tx=rollback"),this}returns(){return this}maxAffected(n){return this.headers.append("Prefer","handling=strict"),this.headers.append("Prefer",`max-affected=${n}`),this}};const Nb=new RegExp("[,()]");var Ma=class extends pN{throwOnError(){return super.throwOnError()}eq(n,e){return this.url.searchParams.append(n,`eq.${e}`),this}neq(n,e){return this.url.searchParams.append(n,`neq.${e}`),this}gt(n,e){return this.url.searchParams.append(n,`gt.${e}`),this}gte(n,e){return this.url.searchParams.append(n,`gte.${e}`),this}lt(n,e){return this.url.searchParams.append(n,`lt.${e}`),this}lte(n,e){return this.url.searchParams.append(n,`lte.${e}`),this}like(n,e){return this.url.searchParams.append(n,`like.${e}`),this}likeAllOf(n,e){return this.url.searchParams.append(n,`like(all).{${e.join(",")}}`),this}likeAnyOf(n,e){return this.url.searchParams.append(n,`like(any).{${e.join(",")}}`),this}ilike(n,e){return this.url.searchParams.append(n,`ilike.${e}`),this}ilikeAllOf(n,e){return this.url.searchParams.append(n,`ilike(all).{${e.join(",")}}`),this}ilikeAnyOf(n,e){return this.url.searchParams.append(n,`ilike(any).{${e.join(",")}}`),this}regexMatch(n,e){return this.url.searchParams.append(n,`match.${e}`),this}regexIMatch(n,e){return this.url.searchParams.append(n,`imatch.${e}`),this}is(n,e){return this.url.searchParams.append(n,`is.${e}`),this}isDistinct(n,e){return this.url.searchParams.append(n,`isdistinct.${e}`),this}in(n,e){const i=Array.from(new Set(e)).map(a=>typeof a=="string"&&Nb.test(a)?`"${a}"`:`${a}`).join(",");return this.url.searchParams.append(n,`in.(${i})`),this}notIn(n,e){const i=Array.from(new Set(e)).map(a=>typeof a=="string"&&Nb.test(a)?`"${a}"`:`${a}`).join(",");return this.url.searchParams.append(n,`not.in.(${i})`),this}contains(n,e){return typeof e=="string"?this.url.searchParams.append(n,`cs.${e}`):Array.isArray(e)?this.url.searchParams.append(n,`cs.{${e.join(",")}}`):this.url.searchParams.append(n,`cs.${JSON.stringify(e)}`),this}containedBy(n,e){return typeof e=="string"?this.url.searchParams.append(n,`cd.${e}`):Array.isArray(e)?this.url.searchParams.append(n,`cd.{${e.join(",")}}`):this.url.searchParams.append(n,`cd.${JSON.stringify(e)}`),this}rangeGt(n,e){return this.url.searchParams.append(n,`sr.${e}`),this}rangeGte(n,e){return this.url.searchParams.append(n,`nxl.${e}`),this}rangeLt(n,e){return this.url.searchParams.append(n,`sl.${e}`),this}rangeLte(n,e){return this.url.searchParams.append(n,`nxr.${e}`),this}rangeAdjacent(n,e){return this.url.searchParams.append(n,`adj.${e}`),this}overlaps(n,e){return typeof e=="string"?this.url.searchParams.append(n,`ov.${e}`):this.url.searchParams.append(n,`ov.{${e.join(",")}}`),this}textSearch(n,e,{config:i,type:a}={}){let l="";a==="plain"?l="pl":a==="phrase"?l="ph":a==="websearch"&&(l="w");const c=i===void 0?"":`(${i})`;return this.url.searchParams.append(n,`${l}fts${c}.${e}`),this}match(n){return Object.entries(n).filter(([e,i])=>i!==void 0).forEach(([e,i])=>{this.url.searchParams.append(e,`eq.${i}`)}),this}not(n,e,i){return this.url.searchParams.append(n,`not.${e}.${i}`),this}or(n,{foreignTable:e,referencedTable:i=e}={}){const a=i?`${i}.or`:"or";return this.url.searchParams.append(a,`(${n})`),this}filter(n,e,i){return this.url.searchParams.append(n,`${e}.${i}`),this}},gN=class{constructor(n,{headers:e={},schema:i,fetch:a,urlLengthLimit:l=8e3,retry:c}){this.url=n,this.headers=new Headers(e),this.schema=i,this.fetch=a,this.urlLengthLimit=l,this.retry=c}cloneRequestState(){return{url:new URL(this.url.toString()),headers:new Headers(this.headers)}}select(n,e){const{head:i=!1,count:a}=e??{},l=i?"HEAD":"GET";let c=!1;const u=(n??"*").split("").map(p=>/\s/.test(p)&&!c?"":(p==='"'&&(c=!c),p)).join(""),{url:d,headers:m}=this.cloneRequestState();return d.searchParams.set("select",u),a&&m.append("Prefer",`count=${a}`),new Ma({method:l,url:d,headers:m,schema:this.schema,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}insert(n,{count:e,defaultToNull:i=!0}={}){var a;const l="POST",{url:c,headers:u}=this.cloneRequestState();if(e&&u.append("Prefer",`count=${e}`),i||u.append("Prefer","missing=default"),Array.isArray(n)){const d=n.reduce((m,p)=>m.concat(Object.keys(p)),[]);if(d.length>0){const m=[...new Set(d)].map(p=>`"${p}"`);c.searchParams.set("columns",m.join(","))}}return new Ma({method:l,url:c,headers:u,schema:this.schema,body:n,fetch:(a=this.fetch)!==null&&a!==void 0?a:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}upsert(n,{onConflict:e,ignoreDuplicates:i=!1,count:a,defaultToNull:l=!0}={}){var c;const u="POST",{url:d,headers:m}=this.cloneRequestState();if(m.append("Prefer",`resolution=${i?"ignore":"merge"}-duplicates`),e!==void 0&&d.searchParams.set("on_conflict",e),a&&m.append("Prefer",`count=${a}`),l||m.append("Prefer","missing=default"),Array.isArray(n)){const p=n.reduce((y,v)=>y.concat(Object.keys(v)),[]);if(p.length>0){const y=[...new Set(p)].map(v=>`"${v}"`);d.searchParams.set("columns",y.join(","))}}return new Ma({method:u,url:d,headers:m,schema:this.schema,body:n,fetch:(c=this.fetch)!==null&&c!==void 0?c:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}update(n,{count:e}={}){var i;const a="PATCH",{url:l,headers:c}=this.cloneRequestState();return e&&c.append("Prefer",`count=${e}`),new Ma({method:a,url:l,headers:c,schema:this.schema,body:n,fetch:(i=this.fetch)!==null&&i!==void 0?i:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}delete({count:n}={}){var e;const i="DELETE",{url:a,headers:l}=this.cloneRequestState();return n&&l.append("Prefer",`count=${n}`),new Ma({method:i,url:a,headers:l,schema:this.schema,fetch:(e=this.fetch)!==null&&e!==void 0?e:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}};function po(n){"@babel/helpers - typeof";return po=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},po(n)}function yN(n,e){if(po(n)!="object"||!n)return n;var i=n[Symbol.toPrimitive];if(i!==void 0){var a=i.call(n,e);if(po(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function bN(n){var e=yN(n,"string");return po(e)=="symbol"?e:e+""}function vN(n,e,i){return(e=bN(e))in n?Object.defineProperty(n,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[e]=i,n}function kb(n,e){var i=Object.keys(n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(n);e&&(a=a.filter(function(l){return Object.getOwnPropertyDescriptor(n,l).enumerable})),i.push.apply(i,a)}return i}function Yl(n){for(var e=1;e0?this.fetch=(p,y)=>{const v=new AbortController,x=setTimeout(()=>v.abort(),c),_=y==null?void 0:y.signal;if(_){if(_.aborted)return clearTimeout(x),m(p,y);const S=()=>{clearTimeout(x),v.abort()};return _.addEventListener("abort",S,{once:!0}),m(p,Yl(Yl({},y),{},{signal:v.signal})).finally(()=>{clearTimeout(x),_.removeEventListener("abort",S)})}return m(p,Yl(Yl({},y),{},{signal:v.signal})).finally(()=>clearTimeout(x))}:this.fetch=m,this.retry=d}from(e){if(!e||typeof e!="string"||e.trim()==="")throw new Error("Invalid relation name: relation must be a non-empty string.");return new gN(new URL(`${this.url}/${e}`),{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}schema(e){return new pw(this.url,{headers:this.headers,schema:e,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}rpc(e,i={},{head:a=!1,get:l=!1,count:c}={}){var u;let d;const m=new URL(`${this.url}/rpc/${e}`);let p;const y=_=>_!==null&&typeof _=="object"&&(!Array.isArray(_)||_.some(y)),v=a&&Object.values(i).some(y);v?(d="POST",p=i):a||l?(d=a?"HEAD":"GET",Object.entries(i).filter(([_,S])=>S!==void 0).map(([_,S])=>[_,Array.isArray(S)?`{${S.join(",")}}`:`${S}`]).forEach(([_,S])=>{m.searchParams.append(_,S)})):(d="POST",p=i);const x=new Headers(this.headers);return v?x.set("Prefer",c?`count=${c},return=minimal`:"return=minimal"):c&&x.set("Prefer",`count=${c}`),new Ma({method:d,url:m,headers:x,schema:this.schemaName,body:p,fetch:(u=this.fetch)!==null&&u!==void 0?u:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}};class wN{constructor(){}static detectEnvironment(){var e;if(typeof WebSocket<"u")return{type:"native",wsConstructor:WebSocket};const i=globalThis;if(typeof globalThis<"u"&&typeof i.WebSocket<"u")return{type:"native",wsConstructor:i.WebSocket};const a=typeof global<"u"?global:void 0;if(a&&typeof a.WebSocket<"u")return{type:"native",wsConstructor:a.WebSocket};if(typeof globalThis<"u"&&typeof i.WebSocketPair<"u"&&typeof globalThis.WebSocket>"u")return{type:"cloudflare",error:"Cloudflare Workers detected. WebSocket clients are not supported in Cloudflare Workers.",workaround:"Use Cloudflare Workers WebSocket API for server-side WebSocket handling, or deploy to a different runtime."};if(typeof globalThis<"u"&&i.EdgeRuntime||typeof navigator<"u"&&(!((e=navigator.userAgent)===null||e===void 0)&&e.includes("Vercel-Edge")))return{type:"unsupported",error:"Edge runtime detected (Vercel Edge/Netlify Edge). WebSockets are not supported in edge functions.",workaround:"Use serverless functions or a different deployment target for WebSocket functionality."};const l=globalThis.process;if(l){const c=l.versions;if(c&&c.node)return{type:"unsupported",error:"Node.js detected but native WebSocket not found.",workaround:"Ensure you are running Node.js 22+ or provide a WebSocket implementation via the transport option."}}return{type:"unsupported",error:"Unknown JavaScript runtime without WebSocket support.",workaround:"Ensure you're running in a supported environment (browser, Node.js, Deno) or provide a custom WebSocket implementation."}}static getWebSocketConstructor(){const e=this.detectEnvironment();if(e.wsConstructor)return e.wsConstructor;let i=e.error||"WebSocket not supported in this environment.";throw e.workaround&&(i+=` + +Suggested solution: ${e.workaround}`),new Error(i)}static isWebSocketSupported(){try{return this.detectEnvironment().type==="native"}catch{return!1}}}const _N="2.110.2",SN=`realtime-js/${_N}`,TN="1.0.0",gw="2.0.0",EN=gw,AN=1e4,jN=100,ti={closed:"closed",errored:"errored",joined:"joined",joining:"joining",leaving:"leaving"},yw={close:"phx_close",error:"phx_error",join:"phx_join",leave:"phx_leave",access_token:"access_token"},cf={connecting:"connecting",closing:"closing",closed:"closed"};class NN{constructor(e){this.HEADER_LENGTH=1,this.USER_BROADCAST_PUSH_META_LENGTH=6,this.KINDS={userBroadcastPush:3,userBroadcast:4},this.BINARY_ENCODING=0,this.JSON_ENCODING=1,this.BROADCAST_EVENT="broadcast",this.allowedMetadataKeys=[],this.allowedMetadataKeys=e??[]}encode(e,i){if(e.event===this.BROADCAST_EVENT&&!(e.payload instanceof ArrayBuffer)&&typeof e.payload.event=="string")return i(this._binaryEncodeUserBroadcastPush(e));let a=[e.join_ref,e.ref,e.topic,e.event,e.payload];return i(JSON.stringify(a))}_binaryEncodeUserBroadcastPush(e){var i;return this._isArrayBuffer((i=e.payload)===null||i===void 0?void 0:i.payload)?this._encodeBinaryUserBroadcastPush(e):this._encodeJsonUserBroadcastPush(e)}_encodeBinaryUserBroadcastPush(e){var i,a;const l=(a=(i=e.payload)===null||i===void 0?void 0:i.payload)!==null&&a!==void 0?a:new ArrayBuffer(0);return this._encodeUserBroadcastPush(e,this.BINARY_ENCODING,l)}_encodeJsonUserBroadcastPush(e){var i,a;const l=(a=(i=e.payload)===null||i===void 0?void 0:i.payload)!==null&&a!==void 0?a:{},u=new TextEncoder().encode(JSON.stringify(l)).buffer;return this._encodeUserBroadcastPush(e,this.JSON_ENCODING,u)}_encodeUserBroadcastPush(e,i,a){var l,c;const u=e.topic,d=(l=e.ref)!==null&&l!==void 0?l:"",m=(c=e.join_ref)!==null&&c!==void 0?c:"",p=e.payload.event,y=this.allowedMetadataKeys?this._pick(e.payload,this.allowedMetadataKeys):{},v=Object.keys(y).length===0?"":JSON.stringify(y);if(m.length>255)throw new Error(`joinRef length ${m.length} exceeds maximum of 255`);if(d.length>255)throw new Error(`ref length ${d.length} exceeds maximum of 255`);if(u.length>255)throw new Error(`topic length ${u.length} exceeds maximum of 255`);if(p.length>255)throw new Error(`userEvent length ${p.length} exceeds maximum of 255`);if(v.length>255)throw new Error(`metadata length ${v.length} exceeds maximum of 255`);const x=this.USER_BROADCAST_PUSH_META_LENGTH+m.length+d.length+u.length+p.length+v.length,_=new ArrayBuffer(this.HEADER_LENGTH+x);let S=new DataView(_),T=0;S.setUint8(T++,this.KINDS.userBroadcastPush),S.setUint8(T++,m.length),S.setUint8(T++,d.length),S.setUint8(T++,u.length),S.setUint8(T++,p.length),S.setUint8(T++,v.length),S.setUint8(T++,i),Array.from(m,C=>S.setUint8(T++,C.charCodeAt(0))),Array.from(d,C=>S.setUint8(T++,C.charCodeAt(0))),Array.from(u,C=>S.setUint8(T++,C.charCodeAt(0))),Array.from(p,C=>S.setUint8(T++,C.charCodeAt(0))),Array.from(v,C=>S.setUint8(T++,C.charCodeAt(0)));var k=new Uint8Array(_.byteLength+a.byteLength);return k.set(new Uint8Array(_),0),k.set(new Uint8Array(a),_.byteLength),k.buffer}decode(e,i){if(this._isArrayBuffer(e)){let a=this._binaryDecode(e);return i(a)}if(typeof e=="string"){const a=JSON.parse(e),[l,c,u,d,m]=a;return i({join_ref:l,ref:c,topic:u,event:d,payload:m})}return i({})}_binaryDecode(e){const i=new DataView(e),a=i.getUint8(0),l=new TextDecoder;switch(a){case this.KINDS.userBroadcast:return this._decodeUserBroadcast(e,i,l)}}_decodeUserBroadcast(e,i,a){const l=i.getUint8(1),c=i.getUint8(2),u=i.getUint8(3),d=i.getUint8(4);let m=this.HEADER_LENGTH+4;const p=a.decode(e.slice(m,m+l));m=m+l;const y=a.decode(e.slice(m,m+c));m=m+c;const v=a.decode(e.slice(m,m+u));m=m+u;const x=e.slice(m,e.byteLength),_=d===this.JSON_ENCODING?JSON.parse(a.decode(x)):x,S={type:this.BROADCAST_EVENT,event:y,payload:_};return u>0&&(S.meta=JSON.parse(v)),{join_ref:null,ref:null,topic:p,event:this.BROADCAST_EVENT,payload:S}}_isArrayBuffer(e){var i;return e instanceof ArrayBuffer||((i=e==null?void 0:e.constructor)===null||i===void 0?void 0:i.name)==="ArrayBuffer"}_pick(e,i){return!e||typeof e!="object"?{}:Object.fromEntries(Object.entries(e).filter(([a])=>i.includes(a)))}}var Qe;(function(n){n.abstime="abstime",n.bool="bool",n.date="date",n.daterange="daterange",n.float4="float4",n.float8="float8",n.int2="int2",n.int4="int4",n.int4range="int4range",n.int8="int8",n.int8range="int8range",n.json="json",n.jsonb="jsonb",n.money="money",n.numeric="numeric",n.oid="oid",n.reltime="reltime",n.text="text",n.time="time",n.timestamp="timestamp",n.timestamptz="timestamptz",n.timetz="timetz",n.tsrange="tsrange",n.tstzrange="tstzrange"})(Qe||(Qe={}));const Cb=(n,e,i={})=>{var a;const l=(a=i.skipTypes)!==null&&a!==void 0?a:[];return e?Object.keys(e).reduce((c,u)=>(c[u]=kN(u,n,e,l),c),{}):{}},kN=(n,e,i,a)=>{const l=e.find(d=>d.name===n),c=l==null?void 0:l.type,u=i[n];return c&&!a.includes(c)?bw(c,u):uf(u)},bw=(n,e)=>{if(n.charAt(0)==="_"){const i=n.slice(1,n.length);return DN(e,i)}switch(n){case Qe.bool:return CN(e);case Qe.float4:case Qe.float8:case Qe.int2:case Qe.int4:case Qe.int8:case Qe.numeric:case Qe.oid:return RN(e);case Qe.json:case Qe.jsonb:return ON(e);case Qe.timestamp:return MN(e);case Qe.abstime:case Qe.date:case Qe.daterange:case Qe.int4range:case Qe.int8range:case Qe.money:case Qe.reltime:case Qe.text:case Qe.time:case Qe.timestamptz:case Qe.timetz:case Qe.tsrange:case Qe.tstzrange:return uf(e);default:return uf(e)}},uf=n=>n,CN=n=>{switch(n){case"t":return!0;case"f":return!1;default:return n}},RN=n=>{if(typeof n=="string"){const e=parseFloat(n);if(!Number.isNaN(e))return e}return n},ON=n=>{if(typeof n=="string")try{return JSON.parse(n)}catch{return n}return n},DN=(n,e)=>{if(typeof n!="string")return n;const i=n.length-1,a=n[i];if(n[0]==="{"&&a==="}"){let c;const u=n.slice(1,i);try{c=JSON.parse("["+u+"]")}catch{c=u?u.split(","):[]}return c.map(d=>bw(e,d))}return n},MN=n=>typeof n=="string"?n.replace(" ","T"):n,vw=n=>{const e=new URL(n);return e.protocol=e.protocol.replace(/^ws/i,"http"),e.pathname=e.pathname.replace(/\/+$/,"").replace(/\/socket\/websocket$/i,"").replace(/\/socket$/i,"").replace(/\/websocket$/i,""),e.pathname===""||e.pathname==="/"?e.pathname="/api/broadcast":e.pathname=e.pathname+"/api/broadcast",e.href};var io=n=>typeof n=="function"?n:function(){return n},BN=typeof self<"u"?self:null,Ba=typeof window<"u"?window:null,Zn=BN||Ba||globalThis,UN="2.0.0",LN=1e4,zN=1e3,es={connecting:0,open:1,closing:2,closed:3},Wt={closed:"closed",errored:"errored",joined:"joined",joining:"joining",leaving:"leaving"},As={close:"phx_close",error:"phx_error",join:"phx_join",reply:"phx_reply",leave:"phx_leave"},hf={longpoll:"longpoll",websocket:"websocket"},PN={complete:4},df="base64url.bearer.phx.",Xl=class{constructor(n,e,i,a){this.channel=n,this.event=e,this.payload=i||function(){return{}},this.receivedResp=null,this.timeout=a,this.timeoutTimer=null,this.recHooks=[],this.sent=!1,this.ref=void 0}resend(n){this.timeout=n,this.reset(),this.send()}send(){this.hasReceived("timeout")||(this.startTimeout(),this.sent=!0,this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload(),ref:this.ref,join_ref:this.channel.joinRef()}))}receive(n,e){return this.hasReceived(n)&&e(this.receivedResp.response),this.recHooks.push({status:n,callback:e}),this}reset(){this.cancelRefEvent(),this.ref=null,this.refEvent=null,this.receivedResp=null,this.sent=!1}destroy(){this.cancelRefEvent(),this.cancelTimeout()}matchReceive({status:n,response:e,_ref:i}){this.recHooks.filter(a=>a.status===n).forEach(a=>a.callback(e))}cancelRefEvent(){this.refEvent&&this.channel.off(this.refEvent)}cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=null}startTimeout(){this.timeoutTimer&&this.cancelTimeout(),this.ref=this.channel.socket.makeRef(),this.refEvent=this.channel.replyEventName(this.ref),this.channel.on(this.refEvent,n=>{this.cancelRefEvent(),this.cancelTimeout(),this.receivedResp=n,this.matchReceive(n)}),this.timeoutTimer=setTimeout(()=>{this.trigger("timeout",{})},this.timeout)}hasReceived(n){return this.receivedResp&&this.receivedResp.status===n}trigger(n,e){this.channel.trigger(this.refEvent,{status:n,response:e})}},xw=class{constructor(n,e){this.callback=n,this.timerCalc=e,this.timer=void 0,this.tries=0}reset(){this.tries=0,clearTimeout(this.timer)}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries=this.tries+1,this.callback()},this.timerCalc(this.tries+1))}},VN=class{constructor(n,e,i){this.state=Wt.closed,this.topic=n,this.params=io(e||{}),this.socket=i,this.bindings=[],this.bindingRef=0,this.timeout=this.socket.timeout,this.joinedOnce=!1,this.joinPush=new Xl(this,As.join,this.params,this.timeout),this.pushBuffer=[],this.stateChangeRefs=[],this.rejoinTimer=new xw(()=>{this.socket.isConnected()&&this.rejoin()},this.socket.rejoinAfterMs),this.stateChangeRefs.push(this.socket.onError(()=>this.rejoinTimer.reset())),this.stateChangeRefs.push(this.socket.onOpen(()=>{this.rejoinTimer.reset(),this.isErrored()&&this.rejoin()})),this.joinPush.receive("ok",()=>{this.state=Wt.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(a=>a.send()),this.pushBuffer=[]}),this.joinPush.receive("error",a=>{this.state=Wt.errored,this.socket.hasLogger()&&this.socket.log("channel",`error ${this.topic}`,a),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.onClose(()=>{this.rejoinTimer.reset(),this.socket.hasLogger()&&this.socket.log("channel",`close ${this.topic}`),this.state=Wt.closed,this.socket.remove(this)}),this.onError(a=>{this.socket.hasLogger()&&this.socket.log("channel",`error ${this.topic}`,a),this.isJoining()&&this.joinPush.reset(),this.state=Wt.errored,this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.joinPush.receive("timeout",()=>{this.socket.hasLogger()&&this.socket.log("channel",`timeout ${this.topic}`,this.joinPush.timeout),new Xl(this,As.leave,io({}),this.timeout).send(),this.state=Wt.errored,this.joinPush.reset(),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.on(As.reply,(a,l)=>{this.trigger(this.replyEventName(l),a)})}join(n=this.timeout){if(this.joinedOnce)throw new Error("tried to join multiple times. 'join' can only be called a single time per channel instance");return this.timeout=n,this.joinedOnce=!0,this.rejoin(),this.joinPush}teardown(){this.pushBuffer.forEach(n=>n.destroy()),this.pushBuffer=[],this.rejoinTimer.reset(),this.joinPush.destroy(),this.state=Wt.closed,this.bindings=[]}onClose(n){this.on(As.close,n)}onError(n){return this.on(As.error,e=>n(e))}on(n,e){let i=this.bindingRef++;return this.bindings.push({event:n,ref:i,callback:e}),i}off(n,e){this.bindings=this.bindings.filter(i=>!(i.event===n&&(typeof e>"u"||e===i.ref)))}canPush(){return this.socket.isConnected()&&this.isJoined()}push(n,e,i=this.timeout){if(e=e||{},!this.joinedOnce)throw new Error(`tried to push '${n}' to '${this.topic}' before joining. Use channel.join() before pushing events`);let a=new Xl(this,n,function(){return e},i);return this.canPush()?a.send():(a.startTimeout(),this.pushBuffer.push(a)),a}leave(n=this.timeout){this.rejoinTimer.reset(),this.joinPush.cancelTimeout(),this.state=Wt.leaving;let e=()=>{this.socket.hasLogger()&&this.socket.log("channel",`leave ${this.topic}`),this.trigger(As.close,"leave")},i=new Xl(this,As.leave,io({}),n);return i.receive("ok",()=>e()).receive("timeout",()=>e()),i.send(),this.canPush()||i.trigger("ok",{}),i}onMessage(n,e,i){return e}filterBindings(n,e,i){return!0}isMember(n,e,i,a){return this.topic!==n?!1:a&&a!==this.joinRef()?(this.socket.hasLogger()&&this.socket.log("channel","dropping outdated message",{topic:n,event:e,payload:i,joinRef:a}),!1):!0}joinRef(){return this.joinPush.ref}rejoin(n=this.timeout){this.isLeaving()||(this.socket.leaveOpenTopic(this.topic),this.state=Wt.joining,this.joinPush.resend(n))}trigger(n,e,i,a){let l=this.onMessage(n,e,i,a);if(e&&!l)throw new Error("channel onMessage callbacks must return the payload, modified or unmodified");let c=this.bindings.filter(u=>u.event===n&&this.filterBindings(u,e,i));for(let u=0;um.abort(),l),d.signal=m.signal),Zn.fetch(e,d).then(p=>p.text()).then(p=>this.parseJSON(p)).then(p=>u&&u(p)).catch(p=>{p.name==="AbortError"&&c?c():u&&u(null)}),m}static xdomainRequest(n,e,i,a,l,c,u){return n.timeout=l,n.open(e,i),n.onload=()=>{let d=this.parseJSON(n.responseText);u&&u(d)},c&&(n.ontimeout=c),n.onprogress=()=>{},n.send(a),n}static xhrRequest(n,e,i,a,l,c,u,d){n.open(e,i,!0),n.timeout=c;for(let[m,p]of Object.entries(a))n.setRequestHeader(m,p);return n.onerror=()=>d&&d(null),n.onreadystatechange=()=>{if(n.readyState===PN.complete&&d){let m=this.parseJSON(n.responseText);d(m)}},u&&(n.ontimeout=u),n.send(l),n}static parseJSON(n){if(!n||n==="")return null;try{return JSON.parse(n)}catch{return console&&console.log("failed to parse JSON response",n),null}}static serialize(n,e){let i=[];for(var a in n){if(!Object.prototype.hasOwnProperty.call(n,a))continue;let l=e?`${e}[${a}]`:a,c=n[a];typeof c=="object"?i.push(this.serialize(c,l)):i.push(encodeURIComponent(l)+"="+encodeURIComponent(c))}return i.join("&")}static appendParams(n,e){if(Object.keys(e).length===0)return n;let i=n.match(/\?/)?"&":"?";return`${n}${i}${this.serialize(e)}`}},HN=n=>{let e="",i=new Uint8Array(n),a=i.byteLength;for(let l=0;lthis.poll(),0)}normalizeEndpoint(n){return n.replace("ws://","http://").replace("wss://","https://").replace(new RegExp("(.*)/"+hf.websocket),"$1/"+hf.longpoll)}endpointURL(){return Tc.appendParams(this.pollEndpoint,{token:this.token})}closeAndRetry(n,e,i){this.close(n,e,i),this.readyState=es.connecting}ontimeout(){this.onerror("timeout"),this.closeAndRetry(1005,"timeout",!1)}isActive(){return this.readyState===es.open||this.readyState===es.connecting}poll(){const n={Accept:"application/json"};this.authToken&&(n["X-Phoenix-AuthToken"]=this.authToken),this.ajax("GET",n,null,()=>this.ontimeout(),e=>{if(e){var{status:i,token:a,messages:l}=e;if(i===410&&this.token!==null){this.onerror(410),this.closeAndRetry(3410,"session_gone",!1);return}this.token=a}else i=0;switch(i){case 200:l.forEach(c=>{setTimeout(()=>this.onmessage({data:c}),0)}),this.poll();break;case 204:this.poll();break;case 410:this.readyState=es.open,this.onopen({}),this.poll();break;case 403:this.onerror(403),this.close(1008,"forbidden",!1);break;case 0:case 500:this.onerror(500),this.closeAndRetry(1011,"internal server error",500);break;default:throw new Error(`unhandled poll status ${i}`)}})}send(n){typeof n!="string"&&(n=HN(n)),this.currentBatch?this.currentBatch.push(n):this.awaitingBatchAck?this.batchBuffer.push(n):(this.currentBatch=[n],this.currentBatchTimer=setTimeout(()=>{this.batchSend(this.currentBatch),this.currentBatch=null},0))}batchSend(n){this.awaitingBatchAck=!0,this.ajax("POST",{"Content-Type":"application/x-ndjson"},n.join(` +`),()=>this.onerror("timeout"),e=>{this.awaitingBatchAck=!1,!e||e.status!==200?(this.onerror(e&&e.status),this.closeAndRetry(1011,"internal server error",!1)):this.batchBuffer.length>0&&(this.batchSend(this.batchBuffer),this.batchBuffer=[])})}close(n,e,i){for(let l of this.reqs)l.abort();this.readyState=es.closed;let a=Object.assign({code:1e3,reason:void 0,wasClean:!0},{code:n,reason:e,wasClean:i});this.batchBuffer=[],clearTimeout(this.currentBatchTimer),this.currentBatchTimer=null,typeof CloseEvent<"u"?this.onclose(new CloseEvent("close",a)):this.onclose(a)}ajax(n,e,i,a,l){let c,u=()=>{this.reqs.delete(c),a()};c=Tc.request(n,this.endpointURL(),e,i,this.timeout,u,d=>{this.reqs.delete(c),this.isActive()&&l(d)}),this.reqs.add(c)}},$N=class Qr{constructor(e,i={}){let a=i.events||{state:"presence_state",diff:"presence_diff"};this.state={},this.pendingDiffs=[],this.channel=e,this.joinRef=null,this.caller={onJoin:function(){},onLeave:function(){},onSync:function(){}},this.channel.on(a.state,l=>{let{onJoin:c,onLeave:u,onSync:d}=this.caller;this.joinRef=this.channel.joinRef(),this.state=Qr.syncState(this.state,l,c,u),this.pendingDiffs.forEach(m=>{this.state=Qr.syncDiff(this.state,m,c,u)}),this.pendingDiffs=[],d()}),this.channel.on(a.diff,l=>{let{onJoin:c,onLeave:u,onSync:d}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(l):(this.state=Qr.syncDiff(this.state,l,c,u),d())})}onJoin(e){this.caller.onJoin=e}onLeave(e){this.caller.onLeave=e}onSync(e){this.caller.onSync=e}list(e){return Qr.list(this.state,e)}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel.joinRef()}static syncState(e,i,a,l){let c=this.clone(e),u={},d={};return this.map(c,(m,p)=>{i[m]||(d[m]=p)}),this.map(i,(m,p)=>{let y=c[m];if(y){let v=p.metas.map(T=>T.phx_ref),x=y.metas.map(T=>T.phx_ref),_=p.metas.filter(T=>x.indexOf(T.phx_ref)<0),S=y.metas.filter(T=>v.indexOf(T.phx_ref)<0);_.length>0&&(u[m]=p,u[m].metas=_),S.length>0&&(d[m]=this.clone(y),d[m].metas=S)}else u[m]=p}),this.syncDiff(c,{joins:u,leaves:d},a,l)}static syncDiff(e,i,a,l){let{joins:c,leaves:u}=this.clone(i);return a||(a=function(){}),l||(l=function(){}),this.map(c,(d,m)=>{let p=e[d];if(e[d]=this.clone(m),p){let y=e[d].metas.map(x=>x.phx_ref),v=p.metas.filter(x=>y.indexOf(x.phx_ref)<0);e[d].metas.unshift(...v)}a(d,p,m)}),this.map(u,(d,m)=>{let p=e[d];if(!p)return;let y=m.metas.map(v=>v.phx_ref);p.metas=p.metas.filter(v=>y.indexOf(v.phx_ref)<0),l(d,p,m),p.metas.length===0&&delete e[d]}),e}static list(e,i){return i||(i=function(a,l){return l}),this.map(e,(a,l)=>i(a,l))}static map(e,i){return Object.getOwnPropertyNames(e).map(a=>i(a,e[a]))}static clone(e){return JSON.parse(JSON.stringify(e))}},Jl={HEADER_LENGTH:1,META_LENGTH:4,KINDS:{push:0,reply:1,broadcast:2},encode(n,e){if(n.payload.constructor===ArrayBuffer)return e(this.binaryEncode(n));{let i=[n.join_ref,n.ref,n.topic,n.event,n.payload];return e(JSON.stringify(i))}},decode(n,e){if(n.constructor===ArrayBuffer)return e(this.binaryDecode(n));{let[i,a,l,c,u]=JSON.parse(n);return e({join_ref:i,ref:a,topic:l,event:c,payload:u})}},binaryEncode(n){let{join_ref:e,ref:i,event:a,topic:l,payload:c}=n,u=this.META_LENGTH+e.length+i.length+l.length+a.length,d=new ArrayBuffer(this.HEADER_LENGTH+u),m=new DataView(d),p=0;m.setUint8(p++,this.KINDS.push),m.setUint8(p++,e.length),m.setUint8(p++,i.length),m.setUint8(p++,l.length),m.setUint8(p++,a.length),Array.from(e,v=>m.setUint8(p++,v.charCodeAt(0))),Array.from(i,v=>m.setUint8(p++,v.charCodeAt(0))),Array.from(l,v=>m.setUint8(p++,v.charCodeAt(0))),Array.from(a,v=>m.setUint8(p++,v.charCodeAt(0)));var y=new Uint8Array(d.byteLength+c.byteLength);return y.set(new Uint8Array(d),0),y.set(new Uint8Array(c),d.byteLength),y.buffer},binaryDecode(n){let e=new DataView(n),i=e.getUint8(0),a=new TextDecoder;switch(i){case this.KINDS.push:return this.decodePush(n,e,a);case this.KINDS.reply:return this.decodeReply(n,e,a);case this.KINDS.broadcast:return this.decodeBroadcast(n,e,a)}},decodePush(n,e,i){let a=e.getUint8(1),l=e.getUint8(2),c=e.getUint8(3),u=this.HEADER_LENGTH+this.META_LENGTH-1,d=i.decode(n.slice(u,u+a));u=u+a;let m=i.decode(n.slice(u,u+l));u=u+l;let p=i.decode(n.slice(u,u+c));u=u+c;let y=n.slice(u,n.byteLength);return{join_ref:d,ref:null,topic:m,event:p,payload:y}},decodeReply(n,e,i){let a=e.getUint8(1),l=e.getUint8(2),c=e.getUint8(3),u=e.getUint8(4),d=this.HEADER_LENGTH+this.META_LENGTH,m=i.decode(n.slice(d,d+a));d=d+a;let p=i.decode(n.slice(d,d+l));d=d+l;let y=i.decode(n.slice(d,d+c));d=d+c;let v=i.decode(n.slice(d,d+u));d=d+u;let x=n.slice(d,n.byteLength),_={status:v,response:x};return{join_ref:m,ref:p,topic:y,event:As.reply,payload:_}},decodeBroadcast(n,e,i){let a=e.getUint8(1),l=e.getUint8(2),c=this.HEADER_LENGTH+2,u=i.decode(n.slice(c,c+a));c=c+a;let d=i.decode(n.slice(c,c+l));c=c+l;let m=n.slice(c,n.byteLength);return{join_ref:null,ref:null,topic:u,event:d,payload:m}}},qN=class{constructor(n,e={}){this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.channels=[],this.sendBuffer=[],this.ref=0,this.fallbackRef=null,this.timeout=e.timeout||LN,this.transport=e.transport||Zn.WebSocket||ja,this.conn=void 0,this.primaryPassedHealthCheck=!1,this.longPollFallbackMs=e.longPollFallbackMs,this.fallbackTimer=null;let i=null;try{i=Zn&&Zn.sessionStorage}catch{}this.sessionStore=e.sessionStorage||i,this.establishedConnections=0,this.defaultEncoder=Jl.encode.bind(Jl),this.defaultDecoder=Jl.decode.bind(Jl),this.closeWasClean=!0,this.disconnecting=!1,this.binaryType=e.binaryType||"arraybuffer",this.connectClock=1,this.pageHidden=!1,this.encode=void 0,this.decode=void 0,this.transport!==ja?(this.encode=e.encode||this.defaultEncoder,this.decode=e.decode||this.defaultDecoder):(this.encode=this.defaultEncoder,this.decode=this.defaultDecoder);let a=null;Ba&&Ba.addEventListener&&(Ba.addEventListener("pagehide",l=>{this.conn&&(this.disconnect(),a=this.connectClock)}),Ba.addEventListener("pageshow",l=>{a===this.connectClock&&(a=null,this.connect())}),Ba.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"?this.pageHidden=!0:(this.pageHidden=!1,!this.isConnected()&&!this.closeWasClean&&this.teardown(()=>this.connect()))})),this.heartbeatIntervalMs=e.heartbeatIntervalMs||3e4,this.autoSendHeartbeat=e.autoSendHeartbeat??!0,this.heartbeatCallback=e.heartbeatCallback??(()=>{}),this.rejoinAfterMs=l=>e.rejoinAfterMs?e.rejoinAfterMs(l):[1e3,2e3,5e3][l-1]||1e4,this.reconnectAfterMs=l=>e.reconnectAfterMs?e.reconnectAfterMs(l):[10,50,100,150,200,250,500,1e3,2e3][l-1]||5e3,this.logger=e.logger||null,!this.logger&&e.debug&&(this.logger=(l,c,u)=>{console.log(`${l}: ${c}`,u)}),this.longpollerTimeout=e.longpollerTimeout||2e4,this.params=io(e.params||{}),this.endPoint=`${n}/${hf.websocket}`,this.vsn=e.vsn||UN,this.heartbeatTimeoutTimer=null,this.heartbeatTimer=null,this.heartbeatSentAt=null,this.pendingHeartbeatRef=null,this.reconnectTimer=new xw(()=>{if(this.pageHidden){this.log("Not reconnecting as page is hidden!"),this.teardown();return}this.teardown(async()=>{e.beforeReconnect&&await e.beforeReconnect(),this.connect()})},this.reconnectAfterMs),this.authToken=e.authToken}getLongPollTransport(){return ja}replaceTransport(n){this.connectClock++,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.conn&&(this.conn.close(),this.conn=null),this.transport=n}protocol(){return location.protocol.match(/^https/)?"wss":"ws"}endPointURL(){let n=Tc.appendParams(Tc.appendParams(this.endPoint,this.params()),{vsn:this.vsn});return n.charAt(0)!=="/"?n:n.charAt(1)==="/"?`${this.protocol()}:${n}`:`${this.protocol()}://${location.host}${n}`}disconnect(n,e,i){this.connectClock++,this.disconnecting=!0,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.teardown(()=>{this.disconnecting=!1,n&&n()},e,i)}connect(n){n&&(console&&console.log("passing params to connect is deprecated. Instead pass :params to the Socket constructor"),this.params=io(n)),!(this.conn&&!this.disconnecting)&&(this.longPollFallbackMs&&this.transport!==ja?this.connectWithFallback(ja,this.longPollFallbackMs):this.transportConnect())}log(n,e,i){this.logger&&this.logger(n,e,i)}hasLogger(){return this.logger!==null}onOpen(n){let e=this.makeRef();return this.stateChangeCallbacks.open.push([e,n]),e}onClose(n){let e=this.makeRef();return this.stateChangeCallbacks.close.push([e,n]),e}onError(n){let e=this.makeRef();return this.stateChangeCallbacks.error.push([e,n]),e}onMessage(n){let e=this.makeRef();return this.stateChangeCallbacks.message.push([e,n]),e}onHeartbeat(n){this.heartbeatCallback=n}ping(n){if(!this.isConnected())return!1;let e=this.makeRef(),i=Date.now();this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:e});let a=this.onMessage(l=>{l.ref===e&&(this.off([a]),n(Date.now()-i))});return!0}transportName(n){switch(n){case ja:return"LongPoll";default:return n.name}}transportConnect(){this.connectClock++,this.closeWasClean=!1;let n;this.authToken&&(n=["phoenix",`${df}${btoa(this.authToken).replace(/=/g,"")}`]),this.conn=new this.transport(this.endPointURL(),n),this.conn.binaryType=this.binaryType,this.conn.timeout=this.longpollerTimeout,this.conn.onopen=()=>this.onConnOpen(),this.conn.onerror=e=>this.onConnError(e),this.conn.onmessage=e=>this.onConnMessage(e),this.conn.onclose=e=>this.onConnClose(e)}getSession(n){return this.sessionStore&&this.sessionStore.getItem(n)}storeSession(n,e){this.sessionStore&&this.sessionStore.setItem(n,e)}connectWithFallback(n,e=2500){clearTimeout(this.fallbackTimer);let i=!1,a=!0,l,c,u=this.transportName(n),d=m=>{this.log("transport",`falling back to ${u}...`,m),this.off([l,c]),a=!1,this.replaceTransport(n),this.transportConnect()};if(this.getSession(`phx:fallback:${u}`))return d("memorized");this.fallbackTimer=setTimeout(d,e),c=this.onError(m=>{this.log("transport","error",m),a&&!i&&(clearTimeout(this.fallbackTimer),d(m))}),this.fallbackRef&&this.off([this.fallbackRef]),this.fallbackRef=this.onOpen(()=>{if(i=!0,!a){let m=this.transportName(n);return this.primaryPassedHealthCheck||this.storeSession(`phx:fallback:${m}`,"true"),this.log("transport",`established ${m} fallback`)}clearTimeout(this.fallbackTimer),this.fallbackTimer=setTimeout(d,e),this.ping(m=>{this.log("transport","connected to primary after",m),this.primaryPassedHealthCheck=!0,clearTimeout(this.fallbackTimer)})}),this.transportConnect()}clearHeartbeats(){clearTimeout(this.heartbeatTimer),clearTimeout(this.heartbeatTimeoutTimer)}onConnOpen(){this.hasLogger()&&this.log("transport",`connected to ${this.endPointURL()}`),this.closeWasClean=!1,this.disconnecting=!1,this.establishedConnections++,this.flushSendBuffer(),this.reconnectTimer.reset(),this.autoSendHeartbeat&&this.resetHeartbeat(),this.triggerStateCallbacks("open")}heartbeatTimeout(){if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.hasLogger()&&this.log("transport","heartbeat timeout. Attempting to re-establish connection");try{this.heartbeatCallback("timeout")}catch(n){this.log("error","error in heartbeat callback",n)}this.triggerChanError(new Error("heartbeat timeout")),this.closeWasClean=!1,this.teardown(()=>this.reconnectTimer.scheduleTimeout(),zN,"heartbeat timeout")}}resetHeartbeat(){this.conn&&this.conn.skipHeartbeat||(this.pendingHeartbeatRef=null,this.clearHeartbeats(),this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}teardown(n,e,i){if(!this.conn)return n&&n();const a=this.conn;this.waitForBufferDone(a,()=>{e?a.close(e,i||""):a.close(),this.waitForSocketClosed(a,()=>{this.conn===a&&(this.conn.onopen=function(){},this.conn.onerror=function(){},this.conn.onmessage=function(){},this.conn.onclose=function(){},this.conn=null),n&&n()})})}waitForBufferDone(n,e,i=1){if(i===5||!n.bufferedAmount){e();return}setTimeout(()=>{this.waitForBufferDone(n,e,i+1)},150*i)}waitForSocketClosed(n,e,i=1){if(i===5||n.readyState===es.closed){e();return}setTimeout(()=>{this.waitForSocketClosed(n,e,i+1)},150*i)}onConnClose(n){this.conn&&(this.conn.onclose=()=>{}),this.hasLogger()&&this.log("transport","close",n),this.triggerChanError(n),this.clearHeartbeats(),this.closeWasClean||this.reconnectTimer.scheduleTimeout(),this.triggerStateCallbacks("close",n)}onConnError(n){this.hasLogger()&&this.log("transport","error",n);let e=this.transport,i=this.establishedConnections;this.triggerStateCallbacks("error",n,e,i),(e===this.transport||i>0)&&this.triggerChanError(n)}triggerChanError(n){this.channels.forEach(e=>{e.isErrored()||e.isLeaving()||e.isClosed()||e.trigger(As.error,n)})}connectionState(){switch(this.conn&&this.conn.readyState){case es.connecting:return"connecting";case es.open:return"open";case es.closing:return"closing";default:return"closed"}}isConnected(){return this.connectionState()==="open"}remove(n){this.off(n.stateChangeRefs),this.channels=this.channels.filter(e=>e!==n)}off(n){for(let e in this.stateChangeCallbacks)this.stateChangeCallbacks[e]=this.stateChangeCallbacks[e].filter(([i])=>n.indexOf(i)===-1)}channel(n,e={}){let i=new VN(n,e,this);return this.channels.push(i),i}push(n){if(this.hasLogger()){let{topic:e,event:i,payload:a,ref:l,join_ref:c}=n;this.log("push",`${e} ${i} (${c}, ${l})`,a)}this.isConnected()?this.encode(n,e=>this.conn.send(e)):this.sendBuffer.push(()=>this.encode(n,e=>this.conn.send(e)))}makeRef(){let n=this.ref+1;return n===this.ref?this.ref=0:this.ref=n,this.ref.toString()}sendHeartbeat(){if(!this.isConnected()){try{this.heartbeatCallback("disconnected")}catch(n){this.log("error","error in heartbeat callback",n)}return}if(this.pendingHeartbeatRef){this.heartbeatTimeout();return}this.pendingHeartbeatRef=this.makeRef(),this.heartbeatSentAt=Date.now(),this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:this.pendingHeartbeatRef});try{this.heartbeatCallback("sent")}catch(n){this.log("error","error in heartbeat callback",n)}this.heartbeatTimeoutTimer=setTimeout(()=>this.heartbeatTimeout(),this.heartbeatIntervalMs)}flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(n=>n()),this.sendBuffer=[])}onConnMessage(n){this.decode(n.data,e=>{let{topic:i,event:a,payload:l,ref:c,join_ref:u}=e;if(c&&c===this.pendingHeartbeatRef){const d=this.heartbeatSentAt?Date.now()-this.heartbeatSentAt:void 0;this.clearHeartbeats();try{this.heartbeatCallback(l.status==="ok"?"ok":"error",d)}catch(m){this.log("error","error in heartbeat callback",m)}this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.autoSendHeartbeat&&(this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}this.hasLogger()&&this.log("receive",`${l.status||""} ${i} ${a} ${c&&"("+c+")"||""}`.trim(),l);for(let d=0;d{try{a(...e)}catch(l){this.log("error",`error in ${n} callback`,l)}})}catch(i){this.log("error",`error triggering ${n} callbacks`,i)}}leaveOpenTopic(n){let e=this.channels.find(i=>i.topic===n&&(i.isJoined()||i.isJoining()));e&&(this.hasLogger()&&this.log("transport",`leaving duplicate topic "${n}"`),e.leave())}};class ao{constructor(e,i){const a=IN(i);this.presence=new $N(e.getChannel(),a),this.presence.onJoin((l,c,u)=>{const d=ao.onJoinPayload(l,c,u);e.getChannel().trigger("presence",d)}),this.presence.onLeave((l,c,u)=>{const d=ao.onLeavePayload(l,c,u);e.getChannel().trigger("presence",d)}),this.presence.onSync(()=>{e.getChannel().trigger("presence",{event:"sync"})})}get state(){return ao.transformState(this.presence.state)}static transformState(e){return e=FN(e),Object.getOwnPropertyNames(e).reduce((i,a)=>{const l=e[a];return i[a]=dc(l),i},{})}static onJoinPayload(e,i,a){const l=Rb(i),c=dc(a);return{event:"join",key:e,currentPresences:l,newPresences:c}}static onLeavePayload(e,i,a){const l=Rb(i),c=dc(a);return{event:"leave",key:e,currentPresences:l,leftPresences:c}}}function dc(n){return n.metas.map(e=>(e.presence_ref=e.phx_ref,delete e.phx_ref,delete e.phx_ref_prev,e))}function FN(n){return JSON.parse(JSON.stringify(n))}function IN(n){return(n==null?void 0:n.events)&&{events:n.events}}function Rb(n){return n!=null&&n.metas?dc(n):[]}var Ob;(function(n){n.SYNC="sync",n.JOIN="join",n.LEAVE="leave"})(Ob||(Ob={}));class GN{get state(){return this.presenceAdapter.state}constructor(e,i){this.channel=e,this.presenceAdapter=new ao(this.channel.channelAdapter,i)}}function KN(n){if(n instanceof Error)return n;if(typeof n=="string")return new Error(n);if(n&&typeof n=="object"){const e=n;if(typeof e.code=="number"){const i=typeof e.reason=="string"&&e.reason?` (${e.reason})`:"";return new Error(`socket closed: ${e.code}${i}`,{cause:n})}return new Error("channel error: transport failure",{cause:n})}return new Error("channel error: connection lost")}class YN{constructor(e,i,a){const l=XN(a);this.channel=e.getSocket().channel(i,l),this.socket=e}get state(){return this.channel.state}set state(e){this.channel.state=e}get joinedOnce(){return this.channel.joinedOnce}get joinPush(){return this.channel.joinPush}get rejoinTimer(){return this.channel.rejoinTimer}on(e,i){return this.channel.on(e,i)}off(e,i){this.channel.off(e,i)}subscribe(e){return this.channel.join(e)}unsubscribe(e){return this.channel.leave(e)}teardown(){this.channel.teardown()}onClose(e){this.channel.onClose(e)}onError(e){return this.channel.onError(e)}push(e,i,a){let l;try{l=this.channel.push(e,i,a)}catch{throw new Error(`tried to push '${e}' to '${this.channel.topic}' before joining. Use channel.subscribe() before pushing events`)}if(this.channel.pushBuffer.length>jN){const c=this.channel.pushBuffer.shift();c.cancelTimeout(),this.socket.log("channel",`discarded push due to buffer overflow: ${c.event}`,c.payload())}return l}updateJoinPayload(e){const i=this.channel.joinPush.payload();this.channel.joinPush.payload=()=>Object.assign(Object.assign({},i),e)}canPush(){return this.socket.isConnected()&&this.state===ti.joined}isJoined(){return this.state===ti.joined}isJoining(){return this.state===ti.joining}isClosed(){return this.state===ti.closed}isLeaving(){return this.state===ti.leaving}updateFilterBindings(e){this.channel.filterBindings=e}updatePayloadTransform(e){this.channel.onMessage=e}getChannel(){return this.channel}}function XN(n){return{config:Object.assign({broadcast:{ack:!1,self:!1},presence:{key:"",enabled:!1},private:!1},n.config)}}const JN=/[,()"\\]/,QN=n=>JN.test(n)||n!==n.trim(),ZN=n=>`"${n.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`,Db=n=>{const e=n===null?"null":String(n);return QN(e)?ZN(e):e},WN=n=>n===null?"null":String(n),ek=(n,e)=>{if(n==="in"){const i=Array.isArray(e)?e:[e];if(i.length===0)throw new Error("Realtime `in` filter requires at least one value.");return`in.(${Array.from(new Set(i)).map(l=>Db(l)).join(",")})`}return n==="is"?`is.${WN(e)}`:`${n}.${Db(e)}`};class tk{constructor(){this.filters=[]}add(e,i,a,l=!1){const c=l?"not.":"";return this.filters.push(`${e}=${c}${ek(i,a)}`),this}eq(e,i){return this.add(e,"eq",i)}neq(e,i){return this.add(e,"neq",i)}gt(e,i){return this.add(e,"gt",i)}gte(e,i){return this.add(e,"gte",i)}lt(e,i){return this.add(e,"lt",i)}lte(e,i){return this.add(e,"lte",i)}in(e,i){return this.add(e,"in",i)}like(e,i){return this.add(e,"like",i)}ilike(e,i){return this.add(e,"ilike",i)}match(e,i){return this.add(e,"match",i)}imatch(e,i){return this.add(e,"imatch",i)}is(e,i){return this.add(e,"is",i)}isDistinct(e,i){return this.add(e,"isdistinct",i)}not(e,i,a){return this.add(e,i,a,!0)}build(){return this.filters.join(",")}toString(){return this.build()}}var Mb;(function(n){n.ALL="*",n.INSERT="INSERT",n.UPDATE="UPDATE",n.DELETE="DELETE"})(Mb||(Mb={}));var Ha;(function(n){n.BROADCAST="broadcast",n.PRESENCE="presence",n.POSTGRES_CHANGES="postgres_changes",n.SYSTEM="system"})(Ha||(Ha={}));var js;(function(n){n.SUBSCRIBED="SUBSCRIBED",n.TIMED_OUT="TIMED_OUT",n.CLOSED="CLOSED",n.CHANNEL_ERROR="CHANNEL_ERROR"})(js||(js={}));class ro{get state(){return this.channelAdapter.state}set state(e){this.channelAdapter.state=e}get joinedOnce(){return this.channelAdapter.joinedOnce}get timeout(){return this.socket.timeout}get joinPush(){return this.channelAdapter.joinPush}get rejoinTimer(){return this.channelAdapter.rejoinTimer}constructor(e,i={config:{}},a){var l,c;if(this.topic=e,this.params=i,this.socket=a,this.bindings={},this.subTopic=e.replace(/^realtime:/i,""),this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:"",enabled:!1},private:!1},i.config),this.channelAdapter=new YN(this.socket.socketAdapter,e,this.params),this.presence=new GN(this),this._onClose(()=>{this.socket._remove(this)}),this._updateFilterTransform(),this.broadcastEndpointURL=vw(this.socket.socketAdapter.endPointURL()),this.private=this.params.config.private||!1,!this.private&&(!((c=(l=this.params.config)===null||l===void 0?void 0:l.broadcast)===null||c===void 0)&&c.replay))throw new Error(`tried to use replay on public channel '${this.topic}'. It must be a private channel.`)}subscribe(e,i=this.timeout){var a,l,c;if(this.socket.isConnected()||this.socket.connect(),this.channelAdapter.isClosed()){const{config:{broadcast:u,presence:d,private:m}}=this.params,p=(l=(a=this.bindings.postgres_changes)===null||a===void 0?void 0:a.map(_=>_.filter))!==null&&l!==void 0?l:[],y=!!this.bindings[Ha.PRESENCE]&&this.bindings[Ha.PRESENCE].length>0||((c=this.params.config.presence)===null||c===void 0?void 0:c.enabled)===!0,v={},x={broadcast:u,presence:Object.assign(Object.assign({},d),{enabled:y}),postgres_changes:p,private:m};this.socket.accessTokenValue&&(v.access_token=this.socket.accessTokenValue),this._onError(_=>{e==null||e(js.CHANNEL_ERROR,KN(_))}),this._onClose(()=>e==null?void 0:e(js.CLOSED)),this.updateJoinPayload(Object.assign({config:x},v)),this._updateFilterMessage(),this.channelAdapter.subscribe(i).receive("ok",async({postgres_changes:_})=>{if(this.socket._isManualToken()||this.socket.setAuth(),_===void 0){e==null||e(js.SUBSCRIBED);return}this._updatePostgresBindings(_,e)}).receive("error",_=>{this.state=ti.errored;const S=Object.values(_).join(", ")||"error";e==null||e(js.CHANNEL_ERROR,new Error(S,{cause:_}))}).receive("timeout",()=>{e==null||e(js.TIMED_OUT)})}return this}_updatePostgresBindings(e,i){var a;const l=this.bindings.postgres_changes,c=(a=l==null?void 0:l.length)!==null&&a!==void 0?a:0,u=[];for(let d=0;d{var u,d,m;const p=this.channelAdapter.push(e.type,e,i.timeout||this.timeout);e.type==="broadcast"&&!(!((m=(d=(u=this.params)===null||u===void 0?void 0:u.config)===null||d===void 0?void 0:d.broadcast)===null||m===void 0)&&m.ack)&&c("ok"),p.receive("ok",()=>c("ok")),p.receive("error",()=>c("error")),p.receive("timeout",()=>c("timed out"))})}updateJoinPayload(e){this.channelAdapter.updateJoinPayload(e)}async unsubscribe(e=this.timeout){return new Promise(i=>{this.channelAdapter.unsubscribe(e).receive("ok",()=>i("ok")).receive("timeout",()=>i("timed out")).receive("error",()=>i("error"))})}teardown(){this.channelAdapter.teardown()}async _fetchWithTimeout(e,i,a){const l=new AbortController,c=setTimeout(()=>l.abort(),a),u=await this.socket.fetch(e,Object.assign(Object.assign({},i),{signal:l.signal}));return clearTimeout(c),u}_on(e,i,a){const l=e.toLocaleLowerCase(),c=i==null?void 0:i.filter;(c instanceof tk||typeof c=="object"&&c!==null&&typeof c.build=="function")&&(i=Object.assign(Object.assign({},i),{filter:c.build()}));const u=this.channelAdapter.on(e,a),d={type:l,filter:i,callback:a,ref:u};return this.bindings[l]?this.bindings[l].push(d):this.bindings[l]=[d],this._updateFilterMessage(),this}_onClose(e){this.channelAdapter.onClose(e)}_onError(e){this.channelAdapter.onError(e)}_updateFilterMessage(){this.channelAdapter.updateFilterBindings((e,i,a)=>{var l,c,u,d,m,p,y;const v=e.event.toLocaleLowerCase();if(this._notThisChannelEvent(v,a))return!1;const x=(l=this.bindings[v])===null||l===void 0?void 0:l.find(_=>_.ref===e.ref);if(!x)return!0;if(["broadcast","presence","postgres_changes"].includes(v))if("id"in x){const _=x.id,S=(c=x.filter)===null||c===void 0?void 0:c.event;return _&&((u=i.ids)===null||u===void 0?void 0:u.includes(_))&&(S==="*"||(S==null?void 0:S.toLocaleLowerCase())===((d=i.data)===null||d===void 0?void 0:d.type.toLocaleLowerCase()))}else{const _=(p=(m=x==null?void 0:x.filter)===null||m===void 0?void 0:m.event)===null||p===void 0?void 0:p.toLocaleLowerCase();return _==="*"||_===((y=i==null?void 0:i.event)===null||y===void 0?void 0:y.toLocaleLowerCase())}else return x.type.toLocaleLowerCase()===v})}_notThisChannelEvent(e,i){const{close:a,error:l,leave:c,join:u}=yw;return i&&[a,l,c,u].includes(e)&&i!==this.joinPush.ref}_updateFilterTransform(){this.channelAdapter.updatePayloadTransform((e,i,a)=>{if(typeof i=="object"&&"ids"in i){const l=i.data,{schema:c,table:u,commit_timestamp:d,type:m,errors:p}=l;return Object.assign(Object.assign({},{schema:c,table:u,commit_timestamp:d,eventType:m,new:{},old:{},errors:p}),this._getPayloadRecords(l))}return i})}copyBindings(e){if(this.joinedOnce)throw new Error("cannot copy bindings into joined channel");for(const i in e.bindings)for(const a of e.bindings[i])this._on(a.type,a.filter,a.callback)}static isFilterValueEqual(e,i){return(e??void 0)===(i??void 0)}_getPayloadRecords(e){const i={new:{},old:{}};return(e.type==="INSERT"||e.type==="UPDATE")&&(i.new=Cb(e.columns,e.record)),(e.type==="UPDATE"||e.type==="DELETE")&&(i.old=Cb(e.columns,e.old_record)),i}}class nk{constructor(e,i){this.socket=new qN(e,i)}get timeout(){return this.socket.timeout}get endPoint(){return this.socket.endPoint}get transport(){return this.socket.transport}get heartbeatIntervalMs(){return this.socket.heartbeatIntervalMs}get heartbeatCallback(){return this.socket.heartbeatCallback}set heartbeatCallback(e){this.socket.heartbeatCallback=e}get heartbeatTimer(){return this.socket.heartbeatTimer}get pendingHeartbeatRef(){return this.socket.pendingHeartbeatRef}get reconnectTimer(){return this.socket.reconnectTimer}get vsn(){return this.socket.vsn}get encode(){return this.socket.encode}get decode(){return this.socket.decode}get reconnectAfterMs(){return this.socket.reconnectAfterMs}get sendBuffer(){return this.socket.sendBuffer}get stateChangeCallbacks(){return this.socket.stateChangeCallbacks}connect(){this.socket.connect()}disconnect(e,i,a,l=1e4){return new Promise(c=>{setTimeout(()=>c("timeout"),l),this.socket.disconnect(()=>{e(),c("ok")},i,a)})}push(e){this.socket.push(e)}log(e,i,a){this.socket.log(e,i,a)}makeRef(){return this.socket.makeRef()}onOpen(e){this.socket.onOpen(e)}onClose(e){this.socket.onClose(e)}onError(e){this.socket.onError(e)}onMessage(e){this.socket.onMessage(e)}isConnected(){return this.socket.isConnected()}isConnecting(){return this.socket.connectionState()==cf.connecting}isDisconnecting(){return this.socket.connectionState()==cf.closing}connectionState(){return this.socket.connectionState()}endPointURL(){return this.socket.endPointURL()}sendHeartbeat(){this.socket.sendHeartbeat()}getSocket(){return this.socket}}const Bb={HEARTBEAT_INTERVAL:25e3},sk=[1e3,2e3,5e3,1e4],ik=1e4;function ak(){const n=new Map;return{get length(){return n.size},clear(){n.clear()},getItem(e){return n.has(e)?n.get(e):null},key(e){var i;return(i=Array.from(n.keys())[e])!==null&&i!==void 0?i:null},removeItem(e){n.delete(e)},setItem(e,i){n.set(e,String(i))}}}function rk(){try{if(typeof globalThis<"u"&&globalThis.sessionStorage)return globalThis.sessionStorage}catch{}return ak()}const ok=` + addEventListener("message", (e) => { + if (e.data.event === "start") { + setInterval(() => postMessage({ event: "keepAlive" }), e.data.interval); + } + });`;class lk{get endPoint(){return this.socketAdapter.endPoint}get timeout(){return this.socketAdapter.timeout}get transport(){return this.socketAdapter.transport}get heartbeatCallback(){return this.socketAdapter.heartbeatCallback}get heartbeatIntervalMs(){return this.socketAdapter.heartbeatIntervalMs}get heartbeatTimer(){return this.worker?this._workerHeartbeatTimer:this.socketAdapter.heartbeatTimer}get pendingHeartbeatRef(){return this.worker?this._pendingWorkerHeartbeatRef:this.socketAdapter.pendingHeartbeatRef}get reconnectTimer(){return this.socketAdapter.reconnectTimer}get vsn(){return this.socketAdapter.vsn}get encode(){return this.socketAdapter.encode}get decode(){return this.socketAdapter.decode}get reconnectAfterMs(){return this.socketAdapter.reconnectAfterMs}get sendBuffer(){return this.socketAdapter.sendBuffer}get stateChangeCallbacks(){return this.socketAdapter.stateChangeCallbacks}constructor(e,i){var a;if(this.channels=new Array,this.accessTokenValue=null,this.accessToken=null,this.apiKey=null,this.httpEndpoint="",this.headers={},this.params={},this.ref=0,this.serializer=new NN,this._manuallySetToken=!1,this._authPromise=null,this._workerHeartbeatTimer=void 0,this._pendingWorkerHeartbeatRef=null,this._pendingDisconnectTimer=null,this._disconnectOnEmptyChannelsAfterMs=0,this._resolveFetch=c=>c?(...u)=>c(...u):(...u)=>fetch(...u),!(!((a=i==null?void 0:i.params)===null||a===void 0)&&a.apikey))throw new Error("API key is required to connect to Realtime");this.apiKey=i.params.apikey;const l=this._initializeOptions(i);this.socketAdapter=new nk(e,l),this.httpEndpoint=vw(e),this.fetch=this._resolveFetch(i==null?void 0:i.fetch)}connect(){if(!(this.isConnecting()||this.isDisconnecting()||this.isConnected())){this.accessToken&&!this._authPromise&&this._setAuthSafely("connect"),this._setupConnectionHandlers();try{this.socketAdapter.connect()}catch(e){const i=e.message;throw new Error(`WebSocket not available: ${i}`)}this._handleNodeJsRaceCondition()}}endpointURL(){return this.socketAdapter.endPointURL()}async disconnect(e,i){return this._cancelPendingDisconnect(),this.isDisconnecting()?"ok":await this.socketAdapter.disconnect(()=>{clearInterval(this._workerHeartbeatTimer),this._terminateWorker()},e,i)}getChannels(){return this.channels}async removeChannel(e){const i=await e.unsubscribe();return i==="ok"&&e.teardown(),i}async removeAllChannels(){const e=this.channels.map(async a=>{const l=await a.unsubscribe();return a.teardown(),l}),i=await Promise.all(e);return await this.disconnect(),i}log(e,i,a){this.socketAdapter.log(e,i,a)}connectionState(){return this.socketAdapter.connectionState()||cf.closed}isConnected(){return this.socketAdapter.isConnected()}isConnecting(){return this.socketAdapter.isConnecting()}isDisconnecting(){return this.socketAdapter.isDisconnecting()}channel(e,i={config:{}}){const a=`realtime:${e}`,l=this.getChannels().find(c=>c.topic===a);if(l)return l;{const c=new ro(`realtime:${e}`,i,this);return this._cancelPendingDisconnect(),this.channels.push(c),c}}push(e){this.socketAdapter.push(e)}async setAuth(e=null){this._authPromise=this._performAuth(e);try{await this._authPromise}finally{this._authPromise=null}}_isManualToken(){return this._manuallySetToken}async sendHeartbeat(){this.socketAdapter.sendHeartbeat()}onHeartbeat(e){this.socketAdapter.heartbeatCallback=this._wrapHeartbeatCallback(e)}_makeRef(){return this.socketAdapter.makeRef()}_remove(e){this.channels=this.channels.filter(i=>i.topic!==e.topic),this.channels.length===0&&(this.log("transport","no channels remaining, scheduling disconnect"),this._schedulePendingDisconnect())}_schedulePendingDisconnect(){if(this._cancelPendingDisconnect(),this._disconnectOnEmptyChannelsAfterMs===0){this.log("transport","disconnecting immediately - no channels"),this.disconnect();return}this._pendingDisconnectTimer=setTimeout(()=>{this._pendingDisconnectTimer=null,this.channels.length===0&&(this.log("transport","deferred disconnect fired - no channels, disconnecting"),this.disconnect())},this._disconnectOnEmptyChannelsAfterMs),this.log("transport",`deferred disconnect scheduled in ${this._disconnectOnEmptyChannelsAfterMs}ms`)}_cancelPendingDisconnect(){this._pendingDisconnectTimer!==null&&(this.log("transport","pending disconnect cancelled - channel activity detected"),clearTimeout(this._pendingDisconnectTimer),this._pendingDisconnectTimer=null)}async _performAuth(e=null){let i,a=!1;if(e)i=e,a=!0;else if(this.accessToken)try{i=await this.accessToken()}catch(l){this.log("error","Error fetching access token from callback",l),i=this.accessTokenValue}else i=this.accessTokenValue;a?this._manuallySetToken=!0:this.accessToken&&(this._manuallySetToken=!1),this.accessTokenValue!=i&&(this.accessTokenValue=i,this.channels.forEach(l=>{const c={access_token:i,version:SN};i&&l.updateJoinPayload(c),l.joinedOnce&&l.channelAdapter.isJoined()&&l.channelAdapter.push(yw.access_token,{access_token:i})}))}async _waitForAuthIfNeeded(){this._authPromise&&await this._authPromise}_setAuthSafely(e="general"){this._isManualToken()||this.setAuth().catch(i=>{this.log("error",`Error setting auth in ${e}`,i)})}_setupConnectionHandlers(){this.socketAdapter.onOpen(()=>{(this._authPromise||(this.accessToken&&!this.accessTokenValue?this.setAuth():Promise.resolve())).catch(i=>{this.log("error","error waiting for auth on connect",i)}),this.worker&&!this.workerRef&&this._startWorkerHeartbeat()}),this.socketAdapter.onClose(()=>{this.worker&&this.workerRef&&this._terminateWorker()}),this.socketAdapter.onMessage(e=>{e.ref&&e.ref===this._pendingWorkerHeartbeatRef&&(this._pendingWorkerHeartbeatRef=null)})}_handleNodeJsRaceCondition(){this.socketAdapter.isConnected()&&this.socketAdapter.getSocket().onConnOpen()}_wrapHeartbeatCallback(e){return(i,a)=>{i!=="disconnected"&&(i=="sent"&&this._setAuthSafely(),e&&e(i,a))}}_startWorkerHeartbeat(){this.workerUrl?this.log("worker",`starting worker for from ${this.workerUrl}`):this.log("worker","starting default worker");const e=this._workerObjectUrl(this.workerUrl);this.workerRef=new Worker(e),this.workerRef.onerror=i=>{this.log("worker","worker error",i.message),this._terminateWorker(),this.disconnect()},this.workerRef.onmessage=i=>{i.data.event==="keepAlive"&&this.sendHeartbeat()},this.workerRef.postMessage({event:"start",interval:this.heartbeatIntervalMs})}_terminateWorker(){this.workerRef&&(this.log("worker","terminating worker"),this.workerRef.terminate(),this.workerRef=void 0)}_workerObjectUrl(e){let i;if(e)i=e;else{const a=new Blob([ok],{type:"application/javascript"});i=URL.createObjectURL(a)}return i}_initializeOptions(e){var i,a,l,c,u,d,m,p,y,v,x,_;this.worker=(i=e==null?void 0:e.worker)!==null&&i!==void 0?i:!1,this.accessToken=(a=e==null?void 0:e.accessToken)!==null&&a!==void 0?a:null;const S={};S.timeout=(l=e==null?void 0:e.timeout)!==null&&l!==void 0?l:AN,S.heartbeatIntervalMs=(c=e==null?void 0:e.heartbeatIntervalMs)!==null&&c!==void 0?c:Bb.HEARTBEAT_INTERVAL,this._disconnectOnEmptyChannelsAfterMs=(u=e==null?void 0:e.disconnectOnEmptyChannelsAfterMs)!==null&&u!==void 0?u:2*((d=e==null?void 0:e.heartbeatIntervalMs)!==null&&d!==void 0?d:Bb.HEARTBEAT_INTERVAL),S.transport=(m=e==null?void 0:e.transport)!==null&&m!==void 0?m:wN.getWebSocketConstructor(),S.params=e==null?void 0:e.params,S.logger=e==null?void 0:e.logger,S.heartbeatCallback=this._wrapHeartbeatCallback(e==null?void 0:e.heartbeatCallback),S.sessionStorage=(p=e==null?void 0:e.sessionStorage)!==null&&p!==void 0?p:rk(),S.reconnectAfterMs=(y=e==null?void 0:e.reconnectAfterMs)!==null&&y!==void 0?y:(D=>sk[D-1]||ik);let T,k;const C=(v=e==null?void 0:e.vsn)!==null&&v!==void 0?v:EN;switch(C){case TN:T=(D,j)=>j(JSON.stringify(D)),k=(D,j)=>j(JSON.parse(D));break;case gw:T=this.serializer.encode.bind(this.serializer),k=this.serializer.decode.bind(this.serializer);break;default:throw new Error(`Unsupported serializer version: ${S.vsn}`)}if(S.vsn=C,S.encode=(x=e==null?void 0:e.encode)!==null&&x!==void 0?x:T,S.decode=(_=e==null?void 0:e.decode)!==null&&_!==void 0?_:k,S.beforeReconnect=this._reconnectAuth.bind(this),(e!=null&&e.logLevel||e!=null&&e.log_level)&&(this.logLevel=e.logLevel||e.log_level,S.params=Object.assign(Object.assign({},S.params),{log_level:this.logLevel})),this.worker){if(typeof window<"u"&&!window.Worker)throw new Error("Web Worker is not supported");this.workerUrl=e==null?void 0:e.workerUrl,S.autoSendHeartbeat=!this.worker}return S}async _reconnectAuth(){await this._waitForAuthIfNeeded(),this.isConnected()||this.connect()}}var go=class extends Error{constructor(n,e){var i;super(n),this.name="IcebergError",this.status=e.status,this.icebergType=e.icebergType,this.icebergCode=e.icebergCode,this.details=e.details,this.isCommitStateUnknown=e.icebergType==="CommitStateUnknownException"||[500,502,504].includes(e.status)&&((i=e.icebergType)==null?void 0:i.includes("CommitState"))===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function ck(n,e,i){const a=new URL(e,n);if(i)for(const[l,c]of Object.entries(i))c!==void 0&&a.searchParams.set(l,c);return a.toString()}async function uk(n){return!n||n.type==="none"?{}:n.type==="bearer"?{Authorization:`Bearer ${n.token}`}:n.type==="header"?{[n.name]:n.value}:n.type==="custom"?await n.getHeaders():{}}function hk(n){const e=n.fetchImpl??globalThis.fetch;return{async request({method:i,path:a,query:l,body:c,headers:u}){const d=ck(n.baseUrl,a,l),m=await uk(n.auth),p=await e(d,{method:i,headers:{...c?{"Content-Type":"application/json"}:{},...m,...u},body:c?JSON.stringify(c):void 0}),y=await p.text(),v=(p.headers.get("content-type")||"").includes("application/json"),x=v&&y?JSON.parse(y):y;if(!p.ok){const _=v?x:void 0,S=_==null?void 0:_.error;throw new go((S==null?void 0:S.message)??`Request failed with status ${p.status}`,{status:p.status,icebergType:S==null?void 0:S.type,icebergCode:S==null?void 0:S.code,details:_})}return{status:p.status,headers:p.headers,data:x}}}}function Ql(n){return n.join("")}var dk=class{constructor(n,e=""){this.client=n,this.prefix=e}async listNamespaces(n){const e=n?{parent:Ql(n.namespace)}:void 0;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces`,query:e})).data.namespaces.map(a=>({namespace:a}))}async createNamespace(n,e){const i={namespace:n.namespace,properties:e==null?void 0:e.properties};return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces`,body:i})).data}async dropNamespace(n){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${Ql(n.namespace)}`})}async loadNamespaceMetadata(n){return{properties:(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Ql(n.namespace)}`})).data.properties}}async namespaceExists(n){try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${Ql(n.namespace)}`}),!0}catch(e){if(e instanceof go&&e.status===404)return!1;throw e}}async createNamespaceIfNotExists(n,e){try{return await this.createNamespace(n,e)}catch(i){if(i instanceof go&&i.status===409)return;throw i}}};function Na(n){return n.join("")}var fk=class{constructor(n,e="",i){this.client=n,this.prefix=e,this.accessDelegation=i}async listTables(n){return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Na(n.namespace)}/tables`})).data.identifiers}async createTable(n,e){const i={};return this.accessDelegation&&(i["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Na(n.namespace)}/tables`,body:e,headers:i})).data.metadata}async updateTable(n,e){const i=await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Na(n.namespace)}/tables/${n.name}`,body:e});return{"metadata-location":i.data["metadata-location"],metadata:i.data.metadata}}async dropTable(n,e){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${Na(n.namespace)}/tables/${n.name}`,query:{purgeRequested:String((e==null?void 0:e.purge)??!1)}})}async loadTable(n){const e={};return this.accessDelegation&&(e["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Na(n.namespace)}/tables/${n.name}`,headers:e})).data.metadata}async tableExists(n){const e={};this.accessDelegation&&(e["X-Iceberg-Access-Delegation"]=this.accessDelegation);try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${Na(n.namespace)}/tables/${n.name}`,headers:e}),!0}catch(i){if(i instanceof go&&i.status===404)return!1;throw i}}async createTableIfNotExists(n,e){try{return await this.createTable(n,e)}catch(i){if(i instanceof go&&i.status===409)return await this.loadTable({namespace:n.namespace,name:e.name});throw i}}},mk=class{constructor(n){var a;let e="v1";n.catalogName&&(e+=`/${n.catalogName}`);const i=n.baseUrl.endsWith("/")?n.baseUrl:`${n.baseUrl}/`;this.client=hk({baseUrl:i,auth:n.auth,fetchImpl:n.fetch}),this.accessDelegation=(a=n.accessDelegation)==null?void 0:a.join(","),this.namespaceOps=new dk(this.client,e),this.tableOps=new fk(this.client,e,this.accessDelegation)}async listNamespaces(n){return this.namespaceOps.listNamespaces(n)}async createNamespace(n,e){return this.namespaceOps.createNamespace(n,e)}async dropNamespace(n){await this.namespaceOps.dropNamespace(n)}async loadNamespaceMetadata(n){return this.namespaceOps.loadNamespaceMetadata(n)}async listTables(n){return this.tableOps.listTables(n)}async createTable(n,e){return this.tableOps.createTable(n,e)}async updateTable(n,e){return this.tableOps.updateTable(n,e)}async dropTable(n,e){await this.tableOps.dropTable(n,e)}async loadTable(n){return this.tableOps.loadTable(n)}async namespaceExists(n){return this.namespaceOps.namespaceExists(n)}async tableExists(n){return this.tableOps.tableExists(n)}async createNamespaceIfNotExists(n,e){return this.namespaceOps.createNamespaceIfNotExists(n,e)}async createTableIfNotExists(n,e){return this.tableOps.createTableIfNotExists(n,e)}};function yo(n){"@babel/helpers - typeof";return yo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},yo(n)}function pk(n,e){if(yo(n)!="object"||!n)return n;var i=n[Symbol.toPrimitive];if(i!==void 0){var a=i.call(n,e);if(yo(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function gk(n){var e=pk(n,"string");return yo(e)=="symbol"?e:e+""}function yk(n,e,i){return(e=gk(e))in n?Object.defineProperty(n,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[e]=i,n}function Ub(n,e){var i=Object.keys(n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(n);e&&(a=a.filter(function(l){return Object.getOwnPropertyDescriptor(n,l).enumerable})),i.push.apply(i,a)}return i}function ge(n){for(var e=1;en?(...e)=>n(...e):(...e)=>fetch(...e),xk=n=>{if(typeof n!="object"||n===null)return!1;const e=Object.getPrototypeOf(n);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in n)&&!(Symbol.iterator in n)},mf=n=>{if(Array.isArray(n))return n.map(i=>mf(i));if(typeof n=="function"||n!==Object(n))return n;const e={};return Object.entries(n).forEach(([i,a])=>{const l=i.replace(/([-_][a-z])/gi,c=>c.toUpperCase().replace(/[-_]/g,""));e[l]=mf(a)}),e},wk=n=>!n||typeof n!="string"||n.length===0||n.length>100||n.trim()!==n||n.includes("/")||n.includes("\\")?!1:/^[\w!.\*'() &$@=;:+,?-]+$/.test(n),Lb=n=>{if(typeof n=="object"&&n!==null){const e=n;if(typeof e.msg=="string")return e.msg;if(typeof e.message=="string")return e.message;if(typeof e.error_description=="string")return e.error_description;if(typeof e.error=="string")return e.error;if(typeof e.error=="object"&&e.error!==null){const i=e.error;if(typeof i.message=="string")return i.message}}return JSON.stringify(n)},_k=async(n,e,i,a)=>{if(n!==null&&typeof n=="object"&&"json"in n&&typeof n.json=="function"){const l=n;let c=parseInt(String(l.status),10);Number.isFinite(c)||(c=500),l.json().then(u=>{const d=(u==null?void 0:u.statusCode)||(u==null?void 0:u.code)||c+"";e(new ff(Lb(u),c,d,a))}).catch(()=>{const u=c+"";e(new ff(l.statusText||`HTTP ${c} error`,c,u,a))})}else e(new ww(Lb(n),n,a))},Sk=(n,e,i,a)=>{const l={method:n,headers:(e==null?void 0:e.headers)||{}};if(n==="GET"||n==="HEAD"||!a)return ge(ge({},l),i);if(xk(a)){var c;const u=(e==null?void 0:e.headers)||{};let d;for(const[m,p]of Object.entries(u))m.toLowerCase()==="content-type"&&(d=p);l.headers=Ec(u,"Content-Type",(c=d)!==null&&c!==void 0?c:"application/json"),l.body=JSON.stringify(a)}else l.body=a;return e!=null&&e.duplex&&(l.duplex=e.duplex),ge(ge({},l),i)};async function Kr(n,e,i,a,l,c,u){return new Promise((d,m)=>{n(i,Sk(e,a,l,c)).then(p=>{if(!p.ok)throw p;if(a!=null&&a.noResolveJson)return p;if(u==="vectors"){const y=p.headers.get("content-type");if(p.headers.get("content-length")==="0"||p.status===204)return{};if(!y||!y.includes("application/json"))return{}}return p.json()}).then(p=>d(p)).catch(p=>_k(p,m,a,u))})}function _w(n="storage"){return{get:async(e,i,a,l)=>Kr(e,"GET",i,a,l,void 0,n),post:async(e,i,a,l,c)=>Kr(e,"POST",i,l,c,a,n),put:async(e,i,a,l,c)=>Kr(e,"PUT",i,l,c,a,n),head:async(e,i,a,l)=>Kr(e,"HEAD",i,ge(ge({},a),{},{noResolveJson:!0}),l,void 0,n),remove:async(e,i,a,l,c)=>Kr(e,"DELETE",i,l,c,a,n)}}const Tk=_w("storage"),{get:bo,post:zn,put:pf,head:Ek,remove:vo}=Tk,un=_w("vectors");var Za=class{constructor(n,e={},i,a="storage"){this.shouldThrowOnError=!1,this.url=n,this.headers=bk(e),this.fetch=vk(i),this.namespace=a}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(n,e){return this.headers=Ec(this.headers,n,e),this}async handleOperation(n){var e=this;try{return{data:await n(),error:null}}catch(i){if(e.shouldThrowOnError)throw i;if(Vc(i))return{data:null,error:i};throw i}}};let Sw;Sw=Symbol.toStringTag;var Ak=class{constructor(n,e){this.downloadFn=n,this.shouldThrowOnError=e,this[Sw]="StreamDownloadBuilder",this.promise=null}then(n,e){return this.getPromise().then(n,e)}catch(n){return this.getPromise().catch(n)}finally(n){return this.getPromise().finally(n)}getPromise(){return this.promise||(this.promise=this.execute()),this.promise}async execute(){var n=this;try{return{data:(await n.downloadFn()).body,error:null}}catch(e){if(n.shouldThrowOnError)throw e;if(Vc(e))return{data:null,error:e};throw e}}};let Tw;Tw=Symbol.toStringTag;var jk=class{constructor(n,e){this.downloadFn=n,this.shouldThrowOnError=e,this[Tw]="BlobDownloadBuilder",this.promise=null}asStream(){return new Ak(this.downloadFn,this.shouldThrowOnError)}then(n,e){return this.getPromise().then(n,e)}catch(n){return this.getPromise().catch(n)}finally(n){return this.getPromise().finally(n)}getPromise(){return this.promise||(this.promise=this.execute()),this.promise}async execute(){var n=this;try{return{data:await(await n.downloadFn()).blob(),error:null}}catch(e){if(n.shouldThrowOnError)throw e;if(Vc(e))return{data:null,error:e};throw e}}};const Td={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},zb={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1};var Nk=class extends Za{constructor(n,e={},i,a){super(n,e,a,"storage"),this.bucketId=i}async uploadOrUpdate(n,e,i,a){var l=this;return l.handleOperation(async()=>{let c;const u=ge(ge({},zb),a);let d=ge(ge({},l.headers),n==="POST"&&{"x-upsert":String(u.upsert)});const m=u.metadata;if(typeof Blob<"u"&&i instanceof Blob?(c=new FormData,c.append("cacheControl",u.cacheControl),m&&c.append("metadata",l.encodeMetadata(m)),c.append("",i)):typeof FormData<"u"&&i instanceof FormData?(c=i,c.has("cacheControl")||c.append("cacheControl",u.cacheControl),m&&!c.has("metadata")&&c.append("metadata",l.encodeMetadata(m))):(c=i,d["cache-control"]=`max-age=${u.cacheControl}`,d["content-type"]=u.contentType,m&&(d["x-metadata"]=l.toBase64(l.encodeMetadata(m))),(typeof ReadableStream<"u"&&c instanceof ReadableStream||c&&typeof c=="object"&&"pipe"in c&&typeof c.pipe=="function")&&!u.duplex&&(u.duplex="half")),a!=null&&a.headers)for(const[x,_]of Object.entries(a.headers))d=Ec(d,x,_);const p=l._removeEmptyFolders(e),y=l._getFinalPath(p),v=await(n=="PUT"?pf:zn)(l.fetch,`${l.url}/object/${y}`,c,ge({headers:d},u!=null&&u.duplex?{duplex:u.duplex}:{}));return{path:p,id:v.Id,fullPath:v.Key}})}async upload(n,e,i){return this.uploadOrUpdate("POST",n,e,i)}async uploadToSignedUrl(n,e,i,a){var l=this;const c=l._removeEmptyFolders(n),u=l._getFinalPath(c),d=new URL(l.url+`/object/upload/sign/${u}`);return d.searchParams.set("token",e),l.handleOperation(async()=>{let m;const p=ge(ge({},zb),a);let y=ge(ge({},l.headers),{"x-upsert":String(p.upsert)});const v=p.metadata;if(typeof Blob<"u"&&i instanceof Blob?(m=new FormData,m.append("cacheControl",p.cacheControl),v&&m.append("metadata",l.encodeMetadata(v)),m.append("",i)):typeof FormData<"u"&&i instanceof FormData?(m=i,m.has("cacheControl")||m.append("cacheControl",p.cacheControl),v&&!m.has("metadata")&&m.append("metadata",l.encodeMetadata(v))):(m=i,y["cache-control"]=`max-age=${p.cacheControl}`,y["content-type"]=p.contentType,v&&(y["x-metadata"]=l.toBase64(l.encodeMetadata(v))),(typeof ReadableStream<"u"&&m instanceof ReadableStream||m&&typeof m=="object"&&"pipe"in m&&typeof m.pipe=="function")&&!p.duplex&&(p.duplex="half")),a!=null&&a.headers)for(const[x,_]of Object.entries(a.headers))y=Ec(y,x,_);return{path:c,fullPath:(await pf(l.fetch,d.toString(),m,ge({headers:y},p!=null&&p.duplex?{duplex:p.duplex}:{}))).Key}})}async createSignedUploadUrl(n,e){var i=this;return i.handleOperation(async()=>{let a=i._getFinalPath(n);const l=ge({},i.headers);e!=null&&e.upsert&&(l["x-upsert"]="true");const c=await zn(i.fetch,`${i.url}/object/upload/sign/${a}`,{},{headers:l}),u=new URL(i.url+c.url),d=u.searchParams.get("token");if(!d)throw new Pc("No token returned by API");return{signedUrl:u.toString(),path:n,token:d}})}async update(n,e,i){return this.uploadOrUpdate("PUT",n,e,i)}async move(n,e,i){var a=this;return a.handleOperation(async()=>await zn(a.fetch,`${a.url}/object/move`,{bucketId:a.bucketId,sourceKey:n,destinationKey:e,destinationBucket:i==null?void 0:i.destinationBucket},{headers:a.headers}))}async copy(n,e,i){var a=this;return a.handleOperation(async()=>({path:(await zn(a.fetch,`${a.url}/object/copy`,{bucketId:a.bucketId,sourceKey:n,destinationKey:e,destinationBucket:i==null?void 0:i.destinationBucket},{headers:a.headers})).Key}))}async createSignedUrl(n,e,i){var a=this;return a.handleOperation(async()=>{let l=a._getFinalPath(n);const c=typeof(i==null?void 0:i.transform)=="object"&&i.transform!==null&&Object.keys(i.transform).length>0;let u=await zn(a.fetch,`${a.url}/object/sign/${l}`,ge({expiresIn:e},c?{transform:i.transform}:{}),{headers:a.headers});const d=new URLSearchParams;i!=null&&i.download&&d.set("download",i.download===!0?"":i.download),(i==null?void 0:i.cacheNonce)!=null&&d.set("cacheNonce",String(i.cacheNonce));const m=d.toString();return{signedUrl:encodeURI(`${a.url}${u.signedURL}${m?`&${m}`:""}`)}})}async createSignedUrls(n,e,i){var a=this;return a.handleOperation(async()=>{const l=await zn(a.fetch,`${a.url}/object/sign/${a.bucketId}`,{expiresIn:e,paths:n},{headers:a.headers}),c=new URLSearchParams;i!=null&&i.download&&c.set("download",i.download===!0?"":i.download),(i==null?void 0:i.cacheNonce)!=null&&c.set("cacheNonce",String(i.cacheNonce));const u=c.toString();return l.map(d=>ge(ge({},d),{},{signedUrl:d.signedURL?encodeURI(`${a.url}${d.signedURL}${u?`&${u}`:""}`):null}))})}download(n,e,i){const a=typeof(e==null?void 0:e.transform)=="object"&&e.transform!==null&&Object.keys(e.transform).length>0?"render/image/authenticated":"object",l=new URLSearchParams;e!=null&&e.transform&&this.applyTransformOptsToQuery(l,e.transform),(e==null?void 0:e.cacheNonce)!=null&&l.set("cacheNonce",String(e.cacheNonce));const c=l.toString(),u=this._getFinalPath(n),d=()=>bo(this.fetch,`${this.url}/${a}/${u}${c?`?${c}`:""}`,{headers:this.headers,noResolveJson:!0},i);return new jk(d,this.shouldThrowOnError)}async info(n){var e=this;const i=e._getFinalPath(n);return e.handleOperation(async()=>mf(await bo(e.fetch,`${e.url}/object/info/${i}`,{headers:e.headers})))}async exists(n){var e=this;const i=e._getFinalPath(n);try{return await Ek(e.fetch,`${e.url}/object/${i}`,{headers:e.headers}),{data:!0,error:null}}catch(l){if(e.shouldThrowOnError)throw l;if(Vc(l)){var a;const c=l instanceof ff?l.status:l instanceof ww?(a=l.originalError)===null||a===void 0?void 0:a.status:void 0;if(c!==void 0&&[400,404].includes(c))return{data:!1,error:l}}throw l}}getPublicUrl(n,e){const i=this._getFinalPath(n),a=new URLSearchParams;e!=null&&e.download&&a.set("download",e.download===!0?"":e.download),e!=null&&e.transform&&this.applyTransformOptsToQuery(a,e.transform),(e==null?void 0:e.cacheNonce)!=null&&a.set("cacheNonce",String(e.cacheNonce));const l=a.toString(),c=typeof(e==null?void 0:e.transform)=="object"&&e.transform!==null&&Object.keys(e.transform).length>0?"render/image":"object";return{data:{publicUrl:encodeURI(`${this.url}/${c}/public/${i}`)+(l?`?${l}`:"")}}}async remove(n){var e=this;return e.handleOperation(async()=>await vo(e.fetch,`${e.url}/object/${e.bucketId}`,{prefixes:n},{headers:e.headers}))}async purgeCache(n,e,i){var a=this;return a.handleOperation(async()=>{const l=a._getFinalPath(n),c=new URLSearchParams;e!=null&&e.transformations&&c.set("transformations","true");const u=c.toString();return await vo(a.fetch,`${a.url}/cdn/${l}${u?`?${u}`:""}`,{},{headers:a.headers},i)})}async list(n,e,i){var a=this;return a.handleOperation(async()=>{const l=e!=null&&e.sortBy?ge(ge({},Td.sortBy),e.sortBy):Td.sortBy,c=ge(ge(ge({},Td),e),{},{sortBy:l,prefix:n||""});return await zn(a.fetch,`${a.url}/object/list/${a.bucketId}`,c,{headers:a.headers},i)})}async listV2(n,e){var i=this;return i.handleOperation(async()=>{const a=ge({},n);return await zn(i.fetch,`${i.url}/object/list-v2/${i.bucketId}`,a,{headers:i.headers},e)})}encodeMetadata(n){return JSON.stringify(n)}toBase64(n){return typeof Buffer<"u"?Buffer.from(n).toString("base64"):btoa(n)}_getFinalPath(n){return`${this.bucketId}/${n.replace(/^\/+/,"")}`}_removeEmptyFolders(n){return n.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}applyTransformOptsToQuery(n,e){return e.width&&n.set("width",e.width.toString()),e.height&&n.set("height",e.height.toString()),e.resize&&n.set("resize",e.resize),e.format&&n.set("format",e.format),e.quality&&n.set("quality",e.quality.toString()),n}};const kk="2.110.2",No={"X-Client-Info":`storage-js/${kk}`};var Ck=class extends Za{constructor(n,e={},i,a){const l=new URL(n);a!=null&&a.useNewHostname&&/supabase\.(co|in|red)$/.test(l.hostname)&&!l.hostname.includes("storage.supabase.")&&(l.hostname=l.hostname.replace("supabase.","storage.supabase."));const c=l.href.replace(/\/$/,""),u=ge(ge({},No),e);super(c,u,i,"storage")}async listBuckets(n){var e=this;return e.handleOperation(async()=>{const i=e.listBucketOptionsToQueryString(n);return await bo(e.fetch,`${e.url}/bucket${i}`,{headers:e.headers})})}async getBucket(n){var e=this;return e.handleOperation(async()=>await bo(e.fetch,`${e.url}/bucket/${n}`,{headers:e.headers}))}async createBucket(n,e={public:!1}){var i=this;return i.handleOperation(async()=>await zn(i.fetch,`${i.url}/bucket`,{id:n,name:n,type:e.type,public:e.public,file_size_limit:e.fileSizeLimit,allowed_mime_types:e.allowedMimeTypes},{headers:i.headers}))}async updateBucket(n,e){var i=this;return i.handleOperation(async()=>await pf(i.fetch,`${i.url}/bucket/${n}`,{id:n,name:n,public:e.public,file_size_limit:e.fileSizeLimit,allowed_mime_types:e.allowedMimeTypes},{headers:i.headers}))}async emptyBucket(n){var e=this;return e.handleOperation(async()=>await zn(e.fetch,`${e.url}/bucket/${n}/empty`,{},{headers:e.headers}))}async deleteBucket(n){var e=this;return e.handleOperation(async()=>await vo(e.fetch,`${e.url}/bucket/${n}`,{},{headers:e.headers}))}async purgeBucketCache(n,e,i){var a=this;return a.handleOperation(async()=>{const l=new URLSearchParams;e!=null&&e.transformations&&l.set("transformations","true");const c=l.toString();return await vo(a.fetch,`${a.url}/cdn/${n}${c?`?${c}`:""}`,{},{headers:a.headers},i)})}listBucketOptionsToQueryString(n){const e={};return n&&("limit"in n&&(e.limit=String(n.limit)),"offset"in n&&(e.offset=String(n.offset)),n.search&&(e.search=n.search),n.sortColumn&&(e.sortColumn=n.sortColumn),n.sortOrder&&(e.sortOrder=n.sortOrder)),Object.keys(e).length>0?"?"+new URLSearchParams(e).toString():""}},Rk=class extends Za{constructor(n,e={},i){const a=n.replace(/\/$/,""),l=ge(ge({},No),e);super(a,l,i,"storage")}async createBucket(n){var e=this;return e.handleOperation(async()=>await zn(e.fetch,`${e.url}/bucket`,{name:n},{headers:e.headers}))}async listBuckets(n){var e=this;return e.handleOperation(async()=>{const i=new URLSearchParams;(n==null?void 0:n.limit)!==void 0&&i.set("limit",n.limit.toString()),(n==null?void 0:n.offset)!==void 0&&i.set("offset",n.offset.toString()),n!=null&&n.sortColumn&&i.set("sortColumn",n.sortColumn),n!=null&&n.sortOrder&&i.set("sortOrder",n.sortOrder),n!=null&&n.search&&i.set("search",n.search);const a=i.toString(),l=a?`${e.url}/bucket?${a}`:`${e.url}/bucket`;return await bo(e.fetch,l,{headers:e.headers})})}async deleteBucket(n){var e=this;return e.handleOperation(async()=>await vo(e.fetch,`${e.url}/bucket/${n}`,{},{headers:e.headers}))}from(n){var e=this;if(!wk(n))throw new Pc("Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.");const i=new mk({baseUrl:this.url,catalogName:n,auth:{type:"custom",getHeaders:async()=>e.headers},fetch:this.fetch}),a=this.shouldThrowOnError;return new Proxy(i,{get(l,c){const u=l[c];return typeof u!="function"?u:async(...d)=>{try{return{data:await u.apply(l,d),error:null}}catch(m){if(a)throw m;return{data:null,error:m}}}}})}},Ok=class extends Za{constructor(n,e={},i){const a=n.replace(/\/$/,""),l=ge(ge({},No),{},{"Content-Type":"application/json"},e);super(a,l,i,"vectors")}async createIndex(n){var e=this;return e.handleOperation(async()=>await un.post(e.fetch,`${e.url}/CreateIndex`,n,{headers:e.headers})||{})}async getIndex(n,e){var i=this;return i.handleOperation(async()=>await un.post(i.fetch,`${i.url}/GetIndex`,{vectorBucketName:n,indexName:e},{headers:i.headers}))}async listIndexes(n){var e=this;return e.handleOperation(async()=>await un.post(e.fetch,`${e.url}/ListIndexes`,n,{headers:e.headers}))}async deleteIndex(n,e){var i=this;return i.handleOperation(async()=>await un.post(i.fetch,`${i.url}/DeleteIndex`,{vectorBucketName:n,indexName:e},{headers:i.headers})||{})}},Dk=class extends Za{constructor(n,e={},i){const a=n.replace(/\/$/,""),l=ge(ge({},No),{},{"Content-Type":"application/json"},e);super(a,l,i,"vectors")}async putVectors(n){var e=this;if(n.vectors.length<1||n.vectors.length>500)throw new Error("Vector batch size must be between 1 and 500 items");return e.handleOperation(async()=>await un.post(e.fetch,`${e.url}/PutVectors`,n,{headers:e.headers})||{})}async getVectors(n){var e=this;return e.handleOperation(async()=>await un.post(e.fetch,`${e.url}/GetVectors`,n,{headers:e.headers}))}async listVectors(n){var e=this;if(n.segmentCount!==void 0){if(n.segmentCount<1||n.segmentCount>16)throw new Error("segmentCount must be between 1 and 16");if(n.segmentIndex!==void 0&&(n.segmentIndex<0||n.segmentIndex>=n.segmentCount))throw new Error(`segmentIndex must be between 0 and ${n.segmentCount-1}`)}return e.handleOperation(async()=>await un.post(e.fetch,`${e.url}/ListVectors`,n,{headers:e.headers}))}async queryVectors(n){var e=this;return e.handleOperation(async()=>await un.post(e.fetch,`${e.url}/QueryVectors`,n,{headers:e.headers}))}async deleteVectors(n){var e=this;if(n.keys.length<1||n.keys.length>500)throw new Error("Keys batch size must be between 1 and 500 items");return e.handleOperation(async()=>await un.post(e.fetch,`${e.url}/DeleteVectors`,n,{headers:e.headers})||{})}},Mk=class extends Za{constructor(n,e={},i){const a=n.replace(/\/$/,""),l=ge(ge({},No),{},{"Content-Type":"application/json"},e);super(a,l,i,"vectors")}async createBucket(n){var e=this;return e.handleOperation(async()=>await un.post(e.fetch,`${e.url}/CreateVectorBucket`,{vectorBucketName:n},{headers:e.headers})||{})}async getBucket(n){var e=this;return e.handleOperation(async()=>await un.post(e.fetch,`${e.url}/GetVectorBucket`,{vectorBucketName:n},{headers:e.headers}))}async listBuckets(n={}){var e=this;return e.handleOperation(async()=>await un.post(e.fetch,`${e.url}/ListVectorBuckets`,n,{headers:e.headers}))}async deleteBucket(n){var e=this;return e.handleOperation(async()=>await un.post(e.fetch,`${e.url}/DeleteVectorBucket`,{vectorBucketName:n},{headers:e.headers})||{})}},Bk=class extends Mk{constructor(n,e={}){super(n,e.headers||{},e.fetch)}from(n){return new Uk(this.url,this.headers,n,this.fetch)}async createBucket(n){var e=()=>super.createBucket,i=this;return e().call(i,n)}async getBucket(n){var e=()=>super.getBucket,i=this;return e().call(i,n)}async listBuckets(n={}){var e=()=>super.listBuckets,i=this;return e().call(i,n)}async deleteBucket(n){var e=()=>super.deleteBucket,i=this;return e().call(i,n)}},Uk=class extends Ok{constructor(n,e,i,a){super(n,e,a),this.vectorBucketName=i}async createIndex(n){var e=()=>super.createIndex,i=this;return e().call(i,ge(ge({},n),{},{vectorBucketName:i.vectorBucketName}))}async listIndexes(n={}){var e=()=>super.listIndexes,i=this;return e().call(i,ge(ge({},n),{},{vectorBucketName:i.vectorBucketName}))}async getIndex(n){var e=()=>super.getIndex,i=this;return e().call(i,i.vectorBucketName,n)}async deleteIndex(n){var e=()=>super.deleteIndex,i=this;return e().call(i,i.vectorBucketName,n)}index(n){return new Lk(this.url,this.headers,this.vectorBucketName,n,this.fetch)}},Lk=class extends Dk{constructor(n,e,i,a,l){super(n,e,l),this.vectorBucketName=i,this.indexName=a}async putVectors(n){var e=()=>super.putVectors,i=this;return e().call(i,ge(ge({},n),{},{vectorBucketName:i.vectorBucketName,indexName:i.indexName}))}async getVectors(n){var e=()=>super.getVectors,i=this;return e().call(i,ge(ge({},n),{},{vectorBucketName:i.vectorBucketName,indexName:i.indexName}))}async listVectors(n={}){var e=()=>super.listVectors,i=this;return e().call(i,ge(ge({},n),{},{vectorBucketName:i.vectorBucketName,indexName:i.indexName}))}async queryVectors(n){var e=()=>super.queryVectors,i=this;return e().call(i,ge(ge({},n),{},{vectorBucketName:i.vectorBucketName,indexName:i.indexName}))}async deleteVectors(n){var e=()=>super.deleteVectors,i=this;return e().call(i,ge(ge({},n),{},{vectorBucketName:i.vectorBucketName,indexName:i.indexName}))}},zk=class extends Ck{constructor(n,e={},i,a){super(n,e,i,a)}from(n){return new Nk(this.url,this.headers,n,this.fetch)}get vectors(){return new Bk(this.url+"/vector",{headers:this.headers,fetch:this.fetch})}get analytics(){return new Rk(this.url+"/iceberg",this.headers,this.fetch)}};const Ew="2.110.2",Ns=30*1e3,Zr=3,Ed=Zr*Ns,Pk=2*Ns,Vk="http://localhost:9999",Hk="supabase.auth.token",$k={"X-Client-Info":`gotrue-js/${Ew}`},gf="X-Supabase-Api-Version",Aw={"2024-01-01":{timestamp:Date.parse("2024-01-01T00:00:00.0Z"),name:"2024-01-01"}},qk=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}$|[a-z0-9_-]{2}$)$/i,Fk=600*1e3;class xo extends Error{constructor(e,i,a){super(e),this.__isAuthError=!0,this.name="AuthError",this.status=i,this.code=a}toJSON(){return{name:this.name,message:this.message,status:this.status,code:this.code}}}function se(n){return typeof n=="object"&&n!==null&&"__isAuthError"in n}class Ik extends xo{constructor(e,i,a){super(e,i,a),this.name="AuthApiError",this.status=i,this.code=a}}function Gk(n){return se(n)&&n.name==="AuthApiError"}class Pn extends xo{constructor(e,i){super(e),this.name="AuthUnknownError",this.originalError=i}}class is extends xo{constructor(e,i,a,l){super(e,a,l),this.name=i,this.status=a}}class kt extends is{constructor(){super("Auth session missing!","AuthSessionMissingError",400,void 0)}}function Zl(n){return se(n)&&n.name==="AuthSessionMissingError"}class ka extends is{constructor(){super("Auth session or user missing","AuthInvalidTokenResponseError",500,void 0)}}class Wl extends is{constructor(e){super(e,"AuthInvalidCredentialsError",400,void 0)}}class ec extends is{constructor(e,i=null){super(e,"AuthImplicitGrantRedirectError",500,void 0),this.details=null,this.details=i}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}}function Kk(n){return se(n)&&n.name==="AuthImplicitGrantRedirectError"}class Pb extends is{constructor(e,i=null){super(e,"AuthPKCEGrantCodeExchangeError",500,void 0),this.details=null,this.details=i}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}}class Yk extends is{constructor(){super("PKCE code verifier not found in storage. This can happen if the auth flow was initiated in a different browser or device, or if the storage was cleared. For SSR frameworks (Next.js, SvelteKit, etc.), use @supabase/ssr on both the server and client to store the code verifier in cookies.","AuthPKCECodeVerifierMissingError",400,"pkce_code_verifier_not_found")}}class yf extends is{constructor(e,i){super(e,"AuthRetryableFetchError",i,void 0)}}function Vb(n){return se(n)&&n.name==="AuthRetryableFetchError"}class Hb extends is{constructor(e="Refresh result discarded: session state changed mid-flight (e.g., concurrent signOut)"){super(e,"AuthRefreshDiscardedError",409,void 0)}}function Xk(n){return se(n)&&n.name==="AuthRefreshDiscardedError"}class $b extends is{constructor(e,i,a){super(e,"AuthWeakPasswordError",i,"weak_password"),this.reasons=a}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{reasons:this.reasons})}}class Ac extends is{constructor(e){super(e,"AuthInvalidJwtError",400,"invalid_jwt")}}const jc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".split(""),qb=` +\r=`.split(""),Jk=(()=>{const n=new Array(128);for(let e=0;e=6;){const a=e.queue>>e.queuedBits-6&63;i(jc[a]),e.queuedBits-=6}else if(e.queuedBits>0)for(e.queue=e.queue<<6-e.queuedBits,e.queuedBits=6;e.queuedBits>=6;){const a=e.queue>>e.queuedBits-6&63;i(jc[a]),e.queuedBits-=6}}function jw(n,e,i){const a=Jk[n];if(a>-1)for(e.queue=e.queue<<6|a,e.queuedBits+=6;e.queuedBits>=8;)i(e.queue>>e.queuedBits-8&255),e.queuedBits-=8;else{if(a===-2)return;throw new Error(`Invalid Base64-URL character "${String.fromCharCode(n)}"`)}}function Ib(n){const e=[],i=u=>{e.push(String.fromCodePoint(u))},a={utf8seq:0,codepoint:0},l={queue:0,queuedBits:0},c=u=>{Wk(u,a,i)};for(let u=0;u>6),e(128|n&63);return}else if(n<=65535){e(224|n>>12),e(128|n>>6&63),e(128|n&63);return}else if(n<=1114111){e(240|n>>18),e(128|n>>12&63),e(128|n>>6&63),e(128|n&63);return}throw new Error(`Unrecognized Unicode codepoint: ${n.toString(16)}`)}function Zk(n,e){for(let i=0;i55295&&a<=56319){const l=(a-55296)*1024&65535;a=(n.charCodeAt(i+1)-56320&65535|l)+65536,i+=1}Qk(a,e)}}function Wk(n,e,i){if(e.utf8seq===0){if(n<=127){i(n);return}for(let a=1;a<6;a+=1)if((n>>7-a&1)===0){e.utf8seq=a;break}if(e.utf8seq===2)e.codepoint=n&31;else if(e.utf8seq===3)e.codepoint=n&15;else if(e.utf8seq===4)e.codepoint=n&7;else throw new Error("Invalid UTF-8 sequence");e.utf8seq-=1}else if(e.utf8seq>0){if(n<=127)throw new Error("Invalid UTF-8 sequence");e.codepoint=e.codepoint<<6|n&63,e.utf8seq-=1,e.utf8seq===0&&i(e.codepoint)}}function Fa(n){const e=[],i={queue:0,queuedBits:0},a=l=>{e.push(l)};for(let l=0;le.push(i)),new Uint8Array(e)}function Li(n){const e=[],i={queue:0,queuedBits:0},a=l=>{e.push(l)};return n.forEach(l=>Fb(l,i,a)),Fb(null,i,a),e.join("")}function tC(n){return Math.round(Date.now()/1e3)+n}function nC(){return Symbol("auth-callback")}const Pt=()=>typeof window<"u"&&typeof document<"u",Ri={tested:!1,writable:!1},Nw=()=>{if(!Pt())return!1;try{if(typeof globalThis.localStorage!="object")return!1}catch{return!1}if(Ri.tested)return Ri.writable;const n=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(n,n),globalThis.localStorage.removeItem(n),Ri.tested=!0,Ri.writable=!0}catch{Ri.tested=!0,Ri.writable=!1}return Ri.writable};function sC(n){const e={},i=new URL(n);if(i.hash&&i.hash[0]==="#")try{new URLSearchParams(i.hash.substring(1)).forEach((l,c)=>{e[c]=l})}catch{}return i.searchParams.forEach((a,l)=>{e[l]=a}),e}const kw=n=>n?(...e)=>n(...e):(...e)=>fetch(...e),iC=n=>typeof n=="object"&&n!==null&&"status"in n&&"ok"in n&&"json"in n&&typeof n.json=="function",Ua=async(n,e,i)=>{await n.setItem(e,JSON.stringify(i))},Mn=async(n,e)=>{const i=await n.getItem(e);if(!i)return null;try{return JSON.parse(i)}catch{return null}},ht=async(n,e)=>{await n.removeItem(e)};class Hc{constructor(){this.promise=new Hc.promiseConstructor((e,i)=>{this.resolve=e,this.reject=i})}}Hc.promiseConstructor=Promise;function tc(n){const e=n.split(".");if(e.length!==3)throw new Ac("Invalid JWT structure");for(let a=0;a{setTimeout(()=>e(null),n)})}function rC(n,e){return new Promise((a,l)=>{(async()=>{for(let c=0;c<1/0;c++)try{const u=await n(c);if(!e(c,null,u)){a(u);return}}catch(u){if(!e(c,u)){l(u);return}}})()})}function oC(n){return("0"+n.toString(16)).substr(-2)}function lC(){const e=new Uint32Array(56);if(typeof crypto>"u"){const i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",a=i.length;let l="";for(let c=0;c<56;c++)l+=i.charAt(Math.floor(Math.random()*a));return l}return crypto.getRandomValues(e),Array.from(e,oC).join("")}async function cC(n){const i=new TextEncoder().encode(n),a=await crypto.subtle.digest("SHA-256",i),l=new Uint8Array(a);return Array.from(l).map(c=>String.fromCharCode(c)).join("")}async function uC(n){if(!(typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof TextEncoder<"u"))return console.warn("WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256."),n;const i=await cC(n);return btoa(i).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function Oi(n,e,i=!1){const a=lC();let l=a;i&&(l+="/recovery"),await Ua(n,`${e}-code-verifier`,l);const c=await uC(a);return[c,a===c?"plain":"s256"]}const hC=/^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i;function dC(n){const e=n.headers.get(gf);if(!e||!e.match(hC))return null;try{return new Date(`${e}T00:00:00.0Z`)}catch{return null}}function fC(n){if(!n)throw new Error("Missing exp claim");const e=Math.floor(Date.now()/1e3);if(n<=e)throw new Error("JWT has expired")}function mC(n){switch(n){case"RS256":return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case"ES256":return{name:"ECDSA",namedCurve:"P-256",hash:{name:"SHA-256"}};default:throw new Error("Invalid alg claim")}}const pC=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function Ts(n){if(!pC.test(n))throw new Error("@supabase/auth-js: Expected parameter to be UUID but is not")}function Un(n){if(!n.passkey)throw new Error("@supabase/auth-js: the passkey API is experimental and disabled by default. Enable it by passing `auth: { experimental: { passkey: true } }` to createClient (or to the GoTrueClient constructor).")}function Ad(){const n={};return new Proxy(n,{get:(e,i)=>{if(i==="__isUserNotAvailableProxy")return!0;if(typeof i=="symbol"){const a=i.toString();if(a==="Symbol(Symbol.toPrimitive)"||a==="Symbol(Symbol.toStringTag)"||a==="Symbol(util.inspect.custom)")return}throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Accessing the "${i}" property of the session object is not supported. Please use getUser() instead.`)},set:(e,i)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Setting the "${i}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)},deleteProperty:(e,i)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Deleting the "${i}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)}})}function gC(n,e){return new Proxy(n,{get:(i,a,l)=>{if(a==="__isInsecureUserWarningProxy")return!0;if(typeof a=="symbol"){const c=a.toString();if(c==="Symbol(Symbol.toPrimitive)"||c==="Symbol(Symbol.toStringTag)"||c==="Symbol(util.inspect.custom)"||c==="Symbol(nodejs.util.inspect.custom)")return Reflect.get(i,a,l)}return!e.value&&typeof a=="string"&&(console.warn("Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and may not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server."),e.value=!0),Reflect.get(i,a,l)}})}function Gb(n){return JSON.parse(JSON.stringify(n))}const Mi=n=>{if(typeof n=="object"&&n!==null){const e=n;if(typeof e.msg=="string")return e.msg;if(typeof e.message=="string")return e.message;if(typeof e.error_description=="string")return e.error_description;if(typeof e.error=="string")return e.error}return JSON.stringify(n)},yC=[500,501,502,503,504,520,521,522,523,524,525,526,527,528,529,530];async function Kb(n){var e;if(!iC(n))throw new yf(Mi(n),0);if(yC.includes(n.status))throw new yf(Mi(n),n.status);let i;try{i=await n.json()}catch(c){throw new Pn(Mi(c),c)}let a;const l=dC(n);if(l&&l.getTime()>=Aw["2024-01-01"].timestamp&&typeof i=="object"&&i&&typeof i.code=="string"?a=i.code:typeof i=="object"&&i&&typeof i.error_code=="string"&&(a=i.error_code),a){if(a==="weak_password")throw new $b(Mi(i),n.status,((e=i.weak_password)===null||e===void 0?void 0:e.reasons)||[]);if(a==="session_not_found")throw new kt}else if(typeof i=="object"&&i&&typeof i.weak_password=="object"&&i.weak_password&&Array.isArray(i.weak_password.reasons)&&i.weak_password.reasons.length&&i.weak_password.reasons.reduce((c,u)=>c&&typeof u=="string",!0))throw new $b(Mi(i),n.status,i.weak_password.reasons);throw new Ik(Mi(i),n.status||500,a)}const bC=(n,e,i,a)=>{const l={method:n,headers:(e==null?void 0:e.headers)||{}};return n==="GET"?l:(l.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},e==null?void 0:e.headers),l.body=JSON.stringify(a),Object.assign(Object.assign({},l),i))};async function le(n,e,i,a){var l;const c=Object.assign({},a==null?void 0:a.headers);c[gf]||(c[gf]=Aw["2024-01-01"].name),a!=null&&a.jwt&&(c.Authorization=`Bearer ${a.jwt}`);const u=(l=a==null?void 0:a.query)!==null&&l!==void 0?l:{};a!=null&&a.redirectTo&&(u.redirect_to=a.redirectTo);const d=Object.keys(u).length?"?"+new URLSearchParams(u).toString():"",m=await vC(n,e,i+d,{headers:c,noResolveJson:a==null?void 0:a.noResolveJson},{},a==null?void 0:a.body);return a!=null&&a.xform?a==null?void 0:a.xform(m):{data:Object.assign({},m),error:null}}async function vC(n,e,i,a,l,c){const u=bC(e,a,l,c);let d;try{d=await n(i,Object.assign({},u))}catch(m){throw console.error(m),new yf(Mi(m),0)}if(d.ok||await Kb(d),a!=null&&a.noResolveJson)return d;try{return await d.json()}catch(m){await Kb(m)}}function En(n){var e;let i=null;_C(n)&&(i=Object.assign({},n),n.expires_at||(i.expires_at=tC(n.expires_in)));const a=(e=n.user)!==null&&e!==void 0?e:typeof(n==null?void 0:n.id)=="string"?n:null;return{data:{session:i,user:a},error:null}}function Yb(n){const e=En(n);return!e.error&&n.weak_password&&typeof n.weak_password=="object"&&Array.isArray(n.weak_password.reasons)&&n.weak_password.reasons.length&&n.weak_password.message&&typeof n.weak_password.message=="string"&&n.weak_password.reasons.reduce((i,a)=>i&&typeof a=="string",!0)&&(e.data.weak_password=n.weak_password),e}function ni(n){var e;return{data:{user:(e=n.user)!==null&&e!==void 0?e:n},error:null}}function xC(n){return{data:n,error:null}}function wC(n){const{action_link:e,email_otp:i,hashed_token:a,redirect_to:l,verification_type:c}=n,u=zc(n,["action_link","email_otp","hashed_token","redirect_to","verification_type"]),d={action_link:e,email_otp:i,hashed_token:a,redirect_to:l,verification_type:c},m=Object.assign({},u);return{data:{properties:d,user:m},error:null}}function Xb(n){return n}function _C(n){return!!n.access_token&&!!n.refresh_token&&!!n.expires_in}const jd=["global","local","others"];class SC{constructor({url:e="",headers:i={},fetch:a,experimental:l}){this.url=e,this.headers=i,this.fetch=kw(a),this.experimental=l??{},this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)},this.oauth={listClients:this._listOAuthClients.bind(this),createClient:this._createOAuthClient.bind(this),getClient:this._getOAuthClient.bind(this),updateClient:this._updateOAuthClient.bind(this),deleteClient:this._deleteOAuthClient.bind(this),regenerateClientSecret:this._regenerateOAuthClientSecret.bind(this)},this.customProviders={listProviders:this._listCustomProviders.bind(this),createProvider:this._createCustomProvider.bind(this),getProvider:this._getCustomProvider.bind(this),updateProvider:this._updateCustomProvider.bind(this),deleteProvider:this._deleteCustomProvider.bind(this)},this.passkey={listPasskeys:this._adminListPasskeys.bind(this),deletePasskey:this._adminDeletePasskey.bind(this)}}async signOut(e,i=jd[0]){if(jd.indexOf(i)<0)throw new Error(`@supabase/auth-js: Parameter scope must be one of ${jd.join(", ")}`);try{return await le(this.fetch,"POST",`${this.url}/logout?scope=${i}`,{headers:this.headers,jwt:e,noResolveJson:!0}),{data:null,error:null}}catch(a){if(se(a))return{data:null,error:a};throw a}}async inviteUserByEmail(e,i={}){try{return await le(this.fetch,"POST",`${this.url}/invite`,{body:{email:e,data:i.data},headers:this.headers,redirectTo:i.redirectTo,xform:ni})}catch(a){if(se(a))return{data:{user:null},error:a};throw a}}async generateLink(e){try{const{options:i}=e,a=zc(e,["options"]),l=Object.assign(Object.assign({},a),i);return"newEmail"in a&&(l.new_email=a==null?void 0:a.newEmail,delete l.newEmail),await le(this.fetch,"POST",`${this.url}/admin/generate_link`,{body:l,headers:this.headers,xform:wC,redirectTo:i==null?void 0:i.redirectTo})}catch(i){if(se(i))return{data:{properties:null,user:null},error:i};throw i}}async createUser(e){try{return await le(this.fetch,"POST",`${this.url}/admin/users`,{body:e,headers:this.headers,xform:ni})}catch(i){if(se(i))return{data:{user:null},error:i};throw i}}async listUsers(e){var i,a,l,c,u,d,m;try{const p={nextPage:null,lastPage:0,total:0},y=await le(this.fetch,"GET",`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(a=(i=e==null?void 0:e.page)===null||i===void 0?void 0:i.toString())!==null&&a!==void 0?a:"",per_page:(c=(l=e==null?void 0:e.perPage)===null||l===void 0?void 0:l.toString())!==null&&c!==void 0?c:""},xform:Xb});if(y.error)throw y.error;const v=await y.json(),x=(u=y.headers.get("x-total-count"))!==null&&u!==void 0?u:0,_=(m=(d=y.headers.get("link"))===null||d===void 0?void 0:d.split(","))!==null&&m!==void 0?m:[];return _.length>0&&(_.forEach(S=>{const T=parseInt(S.split(";")[0].split("=")[1].substring(0,1)),k=JSON.parse(S.split(";")[1].split("=")[1]);p[`${k}Page`]=T}),p.total=parseInt(x)),{data:Object.assign(Object.assign({},v),p),error:null}}catch(p){if(se(p))return{data:{users:[]},error:p};throw p}}async getUserById(e){Ts(e);try{return await le(this.fetch,"GET",`${this.url}/admin/users/${e}`,{headers:this.headers,xform:ni})}catch(i){if(se(i))return{data:{user:null},error:i};throw i}}async updateUserById(e,i){Ts(e);try{return await le(this.fetch,"PUT",`${this.url}/admin/users/${e}`,{body:i,headers:this.headers,xform:ni})}catch(a){if(se(a))return{data:{user:null},error:a};throw a}}async deleteUser(e,i=!1){Ts(e);try{return await le(this.fetch,"DELETE",`${this.url}/admin/users/${e}`,{headers:this.headers,body:{should_soft_delete:i},xform:ni})}catch(a){if(se(a))return{data:{user:null},error:a};throw a}}async _listFactors(e){Ts(e.userId);try{const{data:i,error:a}=await le(this.fetch,"GET",`${this.url}/admin/users/${e.userId}/factors`,{headers:this.headers,xform:l=>({data:{factors:l},error:null})});return{data:i,error:a}}catch(i){if(se(i))return{data:null,error:i};throw i}}async _deleteFactor(e){Ts(e.userId),Ts(e.id);try{return{data:await le(this.fetch,"DELETE",`${this.url}/admin/users/${e.userId}/factors/${e.id}`,{headers:this.headers}),error:null}}catch(i){if(se(i))return{data:null,error:i};throw i}}async _listOAuthClients(e){var i,a,l,c,u,d,m;try{const p={nextPage:null,lastPage:0,total:0},y=await le(this.fetch,"GET",`${this.url}/admin/oauth/clients`,{headers:this.headers,noResolveJson:!0,query:{page:(a=(i=e==null?void 0:e.page)===null||i===void 0?void 0:i.toString())!==null&&a!==void 0?a:"",per_page:(c=(l=e==null?void 0:e.perPage)===null||l===void 0?void 0:l.toString())!==null&&c!==void 0?c:""},xform:Xb});if(y.error)throw y.error;const v=await y.json(),x=(u=y.headers.get("x-total-count"))!==null&&u!==void 0?u:0,_=(m=(d=y.headers.get("link"))===null||d===void 0?void 0:d.split(","))!==null&&m!==void 0?m:[];return _.length>0&&(_.forEach(S=>{const T=parseInt(S.split(";")[0].split("=")[1].substring(0,1)),k=JSON.parse(S.split(";")[1].split("=")[1]);p[`${k}Page`]=T}),p.total=parseInt(x)),{data:Object.assign(Object.assign({},v),p),error:null}}catch(p){if(se(p))return{data:{clients:[]},error:p};throw p}}async _createOAuthClient(e){try{return await le(this.fetch,"POST",`${this.url}/admin/oauth/clients`,{body:e,headers:this.headers,xform:i=>({data:i,error:null})})}catch(i){if(se(i))return{data:null,error:i};throw i}}async _getOAuthClient(e){try{return await le(this.fetch,"GET",`${this.url}/admin/oauth/clients/${e}`,{headers:this.headers,xform:i=>({data:i,error:null})})}catch(i){if(se(i))return{data:null,error:i};throw i}}async _updateOAuthClient(e,i){try{return await le(this.fetch,"PUT",`${this.url}/admin/oauth/clients/${e}`,{body:i,headers:this.headers,xform:a=>({data:a,error:null})})}catch(a){if(se(a))return{data:null,error:a};throw a}}async _deleteOAuthClient(e){try{return await le(this.fetch,"DELETE",`${this.url}/admin/oauth/clients/${e}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(i){if(se(i))return{data:null,error:i};throw i}}async _regenerateOAuthClientSecret(e){try{return await le(this.fetch,"POST",`${this.url}/admin/oauth/clients/${e}/regenerate_secret`,{headers:this.headers,xform:i=>({data:i,error:null})})}catch(i){if(se(i))return{data:null,error:i};throw i}}async _listCustomProviders(e){try{const i={};return e!=null&&e.type&&(i.type=e.type),await le(this.fetch,"GET",`${this.url}/admin/custom-providers`,{headers:this.headers,query:i,xform:a=>{var l;return{data:{providers:(l=a==null?void 0:a.providers)!==null&&l!==void 0?l:[]},error:null}}})}catch(i){if(se(i))return{data:{providers:[]},error:i};throw i}}async _createCustomProvider(e){try{return await le(this.fetch,"POST",`${this.url}/admin/custom-providers`,{body:e,headers:this.headers,xform:i=>({data:i,error:null})})}catch(i){if(se(i))return{data:null,error:i};throw i}}async _getCustomProvider(e){try{return await le(this.fetch,"GET",`${this.url}/admin/custom-providers/${e}`,{headers:this.headers,xform:i=>({data:i,error:null})})}catch(i){if(se(i))return{data:null,error:i};throw i}}async _updateCustomProvider(e,i){try{return await le(this.fetch,"PUT",`${this.url}/admin/custom-providers/${e}`,{body:i,headers:this.headers,xform:a=>({data:a,error:null})})}catch(a){if(se(a))return{data:null,error:a};throw a}}async _deleteCustomProvider(e){try{return await le(this.fetch,"DELETE",`${this.url}/admin/custom-providers/${e}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(i){if(se(i))return{data:null,error:i};throw i}}async _adminListPasskeys(e){Un(this.experimental),Ts(e.userId);try{return await le(this.fetch,"GET",`${this.url}/admin/users/${e.userId}/passkeys`,{headers:this.headers,xform:i=>({data:i,error:null})})}catch(i){if(se(i))return{data:null,error:i};throw i}}async _adminDeletePasskey(e){Un(this.experimental),Ts(e.userId),Ts(e.passkeyId);try{return await le(this.fetch,"DELETE",`${this.url}/admin/users/${e.userId}/passkeys/${e.passkeyId}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(i){if(se(i))return{data:null,error:i};throw i}}}function Jb(n={}){return{getItem:e=>n[e]||null,setItem:(e,i)=>{n[e]=i},removeItem:e=>{delete n[e]}}}globalThis&&Nw()&&globalThis.localStorage&&globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug");class TC extends Error{constructor(e){super(e),this.isAcquireTimeout=!0}}function EC(){if(typeof globalThis!="object")try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch{typeof self<"u"&&(self.globalThis=self)}}function Cw(n){if(!/^0x[a-fA-F0-9]{40}$/.test(n))throw new Error(`@supabase/auth-js: Address "${n}" is invalid.`);return n.toLowerCase()}function AC(n){return parseInt(n,16)}function jC(n){const e=new TextEncoder().encode(n);return"0x"+Array.from(e,a=>a.toString(16).padStart(2,"0")).join("")}function NC(n){var e;const{chainId:i,domain:a,expirationTime:l,issuedAt:c=new Date,nonce:u,notBefore:d,requestId:m,resources:p,scheme:y,uri:v,version:x}=n;{if(!Number.isInteger(i))throw new Error(`@supabase/auth-js: Invalid SIWE message field "chainId". Chain ID must be a EIP-155 chain ID. Provided value: ${i}`);if(!a)throw new Error('@supabase/auth-js: Invalid SIWE message field "domain". Domain must be provided.');if(u&&u.length<8)throw new Error(`@supabase/auth-js: Invalid SIWE message field "nonce". Nonce must be at least 8 characters. Provided value: ${u}`);if(!v)throw new Error('@supabase/auth-js: Invalid SIWE message field "uri". URI must be provided.');if(x!=="1")throw new Error(`@supabase/auth-js: Invalid SIWE message field "version". Version must be '1'. Provided value: ${x}`);if(!((e=n.statement)===null||e===void 0)&&e.includes(` +`))throw new Error(`@supabase/auth-js: Invalid SIWE message field "statement". Statement must not include '\\n'. Provided value: ${n.statement}`)}const _=Cw(n.address),S=y?`${y}://${a}`:a,T=n.statement?`${n.statement} +`:"",k=`${S} wants you to sign in with your Ethereum account: +${_} + +${T}`;let C=`URI: ${v} +Version: ${x} +Chain ID: ${i}${u?` +Nonce: ${u}`:""} +Issued At: ${c.toISOString()}`;if(l&&(C+=` +Expiration Time: ${l.toISOString()}`),d&&(C+=` +Not Before: ${d.toISOString()}`),m&&(C+=` +Request ID: ${m}`),p){let D=` +Resources:`;for(const j of p){if(!j||typeof j!="string")throw new Error(`@supabase/auth-js: Invalid SIWE message field "resources". Every resource must be a valid string. Provided value: ${j}`);D+=` +- ${j}`}C+=D}return`${k} +${C}`}class yt extends Error{constructor({message:e,code:i,cause:a,name:l}){var c;super(e,{cause:a}),this.__isWebAuthnError=!0,this.name=(c=l??(a instanceof Error?a.name:void 0))!==null&&c!==void 0?c:"Unknown Error",this.code=i}toJSON(){return{name:this.name,message:this.message,code:this.code}}}class Nc extends yt{constructor(e,i){super({code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:i,message:e}),this.name="WebAuthnUnknownError",this.originalError=i}}function kC({error:n,options:e}){var i,a,l;const{publicKey:c}=e;if(!c)throw Error("options was missing required publicKey property");if(n.name==="AbortError"){if(e.signal instanceof AbortSignal)return new yt({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:n})}else if(n.name==="ConstraintError"){if(((i=c.authenticatorSelection)===null||i===void 0?void 0:i.requireResidentKey)===!0)return new yt({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:n});if(e.mediation==="conditional"&&((a=c.authenticatorSelection)===null||a===void 0?void 0:a.userVerification)==="required")return new yt({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:n});if(((l=c.authenticatorSelection)===null||l===void 0?void 0:l.userVerification)==="required")return new yt({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:n})}else{if(n.name==="InvalidStateError")return new yt({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:n});if(n.name==="NotAllowedError")return new yt({message:n.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:n});if(n.name==="NotSupportedError")return c.pubKeyCredParams.filter(d=>d.type==="public-key").length===0?new yt({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:n}):new yt({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:n});if(n.name==="SecurityError"){const u=window.location.hostname;if(Rw(u)){if(c.rp.id!==u)return new yt({message:`The RP ID "${c.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:n})}else return new yt({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:n})}else if(n.name==="TypeError"){if(c.user.id.byteLength<1||c.user.id.byteLength>64)return new yt({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:n})}else if(n.name==="UnknownError")return new yt({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:n})}return new yt({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:n})}function CC({error:n,options:e}){const{publicKey:i}=e;if(!i)throw Error("options was missing required publicKey property");if(n.name==="AbortError"){if(e.signal instanceof AbortSignal)return new yt({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:n})}else{if(n.name==="NotAllowedError")return new yt({message:n.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:n});if(n.name==="SecurityError"){const a=window.location.hostname;if(Rw(a)){if(i.rpId!==a)return new yt({message:`The RP ID "${i.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:n})}else return new yt({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:n})}else if(n.name==="UnknownError")return new yt({message:"The authenticator was unable to process the specified options, or could not create a new assertion signature",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:n})}return new yt({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:n})}class RC{createNewAbortSignal(){if(this.controller){const i=new Error("Cancelling existing WebAuthn API call for new one");i.name="AbortError",this.controller.abort(i)}const e=new AbortController;return this.controller=e,e.signal}cancelCeremony(){if(this.controller){const e=new Error("Manually cancelling existing WebAuthn API call");e.name="AbortError",this.controller.abort(e),this.controller=void 0}}}const bf=new RC;function Qb(n){if(!n)throw new Error("Credential creation options are required");if(typeof PublicKeyCredential<"u"&&"parseCreationOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseCreationOptionsFromJSON=="function")return PublicKeyCredential.parseCreationOptionsFromJSON(n);const{challenge:e,user:i,excludeCredentials:a}=n,l=zc(n,["challenge","user","excludeCredentials"]),c=Fa(e).buffer,u=Object.assign(Object.assign({},i),{id:Fa(i.id).buffer}),d=Object.assign(Object.assign({},l),{challenge:c,user:u});if(a&&a.length>0){d.excludeCredentials=new Array(a.length);for(let m=0;m0){c.allowCredentials=new Array(i.length);for(let u=0;ul!==null&&typeof l=="object"&&!Array.isArray(l),i=l=>l instanceof ArrayBuffer||ArrayBuffer.isView(l),a={};for(const l of n)if(l)for(const c in l){const u=l[c];if(u!==void 0)if(Array.isArray(u))a[c]=u;else if(i(u))a[c]=u;else if(e(u)){const d=a[c];e(d)?a[c]=Cc(d,u):a[c]=Cc(u)}else a[c]=u}return a}function MC(n,e){return Cc(OC,n,e||{})}function BC(n,e){return Cc(DC,n,e||{})}class UC{constructor(e){this.client=e,this.enroll=this._enroll.bind(this),this.challenge=this._challenge.bind(this),this.verify=this._verify.bind(this),this.authenticate=this._authenticate.bind(this),this.register=this._register.bind(this)}async _enroll(e){return this.client.mfa.enroll(Object.assign(Object.assign({},e),{factorType:"webauthn"}))}async _challenge({factorId:e,webauthn:i,friendlyName:a,signal:l},c){var u;try{const{data:d,error:m}=await this.client.mfa.challenge({factorId:e,webauthn:i});if(!d)return{data:null,error:m};const p=l??bf.createNewAbortSignal();if(d.webauthn.type==="create"){const{user:y}=d.webauthn.credential_options.publicKey;if(!y.name){const v=a;if(v)y.name=`${y.id}:${v}`;else{const _=(await this.client.getUser()).data.user,S=((u=_==null?void 0:_.user_metadata)===null||u===void 0?void 0:u.name)||(_==null?void 0:_.email)||(_==null?void 0:_.id)||"User";y.name=`${y.id}:${S}`}}y.displayName||(y.displayName=y.name)}switch(d.webauthn.type){case"create":{const y=MC(d.webauthn.credential_options.publicKey,c==null?void 0:c.create),{data:v,error:x}=await Ow({publicKey:y,signal:p});return v?{data:{factorId:e,challengeId:d.id,webauthn:{type:d.webauthn.type,credential_response:v}},error:null}:{data:null,error:x}}case"request":{const y=BC(d.webauthn.credential_options.publicKey,c==null?void 0:c.request),{data:v,error:x}=await Dw(Object.assign(Object.assign({},d.webauthn.credential_options),{publicKey:y,signal:p}));return v?{data:{factorId:e,challengeId:d.id,webauthn:{type:d.webauthn.type,credential_response:v}},error:null}:{data:null,error:x}}}}catch(d){return se(d)?{data:null,error:d}:{data:null,error:new Pn("Unexpected error in challenge",d)}}}async _verify({challengeId:e,factorId:i,webauthn:a}){return this.client.mfa.verify({factorId:i,challengeId:e,webauthn:a})}async _authenticate({factorId:e,webauthn:{rpId:i=typeof window<"u"?window.location.hostname:void 0,rpOrigins:a=typeof window<"u"?[window.location.origin]:void 0,signal:l}={}},c){if(!i)return{data:null,error:new xo("rpId is required for WebAuthn authentication")};try{if(!kc())return{data:null,error:new Pn("Browser does not support WebAuthn",null)};const{data:u,error:d}=await this.challenge({factorId:e,webauthn:{rpId:i,rpOrigins:a},signal:l},{request:c});if(!u)return{data:null,error:d};const{webauthn:m}=u;return this._verify({factorId:e,challengeId:u.challengeId,webauthn:{type:m.type,rpId:i,rpOrigins:a,credential_response:m.credential_response}})}catch(u){return se(u)?{data:null,error:u}:{data:null,error:new Pn("Unexpected error in authenticate",u)}}}async _register({friendlyName:e,webauthn:{rpId:i=typeof window<"u"?window.location.hostname:void 0,rpOrigins:a=typeof window<"u"?[window.location.origin]:void 0,signal:l}={}},c){if(!i)return{data:null,error:new xo("rpId is required for WebAuthn registration")};try{if(!kc())return{data:null,error:new Pn("Browser does not support WebAuthn",null)};const{data:u,error:d}=await this._enroll({friendlyName:e});if(!u)return await this.client.mfa.listFactors().then(y=>{var v;return(v=y.data)===null||v===void 0?void 0:v.all.find(x=>x.factor_type==="webauthn"&&x.friendly_name===e&&x.status!=="unverified")}).then(y=>y?this.client.mfa.unenroll({factorId:y==null?void 0:y.id}):void 0),{data:null,error:d};const{data:m,error:p}=await this._challenge({factorId:u.id,friendlyName:u.friendly_name,webauthn:{rpId:i,rpOrigins:a},signal:l},{create:c});return m?this._verify({factorId:u.id,challengeId:m.challengeId,webauthn:{rpId:i,rpOrigins:a,type:m.webauthn.type,credential_response:m.webauthn.credential_response}}):{data:null,error:p}}catch(u){return se(u)?{data:null,error:u}:{data:null,error:new Pn("Unexpected error in register",u)}}}}EC();const LC={url:Vk,storageKey:Hk,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:$k,flowType:"implicit",debug:!1,hasCustomAuthorizationHeader:!1,throwOnError:!1,lockAcquireTimeout:5e3,skipAutoInitialize:!1,experimental:{}},Ca={};class wo{get jwks(){var e,i;return(i=(e=Ca[this.storageKey])===null||e===void 0?void 0:e.jwks)!==null&&i!==void 0?i:{keys:[]}}set jwks(e){Ca[this.storageKey]=Object.assign(Object.assign({},Ca[this.storageKey]),{jwks:e})}get jwks_cached_at(){var e,i;return(i=(e=Ca[this.storageKey])===null||e===void 0?void 0:e.cachedAt)!==null&&i!==void 0?i:Number.MIN_SAFE_INTEGER}set jwks_cached_at(e){Ca[this.storageKey]=Object.assign(Object.assign({},Ca[this.storageKey]),{cachedAt:e})}constructor(e){var i,a,l;this.userStorage=null,this.memoryStorage=null,this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.autoRefreshTickTimeout=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.lastRefreshFailure=null,this._sessionRemovalEpoch=0,this.initializePromise=null,this._pendingInitNotifications=null,this.detectSessionInUrl=!0,this.hasCustomAuthorizationHeader=!1,this.suppressGetSessionWarning=!1,this.lock=null,this.lockAcquired=!1,this.pendingInLock=[],this.broadcastChannel=null,this.logger=console.log;const c=Object.assign(Object.assign({},LC),e);if(this.storageKey=c.storageKey,this.instanceID=(i=wo.nextInstanceID[this.storageKey])!==null&&i!==void 0?i:0,wo.nextInstanceID[this.storageKey]=this.instanceID+1,this.logDebugMessages=!!c.debug,typeof c.debug=="function"&&(this.logger=c.debug),this.instanceID>0&&Pt()){const u=`${this._logPrefix()} Multiple GoTrueClient instances detected in the same browser context. It is not an error, but this should be avoided as it may produce undefined behavior when used concurrently under the same storage key.`;console.warn(u),this.logDebugMessages&&console.trace(u)}if(this.persistSession=c.persistSession,this.autoRefreshToken=c.autoRefreshToken,this.experimental=(a=c.experimental)!==null&&a!==void 0?a:{},this.admin=new SC({url:c.url,headers:c.headers,fetch:c.fetch,experimental:this.experimental}),this.url=c.url,this.headers=c.headers,this.fetch=kw(c.fetch),this.detectSessionInUrl=c.detectSessionInUrl,this.flowType=c.flowType,this.hasCustomAuthorizationHeader=c.hasCustomAuthorizationHeader,this.throwOnError=c.throwOnError,this.lockAcquireTimeout=c.lockAcquireTimeout,c.lock!=null&&(this.lock=c.lock),this.jwks||(this.jwks={keys:[]},this.jwks_cached_at=Number.MIN_SAFE_INTEGER),this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this),webauthn:new UC(this)},this.oauth={getAuthorizationDetails:this._getAuthorizationDetails.bind(this),approveAuthorization:this._approveAuthorization.bind(this),denyAuthorization:this._denyAuthorization.bind(this),listGrants:this._listOAuthGrants.bind(this),revokeGrant:this._revokeOAuthGrant.bind(this)},this.passkey={startRegistration:this._startPasskeyRegistration.bind(this),verifyRegistration:this._verifyPasskeyRegistration.bind(this),startAuthentication:this._startPasskeyAuthentication.bind(this),verifyAuthentication:this._verifyPasskeyAuthentication.bind(this),list:this._listPasskeys.bind(this),update:this._updatePasskey.bind(this),delete:this._deletePasskey.bind(this)},this.persistSession?(c.storage?this.storage=c.storage:Nw()?this.storage=globalThis.localStorage:(this.memoryStorage={},this.storage=Jb(this.memoryStorage)),c.userStorage&&(this.userStorage=c.userStorage)):(this.memoryStorage={},this.storage=Jb(this.memoryStorage)),Pt()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(u){console.error("Failed to create a new BroadcastChannel, multi-tab state changes will not be available",u)}(l=this.broadcastChannel)===null||l===void 0||l.addEventListener("message",async u=>{this._debug("received broadcast notification from other tab or client",u),(u.data.event==="TOKEN_REFRESHED"||u.data.event==="SIGNED_IN")&&(this.lastRefreshFailure=null);try{await this._notifyAllSubscribers(u.data.event,u.data.session,!1)}catch(d){this._debug("#broadcastChannel","error",d)}})}c.skipAutoInitialize||this.initialize().catch(u=>{this._debug("#initialize()","error",u)})}isThrowOnErrorEnabled(){return this.throwOnError}_returnResult(e){if(this.throwOnError&&e&&e.error)throw e.error;return e}_logPrefix(){return`GoTrueClient@${this.storageKey}:${this.instanceID} (${Ew}) ${new Date().toISOString()}`}_debug(...e){return this.logDebugMessages&&this.logger(this._logPrefix(),...e),this}async initialize(){var e;if(this.initializePromise)return await this.initializePromise;this._pendingInitNotifications=[],this.initializePromise=(async()=>this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._initialize()):await this._initialize())();const i=await this.initializePromise,a=(e=this._pendingInitNotifications)!==null&&e!==void 0?e:[];this._pendingInitNotifications=null;for(const l of a)await this._notifyAllSubscribers(l.event,l.session,l.broadcast);return i}async _initialize(){var e;try{let i={},a="none";if(Pt()&&(i=sC(window.location.href),this._isImplicitGrantCallback(i)?a="implicit":await this._isPKCECallback(i)&&(a="pkce")),Pt()&&this.detectSessionInUrl&&a!=="none"){const{data:l,error:c}=await this._getSessionFromURL(i,a);if(c){if(this._debug("#_initialize()","error detecting session from URL",c),Kk(c)){const m=(e=c.details)===null||e===void 0?void 0:e.code;if(m==="identity_already_exists"||m==="identity_not_found"||m==="single_identity_not_deletable")return{error:c}}return{error:c}}const{session:u,redirectType:d}=l;return this._debug("#_initialize()","detected session in URL",u,"redirect type",d),await this._saveSession(u),setTimeout(async()=>{d==="recovery"?await this._notifyAllSubscribers("PASSWORD_RECOVERY",u):await this._notifyAllSubscribers("SIGNED_IN",u)},0),{error:null}}return await this._recoverAndRefresh(),{error:null}}catch(i){return se(i)?this._returnResult({error:i}):this._returnResult({error:new Pn("Unexpected error during initialization",i)})}finally{await this._handleVisibilityChange(),this._debug("#_initialize()","end")}}async signInAnonymously(e){var i,a,l;try{const c=await le(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{data:(a=(i=e==null?void 0:e.options)===null||i===void 0?void 0:i.data)!==null&&a!==void 0?a:{},gotrue_meta_security:{captcha_token:(l=e==null?void 0:e.options)===null||l===void 0?void 0:l.captchaToken}},xform:En}),{data:u,error:d}=c;if(d||!u)return this._returnResult({data:{user:null,session:null},error:d});const m=u.session,p=u.user;return u.session&&(await this._saveSession(u.session),await this._notifyAllSubscribers("SIGNED_IN",m)),this._returnResult({data:{user:p,session:m},error:null})}catch(c){if(se(c))return this._returnResult({data:{user:null,session:null},error:c});throw c}}async signUp(e){var i,a,l;try{let c;if("email"in e){const{email:y,password:v,options:x}=e;let _=null,S=null;this.flowType==="pkce"&&([_,S]=await Oi(this.storage,this.storageKey)),c=await le(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,redirectTo:x==null?void 0:x.emailRedirectTo,body:{email:y,password:v,data:(i=x==null?void 0:x.data)!==null&&i!==void 0?i:{},gotrue_meta_security:{captcha_token:x==null?void 0:x.captchaToken},code_challenge:_,code_challenge_method:S},xform:En})}else if("phone"in e){const{phone:y,password:v,options:x}=e;c=await le(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{phone:y,password:v,data:(a=x==null?void 0:x.data)!==null&&a!==void 0?a:{},channel:(l=x==null?void 0:x.channel)!==null&&l!==void 0?l:"sms",gotrue_meta_security:{captcha_token:x==null?void 0:x.captchaToken}},xform:En})}else throw new Wl("You must provide either an email or phone number and a password");const{data:u,error:d}=c;if(d||!u)return await ht(this.storage,`${this.storageKey}-code-verifier`),this._returnResult({data:{user:null,session:null},error:d});const m=u.session,p=u.user;return u.session&&(await this._saveSession(u.session),await this._notifyAllSubscribers("SIGNED_IN",m)),this._returnResult({data:{user:p,session:m},error:null})}catch(c){if(await ht(this.storage,`${this.storageKey}-code-verifier`),se(c))return this._returnResult({data:{user:null,session:null},error:c});throw c}}async signInWithPassword(e){try{let i;if("email"in e){const{email:c,password:u,options:d}=e;i=await le(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:c,password:u,gotrue_meta_security:{captcha_token:d==null?void 0:d.captchaToken}},xform:Yb})}else if("phone"in e){const{phone:c,password:u,options:d}=e;i=await le(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:c,password:u,gotrue_meta_security:{captcha_token:d==null?void 0:d.captchaToken}},xform:Yb})}else throw new Wl("You must provide either an email or phone number and a password");const{data:a,error:l}=i;if(l)return this._returnResult({data:{user:null,session:null},error:l});if(!a||!a.session||!a.user){const c=new ka;return this._returnResult({data:{user:null,session:null},error:c})}return a.session&&(await this._saveSession(a.session),await this._notifyAllSubscribers("SIGNED_IN",a.session)),this._returnResult({data:Object.assign({user:a.user,session:a.session},a.weak_password?{weakPassword:a.weak_password}:null),error:l})}catch(i){if(se(i))return this._returnResult({data:{user:null,session:null},error:i});throw i}}async signInWithOAuth(e){var i,a,l,c;return await this._handleProviderSignIn(e.provider,{redirectTo:(i=e.options)===null||i===void 0?void 0:i.redirectTo,scopes:(a=e.options)===null||a===void 0?void 0:a.scopes,queryParams:(l=e.options)===null||l===void 0?void 0:l.queryParams,skipBrowserRedirect:(c=e.options)===null||c===void 0?void 0:c.skipBrowserRedirect})}async exchangeCodeForSession(e){return await this.initializePromise,this.lock!=null?this._acquireLock(this.lockAcquireTimeout,async()=>this._exchangeCodeForSession(e)):this._exchangeCodeForSession(e)}async signInWithWeb3(e){const{chain:i}=e;switch(i){case"ethereum":return await this.signInWithEthereum(e);case"solana":return await this.signInWithSolana(e);default:throw new Error(`@supabase/auth-js: Unsupported chain "${i}"`)}}async signInWithEthereum(e){var i,a,l,c,u,d,m,p,y,v,x;let _,S;if("message"in e)_=e.message,S=e.signature;else{const{chain:T,wallet:k,statement:C,options:D}=e;let j;if(Pt())if(typeof k=="object")j=k;else{const ie=window;if("ethereum"in ie&&typeof ie.ethereum=="object"&&"request"in ie.ethereum&&typeof ie.ethereum.request=="function")j=ie.ethereum;else throw new Error("@supabase/auth-js: No compatible Ethereum wallet interface on the window object (window.ethereum) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'ethereum', wallet: resolvedUserWallet }) instead.")}else{if(typeof k!="object"||!(D!=null&&D.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");j=k}const V=new URL((i=D==null?void 0:D.url)!==null&&i!==void 0?i:window.location.href),G=await j.request({method:"eth_requestAccounts"}).then(ie=>ie).catch(()=>{throw new Error("@supabase/auth-js: Wallet method eth_requestAccounts is missing or invalid")});if(!G||G.length===0)throw new Error("@supabase/auth-js: No accounts available. Please ensure the wallet is connected.");const J=Cw(G[0]);let q=(a=D==null?void 0:D.signInWithEthereum)===null||a===void 0?void 0:a.chainId;if(!q){const ie=await j.request({method:"eth_chainId"});q=AC(ie)}const K={domain:V.host,address:J,statement:C,uri:V.href,version:"1",chainId:q,nonce:(l=D==null?void 0:D.signInWithEthereum)===null||l===void 0?void 0:l.nonce,issuedAt:(u=(c=D==null?void 0:D.signInWithEthereum)===null||c===void 0?void 0:c.issuedAt)!==null&&u!==void 0?u:new Date,expirationTime:(d=D==null?void 0:D.signInWithEthereum)===null||d===void 0?void 0:d.expirationTime,notBefore:(m=D==null?void 0:D.signInWithEthereum)===null||m===void 0?void 0:m.notBefore,requestId:(p=D==null?void 0:D.signInWithEthereum)===null||p===void 0?void 0:p.requestId,resources:(y=D==null?void 0:D.signInWithEthereum)===null||y===void 0?void 0:y.resources};_=NC(K),S=await j.request({method:"personal_sign",params:[jC(_),J]})}try{const{data:T,error:k}=await le(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"ethereum",message:_,signature:S},!((v=e.options)===null||v===void 0)&&v.captchaToken?{gotrue_meta_security:{captcha_token:(x=e.options)===null||x===void 0?void 0:x.captchaToken}}:null),xform:En});if(k)throw k;if(!T||!T.session||!T.user){const C=new ka;return this._returnResult({data:{user:null,session:null},error:C})}return T.session&&(await this._saveSession(T.session),await this._notifyAllSubscribers("SIGNED_IN",T.session)),this._returnResult({data:Object.assign({},T),error:k})}catch(T){if(se(T))return this._returnResult({data:{user:null,session:null},error:T});throw T}}async signInWithSolana(e){var i,a,l,c,u,d,m,p,y,v,x,_;let S,T;if("message"in e)S=e.message,T=e.signature;else{const{chain:k,wallet:C,statement:D,options:j}=e;let V;if(Pt())if(typeof C=="object")V=C;else{const J=window;if("solana"in J&&typeof J.solana=="object"&&("signIn"in J.solana&&typeof J.solana.signIn=="function"||"signMessage"in J.solana&&typeof J.solana.signMessage=="function"))V=J.solana;else throw new Error("@supabase/auth-js: No compatible Solana wallet interface on the window object (window.solana) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'solana', wallet: resolvedUserWallet }) instead.")}else{if(typeof C!="object"||!(j!=null&&j.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");V=C}const G=new URL((i=j==null?void 0:j.url)!==null&&i!==void 0?i:window.location.href);if("signIn"in V&&V.signIn){const J=await V.signIn(Object.assign(Object.assign(Object.assign({issuedAt:new Date().toISOString()},j==null?void 0:j.signInWithSolana),{version:"1",domain:G.host,uri:G.href}),D?{statement:D}:null));let q;if(Array.isArray(J)&&J[0]&&typeof J[0]=="object")q=J[0];else if(J&&typeof J=="object"&&"signedMessage"in J&&"signature"in J)q=J;else throw new Error("@supabase/auth-js: Wallet method signIn() returned unrecognized value");if("signedMessage"in q&&"signature"in q&&(typeof q.signedMessage=="string"||q.signedMessage instanceof Uint8Array)&&q.signature instanceof Uint8Array)S=typeof q.signedMessage=="string"?q.signedMessage:new TextDecoder().decode(q.signedMessage),T=q.signature;else throw new Error("@supabase/auth-js: Wallet method signIn() API returned object without signedMessage and signature fields")}else{if(!("signMessage"in V)||typeof V.signMessage!="function"||!("publicKey"in V)||typeof V!="object"||!V.publicKey||!("toBase58"in V.publicKey)||typeof V.publicKey.toBase58!="function")throw new Error("@supabase/auth-js: Wallet does not have a compatible signMessage() and publicKey.toBase58() API");S=[`${G.host} wants you to sign in with your Solana account:`,V.publicKey.toBase58(),...D?["",D,""]:[""],"Version: 1",`URI: ${G.href}`,`Issued At: ${(l=(a=j==null?void 0:j.signInWithSolana)===null||a===void 0?void 0:a.issuedAt)!==null&&l!==void 0?l:new Date().toISOString()}`,...!((c=j==null?void 0:j.signInWithSolana)===null||c===void 0)&&c.notBefore?[`Not Before: ${j.signInWithSolana.notBefore}`]:[],...!((u=j==null?void 0:j.signInWithSolana)===null||u===void 0)&&u.expirationTime?[`Expiration Time: ${j.signInWithSolana.expirationTime}`]:[],...!((d=j==null?void 0:j.signInWithSolana)===null||d===void 0)&&d.chainId?[`Chain ID: ${j.signInWithSolana.chainId}`]:[],...!((m=j==null?void 0:j.signInWithSolana)===null||m===void 0)&&m.nonce?[`Nonce: ${j.signInWithSolana.nonce}`]:[],...!((p=j==null?void 0:j.signInWithSolana)===null||p===void 0)&&p.requestId?[`Request ID: ${j.signInWithSolana.requestId}`]:[],...!((v=(y=j==null?void 0:j.signInWithSolana)===null||y===void 0?void 0:y.resources)===null||v===void 0)&&v.length?["Resources",...j.signInWithSolana.resources.map(q=>`- ${q}`)]:[]].join(` +`);const J=await V.signMessage(new TextEncoder().encode(S),"utf8");if(!J||!(J instanceof Uint8Array))throw new Error("@supabase/auth-js: Wallet signMessage() API returned an recognized value");T=J}}try{const{data:k,error:C}=await le(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"solana",message:S,signature:Li(T)},!((x=e.options)===null||x===void 0)&&x.captchaToken?{gotrue_meta_security:{captcha_token:(_=e.options)===null||_===void 0?void 0:_.captchaToken}}:null),xform:En});if(C)throw C;if(!k||!k.session||!k.user){const D=new ka;return this._returnResult({data:{user:null,session:null},error:D})}return k.session&&(await this._saveSession(k.session),await this._notifyAllSubscribers("SIGNED_IN",k.session)),this._returnResult({data:Object.assign({},k),error:C})}catch(k){if(se(k))return this._returnResult({data:{user:null,session:null},error:k});throw k}}async _exchangeCodeForSession(e){const i=await Mn(this.storage,`${this.storageKey}-code-verifier`),[a,l]=(i??"").split("/");try{if(!a&&this.flowType==="pkce")throw new Yk;const{data:c,error:u}=await le(this.fetch,"POST",`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:e,code_verifier:a},xform:En});if(await ht(this.storage,`${this.storageKey}-code-verifier`),u)throw u;if(!c||!c.session||!c.user){const d=new ka;return this._returnResult({data:{user:null,session:null,redirectType:null},error:d})}return c.session&&(await this._saveSession(c.session),await this._notifyAllSubscribers(l==="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",c.session)),this._returnResult({data:Object.assign(Object.assign({},c),{redirectType:l??null}),error:u})}catch(c){if(await ht(this.storage,`${this.storageKey}-code-verifier`),se(c))return this._returnResult({data:{user:null,session:null,redirectType:null},error:c});throw c}}async signInWithIdToken(e){try{const{options:i,provider:a,token:l,access_token:c,nonce:u}=e,d=await le(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:a,id_token:l,access_token:c,nonce:u,gotrue_meta_security:{captcha_token:i==null?void 0:i.captchaToken}},xform:En}),{data:m,error:p}=d;if(p)return this._returnResult({data:{user:null,session:null},error:p});if(!m||!m.session||!m.user){const y=new ka;return this._returnResult({data:{user:null,session:null},error:y})}return m.session&&(await this._saveSession(m.session),await this._notifyAllSubscribers("SIGNED_IN",m.session)),this._returnResult({data:m,error:p})}catch(i){if(se(i))return this._returnResult({data:{user:null,session:null},error:i});throw i}}async signInWithOtp(e){var i,a,l,c,u;try{if("email"in e){const{email:d,options:m}=e;let p=null,y=null;this.flowType==="pkce"&&([p,y]=await Oi(this.storage,this.storageKey));const{error:v}=await le(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{email:d,data:(i=m==null?void 0:m.data)!==null&&i!==void 0?i:{},create_user:(a=m==null?void 0:m.shouldCreateUser)!==null&&a!==void 0?a:!0,gotrue_meta_security:{captcha_token:m==null?void 0:m.captchaToken},code_challenge:p,code_challenge_method:y},redirectTo:m==null?void 0:m.emailRedirectTo});return this._returnResult({data:{user:null,session:null},error:v})}if("phone"in e){const{phone:d,options:m}=e,{data:p,error:y}=await le(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:d,data:(l=m==null?void 0:m.data)!==null&&l!==void 0?l:{},create_user:(c=m==null?void 0:m.shouldCreateUser)!==null&&c!==void 0?c:!0,gotrue_meta_security:{captcha_token:m==null?void 0:m.captchaToken},channel:(u=m==null?void 0:m.channel)!==null&&u!==void 0?u:"sms"}});return this._returnResult({data:{user:null,session:null,messageId:p==null?void 0:p.message_id},error:y})}throw new Wl("You must provide either an email or phone number.")}catch(d){if(await ht(this.storage,`${this.storageKey}-code-verifier`),se(d))return this._returnResult({data:{user:null,session:null},error:d});throw d}}async verifyOtp(e){var i,a;try{let l,c;"options"in e&&(l=(i=e.options)===null||i===void 0?void 0:i.redirectTo,c=(a=e.options)===null||a===void 0?void 0:a.captchaToken);const{data:u,error:d}=await le(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},e),{gotrue_meta_security:{captcha_token:c}}),redirectTo:l,xform:En});if(d)throw d;if(!u)throw new Error("An error occurred on token verification.");const m=u.session,p=u.user;return m!=null&&m.access_token&&(await this._saveSession(m),await this._notifyAllSubscribers(e.type=="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",m)),this._returnResult({data:{user:p,session:m},error:null})}catch(l){if(se(l))return this._returnResult({data:{user:null,session:null},error:l});throw l}}async signInWithSSO(e){var i,a,l,c,u;try{let d=null,m=null;this.flowType==="pkce"&&([d,m]=await Oi(this.storage,this.storageKey));const p=await le(this.fetch,"POST",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},"providerId"in e?{provider_id:e.providerId}:null),"domain"in e?{domain:e.domain}:null),{redirect_to:(a=(i=e.options)===null||i===void 0?void 0:i.redirectTo)!==null&&a!==void 0?a:void 0}),!((l=e==null?void 0:e.options)===null||l===void 0)&&l.captchaToken?{gotrue_meta_security:{captcha_token:e.options.captchaToken}}:null),{skip_http_redirect:!0,code_challenge:d,code_challenge_method:m}),headers:this.headers,xform:xC});return!((c=p.data)===null||c===void 0)&&c.url&&Pt()&&!(!((u=e.options)===null||u===void 0)&&u.skipBrowserRedirect)&&window.location.assign(p.data.url),this._returnResult(p)}catch(d){if(await ht(this.storage,`${this.storageKey}-code-verifier`),se(d))return this._returnResult({data:null,error:d});throw d}}async reauthenticate(){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._reauthenticate()):await this._reauthenticate()}async _reauthenticate(){try{return await this._useSession(async e=>{const{data:{session:i},error:a}=e;if(a)throw a;if(!i)throw new kt;const{error:l}=await le(this.fetch,"GET",`${this.url}/reauthenticate`,{headers:this.headers,jwt:i.access_token});return this._returnResult({data:{user:null,session:null},error:l})})}catch(e){if(se(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async resend(e){try{const i=`${this.url}/resend`;if("email"in e){const{email:a,type:l,options:c}=e;let u=null,d=null;this.flowType==="pkce"&&([u,d]=await Oi(this.storage,this.storageKey));const{error:m}=await le(this.fetch,"POST",i,{headers:this.headers,body:{email:a,type:l,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken},code_challenge:u,code_challenge_method:d},redirectTo:c==null?void 0:c.emailRedirectTo});return m&&await ht(this.storage,`${this.storageKey}-code-verifier`),this._returnResult({data:{user:null,session:null},error:m})}else if("phone"in e){const{phone:a,type:l,options:c}=e,{data:u,error:d}=await le(this.fetch,"POST",i,{headers:this.headers,body:{phone:a,type:l,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken}}});return this._returnResult({data:{user:null,session:null,messageId:u==null?void 0:u.message_id},error:d})}throw new Wl("You must provide either an email or phone number and a type")}catch(i){if(await ht(this.storage,`${this.storageKey}-code-verifier`),se(i))return this._returnResult({data:{user:null,session:null},error:i});throw i}}async getSession(){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>this._useSession(async e=>e)):await this._useSession(async e=>e)}async _acquireLock(e,i){this._debug("#_acquireLock","begin",e);try{if(this.lockAcquired){const a=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),l=(async()=>(await a,await i()))();return this.pendingInLock.push((async()=>{try{await l}catch{}})()),l}return await this.lock(`lock:${this.storageKey}`,e,async()=>{this._debug("#_acquireLock","lock acquired for storage key",this.storageKey);try{this.lockAcquired=!0;const a=i();for(this.pendingInLock.push((async()=>{try{await a}catch{}})()),await a;this.pendingInLock.length;){const l=[...this.pendingInLock];await Promise.all(l),this.pendingInLock.splice(0,l.length)}return await a}finally{this._debug("#_acquireLock","lock released for storage key",this.storageKey),this.lockAcquired=!1}})}finally{this._debug("#_acquireLock","end")}}async _useSession(e){this._debug("#_useSession","begin");try{const i=await this.__loadSession();return await e(i)}finally{this._debug("#_useSession","end")}}async __loadSession(){this._debug("#__loadSession()","begin"),this.lock!=null&&!this.lockAcquired&&this._debug("#__loadSession()","used outside of an acquired lock!",new Error().stack);try{let e=null;const i=await Mn(this.storage,this.storageKey);if(this._debug("#getSession()","session from storage",i),i!==null&&(this._isValidSession(i)?e=i:(this._debug("#getSession()","session from storage is not valid"),await this._removeSession())),!e)return{data:{session:null},error:null};const a=e.expires_at?e.expires_at*1e3-Date.now()Date.now())){const d=await Mn(this.storage,this.storageKey);if(d&&d.refresh_token===e.refresh_token)return this._returnResult({data:{session:e},error:null})}return this._returnResult({data:{session:null},error:c})}return this._returnResult({data:{session:l},error:null})}finally{this._debug("#__loadSession()","end")}}async getUser(e){if(e)return await this._getUser(e);await this.initializePromise;let i;return this.lock!=null?i=await this._acquireLock(this.lockAcquireTimeout,async()=>await this._getUser()):i=await this._getUser(),i.data.user&&(this.suppressGetSessionWarning=!0),i}async _getUser(e){try{return e?await le(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:e,xform:ni}):await this._useSession(async i=>{var a,l,c;const{data:u,error:d}=i;if(d)throw d;return!(!((a=u.session)===null||a===void 0)&&a.access_token)&&!this.hasCustomAuthorizationHeader?{data:{user:null},error:new kt}:await le(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:(c=(l=u.session)===null||l===void 0?void 0:l.access_token)!==null&&c!==void 0?c:void 0,xform:ni})})}catch(i){if(se(i))return Zl(i)&&(await this._removeSession(),await ht(this.storage,`${this.storageKey}-code-verifier`)),this._returnResult({data:{user:null},error:i});throw i}}async updateUser(e,i={}){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._updateUser(e,i)):await this._updateUser(e,i)}async _updateUser(e,i={}){try{return await this._useSession(async a=>{const{data:l,error:c}=a;if(c)throw c;if(!l.session)throw new kt;const u=l.session;let d=null,m=null;this.flowType==="pkce"&&e.email!=null&&([d,m]=await Oi(this.storage,this.storageKey));const{data:p,error:y}=await le(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:i==null?void 0:i.emailRedirectTo,body:Object.assign(Object.assign({},e),{code_challenge:d,code_challenge_method:m}),jwt:u.access_token,xform:ni});if(y)throw y;return u.user=p.user,await this._saveSession(u),await this._notifyAllSubscribers("USER_UPDATED",u),this._returnResult({data:{user:u.user},error:null})})}catch(a){if(await ht(this.storage,`${this.storageKey}-code-verifier`),se(a))return this._returnResult({data:{user:null},error:a});throw a}}async setSession(e){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._setSession(e)):await this._setSession(e)}async _setSession(e){try{if(!e.access_token||!e.refresh_token)throw new kt;const i=Date.now()/1e3;let a=i,l=!0,c=null;const{payload:u}=tc(e.access_token);if(u.exp&&(a=u.exp,l=a<=i),l){const{data:d,error:m}=await this._callRefreshToken(e.refresh_token);if(m)return this._returnResult({data:{user:null,session:null},error:m});if(!d)return{data:{user:null,session:null},error:null};c=d}else{const{data:d,error:m}=await this._getUser(e.access_token);if(m)return this._returnResult({data:{user:null,session:null},error:m});c={access_token:e.access_token,refresh_token:e.refresh_token,user:d.user,token_type:"bearer",expires_in:a-i,expires_at:a},await this._saveSession(c),await this._notifyAllSubscribers("SIGNED_IN",c)}return this._returnResult({data:{user:c.user,session:c},error:null})}catch(i){if(se(i))return this._returnResult({data:{session:null,user:null},error:i});throw i}}async refreshSession(e){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._refreshSession(e)):await this._refreshSession(e)}async _refreshSession(e){try{return await this._useSession(async i=>{var a;if(!e){const{data:u,error:d}=i;if(d)throw d;e=(a=u.session)!==null&&a!==void 0?a:void 0}if(!(e!=null&&e.refresh_token))throw new kt;const{data:l,error:c}=await this._callRefreshToken(e.refresh_token);return c?this._returnResult({data:{user:null,session:null},error:c}):l?this._returnResult({data:{user:l.user,session:l},error:null}):this._returnResult({data:{user:null,session:null},error:null})})}catch(i){if(se(i))return this._returnResult({data:{user:null,session:null},error:i});throw i}}async _getSessionFromURL(e,i){var a;try{if(!Pt())throw new ec("No browser detected.");if(e.error||e.error_description||e.error_code)throw new ec(e.error_description||"Error in URL with unspecified error_description",{error:e.error||"unspecified_error",code:e.error_code||"unspecified_code"});switch(i){case"implicit":if(this.flowType==="pkce")throw new Pb("Not a valid PKCE flow url.");break;case"pkce":if(this.flowType==="implicit")throw new ec("Not a valid implicit grant flow url.");break;default:}if(i==="pkce"){if(this._debug("#_initialize()","begin","is PKCE flow",!0),!e.code)throw new Pb("No code detected.");const{data:j,error:V}=await this._exchangeCodeForSession(e.code);if(V)throw V;const G=new URL(window.location.href);return G.searchParams.delete("code"),window.history.replaceState(window.history.state,"",G.toString()),{data:{session:j.session,redirectType:(a=j.redirectType)!==null&&a!==void 0?a:null},error:null}}const{provider_token:l,provider_refresh_token:c,access_token:u,refresh_token:d,expires_in:m,expires_at:p,token_type:y}=e;if(!u||!m||!d||!y)throw new ec("No session defined in URL");const v=Math.round(Date.now()/1e3),x=parseInt(m);let _=v+x;p&&(_=parseInt(p));const S=_-v;S*1e3<=Ns&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${S}s, should have been closer to ${x}s`);const T=_-x;v-T>=120?console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale",T,_,v):v-T<0&&console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clock for skew",T,_,v);const{data:k,error:C}=await this._getUser(u);if(C)throw C;const D={provider_token:l,provider_refresh_token:c,access_token:u,expires_in:x,expires_at:_,refresh_token:d,token_type:y,user:k.user};return window.location.hash="",this._debug("#_getSessionFromURL()","clearing window.location.hash"),this._returnResult({data:{session:D,redirectType:e.type},error:null})}catch(l){if(se(l))return this._returnResult({data:{session:null,redirectType:null},error:l});throw l}}_isImplicitGrantCallback(e){return typeof this.detectSessionInUrl=="function"?this.detectSessionInUrl(new URL(window.location.href),e):!!(e.access_token||e.error||e.error_description||e.error_code)}async _isPKCECallback(e){const i=await Mn(this.storage,`${this.storageKey}-code-verifier`);return!!(e.code&&i)}async signOut(e={scope:"global"}){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._signOut(e)):await this._signOut(e)}async _signOut({scope:e}={scope:"global"}){return await this._useSession(async i=>{var a;const l=async()=>{await this._removeSession(),await ht(this.storage,`${this.storageKey}-code-verifier`)},{data:c,error:u}=i;if(u&&!Zl(u))return this._returnResult({error:u});const d=(a=c.session)===null||a===void 0?void 0:a.access_token;if(d){const{error:m}=await this.admin.signOut(d,e);if(m&&!(Gk(m)&&(m.status===404||m.status===401||m.status===403)||Zl(m)))return e!=="others"&&await l(),this._returnResult({error:m})}return e!=="others"&&await l(),this._returnResult({error:null})})}onAuthStateChange(e){const i=nC(),a={id:i,callback:e,unsubscribe:()=>{this._debug("#unsubscribe()","state change callback with id removed",i),this.stateChangeEmitters.delete(i)}};return this._debug("#onAuthStateChange()","registered callback with id",i),this.stateChangeEmitters.set(i,a),(async()=>(await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>{this._emitInitialSession(i)}):await this._emitInitialSession(i)))(),{data:{subscription:a}}}async _emitInitialSession(e){return await this._useSession(async i=>{var a,l;try{const{data:{session:c},error:u}=i;if(u)throw u;await((a=this.stateChangeEmitters.get(e))===null||a===void 0?void 0:a.callback("INITIAL_SESSION",c)),this._debug("INITIAL_SESSION","callback id",e,"session",c)}catch(c){await((l=this.stateChangeEmitters.get(e))===null||l===void 0?void 0:l.callback("INITIAL_SESSION",null)),this._debug("INITIAL_SESSION","callback id",e,"error",c),Zl(c)?console.warn(c):console.error(c)}})}async resetPasswordForEmail(e,i={}){let a=null,l=null;this.flowType==="pkce"&&([a,l]=await Oi(this.storage,this.storageKey,!0));try{return await le(this.fetch,"POST",`${this.url}/recover`,{body:{email:e,code_challenge:a,code_challenge_method:l,gotrue_meta_security:{captcha_token:i.captchaToken}},headers:this.headers,redirectTo:i.redirectTo})}catch(c){if(await ht(this.storage,`${this.storageKey}-code-verifier`),se(c))return this._returnResult({data:null,error:c});throw c}}async getUserIdentities(){var e;try{const{data:i,error:a}=await this.getUser();if(a)throw a;return this._returnResult({data:{identities:(e=i.user.identities)!==null&&e!==void 0?e:[]},error:null})}catch(i){if(se(i))return this._returnResult({data:null,error:i});throw i}}async linkIdentity(e){return"token"in e?this.linkIdentityIdToken(e):this.linkIdentityOAuth(e)}async linkIdentityOAuth(e){var i;try{const{data:a,error:l}=await this._useSession(async c=>{var u,d,m,p,y;const{data:v,error:x}=c;if(x)throw x;const _=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,e.provider,{redirectTo:(u=e.options)===null||u===void 0?void 0:u.redirectTo,scopes:(d=e.options)===null||d===void 0?void 0:d.scopes,queryParams:(m=e.options)===null||m===void 0?void 0:m.queryParams,skipBrowserRedirect:!0});return await le(this.fetch,"GET",_,{headers:this.headers,jwt:(y=(p=v.session)===null||p===void 0?void 0:p.access_token)!==null&&y!==void 0?y:void 0})});if(l)throw l;return Pt()&&!(!((i=e.options)===null||i===void 0)&&i.skipBrowserRedirect)&&window.location.assign(a==null?void 0:a.url),this._returnResult({data:{provider:e.provider,url:a==null?void 0:a.url},error:null})}catch(a){if(se(a))return this._returnResult({data:{provider:e.provider,url:null},error:a});throw a}}async linkIdentityIdToken(e){return await this._useSession(async i=>{var a;try{const{error:l,data:{session:c}}=i;if(l)throw l;const{options:u,provider:d,token:m,access_token:p,nonce:y}=e,v=await le(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,jwt:(a=c==null?void 0:c.access_token)!==null&&a!==void 0?a:void 0,body:{provider:d,id_token:m,access_token:p,nonce:y,link_identity:!0,gotrue_meta_security:{captcha_token:u==null?void 0:u.captchaToken}},xform:En}),{data:x,error:_}=v;return _?this._returnResult({data:{user:null,session:null},error:_}):!x||!x.session||!x.user?this._returnResult({data:{user:null,session:null},error:new ka}):(x.session&&(await this._saveSession(x.session),await this._notifyAllSubscribers("USER_UPDATED",x.session)),this._returnResult({data:x,error:_}))}catch(l){if(await ht(this.storage,`${this.storageKey}-code-verifier`),se(l))return this._returnResult({data:{user:null,session:null},error:l});throw l}})}async unlinkIdentity(e){try{return await this._useSession(async i=>{var a,l;const{data:c,error:u}=i;if(u)throw u;return await le(this.fetch,"DELETE",`${this.url}/user/identities/${e.identity_id}`,{headers:this.headers,jwt:(l=(a=c.session)===null||a===void 0?void 0:a.access_token)!==null&&l!==void 0?l:void 0})})}catch(i){if(se(i))return this._returnResult({data:null,error:i});throw i}}async _refreshAccessToken(e){const i="#_refreshAccessToken()";this._debug(i,"begin");try{const a=Date.now();return await rC(async l=>(l>0&&await aC(200*Math.pow(2,l-1)),this._debug(i,"refreshing attempt",l),await le(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:e},headers:this.headers,xform:En})),(l,c)=>{const u=200*Math.pow(2,l);return c&&Vb(c)&&Date.now()+u-aDate.now())?this._debug(l,"proactive refresh failed, access token still valid — preserving session"):await this._removeSession()}return this.lastRefreshFailure={refreshToken:e,result:u,expiresAt:Date.now()+Pk},(i=this.refreshingDeferred)===null||i===void 0||i.resolve(u),u}throw(a=this.refreshingDeferred)===null||a===void 0||a.reject(c),c}finally{this.refreshingDeferred=null,this._debug(l,"end")}}async _notifyAllSubscribers(e,i,a=!0){if(this._pendingInitNotifications!==null&&a){this._pendingInitNotifications.push({event:e,session:i,broadcast:a});return}const l=`#_notifyAllSubscribers(${e})`;this._debug(l,"begin",i,`broadcast = ${a}`);try{this.broadcastChannel&&a&&this.broadcastChannel.postMessage({event:e,session:i});const c=[],u=Array.from(this.stateChangeEmitters.values()).map(async d=>{try{await d.callback(e,i)}catch(m){c.push(m)}});if(await Promise.all(u),c.length>0){for(let d=0;dthis._autoRefreshTokenTick(),Ns);this.autoRefreshTicker=e,e&&typeof e=="object"&&typeof e.unref=="function"?e.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(e);const i=setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0);this.autoRefreshTickTimeout=i,i&&typeof i=="object"&&typeof i.unref=="function"?i.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(i)}async _stopAutoRefresh(){this._debug("#_stopAutoRefresh()");const e=this.autoRefreshTicker;this.autoRefreshTicker=null,e&&clearInterval(e);const i=this.autoRefreshTickTimeout;this.autoRefreshTickTimeout=null,i&&clearTimeout(i)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async dispose(){var e;this._removeVisibilityChangedCallback(),await this._stopAutoRefresh(),(e=this.broadcastChannel)===null||e===void 0||e.close(),this.broadcastChannel=null,this.stateChangeEmitters.clear()}async _autoRefreshTokenTick(){if(this._debug("#_autoRefreshTokenTick()","begin"),this.lock!=null){try{await this._acquireLock(0,async()=>{try{const e=Date.now();try{return await this._useSession(async i=>{const{data:{session:a}}=i;if(!a||!a.refresh_token||!a.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}const l=Math.floor((a.expires_at*1e3-e)/Ns);this._debug("#_autoRefreshTokenTick()",`access token expires in ${l} ticks, a tick lasts ${Ns}ms, refresh threshold is ${Zr} ticks`),l<=Zr&&await this._callRefreshToken(a.refresh_token)})}catch(i){console.error("Auto refresh tick failed with error. This is likely a transient error.",i)}}finally{this._debug("#_autoRefreshTokenTick()","end")}})}catch(e){if(e instanceof TC)this._debug("auto refresh token tick lock not available");else throw e}return}if(this.refreshingDeferred!==null){this._debug("#_autoRefreshTokenTick()","refresh already in flight, skipping");return}try{const e=Date.now();try{await this._useSession(async i=>{const{data:{session:a}}=i;if(!a||!a.refresh_token||!a.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}const l=Math.floor((a.expires_at*1e3-e)/Ns);this._debug("#_autoRefreshTokenTick()",`access token expires in ${l} ticks, a tick lasts ${Ns}ms, refresh threshold is ${Zr} ticks`),l<=Zr&&await this._callRefreshToken(a.refresh_token)})}catch(i){console.error("Auto refresh tick failed with error. This is likely a transient error.",i)}}finally{this._debug("#_autoRefreshTokenTick()","end")}}async _handleVisibilityChange(){if(this._debug("#_handleVisibilityChange()"),!Pt()||!(window!=null&&window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=async()=>{try{await this._onVisibilityChanged(!1)}catch(e){this._debug("#visibilityChangedCallback","error",e)}},window==null||window.addEventListener("visibilitychange",this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(e){console.error("_handleVisibilityChange",e)}}async _onVisibilityChanged(e){const i=`#_onVisibilityChanged(${e})`;if(this._debug(i,"visibilityState",document.visibilityState),document.visibilityState==="visible"){if(this.autoRefreshToken&&this._startAutoRefresh(),!e)if(await this.initializePromise,this.lock!=null)await this._acquireLock(this.lockAcquireTimeout,async()=>{if(document.visibilityState!=="visible"){this._debug(i,"acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting");return}await this._recoverAndRefresh()});else{if(document.visibilityState!=="visible"){this._debug(i,"visibilityState is no longer visible, skipping recovery");return}await this._recoverAndRefresh()}}else document.visibilityState==="hidden"&&this.autoRefreshToken&&this._stopAutoRefresh()}async _getUrlForProvider(e,i,a){const l=[`provider=${encodeURIComponent(i)}`];if(a!=null&&a.redirectTo&&l.push(`redirect_to=${encodeURIComponent(a.redirectTo)}`),a!=null&&a.scopes&&l.push(`scopes=${encodeURIComponent(a.scopes)}`),this.flowType==="pkce"){const[c,u]=await Oi(this.storage,this.storageKey),d=new URLSearchParams({code_challenge:`${encodeURIComponent(c)}`,code_challenge_method:`${encodeURIComponent(u)}`});l.push(d.toString())}if(a!=null&&a.queryParams){const c=new URLSearchParams(a.queryParams);l.push(c.toString())}return a!=null&&a.skipBrowserRedirect&&l.push(`skip_http_redirect=${a.skipBrowserRedirect}`),`${e}?${l.join("&")}`}async _unenroll(e){try{return await this._useSession(async i=>{var a;const{data:l,error:c}=i;return c?this._returnResult({data:null,error:c}):await le(this.fetch,"DELETE",`${this.url}/factors/${e.factorId}`,{headers:this.headers,jwt:(a=l==null?void 0:l.session)===null||a===void 0?void 0:a.access_token})})}catch(i){if(se(i))return this._returnResult({data:null,error:i});throw i}}async _enroll(e){try{return await this._useSession(async i=>{var a,l;const{data:c,error:u}=i;if(u)return this._returnResult({data:null,error:u});const d=Object.assign({friendly_name:e.friendlyName,factor_type:e.factorType},e.factorType==="phone"?{phone:e.phone}:e.factorType==="totp"?{issuer:e.issuer}:{}),{data:m,error:p}=await le(this.fetch,"POST",`${this.url}/factors`,{body:d,headers:this.headers,jwt:(a=c==null?void 0:c.session)===null||a===void 0?void 0:a.access_token});return p?this._returnResult({data:null,error:p}):(e.factorType==="totp"&&m.type==="totp"&&(!((l=m==null?void 0:m.totp)===null||l===void 0)&&l.qr_code)&&(m.totp.qr_code=`data:image/svg+xml;utf-8,${m.totp.qr_code}`),this._returnResult({data:m,error:null}))})}catch(i){if(se(i))return this._returnResult({data:null,error:i});throw i}}async _verify(e){const i=async()=>{try{return await this._useSession(async a=>{var l;const{data:c,error:u}=a;if(u)return this._returnResult({data:null,error:u});const d=Object.assign({challenge_id:e.challengeId},"webauthn"in e?{webauthn:Object.assign(Object.assign({},e.webauthn),{credential_response:e.webauthn.type==="create"?Wb(e.webauthn.credential_response):ev(e.webauthn.credential_response)})}:{code:e.code}),{data:m,error:p}=await le(this.fetch,"POST",`${this.url}/factors/${e.factorId}/verify`,{body:d,headers:this.headers,jwt:(l=c==null?void 0:c.session)===null||l===void 0?void 0:l.access_token});return p?this._returnResult({data:null,error:p}):(await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+m.expires_in},m)),await this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",m),this._returnResult({data:m,error:p}))})}catch(a){if(se(a))return this._returnResult({data:null,error:a});throw a}};return this.lock!=null?this._acquireLock(this.lockAcquireTimeout,i):i()}async _challenge(e){const i=async()=>{try{return await this._useSession(async a=>{var l;const{data:c,error:u}=a;if(u)return this._returnResult({data:null,error:u});const d=await le(this.fetch,"POST",`${this.url}/factors/${e.factorId}/challenge`,{body:e,headers:this.headers,jwt:(l=c==null?void 0:c.session)===null||l===void 0?void 0:l.access_token});if(d.error)return d;const{data:m}=d;if(m.type!=="webauthn")return{data:m,error:null};switch(m.webauthn.type){case"create":return{data:Object.assign(Object.assign({},m),{webauthn:Object.assign(Object.assign({},m.webauthn),{credential_options:Object.assign(Object.assign({},m.webauthn.credential_options),{publicKey:Qb(m.webauthn.credential_options.publicKey)})})}),error:null};case"request":return{data:Object.assign(Object.assign({},m),{webauthn:Object.assign(Object.assign({},m.webauthn),{credential_options:Object.assign(Object.assign({},m.webauthn.credential_options),{publicKey:Zb(m.webauthn.credential_options.publicKey)})})}),error:null}}})}catch(a){if(se(a))return this._returnResult({data:null,error:a});throw a}};return this.lock!=null?this._acquireLock(this.lockAcquireTimeout,i):i()}async _challengeAndVerify(e){const{data:i,error:a}=await this._challenge({factorId:e.factorId});return a?this._returnResult({data:null,error:a}):await this._verify({factorId:e.factorId,challengeId:i.id,code:e.code})}async _listFactors(){var e;const{data:{user:i},error:a}=await this.getUser();if(a)return{data:null,error:a};const l={all:[],phone:[],totp:[],webauthn:[]};for(const c of(e=i==null?void 0:i.factors)!==null&&e!==void 0?e:[])l.all.push(c),c.status==="verified"&&l[c.factor_type].push(c);return{data:l,error:null}}async _getAuthenticatorAssuranceLevel(e){var i,a,l,c;if(e)try{const{payload:_}=tc(e);let S=null;_.aal&&(S=_.aal);let T=S;const{data:{user:k},error:C}=await this.getUser(e);if(C)return this._returnResult({data:null,error:C});((a=(i=k==null?void 0:k.factors)===null||i===void 0?void 0:i.filter(V=>V.status==="verified"))!==null&&a!==void 0?a:[]).length>0&&(T="aal2");const j=_.amr||[];return{data:{currentLevel:S,nextLevel:T,currentAuthenticationMethods:j},error:null}}catch(_){if(se(_))return this._returnResult({data:null,error:_});throw _}const{data:{session:u},error:d}=await this.getSession();if(d)return this._returnResult({data:null,error:d});if(!u)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};const{payload:m}=tc(u.access_token);let p=null;m.aal&&(p=m.aal);let y=p;((c=(l=u.user.factors)===null||l===void 0?void 0:l.filter(_=>_.status==="verified"))!==null&&c!==void 0?c:[]).length>0&&(y="aal2");const x=m.amr||[];return{data:{currentLevel:p,nextLevel:y,currentAuthenticationMethods:x},error:null}}async _getAuthorizationDetails(e){try{return await this._useSession(async i=>{const{data:{session:a},error:l}=i;return l?this._returnResult({data:null,error:l}):a?await le(this.fetch,"GET",`${this.url}/oauth/authorizations/${e}`,{headers:this.headers,jwt:a.access_token,xform:c=>({data:c,error:null})}):this._returnResult({data:null,error:new kt})})}catch(i){if(se(i))return this._returnResult({data:null,error:i});throw i}}async _approveAuthorization(e,i){try{return await this._useSession(async a=>{const{data:{session:l},error:c}=a;if(c)return this._returnResult({data:null,error:c});if(!l)return this._returnResult({data:null,error:new kt});const u=await le(this.fetch,"POST",`${this.url}/oauth/authorizations/${e}/consent`,{headers:this.headers,jwt:l.access_token,body:{action:"approve"},xform:d=>({data:d,error:null})});return u.data&&u.data.redirect_url&&Pt()&&!(i!=null&&i.skipBrowserRedirect)&&window.location.assign(u.data.redirect_url),u})}catch(a){if(se(a))return this._returnResult({data:null,error:a});throw a}}async _denyAuthorization(e,i){try{return await this._useSession(async a=>{const{data:{session:l},error:c}=a;if(c)return this._returnResult({data:null,error:c});if(!l)return this._returnResult({data:null,error:new kt});const u=await le(this.fetch,"POST",`${this.url}/oauth/authorizations/${e}/consent`,{headers:this.headers,jwt:l.access_token,body:{action:"deny"},xform:d=>({data:d,error:null})});return u.data&&u.data.redirect_url&&Pt()&&!(i!=null&&i.skipBrowserRedirect)&&window.location.assign(u.data.redirect_url),u})}catch(a){if(se(a))return this._returnResult({data:null,error:a});throw a}}async _listOAuthGrants(){try{return await this._useSession(async e=>{const{data:{session:i},error:a}=e;return a?this._returnResult({data:null,error:a}):i?await le(this.fetch,"GET",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:i.access_token,xform:l=>({data:l,error:null})}):this._returnResult({data:null,error:new kt})})}catch(e){if(se(e))return this._returnResult({data:null,error:e});throw e}}async _revokeOAuthGrant(e){try{return await this._useSession(async i=>{const{data:{session:a},error:l}=i;return l?this._returnResult({data:null,error:l}):a?(await le(this.fetch,"DELETE",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:a.access_token,query:{client_id:e.clientId},noResolveJson:!0}),{data:{},error:null}):this._returnResult({data:null,error:new kt})})}catch(i){if(se(i))return this._returnResult({data:null,error:i});throw i}}async fetchJwk(e,i={keys:[]}){let a=i.keys.find(d=>d.kid===e);if(a)return a;const l=Date.now();if(a=this.jwks.keys.find(d=>d.kid===e),a&&this.jwks_cached_at+Fk>l)return a;const{data:c,error:u}=await le(this.fetch,"GET",`${this.url}/.well-known/jwks.json`,{headers:this.headers});if(u)throw u;return!c.keys||c.keys.length===0||(this.jwks=c,this.jwks_cached_at=l,a=c.keys.find(d=>d.kid===e),!a)?null:a}async getClaims(e,i={}){try{let a=e;if(!a){const{data:_,error:S}=await this.getSession();if(S||!_.session)return this._returnResult({data:null,error:S});a=_.session.access_token}const{header:l,payload:c,signature:u,raw:{header:d,payload:m}}=tc(a);if(!(i!=null&&i.allowExpired))try{fC(c.exp)}catch(_){throw new Ac(_ instanceof Error?_.message:"JWT validation failed")}const p=!l.alg||l.alg.startsWith("HS")||!l.kid||!("crypto"in globalThis&&"subtle"in globalThis.crypto)?null:await this.fetchJwk(l.kid,i!=null&&i.keys?{keys:i.keys}:i==null?void 0:i.jwks);if(!p){const{error:_}=await this.getUser(a);if(_)throw _;return{data:{claims:c,header:l,signature:u},error:null}}const y=mC(l.alg),v=await crypto.subtle.importKey("jwk",p,y,!0,["verify"]);if(!await crypto.subtle.verify(y,v,u,eC(`${d}.${m}`)))throw new Ac("Invalid JWT signature");return{data:{claims:c,header:l,signature:u},error:null}}catch(a){if(se(a))return this._returnResult({data:null,error:a});throw a}}async signInWithPasskey(e){var i,a,l;Un(this.experimental);try{if(!kc())return this._returnResult({data:null,error:new Pn("Browser does not support WebAuthn",null)});const{data:c,error:u}=await this._startPasskeyAuthentication({options:{captchaToken:(i=e==null?void 0:e.options)===null||i===void 0?void 0:i.captchaToken}});if(u||!c)return this._returnResult({data:null,error:u});const d=Zb(c.options),m=(l=(a=e==null?void 0:e.options)===null||a===void 0?void 0:a.signal)!==null&&l!==void 0?l:bf.createNewAbortSignal(),{data:p,error:y}=await Dw({publicKey:d,signal:m});if(y||!p)return this._returnResult({data:null,error:y??new Pn("WebAuthn ceremony failed",null)});const v=ev(p);return this._verifyPasskeyAuthentication({challengeId:c.challenge_id,credential:v})}catch(c){if(se(c))return this._returnResult({data:null,error:c});throw c}}async registerPasskey(e){var i,a;Un(this.experimental);try{if(!kc())return this._returnResult({data:null,error:new Pn("Browser does not support WebAuthn",null)});const{data:l,error:c}=await this._startPasskeyRegistration();if(c||!l)return this._returnResult({data:null,error:c});const u=Qb(l.options),d=(a=(i=e==null?void 0:e.options)===null||i===void 0?void 0:i.signal)!==null&&a!==void 0?a:bf.createNewAbortSignal(),{data:m,error:p}=await Ow({publicKey:u,signal:d});if(p||!m)return this._returnResult({data:null,error:p??new Pn("WebAuthn ceremony failed",null)});const y=Wb(m);return this._verifyPasskeyRegistration({challengeId:l.challenge_id,credential:y})}catch(l){if(se(l))return this._returnResult({data:null,error:l});throw l}}async _startPasskeyRegistration(){Un(this.experimental);try{return await this._useSession(async e=>{const{data:{session:i},error:a}=e;if(a)return this._returnResult({data:null,error:a});if(!i)return this._returnResult({data:null,error:new kt});const{data:l,error:c}=await le(this.fetch,"POST",`${this.url}/passkeys/registration/options`,{headers:this.headers,jwt:i.access_token,body:{}});return c?this._returnResult({data:null,error:c}):this._returnResult({data:l,error:null})})}catch(e){if(se(e))return this._returnResult({data:null,error:e});throw e}}async _verifyPasskeyRegistration(e){Un(this.experimental);try{return await this._useSession(async i=>{const{data:{session:a},error:l}=i;if(l)return this._returnResult({data:null,error:l});if(!a)return this._returnResult({data:null,error:new kt});const{data:c,error:u}=await le(this.fetch,"POST",`${this.url}/passkeys/registration/verify`,{headers:this.headers,jwt:a.access_token,body:{challenge_id:e.challengeId,credential:e.credential}});return u?this._returnResult({data:null,error:u}):this._returnResult({data:c,error:null})})}catch(i){if(se(i))return this._returnResult({data:null,error:i});throw i}}async _startPasskeyAuthentication(e){var i;Un(this.experimental);try{const{data:a,error:l}=await le(this.fetch,"POST",`${this.url}/passkeys/authentication/options`,{headers:this.headers,body:{gotrue_meta_security:{captcha_token:(i=e==null?void 0:e.options)===null||i===void 0?void 0:i.captchaToken}}});return l?this._returnResult({data:null,error:l}):this._returnResult({data:a,error:null})}catch(a){if(se(a))return this._returnResult({data:null,error:a});throw a}}async _verifyPasskeyAuthentication(e){Un(this.experimental);try{const{data:i,error:a}=await le(this.fetch,"POST",`${this.url}/passkeys/authentication/verify`,{headers:this.headers,body:{challenge_id:e.challengeId,credential:e.credential},xform:En});return a?this._returnResult({data:null,error:a}):(i.session&&(await this._saveSession(i.session),await this._notifyAllSubscribers("SIGNED_IN",i.session)),this._returnResult({data:i,error:null}))}catch(i){if(se(i))return this._returnResult({data:null,error:i});throw i}}async _listPasskeys(){Un(this.experimental);try{return await this._useSession(async e=>{const{data:{session:i},error:a}=e;if(a)return this._returnResult({data:null,error:a});if(!i)return this._returnResult({data:null,error:new kt});const{data:l,error:c}=await le(this.fetch,"GET",`${this.url}/passkeys`,{headers:this.headers,jwt:i.access_token,xform:u=>({data:u,error:null})});return c?this._returnResult({data:null,error:c}):this._returnResult({data:l,error:null})})}catch(e){if(se(e))return this._returnResult({data:null,error:e});throw e}}async _updatePasskey(e){Un(this.experimental);try{return await this._useSession(async i=>{const{data:{session:a},error:l}=i;if(l)return this._returnResult({data:null,error:l});if(!a)return this._returnResult({data:null,error:new kt});const{data:c,error:u}=await le(this.fetch,"PATCH",`${this.url}/passkeys/${e.passkeyId}`,{headers:this.headers,jwt:a.access_token,body:{friendly_name:e.friendlyName}});return u?this._returnResult({data:null,error:u}):this._returnResult({data:c,error:null})})}catch(i){if(se(i))return this._returnResult({data:null,error:i});throw i}}async _deletePasskey(e){Un(this.experimental);try{return await this._useSession(async i=>{const{data:{session:a},error:l}=i;if(l)return this._returnResult({data:null,error:l});if(!a)return this._returnResult({data:null,error:new kt});const{error:c}=await le(this.fetch,"DELETE",`${this.url}/passkeys/${e.passkeyId}`,{headers:this.headers,jwt:a.access_token,noResolveJson:!0});return c?this._returnResult({data:null,error:c}):this._returnResult({data:null,error:null})})}catch(i){if(se(i))return this._returnResult({data:null,error:i});throw i}}}wo.nextInstanceID={};const zC=wo,PC="2.110.2";let Wr="",Rc;if(typeof Deno<"u"){var Nd;Wr="deno",Rc=(Nd=Deno.version)===null||Nd===void 0?void 0:Nd.deno}else if(typeof document<"u")Wr="web";else if(typeof navigator<"u"&&navigator.product==="ReactNative")Wr="react-native";else{var kd;Wr="node",Rc=typeof process<"u"?(kd=process.version)===null||kd===void 0?void 0:kd.replace(/^v/,""):void 0}const Mw=[`runtime=${Wr}`];Rc&&Mw.push(`runtime-version=${Rc}`);const VC={"X-Client-Info":`supabase-js/${PC}; ${Mw.join("; ")}`},HC={headers:VC},$C={schema:"public"},qC={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},FC={},IC={enabled:!1,respectSamplingDecision:!0};function GC(n,e,i,a){function l(c){return c instanceof i?c:new i(function(u){u(c)})}return new(i||(i=Promise))(function(c,u){function d(y){try{p(a.next(y))}catch(v){u(v)}}function m(y){try{p(a.throw(y))}catch(v){u(v)}}function p(y){y.done?c(y.value):l(y.value).then(d,m)}p((a=a.apply(n,[])).next())})}let Cd=null;const KC="@opentelemetry/api";function YC(){return Cd===null&&(Cd=import(KC).catch(()=>null)),Cd}function XC(){return GC(this,void 0,void 0,function*(){try{const n=yield YC();if(!n||!n.propagation||!n.context)return null;const e={};n.propagation.inject(n.context.active(),e);const i=e.traceparent;return i?{traceparent:i,tracestate:e.tracestate,baggage:e.baggage}:null}catch{return null}})}function JC(n){if(!n||typeof n!="string")return null;const e=n.split("-");if(e.length!==4)return null;const[i,a,l,c]=e;if(i.length!==2||a.length!==32||l.length!==16||c.length!==2)return null;const u=/^[0-9a-f]+$/i;return!u.test(i)||!u.test(a)||!u.test(l)||!u.test(c)||a==="00000000000000000000000000000000"||l==="0000000000000000"?null:{version:i,traceId:a,parentId:l,traceFlags:c,isSampled:(parseInt(c,16)&1)===1}}function QC(n,e){if(!n||!e||e.length===0)return!1;let i;if(n instanceof URL)i=n;else try{i=new URL(n)}catch{return!1}for(const a of e)try{if(typeof a=="string"){if(ZC(i.hostname,a))return!0}else if(a instanceof RegExp){if(a.test(i.hostname))return!0}else if(typeof a=="function"&&a(i))return!0}catch{continue}return!1}function ZC(n,e){if(e===n)return!0;if(e.startsWith("*.")){const i=e.slice(2);if(n.endsWith(i)&&(n===i||n.endsWith("."+i)))return!0}return!1}function WC(n){const e=[];try{const i=new URL(n);e.push(i.hostname)}catch{}return e.push("*.supabase.co","*.supabase.in"),e.push("localhost","127.0.0.1","[::1]"),e}function _o(n){"@babel/helpers - typeof";return _o=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_o(n)}function eR(n,e){if(_o(n)!="object"||!n)return n;var i=n[Symbol.toPrimitive];if(i!==void 0){var a=i.call(n,e);if(_o(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function tR(n){var e=eR(n,"string");return _o(e)=="symbol"?e:e+""}function nR(n,e,i){return(e=tR(e))in n?Object.defineProperty(n,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[e]=i,n}function tv(n,e){var i=Object.keys(n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(n);e&&(a=a.filter(function(l){return Object.getOwnPropertyDescriptor(n,l).enumerable})),i.push.apply(i,a)}return i}function rt(n){for(var e=1;en?(...e)=>n(...e):(...e)=>fetch(...e),iR=()=>Headers,aR=(n,e,i,a,l)=>{const c=sR(a),u=iR(),d=(l==null?void 0:l.enabled)===!0,m=(l==null?void 0:l.respectSamplingDecision)!==!1,p=d?WC(e):null;return async(y,v)=>{var x;const _=(x=await i())!==null&&x!==void 0?x:n;let S=new u(v==null?void 0:v.headers);if(S.has("apikey")||S.set("apikey",n),S.has("Authorization")||S.set("Authorization",`Bearer ${_}`),p){const T=await rR(y,p,m);T&&(T.traceparent&&!S.has("traceparent")&&S.set("traceparent",T.traceparent),T.tracestate&&!S.has("tracestate")&&S.set("tracestate",T.tracestate),T.baggage&&!S.has("baggage")&&S.set("baggage",T.baggage))}return c(y,rt(rt({},v),{},{headers:S}))}};async function rR(n,e,i){if(!QC(typeof n=="string"||n instanceof URL?n:n.url,e))return null;const a=await XC();if(!a||!a.traceparent)return null;if(i){const l=JC(a.traceparent);if(l&&!l.isSampled)return null}return a}function nv(n){return typeof n=="boolean"?{enabled:n}:n}function oR(n){return n.endsWith("/")?n:n+"/"}function lR(n,e){var i,a,l,c,u,d;const{db:m,auth:p,realtime:y,global:v}=n,{db:x,auth:_,realtime:S,global:T}=e,k=nv(n.tracePropagation),C=nv(e.tracePropagation),D={db:rt(rt({},x),m),auth:rt(rt({},_),p),realtime:rt(rt({},S),y),storage:{},global:rt(rt(rt({},T),v),{},{headers:rt(rt({},(i=T==null?void 0:T.headers)!==null&&i!==void 0?i:{}),(a=v==null?void 0:v.headers)!==null&&a!==void 0?a:{})}),tracePropagation:{enabled:(l=(c=k==null?void 0:k.enabled)!==null&&c!==void 0?c:C==null?void 0:C.enabled)!==null&&l!==void 0?l:!1,respectSamplingDecision:(u=(d=k==null?void 0:k.respectSamplingDecision)!==null&&d!==void 0?d:C==null?void 0:C.respectSamplingDecision)!==null&&u!==void 0?u:!0},accessToken:async()=>""};return n.accessToken?D.accessToken=n.accessToken:delete D.accessToken,D}function cR(n){const e=n==null?void 0:n.trim();if(!e)throw new Error("supabaseUrl is required.");if(!e.match(/^https?:\/\//i))throw new Error("Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.");try{return new URL(oR(e))}catch{throw Error("Invalid supabaseUrl: Provided URL is malformed.")}}var uR=class extends zC{constructor(n){super(n)}},hR=class{constructor(n,e,i){var a,l;this.supabaseUrl=n,this.supabaseKey=e;const c=cR(n);if(!e)throw new Error("supabaseKey is required.");this.realtimeUrl=new URL("realtime/v1",c),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace("http","ws"),this.authUrl=new URL("auth/v1",c),this.storageUrl=new URL("storage/v1",c),this.functionsUrl=new URL("functions/v1",c);const u=`sb-${c.hostname.split(".")[0]}-auth-token`,d={db:$C,realtime:FC,auth:rt(rt({},qC),{},{storageKey:u}),global:HC,tracePropagation:IC},m=lR(i??{},d);if(this.settings=m,this.storageKey=(a=m.auth.storageKey)!==null&&a!==void 0?a:"",this.headers=(l=m.global.headers)!==null&&l!==void 0?l:{},m.accessToken)this.accessToken=m.accessToken,this.auth=new Proxy({},{get:(y,v)=>{throw new Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(v)} is not possible`)}});else{var p;this.auth=this._initSupabaseAuthClient((p=m.auth)!==null&&p!==void 0?p:{},this.headers,m.global.fetch)}this.fetch=aR(e,n,this._getAccessToken.bind(this),m.global.fetch,m.tracePropagation),this.realtime=this._initRealtimeClient(rt({headers:this.headers,accessToken:this._getAccessToken.bind(this),fetch:this.fetch},m.realtime)),this.accessToken&&Promise.resolve(this.accessToken()).then(y=>this.realtime.setAuth(y)).catch(y=>console.warn("Failed to set initial Realtime auth token:",y)),this.rest=new xN(new URL("rest/v1",c).href,{headers:this.headers,schema:m.db.schema,fetch:this.fetch,timeout:m.db.timeout,urlLengthLimit:m.db.urlLengthLimit}),this.storage=new zk(this.storageUrl.href,this.headers,this.fetch,i==null?void 0:i.storage),m.accessToken||this._listenForAuthEvents()}get functions(){return new hN(this.functionsUrl.href,{headers:this.headers,customFetch:this.fetch})}from(n){return this.rest.from(n)}schema(n){return this.rest.schema(n)}rpc(n,e={},i={head:!1,get:!1,count:void 0}){return this.rest.rpc(n,e,i)}channel(n,e={config:{}}){return this.realtime.channel(n,e)}getChannels(){return this.realtime.getChannels()}removeChannel(n){return this.realtime.removeChannel(n)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getAccessToken(){var n=this,e,i;if(n.accessToken)return await n.accessToken();const{data:a}=await n.auth.getSession();return(e=(i=a.session)===null||i===void 0?void 0:i.access_token)!==null&&e!==void 0?e:n.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:n,persistSession:e,detectSessionInUrl:i,storage:a,userStorage:l,storageKey:c,flowType:u,lock:d,debug:m,throwOnError:p,experimental:y,lockAcquireTimeout:v,skipAutoInitialize:x},_,S){const T={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new uR({url:this.authUrl.href,headers:rt(rt({},T),_),storageKey:c,autoRefreshToken:n,persistSession:e,detectSessionInUrl:i,storage:a,userStorage:l,flowType:u,lock:d,debug:m,throwOnError:p,experimental:y,fetch:S,lockAcquireTimeout:v,skipAutoInitialize:x,hasCustomAuthorizationHeader:Object.keys(this.headers).some(k=>k.toLowerCase()==="authorization")})}_initRealtimeClient(n){return new lk(this.realtimeUrl.href,rt(rt({},n),{},{params:rt(rt({},{apikey:this.supabaseKey}),n==null?void 0:n.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((n,e)=>{this._handleTokenChanged(n,"CLIENT",e==null?void 0:e.access_token)})}_handleTokenChanged(n,e,i){(n==="TOKEN_REFRESHED"||n==="SIGNED_IN")&&this.changedAccessToken!==i?(this.changedAccessToken=i,this.realtime.setAuth(i)):n==="SIGNED_OUT"&&(this.realtime.setAuth(),e=="STORAGE"&&this.auth.signOut(),this.changedAccessToken=void 0)}};const dR=(n,e,i)=>new hR(n,e,i);function fR(){if(typeof window<"u")return!1;const n=globalThis.process;if(!n)return!1;const e=n.version;if(e==null)return!1;const i=e.match(/^v(\d+)\./);return i?parseInt(i[1],10)<=20:!1}fR()&&console.warn("⚠️ Node.js 20 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to Node.js 22 or later. For more information, visit: https://github.com/orgs/supabase/discussions/45715");const mR="https://dbit.digitalcompass.agency",Bw="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJhbm9uIiwKICAgICJpc3MiOiAic3VwYWJhc2UtZGVtbyIsCiAgICAiaWF0IjogMTY0MTc2OTIwMCwKICAgICJleHAiOiAxNzk5NTM1NjAwCn0.dc_X5iR_VP_qT0zsiyj_I_OZ2T9FtRU2BBNWN8Bu4GE",oo=!!Bw,lt=oo?dR(mR,Bw,{auth:{persistSession:!0,autoRefreshToken:!0,detectSessionInUrl:!0}}):null;function Uw(){return new URL("/cruce-cuentas/",window.location.origin).toString()}async function pR(){if(typeof window>"u"||typeof fetch>"u")return;const n=Uw(),e=new AbortController,i=window.setTimeout(()=>e.abort(),8e3);try{await(await fetch(n,{method:"GET",cache:"reload",credentials:"same-origin",redirect:"follow",headers:{Accept:"text/html,application/xhtml+xml"},signal:e.signal})).text()}catch(a){console.warn("No se pudo refrescar preventivamente la entrada de la app:",a)}finally{window.clearTimeout(i)}}const gR=180,yR=8e3;async function So(n=gR){if(!lt)return null;const{data:e,error:i}=await lt.auth.getSession();if(i)throw i;let a=e.session;if(!a)throw new Error("Tu sesión expiró. Inicia sesión nuevamente antes de continuar.");const l=Number(a.expires_at||0)*1e3;if(!l||l-Date.now()<=n*1e3){const u=await lt.auth.refreshSession();if(u.error)throw u.error;if(a=u.data.session,!a)throw new Error("Tu sesión expiró. Inicia sesión nuevamente antes de continuar.")}return a}async function sv(n){if(typeof window>"u"||typeof fetch>"u")return;if(typeof navigator<"u"&&navigator.onLine===!1)throw new Error("No hay conexión a Internet. Verifica tu conexión e intenta nuevamente.");let e;try{e=new URL(n,window.location.origin)}catch{return}if(e.origin===window.location.origin)return;const i=new URL("/favicon.ico",e.origin);i.searchParams.set("_glm_resume",String(Date.now()));const a=new AbortController,l=window.setTimeout(()=>a.abort(),yR);try{await fetch(i.toString(),{method:"GET",mode:"no-cors",cache:"no-store",credentials:"omit",signal:a.signal})}catch(c){if(typeof navigator<"u"&&navigator.onLine===!1)throw new Error("No hay conexión a Internet. Verifica tu conexión e intenta nuevamente.");console.warn("No se pudo precalentar la conexión con n8n:",c)}finally{window.clearTimeout(l)}}function iv(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`glm-${Date.now()}-${Math.random().toString(36).slice(2,12)}`}function av(n,e){try{const i=new URL(n,window.location.origin);return i.searchParams.set("client_request_id",e),i.searchParams.set("_ts",String(Date.now())),i.toString()}catch{return n}}const bR="https://agenteit.digitalcompass.agency/webhook/cruce-cuentas-bamboo-correccion",Rd=["Nombre mal escrito en BambooHR","Apodo o nombre de uso","Nombre incompleto / nombres adicionales","Otro"];function vR(n){try{return n?JSON.parse(n):null}catch{return null}}function Lw({row:n,country:e,periodRange:i,operatorName:a,operatorEmail:l,executionId:c,reportUrl:u,onClose:d,onSuccess:m,onShowToast:p}){const y=n.bestBambooCandidate,[v,x]=M.useState((y==null?void 0:y.employeeName)||""),[_,S]=M.useState((y==null?void 0:y.employeeNumber)||""),[T,k]=M.useState(Rd[0]),[C,D]=M.useState(""),[j,V]=M.useState(!1),[G,J]=M.useState(!1);M.useEffect(()=>{x((y==null?void 0:y.employeeName)||""),S((y==null?void 0:y.employeeNumber)||""),k(Rd[0]),D(""),V(!1)},[n.id,y==null?void 0:y.employeeName,y==null?void 0:y.employeeNumber]);const q=M.useMemo(()=>e.code==="TT"?"Laurele Nicome-Jack":e.code==="PA"?"Delarys Peñalba y Ariadne Cortéz":"Pablo Gamboa Cú, Sara Meyer Lima y María Morales Adler",[e.code]),K=M.useMemo(()=>Array.from(new Set([n.employee,n.bankNameFile,n.bankAccountHolder].map(X=>String(X||"").trim()).filter(Boolean))),[n.employee,n.bankNameFile,n.bankAccountHolder]),ie=async()=>{var X;if(!v.trim()){p("Escribe el nombre correcto del empleado en BambooHR.","error");return}if(!j){p("Confirma que se trata de la misma persona antes de enviar el caso.","error");return}if(!lt){p("Supabase no está configurado en esta aplicación.","error");return}J(!0);try{const pe=await So(300),ce=pe==null?void 0:pe.access_token;if(!ce)throw new Error("Tu sesión expiró. Inicia sesión nuevamente antes de reportar el caso.");const Ce={country:e.code,country_name:e.name,source_name:n.employee,source_names:K,bank_name_file:n.bankNameFile||"",bank_account_holder:n.bankAccountHolder||"",bank_account:n.account||"",bank_amount:n.amountBank,currency:e.currency,bamboo_name:v.trim(),bamboo_employee_number:_.trim(),reason:T,comment:C.trim(),confirmed_same_person:!0,execution_id:c||"",report_url:u||"",period_label:i.label,period_start:i.start,period_end:i.end,requested_by_name:a,requested_by_email:l},Se=new FormData;Se.append("payload",JSON.stringify(Ce)),Se.append("access_token",ce);const _e=await fetch(bR,{method:"POST",body:Se}),P=await _e.text(),Y=vR(P);if(!_e.ok||(Y==null?void 0:Y.ok)===!1){const ee=(Y==null?void 0:Y.message)||(Y==null?void 0:Y.error)||((X=Y==null?void 0:Y.errors)==null?void 0:X[0])||P||"No se pudo enviar el caso a RRHH.";throw new Error(String(ee))}m(n.id),p(`Caso enviado a RRHH de ${e.name}. La equivalencia quedó registrada para futuros cruces.`,"success"),d()}catch(pe){const ce=pe instanceof Error?pe.message:"No se pudo enviar el caso a RRHH.";p(ce,"error")}finally{J(!1)}};return g.jsxs("div",{className:"fixed inset-0 z-[90] flex items-center justify-center px-4 py-6",children:[g.jsx("button",{type:"button",className:"absolute inset-0 bg-black/45",onClick:G?void 0:d,"aria-label":"Cerrar"}),g.jsxs("div",{className:"relative w-full max-w-2xl bg-white border border-[#D0D0D0] shadow-2xl max-h-[92vh] overflow-y-auto",children:[g.jsx("div",{className:"h-1.5 bg-[#6CC24A]"}),g.jsxs("div",{className:"px-6 py-5 border-b border-neutral-200 flex items-start justify-between gap-4",children:[g.jsxs("div",{children:[g.jsx("p",{className:"text-[10px] uppercase tracking-[0.18em] font-black text-[#6B8FA3]",children:"Banco sin BambooHR"}),g.jsx("h2",{className:"text-xl font-black text-[#4F758B] mt-1",children:"Reportar corrección de identidad a RRHH"}),g.jsx("p",{className:"text-xs text-neutral-500 mt-2 leading-relaxed",children:"Esta validación crea una equivalencia permanente para que el mismo falso positivo no vuelva a aparecer mientras RRHH corrige BambooHR."})]}),g.jsx("button",{type:"button",onClick:d,disabled:G,className:"p-2 text-neutral-400 hover:text-neutral-700 hover:bg-neutral-100 disabled:opacity-40","aria-label":"Cerrar modal",children:g.jsx(Ya,{className:"w-5 h-5"})})]}),g.jsxs("div",{className:"px-6 py-5 space-y-5",children:[g.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 bg-[#F5F5F5] border border-neutral-200 p-4",children:[g.jsxs("div",{children:[g.jsx("p",{className:"text-[9px] uppercase tracking-wider font-black text-[#6B8FA3]",children:"Nombre detectado"}),g.jsx("p",{className:"text-sm font-black text-neutral-800 mt-1",children:n.employee})]}),g.jsxs("div",{children:[g.jsx("p",{className:"text-[9px] uppercase tracking-wider font-black text-[#6B8FA3]",children:"Cuenta bancaria"}),g.jsx("p",{className:"text-sm font-mono font-bold text-neutral-700 mt-1",children:n.account||"—"})]}),g.jsxs("div",{className:"sm:col-span-2",children:[g.jsx("p",{className:"text-[9px] uppercase tracking-wider font-black text-[#6B8FA3]",children:"Se notificará a"}),g.jsx("p",{className:"text-xs font-bold text-neutral-700 mt-1",children:q})]})]}),(y==null?void 0:y.employeeName)&&g.jsxs("div",{className:"border border-[#D6E8F4] bg-[#F7FBFD] p-4 flex items-start gap-3",children:[g.jsx(fo,{className:"w-4 h-4 text-[#4F758B] mt-0.5 flex-shrink-0"}),g.jsxs("div",{className:"text-xs text-neutral-600 leading-relaxed",children:[g.jsx("strong",{className:"text-[#4F758B]",children:"Candidato sugerido por el cruce:"})," ",y.employeeName,y.employeeNumber?` · Employee Number ${y.employeeNumber}`:"",". Verifícalo manualmente antes de confirmar."]})]}),g.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[g.jsxs("label",{className:"sm:col-span-2",children:[g.jsx("span",{className:"block text-[10px] uppercase tracking-wider font-black text-[#4F758B] mb-1.5",children:"Nombre correcto en BambooHR *"}),g.jsx("input",{type:"text",value:v,onChange:X=>x(X.target.value),placeholder:"Ej.: Jonathan Alexander Pérez",className:"w-full border border-[#D0D0D0] px-3 py-2.5 text-sm font-medium focus:outline-none focus:border-[#4F758B]"})]}),g.jsxs("label",{children:[g.jsx("span",{className:"block text-[10px] uppercase tracking-wider font-black text-[#4F758B] mb-1.5",children:"Employee Number"}),g.jsx("input",{type:"text",value:_,onChange:X=>S(X.target.value),placeholder:"Recomendado para mayor seguridad",className:"w-full border border-[#D0D0D0] px-3 py-2.5 text-sm font-medium focus:outline-none focus:border-[#4F758B]"})]}),g.jsxs("label",{children:[g.jsx("span",{className:"block text-[10px] uppercase tracking-wider font-black text-[#4F758B] mb-1.5",children:"Motivo *"}),g.jsx("select",{value:T,onChange:X=>k(X.target.value),className:"w-full border border-[#D0D0D0] px-3 py-2.5 text-sm font-medium focus:outline-none focus:border-[#4F758B] bg-white",children:Rd.map(X=>g.jsx("option",{value:X,children:X},X))})]}),g.jsxs("label",{className:"sm:col-span-2",children:[g.jsx("span",{className:"block text-[10px] uppercase tracking-wider font-black text-[#4F758B] mb-1.5",children:"Comentario para RRHH"}),g.jsx("textarea",{value:C,onChange:X=>D(X.target.value),rows:3,placeholder:"Detalle adicional que ayude a RRHH a corregir el registro.",className:"w-full border border-[#D0D0D0] px-3 py-2.5 text-sm font-medium focus:outline-none focus:border-[#4F758B] resize-y"})]})]}),g.jsxs("label",{className:"flex items-start gap-3 border border-[#D0D0D0] p-4 cursor-pointer",children:[g.jsx("input",{type:"checkbox",checked:j,onChange:X=>V(X.target.checked),className:"mt-0.5 accent-[#6CC24A]"}),g.jsxs("span",{className:"text-xs text-neutral-600 leading-relaxed",children:["Confirmo que revisé el caso manualmente y que ",g.jsx("strong",{children:n.employee})," corresponde a la misma persona indicada arriba en BambooHR."]})]})]}),g.jsxs("div",{className:"px-6 py-4 border-t border-neutral-200 bg-neutral-50 flex flex-col-reverse sm:flex-row sm:justify-end gap-2",children:[g.jsx("button",{type:"button",onClick:d,disabled:G,className:"px-4 py-2.5 border border-neutral-300 bg-white text-neutral-600 text-xs font-black uppercase tracking-wider disabled:opacity-40",children:"Cancelar"}),g.jsx("button",{type:"button",onClick:ie,disabled:G||!j||!v.trim(),className:"px-5 py-2.5 bg-[#4F758B] text-white text-xs font-black uppercase tracking-wider inline-flex items-center justify-center gap-2 border-l-4 border-[#6CC24A] disabled:bg-neutral-300 disabled:border-neutral-300 disabled:cursor-not-allowed",children:G?g.jsxs(g.Fragment,{children:[g.jsx("span",{className:"w-4 h-4 border-2 border-white/40 border-t-white rounded-full animate-spin"}),"Enviando..."]}):g.jsxs(g.Fragment,{children:[g.jsx(dw,{className:"w-4 h-4"}),"Enviar a RRHH"]})})]})]})]})}const xR="https://agenteit.digitalcompass.agency/webhook/cruce-cuentas-reportar";function wR(n){try{return n?JSON.parse(n):null}catch{return null}}function _R(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`report-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function zw({country:n,operatorName:e,operatorEmail:i,section:a,onShowToast:l}){const[c,u]=M.useState(!1),[d,m]=M.useState(""),[p,y]=M.useState(!1),v=()=>{p||u(!1)},x=async()=>{const _=d.trim();if(!_){l("Escribe una descripción del reporte.","error");return}if(!lt){l("Supabase no está configurado en esta aplicación.","error");return}y(!0);try{const S=await So(300),T=S==null?void 0:S.access_token;if(!T)throw new Error("Tu sesión expiró. Inicia sesión nuevamente antes de enviar el reporte.");const k={message:_.slice(0,5e3),userName:e,userEmail:i,country:n.code,countryName:n.name,section:a,submittedAt:new Date().toISOString(),pageUrl:window.location.href,appSessionId:_R()},C=new FormData;C.append("payload",JSON.stringify(k)),C.append("access_token",T);const D=await fetch(xR,{method:"POST",body:C}),j=await D.text(),V=wR(j);if(!D.ok||(V==null?void 0:V.ok)===!1){const G=(V==null?void 0:V.message)||(V==null?void 0:V.error)||j||"No se pudo enviar el reporte.";throw new Error(String(G))}m(""),u(!1),l("Reporte enviado correctamente.","success")}catch(S){l(S instanceof Error?S.message:"No se pudo enviar el reporte.","error")}finally{y(!1)}};return g.jsxs(g.Fragment,{children:[g.jsxs("button",{type:"button",onClick:()=>u(!0),className:"inline-flex items-center justify-center gap-2 border border-[#4F758B]/25 bg-white text-[#4F758B] h-9 px-2.5 sm:px-3 text-xs font-black hover:border-[#4F758B]/55 hover:bg-[#4F758B]/5 transition-colors shadow-sm",title:"Reportar un error o incidencia","aria-label":"Reportar",children:[g.jsx(Kj,{className:"w-4 h-4"}),g.jsx("span",{className:"hidden sm:inline",children:"Reportar"})]}),c&&g.jsxs("div",{className:"fixed inset-0 z-[90] flex items-center justify-center px-4 py-6",children:[g.jsx("button",{type:"button",className:"absolute inset-0 bg-black/45",onClick:v,"aria-label":"Cerrar reporte"}),g.jsxs("div",{className:"relative w-full max-w-2xl bg-white border border-[#D0D0D0] shadow-2xl",children:[g.jsx("div",{className:"h-1.5 bg-[#6CC24A]"}),g.jsxs("div",{className:"px-6 py-5 border-b border-neutral-200 flex items-center justify-between gap-4",children:[g.jsx("h2",{className:"text-xl font-black text-[#4F758B]",children:"Reporte"}),g.jsx("button",{type:"button",onClick:v,disabled:p,className:"p-2 text-neutral-400 hover:text-neutral-700 hover:bg-neutral-100 disabled:opacity-40","aria-label":"Cerrar modal",children:g.jsx(Ya,{className:"w-5 h-5"})})]}),g.jsxs("div",{className:"px-6 py-5",children:[g.jsxs("label",{className:"block",children:[g.jsx("span",{className:"block text-[10px] uppercase tracking-wider font-black text-[#4F758B] mb-1.5",children:"Descripción del Reporte *"}),g.jsx("textarea",{value:d,onChange:_=>m(_.target.value.slice(0,5e3)),rows:7,autoFocus:!0,disabled:p,placeholder:"Escribe aquí el error, incidencia o mejora que deseas reportar...",className:"w-full resize-y min-h-[150px] border border-[#D0D0D0] bg-white px-3.5 py-3 text-sm text-neutral-700 placeholder-neutral-400 focus:outline-none focus:border-[#4F758B] disabled:bg-neutral-50"})]}),g.jsxs("div",{className:"mt-1.5 text-right text-[10px] text-neutral-400",children:[d.length,"/5000"]})]}),g.jsxs("div",{className:"px-6 py-4 border-t border-neutral-200 bg-neutral-50 flex items-center justify-end gap-3",children:[g.jsx("button",{type:"button",onClick:v,disabled:p,className:"border border-neutral-300 bg-white text-neutral-600 px-4 py-2.5 text-xs font-bold hover:bg-neutral-100 disabled:opacity-50",children:"Cancelar"}),g.jsxs("button",{type:"button",onClick:()=>void x(),disabled:p||!d.trim(),className:"bg-[#4F758B] hover:bg-[#3F6174] text-white px-4 py-2.5 text-xs font-black inline-flex items-center gap-2 disabled:opacity-50 disabled:cursor-not-allowed",children:[p?g.jsx(qa,{className:"w-4 h-4 animate-spin"}):g.jsx(dw,{className:"w-4 h-4"}),g.jsx("span",{children:p?"Enviando...":"Enviar reporte"})]})]})]})]})]})}const Pw=[{value:1,label:"Enero"},{value:2,label:"Febrero"},{value:3,label:"Marzo"},{value:4,label:"Abril"},{value:5,label:"Mayo"},{value:6,label:"Junio"},{value:7,label:"Julio"},{value:8,label:"Agosto"},{value:9,label:"Septiembre"},{value:10,label:"Octubre"},{value:11,label:"Noviembre"},{value:12,label:"Diciembre"}],rv=[{value:"quincena_15",label:"Quincena 15",description:"Del día 1 al 15 del mes."},{value:"quincena_30",label:"Quincena 30 / fin de mes",description:"Del día 16 al último día del mes."}],SR="https://agenteit.digitalcompass.agency/webhook/cruce-cuentas-analizar-nomina";function TR(n){return n==="TT"?"https://agenteit.digitalcompass.agency/webhook/nominatt-bamboo-test":n==="PA"?"https://agenteit.digitalcompass.agency/webhook/nominapa-bamboo-test":"https://agenteit.digitalcompass.agency/webhook/nominagt-bamboo-test"}function ER(){return"https://agenteit.digitalcompass.agency/webhook/bono14gt-bamboo-test"}function AR(){const n=new Date().getFullYear(),e=n-5,i=n+10;return Array.from({length:i-e+1},(a,l)=>e+l)}function jR(){const n=new Date,e=n.getDate();let i=n.getFullYear(),a=n.getMonth()+1,l="quincena_15";return e<=15&&(a-=1,l="quincena_30",a===0&&(a=12,i-=1)),{year:i,month:a,periodType:l}}function Oc(n){return n<1024*1024?`${(n/1024).toFixed(1)} KB`:`${(n/(1024*1024)).toFixed(2)} MB`}function Yr(n){const e=n.name.toLowerCase();return e.endsWith(".xlsx")||e.endsWith(".xls")}function Od(n){return n.name.toLowerCase().endsWith(".csv")}function NR(n){return Array.from(n).map(e=>({name:e.name,size:Oc(e.size),type:"payroll",rawFile:e}))}function Dd(n){return Array.from(n).map(e=>({name:e.name,size:Oc(e.size),type:"bank",rawFile:e}))}function $a(n,e,i){return`${n}-${String(e).padStart(2,"0")}-${String(i).padStart(2,"0")}`}function ov(n){const e=/^(\d{4})-(\d{2})-(\d{2})$/.exec(n);return e?`${e[3]}-${e[2]}-${e[1]}`:n}function lv(n,e,i){var c;const a=new Date(n,e,0).getDate(),l=((c=Pw.find(u=>u.value===e))==null?void 0:c.label)??"Mes";return i==="quincena_15"?{start:$a(n,e,1),end:$a(n,e,15),label:`${l} ${n} · Quincena 15`}:{start:$a(n,e,16),end:$a(n,e,a),label:`${l} ${n} · Quincena 30 / fin de mes`}}function kR(n){const e=n-1;return{start:$a(e,7,1),end:$a(n,6,30),label:`Bono 14 ${n} · Julio ${e} a junio ${n}`}}function Md(n,e,i){if(n==null||Number.isNaN(n))return"—";const a=i==="USD"||i==="GTQ"||i==="TTD"?i:e.currency,l=a==="USD"?"en-US":e.locale;return new Intl.NumberFormat(l,{style:"currency",currency:a,minimumFractionDigits:2}).format(n)}function Jn(n,e=0){const i=Number(n);return Number.isFinite(i)?i:e}function Et(n){return n.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase()}function CR(n,e){const i=Et(String(n??e??""));return i.includes("coincid")?"Coincidencia":i.includes("resuelto")?"Resuelto":i.includes("no encontrado")?"No encontrado":i.includes("pendiente")?"Pendiente revisión":i.includes("riesgo")||i.includes("discrep")||i.includes("mal digitada")?"Riesgo":e==="coincidencia"?"Coincidencia":e==="posible_cuenta_mal_digitada"||e==="discrepancia"?"Riesgo":"Pendiente revisión"}function nc(n,e){for(const i of e){if(typeof n[i]=="number")return n[i];if(typeof n[i]=="string"&&n[i]!==""){const a=n[i].replace(/[Q,$\s]/g,"").replace(/,/g,""),l=Number(a);if(Number.isFinite(l))return l}}return null}function cv(n){return Array.isArray(n)?n.map((e,i)=>{const a=e,l=String(a.category??a.categoria??a.tipo??a.source??a.fuente??""),c=nc(a,["amountPayroll","monto_nomina","payroll_amount","amount_payroll","montoNomina"]),u=nc(a,["amountBank","monto_banco","bank_amount","amount_bank","montoBanco"]),d=nc(a,["difference","diferencia","diff"]);return{id:String(a.id??a.employeeNumber??a.employee_number??a.account??a.cuenta??`row-${i+1}`),employee:String(a.employee??a.empleado??a.name??a.nombre??a.employee_name??"Sin nombre"),employeeNumber:String(a.employeeNumber??a.employee_number??a.codigo??""),account:a.account||a.cuenta||a.bank_account?String(a.account??a.cuenta??a.bank_account):void 0,currency:String(a.currency??a.moneda??"").toUpperCase()||void 0,amountPayroll:c,amountBank:u,difference:d??(c!==null&&u!==null?c-u:null),status:CR(a.status??a.estado,l),category:l,observation:String(a.observation??a.observacion??a.note??a.nota??a.comentario??""),source:a.source??a.fuente??l,bankNameFile:String(a.bank_name_file??a.bankNameFile??""),bankAccountHolder:String(a.bank_account_holder??a.bankAccountHolder??""),bestBambooCandidate:a.best_bamboo_candidate&&typeof a.best_bamboo_candidate=="object"?{employeeNumber:String(a.best_bamboo_candidate.employee_number??""),employeeName:String(a.best_bamboo_candidate.employee_name??""),score:nc(a.best_bamboo_candidate,["score"])}:null,ambiguousBambooMatch:!!a.ambiguous_bamboo_match}}):[]}function uv(n){const i=(Array.isArray(n)?n[0]:n)??{},a=i.originalResponse??i.original_response??i.response??i,l=a.summary??a.resumen??i.summary??i.resumen??{},c=cv(a.rows??i.rows??a.resultados??i.resultados??[]),u=cv(a.bankWithoutBamboo??i.bankWithoutBamboo??a.banco_sin_bamboo_rows??i.banco_sin_bamboo_rows??[]).map(j=>({...j,category:j.category||"banco_sin_bamboo",source:"banco_sin_bamboo",status:j.status==="Coincidencia"?"Pendiente revisión":j.status})),d=new Map;[...c,...u].forEach((j,V)=>{const G=j.id||`${j.source??j.category??"row"}-${V}`;d.set(G,j)});const m=Array.from(d.values()),p=Jn(l.matches??l.coincidencias,c.filter(j=>j.status==="Coincidencia").length),y=Jn(l.discrepancies??l.discrepancias,c.filter(j=>{const V=Et(String(j.category??j.source??""));return V.includes("discrepancia")||V.includes("posible_cuenta_mal_digitada")}).length),v=Jn(l.bankWithoutPayroll??l.bancoSinNomina??l.banco_sin_nomina,c.filter(j=>La(j,"banco_sin_nomina")).length),x=Jn(l.bankWithoutBamboo??l.bancoSinBamboo??l.banco_sin_bamboo,u.length),_=Jn(l.payrollWithoutAccount??l.nominaSinCuenta??l.nomina_sin_cuenta),S=Jn(l.nameDifferences??l.diferenciasNombreBanco??l.diferencias_nombre_banco,c.filter(j=>Et(String(j.category??"")).includes("diferencia_nombre_banco")).length),T=Jn(l.possibleWrongAccounts??l.posiblesCuentasMalDigitadas??l.posibles_cuentas_mal_digitadas,c.filter(j=>Et(String(j.category??"")).includes("posible_cuenta_mal_digitada")).length),k=y+v+x+_+S,C=a.metadata??i.metadata??{},D=String(C.period_type??C.periodType??"").toLowerCase();return{ok:!!(a.ok??i.ok??!0),reportKind:D==="bono14"?"bono14":"nomina",executionId:a.executionId||a.execution_id||i.executionId||i.execution_id?String(a.executionId??a.execution_id??i.executionId??i.execution_id):void 0,reportUrl:a.reportUrl||a.report_url||i.reportUrl||i.report_url||i.google_sheet_url?String(a.reportUrl??a.report_url??i.reportUrl??i.report_url??i.google_sheet_url):void 0,summary:{matches:p,discrepancies:y,bankWithoutPayroll:v,bankWithoutBamboo:x,payrollWithoutAccount:_,nameDifferences:S,possibleWrongAccounts:T,totalPending:k,totalRows:m.length,totalPayroll:Jn(l.totalNomina??l.total_nomina,void 0),totalBank:Jn(l.totalBanco??l.total_banco,void 0),totalDifference:Jn(l.diferenciaTotal??l.diferencia_total,void 0)},rows:m,message:a.message||i.message?String(a.message??i.message):void 0}}function RR(n){return n==="Coincidencia"?"bg-emerald-50 text-emerald-800 border-emerald-200":n==="Resuelto"?"bg-blue-50 text-blue-800 border-blue-200":n==="No encontrado"?"bg-amber-50 text-amber-800 border-amber-200":n==="Pendiente revisión"?"bg-neutral-100 text-neutral-700 border-neutral-300":"bg-red-50 text-[#ba1a1a] border-red-200"}function hv(n){const e=Et(String(n.category??n.source??"")),i=Et(n.observation??"");return n.status==="Coincidencia"||e.includes("coincidencia")?90:e.includes("posible_cuenta_mal_digitada")||i.includes("mal digitada")?1:e.includes("discrepancia")||n.status==="Riesgo"?2:e.includes("banco_sin_bamboo")?3:e.includes("banco_sin_nomina")?4:e.includes("diferencia_nombre_banco")?5:e.includes("nomina_sin_cuenta")?6:n.status==="Pendiente revisión"?7:n.status==="No encontrado"?10:20}function OR(n){return[...n].sort((e,i)=>{const a=hv(e)-hv(i);return a!==0?a:e.employee.localeCompare(i.employee,"es")})}function DR(n){const e=Et(String(n.category??n.source??""));return e.includes("discrepancia")||e.includes("posible_cuenta_mal_digitada")}function La(n,e){return n.source===e||Et(String(n.category??"")).includes(e)}function MR(n,e="nomina"){const i=Et(String(n??""));return i?i.includes("posible_cuenta_mal_digitada")?"Posible cuenta mal digitada":i.includes("banco_sin_bamboo")?"Banco sin Bamboo":i.includes("banco_sin_nomina")?e==="bono14"?"Banco sin Bono 14":"Banco sin nómina":i.includes("diferencia_nombre_banco")?"Diferencia nombre banco":i.includes("nomina_sin_cuenta")?e==="bono14"?"Bono 14 sin cuenta":"Nómina sin cuenta":i.includes("discrepancia")?"Discrepancia":i.includes("coincidencia")?"Coincidencia":String(n).replace(/_/g," "):"—"}function dv(n){const e=n instanceof Error?n.message:"";return e.includes("planillas del banco repetidas")||e.toLowerCase().includes("sesión expiró")||e.toLowerCase().includes("no hay conexión a internet")?e:"No se pudo procesar el cruce. Verifica los archivos e intenta nuevamente."}function BR(n){try{return new TextDecoder("windows-1252").decode(n)}catch{return new TextDecoder("utf-8").decode(n)}}function fv(n,e){let i=0,a=!1;for(let l=0;lfv(n,a)>fv(n,i)?a:i)}function mv(n,e=Vw(n)){const i=[];let a="",l=!1;for(let c=0;cc.replace(/^\uFEFF/,"").trim())}function UR(n){const e=String(n??"").replace(/\D/g,"");return/^\d{1,20}$/.test(e)?e:null}function LR(n){const e=n.split(/\r?\n/).slice(0,120);for(const i of e.slice(0,25)){const l=Et(i).match(/(?:consulta\s+(?:del\s+)?)?detalle\s+(?:del\s+)?envio\s+(\d{1,20})/);if(l!=null&&l[1])return l[1]}for(let i=0;iEt(m).trim()).findIndex(m=>m==="numero de envio"||m.includes("numero de envio"));if(!(d<0))for(let m=i+1;mi.length>1).map(([i,a])=>({shipmentNumber:i,fileNames:a}))}const PR={1:["enero","january","jan"],2:["febrero","february","feb"],3:["marzo","march","mar"],4:["abril","april","apr"],5:["mayo","may"],6:["junio","june","jun"],7:["julio","july","jul"],8:["agosto","august","aug"],9:["septiembre","setiembre","september","sep"],10:["octubre","october","oct"],11:["noviembre","november","nov"],12:["diciembre","december","dec"]};function VR(n){const e=Et(n).replace(/[_\-.()]+/g," ").replace(/\s+/g," ").trim(),i=e.match(/\b(20\d{2})\b/),a=i?Number(i[1]):void 0;let l;for(const[u,d]of Object.entries(PR))if(d.some(m=>new RegExp(`\\b${m}\\b`,"i").test(e))){l=Number(u);break}let c;return/\b(?:1q|q1|quincena\s*15|primera\s+quincena)\b/.test(e)?c="quincena_15":/\b(?:2q|q2|quincena\s*30|segunda\s+quincena|fin\s+de\s+mes)\b/.test(e)?c="quincena_30":/\b15\b/.test(e)?c="quincena_15":/\b(?:30|31)\b/.test(e)&&(c="quincena_30"),{year:a,month:l,periodType:c}}function gv(n){const e=jR();try{const i=window.localStorage.getItem(`glm_cruce_period_${n}`);if(!i)return e;const a=JSON.parse(i);if(Number.isInteger(a.year)&&Number.isInteger(a.month)&&a.month>=1&&a.month<=12&&(a.periodType==="quincena_15"||a.periodType==="quincena_30"))return a}catch{}return e}async function HR(n,e){const i=VR(n);try{const a=await fetch(SR,{method:"POST",headers:{"Content-Type":"application/json; charset=utf-8"},body:JSON.stringify({fileName:n,country:e.code,countryName:e.name})});if(!a.ok)return i;const l=await a.json().catch(()=>null),c=(l==null?void 0:l.detected)??(l==null?void 0:l.result)??(l==null?void 0:l.analysis)??l??{},u=String(c.periodType??c.period_type??""),d=Number(c.year)||i.year,m=Number(c.month)||i.month,p=u==="quincena_15"||u==="quincena_30"?u:i.periodType;return{year:d,month:m,periodType:p,confidence:Number.isFinite(Number(c.confidence))?Number(c.confidence):void 0,requiresManualReview:!!(c.requiresManualReview??c.requires_manual_review??!1),source:String(c.source??"gemini")}}catch{return{...i,source:"local_fallback",requiresManualReview:!(Number.isInteger(i.year)&&Number.isInteger(i.month)&&(i.periodType==="quincena_15"||i.periodType==="quincena_30"))}}}function $R({onShowToast:n,uploadedPayroll:e,setUploadedPayroll:i,uploadedPayrollFiles:a,setUploadedPayrollFiles:l,uploadedBankFiles:c,setUploadedBankFiles:u,isCruceExecuted:d,setIsCruceExecuted:m,response:p,setResponse:y,onOpenSidebar:v,operatorName:x,operatorEmail:_,resetToken:S=0,country:T}){const k=M.useMemo(()=>gv(T.code),[T.code]),C=T.code==="PA",[D,j]=M.useState(!1),[V,G]=M.useState(""),[J,q]=M.useState("todos"),[K,ie]=M.useState(k.year),[X,pe]=M.useState(k.month),[ce,Ce]=M.useState(k.periodType),[Se,_e]=M.useState(1),[P,Y]=M.useState(""),[ee,fe]=M.useState(""),[te,A]=M.useState(null),[z,Z]=M.useState([]),[W,ae]=M.useState(""),[de,xe]=M.useState(null),[nt,Ie]=M.useState(()=>new Set),Hn=`glm_cruce_period_${T.code}`,vt=M.useRef(null),Ft=M.useRef(null),Nn=M.useRef(null),Q=M.useRef(null),ze=M.useMemo(()=>AR(),[]),Ee=M.useMemo(()=>lv(K,X,ce),[K,X,ce]),Oe=T.code==="GT"&&X===7&&ce==="quincena_15",Ge=M.useMemo(()=>kR(K),[K]),xt=(p==null?void 0:p.reportKind)==="bono14",It=xt?Ge.label:Ee.label,At=M.useMemo(()=>OR((p==null?void 0:p.rows)??[]),[p==null?void 0:p.rows]),$n=M.useMemo(()=>{const R=Et(ee.trim());return c.map((ne,he)=>({file:ne,originalIndex:he})).filter(({file:ne})=>!R||Et(ne.name).includes(R))},[c,ee]),qn=M.useMemo(()=>{const R=Et(W.trim());return z.map((ne,he)=>({file:ne,originalIndex:he})).filter(({file:ne})=>!R||Et(ne.name).includes(R))},[z,W]),dt=At.filter(R=>{const ne=Et(P.trim());return Et(`${R.employee} ${R.employeeNumber} ${R.account??""} ${R.observation} ${R.category??""} ${R.source??""}`).includes(ne)?J==="discrepancias"?DR(R):J==="coincidencias"?R.status==="Coincidencia":J==="banco_sin_nomina"?La(R,"banco_sin_nomina"):J==="banco_sin_bamboo"?La(R,"banco_sin_bamboo"):J==="diferencia_nombre_banco"?La(R,"diferencia_nombre_banco"):J==="nomina_sin_cuenta"?La(R,"nomina_sin_cuenta"):!0:!1}),ks=10,wt=Math.max(1,Math.ceil(dt.length/ks)),en=dt.slice((Se-1)*ks,Se*ks);M.useEffect(()=>{Se>wt&&_e(wt)},[Se,wt]);const Fn=M.useMemo(()=>{var R;return((R=rv.find(ne=>ne.value===ce))==null?void 0:R.description)??""},[ce]);M.useEffect(()=>{const R=gv(T.code);ie(R.year),pe(R.month),Ce(R.periodType),_e(1),Y(""),fe(""),ae(""),A(null),Z([]),q("todos"),xe(null),Ie(new Set)},[T.code]),M.useEffect(()=>{window.localStorage.setItem(Hn,JSON.stringify({year:K,month:X,periodType:ce}))},[Hn,K,X,ce]),M.useEffect(()=>{Y(""),fe(""),ae(""),A(null),Z([]),q("todos"),_e(1),G(""),j(!1),xe(null),Ie(new Set),vt.current&&(vt.current.value=""),Ft.current&&(Ft.current.value=""),Nn.current&&(Nn.current.value=""),Q.current&&(Q.current.value="")},[S]),M.useEffect(()=>{c.length===0&&ee&&fe("")},[c.length,ee]),M.useEffect(()=>{z.length===0&&W&&ae("")},[z.length,W]);const Ze=()=>{m(!1),y(null),_e(1),Y(""),q("todos")},oi=async(R,ne=1)=>{const he=await HR(R.name,T);if(Number.isInteger(he.year)&&Number.isInteger(he.month)&&(he.periodType==="quincena_15"||he.periodType==="quincena_30")){ie(he.year),pe(he.month),Ce(he.periodType);const Gt=lv(he.year,he.month,he.periodType),st=ne>1?`${ne} archivos de nómina cargados.`:"Nómina cargada.";return he.requiresManualReview?n(`${st} Período sugerido: ${Gt.label}. Confirma los datos antes de ejecutar.`,"info"):n(`${st} Período detectado: ${Gt.label}.`,"success"),!0}return!1},li=async R=>{i({name:R.name,size:Oc(R.size),type:"payroll",rawFile:R}),l([]),Ze(),await oi(R)||n("Archivo de nómina cargado con éxito.","success")},Vi=async R=>{const ne=R.filter(Yr);if(ne.length===0){n("Formato inválido. Panamá requiere uno o varios archivos Excel (.xlsx, .xls).","error");return}const he=new Set(a.map(Pe=>{var Te;return`${Pe.name}|${((Te=Pe.rawFile)==null?void 0:Te.size)??Pe.size}`})),dn=NR(ne).filter(Pe=>{var Te;return!he.has(`${Pe.name}|${((Te=Pe.rawFile)==null?void 0:Te.size)??Pe.size}`)}),Gt=[...a,...dn];l(Gt),i(null),Ze();const st=ne.find(Pe=>/quincenal/i.test(Pe.name))||ne[0];await oi(st,Gt.length)||n(`${dn.length} archivo(s) de nómina de Panamá cargado(s) con éxito.`,"success")},kn=R=>{R.preventDefault()},Ut=async R=>{R.preventDefault();const ne=Array.from(R.dataTransfer.files);if(ne.length===0)return;if(C){await Vi(ne);return}const he=ne[0];Yr(he)?await li(he):n("Formato inválido. Por favor carga un archivo Excel (.xlsx, .xls).","error")},In=R=>{R.preventDefault();const he=Array.from(R.dataTransfer.files).filter(Od);if(he.length===0){n("Formato inválido. Por favor carga uno o varios archivos CSV (.csv).","error");return}u([...c,...Dd(he)]),Ze(),n(`${he.length} planilla(s) del banco cargada(s) con éxito.`,"success")},Vt=async R=>{const ne=Array.from(R.target.files||[]);if(ne.length===0)return;if(C){await Vi(ne);return}const he=ne[0];Yr(he)?await li(he):n("Formato inválido. Por favor carga un archivo Excel (.xlsx, .xls).","error")},qc=R=>{l(a.filter((ne,he)=>he!==R)),vt.current&&(vt.current.value=""),Ze(),n("Archivo de nómina removido.","info")},Fc=R=>{const ne=R.target.files;if(!ne||ne.length===0)return;const he=Array.from(ne).filter(Od);if(he.length===0){n("Formato inválido. Por favor carga uno o varios archivos CSV (.csv).","error");return}u([...c,...Dd(he)]),Ze(),n(`${he.length} planilla(s) del banco cargada(s) con éxito.`,"success")},Ic=R=>{u(c.filter((ne,he)=>he!==R)),Ft.current&&(Ft.current.value=""),Ze(),n("Planilla de banco removida.","info")},Hi=()=>{i(null),l([]),u([]),fe(""),vt.current&&(vt.current.value=""),Ft.current&&(Ft.current.value=""),Ze(),n("Todos los archivos cargados fueron eliminados.","info")},ci=R=>{A({name:R.name,size:Oc(R.size),type:"payroll",rawFile:R}),Ze(),n("Archivo Excel de Bono 14 cargado con éxito.","success")},$i=R=>{R.preventDefault();const ne=R.dataTransfer.files[0];if(ne){if(!Yr(ne)){n("Formato inválido. El Bono 14 requiere un archivo Excel (.xlsx, .xls).","error");return}ci(ne)}},as=R=>{var he;const ne=(he=R.target.files)==null?void 0:he[0];if(ne){if(!Yr(ne)){n("Formato inválido. El Bono 14 requiere un archivo Excel (.xlsx, .xls).","error");return}ci(ne)}},ui=R=>{const ne=R.filter(Od);if(ne.length===0){n("Formato inválido. Carga uno o varios archivos CSV del Bono 14.","error");return}Z([...z,...Dd(ne)]),Ze(),n(`${ne.length} archivo(s) bancario(s) de Bono 14 cargado(s).`,"success")},hi=R=>{R.preventDefault(),ui(Array.from(R.dataTransfer.files))},Gc=R=>{var ne;(ne=R.target.files)!=null&&ne.length&&ui(Array.from(R.target.files))},ko=R=>{Z(z.filter((ne,he)=>he!==R)),Q.current&&(Q.current.value=""),Ze(),n("Archivo bancario de Bono 14 removido.","info")},Wa=async()=>{if(D)return;if(!K||!X||!ce){n("Debes seleccionar año, mes y tipo de cruce antes de ejecutar.","error");return}const R=C?a:e?[e]:[];if(R.length===0||R.some(ne=>!ne.rawFile)){n(C?"Debes cargar la nómina principal y los suplementos de Panamá antes de ejecutar el cruce.":"Debes cargar la nómina antes de ejecutar el cruce.","error");return}if(c.length===0||c.some(ne=>!ne.rawFile)){n("Debes cargar al menos una planilla del banco antes de ejecutar el cruce.","error");return}j(!0),G("Validando archivos..."),_e(1);try{const ne=await pv(c);if(ne.length>0){const Je=ne.map(mn=>`Número de envío ${mn.shipmentNumber}: ${mn.fileNames.join(", ")}`).join(` +`);throw new Error(`Hay planillas del banco repetidas. Revisa los archivos cargados antes de continuar. +${Je}`)}const he=TR(T.code);if(!he)throw new Error("No se pudo procesar el cruce. El servicio de conciliación no está disponible.");const dn=iv();G("Revalidando sesión..."),await So(300),G("Reactivando conexión segura..."),await sv(he);const Gt=av(he,dn),st=R.find(Je=>/quincenal/i.test(Je.name))||R[0],fn={country:T.code,country_name:T.name,year:K,month:X,period_type:ce,period_label:Ee.label,period_start:Ee.start,period_end:Ee.end,payroll_file_name:st.name,payroll_file_names:R.map(Je=>Je.name),bank_file_names:c.map(Je=>Je.name),requested_by_name:x,requested_by_email:_,auth_mode:"supabase_google",source_app:"portal-cruce-cuentas-glm",client_request_id:dn};G("Procesando cruce de cuentas...");const Pe=new FormData;Pe.append("metadata",JSON.stringify(fn)),Object.entries(fn).forEach(([Je,mn])=>{Pe.append(Je,Array.isArray(mn)?JSON.stringify(mn):String(mn))}),C&&R.forEach((Je,mn)=>{Je.rawFile&&(Pe.append("payroll_files",Je.rawFile,Je.name),Pe.append(`payroll_file_${mn+1}`,Je.rawFile,Je.name))}),st.rawFile&&Pe.append("payroll_file",st.rawFile,st.name),c.forEach((Je,mn)=>{Je.rawFile&&(Pe.append("bank_files",Je.rawFile,Je.name),Pe.append(`bank_file_${mn+1}`,Je.rawFile,Je.name))});const Te=await fetch(Gt,{method:"POST",body:Pe,cache:"no-store",credentials:"omit"});G("Generando reporte...");const Le=(Te.headers.get("content-type")??"").includes("application/json")?await Te.json():{ok:Te.ok,message:await Te.text()};if(!Te.ok||(Le==null?void 0:Le.ok)===!1)throw new Error(typeof(Le==null?void 0:Le.message)=="string"?Le.message:"No se pudo procesar el cruce. Verifica los archivos e intenta nuevamente.");const Lt=uv(Le);Lt.reportKind="nomina",y(Lt),m(!0),n(Lt.message||"Cruce procesado correctamente.","success"),setTimeout(()=>{const Je=document.getElementById("resultados-seccion");Je&&Je.scrollIntoView({behavior:"smooth",block:"start"})},150)}catch(ne){const he=dv(ne);m(!1),y(null),n(he,"error")}finally{j(!1),G("")}},di=async()=>{if(!D){if(!Oe){n("El cruce de Bono 14 solo está disponible en Guatemala para julio · Quincena 15.","error");return}if(!(te!=null&&te.rawFile)){n("Debes cargar el Excel de Bono 14 antes de generar el reporte.","error");return}if(z.length===0||z.some(R=>!R.rawFile)){n("Debes cargar al menos un CSV bancario del Bono 14.","error");return}j(!0),G("Validando archivos de Bono 14..."),_e(1);try{const R=await pv(z);if(R.length>0){const Le=R.map(Lt=>`Número de envío ${Lt.shipmentNumber}: ${Lt.fileNames.join(", ")}`).join(` +`);throw new Error(`Hay planillas del banco repetidas. Revisa los archivos cargados antes de continuar. +${Le}`)}const ne=ER(),he=iv();G("Revalidando sesión..."),await So(300),G("Reactivando conexión segura..."),await sv(ne);const dn=av(ne,he),Gt={country:"GT",country_name:"Guatemala",year:K,month:7,period_type:"bono14",report_kind:"bono14",period_label:Ge.label,period_start:Ge.start,period_end:Ge.end,payroll_file_name:te.name,bank_file_names:z.map(Le=>Le.name),requested_by_name:x,requested_by_email:_,auth_mode:"supabase_google",source_app:"portal-cruce-cuentas-glm-bono14",client_request_id:he},st=new FormData;st.append("metadata",JSON.stringify(Gt)),Object.entries(Gt).forEach(([Le,Lt])=>{st.append(Le,Array.isArray(Lt)?JSON.stringify(Lt):String(Lt))}),st.append("payroll_file",te.rawFile,te.name),z.forEach((Le,Lt)=>{Le.rawFile&&(st.append("bank_files",Le.rawFile,Le.name),st.append(`bank_file_${Lt+1}`,Le.rawFile,Le.name))}),G("Procesando Bono 14...");const fn=await fetch(dn,{method:"POST",body:st,cache:"no-store",credentials:"omit"});G("Generando reporte independiente de Bono 14...");const Te=(fn.headers.get("content-type")??"").includes("application/json")?await fn.json():{ok:fn.ok,message:await fn.text()};if(!fn.ok||(Te==null?void 0:Te.ok)===!1)throw new Error(typeof(Te==null?void 0:Te.message)=="string"?Te.message:"No se pudo procesar el Bono 14. Verifica los archivos e intenta nuevamente.");const _t=uv(Te);_t.reportKind="bono14",y(_t),m(!0),n(_t.message||"Bono 14 procesado correctamente.","success"),setTimeout(()=>{const Le=document.getElementById("resultados-seccion");Le&&Le.scrollIntoView({behavior:"smooth",block:"start"})},150)}catch(R){m(!1),y(null),n(dv(R),"error")}finally{j(!1),G("")}}},Kc=()=>{if(p!=null&&p.reportUrl){window.open(p.reportUrl,"_blank","noopener,noreferrer");return}n("El reporte aún no tiene un enlace disponible.","info")};return g.jsxs("div",{className:"flex-1 flex flex-col min-h-screen bg-neutral-50 text-neutral-800 font-sans",children:[g.jsxs("header",{className:"bg-white border-b-4 border-[#6CC24A] flex justify-between items-center w-full px-4 sm:px-8 h-[84px] sticky top-0 z-40 shadow-sm gap-x-4",children:[g.jsxs("div",{className:"flex items-center gap-2 sm:gap-3 min-w-0",children:[g.jsx("button",{onClick:v,className:"md:hidden p-2 -ml-2 text-neutral-600 hover:text-neutral-800 hover:bg-neutral-100 transition-colors flex-shrink-0","aria-label":"Abrir menú",children:g.jsx(hw,{className:"w-6 h-6"})}),g.jsx("h1",{className:"text-xs sm:text-sm md:text-lg lg:text-2xl font-black text-[#4F758B] tracking-tight uppercase flex items-center gap-1.5 sm:gap-2 min-w-0",children:g.jsxs("span",{className:"truncate",children:["Cruce de Cuentas GLM - ",T.name]})})]}),g.jsxs("div",{className:"flex-shrink-0 flex items-center gap-2",children:[g.jsx(zw,{country:T,operatorName:x,operatorEmail:_,section:"Cruce de Cuentas",onShowToast:n}),g.jsx("div",{className:"border border-neutral-200 bg-white px-2.5 py-2 shadow-sm","aria-label":`Bandera de ${T.name}`,children:g.jsx("img",{src:T.flag,alt:`Bandera de ${T.name}`,className:"h-5 sm:h-6 w-auto object-contain"})})]})]}),g.jsxs("main",{className:"flex-1 max-w-7xl w-full mx-auto px-4 sm:px-6 py-8 flex flex-col gap-8",children:[g.jsxs("section",{className:"bg-white border border-[#D0D0D0] p-5 shadow-sm",children:[g.jsx("div",{className:"flex flex-col lg:flex-row lg:items-center lg:justify-between gap-4 mb-5",children:g.jsxs("div",{className:"flex items-center gap-3",children:[g.jsx("div",{className:"bg-[#4F758B]/10 p-2 rounded-full",children:g.jsx(uw,{className:"w-5 h-5 text-[#4F758B]"})}),g.jsx("div",{className:"pt-0.5",children:g.jsx("h2",{className:"text-sm font-black text-[#4F758B] uppercase tracking-wider leading-none",children:"Datos del cruce"})})]})}),g.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[g.jsxs("label",{className:"flex flex-col gap-1.5",children:[g.jsx("span",{className:"text-[10px] font-black uppercase tracking-wider text-neutral-500",children:"Año"}),g.jsx("select",{value:K,onChange:R=>{ie(Number(R.target.value)),Ze()},className:"border border-[#D0D0D0] bg-white px-3 py-2.5 text-sm font-bold text-neutral-700 focus:outline-none focus:border-[#4F758B]",children:ze.map(R=>g.jsx("option",{value:R,children:R},R))})]}),g.jsxs("label",{className:"flex flex-col gap-1.5",children:[g.jsx("span",{className:"text-[10px] font-black uppercase tracking-wider text-neutral-500",children:"Mes"}),g.jsx("select",{value:X,onChange:R=>{pe(Number(R.target.value)),Ze()},className:"border border-[#D0D0D0] bg-white px-3 py-2.5 text-sm font-bold text-neutral-700 focus:outline-none focus:border-[#4F758B]",children:Pw.map(R=>g.jsx("option",{value:R.value,children:R.label},R.value))})]}),g.jsxs("label",{className:"flex flex-col gap-1.5",children:[g.jsx("span",{className:"text-[10px] font-black uppercase tracking-wider text-neutral-500",children:"Tipo de cruce"}),g.jsx("select",{value:ce,onChange:R=>{Ce(R.target.value),Ze()},className:"border border-[#D0D0D0] bg-white px-3 py-2.5 text-sm font-bold text-neutral-700 focus:outline-none focus:border-[#4F758B]",children:rv.map(R=>g.jsx("option",{value:R.value,children:R.label},R.value))})]})]}),g.jsxs("div",{className:"mt-4 grid grid-cols-1 md:grid-cols-[1fr_auto] gap-3 items-center bg-[#4F758B]/5 border border-[#4F758B]/10 px-4 py-3",children:[g.jsxs("div",{className:"flex items-start gap-2 text-xs text-neutral-600",children:[g.jsx(yj,{className:"w-4 h-4 text-[#4F758B] mt-0.5 flex-shrink-0"}),g.jsxs("div",{children:[g.jsx("span",{className:"font-black text-[#4F758B]",children:"Período calculado:"})," ",ov(Ee.start)," al ",ov(Ee.end),g.jsx("p",{className:"text-[10px] text-neutral-500 mt-0.5",children:Fn})]})]}),g.jsx("div",{className:"text-[10px] font-bold text-neutral-500 uppercase tracking-wider",children:Ee.label})]})]}),C&&(a.length>0||c.length>0)&&g.jsx("div",{className:"flex justify-end",style:{marginBottom:"-20px"},children:g.jsxs("button",{type:"button",onClick:Hi,className:"inline-flex items-center gap-2 border border-red-100 bg-white px-3 py-2 text-[10px] font-black text-red-600 hover:bg-red-50 transition-colors uppercase tracking-wide shadow-sm","aria-label":"Borrar todos los archivos cargados",title:"Eliminar de una vez todas las nóminas y planillas del banco cargadas",children:[g.jsx(Aa,{className:"w-4 h-4"}),"Borrar todo"]})}),g.jsxs("section",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[g.jsxs("div",{className:"bg-white border border-[#D0D0D0] p-6 flex flex-col justify-between relative shadow-sm hover:shadow-md transition-shadow",children:[g.jsx("div",{className:"absolute top-0 left-0 w-full h-1 bg-[#4F758B]"}),g.jsxs("div",{children:[g.jsxs("div",{className:"flex items-center gap-2.5 mb-4",children:[g.jsx(Da,{className:"w-5 h-5 text-[#4F758B]"}),g.jsx("h2",{className:"text-sm font-black text-neutral-800 uppercase tracking-wider",children:"1. Carga de Nómina"})]}),g.jsx("input",{type:"file",ref:vt,onChange:Vt,accept:".xlsx,.xls",multiple:C,className:"hidden"}),C?a.length>0?g.jsxs("div",{className:"space-y-3",children:[g.jsxs("div",{className:"border border-[#4F758B]/20 bg-[#4F758B]/5 px-4 py-3",children:[g.jsxs("p",{className:"text-[10px] font-black uppercase tracking-wider text-[#4F758B]",children:[a.length," archivo(s) de nómina cargado(s)"]}),g.jsx("p",{className:"text-[10px] text-neutral-500 mt-1",children:"Incluye la quincenal y todas las planillas extraordinarias, vacaciones o XIII Mes que correspondan al período."})]}),g.jsx("div",{className:"max-h-[260px] overflow-y-auto border border-neutral-200 divide-y divide-neutral-100",children:a.map((R,ne)=>g.jsxs("div",{className:"bg-white px-4 py-3 flex items-center justify-between gap-3",children:[g.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[g.jsx(Da,{className:"w-6 h-6 text-[#6CC24A] flex-shrink-0"}),g.jsxs("div",{className:"overflow-hidden",children:[g.jsx("p",{className:"text-xs font-bold text-neutral-700 truncate max-w-[290px]",title:R.name,children:R.name}),g.jsxs("p",{className:"text-[10px] text-neutral-400 font-mono mt-0.5",children:[R.size," • Excel"]})]})]}),g.jsx("button",{onClick:()=>qc(ne),className:"p-1.5 text-neutral-400 hover:text-red-500 hover:bg-neutral-100 transition-all rounded","aria-label":`Remover ${R.name}`,children:g.jsx(Aa,{className:"w-4.5 h-4.5"})})]},`${R.name}-${ne}`))}),g.jsx("button",{type:"button",onClick:()=>{var R;return(R=vt.current)==null?void 0:R.click()},className:"w-full border border-dashed border-[#4F758B]/40 bg-white px-4 py-2.5 text-[10px] font-black text-[#4F758B] hover:bg-[#4F758B]/5 transition-colors uppercase tracking-wide",children:"Agregar más archivos de nómina"})]}):g.jsxs("div",{onDragOver:kn,onDrop:Ut,onClick:()=>{var R;return(R=vt.current)==null?void 0:R.click()},className:"border-2 border-dashed border-[#D0D0D0] bg-neutral-50 hover:bg-[#4F758B]/5 hover:border-[#4F758B]/40 transition-colors flex flex-col items-center justify-center py-10 px-4 text-center cursor-pointer min-h-[190px]",children:[g.jsx(Gr,{className:"w-8 h-8 text-neutral-300 mb-2"}),g.jsx("p",{className:"text-xs font-bold text-neutral-700",children:"Arrastre la nómina y sus suplementos"}),g.jsx("p",{className:"text-[10px] text-neutral-400 mt-1 font-medium",children:"Puede seleccionar varios .xlsx / .xls a la vez"}),g.jsx("button",{type:"button",className:"mt-4 border border-[#D0D0D0] bg-white px-4 py-1.5 text-[10px] font-bold text-neutral-600 hover:border-[#4F758B] hover:text-[#4F758B] transition-colors shadow-sm uppercase tracking-wide",children:"Seleccionar Archivos"})]}):e?g.jsxs("div",{className:"border border-[#6CC24A]/30 bg-[#6CC24A]/5 p-5 flex items-center justify-between gap-3",children:[g.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[g.jsx(Da,{className:"w-8 h-8 text-[#6CC24A] flex-shrink-0"}),g.jsxs("div",{className:"overflow-hidden",children:[g.jsx("p",{className:"text-xs font-bold text-neutral-700 truncate max-w-[300px]",title:e.name,children:e.name}),g.jsxs("p",{className:"text-[10px] text-neutral-400 font-mono mt-0.5",children:[e.size," • Excel"]})]})]}),g.jsx("button",{onClick:()=>{i(null),vt.current&&(vt.current.value=""),Ze(),n("Nómina removida.","info")},className:"p-1.5 text-neutral-400 hover:text-red-500 hover:bg-neutral-100 transition-all rounded","aria-label":"Remover nómina",children:g.jsx(Aa,{className:"w-4.5 h-4.5"})})]}):g.jsxs("div",{onDragOver:kn,onDrop:Ut,onClick:()=>{var R;return(R=vt.current)==null?void 0:R.click()},className:"border-2 border-dashed border-[#D0D0D0] bg-neutral-50 hover:bg-[#4F758B]/5 hover:border-[#4F758B]/40 transition-colors flex flex-col items-center justify-center py-10 px-4 text-center cursor-pointer min-h-[190px]",children:[g.jsx(Gr,{className:"w-8 h-8 text-neutral-300 mb-2"}),g.jsx("p",{className:"text-xs font-bold text-neutral-700",children:"Arrastre y suelte archivo Excel"}),g.jsx("p",{className:"text-[10px] text-neutral-400 mt-1 font-medium",children:"Formato .xlsx, .xls"}),g.jsx("button",{type:"button",className:"mt-4 border border-[#D0D0D0] bg-white px-4 py-1.5 text-[10px] font-bold text-neutral-600 hover:border-[#4F758B] hover:text-[#4F758B] transition-colors shadow-sm uppercase tracking-wide",children:"Seleccionar Archivo"})]})]})]}),g.jsxs("div",{className:"bg-white border border-[#D0D0D0] p-6 flex flex-col justify-between relative shadow-sm hover:shadow-md transition-shadow",children:[g.jsx("div",{className:"absolute top-0 left-0 w-full h-1 bg-[#4F758B]"}),g.jsxs("div",{children:[g.jsxs("div",{className:"flex items-center gap-2.5 mb-2",children:[g.jsx(Kl,{className:"w-5 h-5 text-[#4F758B]"}),g.jsx("h2",{className:"text-sm font-black text-neutral-800 uppercase tracking-wider",children:"2. Carga de Planillas del Banco"})]}),g.jsx("p",{className:"text-[11px] text-neutral-500 mb-4 leading-relaxed",children:"Puede subir múltiples archivos separados o un archivo consolidado del período."}),g.jsx("input",{type:"file",ref:Ft,onChange:Fc,accept:".csv",multiple:!0,className:"hidden"}),g.jsxs("div",{onDragOver:kn,onDrop:In,onClick:()=>{var R;return(R=Ft.current)==null?void 0:R.click()},className:"border-2 border-dashed border-[#D0D0D0] bg-neutral-50 hover:bg-[#4F758B]/5 hover:border-[#4F758B]/40 transition-colors flex flex-col items-center justify-center py-8 px-4 text-center cursor-pointer min-h-[130px]",children:[g.jsx(Gr,{className:"w-7 h-7 text-neutral-300 mb-2"}),g.jsx("p",{className:"text-xs font-bold text-neutral-700",children:"Arrastre y suelte archivo CSV"}),g.jsx("p",{className:"text-[10px] text-neutral-400 mt-1 font-medium",children:"Formato .csv"}),g.jsx("button",{type:"button",className:"mt-4 border border-[#D0D0D0] bg-white px-4 py-1.5 text-[10px] font-bold text-neutral-600 hover:border-[#4F758B] hover:text-[#4F758B] transition-colors shadow-sm uppercase tracking-wide",children:"Seleccionar Archivos"})]}),c.length>0&&g.jsxs("div",{className:"mt-4 border border-neutral-200 bg-white",children:[g.jsxs("div",{className:"p-3 border-b border-neutral-200 bg-neutral-50",children:[g.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2 mb-2",children:[g.jsxs("div",{children:[g.jsxs("p",{className:"text-[11px] font-black text-neutral-700 uppercase tracking-wide",children:[c.length," ",c.length===1?"archivo cargado":"archivos cargados"]}),g.jsx("p",{className:"text-[9px] text-neutral-400 mt-0.5",children:"Busque por nombre para localizar y eliminar una planilla rápidamente."})]}),ee&&g.jsx("button",{type:"button",onClick:R=>{R.stopPropagation(),fe("")},className:"self-start sm:self-auto text-[9px] font-bold uppercase tracking-wide text-[#4F758B] hover:underline",children:"Limpiar búsqueda"})]}),g.jsxs("div",{className:"relative",children:[g.jsx(Jr,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-3.5 h-3.5 text-neutral-400 pointer-events-none"}),g.jsx("input",{type:"search",value:ee,onChange:R=>fe(R.target.value),onClick:R=>R.stopPropagation(),placeholder:"Buscar archivo CSV por nombre...",className:"w-full h-9 pl-9 pr-3 border border-[#D0D0D0] bg-white text-[11px] text-neutral-700 outline-none focus:border-[#4F758B] focus:ring-2 focus:ring-[#4F758B]/10 transition-all","aria-label":"Buscar archivos CSV cargados"})]}),ee&&g.jsxs("p",{className:"text-[9px] text-neutral-400 mt-2",children:["Mostrando ",$n.length," de ",c.length," archivos."]})]}),g.jsx("div",{className:"max-h-[330px] overflow-y-auto overscroll-contain p-2 space-y-2",children:$n.length>0?$n.map(({file:R,originalIndex:ne})=>g.jsxs("div",{className:"border border-neutral-200 bg-white px-3 py-3 flex items-center justify-between gap-3 hover:border-[#4F758B]/40 hover:bg-[#4F758B]/[0.025] transition-colors",children:[g.jsxs("div",{className:"flex items-start gap-3 min-w-0 flex-1",children:[g.jsx("div",{className:"w-7 h-7 mt-0.5 border border-[#4F758B]/20 bg-[#4F758B]/5 flex items-center justify-center flex-shrink-0",children:g.jsx(Kl,{className:"w-4 h-4 text-[#4F758B]"})}),g.jsxs("div",{className:"min-w-0 flex-1",children:[g.jsx("p",{className:"text-[11px] leading-4 font-bold text-neutral-700 whitespace-normal break-words",title:R.name,children:R.name}),g.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[g.jsx("span",{className:"text-[9px] text-neutral-400 font-mono",children:R.size}),g.jsx("span",{className:"text-[8px] font-bold uppercase tracking-wide text-[#4F758B] bg-[#4F758B]/5 border border-[#4F758B]/10 px-1.5 py-0.5",children:"CSV"})]})]})]}),g.jsx("button",{type:"button",onClick:he=>{he.stopPropagation(),Ic(ne)},className:"w-8 h-8 flex items-center justify-center flex-shrink-0 text-neutral-400 hover:text-red-600 hover:bg-red-50 border border-transparent hover:border-red-100 rounded transition-colors","aria-label":`Remover ${R.name}`,title:`Eliminar ${R.name}`,children:g.jsx(Aa,{className:"w-4 h-4"})})]},`${R.name}-${ne}`)):g.jsxs("div",{className:"py-8 px-4 text-center",children:[g.jsx(Jr,{className:"w-5 h-5 text-neutral-300 mx-auto mb-2"}),g.jsx("p",{className:"text-[11px] font-bold text-neutral-600",children:"No encontramos archivos con ese nombre."}),g.jsx("p",{className:"text-[9px] text-neutral-400 mt-1",children:"Pruebe con otra parte del nombre del CSV."})]})})]})]})]})]}),Oe&&g.jsx("section",{className:"bg-white border border-[#D0D0D0] shadow-sm",children:g.jsxs("div",{className:"border-t-4 border-[#6CC24A] p-5 sm:p-6",children:[g.jsxs("div",{className:"flex flex-col lg:flex-row lg:items-start lg:justify-between gap-4 mb-5",children:[g.jsxs("div",{className:"flex items-start gap-3",children:[g.jsx("div",{className:"bg-[#6CC24A]/10 p-2 rounded-full",children:g.jsx(wb,{className:"w-5 h-5 text-[#4F758B]"})}),g.jsxs("div",{children:[g.jsx("h2",{className:"text-sm font-black text-[#4F758B] uppercase tracking-wider",children:"Bono 14 · Reporte independiente"}),g.jsx("p",{className:"text-[11px] text-neutral-500 mt-1 max-w-3xl leading-relaxed",children:"Esta sección aparece únicamente para Guatemala · Julio · Quincena 15. El Bono 14 se procesa separado de la nómina quincenal y genera su propio Google Sheet e histórico."})]})]}),g.jsxs("div",{className:"text-left lg:text-right",children:[g.jsx("p",{className:"text-[9px] font-black uppercase tracking-wider text-neutral-400",children:"Período del Bono 14"}),g.jsxs("p",{className:"text-[11px] font-bold text-[#4F758B] mt-1",children:[Ge.start," al ",Ge.end]})]})]}),g.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-5",children:[g.jsxs("div",{className:"border border-neutral-200 p-4 bg-neutral-50/50",children:[g.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[g.jsx(Da,{className:"w-4.5 h-4.5 text-[#4F758B]"}),g.jsx("h3",{className:"text-xs font-black uppercase tracking-wider text-neutral-700",children:"1. Excel de Bono 14"})]}),g.jsx("p",{className:"text-[10px] text-neutral-500 mb-3",children:"Archivo anual con los montos calculados de Bono 14."}),g.jsx("input",{type:"file",ref:Nn,onChange:as,accept:".xlsx,.xls",className:"hidden"}),te?g.jsxs("div",{className:"border border-neutral-200 bg-white px-3 py-3 flex items-center justify-between gap-3",children:[g.jsxs("div",{className:"min-w-0",children:[g.jsx("p",{className:"text-[11px] font-bold text-neutral-700 break-words",title:te.name,children:te.name}),g.jsxs("p",{className:"text-[9px] text-neutral-400 font-mono mt-1",children:[te.size," · Excel"]})]}),g.jsx("button",{type:"button",onClick:()=>{A(null),Nn.current&&(Nn.current.value=""),Ze(),n("Excel de Bono 14 removido.","info")},className:"w-8 h-8 flex items-center justify-center text-neutral-400 hover:text-red-600 hover:bg-red-50 border border-transparent hover:border-red-100 rounded transition-colors","aria-label":"Remover Excel de Bono 14",children:g.jsx(Aa,{className:"w-4 h-4"})})]}):g.jsxs("div",{onDragOver:kn,onDrop:$i,onClick:()=>{var R;return(R=Nn.current)==null?void 0:R.click()},className:"border-2 border-dashed border-[#D0D0D0] bg-white hover:bg-[#4F758B]/5 hover:border-[#4F758B]/40 transition-colors py-8 px-4 text-center cursor-pointer",children:[g.jsx(Gr,{className:"w-7 h-7 text-neutral-300 mx-auto mb-2"}),g.jsx("p",{className:"text-xs font-bold text-neutral-700",children:"Arrastre el Excel de Bono 14"}),g.jsx("p",{className:"text-[10px] text-neutral-400 mt-1",children:"Formato .xlsx, .xls"}),g.jsx("button",{type:"button",className:"mt-4 border border-[#D0D0D0] bg-white px-4 py-1.5 text-[10px] font-bold text-neutral-600 hover:border-[#4F758B] hover:text-[#4F758B] transition-colors shadow-sm uppercase tracking-wide",children:"Seleccionar Archivo"})]})]}),g.jsxs("div",{className:"border border-neutral-200 p-4 bg-neutral-50/50",children:[g.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[g.jsx(Kl,{className:"w-4.5 h-4.5 text-[#4F758B]"}),g.jsx("h3",{className:"text-xs font-black uppercase tracking-wider text-neutral-700",children:"2. CSV bancarios del Bono 14"})]}),g.jsx("p",{className:"text-[10px] text-neutral-500 mb-3",children:"Puede cargar todos los envíos bancarios correspondientes al Bono 14."}),g.jsx("input",{type:"file",ref:Q,onChange:Gc,accept:".csv",multiple:!0,className:"hidden"}),g.jsxs("div",{onDragOver:kn,onDrop:hi,onClick:()=>{var R;return(R=Q.current)==null?void 0:R.click()},className:"border-2 border-dashed border-[#D0D0D0] bg-white hover:bg-[#4F758B]/5 hover:border-[#4F758B]/40 transition-colors py-6 px-4 text-center cursor-pointer",children:[g.jsx(Gr,{className:"w-6 h-6 text-neutral-300 mx-auto mb-2"}),g.jsx("p",{className:"text-xs font-bold text-neutral-700",children:"Arrastre uno o varios CSV"}),g.jsx("p",{className:"text-[10px] text-neutral-400 mt-1",children:"Formato .csv"}),g.jsx("button",{type:"button",className:"mt-4 border border-[#D0D0D0] bg-white px-4 py-1.5 text-[10px] font-bold text-neutral-600 hover:border-[#4F758B] hover:text-[#4F758B] transition-colors shadow-sm uppercase tracking-wide",children:"Seleccionar Archivos"})]}),z.length>0&&g.jsxs("div",{className:"mt-3 border border-neutral-200 bg-white",children:[g.jsxs("div",{className:"p-3 border-b border-neutral-200 bg-neutral-50",children:[g.jsxs("div",{className:"relative",children:[g.jsx(Jr,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-3.5 h-3.5 text-neutral-400 pointer-events-none"}),g.jsx("input",{type:"search",value:W,onChange:R=>ae(R.target.value),onClick:R=>R.stopPropagation(),placeholder:"Buscar CSV de Bono 14...",className:"w-full h-9 pl-9 pr-3 border border-[#D0D0D0] bg-white text-[11px] text-neutral-700 outline-none focus:border-[#4F758B]"})]}),g.jsxs("p",{className:"text-[9px] text-neutral-400 mt-2",children:[z.length," archivo(s) cargado(s)."]})]}),g.jsx("div",{className:"max-h-[250px] overflow-y-auto p-2 space-y-2",children:qn.map(({file:R,originalIndex:ne})=>g.jsxs("div",{className:"border border-neutral-200 px-3 py-2.5 flex items-start justify-between gap-3",children:[g.jsxs("div",{className:"min-w-0",children:[g.jsx("p",{className:"text-[10px] leading-4 font-bold text-neutral-700 break-words",children:R.name}),g.jsx("p",{className:"text-[9px] text-neutral-400 font-mono mt-0.5",children:R.size})]}),g.jsx("button",{type:"button",onClick:he=>{he.stopPropagation(),ko(ne)},className:"w-8 h-8 flex items-center justify-center flex-shrink-0 text-neutral-400 hover:text-red-600 hover:bg-red-50 rounded transition-colors","aria-label":`Remover ${R.name}`,children:g.jsx(Aa,{className:"w-4 h-4"})})]},`bonus14-${R.name}-${ne}`))})]})]})]}),g.jsxs("div",{className:"mt-5 flex flex-col items-center gap-2",children:[g.jsxs("button",{type:"button",onClick:di,disabled:D||!(te!=null&&te.rawFile)||z.length===0,className:"inline-flex items-center justify-center gap-2 bg-[#4F758B] hover:bg-[#3d6378] text-white px-7 py-3 text-xs font-black uppercase tracking-wider transition-colors disabled:opacity-45 disabled:cursor-not-allowed min-w-[280px]",children:[D?g.jsx(qa,{className:"w-4 h-4 animate-spin"}):g.jsx(wb,{className:"w-4 h-4"}),"Generar reporte Bono 14"]}),g.jsxs("p",{className:"text-[9px] text-neutral-400 text-center",children:["Se guardará como un reporte separado: GT · ",K," · Bono 14."]})]})]})}),g.jsx("section",{className:"flex flex-col items-center gap-3",children:g.jsx("button",{onClick:Wa,disabled:D,className:"w-full sm:w-auto min-w-[280px] bg-[#4F758B] hover:bg-[#41677b] disabled:bg-neutral-300 disabled:cursor-not-allowed text-white px-8 py-4 font-black text-sm uppercase tracking-wider shadow-md flex items-center justify-center gap-3 transition-all duration-150 active:scale-[0.99] border-l-4 border-[#6CC24A]",children:D?g.jsxs(g.Fragment,{children:[g.jsx(qa,{className:"w-5 h-5 animate-spin"}),g.jsx("span",{children:V||"Procesando cruce de cuentas..."})]}):g.jsxs(g.Fragment,{children:[g.jsx(Xj,{className:"w-5 h-5"}),g.jsx("span",{children:"Ejecutar Cruce de Cuentas"})]})})}),g.jsx(ei,{children:d&&p&&g.jsxs(cn.section,{id:"resultados-seccion",initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:10},className:"flex flex-col gap-5 scroll-mt-28",children:[g.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-6 gap-4",children:[g.jsxs("div",{className:"bg-white border border-emerald-200 p-4 shadow-sm",children:[g.jsxs("div",{className:"flex items-center gap-2 text-emerald-700",children:[g.jsx(Sc,{className:"w-5 h-5"}),g.jsx("span",{className:"text-[10px] uppercase tracking-wider font-black",children:"Coincidencias"})]}),g.jsx("p",{className:"text-3xl font-black text-emerald-800 mt-2",children:p.summary.matches})]}),g.jsxs("div",{className:"bg-white border border-red-200 p-4 shadow-sm",children:[g.jsxs("div",{className:"flex items-center gap-2 text-[#ba1a1a]",children:[g.jsx(fo,{className:"w-5 h-5"}),g.jsx("span",{className:"text-[10px] uppercase tracking-wider font-black",children:"Discrepancias"})]}),g.jsx("p",{className:"text-3xl font-black text-[#ba1a1a] mt-2",children:p.summary.discrepancies})]}),g.jsxs("div",{className:"bg-white border border-amber-200 p-4 shadow-sm",children:[g.jsxs("div",{className:"flex items-center gap-2 text-amber-800",children:[g.jsx(xb,{className:"w-5 h-5"}),g.jsx("span",{className:"text-[10px] uppercase tracking-wider font-black",children:xt?"Banco sin Bono 14":"Banco sin nómina"})]}),g.jsx("p",{className:"text-3xl font-black text-amber-800 mt-2",children:p.summary.bankWithoutPayroll})]}),g.jsxs("div",{className:"bg-white border border-orange-200 p-4 shadow-sm",children:[g.jsxs("div",{className:"flex items-center gap-2 text-orange-800",children:[g.jsx(xb,{className:"w-5 h-5"}),g.jsx("span",{className:"text-[10px] uppercase tracking-wider font-black",children:"Banco sin Bamboo"})]}),g.jsx("p",{className:"text-3xl font-black text-orange-800 mt-2",children:p.summary.bankWithoutBamboo})]}),g.jsxs("div",{className:"bg-white border border-violet-200 p-4 shadow-sm",children:[g.jsxs("div",{className:"flex items-center gap-2 text-violet-800",children:[g.jsx(Kl,{className:"w-5 h-5"}),g.jsx("span",{className:"text-[10px] uppercase tracking-wider font-black",children:"Diferencias nombre banco"})]}),g.jsx("p",{className:"text-3xl font-black text-violet-800 mt-2",children:p.summary.nameDifferences})]}),g.jsxs("div",{className:"bg-white border border-blue-200 p-4 shadow-sm",children:[g.jsxs("div",{className:"flex items-center gap-2 text-blue-800",children:[g.jsx(Da,{className:"w-5 h-5"}),g.jsx("span",{className:"text-[10px] uppercase tracking-wider font-black",children:xt?"Bono 14 sin cuenta":"Nómina sin cuenta"})]}),g.jsx("p",{className:"text-3xl font-black text-blue-800 mt-2",children:p.summary.payrollWithoutAccount})]})]}),g.jsxs("div",{className:"bg-white border border-[#D0D0D0] shadow-sm overflow-hidden",children:[g.jsxs("div",{className:"p-5 border-b border-neutral-200 flex flex-col lg:flex-row lg:items-center lg:justify-between gap-4",children:[g.jsxs("div",{children:[g.jsx("h2",{className:"text-lg font-black text-[#4F758B] uppercase tracking-tight",children:xt?"Resultados del Bono 14":"Resultados del Cruce"}),g.jsx("p",{className:"text-[11px] text-neutral-500 mt-1",children:It})]}),g.jsx("div",{className:"flex flex-col sm:flex-row gap-2",children:g.jsxs("button",{onClick:Kc,disabled:!p.reportUrl,className:"inline-flex items-center justify-center gap-2 border border-[#4F758B] text-[#4F758B] hover:bg-[#4F758B] hover:text-white px-4 py-2 text-xs font-bold transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:[g.jsx(kj,{className:"w-4 h-4"}),"Abrir Google Sheet"]})})]}),g.jsxs("div",{className:"p-4 border-b border-neutral-200 bg-neutral-50 flex flex-col lg:flex-row gap-3 lg:items-center lg:justify-between",children:[g.jsxs("div",{className:"relative w-full lg:max-w-sm",children:[g.jsx(Jr,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-neutral-400"}),g.jsx("input",{type:"text",value:P,onChange:R=>{Y(R.target.value),_e(1)},placeholder:"Buscar empleado, Employee Number o cuenta...",className:"w-full pl-9 pr-3 py-2 border border-[#D0D0D0] text-xs font-medium focus:outline-none focus:border-[#4F758B]"})]}),g.jsx("div",{className:"flex flex-wrap gap-2",children:[["todos","Todos"],["discrepancias","Discrepancias"],["coincidencias","Coincidencias"],["banco_sin_nomina",xt?"Banco sin Bono 14":"Banco sin nómina"],["banco_sin_bamboo","Banco sin Bamboo"],["diferencia_nombre_banco","Diferencias nombre banco"],["nomina_sin_cuenta",xt?"Bono 14 sin cuenta":"Nómina sin cuenta"]].map(([R,ne])=>g.jsx("button",{onClick:()=>{q(R),_e(1)},className:`px-3 py-1.5 text-[10px] uppercase tracking-wider font-black border transition-colors ${J===R?"bg-[#4F758B] text-white border-[#4F758B]":"bg-white text-neutral-500 border-neutral-300 hover:border-[#4F758B] hover:text-[#4F758B]"}`,children:ne},R))})]}),g.jsx("div",{className:"overflow-x-auto",children:g.jsxs("table",{className:"w-full text-left border-collapse min-w-[960px] xl:min-w-full",children:[g.jsx("thead",{children:g.jsxs("tr",{className:"bg-[#4F758B] text-white text-xs font-bold uppercase tracking-wider",children:[g.jsx("th",{className:"py-3 px-3 xl:px-4",children:"Empleado"}),g.jsx("th",{className:"py-3 px-3 xl:px-4",children:"Employee Number"}),g.jsx("th",{className:"py-3 px-3 xl:px-4",children:"Cuenta"}),g.jsx("th",{className:"py-3 px-3 xl:px-4 text-right",children:xt?"Monto Bono 14":"Monto Nómina"}),g.jsx("th",{className:"py-3 px-3 xl:px-4 text-right",children:"Monto Banco"}),g.jsx("th",{className:"py-3 px-3 xl:px-4 text-right",children:"Diferencia"}),g.jsx("th",{className:"py-3 px-3 xl:px-4 text-center",children:"Estado"}),g.jsx("th",{className:"py-3 px-3 xl:px-4",children:"Categoría"}),g.jsx("th",{className:"py-3 px-3 xl:px-4",children:"Observación"}),g.jsx("th",{className:"py-3 px-3 xl:px-4 text-center",children:"Acciones"})]})}),g.jsx("tbody",{className:"divide-y divide-neutral-200 text-xs",children:en.length>0?en.map(R=>g.jsxs("tr",{className:"hover:bg-neutral-50 transition-colors",children:[g.jsx("td",{className:"py-3 px-3 xl:px-4 font-bold text-neutral-800",children:R.employee}),g.jsx("td",{className:"py-3 px-3 xl:px-4 font-mono text-neutral-600",children:R.employeeNumber||"—"}),g.jsx("td",{className:"py-3 px-3 xl:px-4 font-mono text-neutral-500",children:R.account??"—"}),g.jsx("td",{className:"py-3 px-3 xl:px-4 text-right font-mono text-neutral-700",children:Md(R.amountPayroll,T,R.currency)}),g.jsx("td",{className:"py-3 px-3 xl:px-4 text-right font-mono text-neutral-700",children:Md(R.amountBank,T,R.currency)}),g.jsx("td",{className:"py-3 px-3 xl:px-4 text-right font-mono text-neutral-700",children:Md(R.difference,T,R.currency)}),g.jsx("td",{className:"py-3 px-3 xl:px-4 text-center",children:g.jsx("span",{className:`inline-block px-2.5 py-1 text-[9px] font-black uppercase tracking-wider border ${RR(R.status)}`,children:R.status})}),g.jsx("td",{className:"py-3 px-3 xl:px-4 text-neutral-600 max-w-[180px] capitalize",children:MR(R.category??R.source,(p==null?void 0:p.reportKind)??"nomina")}),g.jsx("td",{className:"py-3 px-3 xl:px-4 text-neutral-600 max-w-[300px]",children:R.observation}),g.jsx("td",{className:"py-3 px-3 xl:px-4 text-center",children:La(R,"banco_sin_bamboo")?nt.has(R.id)?g.jsx("span",{className:"inline-flex items-center px-2.5 py-1 border border-emerald-200 bg-emerald-50 text-emerald-800 text-[9px] font-black uppercase tracking-wider",children:"Reportado a RRHH"}):g.jsx("button",{type:"button",onClick:()=>xe(R),className:"inline-flex items-center justify-center px-3 py-2 border border-[#4F758B] text-[#4F758B] hover:bg-[#4F758B] hover:text-white text-[9px] font-black uppercase tracking-wider transition-colors whitespace-nowrap",children:"Reportar a RRHH"}):g.jsx("span",{className:"text-neutral-300",children:"—"})})]},R.id)):g.jsx("tr",{children:g.jsx("td",{colSpan:10,className:"py-12 text-center text-neutral-400 font-medium",children:"No hay resultados para el filtro seleccionado."})})})]})}),g.jsxs("div",{className:"p-4 border-t border-neutral-200 flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3 text-xs text-neutral-500",children:[g.jsxs("span",{children:["Mostrando ",en.length," de ",dt.length," resultado(s)."]}),g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx("button",{onClick:()=>_e(R=>Math.max(1,R-1)),disabled:Se===1,className:"px-3 py-1.5 border border-neutral-300 bg-white disabled:opacity-40 disabled:cursor-not-allowed hover:border-[#4F758B] font-bold",children:"Anterior"}),g.jsxs("span",{className:"font-bold text-neutral-700",children:["Página ",Se," de ",wt]}),g.jsx("button",{onClick:()=>_e(R=>Math.min(wt,R+1)),disabled:Se===wt,className:"px-3 py-1.5 border border-neutral-300 bg-white disabled:opacity-40 disabled:cursor-not-allowed hover:border-[#4F758B] font-bold",children:"Siguiente"})]})]})]})]})})]}),de&&p&&g.jsx(Lw,{row:de,country:T,periodRange:xt?Ge:Ee,operatorName:x,operatorEmail:_,executionId:p.executionId,reportUrl:p.reportUrl,onClose:()=>xe(null),onSuccess:R=>Ie(ne=>{const he=new Set(ne);return he.add(R),he}),onShowToast:n})]})}const sc=10;function qR(n){return n==="TT"?"https://agenteit.digitalcompass.agency/webhook/cruce-cuentas-tt-historicos":n==="PA"?"https://agenteit.digitalcompass.agency/webhook/cruce-cuentas-pa-historicos":"https://agenteit.digitalcompass.agency/webhook/cruce-cuentas-gt-historicos"}function FR(n){return n==="TT"?"https://agenteit.digitalcompass.agency/webhook/cruce-cuentas-tt-marcar-resuelto":n==="PA"?"https://agenteit.digitalcompass.agency/webhook/cruce-cuentas-pa-marcar-resuelto":"https://agenteit.digitalcompass.agency/webhook/cruce-cuentas-gt-marcar-resuelto"}function Ln(n){const e=Number(n);return Number.isFinite(e)?e:0}function IR(n,e){if(!n)return"";const i=new Date(String(n));return Number.isNaN(i.getTime())?String(n).slice(0,10):i.toLocaleDateString(e,{year:"numeric",month:"2-digit",day:"2-digit"})}function vf(n,e){if(!n)return"";const i=new Date(String(n));return Number.isNaN(i.getTime())?String(n):i.toLocaleString(e,{dateStyle:"short",timeStyle:"short"})}function GR(n){return String(n??"").toLowerCase().includes("resuelto")?"Resuelto":"Pendiente revisión"}function yv(n,e){const i=n,a=!Array.isArray(i)&&i?i:{};return(Array.isArray(i)?i:Array.isArray(a.reports)?a.reports:[]).map((c,u)=>{const d=c,m=Ln(d.discrepancias??d.discrepancies),p=Ln(d.bancoSinNomina??d.banco_sin_nomina??d.bankWithoutPayroll),y=Ln(d.bancoSinBamboo??d.banco_sin_bamboo??d.bankWithoutBamboo),v=Ln(d.nominaSinCuenta??d.nomina_sin_cuenta??d.payrollWithoutAccount),x=Ln(d.diferenciasNombreBanco??d.diferencias_nombre_banco??d.nameDifferences),_=m+p+y+v+x,S=String(d.country??d.pais??d.country_code??e.code).toUpperCase(),T=Array.isArray(d.archivosBanco)?d.archivosBanco.map(String):Array.isArray(d.bank_file_names)?d.bank_file_names.map(String):[],k=d.updated_at??d.fechaEjecucion??d.ejecutado_en??d.created_at;return{id:String(d.id??`reporte-${u+1}`),country:S==="TT"?"TT":S==="PA"?"PA":"GT",date:IR(d.fecha??d.period_end??k,e.locale),executionDate:vf(k,e.locale),period:String(d.periodo??d.period_label??d.period??"Período no especificado"),periodStart:d.period_start?String(d.period_start):void 0,periodEnd:d.period_end?String(d.period_end):void 0,payrollFile:String(d.archivoNomina??d.payroll_file_name??d.payrollFile??""),bankFiles:T,matches:Ln(d.coincidencias??d.matches),discrepancies:m,bankWithoutPayroll:p,bankWithoutBamboo:y,payrollWithoutAccount:v,nameDifferences:x,totalPending:_,totalPayroll:Ln(d.totalNomina??d.total_nomina),totalBank:Ln(d.totalBanco??d.total_banco),totalDifference:Ln(d.diferenciaTotal??d.diferencia_total),status:GR(d.estado??d.status??d.estadoLabel),reportUrl:d.reportUrl||d.report_url?String(d.reportUrl??d.report_url):void 0,spreadsheetId:d.spreadsheetId||d.spreadsheet_id?String(d.spreadsheetId??d.spreadsheet_id):void 0,executedBy:d.ejecutadoPorNombre||d.ejecutado_por_nombre?String(d.ejecutadoPorNombre??d.ejecutado_por_nombre):void 0,executedByEmail:d.ejecutadoPorEmail||d.ejecutado_por_email?String(d.ejecutadoPorEmail??d.ejecutado_por_email):void 0,resolvedBy:d.resueltoPorNombre||d.resuelto_por_nombre?String(d.resueltoPorNombre??d.resuelto_por_nombre):void 0,resolvedByEmail:d.resueltoPorEmail||d.resuelto_por_email?String(d.resueltoPorEmail??d.resuelto_por_email):void 0,resolvedAt:vf(d.resueltoEn??d.resuelto_en,e.locale),resolutionComment:d.comentarioResolucion||d.comentario_resolucion?String(d.comentarioResolucion??d.comentario_resolucion):void 0,_sortTime:new Date(String(k??d.period_end??"")).getTime()||0}}).filter(c=>c.country===e.code).sort((c,u)=>u._sortTime-c._sortTime).map(({_sortTime:c,...u})=>u)}function xf(n){return String(n??"").toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9 ]/g," ").replace(/\s+/g," ").trim()}function wf(n){return String(n??"").replace(/\.0$/g,"").replace(/\D/g,"").trim()}function bv(n,e){for(const i of e){const a=n[i];if(typeof a=="number"&&Number.isFinite(a))return a;if(typeof a=="string"&&a.trim()){const l=Number(a.replace(/[A-Za-z$Q,\s]/g,"").trim());if(Number.isFinite(l))return l}}return null}function KR(n){return Array.isArray(n)?n.map((e,i)=>{const a=e??{},l=String(a.employee??a.employee_name??a.bank_name_file??a.bank_account_holder??"Sin nombre"),c=bv(a,["bankAmount","bank_amount","amount","monto_banco"]),u=a.best_bamboo_candidate&&typeof a.best_bamboo_candidate=="object"?a.best_bamboo_candidate:null;return{id:String(a.id??`historical-bamboo-${xf(l)}-${wf(a.account??a.bank_account)}-${i+1}`),employee:l,employeeNumber:"",account:String(a.account??a.bank_account??a.bankAccount??""),amountPayroll:0,amountBank:c,difference:c===null?null:0-c,status:"Pendiente revisión",category:"banco_sin_bamboo",source:"banco_sin_bamboo",observation:String(a.observation??a.observacion??"Pago bancario sin empleado identificado de forma confiable en BambooHR."),bankNameFile:String(a.bank_name_file??a.bankNameFile??""),bankAccountHolder:String(a.bank_account_holder??a.bankAccountHolder??""),bestBambooCandidate:u?{employeeNumber:String(u.employee_number??u.employeeNumber??""),employeeName:String(u.employee_name??u.employeeName??""),score:bv(u,["score"])}:null,ambiguousBambooMatch:!!a.ambiguous_bamboo_match}}):[]}function YR(n){return Array.isArray(n)?n.map(e=>{const i=e??{};return{id:String(i.id??""),sourceName:String(i.nombre_origen_principal??i.source_name??""),sourceNames:Array.isArray(i.nombres_origen)?i.nombres_origen.map(String):[],bankAccount:String(i.cuenta_bancaria??i.bank_account??""),status:String(i.estado??""),emailSent:i.correo_enviado===!0}}):[]}function XR(n,e){const i=n.status.toLowerCase();if(!(n.emailSent||i==="notificado_rrhh"||i==="corregido_bamboo"))return!1;const l=wf(n.bankAccount),c=wf(e.account);if(l&&c&&l!==c)return!1;const u=new Set([n.sourceName,...n.sourceNames].map(xf).filter(Boolean));return[e.employee,e.bankNameFile,e.bankAccountHolder].map(xf).filter(Boolean).some(m=>u.has(m))}function JR(n){return n==="Resuelto"?"bg-blue-50 text-blue-800 border-blue-200":"bg-amber-50 text-amber-800 border-amber-200"}function QR(n){return n==="Resuelto"?"RESUELTO":"PENDIENTE REVISIÓN"}function ZR({onShowToast:n,onOpenSidebar:e,operatorName:i,operatorEmail:a,country:l}){const[c,u]=M.useState(""),[d,m]=M.useState("todos"),[p,y]=M.useState([]),[v,x]=M.useState(1),[_,S]=M.useState(!1),[T,k]=M.useState(!1),[C,D]=M.useState(""),[j,V]=M.useState(null),[G,J]=M.useState(""),[q,K]=M.useState(null),[ie,X]=M.useState([]),[pe,ce]=M.useState(new Set),[Ce,Se]=M.useState(!1),[_e,P]=M.useState(""),[Y,ee]=M.useState(null),[fe,te]=M.useState(0),[A,z]=M.useState(0),Z=M.useRef(0),W=M.useRef(null),ae=Math.max(1,Math.ceil(A/sc)),de=p;M.useEffect(()=>{x(1)},[c,d,l.code]),M.useEffect(()=>{v>ae&&x(ae)},[v,ae]);const xe=async()=>{var Oe;const Q=++Z.current;(Oe=W.current)==null||Oe.abort();const ze=new AbortController;W.current=ze;const Ee=()=>Z.current===Q&&!ze.signal.aborted;S(!0),D("");try{if(lt){const wt=d==="pendiente"?"pendiente_revision":d==="resuelto"?"resuelto":null,{data:en,error:Fn}=await lt.rpc("cruce_cuentas_get_historicos",{p_country:l.code,p_page:v,p_page_size:sc,p_search:c.trim()||null,p_status:wt});if(!Ee())return;if(!Fn&&en){const Ze=Array.isArray(en)?en[0]:en,oi=yv(Ze,l),li=Ln(Ze==null?void 0:Ze.total),Vi=Ln((Ze==null?void 0:Ze.filtered_total)??li);y(oi),te(li),z(Vi);return}}if(!Ee())return;const Ge=qR(l.code);if(!Ge)throw new Error(`No está configurado el origen histórico de ${l.name}.`);const xt=new URL(Ge);xt.searchParams.set("country",l.code);const It=await fetch(xt.toString(),{method:"GET",signal:ze.signal}),At=await It.json().catch(()=>null);if(!Ee())return;if(!It.ok||(At==null?void 0:At.ok)===!1)throw new Error("No se pudieron cargar los reportes históricos.");const $n=yv(At,l),qn=c.trim().toLowerCase(),dt=$n.filter(wt=>{const en=d==="todos"||d==="pendiente"&&wt.status==="Pendiente revisión"||d==="resuelto"&&wt.status==="Resuelto",Fn=!qn||wt.period.toLowerCase().includes(qn)||wt.payrollFile.toLowerCase().includes(qn)||wt.id.toLowerCase().includes(qn)||(wt.resolvedBy??"").toLowerCase().includes(qn)||(wt.executedBy??"").toLowerCase().includes(qn);return en&&Fn});if(!Ee())return;const ks=(v-1)*sc;y(dt.slice(ks,ks+sc)),te($n.length),z(dt.length)}catch(Ge){if(!Ee()||Ge instanceof DOMException&&Ge.name==="AbortError")return;y([]),te(0),z(0),D(Ge instanceof Error?Ge.message:"No se pudieron cargar los reportes históricos. Intenta nuevamente."),n("No se pudieron cargar los reportes históricos.","error")}finally{Ee()&&(S(!1),W.current===ze&&(W.current=null))}};M.useEffect(()=>{const Q=window.setTimeout(()=>{xe()},c.trim()?300:0);return()=>{var ze;window.clearTimeout(Q),Z.current+=1,(ze=W.current)==null||ze.abort(),W.current=null}},[l.code,v,c,d]);const nt=()=>{ee(null),K(null),X([]),ce(new Set),P("")},Ie=async Q=>{if(Q.bankWithoutBamboo<=0){n("Este reporte no tiene casos de Banco sin Bamboo.","info");return}if(!lt){n("Supabase no está configurado en esta aplicación.","error");return}K(Q),ee(null),X([]),ce(new Set),P(""),Se(!0);try{const{data:ze,error:Ee}=await lt.rpc("cruce_cuentas_get_banco_sin_bamboo_reporte",{p_report_id:Q.id,p_country:l.code});if(Ee)throw Ee;const Oe=Array.isArray(ze)?ze[0]:ze;if(!Oe||Oe.ok===!1)throw new Error(String((Oe==null?void 0:Oe.message)||"No se pudieron recuperar los casos de Banco sin Bamboo."));const Ge=KR(Oe.cases),xt=YR(Oe.corrections),It=new Set(Ge.filter(At=>xt.some($n=>XR($n,At))).map(At=>At.id));X(Ge),ce(It),Ge.length===0&&P("Este reporte fue creado antes de que se guardara el detalle de Banco sin Bamboo. Los reportes nuevos conservarán los casos para revisarlos desde Históricos.")}catch(ze){const Ee=ze instanceof Error?ze.message:"No se pudieron recuperar los casos de Banco sin Bamboo.";P(Ee),n(Ee,"error")}finally{Se(!1)}},Hn={label:(q==null?void 0:q.period)||"Período no especificado",start:(q==null?void 0:q.periodStart)||"",end:(q==null?void 0:q.periodEnd)||""},vt=Q=>{if(Q.reportUrl){window.open(Q.reportUrl,"_blank","noopener,noreferrer");return}n("Este reporte aún no tiene un Google Sheet disponible.","info")},Ft=Q=>{if(Q.status==="Resuelto"){n("Este reporte ya fue marcado como resuelto.","info");return}V(Q),J("")},Nn=async()=>{if(!j)return;const Q=G.trim();if(Q.length<10){n("Debes escribir un comentario de resolución más descriptivo.","error");return}const ze=FR(l.code);if(!ze){n(`La resolución de reportes para ${l.name} estará disponible próximamente.`,"info");return}k(!0);try{const Ee=await fetch(ze,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({reportId:j.id,comentarioResolucion:Q,resueltoPorNombre:i,resueltoPorEmail:a,country:l.code,countryName:l.name})}),Oe=await Ee.json().catch(()=>null);if(!Ee.ok||(Oe==null?void 0:Oe.ok)===!1){const It=Array.isArray(Oe==null?void 0:Oe.errors)?Oe.errors.join(` +`):(Oe==null?void 0:Oe.message)||"No se pudo marcar el reporte como resuelto.";throw new Error(It)}const Ge=Oe.report??{},xt=vf(Ge.resueltoEn??new Date().toISOString(),l.locale);y(It=>It.map(At=>At.id===j.id?{...At,status:"Resuelto",resolvedBy:String(Ge.resueltoPorNombre??i),resolvedByEmail:String(Ge.resueltoPorEmail??a),resolvedAt:xt,resolutionComment:String(Ge.comentarioResolucion??Q)}:At)),V(null),J(""),n("Reporte marcado como resuelto correctamente.","success")}catch(Ee){const Oe=Ee instanceof Error?Ee.message:"No se pudo marcar el reporte como resuelto.";n(Oe,"error")}finally{k(!1)}};return g.jsxs("div",{className:"flex-1 flex flex-col min-h-screen bg-neutral-50 text-neutral-800 font-sans",children:[g.jsxs("header",{className:"bg-white border-b-4 border-[#6CC24A] flex justify-between items-center w-full px-4 sm:px-8 h-[84px] sticky top-0 z-40 shadow-sm gap-x-4",children:[g.jsxs("div",{className:"flex items-center gap-2 sm:gap-3 min-w-0",children:[g.jsx("button",{onClick:e,className:"md:hidden p-2 -ml-2 text-neutral-600 hover:text-neutral-800 hover:bg-neutral-100 transition-colors flex-shrink-0","aria-label":"Abrir menú",children:g.jsx(hw,{className:"w-6 h-6"})}),g.jsx("h1",{className:"text-xs sm:text-sm md:text-lg lg:text-2xl font-black text-[#4F758B] tracking-tight uppercase flex items-center gap-1.5 sm:gap-2 min-w-0",children:g.jsxs("span",{className:"truncate",children:["Reportes Históricos - ",l.name]})})]}),g.jsxs("div",{className:"flex items-center gap-2 sm:gap-3 flex-shrink-0",children:[g.jsx(zw,{country:l,operatorName:i,operatorEmail:a,section:"Reportes Históricos",onShowToast:n}),g.jsx("div",{className:"hidden sm:flex items-center border border-neutral-200 bg-white px-2.5 py-2 shadow-sm","aria-label":`Bandera de ${l.name}`,children:g.jsx("img",{src:l.flag,alt:`Bandera de ${l.name}`,className:"h-5 sm:h-6 w-auto object-contain"})}),g.jsxs("button",{onClick:xe,disabled:_,className:"hidden sm:inline-flex items-center gap-2 border border-[#4F758B]/20 text-[#4F758B] px-3 py-2 text-xs font-bold hover:border-[#4F758B]/50 disabled:opacity-50",children:[g.jsx(Wj,{className:`w-4 h-4 ${_?"animate-spin":""}`}),"Actualizar"]})]})]}),g.jsxs("main",{className:"flex-1 max-w-7xl w-full mx-auto px-4 sm:px-6 py-8 flex flex-col gap-6",children:[g.jsxs("div",{className:"bg-white border border-[#D0D0D0] p-4 flex flex-col lg:flex-row items-center justify-between gap-4 shadow-sm",children:[g.jsxs("div",{className:"relative w-full lg:max-w-md",children:[g.jsx(Jr,{className:"absolute left-3.5 top-1/2 transform -translate-y-1/2 text-neutral-400 w-4 h-4"}),g.jsx("input",{type:"text",placeholder:"Buscar por período, reporte, archivo o resolutor...",value:c,onChange:Q=>u(Q.target.value),className:"w-full pl-10 pr-4 py-2 border border-[#D0D0D0] text-xs font-medium placeholder-neutral-400 focus:outline-none focus:border-[#4F758B] transition-colors"})]}),g.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center gap-3 w-full lg:w-auto",children:[g.jsx("div",{className:"flex flex-wrap gap-2",children:[["todos","Todos"],["pendiente","Pendiente revisión"],["resuelto","Resuelto"]].map(([Q,ze])=>g.jsx("button",{onClick:()=>m(Q),className:`px-3 py-1.5 text-[10px] uppercase tracking-wider font-black border transition-colors ${d===Q?"bg-[#4F758B] text-white border-[#4F758B]":"bg-white text-neutral-500 border-neutral-300 hover:border-[#4F758B] hover:text-[#4F758B]"}`,children:ze},Q))}),g.jsxs("div",{className:"flex items-center gap-2 text-xs font-bold text-neutral-500",children:[g.jsx(Bj,{className:"w-4 h-4 text-neutral-400"}),g.jsxs("span",{children:["Mostrando: ",A," de ",fe," reportes"]})]})]})]}),C&&g.jsxs("div",{className:"border border-red-200 bg-red-50 text-[#ba1a1a] px-4 py-3 text-xs font-bold flex items-center gap-2",children:[g.jsx(fo,{className:"w-4 h-4"}),C]}),g.jsxs("div",{className:"bg-white border border-[#D0D0D0] shadow-sm overflow-hidden",children:[g.jsx("div",{className:"overflow-x-auto",children:g.jsxs("table",{className:"w-full text-left border-collapse min-w-[960px] xl:min-w-full",children:[g.jsx("thead",{children:g.jsxs("tr",{className:"bg-[#4F758B] text-white text-xs font-bold uppercase tracking-wider",children:[g.jsx("th",{className:"py-3 px-3 xl:px-4",children:"Fecha"}),g.jsx("th",{className:"py-3 px-3 xl:px-4",children:"Período"}),g.jsx("th",{className:"py-3 px-3 xl:px-4",children:"Archivo de Nómina / Bono 14"}),g.jsx("th",{className:"py-3 px-3 xl:px-4 text-center",children:"Coincidencias"}),g.jsx("th",{className:"py-3 px-3 xl:px-4 text-center",children:"Banco sin Bamboo"}),g.jsx("th",{className:"py-3 px-3 xl:px-4 text-center",children:"Pendientes"}),g.jsx("th",{className:"py-3 px-3 xl:px-4 text-center",children:"Estado"}),g.jsx("th",{className:"py-3 px-3 xl:px-4",children:"Resuelto por"}),g.jsx("th",{className:"py-3 px-3 xl:px-4 text-center",children:"Acciones"})]})}),g.jsx("tbody",{className:"divide-y divide-neutral-200 text-xs",children:_?g.jsx("tr",{children:g.jsx("td",{colSpan:9,className:"py-12 text-center text-neutral-400 font-medium",children:g.jsxs("div",{className:"inline-flex items-center gap-2",children:[g.jsx(qa,{className:"w-4 h-4 animate-spin"}),"Cargando reportes históricos..."]})})}):de.length>0?de.map(Q=>g.jsxs(cn.tr,{initial:{opacity:0},animate:{opacity:1},className:"hover:bg-neutral-50/70 transition-colors",children:[g.jsx("td",{className:"py-3 px-3 xl:px-4 font-medium text-neutral-700",children:g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx(vj,{className:"w-4 h-4 text-neutral-400"}),g.jsxs("div",{children:[g.jsx("span",{children:Q.date}),Q.executionDate&&g.jsx("p",{className:"text-[9px] text-neutral-400 mt-0.5",children:Q.executionDate})]})]})}),g.jsx("td",{className:"py-3 px-3 xl:px-4 font-bold text-[#4F758B]",children:Q.period}),g.jsx("td",{className:"py-3 px-3 xl:px-4 font-mono text-neutral-500 truncate max-w-[260px]",title:Q.payrollFile,children:g.jsxs("div",{className:"flex items-center gap-1.5",children:[g.jsx(Da,{className:"w-4 h-4 text-neutral-400 flex-shrink-0"}),g.jsx("span",{className:"truncate",children:Q.payrollFile||"No especificado"})]})}),g.jsx("td",{className:"py-3 px-3 xl:px-4 text-center font-black text-emerald-800",children:Q.matches}),g.jsx("td",{className:"py-3 px-3 xl:px-4 text-center",children:Q.bankWithoutBamboo>0?g.jsxs("button",{type:"button",onClick:()=>void Ie(Q),className:"inline-flex items-center gap-1.5 min-w-8 px-2.5 py-1 text-[10px] font-black border bg-orange-50 text-orange-800 border-orange-200 hover:bg-orange-100 hover:border-orange-300 transition-colors",title:"Revisar casos y reportar correcciones a RRHH",children:[g.jsx("span",{children:Q.bankWithoutBamboo}),g.jsx("span",{className:"hidden 2xl:inline",children:"Revisar"})]}):g.jsx("span",{className:"inline-block min-w-8 px-2.5 py-1 text-[10px] font-black border bg-neutral-50 text-neutral-400 border-neutral-200",children:"0"})}),g.jsx("td",{className:"py-3 px-3 xl:px-4 text-center",children:g.jsx("span",{className:`inline-block px-2.5 py-1 text-[10px] font-bold border ${Q.totalPending>0?"bg-red-50 text-[#ba1a1a] border-red-200":"bg-emerald-50 text-emerald-800 border-emerald-200"}`,children:Q.totalPending===0?"Sin pendientes":`${Q.totalPending} pendiente${Q.totalPending>1?"s":""}`})}),g.jsx("td",{className:"py-3 px-3 xl:px-4 text-center",children:g.jsx("span",{className:`inline-block px-2.5 py-1 text-[9px] uppercase font-black tracking-wider border ${JR(Q.status)}`,children:QR(Q.status)})}),g.jsx("td",{className:"py-3 px-3 xl:px-4 text-neutral-600 max-w-[220px]",children:Q.resolvedBy?g.jsxs("div",{title:Q.resolutionComment||"",children:[g.jsx("p",{className:"font-bold text-neutral-700 truncate",children:Q.resolvedBy}),g.jsx("p",{className:"text-[10px] text-neutral-400",children:Q.resolvedAt})]}):g.jsx("span",{className:"text-neutral-400",children:"Pendiente"})}),g.jsx("td",{className:"py-3 px-3 xl:px-4 text-center",children:g.jsxs("div",{className:"flex justify-center gap-2",children:[g.jsxs("button",{onClick:()=>vt(Q),className:"inline-flex items-center gap-1.5 text-[#4F758B] hover:text-[#3d6378] font-bold text-xs border border-[#4F758B]/20 hover:border-[#4F758B]/50 px-3 py-1.5 bg-white hover:bg-neutral-50 transition-colors",children:[g.jsx(Rj,{className:"w-3.5 h-3.5"}),g.jsx("span",{children:"Ver"})]}),g.jsxs("button",{onClick:()=>Ft(Q),disabled:Q.status==="Resuelto",className:"inline-flex items-center gap-1.5 text-emerald-700 hover:text-emerald-800 font-bold text-xs border border-emerald-200 hover:border-emerald-400 px-3 py-1.5 bg-emerald-50 hover:bg-emerald-100 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:[g.jsx(Sc,{className:"w-3.5 h-3.5"}),g.jsx("span",{children:Q.status==="Resuelto"?"Resuelto":"Marcar resuelto"})]})]})})]},Q.id)):g.jsx("tr",{children:g.jsx("td",{colSpan:9,className:"py-12 text-center text-neutral-400 font-medium",children:"No se encontraron reportes históricos."})})})]})}),g.jsxs("div",{className:"p-4 border-t border-neutral-200 flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3 text-xs text-neutral-500",children:[g.jsxs("span",{children:["Mostrando ",de.length," de ",A," reporte(s)."]}),g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx("button",{onClick:()=>x(Q=>Math.max(1,Q-1)),disabled:v===1,className:"px-3 py-1.5 border border-neutral-300 bg-white disabled:opacity-40 disabled:cursor-not-allowed hover:border-[#4F758B] font-bold",children:"Anterior"}),g.jsxs("span",{className:"font-bold text-neutral-700",children:["Página ",v," de ",ae]}),g.jsx("button",{onClick:()=>x(Q=>Math.min(ae,Q+1)),disabled:v===ae,className:"px-3 py-1.5 border border-neutral-300 bg-white disabled:opacity-40 disabled:cursor-not-allowed hover:border-[#4F758B] font-bold",children:"Siguiente"})]})]})]})]}),g.jsx(ei,{children:q&&g.jsx(cn.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"fixed inset-0 z-[80] flex items-center justify-center bg-black/45 px-4 py-6",children:g.jsxs(cn.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},exit:{opacity:0,y:12},className:"w-full max-w-5xl bg-white border border-[#D0D0D0] shadow-2xl max-h-[92vh] flex flex-col",children:[g.jsx("div",{className:"h-1.5 bg-[#6CC24A] flex-shrink-0"}),g.jsxs("div",{className:"border-b border-neutral-200 px-5 sm:px-6 py-4 flex items-start justify-between gap-4 flex-shrink-0",children:[g.jsxs("div",{children:[g.jsx("p",{className:"text-[10px] uppercase tracking-[0.18em] font-black text-[#6B8FA3]",children:"Histórico · Banco sin BambooHR"}),g.jsx("h2",{className:"text-lg sm:text-xl font-black text-[#4F758B] mt-1",children:q.period}),g.jsxs("p",{className:"text-xs text-neutral-500 mt-1",children:[l.name," · ",q.bankWithoutBamboo," caso",q.bankWithoutBamboo===1?"":"s"," guardado",q.bankWithoutBamboo===1?"":"s"," en este reporte"]})]}),g.jsx("button",{type:"button",onClick:nt,className:"p-2 text-neutral-400 hover:text-neutral-700 hover:bg-neutral-100","aria-label":"Cerrar revisión de Banco sin Bamboo",children:g.jsx(Ya,{className:"w-5 h-5"})})]}),g.jsxs("div",{className:"px-5 sm:px-6 py-4 overflow-y-auto",children:[g.jsxs("div",{className:"border border-[#D6E8F4] bg-[#F7FBFD] px-4 py-3 text-xs text-neutral-600 leading-relaxed mb-4",children:["Aquí puedes volver días después al reporte y enviar a RRHH únicamente los falsos positivos que ya verificaste manualmente. Los casos previamente enviados se muestran como ",g.jsx("strong",{children:"Reportado a RRHH"}),"."]}),Ce?g.jsxs("div",{className:"py-14 text-center text-neutral-500 text-sm",children:[g.jsx(qa,{className:"w-5 h-5 animate-spin mx-auto mb-2 text-[#4F758B]"}),"Recuperando casos del reporte..."]}):_e?g.jsxs("div",{className:"border border-amber-200 bg-amber-50 text-amber-800 px-4 py-3 text-xs font-medium flex items-start gap-2",children:[g.jsx(fo,{className:"w-4 h-4 mt-0.5 flex-shrink-0"}),g.jsx("span",{children:_e})]}):ie.length>0?g.jsx("div",{className:"overflow-x-auto border border-neutral-200",children:g.jsxs("table",{className:"w-full text-left border-collapse min-w-[760px]",children:[g.jsx("thead",{children:g.jsxs("tr",{className:"bg-[#4F758B] text-white text-[10px] font-black uppercase tracking-wider",children:[g.jsx("th",{className:"px-3 py-3",children:"Nombre detectado"}),g.jsx("th",{className:"px-3 py-3",children:"Cuenta"}),g.jsx("th",{className:"px-3 py-3 text-right",children:"Monto banco"}),g.jsx("th",{className:"px-3 py-3",children:"Candidato BambooHR"}),g.jsx("th",{className:"px-3 py-3 text-center",children:"Acción"})]})}),g.jsx("tbody",{className:"divide-y divide-neutral-200 text-xs",children:ie.map(Q=>{var Oe;const ze=pe.has(Q.id),Ee=Q.amountBank;return g.jsxs("tr",{className:"hover:bg-neutral-50",children:[g.jsxs("td",{className:"px-3 py-3",children:[g.jsx("p",{className:"font-black text-neutral-800",children:Q.employee}),(Q.bankNameFile||Q.bankAccountHolder)&&g.jsx("p",{className:"text-[10px] text-neutral-400 mt-1",children:[Q.bankNameFile,Q.bankAccountHolder].filter(Boolean).join(" · ")})]}),g.jsx("td",{className:"px-3 py-3 font-mono font-bold text-neutral-600",children:Q.account||"—"}),g.jsx("td",{className:"px-3 py-3 text-right font-black text-neutral-700",children:Ee===null?"—":new Intl.NumberFormat(l.locale,{style:"currency",currency:l.currency,maximumFractionDigits:2}).format(Ee)}),g.jsx("td",{className:"px-3 py-3 text-neutral-600 max-w-[260px]",children:(Oe=Q.bestBambooCandidate)!=null&&Oe.employeeName?g.jsxs("div",{children:[g.jsx("p",{className:"font-bold text-[#4F758B]",children:Q.bestBambooCandidate.employeeName}),Q.bestBambooCandidate.employeeNumber&&g.jsxs("p",{className:"text-[10px] text-neutral-400 mt-0.5",children:["Employee Number ",Q.bestBambooCandidate.employeeNumber]})]}):g.jsx("span",{className:"text-neutral-400",children:"Sin candidato confiable"})}),g.jsx("td",{className:"px-3 py-3 text-center",children:ze?g.jsxs("span",{className:"inline-flex items-center gap-1.5 px-3 py-1.5 border border-emerald-200 bg-emerald-50 text-emerald-800 text-[10px] font-black uppercase tracking-wider",children:[g.jsx(Sc,{className:"w-3.5 h-3.5"}),"Reportado a RRHH"]}):g.jsx("button",{type:"button",onClick:()=>ee(Q),className:"inline-flex items-center gap-1.5 px-3 py-1.5 bg-[#6CC24A] hover:bg-[#5aaa3f] text-white text-[10px] font-black uppercase tracking-wider transition-colors",children:"Reportar a RRHH"})})]},Q.id)})})]})}):g.jsx("div",{className:"py-12 text-center text-neutral-400 text-sm",children:"No hay casos guardados en este reporte."})]}),g.jsxs("div",{className:"border-t border-neutral-200 px-5 sm:px-6 py-4 flex items-center justify-between gap-3 flex-shrink-0",children:[g.jsxs("span",{className:"text-[10px] text-neutral-400",children:["ID del reporte: ",q.id]}),g.jsx("button",{type:"button",onClick:nt,className:"border border-neutral-300 bg-white px-4 py-2 text-xs font-bold text-neutral-600 hover:bg-neutral-50",children:"Cerrar"})]})]})})}),Y&&q&&g.jsx(Lw,{row:Y,country:l,periodRange:Hn,operatorName:i,operatorEmail:a,executionId:q.id,reportUrl:q.reportUrl,onClose:()=>ee(null),onSuccess:Q=>{ce(ze=>{const Ee=new Set(ze);return Ee.add(Q),Ee})},onShowToast:n}),g.jsx(ei,{children:j&&g.jsx(cn.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"fixed inset-0 z-[80] flex items-center justify-center bg-black/45 px-4",children:g.jsxs(cn.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},exit:{opacity:0,y:12},className:"w-full max-w-lg bg-white border border-[#D0D0D0] shadow-xl",children:[g.jsxs("div",{className:"border-b border-neutral-200 px-5 py-4 flex items-center justify-between",children:[g.jsxs("div",{children:[g.jsx("h2",{className:"text-base font-black text-[#4F758B] uppercase tracking-tight",children:"Marcar reporte como resuelto"}),g.jsx("p",{className:"text-xs text-neutral-500 mt-1",children:j.period})]}),g.jsx("button",{onClick:()=>V(null),disabled:T,className:"p-2 text-neutral-400 hover:text-neutral-700 disabled:opacity-50","aria-label":"Cerrar",children:g.jsx(Ya,{className:"w-4 h-4"})})]}),g.jsxs("div",{className:"p-5 space-y-4",children:[g.jsx("div",{className:"bg-amber-50 border border-amber-200 text-amber-800 p-3 text-xs leading-relaxed",children:"Antes de resolver, confirma que las diferencias fueron revisadas y explica cómo se cerró el caso."}),g.jsxs("label",{className:"block",children:[g.jsx("span",{className:"text-[10px] uppercase tracking-wider font-black text-neutral-500",children:"Comentario de resolución"}),g.jsx("textarea",{value:G,onChange:Q=>J(Q.target.value),placeholder:"Ejemplo: Se corrigió la cuenta bancaria en nómina y se validó contra el banco.",className:"mt-2 w-full min-h-[130px] border border-[#D0D0D0] px-3 py-2 text-sm focus:outline-none focus:border-[#4F758B]"})]})]}),g.jsxs("div",{className:"border-t border-neutral-200 px-5 py-4 flex justify-end gap-3",children:[g.jsx("button",{onClick:()=>V(null),disabled:T,className:"border border-neutral-300 bg-white px-4 py-2 text-xs font-bold text-neutral-600 hover:bg-neutral-50 disabled:opacity-50",children:"Cancelar"}),g.jsxs("button",{onClick:Nn,disabled:T,className:"bg-[#4F758B] hover:bg-[#41677b] text-white px-4 py-2 text-xs font-black uppercase tracking-wider disabled:opacity-50 inline-flex items-center gap-2",children:[T&&g.jsx(qa,{className:"w-4 h-4 animate-spin"}),"Confirmar resolución"]})]})]})})})]})}function Bd({message:n,type:e,onClose:i}){M.useEffect(()=>{const c=setTimeout(()=>{i()},2e3);return()=>clearTimeout(c)},[i]);const a={success:"bg-[#6CC24A] text-white border-l-4 border-emerald-700",error:"bg-[#ba1a1a] text-white border-l-4 border-red-800",info:"bg-[#4F758B] text-white border-l-4 border-slate-700"},l={success:Sc,error:Sj,info:uw}[e];return g.jsx("div",{className:"fixed bottom-6 right-6 z-50 max-w-sm w-full",children:g.jsxs(cn.div,{initial:{opacity:0,y:30,scale:.95},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:20,scale:.95},className:`flex items-center gap-3 p-4 shadow-lg rounded-md border border-neutral-200/10 ${a[e]}`,children:[g.jsx("span",{className:"flex-shrink-0",children:g.jsx(l,{className:"w-5 h-5"})}),g.jsx("div",{className:"flex-1 font-medium text-sm leading-tight pr-2",children:n}),g.jsx("button",{onClick:i,className:"flex-shrink-0 hover:bg-white/20 p-1 rounded transition-colors text-white",children:g.jsx(Ya,{className:"w-4 h-4"})})]})})}function WR({onShowToast:n}){const[e,i]=M.useState(!1),a=async()=>{if(!oo||!lt){n("El acceso con Google aún no está disponible. Contacta a IT.","error");return}i(!0),await pR();const{error:l}=await lt.auth.signInWithOAuth({provider:"google",options:{redirectTo:Uw(),queryParams:{access_type:"offline",prompt:"select_account"}}});l&&(i(!1),n("No se pudo iniciar sesión con Google. Intenta nuevamente.","error"))};return g.jsxs("div",{className:"min-h-screen w-full flex flex-col justify-between bg-[#F5F5F5] relative overflow-hidden font-sans",children:[g.jsx("div",{className:"h-1.5 w-full bg-[#4F758B]"}),g.jsx("div",{className:"flex-1 flex items-center justify-center p-4",children:g.jsxs(cn.div,{initial:{opacity:0,y:15},animate:{opacity:1,y:0},transition:{duration:.5,ease:"easeOut"},className:"w-full max-w-md bg-white border border-[#D0D0D0] p-8 shadow-xl flex flex-col items-center gap-6",children:[g.jsx("div",{className:"w-full flex justify-center py-2",children:g.jsx("img",{alt:"Logo GOMEZLEE MARKETING",className:"h-14 object-contain",src:"https://dbit.digitalcompass.agency/storage/v1/object/public/public-assets/GLM_completo.png",referrerPolicy:"no-referrer"})}),g.jsx("div",{className:"text-center w-full",children:g.jsx("h1",{className:"text-2xl font-bold text-[#4F758B] tracking-tight",children:"Portal de Cruce de Cuentas GLM"})}),g.jsx("button",{onClick:a,disabled:e||!oo,className:"w-full relative overflow-hidden flex items-center justify-center gap-3 bg-[#6CC24A] hover:bg-[#5bb03c] disabled:bg-neutral-300 disabled:cursor-not-allowed text-white font-semibold py-3.5 px-6 transition-all duration-150 transform active:scale-[0.99] select-none text-sm tracking-wide",children:e?g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsxs("svg",{className:"animate-spin h-5 w-5 text-white",fill:"none",viewBox:"0 0 24 24",children:[g.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),g.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),g.jsx("span",{children:"Redirigiendo a Google..."})]}):g.jsxs(g.Fragment,{children:[g.jsxs("svg",{className:"w-5 h-5 flex-shrink-0 fill-current text-white",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:[g.jsx("path",{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"}),g.jsx("path",{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"}),g.jsx("path",{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"}),g.jsx("path",{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"})]}),g.jsx("span",{children:"Continuar con Google"})]})}),!oo&&g.jsxs("div",{className:"w-full flex items-start gap-2 border border-amber-200 bg-amber-50 px-3 py-2 text-[11px] text-amber-800 leading-relaxed",children:[g.jsx(fo,{className:"w-4 h-4 mt-0.5 flex-shrink-0"}),g.jsx("span",{children:"El acceso con Google está pendiente de activación."})]})]})})]})}const eO="https://dbit.digitalcompass.agency/storage/v1/object/public/public-assets/GLM_completo.png";function tO({onSelect:n}){return g.jsxs("div",{className:"min-h-screen bg-[#F5F5F5] flex flex-col font-sans",children:[g.jsx("div",{className:"h-1.5 bg-[#6CC24A]"}),g.jsx("main",{className:"flex-1 flex items-center justify-center px-4 py-10",children:g.jsxs(cn.section,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},className:"w-full max-w-3xl bg-white border border-[#D0D0D0] shadow-xl p-6 sm:p-9",children:[g.jsx("img",{src:eO,alt:"GomezLee Marketing",className:"h-14 object-contain mb-7"}),g.jsxs("div",{className:"flex items-start gap-3 mb-7",children:[g.jsx("div",{className:"bg-[#4F758B]/10 p-2.5 rounded-full",children:g.jsx(cw,{className:"w-5 h-5 text-[#4F758B]"})}),g.jsxs("div",{children:[g.jsx("h1",{className:"text-xl sm:text-2xl font-black text-[#4F758B] uppercase tracking-tight",children:"Selecciona el país"}),g.jsx("p",{className:"text-sm text-neutral-500 mt-1",children:"El portal cargará las reglas, la moneda y los reportes correspondientes."})]})]}),g.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",children:mo.map(e=>g.jsxs("button",{type:"button",disabled:!e.enabled,onClick:()=>e.enabled&&n(e.code),className:`text-left border p-5 transition-all min-h-[150px] flex flex-col justify-between ${e.enabled?"border-[#4F758B]/30 hover:border-[#4F758B] hover:shadow-md bg-white":"border-neutral-200 bg-neutral-50 cursor-not-allowed opacity-70"}`,children:[g.jsxs("div",{className:"flex items-start justify-between gap-3",children:[g.jsx("img",{src:e.flag,alt:"",className:"w-12 h-8 sm:w-16 sm:h-10 object-cover shadow-sm border border-neutral-200","aria-hidden":"true"}),e.enabled?g.jsx(mj,{className:"w-5 h-5 text-[#6CC24A]"}):g.jsx($j,{className:"w-4 h-4 text-neutral-400"})]}),g.jsxs("div",{children:[g.jsx("p",{className:"font-black text-[#4F758B] uppercase tracking-wide",children:e.name}),g.jsx("p",{className:"text-xs text-neutral-500 mt-1",children:e.enabled?`Moneda ${e.currency}`:"Próximamente"})]})]},e.code))})]})})]})}const nO="cruce_cuentas_mi_acceso",vv=2;function Hw(n){return(n??"").trim().toLowerCase()}function sO(n){return Array.isArray(n)?Array.from(new Set(n.map(e=>String(e??"").trim().toUpperCase()).filter(Boolean))):[]}function iO(n){const e=Array.isArray(n)?n[0]:n;if(!e||typeof e!="object")throw new Error("Supabase no devolvió una respuesta válida al comprobar el acceso.");return{ok:e.ok===!0,authenticated:e.autenticado===!0,authorized:e.autorizado===!0,email:Hw(typeof e.email=="string"?e.email:""),name:typeof e.nombre=="string"?e.nombre.trim():"",active:e.activo===!0,appAccess:e.acceso_app===!0,historyAccess:e.acceso_historicos===!0,receivesGeneratedReports:e.recibe_reportes_generados===!0,receivesResolvedEmails:e.recibe_correos_resuelto===!0,countries:sO(e.paises),reason:typeof e.motivo=="string"?e.motivo.trim():""}}function aO(n){return new Promise(e=>window.setTimeout(e,n))}async function rO(){if(!lt)throw new Error("Supabase no está configurado.");let n=null;for(let i=1;i<=vv;i+=1){const{data:a,error:l}=await lt.rpc(nO);if(!l)return iO(a);n=l,i{if(typeof indexedDB>"u"){e(new Error("IndexedDB no está disponible en este navegador."));return}const i=indexedDB.open(oO,lO);i.onupgradeneeded=()=>{const a=i.result;a.objectStoreNames.contains(ss)||a.createObjectStore(ss,{keyPath:"sessionId"})},i.onsuccess=()=>n(i.result),i.onerror=()=>e(i.error??new Error("No se pudo abrir IndexedDB.")),i.onblocked=()=>e(new Error("La base local está bloqueada por otra pestaña."))}),Ra.catch(()=>{Ra=null}),Ra)}function uO(n){return new Promise((e,i)=>{n.onsuccess=()=>e(n.result),n.onerror=()=>i(n.error??new Error("Falló una operación local."))})}function $c(n){return new Promise((e,i)=>{n.oncomplete=()=>e(),n.onerror=()=>i(n.error??new Error("Falló la transacción local.")),n.onabort=()=>i(n.error??new Error("La transacción local fue cancelada."))})}function hO(n){if(!n||typeof n!="object")return!1;const e=n;return e.version===$w&&typeof e.sessionId=="string"&&typeof e.updatedAt=="number"&&(e.currentView==="cruce"||e.currentView==="historial")&&Array.isArray(e.uploadedBankFiles)&&typeof e.isCruceExecuted=="boolean"}async function dO(n,e){const i=Date.now()-cO,a=n.transaction(ss,"readwrite"),l=$c(a),u=a.objectStore(ss).openCursor();await new Promise((d,m)=>{u.onsuccess=()=>{const p=u.result;if(!p){d();return}const y=p.value;y.sessionId!==e&&typeof y.updatedAt=="number"&&y.updatedAtm(u.error??new Error("No se pudieron limpiar borradores antiguos."))}),await l}async function fO(){const n=tm();try{const e=await nm(),i=e.transaction(ss,"readonly"),a=$c(i),l=await uO(i.objectStore(ss).get(n));return await a,dO(e,n).catch(()=>{}),hO(l)?l:null}catch{return null}}function mO(n){const e=tm(),i={...n,version:$w,sessionId:e,updatedAt:Date.now()};return Ia=Ia.catch(()=>{}).then(async()=>{const l=(await nm()).transaction(ss,"readwrite"),c=$c(l);l.objectStore(ss).put(i),await c}).catch(()=>{}),Ia}function Sv(){const n=tm();return Ia=Ia.catch(()=>{}).then(async()=>{const i=(await nm()).transaction(ss,"readwrite"),a=$c(i);i.objectStore(ss).delete(n),await a}).catch(()=>{}),Ia}const Tv=!0,_f="glm_cruce_selected_country",pO={name:"Isaac Aracena",email:"iaracena@gomezleemarketing.com"};function gO(n){const e=(n==null?void 0:n.user_metadata)??{},i=e.full_name||e.name||e.display_name;if(i)return String(i);const a=String((n==null?void 0:n.email)??"Usuario GLM");return a.includes("@")?a.split("@")[0]:a}function yO(){try{const n=window.localStorage.getItem(_f),e=mo.find(i=>i.code===n&&i.enabled);return(e==null?void 0:e.code)??null}catch{return null}}function bO(){const[n,e]=M.useState("cruce"),[i,a]=M.useState(!1),[l,c]=M.useState(null),[u,d]=M.useState([]),[m,p]=M.useState([]),[y,v]=M.useState(!1),[x,_]=M.useState(null),[S,T]=M.useState(0),[k,C]=M.useState(()=>yO()),[D,j]=M.useState(null),[V,G]=M.useState(Tv),[J,q]=M.useState(!1),[K,ie]=M.useState(null),X=M.useRef(0),pe=M.useMemo(()=>oo&<,[]),ce=k?_b(k):null,Ce=(te,A)=>{ie({message:te,type:A})};M.useEffect(()=>{if(!pe||!lt){G(!1);return}let te=!0;const A=async W=>{const ae=++X.current;if(!(W!=null&&W.email)){te&&ae===X.current&&j(null);return}try{const de=await rO();if(!te||ae!==X.current)return;const xe=Hw(W.email),nt=!!de.email&&de.email===xe;if(!de.ok||!de.authenticated||!de.authorized||!de.active||!de.appAccess||!nt){j(null),Ce(de.reason||"Tu usuario no tiene acceso autorizado a este módulo.","error"),lt.auth.signOut();return}j({name:de.name||gO(W),email:xe})}catch(de){if(!te||ae!==X.current)return;console.error("No se pudo validar el acceso en Supabase:",de),j(null),Ce("No se pudo validar tu acceso en Supabase. Intenta iniciar sesión nuevamente.","error"),lt.auth.signOut()}};(async()=>{var W;try{const{data:ae,error:de}=await lt.auth.getSession();if(de)throw de;if(!te)return;await A((W=ae.session)==null?void 0:W.user)}catch(ae){if(!te)return;console.error("No se pudo recuperar la sesión de Supabase:",ae),j(null),Ce("No se pudo recuperar tu sesión. Intenta iniciar sesión nuevamente.","error")}finally{te&&G(!1)}})();const{data:Z}=lt.auth.onAuthStateChange((W,ae)=>{if(te){if(ae!=null&&ae.user){window.setTimeout(()=>{te&&A(ae.user)},0);return}W==="SIGNED_OUT"&&(X.current+=1,j(null),G(!1))}});return()=>{te=!1,X.current+=1,Z.subscription.unsubscribe()}},[pe]),M.useEffect(()=>{if(!pe||!lt)return;let te=0;const A=()=>{if(document.visibilityState!=="visible")return;const z=Date.now();z-te<5e3||(te=z,So(300).catch(Z=>{console.warn("No se pudo revalidar la sesión al reanudar la pestaña:",Z)}))};return document.addEventListener("visibilitychange",A),window.addEventListener("focus",A),()=>{document.removeEventListener("visibilitychange",A),window.removeEventListener("focus",A)}},[pe]),M.useEffect(()=>{let te=!0;return(async()=>{const z=await fO();te&&(z&&(!k||z.countryCode===k?(z.countryCode&&C(z.countryCode),e(z.currentView),c(z.uploadedPayroll),d(Array.isArray(z.uploadedPayrollFiles)?z.uploadedPayrollFiles:[]),p(z.uploadedBankFiles),v(z.isCruceExecuted),_(z.cruceResponse)):await Sv()),te&&q(!0))})(),()=>{te=!1}},[]),M.useEffect(()=>{J&&mO({countryCode:k,currentView:n,uploadedPayroll:l,uploadedPayrollFiles:u,uploadedBankFiles:m,isCruceExecuted:y,cruceResponse:x})},[J,k,n,l,u,m,y,x]);const Se=()=>{c(null),d([]),p([]),v(!1),_(null),T(te=>te+1)},_e=async()=>{await Sv(),lt&&await lt.auth.signOut(),j(null),C(null),window.localStorage.removeItem(_f),Se(),e("cruce"),Ce("Sesión cerrada correctamente.","success")},P=()=>{Se(),e("cruce"),Ce("Nuevo cruce iniciado.","success")},Y=te=>{const A=_b(te);if(!A.enabled){Ce(`${A.name} estará disponible próximamente.`,"info");return}k&&k!==te&&Se(),C(te),window.localStorage.setItem(_f,te),e("cruce"),a(!1)},ee=()=>{C(null),a(!1)};if(V)return g.jsx("div",{className:"min-h-screen bg-[#F5F5F5] flex items-center justify-center text-[#4F758B] font-black uppercase tracking-wider",children:"Validando acceso..."});if(!D)return g.jsxs(g.Fragment,{children:[g.jsx(WR,{onShowToast:Ce}),g.jsx(ei,{children:K&&g.jsx(Bd,{message:K.message,type:K.type,onClose:()=>ie(null)})})]});if(!ce)return g.jsxs(g.Fragment,{children:[g.jsx(tO,{onSelect:Y}),g.jsx(ei,{children:K&&g.jsx(Bd,{message:K.message,type:K.type,onClose:()=>ie(null)})})]});const fe=D??pO;return g.jsxs("div",{className:"min-h-screen bg-[#F5F5F5] selection:bg-[#6CC24A] selection:text-white antialiased font-sans flex flex-col",children:[g.jsxs(cn.div,{initial:{opacity:0},animate:{opacity:1},className:"min-h-screen flex w-full relative overflow-x-hidden",children:[g.jsx(ei,{children:i&&g.jsx(cn.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},onClick:()=>a(!1),className:"fixed inset-0 bg-black/45 z-45 md:hidden"},"backdrop")}),g.jsx(oN,{currentView:n,onViewChange:te=>{e(te),a(!1)},onNewCruce:()=>{P(),a(!1)},isSidebarOpen:i,onCloseSidebar:()=>a(!1),user:fe,isAuthEnabled:Tv,onLogout:_e,country:ce,onCountryChange:Y,onChooseAnotherCountry:ee}),g.jsx("div",{className:"pl-0 md:pl-64 flex-1 flex flex-col w-full min-h-screen transition-all duration-300",children:g.jsx(ei,{mode:"wait",children:n==="cruce"?g.jsx(cn.div,{initial:{opacity:0,x:10},animate:{opacity:1,x:0},exit:{opacity:0,x:-10},transition:{duration:.2},className:"flex-1 flex flex-col",children:g.jsx($R,{onShowToast:Ce,uploadedPayroll:l,setUploadedPayroll:c,uploadedPayrollFiles:u,setUploadedPayrollFiles:d,uploadedBankFiles:m,setUploadedBankFiles:p,isCruceExecuted:y,setIsCruceExecuted:v,response:x,setResponse:_,onOpenSidebar:()=>a(!0),operatorName:fe.name,operatorEmail:fe.email,resetToken:S,country:ce})},`view-cruce-${ce.code}`):g.jsx(cn.div,{initial:{opacity:0,x:10},animate:{opacity:1,x:0},exit:{opacity:0,x:-10},transition:{duration:.2},className:"flex-1 flex flex-col",children:g.jsx(ZR,{onShowToast:Ce,onOpenSidebar:()=>a(!0),operatorName:fe.name,operatorEmail:fe.email,country:ce})},`view-history-${ce.code}`)})})]},`interface-${ce.code}`),g.jsx(ei,{children:K&&g.jsx(Bd,{message:K.message,type:K.type,onClose:()=>ie(null)})})]})}window.addEventListener("pageshow",n=>{n.persisted&&window.location.reload()});o1.createRoot(document.getElementById("root")).render(g.jsx(M.StrictMode,{children:g.jsx(bO,{})}));