@botuyo/chat-widget-standalone 1.0.44 → 1.0.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/botuyo-chat.es.js +23 -23
- package/dist/botuyo-chat.es.js.map +1 -1
- package/dist/botuyo-chat.umd.js +1 -1
- package/dist/botuyo-chat.umd.js.map +1 -1
- package/dist/chunk-audio-B4jwb7Se.js +12 -0
- package/dist/chunk-audio-B4jwb7Se.js.map +1 -0
- package/dist/{chunk-chat-ui-DnjbBMZe.js → chunk-chat-ui-DKipQPcr.js} +13 -13
- package/dist/chunk-chat-ui-DKipQPcr.js.map +1 -0
- package/dist/{chunk-gallery-Daf3BU2J.js → chunk-gallery-BAW9nHMc.js} +2 -2
- package/dist/{chunk-gallery-Daf3BU2J.js.map → chunk-gallery-BAW9nHMc.js.map} +1 -1
- package/dist/src/chat-widget/components/AudioPlayer.d.ts.map +1 -1
- package/dist/src/chat-widget/components/MessageBubble.d.ts.map +1 -1
- package/dist/stats-umd.html +1 -1
- package/dist/stats.html +1 -1
- package/package.json +1 -1
- package/dist/chunk-audio-Cnj7d9z9.js +0 -11
- package/dist/chunk-audio-Cnj7d9z9.js.map +0 -1
- package/dist/chunk-chat-ui-DnjbBMZe.js.map +0 -1
package/dist/botuyo-chat.es.js
CHANGED
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
import{createRoot as t}from"react-dom/client";import e,{useRef as r,useState as o,useEffect as a,Component as n,useMemo as i,useCallback as s,useReducer as c,createContext as d,useContext as l,lazy as u,Suspense as p}from"react";import{u as h,g,e as m,f,D as w,c as b,X as v,M as y,l as x,m as k,t as _,h as z,i as E,j as S,k as O,n as I,o as $}from"./chunk-chat-ui-DnjbBMZe.js";import{p as C}from"./chunk-chat-ui-DnjbBMZe.js";import{jsx as N,jsxs as T}from"react/jsx-runtime";import{l as M}from"./vendor-socket-DMqyM-90.js";const A='@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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-outline-style:solid;--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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",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-900:oklch(39.6% .141 25.723);--color-amber-500:oklch(76.9% .188 70.08);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-yellow-900:oklch(42.1% .095 57.708);--color-green-50:oklch(98.2% .018 155.826);--color-green-200:oklch(92.5% .084 155.995);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-emerald-950:oklch(26.2% .051 172.552);--color-teal-500:oklch(70.4% .14 182.503);--color-teal-600:oklch(60% .118 184.704);--color-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-900:oklch(37.9% .146 265.522);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:1.33333;--text-sm:.875rem;--text-sm--line-height:1.42857;--text-base:1rem;--text-base--line-height:1.5;--text-lg:1.125rem;--text-lg--line-height:1.55556;--text-xl:1.25rem;--text-xl--line-height:1.4;--text-2xl:1.5rem;--text-2xl--line-height:1.33333;--text-3xl:1.875rem;--text-3xl--line-height:1.2;--text-4xl:2.25rem;--text-4xl--line-height:1.11111;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0,0,.2,1)infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--animate-bounce:bounce 1s infinite;--blur-sm:8px;--blur-md:12px;--blur-2xl:40px;--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)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{border:0 solid;box-sizing:border-box;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;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);line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}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,pre,samp{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-size:1em;font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}::file-selector-button{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}: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}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{border-width:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.not-sr-only{clip-path:none;height:auto;margin:0;overflow:visible;padding:0;position:static;white-space:normal;width:auto}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.-top-1{top:calc(var(--spacing)*-1)}.-top-1\\.5{top:calc(var(--spacing)*-1.5)}.top-0{top:calc(var(--spacing)*0)}.top-1{top:calc(var(--spacing)*1)}.top-1\\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-3{top:calc(var(--spacing)*3)}.top-4{top:calc(var(--spacing)*4)}.top-full{top:100%}.-right-0{right:calc(var(--spacing)*0)}.-right-0\\.5{right:calc(var(--spacing)*-.5)}.-right-1{right:calc(var(--spacing)*-1)}.-right-1\\.5{right:calc(var(--spacing)*-1.5)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.right-6{right:calc(var(--spacing)*6)}.-bottom-0{bottom:calc(var(--spacing)*0)}.-bottom-0\\.5{bottom:calc(var(--spacing)*-.5)}.-bottom-1{bottom:calc(var(--spacing)*-1)}.bottom-3{bottom:calc(var(--spacing)*3)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing)*0)}.left-1{left:calc(var(--spacing)*1)}.left-1\\/2{left:50%}.left-4{left:calc(var(--spacing)*4)}.left-6{left:calc(var(--spacing)*6)}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\\[60\\]{z-index:60}.z-\\[9999\\]{z-index:9999}.z-\\[100000\\]{z-index:100000}.float-left{float:left}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.m-1{margin:calc(var(--spacing)*1)}.m-2{margin:calc(var(--spacing)*2)}.m-3{margin:calc(var(--spacing)*3)}.m-4{margin:calc(var(--spacing)*4)}.m-5{margin:calc(var(--spacing)*5)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3{margin-inline:calc(var(--spacing)*3)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-5{margin-inline:calc(var(--spacing)*5)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.my-3{margin-block:calc(var(--spacing)*3)}.my-4{margin-block:calc(var(--spacing)*4)}.my-5{margin-block:calc(var(--spacing)*5)}.my-8{margin-block:calc(var(--spacing)*8)}.mt-0{margin-top:calc(var(--spacing)*0)}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.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)}.mt-6{margin-top:calc(var(--spacing)*6)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-3{margin-right:calc(var(--spacing)*3)}.mr-4{margin-right:calc(var(--spacing)*4)}.mr-5{margin-right:calc(var(--spacing)*5)}.mr-auto{margin-right:auto}.mb-0{margin-bottom:calc(var(--spacing)*0)}.mb-0\\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.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-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.ml-0{margin-left:calc(var(--spacing)*0)}.ml-0\\.5{margin-left:calc(var(--spacing)*.5)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-5{margin-left:calc(var(--spacing)*5)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.h-0{height:calc(var(--spacing)*0)}.h-1{height:calc(var(--spacing)*1)}.h-2{height:calc(var(--spacing)*2)}.h-2\\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.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-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-32{height:calc(var(--spacing)*32)}.h-48{height:calc(var(--spacing)*48)}.h-56{height:calc(var(--spacing)*56)}.h-\\[44px\\]{height:44px}.h-auto{height:auto}.h-full{height:100%}.max-h-\\[90vh\\]{max-height:90vh}.max-h-\\[120px\\]{max-height:120px}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-\\[40px\\]{min-height:40px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0{width:calc(var(--spacing)*0)}.w-1{width:calc(var(--spacing)*1)}.w-2{width:calc(var(--spacing)*2)}.w-2\\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.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-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-14{width:calc(var(--spacing)*14)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-\\[3px\\]{width:3px}.w-\\[350px\\]{width:350px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.max-w-0{max-width:calc(var(--spacing)*0)}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\\[60px\\]{max-width:60px}.max-w-\\[85\\%\\]{max-width:85%}.max-w-\\[90\\%\\]{max-width:90%}.max-w-\\[320px\\]{max-width:320px}.max-w-\\[350px\\]{max-width:350px}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\\[200px\\]{min-width:200px}.min-w-\\[350px\\]{min-width:350px}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.origin-bottom{transform-origin:bottom}.origin-bottom-left{transform-origin:0 100%}.origin-bottom-right{transform-origin:100% 100%}.-translate-x-1{--tw-translate-x:calc(var(--spacing)*-1)}.-translate-x-1,.-translate-x-1\\/2{translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-1\\/2{--tw-translate-x:-50%}.-translate-x-4{--tw-translate-x:calc(var(--spacing)*-4)}.-translate-x-4,.-translate-x-6{translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-6{--tw-translate-x:calc(var(--spacing)*-6)}.translate-x-0{--tw-translate-x:calc(var(--spacing)*0)}.translate-x-0,.translate-x-4{translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing)*4)}.translate-x-6{--tw-translate-x:calc(var(--spacing)*6)}.-translate-y-1,.translate-x-6{translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1{--tw-translate-y:calc(var(--spacing)*-1)}.-translate-y-1\\/2{--tw-translate-y:-50%}.-translate-y-1\\/2,.translate-y-0{translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0)}.translate-y-2{--tw-translate-y:calc(var(--spacing)*2)}.translate-y-2,.translate-y-8{translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-8{--tw-translate-y:calc(var(--spacing)*8)}.translate-y-full{--tw-translate-y:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-none{translate:none}.scale-50{--tw-scale-x:50%;--tw-scale-y:50%;--tw-scale-z:50%}.scale-50,.scale-90{scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-90{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%}.scale-100,.scale-95{scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%}.scale-105,.scale-110{scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%}.scale-3d{scale:var(--tw-scale-x)var(--tw-scale-y)var(--tw-scale-z)}.scale-\\[0\\.85\\]{scale:.85}.-rotate-90{rotate:-90deg}.rotate-0{rotate:none}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-bounce{animation:var(--animate-bounce)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,)var(--tw-pan-y,)var(--tw-pinch-zoom,)}.resize{resize:both}.resize-none{resize:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}.gap-\\[2px\\]{gap:2px}.gap-\\[3px\\]{gap:3px}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-end:calc(var(--spacing)*1*(1 - var(--tw-space-y-reverse)));margin-block-start:calc(var(--spacing)*1*var(--tw-space-y-reverse))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-end:calc(var(--spacing)*2*(1 - var(--tw-space-y-reverse)));margin-block-start:calc(var(--spacing)*2*var(--tw-space-y-reverse))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-end:calc(var(--spacing)*3*(1 - var(--tw-space-y-reverse)));margin-block-start:calc(var(--spacing)*3*var(--tw-space-y-reverse))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-end:calc(var(--spacing)*4*(1 - var(--tw-space-y-reverse)));margin-block-start:calc(var(--spacing)*4*var(--tw-space-y-reverse))}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-end-width:calc(1px*(1 - var(--tw-divide-x-reverse)));border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-style:var(--tw-border-style)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-bottom-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.scroll-smooth{scroll-behavior:smooth}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\\[18px\\]{border-radius:18px}.rounded-\\[24px\\]{border-radius:24px}.rounded-\\[28px\\]{border-radius:28px}.rounded-\\[32px\\]{border-radius:32px}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-none{border-radius:0}.rounded-xl{border-radius:var(--radius-xl)}.rounded-s{border-end-start-radius:.25rem}.rounded-s,.rounded-ss{border-start-start-radius:.25rem}.rounded-e{border-end-end-radius:.25rem}.rounded-e,.rounded-se{border-start-end-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-t{border-top-right-radius:.25rem}.rounded-l,.rounded-t{border-top-left-radius:.25rem}.rounded-l{border-bottom-left-radius:.25rem}.rounded-l-\\[4px\\]{border-bottom-left-radius:4px;border-top-left-radius:4px}.rounded-tl{border-top-left-radius:.25rem}.rounded-tl-\\[4px\\]{border-top-left-radius:4px}.rounded-r{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.rounded-r-\\[4px\\]{border-bottom-right-radius:4px;border-top-right-radius:4px}.rounded-tr{border-top-right-radius:.25rem}.rounded-tr-\\[4px\\]{border-top-right-radius:4px}.rounded-b{border-bottom-left-radius:.25rem}.rounded-b,.rounded-br{border-bottom-right-radius:.25rem}.rounded-br-\\[4px\\]{border-bottom-right-radius:4px}.rounded-bl{border-bottom-left-radius:.25rem}.rounded-bl-\\[4px\\]{border-bottom-left-radius:4px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-\\[hsl\\(210\\,90\\%\\,50\\%\\)\\]{border-color:#0d80f2}.border-blue-200{border-color:var(--color-blue-200)}.border-emerald-200{border-color:var(--color-emerald-200)}.border-gray-200{border-color:var(--color-gray-200)}.border-green-200{border-color:var(--color-green-200)}.border-red-200{border-color:var(--color-red-200)}.border-yellow-200{border-color:var(--color-yellow-200)}.border-yellow-300{border-color:var(--color-yellow-300)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\\/20{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\\/20{background-color:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.bg-black{background-color:var(--color-black)}.bg-black\\/5{background-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.bg-black\\/5{background-color:color-mix(in oklab,var(--color-black)5%,transparent)}}.bg-black\\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\\/70{background-color:color-mix(in oklab,var(--color-black)70%,transparent)}}.bg-black\\/95{background-color:#000000f2}@supports (color:color-mix(in lab,red,red)){.bg-black\\/95{background-color:color-mix(in oklab,var(--color-black)95%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\\/20{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\\/20{background-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-current,.bg-current\\/20{background-color:currentColor}@supports (color:color-mix(in lab,red,red)){.bg-current\\/20{background-color:color-mix(in oklab,currentcolor 20%,transparent)}}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\\/10{background-color:color-mix(in oklab,var(--color-emerald-500)10%,transparent)}}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-500\\/20{background-color:#6a728233}@supports (color:color-mix(in lab,red,red)){.bg-gray-500\\/20{background-color:color-mix(in oklab,var(--color-gray-500)20%,transparent)}}.bg-green-50{background-color:var(--color-green-50)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\\/10{background-color:color-mix(in oklab,var(--color-green-500)10%,transparent)}}.bg-green-500\\/20{background-color:#00c75833}@supports (color:color-mix(in lab,red,red)){.bg-green-500\\/20{background-color:color-mix(in oklab,var(--color-green-500)20%,transparent)}}.bg-purple-500{background-color:var(--color-purple-500)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-red-500\\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\\/20{background-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-white\\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\\/80{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab}.bg-gradient-to-b,.bg-gradient-to-br{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab}.bg-gradient-to-r{--tw-gradient-position:to right in oklab}.bg-gradient-to-r,.bg-gradient-to-t{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab}.from-black{--tw-gradient-from:var(--color-black);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-black\\/40{--tw-gradient-from:#0006}@supports (color:color-mix(in lab,red,red)){.from-black\\/40{--tw-gradient-from:color-mix(in oklab,var(--color-black)40%,transparent)}}.from-black\\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-black\\/60{--tw-gradient-from:#0009}@supports (color:color-mix(in lab,red,red)){.from-black\\/60{--tw-gradient-from:color-mix(in oklab,var(--color-black)60%,transparent)}}.from-black\\/60{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-50{--tw-gradient-from:var(--color-blue-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-emerald-400{--tw-gradient-from:var(--color-emerald-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-emerald-500{--tw-gradient-from:var(--color-emerald-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-transparent{--tw-gradient-via:transparent;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-black{--tw-gradient-to:var(--color-black);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-black\\/20{--tw-gradient-to:#0003}@supports (color:color-mix(in lab,red,red)){.to-black\\/20{--tw-gradient-to:color-mix(in oklab,var(--color-black)20%,transparent)}}.to-black\\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-green-50{--tw-gradient-to:var(--color-green-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-teal-500{--tw-gradient-to:var(--color-teal-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-teal-600{--tw-gradient-to:var(--color-teal-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-repeat{background-repeat:repeat}.mask-no-clip{-webkit-mask-clip:no-clip;mask-clip:no-clip}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.fill-current{fill:currentColor}.stroke-\\[2\\.5\\]{stroke-width:2.5px}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:calc(var(--spacing)*1)}.p-1\\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.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{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.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-10{padding-inline:calc(var(--spacing)*10)}.py-0{padding-block:calc(var(--spacing)*0)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.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-4{padding-block:calc(var(--spacing)*4)}.py-5{padding-block:calc(var(--spacing)*5)}.py-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-5{padding-top:calc(var(--spacing)*5)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-5{padding-right:calc(var(--spacing)*5)}.pr-8{padding-right:calc(var(--spacing)*8)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-5{padding-left:calc(var(--spacing)*5)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.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-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--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-\\[7px\\]{font-size:7px}.text-\\[8px\\]{font-size:8px}.text-\\[9px\\]{font-size:9px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.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\\.1em\\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\\[0\\.2em\\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-amber-500{color:var(--color-amber-500)}.text-blue-500{color:var(--color-blue-500)}.text-blue-700{color:var(--color-blue-700)}.text-blue-900{color:var(--color-blue-900)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-900{color:var(--color-emerald-900)}.text-gray-600{color:var(--color-gray-600)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-900{color:var(--color-green-900)}.text-purple-500{color:var(--color-purple-500)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-900{color:var(--color-red-900)}.text-white{color:var(--color-white)}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-800{color:var(--color-yellow-800)}.text-yellow-900{color:var(--color-yellow-900)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions}.diagonal-fractions,.lining-nums{font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums}.oldstyle-nums,.ordinal{font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.ordinal{--tw-ordinal:ordinal}.proportional-nums{--tw-numeric-spacing:proportional-nums}.proportional-nums,.slashed-zero{font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero}.stacked-fractions{--tw-numeric-fraction:stacked-fractions}.stacked-fractions,.tabular-nums{font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-inner{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.shadow-lg,.shadow-md{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)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow-sm,.shadow-xl{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)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)}.ring,.ring-2{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)}.inset-ring{--tw-inset-ring-shadow:inset 0 0 0 1px var(--tw-inset-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)}.ring-\\[hsl\\(210\\,90\\%\\,50\\%\\)\\]\\/30{--tw-ring-color:oklab(60.6854% -.0507387 -.187037/.3)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px)}.blur,.blur-2xl{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,)}.blur-2xl{--tw-blur:blur(var(--blur-2xl))}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a))drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a)drop-shadow(0 1px 1px #0000000f)}.drop-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,)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-md{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md))}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm))}.backdrop-blur-sm,.backdrop-grayscale{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%)}.backdrop-invert{--tw-backdrop-invert:invert(100%)}.backdrop-invert,.backdrop-sepia{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-duration:var(--tw-duration,var(--default-transition-duration));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,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.transition-all{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.transition-colors{transition-duration:var(--tw-duration,var(--default-transition-duration));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-opacity{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.transition-transform{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-400{--tw-duration:.4s;transition-duration:.4s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.duration-1000{--tw-duration:1s;transition-duration:1s}.ease-\\[cubic-bezier\\(0\\.16\\,1\\,0\\.3\\,1\\)\\]{--tw-ease:cubic-bezier(.16,1,.3,1);transition-timing-function:cubic-bezier(.16,1,.3,1)}.ease-\\[cubic-bezier\\(0\\.34\\,1\\.56\\,0\\.64\\,1\\)\\]{--tw-ease:cubic-bezier(.34,1.56,.64,1);transition-timing-function:cubic-bezier(.34,1.56,.64,1)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.\\[animation-delay\\:-0\\.3s\\]{animation-delay:-.3s}.\\[animation-delay\\:-0\\.15s\\]{animation-delay:-.15s}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.ring-inset{--tw-ring-inset:inset}@media(hover:hover){.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.last\\:mb-0:last-child{margin-bottom:calc(var(--spacing)*0)}@media(hover:hover){.hover\\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\\:scale-\\[1\\.02\\]:hover{scale:1.02}.hover\\:rotate-6:hover{rotate:6deg}.hover\\:border-\\[hsl\\(210\\,90\\%\\,70\\%\\)\\]:hover{border-color:#6eb3f7}.hover\\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\\:bg-emerald-500\\/20:hover{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-emerald-500\\/20:hover{background-color:color-mix(in oklab,var(--color-emerald-500)20%,transparent)}}.hover\\:bg-gray-600:hover{background-color:var(--color-gray-600)}.hover\\:bg-green-600:hover{background-color:var(--color-green-600)}.hover\\:bg-purple-600:hover{background-color:var(--color-purple-600)}.hover\\:bg-red-500\\/30:hover{background-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-red-500\\/30:hover{background-color:color-mix(in oklab,var(--color-red-500)30%,transparent)}}.hover\\:bg-red-600:hover{background-color:var(--color-red-600)}.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\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-90:hover{opacity:.9}.hover\\:opacity-100:hover{opacity:1}.hover\\:shadow-lg:hover{--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)}}.focus\\:underline:focus{text-decoration-line:underline}.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-emerald-500:focus{--tw-ring-color:var(--color-emerald-500)}.focus\\:ring-red-500:focus{--tw-ring-color:var(--color-red-500)}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\\:scale-90:active{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.disabled\\:opacity-30:disabled{opacity:.3}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:grayscale:disabled{--tw-grayscale:grayscale(100%);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,)}@media(min-width:40rem){.sm\\:h-8{height:calc(var(--spacing)*8)}.sm\\:h-16{height:calc(var(--spacing)*16)}.sm\\:w-8{width:calc(var(--spacing)*8)}.sm\\:w-16{width:calc(var(--spacing)*16)}.sm\\:w-auto{width:auto}}@media(prefers-color-scheme:dark){.dark\\:border-emerald-800{border-color:var(--color-emerald-800)}.dark\\:bg-black\\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-black\\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.dark\\:bg-emerald-950{background-color:var(--color-emerald-950)}.dark\\:bg-white\\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-white\\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.dark\\:text-emerald-50{color:var(--color-emerald-50)}}}#botuyo-chat-widget-root .sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media(prefers-contrast:high){#botuyo-chat-widget-root{--border-width:2px;--focus-ring-width:3px;--focus-ring-color:hsl(var(--primary))}#botuyo-chat-widget-root [role=button],#botuyo-chat-widget-root [role=dialog],#botuyo-chat-widget-root button,#botuyo-chat-widget-root input,#botuyo-chat-widget-root textarea{border-width:var(--border-width)!important}#botuyo-chat-widget-root :focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color)!important;outline-offset:2px!important}#botuyo-chat-widget-root{--foreground:0 0% 0%;--background:0 0% 100%;--muted-foreground:0 0% 20%}#botuyo-chat-widget-root.dark{--foreground:0 0% 100%;--background:0 0% 0%;--muted-foreground:0 0% 80%}#botuyo-chat-widget-root [class*=opacity-],#botuyo-chat-widget-root [style*=opacity]{opacity:1!important}}@media(prefers-reduced-motion:reduce){#botuyo-chat-widget-root *,#botuyo-chat-widget-root :after,#botuyo-chat-widget-root :before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}#botuyo-chat-widget-root .animate-pulse,#botuyo-chat-widget-root [data-state=closed],#botuyo-chat-widget-root [data-state=open]{animation:none!important}#botuyo-chat-widget-root .scroll-smooth{scroll-behavior:auto!important}}#botuyo-chat-widget-root :focus-visible{border-radius:var(--radius,.5rem);outline:2px solid hsl(var(--primary));outline-offset:2px}#botuyo-chat-widget-root [role=button]:focus-visible,#botuyo-chat-widget-root button:focus-visible{box-shadow:0 0 0 4px hsl(var(--primary)/.1);outline:2px solid hsl(var(--primary));outline-offset:2px}#botuyo-chat-widget-root input:focus-visible,#botuyo-chat-widget-root textarea:focus-visible{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary)/.1);outline:2px solid hsl(var(--primary));outline-offset:0}#botuyo-chat-widget-root .skip-link{background:hsl(var(--primary));border-radius:0 0 4px;color:hsl(var(--primary-foreground));left:0;padding:8px;position:absolute;text-decoration:none;top:-40px;z-index:100000}#botuyo-chat-widget-root .skip-link:focus{top:0}@media(prefers-color-scheme:dark)and (prefers-contrast:high){#botuyo-chat-widget-root{--primary:48 96% 89%;--destructive:0 84% 60%;--success:142 76% 36%}}#botuyo-chat-widget-root [data-state]:after{content:attr(data-state);clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media(min-resolution:192dpi){#botuyo-chat-widget-root{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}}#botuyo-chat-widget-root [data-tooltip]:focus:after,#botuyo-chat-widget-root [data-tooltip]:hover:after{background:hsl(var(--popover));border-radius:4px;bottom:100%;color:hsl(var(--popover-foreground));content:attr(data-tooltip);font-size:12px;left:50%;padding:4px 8px;pointer-events:none;position:absolute;transform:translate(-50%);white-space:nowrap;z-index:1000}#botuyo-chat-widget-root [aria-live=assertive],#botuyo-chat-widget-root [aria-live=polite]{position:relative}@keyframes live-region-update{0%{opacity:.8}to{opacity:1}}#botuyo-chat-widget-root [aria-live]:not([aria-atomic=false]):has(:new){animation:live-region-update .2s ease-in-out}#botuyo-chat-widget-root .scrollbar-none{scrollbar-width:none;-ms-overflow-style:none}#botuyo-chat-widget-root .scrollbar-none::-webkit-scrollbar{display:none;height:0;width:0}#botuyo-chat-widget-root .scrollbar-thin{scrollbar-width:thin}#botuyo-chat-widget-root .scrollbar-thin::-webkit-scrollbar{height:4px;width:4px}#botuyo-chat-widget-root .scrollbar-thin::-webkit-scrollbar-track{background:0 0}#botuyo-chat-widget-root .scrollbar-thin::-webkit-scrollbar-thumb{background:hsl(var(--border));border-radius:2px}#botuyo-chat-widget-root .scrollbar-thin::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground)/.5)}#botuyo-chat-widget-root .hidden{display:none!important}#botuyo-chat-widget-root .block{display:block!important}#botuyo-chat-widget-root .flex{display:flex!important}#botuyo-chat-widget-root .inline-flex{display:inline-flex!important}#botuyo-chat-widget-root .grid{display:grid!important}#botuyo-chat-widget-root .flex-row{flex-direction:row!important}#botuyo-chat-widget-root .flex-col{flex-direction:column!important}#botuyo-chat-widget-root .flex-1{flex:1!important}#botuyo-chat-widget-root .flex-none{flex:none!important}#botuyo-chat-widget-root .shrink-0{flex-shrink:0!important}#botuyo-chat-widget-root .grow{flex-grow:1!important}#botuyo-chat-widget-root .items-center{align-items:center!important}#botuyo-chat-widget-root .items-start{align-items:flex-start!important}#botuyo-chat-widget-root .items-end{align-items:flex-end!important}#botuyo-chat-widget-root .justify-center{justify-content:center!important}#botuyo-chat-widget-root .justify-between{justify-content:space-between!important}#botuyo-chat-widget-root .justify-end{justify-content:flex-end!important}#botuyo-chat-widget-root .relative{position:relative!important}#botuyo-chat-widget-root .absolute{position:absolute!important}#botuyo-chat-widget-root .fixed{position:fixed!important}#botuyo-chat-widget-root .inset-0{inset:0!important}#botuyo-chat-widget-root .w-full{width:100%!important}#botuyo-chat-widget-root .h-full{height:100%!important}#botuyo-chat-widget-root .w-fit{width:-moz-fit-content!important;width:fit-content!important}#botuyo-chat-widget-root .w-auto{width:auto!important}#botuyo-chat-widget-root .h-auto{height:auto!important}#botuyo-chat-widget-root .h-0{height:0!important}#botuyo-chat-widget-root .w-0{width:0!important}#botuyo-chat-widget-root .h-6{height:1.5rem!important}#botuyo-chat-widget-root .w-6{width:1.5rem!important}#botuyo-chat-widget-root .h-7{height:1.75rem!important}#botuyo-chat-widget-root .w-7{width:1.75rem!important}#botuyo-chat-widget-root .h-8{height:2rem!important}#botuyo-chat-widget-root .w-8{width:2rem!important}#botuyo-chat-widget-root .h-14{height:3.5rem!important}#botuyo-chat-widget-root .w-14{width:3.5rem!important}#botuyo-chat-widget-root .min-h-0{min-height:0!important}#botuyo-chat-widget-root .min-w-0{min-width:0!important}#botuyo-chat-widget-root .overflow-hidden{overflow:hidden!important}#botuyo-chat-widget-root .overflow-auto{overflow:auto!important}#botuyo-chat-widget-root .overflow-y-auto{overflow-y:auto!important}#botuyo-chat-widget-root .gap-1{gap:.25rem!important}#botuyo-chat-widget-root .gap-2{gap:.5rem!important}#botuyo-chat-widget-root .gap-3{gap:.75rem!important}#botuyo-chat-widget-root .gap-4{gap:1rem!important}#botuyo-chat-widget-root .p-1{padding:.25rem!important}#botuyo-chat-widget-root .p-2{padding:.5rem!important}#botuyo-chat-widget-root .p-3{padding:.75rem!important}#botuyo-chat-widget-root .p-4{padding:1rem!important}#botuyo-chat-widget-root .px-4{padding-left:1rem!important;padding-right:1rem!important}#botuyo-chat-widget-root .py-2{padding-bottom:.5rem!important;padding-top:.5rem!important}#botuyo-chat-widget-root .m-0{margin:0!important}#botuyo-chat-widget-root .mt-2{margin-top:.5rem!important}#botuyo-chat-widget-root .mt-4{margin-top:1rem!important}#botuyo-chat-widget-root .mb-2{margin-bottom:.5rem!important}#botuyo-chat-widget-root .ml-auto{margin-left:auto!important}#botuyo-chat-widget-root .rounded{border-radius:.25rem!important}#botuyo-chat-widget-root .rounded-lg{border-radius:.5rem!important}#botuyo-chat-widget-root .rounded-xl{border-radius:.75rem!important}#botuyo-chat-widget-root .rounded-2xl{border-radius:1rem!important}#botuyo-chat-widget-root .rounded-full{border-radius:9999px!important}#botuyo-chat-widget-root .text-xs{font-size:.75rem!important;line-height:1rem!important}#botuyo-chat-widget-root .text-sm{font-size:.875rem!important;line-height:1.25rem!important}#botuyo-chat-widget-root .text-base{font-size:1rem!important;line-height:1.5rem!important}#botuyo-chat-widget-root .text-lg{font-size:1.125rem!important;line-height:1.75rem!important}#botuyo-chat-widget-root .font-medium{font-weight:500!important}#botuyo-chat-widget-root .font-semibold{font-weight:600!important}#botuyo-chat-widget-root .font-bold{font-weight:700!important}#botuyo-chat-widget-root .font-black{font-weight:900!important}#botuyo-chat-widget-root .uppercase{text-transform:uppercase!important}#botuyo-chat-widget-root .truncate{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}#botuyo-chat-widget-root .text-foreground{color:hsl(var(--foreground))!important}#botuyo-chat-widget-root .text-muted-foreground{color:hsl(var(--muted-foreground))!important}#botuyo-chat-widget-root .text-primary{color:hsl(var(--primary))!important}#botuyo-chat-widget-root .text-primary-foreground{color:hsl(var(--primary-foreground))!important}#botuyo-chat-widget-root .text-destructive{color:hsl(var(--destructive))!important}#botuyo-chat-widget-root .text-white{color:#fff!important}#botuyo-chat-widget-root .bg-background{background-color:hsl(var(--background))!important}#botuyo-chat-widget-root .bg-muted{background-color:hsl(var(--muted))!important}#botuyo-chat-widget-root .bg-primary{background-color:hsl(var(--primary))!important}#botuyo-chat-widget-root .bg-card{background-color:hsl(var(--card))!important}#botuyo-chat-widget-root .bg-transparent{background-color:#0000!important}#botuyo-chat-widget-root .border{border-width:1px!important}#botuyo-chat-widget-root .border-2{border-width:2px!important}#botuyo-chat-widget-root .border-b{border-bottom-width:1px!important}#botuyo-chat-widget-root .border-t{border-top-width:1px!important}#botuyo-chat-widget-root .border-border{border-color:hsl(var(--border))!important}#botuyo-chat-widget-root .shadow{box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a!important}#botuyo-chat-widget-root .shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a!important}#botuyo-chat-widget-root .shadow-xl{box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a!important}#botuyo-chat-widget-root .transition{transition-duration:.15s!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}#botuyo-chat-widget-root .transition-all{transition-duration:.15s!important;transition-property:all!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}#botuyo-chat-widget-root .duration-300{transition-duration:.3s!important}#botuyo-chat-widget-root .duration-500{transition-duration:.5s!important}#botuyo-chat-widget-root .opacity-0{opacity:0!important}#botuyo-chat-widget-root .opacity-100{opacity:1!important}#botuyo-chat-widget-root .scale-95{transform:scale(.95)!important}#botuyo-chat-widget-root .scale-100{transform:scale(1)!important}#botuyo-chat-widget-root .translate-y-full{transform:translateY(100%)!important}#botuyo-chat-widget-root .z-10{z-index:10!important}#botuyo-chat-widget-root .z-20{z-index:20!important}#botuyo-chat-widget-root .z-50{z-index:50!important}#botuyo-chat-widget-root .pointer-events-none{pointer-events:none!important}#botuyo-chat-widget-root .pointer-events-auto{pointer-events:auto!important}#botuyo-chat-widget-root .cursor-pointer{cursor:pointer!important}#botuyo-chat-widget-root .select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}@keyframes spin{to{transform:rotate(1turn)}}#botuyo-chat-widget,#botuyo-chat-widget-root,:root{--background:0 0% 100%;--foreground:240 10% 3.9%;--card:0 0% 100%;--card-foreground:240 10% 3.9%;--popover:0 0% 100%;--popover-foreground:240 10% 3.9%;--primary:160 84% 39%;--primary-foreground:0 0% 100%;--muted:240 4.8% 95.9%;--muted-foreground:240 3.8% 46.1%;--accent:240 4.8% 95.9%;--accent-foreground:240 5.9% 10%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:240 5.9% 90%;--input:240 5.9% 90%;--ring:160 84% 39%;--radius:.5rem;--spacing1:.25rem;--spacing2:.5rem;--spacing3:.75rem;--spacing4:1rem;--spacing5:.75rem;--spacing6:1.5rem;--spacing8:2rem}#botuyo-chat-widget-root.dark,#botuyo-chat-widget.dark,.dark{--background:240 10% 3.9%;--foreground:0 0% 98%;--card:240 10% 3.9%;--card-foreground:0 0% 98%;--popover:240 10% 3.9%;--popover-foreground:0 0% 98%;--primary:160 84% 39%;--primary-foreground:0 0% 100%;--muted:240 3.7% 15.9%;--muted-foreground:240 5% 64.9%;--accent:240 3.7% 15.9%;--accent-foreground:0 0% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:240 3.7% 15.9%;--input:240 3.7% 15.9%;--ring:160 84% 39%}#botuyo-chat-widget-root,#botuyo-chat-widget-root *{box-sizing:border-box;margin:0;padding:0}#botuyo-chat-widget-root{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:hsl(var(--foreground));font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}#botuyo-chat-widget-root .chat-launcher{align-items:center;background-color:hsl(var(--primary));border-radius:50%;bottom:1.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;color:#fff;cursor:pointer;display:flex;height:60px;justify-content:center;position:fixed;right:1.5rem;transition:all .2s;width:60px;z-index:999999}#botuyo-chat-widget-root .chat-launcher:hover{box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;transform:scale(1.05)}#botuyo-chat-widget-root .chat-launcher.position-bottom-left{left:1.5rem;right:auto}#botuyo-chat-widget-root .chat-launcher.position-top-right{bottom:auto;top:1.5rem}#botuyo-chat-widget-root .chat-launcher.position-top-left{inset:1.5rem auto auto 1.5rem}#botuyo-chat-widget-root .chat-window{animation:slideInRight .3s ease-out;background-color:hsl(var(--background));border-radius:1rem;bottom:6rem;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;height:600px;max-height:calc(100vh - 8rem);overflow:hidden;position:fixed;right:1.5rem;width:400px;z-index:999999}#botuyo-chat-widget-root .chat-window.closing{animation:slideOutRight .2s ease-in}@media(max-width:640px){#botuyo-chat-widget-root .chat-window{animation:slideInUp .3s ease-out;border-radius:0;height:100%;inset:0;max-height:100vh;width:100%}}#botuyo-chat-widget-root .message-bubble{word-wrap:break-word;border-radius:1rem;max-width:80%;padding:.75rem 1rem}#botuyo-chat-widget-root .message-bubble.user{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));margin-left:auto}#botuyo-chat-widget-root .message-bubble.bot{background-color:hsl(var(--muted));color:hsl(var(--foreground))}#botuyo-chat-widget-root .chat-messages::-webkit-scrollbar{width:6px}#botuyo-chat-widget-root .chat-messages::-webkit-scrollbar-track{background:0 0}#botuyo-chat-widget-root .chat-messages::-webkit-scrollbar-thumb{background:hsl(var(--muted));border-radius:3px}#botuyo-chat-widget-root .chat-messages::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground))}#botuyo-chat-widget-root .chat-input{background-color:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:.5rem;color:hsl(var(--foreground));outline:none;padding:.75rem;transition:border-color .2s;width:100%}#botuyo-chat-widget-root .chat-input:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary)/.1)}@media(max-width:640px){#botuyo-chat-widget-root .chat-launcher{bottom:1rem;height:56px;right:1rem;width:56px}}@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-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}@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-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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:"<percentage>";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:"<percentage>";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:"<length>";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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}';let j=class extends n{constructor(t){super(t),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t,e){console.error("[BotUyoWidget] Internal error:",t,e)}render(){return this.state.hasError?null:this.props.children}};const P={"--background":"240 10% 3.9%","--foreground":"0 0% 98%","--card":"240 10% 3.9%","--cardForeground":"0 0% 98%","--primary":"160 84% 39%","--primaryForeground":"0 0% 100%","--muted":"240 3.7% 15.9%","--mutedForeground":"240 5% 64.9%","--border":"240 3.7% 15.9%"};function F(){const t=document.documentElement.getAttribute("data-theme");return"dark"===t||"light"!==t&&window.matchMedia("(prefers-color-scheme: dark)").matches}const D=e.lazy(()=>Promise.resolve().then(()=>Xn).then(t=>({default:t.ChatWidget}))),Z=n=>{const i=r(null),s=r(null),c=r(null),d=r(null),[l,u]=o(!1),[p,h]=o(!1);return a(()=>{if(!i.current||s.current)return;const e=i.current.attachShadow({mode:"open"});s.current=e;const r=document.createElement("style");r.textContent=A.replace(/:root/g,":host"),e.appendChild(r);const o=document.createElement("div");return o.id="botuyo-chat-widget-root",e.appendChild(o),d.current=o,c.current=t(o),h(F()),u(!0),()=>{c.current?.unmount(),c.current=null,s.current=null,d.current=null}},[]),a(()=>{const t=()=>h(F()),e=new MutationObserver(t);e.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]});const r=window.matchMedia("(prefers-color-scheme: dark)");return r.addEventListener("change",t),()=>{e.disconnect(),r.removeEventListener("change",t)}},[]),a(()=>{if(!d.current)return;const t=d.current;p&&!n.theme?.cssVariables?Object.entries(P).forEach(([e,r])=>{t.style.setProperty(e,r)}):p||n.theme?.cssVariables||Object.keys(P).forEach(e=>{t.style.removeProperty(e)})},[p,n.theme?.cssVariables]),a(()=>{l&&c.current&&c.current.render(
|
|
2
|
-
/* @__PURE__ */N(j,{children:/* @__PURE__ */N(e.Suspense,{fallback:null,children:/* @__PURE__ */N(D,{...
|
|
1
|
+
import{createRoot as t}from"react-dom/client";import e,{useRef as r,useState as o,useEffect as n,Component as a,useMemo as i,useCallback as s,useReducer as c,createContext as l,useContext as d,lazy as u,Suspense as p}from"react";import{u as h,g,e as m,f,D as w,c as b,X as v,M as y,l as x,m as k,t as _,h as z,i as E,j as S,k as O,n as I,o as $}from"./chunk-chat-ui-DKipQPcr.js";import{p as C}from"./chunk-chat-ui-DKipQPcr.js";import{jsx as N,jsxs as T}from"react/jsx-runtime";import{l as M}from"./vendor-socket-DMqyM-90.js";const A='@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--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-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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-outline-style:solid;--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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",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-900:oklch(39.6% .141 25.723);--color-amber-500:oklch(76.9% .188 70.08);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-yellow-900:oklch(42.1% .095 57.708);--color-green-50:oklch(98.2% .018 155.826);--color-green-200:oklch(92.5% .084 155.995);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-emerald-950:oklch(26.2% .051 172.552);--color-teal-500:oklch(70.4% .14 182.503);--color-teal-600:oklch(60% .118 184.704);--color-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-900:oklch(37.9% .146 265.522);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:1.33333;--text-sm:.875rem;--text-sm--line-height:1.42857;--text-base:1rem;--text-base--line-height:1.5;--text-lg:1.125rem;--text-lg--line-height:1.55556;--text-xl:1.25rem;--text-xl--line-height:1.4;--text-2xl:1.5rem;--text-2xl--line-height:1.33333;--text-3xl:1.875rem;--text-3xl--line-height:1.2;--text-4xl:2.25rem;--text-4xl--line-height:1.11111;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0,0,.2,1)infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--animate-bounce:bounce 1s infinite;--blur-sm:8px;--blur-md:12px;--blur-2xl:40px;--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)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{border:0 solid;box-sizing:border-box;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;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);line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}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,pre,samp{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-size:1em;font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}::file-selector-button{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}: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}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{border-width:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;white-space:nowrap;width:1px}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.-top-1{top:calc(var(--spacing)*-1)}.-top-1\\.5{top:calc(var(--spacing)*-1.5)}.top-0{top:calc(var(--spacing)*0)}.top-1\\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-3{top:calc(var(--spacing)*3)}.top-4{top:calc(var(--spacing)*4)}.top-full{top:100%}.-right-0\\.5{right:calc(var(--spacing)*-.5)}.-right-1{right:calc(var(--spacing)*-1)}.-right-1\\.5{right:calc(var(--spacing)*-1.5)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.right-6{right:calc(var(--spacing)*6)}.-bottom-0\\.5{bottom:calc(var(--spacing)*-.5)}.-bottom-1{bottom:calc(var(--spacing)*-1)}.bottom-3{bottom:calc(var(--spacing)*3)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing)*0)}.left-1\\/2{left:50%}.left-4{left:calc(var(--spacing)*4)}.left-6{left:calc(var(--spacing)*6)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\\[60\\]{z-index:60}.z-\\[9999\\]{z-index:9999}.z-\\[100000\\]{z-index:100000}.float-left{float:left}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-1{margin:calc(var(--spacing)*1)}.m-2{margin:calc(var(--spacing)*2)}.m-3{margin:calc(var(--spacing)*3)}.m-4{margin:calc(var(--spacing)*4)}.m-5{margin:calc(var(--spacing)*5)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3{margin-inline:calc(var(--spacing)*3)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-5{margin-inline:calc(var(--spacing)*5)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.my-3{margin-block:calc(var(--spacing)*3)}.my-4{margin-block:calc(var(--spacing)*4)}.my-5{margin-block:calc(var(--spacing)*5)}.my-8{margin-block:calc(var(--spacing)*8)}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.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)}.mt-6{margin-top:calc(var(--spacing)*6)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-3{margin-right:calc(var(--spacing)*3)}.mr-4{margin-right:calc(var(--spacing)*4)}.mr-5{margin-right:calc(var(--spacing)*5)}.mr-auto{margin-right:auto}.mb-0{margin-bottom:calc(var(--spacing)*0)}.mb-0\\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.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-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.ml-0\\.5{margin-left:calc(var(--spacing)*.5)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-5{margin-left:calc(var(--spacing)*5)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-0{height:calc(var(--spacing)*0)}.h-1{height:calc(var(--spacing)*1)}.h-2{height:calc(var(--spacing)*2)}.h-2\\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.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-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-32{height:calc(var(--spacing)*32)}.h-48{height:calc(var(--spacing)*48)}.h-56{height:calc(var(--spacing)*56)}.h-\\[44px\\]{height:44px}.h-auto{height:auto}.h-full{height:100%}.max-h-\\[90vh\\]{max-height:90vh}.max-h-\\[120px\\]{max-height:120px}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-\\[40px\\]{min-height:40px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0{width:calc(var(--spacing)*0)}.w-1{width:calc(var(--spacing)*1)}.w-2{width:calc(var(--spacing)*2)}.w-2\\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.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-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-14{width:calc(var(--spacing)*14)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-\\[3px\\]{width:3px}.w-\\[350px\\]{width:350px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.max-w-0{max-width:calc(var(--spacing)*0)}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\\[60px\\]{max-width:60px}.max-w-\\[85\\%\\]{max-width:85%}.max-w-\\[90\\%\\]{max-width:90%}.max-w-\\[320px\\]{max-width:320px}.max-w-\\[350px\\]{max-width:350px}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\\[200px\\]{min-width:200px}.min-w-\\[350px\\]{min-width:350px}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.origin-bottom{transform-origin:bottom}.origin-bottom-left{transform-origin:0 100%}.origin-bottom-right{transform-origin:100% 100%}.-translate-x-1\\/2{--tw-translate-x:-50%}.-translate-x-1\\/2,.-translate-x-6{translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-6{--tw-translate-x:calc(var(--spacing)*-6)}.translate-x-0{--tw-translate-x:calc(var(--spacing)*0)}.translate-x-0,.translate-x-6{translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-6{--tw-translate-x:calc(var(--spacing)*6)}.-translate-y-1\\/2{--tw-translate-y:-50%}.-translate-y-1\\/2,.translate-y-0{translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0)}.translate-y-2{--tw-translate-y:calc(var(--spacing)*2)}.translate-y-2,.translate-y-8{translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-8{--tw-translate-y:calc(var(--spacing)*8)}.scale-50{--tw-scale-x:50%;--tw-scale-y:50%;--tw-scale-z:50%}.scale-50,.scale-90{scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-90{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%}.scale-100,.scale-105{scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-\\[0\\.85\\]{scale:.85}.-rotate-90{rotate:-90deg}.rotate-0{rotate:none}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-bounce{animation:var(--animate-bounce)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.resize{resize:both}.resize-none{resize:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}.gap-\\[2px\\]{gap:2px}.gap-\\[3px\\]{gap:3px}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-end:calc(var(--spacing)*1*(1 - var(--tw-space-y-reverse)));margin-block-start:calc(var(--spacing)*1*var(--tw-space-y-reverse))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-end:calc(var(--spacing)*2*(1 - var(--tw-space-y-reverse)));margin-block-start:calc(var(--spacing)*2*var(--tw-space-y-reverse))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-end:calc(var(--spacing)*3*(1 - var(--tw-space-y-reverse)));margin-block-start:calc(var(--spacing)*3*var(--tw-space-y-reverse))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-end:calc(var(--spacing)*4*(1 - var(--tw-space-y-reverse)));margin-block-start:calc(var(--spacing)*4*var(--tw-space-y-reverse))}.truncate{text-overflow:ellipsis;white-space:nowrap}.overflow-hidden,.truncate{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.scroll-smooth{scroll-behavior:smooth}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\\[18px\\]{border-radius:18px}.rounded-\\[24px\\]{border-radius:24px}.rounded-\\[28px\\]{border-radius:28px}.rounded-\\[32px\\]{border-radius:32px}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-none{border-radius:0}.rounded-xl{border-radius:var(--radius-xl)}.rounded-l-\\[4px\\]{border-bottom-left-radius:4px}.rounded-l-\\[4px\\],.rounded-tl-\\[4px\\]{border-top-left-radius:4px}.rounded-r-\\[4px\\]{border-bottom-right-radius:4px}.rounded-r-\\[4px\\],.rounded-tr-\\[4px\\]{border-top-right-radius:4px}.rounded-br-\\[4px\\]{border-bottom-right-radius:4px}.rounded-bl-\\[4px\\]{border-bottom-left-radius:4px}.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-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\\[hsl\\(210\\,90\\%\\,50\\%\\)\\]{border-color:#0d80f2}.border-blue-200{border-color:var(--color-blue-200)}.border-emerald-200{border-color:var(--color-emerald-200)}.border-gray-200{border-color:var(--color-gray-200)}.border-green-200{border-color:var(--color-green-200)}.border-red-200{border-color:var(--color-red-200)}.border-yellow-200{border-color:var(--color-yellow-200)}.border-yellow-300{border-color:var(--color-yellow-300)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\\/20{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\\/20{background-color:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.bg-black\\/5{background-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.bg-black\\/5{background-color:color-mix(in oklab,var(--color-black)5%,transparent)}}.bg-black\\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\\/70{background-color:color-mix(in oklab,var(--color-black)70%,transparent)}}.bg-black\\/95{background-color:#000000f2}@supports (color:color-mix(in lab,red,red)){.bg-black\\/95{background-color:color-mix(in oklab,var(--color-black)95%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\\/20{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\\/20{background-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-current,.bg-current\\/20{background-color:currentColor}@supports (color:color-mix(in lab,red,red)){.bg-current\\/20{background-color:color-mix(in oklab,currentcolor 20%,transparent)}}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\\/10{background-color:color-mix(in oklab,var(--color-emerald-500)10%,transparent)}}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-500\\/20{background-color:#6a728233}@supports (color:color-mix(in lab,red,red)){.bg-gray-500\\/20{background-color:color-mix(in oklab,var(--color-gray-500)20%,transparent)}}.bg-green-50{background-color:var(--color-green-50)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\\/10{background-color:color-mix(in oklab,var(--color-green-500)10%,transparent)}}.bg-green-500\\/20{background-color:#00c75833}@supports (color:color-mix(in lab,red,red)){.bg-green-500\\/20{background-color:color-mix(in oklab,var(--color-green-500)20%,transparent)}}.bg-purple-500{background-color:var(--color-purple-500)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-red-500\\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\\/20{background-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-white\\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\\/80{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab}.bg-gradient-to-b,.bg-gradient-to-br{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab}.bg-gradient-to-r{--tw-gradient-position:to right in oklab}.bg-gradient-to-r,.bg-gradient-to-t{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab}.from-black\\/40{--tw-gradient-from:#0006}@supports (color:color-mix(in lab,red,red)){.from-black\\/40{--tw-gradient-from:color-mix(in oklab,var(--color-black)40%,transparent)}}.from-black\\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-black\\/60{--tw-gradient-from:#0009}@supports (color:color-mix(in lab,red,red)){.from-black\\/60{--tw-gradient-from:color-mix(in oklab,var(--color-black)60%,transparent)}}.from-black\\/60{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-50{--tw-gradient-from:var(--color-blue-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-emerald-400{--tw-gradient-from:var(--color-emerald-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-emerald-500{--tw-gradient-from:var(--color-emerald-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-transparent{--tw-gradient-via:transparent;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-black\\/20{--tw-gradient-to:#0003}@supports (color:color-mix(in lab,red,red)){.to-black\\/20{--tw-gradient-to:color-mix(in oklab,var(--color-black)20%,transparent)}}.to-black\\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-green-50{--tw-gradient-to:var(--color-green-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-teal-500{--tw-gradient-to:var(--color-teal-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-teal-600{--tw-gradient-to:var(--color-teal-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.fill-current{fill:currentColor}.stroke-\\[2\\.5\\]{stroke-width:2.5px}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:calc(var(--spacing)*1)}.p-1\\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.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{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.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-10{padding-inline:calc(var(--spacing)*10)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.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-4{padding-block:calc(var(--spacing)*4)}.py-5{padding-block:calc(var(--spacing)*5)}.py-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-5{padding-top:calc(var(--spacing)*5)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-5{padding-right:calc(var(--spacing)*5)}.pr-8{padding-right:calc(var(--spacing)*8)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-5{padding-left:calc(var(--spacing)*5)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.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-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--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-\\[7px\\]{font-size:7px}.text-\\[8px\\]{font-size:8px}.text-\\[9px\\]{font-size:9px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.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\\.1em\\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\\[0\\.2em\\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.text-amber-500{color:var(--color-amber-500)}.text-blue-500{color:var(--color-blue-500)}.text-blue-700{color:var(--color-blue-700)}.text-blue-900{color:var(--color-blue-900)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-900{color:var(--color-emerald-900)}.text-gray-600{color:var(--color-gray-600)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-900{color:var(--color-green-900)}.text-purple-500{color:var(--color-purple-500)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-900{color:var(--color-red-900)}.text-white{color:var(--color-white)}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-800{color:var(--color-yellow-800)}.text-yellow-900{color:var(--color-yellow-900)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-inner{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.shadow-lg,.shadow-md{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)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.ring,.shadow-sm{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)}.ring-2{--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)}.ring-\\[hsl\\(210\\,90\\%\\,50\\%\\)\\]\\/30{--tw-ring-color:oklab(60.6854% -.0507387 -.187037/.3)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px)}.blur,.blur-2xl{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,)}.blur-2xl{--tw-blur:blur(var(--blur-2xl))}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md))}.backdrop-blur-md,.backdrop-blur-sm{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm))}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-duration:var(--tw-duration,var(--default-transition-duration));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,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.transition-all{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.transition-colors{transition-duration:var(--tw-duration,var(--default-transition-duration));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-opacity{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.transition-transform{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-400{--tw-duration:.4s;transition-duration:.4s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.duration-1000{--tw-duration:1s;transition-duration:1s}.ease-\\[cubic-bezier\\(0\\.16\\,1\\,0\\.3\\,1\\)\\]{--tw-ease:cubic-bezier(.16,1,.3,1);transition-timing-function:cubic-bezier(.16,1,.3,1)}.ease-\\[cubic-bezier\\(0\\.34\\,1\\.56\\,0\\.64\\,1\\)\\]{--tw-ease:cubic-bezier(.34,1.56,.64,1);transition-timing-function:cubic-bezier(.34,1.56,.64,1)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.\\[animation-delay\\:-0\\.3s\\]{animation-delay:-.3s}.\\[animation-delay\\:-0\\.15s\\]{animation-delay:-.15s}@media(hover:hover){.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.last\\:mb-0:last-child{margin-bottom:calc(var(--spacing)*0)}@media(hover:hover){.hover\\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\\:scale-\\[1\\.02\\]:hover{scale:1.02}.hover\\:rotate-6:hover{rotate:6deg}.hover\\:border-\\[hsl\\(210\\,90\\%\\,70\\%\\)\\]:hover{border-color:#6eb3f7}.hover\\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\\:bg-emerald-500\\/20:hover{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-emerald-500\\/20:hover{background-color:color-mix(in oklab,var(--color-emerald-500)20%,transparent)}}.hover\\:bg-gray-600:hover{background-color:var(--color-gray-600)}.hover\\:bg-green-600:hover{background-color:var(--color-green-600)}.hover\\:bg-purple-600:hover{background-color:var(--color-purple-600)}.hover\\:bg-red-500\\/30:hover{background-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-red-500\\/30:hover{background-color:color-mix(in oklab,var(--color-red-500)30%,transparent)}}.hover\\:bg-red-600:hover{background-color:var(--color-red-600)}.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\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-90:hover{opacity:.9}.hover\\:opacity-100:hover{opacity:1}.hover\\:shadow-lg:hover{--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)}}.focus\\:underline:focus{text-decoration-line:underline}.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-emerald-500:focus{--tw-ring-color:var(--color-emerald-500)}.focus\\:ring-red-500:focus{--tw-ring-color:var(--color-red-500)}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\\:scale-90:active{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.disabled\\:opacity-30:disabled{opacity:.3}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:grayscale:disabled{--tw-grayscale:grayscale(100%);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,)}@media(min-width:40rem){.sm\\:h-8{height:calc(var(--spacing)*8)}.sm\\:h-16{height:calc(var(--spacing)*16)}.sm\\:w-8{width:calc(var(--spacing)*8)}.sm\\:w-16{width:calc(var(--spacing)*16)}.sm\\:w-auto{width:auto}}@media(prefers-color-scheme:dark){.dark\\:border-emerald-800{border-color:var(--color-emerald-800)}.dark\\:bg-black\\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-black\\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.dark\\:bg-emerald-950{background-color:var(--color-emerald-950)}.dark\\:bg-white\\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-white\\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.dark\\:text-emerald-50{color:var(--color-emerald-50)}}}#botuyo-chat-widget-root .sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media(prefers-contrast:high){#botuyo-chat-widget-root{--border-width:2px;--focus-ring-width:3px;--focus-ring-color:hsl(var(--primary))}#botuyo-chat-widget-root [role=button],#botuyo-chat-widget-root [role=dialog],#botuyo-chat-widget-root button,#botuyo-chat-widget-root input,#botuyo-chat-widget-root textarea{border-width:var(--border-width)!important}#botuyo-chat-widget-root :focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color)!important;outline-offset:2px!important}#botuyo-chat-widget-root{--foreground:0 0% 0%;--background:0 0% 100%;--muted-foreground:0 0% 20%}#botuyo-chat-widget-root.dark{--foreground:0 0% 100%;--background:0 0% 0%;--muted-foreground:0 0% 80%}#botuyo-chat-widget-root [class*=opacity-],#botuyo-chat-widget-root [style*=opacity]{opacity:1!important}}@media(prefers-reduced-motion:reduce){#botuyo-chat-widget-root *,#botuyo-chat-widget-root :after,#botuyo-chat-widget-root :before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}#botuyo-chat-widget-root .animate-pulse,#botuyo-chat-widget-root [data-state=closed],#botuyo-chat-widget-root [data-state=open]{animation:none!important}#botuyo-chat-widget-root .scroll-smooth{scroll-behavior:auto!important}}#botuyo-chat-widget-root :focus-visible{border-radius:var(--radius,.5rem);outline:2px solid hsl(var(--primary));outline-offset:2px}#botuyo-chat-widget-root [role=button]:focus-visible,#botuyo-chat-widget-root button:focus-visible{box-shadow:0 0 0 4px hsl(var(--primary)/.1);outline:2px solid hsl(var(--primary));outline-offset:2px}#botuyo-chat-widget-root input:focus-visible,#botuyo-chat-widget-root textarea:focus-visible{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary)/.1);outline:2px solid hsl(var(--primary));outline-offset:0}#botuyo-chat-widget-root .skip-link{background:hsl(var(--primary));border-radius:0 0 4px;color:hsl(var(--primary-foreground));left:0;padding:8px;position:absolute;text-decoration:none;top:-40px;z-index:100000}#botuyo-chat-widget-root .skip-link:focus{top:0}@media(prefers-color-scheme:dark)and (prefers-contrast:high){#botuyo-chat-widget-root{--primary:48 96% 89%;--destructive:0 84% 60%;--success:142 76% 36%}}#botuyo-chat-widget-root [data-state]:after{content:attr(data-state);clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media(min-resolution:192dpi){#botuyo-chat-widget-root{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}}#botuyo-chat-widget-root [data-tooltip]:focus:after,#botuyo-chat-widget-root [data-tooltip]:hover:after{background:hsl(var(--popover));border-radius:4px;bottom:100%;color:hsl(var(--popover-foreground));content:attr(data-tooltip);font-size:12px;left:50%;padding:4px 8px;pointer-events:none;position:absolute;transform:translate(-50%);white-space:nowrap;z-index:1000}#botuyo-chat-widget-root [aria-live=assertive],#botuyo-chat-widget-root [aria-live=polite]{position:relative}@keyframes live-region-update{0%{opacity:.8}to{opacity:1}}#botuyo-chat-widget-root [aria-live]:not([aria-atomic=false]):has(:new){animation:live-region-update .2s ease-in-out}#botuyo-chat-widget-root .scrollbar-none{scrollbar-width:none;-ms-overflow-style:none}#botuyo-chat-widget-root .scrollbar-none::-webkit-scrollbar{display:none;height:0;width:0}#botuyo-chat-widget-root .scrollbar-thin{scrollbar-width:thin}#botuyo-chat-widget-root .scrollbar-thin::-webkit-scrollbar{height:4px;width:4px}#botuyo-chat-widget-root .scrollbar-thin::-webkit-scrollbar-track{background:0 0}#botuyo-chat-widget-root .scrollbar-thin::-webkit-scrollbar-thumb{background:hsl(var(--border));border-radius:2px}#botuyo-chat-widget-root .scrollbar-thin::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground)/.5)}#botuyo-chat-widget-root .hidden{display:none!important}#botuyo-chat-widget-root .block{display:block!important}#botuyo-chat-widget-root .flex{display:flex!important}#botuyo-chat-widget-root .inline-flex{display:inline-flex!important}#botuyo-chat-widget-root .grid{display:grid!important}#botuyo-chat-widget-root .flex-row{flex-direction:row!important}#botuyo-chat-widget-root .flex-col{flex-direction:column!important}#botuyo-chat-widget-root .flex-1{flex:1!important}#botuyo-chat-widget-root .flex-none{flex:none!important}#botuyo-chat-widget-root .shrink-0{flex-shrink:0!important}#botuyo-chat-widget-root .grow{flex-grow:1!important}#botuyo-chat-widget-root .items-center{align-items:center!important}#botuyo-chat-widget-root .items-start{align-items:flex-start!important}#botuyo-chat-widget-root .items-end{align-items:flex-end!important}#botuyo-chat-widget-root .justify-center{justify-content:center!important}#botuyo-chat-widget-root .justify-between{justify-content:space-between!important}#botuyo-chat-widget-root .justify-end{justify-content:flex-end!important}#botuyo-chat-widget-root .relative{position:relative!important}#botuyo-chat-widget-root .absolute{position:absolute!important}#botuyo-chat-widget-root .fixed{position:fixed!important}#botuyo-chat-widget-root .inset-0{inset:0!important}#botuyo-chat-widget-root .w-full{width:100%!important}#botuyo-chat-widget-root .h-full{height:100%!important}#botuyo-chat-widget-root .w-fit{width:-moz-fit-content!important;width:fit-content!important}#botuyo-chat-widget-root .w-auto{width:auto!important}#botuyo-chat-widget-root .h-auto{height:auto!important}#botuyo-chat-widget-root .h-0{height:0!important}#botuyo-chat-widget-root .w-0{width:0!important}#botuyo-chat-widget-root .h-6{height:1.5rem!important}#botuyo-chat-widget-root .w-6{width:1.5rem!important}#botuyo-chat-widget-root .h-7{height:1.75rem!important}#botuyo-chat-widget-root .w-7{width:1.75rem!important}#botuyo-chat-widget-root .h-8{height:2rem!important}#botuyo-chat-widget-root .w-8{width:2rem!important}#botuyo-chat-widget-root .h-14{height:3.5rem!important}#botuyo-chat-widget-root .w-14{width:3.5rem!important}#botuyo-chat-widget-root .min-h-0{min-height:0!important}#botuyo-chat-widget-root .min-w-0{min-width:0!important}#botuyo-chat-widget-root .overflow-hidden{overflow:hidden!important}#botuyo-chat-widget-root .overflow-auto{overflow:auto!important}#botuyo-chat-widget-root .overflow-y-auto{overflow-y:auto!important}#botuyo-chat-widget-root .gap-1{gap:.25rem!important}#botuyo-chat-widget-root .gap-2{gap:.5rem!important}#botuyo-chat-widget-root .gap-3{gap:.75rem!important}#botuyo-chat-widget-root .gap-4{gap:1rem!important}#botuyo-chat-widget-root .p-1{padding:.25rem!important}#botuyo-chat-widget-root .p-2{padding:.5rem!important}#botuyo-chat-widget-root .p-3{padding:.75rem!important}#botuyo-chat-widget-root .p-4{padding:1rem!important}#botuyo-chat-widget-root .px-4{padding-left:1rem!important;padding-right:1rem!important}#botuyo-chat-widget-root .py-2{padding-bottom:.5rem!important;padding-top:.5rem!important}#botuyo-chat-widget-root .m-0{margin:0!important}#botuyo-chat-widget-root .mt-2{margin-top:.5rem!important}#botuyo-chat-widget-root .mt-4{margin-top:1rem!important}#botuyo-chat-widget-root .mb-2{margin-bottom:.5rem!important}#botuyo-chat-widget-root .ml-auto{margin-left:auto!important}#botuyo-chat-widget-root .rounded{border-radius:.25rem!important}#botuyo-chat-widget-root .rounded-lg{border-radius:.5rem!important}#botuyo-chat-widget-root .rounded-xl{border-radius:.75rem!important}#botuyo-chat-widget-root .rounded-2xl{border-radius:1rem!important}#botuyo-chat-widget-root .rounded-full{border-radius:9999px!important}#botuyo-chat-widget-root .text-xs{font-size:.75rem!important;line-height:1rem!important}#botuyo-chat-widget-root .text-sm{font-size:.875rem!important;line-height:1.25rem!important}#botuyo-chat-widget-root .text-base{font-size:1rem!important;line-height:1.5rem!important}#botuyo-chat-widget-root .text-lg{font-size:1.125rem!important;line-height:1.75rem!important}#botuyo-chat-widget-root .font-medium{font-weight:500!important}#botuyo-chat-widget-root .font-semibold{font-weight:600!important}#botuyo-chat-widget-root .font-bold{font-weight:700!important}#botuyo-chat-widget-root .font-black{font-weight:900!important}#botuyo-chat-widget-root .uppercase{text-transform:uppercase!important}#botuyo-chat-widget-root .truncate{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}#botuyo-chat-widget-root .text-foreground{color:hsl(var(--foreground))!important}#botuyo-chat-widget-root .text-muted-foreground{color:hsl(var(--muted-foreground))!important}#botuyo-chat-widget-root .text-primary{color:hsl(var(--primary))!important}#botuyo-chat-widget-root .text-primary-foreground{color:hsl(var(--primary-foreground))!important}#botuyo-chat-widget-root .text-destructive{color:hsl(var(--destructive))!important}#botuyo-chat-widget-root .text-white{color:#fff!important}#botuyo-chat-widget-root .bg-background{background-color:hsl(var(--background))!important}#botuyo-chat-widget-root .bg-muted{background-color:hsl(var(--muted))!important}#botuyo-chat-widget-root .bg-primary{background-color:hsl(var(--primary))!important}#botuyo-chat-widget-root .bg-card{background-color:hsl(var(--card))!important}#botuyo-chat-widget-root .bg-transparent{background-color:#0000!important}#botuyo-chat-widget-root .border{border-width:1px!important}#botuyo-chat-widget-root .border-2{border-width:2px!important}#botuyo-chat-widget-root .border-b{border-bottom-width:1px!important}#botuyo-chat-widget-root .border-t{border-top-width:1px!important}#botuyo-chat-widget-root .border-border{border-color:hsl(var(--border))!important}#botuyo-chat-widget-root .shadow{box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a!important}#botuyo-chat-widget-root .shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a!important}#botuyo-chat-widget-root .shadow-xl{box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a!important}#botuyo-chat-widget-root .transition{transition-duration:.15s!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}#botuyo-chat-widget-root .transition-all{transition-duration:.15s!important;transition-property:all!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}#botuyo-chat-widget-root .duration-300{transition-duration:.3s!important}#botuyo-chat-widget-root .duration-500{transition-duration:.5s!important}#botuyo-chat-widget-root .opacity-0{opacity:0!important}#botuyo-chat-widget-root .opacity-100{opacity:1!important}#botuyo-chat-widget-root .scale-95{transform:scale(.95)!important}#botuyo-chat-widget-root .scale-100{transform:scale(1)!important}#botuyo-chat-widget-root .translate-y-full{transform:translateY(100%)!important}#botuyo-chat-widget-root .z-10{z-index:10!important}#botuyo-chat-widget-root .z-20{z-index:20!important}#botuyo-chat-widget-root .z-50{z-index:50!important}#botuyo-chat-widget-root .pointer-events-none{pointer-events:none!important}#botuyo-chat-widget-root .pointer-events-auto{pointer-events:auto!important}#botuyo-chat-widget-root .cursor-pointer{cursor:pointer!important}#botuyo-chat-widget-root .select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}@keyframes spin{to{transform:rotate(1turn)}}#botuyo-chat-widget,#botuyo-chat-widget-root,:root{--background:0 0% 100%;--foreground:240 10% 3.9%;--card:0 0% 100%;--card-foreground:240 10% 3.9%;--popover:0 0% 100%;--popover-foreground:240 10% 3.9%;--primary:160 84% 39%;--primary-foreground:0 0% 100%;--muted:240 4.8% 95.9%;--muted-foreground:240 3.8% 46.1%;--accent:240 4.8% 95.9%;--accent-foreground:240 5.9% 10%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:240 5.9% 90%;--input:240 5.9% 90%;--ring:160 84% 39%;--radius:.5rem;--spacing1:.25rem;--spacing2:.5rem;--spacing3:.75rem;--spacing4:1rem;--spacing5:.75rem;--spacing6:1.5rem;--spacing8:2rem}#botuyo-chat-widget-root.dark,#botuyo-chat-widget.dark,.dark{--background:240 10% 3.9%;--foreground:0 0% 98%;--card:240 10% 3.9%;--card-foreground:0 0% 98%;--popover:240 10% 3.9%;--popover-foreground:0 0% 98%;--primary:160 84% 39%;--primary-foreground:0 0% 100%;--muted:240 3.7% 15.9%;--muted-foreground:240 5% 64.9%;--accent:240 3.7% 15.9%;--accent-foreground:0 0% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:240 3.7% 15.9%;--input:240 3.7% 15.9%;--ring:160 84% 39%}#botuyo-chat-widget-root,#botuyo-chat-widget-root *{box-sizing:border-box;margin:0;padding:0}#botuyo-chat-widget-root{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:hsl(var(--foreground));font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}#botuyo-chat-widget-root .chat-launcher{align-items:center;background-color:hsl(var(--primary));border-radius:50%;bottom:1.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;color:#fff;cursor:pointer;display:flex;height:60px;justify-content:center;position:fixed;right:1.5rem;transition:all .2s;width:60px;z-index:999999}#botuyo-chat-widget-root .chat-launcher:hover{box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;transform:scale(1.05)}#botuyo-chat-widget-root .chat-launcher.position-bottom-left{left:1.5rem;right:auto}#botuyo-chat-widget-root .chat-launcher.position-top-right{bottom:auto;top:1.5rem}#botuyo-chat-widget-root .chat-launcher.position-top-left{inset:1.5rem auto auto 1.5rem}#botuyo-chat-widget-root .chat-window{animation:slideInRight .3s ease-out;background-color:hsl(var(--background));border-radius:1rem;bottom:6rem;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;height:600px;max-height:calc(100vh - 8rem);overflow:hidden;position:fixed;right:1.5rem;width:400px;z-index:999999}#botuyo-chat-widget-root .chat-window.closing{animation:slideOutRight .2s ease-in}@media(max-width:640px){#botuyo-chat-widget-root .chat-window{animation:slideInUp .3s ease-out;border-radius:0;height:100%;inset:0;max-height:100vh;width:100%}}#botuyo-chat-widget-root .message-bubble{word-wrap:break-word;border-radius:1rem;max-width:80%;padding:.75rem 1rem}#botuyo-chat-widget-root .message-bubble.user{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));margin-left:auto}#botuyo-chat-widget-root .message-bubble.bot{background-color:hsl(var(--muted));color:hsl(var(--foreground))}#botuyo-chat-widget-root .chat-messages::-webkit-scrollbar{width:6px}#botuyo-chat-widget-root .chat-messages::-webkit-scrollbar-track{background:0 0}#botuyo-chat-widget-root .chat-messages::-webkit-scrollbar-thumb{background:hsl(var(--muted));border-radius:3px}#botuyo-chat-widget-root .chat-messages::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground))}#botuyo-chat-widget-root .chat-input{background-color:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:.5rem;color:hsl(var(--foreground));outline:none;padding:.75rem;transition:border-color .2s;width:100%}#botuyo-chat-widget-root .chat-input:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary)/.1)}@media(max-width:640px){#botuyo-chat-widget-root .chat-launcher{bottom:1rem;height:56px;right:1rem;width:56px}}@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-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}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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:"<percentage>";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:"<percentage>";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:"<length>";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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}';let j=class extends a{constructor(t){super(t),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t,e){console.error("[BotUyoWidget] Internal error:",t,e)}render(){return this.state.hasError?null:this.props.children}};const P={"--background":"240 10% 3.9%","--foreground":"0 0% 98%","--card":"240 10% 3.9%","--cardForeground":"0 0% 98%","--primary":"160 84% 39%","--primaryForeground":"0 0% 100%","--muted":"240 3.7% 15.9%","--mutedForeground":"240 5% 64.9%","--border":"240 3.7% 15.9%"};function F(){const t=document.documentElement.getAttribute("data-theme");return"dark"===t||"light"!==t&&window.matchMedia("(prefers-color-scheme: dark)").matches}const D=e.lazy(()=>Promise.resolve().then(()=>Xa).then(t=>({default:t.ChatWidget}))),Z=a=>{const i=r(null),s=r(null),c=r(null),l=r(null),[d,u]=o(!1),[p,h]=o(!1);return n(()=>{if(!i.current||s.current)return;const e=i.current.attachShadow({mode:"open"});s.current=e;const r=document.createElement("style");r.textContent=A.replace(/:root/g,":host"),e.appendChild(r);const o=document.createElement("div");return o.id="botuyo-chat-widget-root",e.appendChild(o),l.current=o,c.current=t(o),h(F()),u(!0),()=>{c.current?.unmount(),c.current=null,s.current=null,l.current=null}},[]),n(()=>{const t=()=>h(F()),e=new MutationObserver(t);e.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]});const r=window.matchMedia("(prefers-color-scheme: dark)");return r.addEventListener("change",t),()=>{e.disconnect(),r.removeEventListener("change",t)}},[]),n(()=>{if(!l.current)return;const t=l.current;p&&!a.theme?.cssVariables?Object.entries(P).forEach(([e,r])=>{t.style.setProperty(e,r)}):p||a.theme?.cssVariables||Object.keys(P).forEach(e=>{t.style.removeProperty(e)})},[p,a.theme?.cssVariables]),n(()=>{d&&c.current&&c.current.render(
|
|
2
|
+
/* @__PURE__ */N(j,{children:/* @__PURE__ */N(e.Suspense,{fallback:null,children:/* @__PURE__ */N(D,{...a})})}))},[d,a]),/* @__PURE__ */N("div",{ref:i,id:"botuyo-shadow-host"})};function U({isOpen:t,onClick:e,unreadCount:r=0,primaryColor:a,logoUrl:c,starterPrompt:l,position:d="bottom-right",emotion:u="default",avatars:p={},styles:k,promptPersistence:_="session",avatarScale:z=1,showPromptAvatar:E=!1}){const{t:S}=h("extracted"),O=g({primaryColor:a}),I=k?.launcher?.bg,$=m(),{triggerHaptic:C,getGlowClass:M}=f(),A=$.launcherPulse&&!1!==k?.launcher?.pulse,[j,P]=o(!1),[F,D]=o(!1),[Z,U]=o(!1),[L,R]=o(!1),W="bottom-right"===d,B="chat_launcher_prompt_state",J=i(()=>p[u]||p.default||c||w,[u,p,c]);n(()=>{R(!1)},[J]),n(()=>{const t=Object.values(p).filter(t=>!!t);c&&t.push(c),t.forEach(t=>{(new Image).src=t})},[p,c]),n(()=>{"forever"===_&&"dismissed"===localStorage.getItem(B)&&U(!0)},[_]);const V=s(()=>{D(!0),setTimeout(()=>P(!1),500),"always"!==_&&(U(!0),"forever"===_&&localStorage.setItem(B,"dismissed"))},[_]);n(()=>{if("always"!==_&&Z||!l||t)return void P(!1);const e=setTimeout(()=>{P(!0),D(!1)},2e3),r=setTimeout(()=>V(),12e3);return()=>{clearTimeout(e),clearTimeout(r)}},[l,t,Z,_,V]);const q=()=>{x.debug("Launcher handleMainAction called, isOpen:",t),C(),U(!0),"forever"===_&&localStorage.setItem(B,"dismissed"),e()};/* @__PURE__ */
|
|
3
3
|
return T("div",{className:b("flex items-center w-fit transition-all duration-500",W?"flex-row ml-auto":"flex-row-reverse mr-auto"),children:[
|
|
4
4
|
/* @__PURE__ */N("div",{className:b("transition-all duration-700 ease-[cubic-bezier(0.34,1.56,0.64,1)] flex items-end",j?b("opacity-100 translate-x-0 translate-y-0 w-auto max-w-[320px]",W?"mr-3":"ml-3"):b("opacity-0 w-0 max-w-0 overflow-hidden pointer-events-none",W?"translate-x-6 translate-y-2":"-translate-x-6 translate-y-2")),children:/* @__PURE__ */T("div",{className:b("relative cursor-pointer group",F&&"opacity-0 scale-90 transition-all duration-400",!j&&"hidden"),onClick:q,children:[
|
|
5
5
|
/* @__PURE__ */T("div",{style:{position:"relative",maxWidth:"290px",padding:"14px 40px 14px 18px",borderRadius:W?"20px 20px 8px 20px":"20px 20px 20px 8px",backgroundColor:"hsl(var(--background) / 0.95)",backdropFilter:"blur(16px)",WebkitBackdropFilter:"blur(16px)",color:"hsl(var(--foreground))",boxShadow:"0 8px 32px -8px rgba(0,0,0,0.15), 0 4px 12px -4px rgba(0,0,0,0.08), 0 0 0 1px hsl(var(--border) / 0.4), inset 0 1px 0 hsl(var(--background) / 0.8)",borderLeft:W?`3px solid ${O||"hsl(160,84%,39%)"}`:"none",borderRight:W?"none":`3px solid ${O||"hsl(160,84%,39%)"}`},children:[
|
|
6
6
|
/* @__PURE__ */N("div",{style:{position:"absolute",bottom:"12px",[W?"right":"left"]:"-7px",width:"14px",height:"14px",backgroundColor:"hsl(var(--background) / 0.95)",transform:"rotate(45deg)",borderRadius:"2px",boxShadow:W?"4px 4px 8px -4px rgba(0,0,0,0.08), 1px 0 0 hsl(var(--border) / 0.4)":"-4px 4px 8px -4px rgba(0,0,0,0.08), 0 1px 0 hsl(var(--border) / 0.4)"}}),
|
|
7
|
-
/* @__PURE__ */N("span",{style:{display:"block",fontSize:"14px",fontWeight:500,lineHeight:1.5,letterSpacing:"-0.01em",whiteSpace:"normal",wordBreak:"break-word"},children:
|
|
7
|
+
/* @__PURE__ */N("span",{style:{display:"block",fontSize:"14px",fontWeight:500,lineHeight:1.5,letterSpacing:"-0.01em",whiteSpace:"normal",wordBreak:"break-word"},children:l})]}),
|
|
8
8
|
/* @__PURE__ */N("button",{onClick:t=>{t.stopPropagation(),V()},className:"opacity-0 group-hover:opacity-100 transition-opacity duration-200",style:{position:"absolute",top:"6px",right:"8px",width:"22px",height:"22px",borderRadius:"50%",backgroundColor:"transparent",border:"none",boxShadow:"none",display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer",color:"hsl(var(--muted-foreground))",padding:0,transition:"all 0.15s"},onMouseEnter:t=>{t.currentTarget.style.backgroundColor="hsl(var(--muted) / 0.5)",t.currentTarget.style.color="hsl(var(--foreground))"},onMouseLeave:t=>{t.currentTarget.style.backgroundColor="transparent",t.currentTarget.style.color="hsl(var(--muted-foreground))"},"aria-label":"Cerrar",children:/* @__PURE__ */N(v,{className:"h-3 w-3",style:{strokeWidth:2.5}})})]})}),
|
|
9
9
|
/* @__PURE__ */T("div",{className:"relative flex items-center justify-center shrink-0",children:[!t&&A&&/* @__PURE__ */N("span",{className:"absolute inset-0 flex items-center justify-center",children:/* @__PURE__ */N("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full opacity-20",style:{backgroundColor:O}})}),
|
|
10
10
|
/* @__PURE__ */T("button",{type:"button",onClick:q,className:b("relative z-10 h-14 w-14 sm:h-16 sm:w-16","flex items-center justify-center text-white transition-all duration-500","hover:scale-110 active:scale-95 shadow-soft-xl cursor-pointer",!t&&"hover:rotate-6",!t&&$.enabled&&"animate-glow-pulse",k?.radius?.button||"rounded-full",I,M()),style:{backgroundColor:I?O||"hsl(160, 84%, 39%)":"transparent","--primary-glow":`${O}66`},"aria-label":t?"Cerrar chat":"Abrir chat",children:[
|
|
11
11
|
/* @__PURE__ */T("div",{className:"relative h-full w-full flex items-center justify-center overflow-hidden rounded-inherit",children:[
|
|
12
12
|
/* @__PURE__ */N("div",{className:b("absolute inset-0 transition-all duration-500 flex items-center justify-center",t?"opacity-0 scale-50 rotate-90":"opacity-100 scale-100 rotate-0"),children:J&&!L?/* @__PURE__ */N("img",{src:J,alt:S("assistant"),className:"w-full h-full object-cover",style:{transform:`scale(${z})`},onError:()=>R(!0)},J):/* @__PURE__ */N(y,{className:"h-7 w-7 sm:h-8 sm:w-8 fill-current"})}),
|
|
13
|
-
/* @__PURE__ */N("div",{className:b("absolute inset-0 transition-all duration-500 flex items-center justify-center bg-black/5 dark:bg-white/10",t?"opacity-100 scale-100 rotate-0":"opacity-0 scale-50 -rotate-90"),children:/* @__PURE__ */N(v,{className:"h-7 w-7 sm:h-8 sm:w-8 stroke-[2.5]"})})]}),!t&&r>0&&/* @__PURE__ */N("div",{className:"absolute -top-1 -right-1 z-20 flex h-6 w-6 items-center justify-center bg-destructive text-destructive-foreground rounded-full border-2 border-background text-[10px] font-black shadow-soft-md tabular-nums",children:r>9?"9+":r})]})]})]})}class L extends
|
|
13
|
+
/* @__PURE__ */N("div",{className:b("absolute inset-0 transition-all duration-500 flex items-center justify-center bg-black/5 dark:bg-white/10",t?"opacity-100 scale-100 rotate-0":"opacity-0 scale-50 -rotate-90"),children:/* @__PURE__ */N(v,{className:"h-7 w-7 sm:h-8 sm:w-8 stroke-[2.5]"})})]}),!t&&r>0&&/* @__PURE__ */N("div",{className:"absolute -top-1 -right-1 z-20 flex h-6 w-6 items-center justify-center bg-destructive text-destructive-foreground rounded-full border-2 border-background text-[10px] font-black shadow-soft-md tabular-nums",children:r>9?"9+":r})]})]})]})}class L extends a{constructor(t){super(t),this.state={hasError:!1,error:null}}static getDerivedStateFromError(t){return{hasError:!0,error:t}}componentDidCatch(t,e){x.error("ErrorBoundary caught error:",t,e),this.props.onError?.(t,e)}handleReset=()=>{this.setState({hasError:!1,error:null})};render(){return this.state.hasError?this.props.fallback?this.props.fallback:/* @__PURE__ */T("div",{className:"flex flex-col items-center justify-center p-8 bg-background text-center",children:[
|
|
14
14
|
/* @__PURE__ */N("div",{className:"text-6xl mb-4",children:"⚠️"}),
|
|
15
15
|
/* @__PURE__ */N("h2",{className:"text-xl font-bold text-foreground mb-2",children:"Algo salió mal"}),
|
|
16
16
|
/* @__PURE__ */N("p",{className:"text-sm text-muted-foreground mb-6 max-w-md",children:this.state.error?.message||"Ocurrió un error inesperado"}),
|
|
17
|
-
/* @__PURE__ */N("button",{onClick:this.handleReset,className:"px-4 py-2 bg-primary text-primary-foreground rounded-lg font-medium hover:opacity-90 transition-opacity",children:"Intentar de nuevo"})]}):this.props.children}}const R={bubble:"rounded-2xl",image:"rounded-xl",button:"rounded-xl",card:"rounded-2xl"},W={bg:"bg-muted/50 dark:bg-muted/20",text:"text-foreground",border:"border-border/50"},B={text:"text-primary-foreground"};const J=(t,e)=>e.some(e=>t instanceof e);let V,q;const G=/* @__PURE__ */new WeakMap,K=/* @__PURE__ */new WeakMap,H=/* @__PURE__ */new WeakMap;let Y={get(t,e,r){if(t instanceof IDBTransaction){if("done"===e)return G.get(t);if("store"===e)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return tt(t[e])},set:(t,e,r)=>(t[e]=r,!0),has:(t,e)=>t instanceof IDBTransaction&&("done"===e||"store"===e)||e in t};function X(t){Y=t(Y)}function Q(t){return"function"==typeof t?(e=t,(q||(q=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(et(this),t),tt(this.request)}:function(...t){return tt(e.apply(et(this),t))}):(t instanceof IDBTransaction&&function(t){if(G.has(t))return;const e=new Promise((e,r)=>{const o=()=>{t.removeEventListener("complete",a),t.removeEventListener("error",n),t.removeEventListener("abort",n)},a=()=>{e(),o()},n=()=>{r(t.error||new DOMException("AbortError","AbortError")),o()};t.addEventListener("complete",a),t.addEventListener("error",n),t.addEventListener("abort",n)});G.set(t,e)}(t),J(t,V||(V=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]))?new Proxy(t,Y):t);var e}function tt(t){if(t instanceof IDBRequest)return function(t){const e=new Promise((e,r)=>{const o=()=>{t.removeEventListener("success",a),t.removeEventListener("error",n)},a=()=>{e(tt(t.result)),o()},n=()=>{r(t.error),o()};t.addEventListener("success",a),t.addEventListener("error",n)});return H.set(e,t),e}(t);if(K.has(t))return K.get(t);const e=Q(t);return e!==t&&(K.set(t,e),H.set(e,t)),e}const et=t=>H.get(t),rt=["get","getKey","getAll","getAllKeys","count"],ot=["put","add","delete","clear"],at=/* @__PURE__ */new Map;function nt(t,e){if(!(t instanceof IDBDatabase)||e in t||"string"!=typeof e)return;if(at.get(e))return at.get(e);const r=e.replace(/FromIndex$/,""),o=e!==r,a=ot.includes(r);if(!(r in(o?IDBIndex:IDBObjectStore).prototype)||!a&&!rt.includes(r))return;const n=async function(t,...e){const n=this.transaction(t,a?"readwrite":"readonly");let i=n.store;return o&&(i=i.index(e.shift())),(await Promise.all([i[r](...e),a&&n.done]))[0]};return at.set(e,n),n}X(t=>({...t,get:(e,r,o)=>nt(e,r)||t.get(e,r,o),has:(e,r)=>!!nt(e,r)||t.has(e,r)}));const it=["continue","continuePrimaryKey","advance"],st={},ct=/* @__PURE__ */new WeakMap,dt=/* @__PURE__ */new WeakMap,lt={get(t,e){if(!it.includes(e))return t[e];let r=st[e];return r||(r=st[e]=function(...t){ct.set(this,dt.get(this)[e](...t))}),r}};async function*ut(...t){let e=this;if(e instanceof IDBCursor||(e=await e.openCursor(...t)),!e)return;const r=new Proxy(e,lt);for(dt.set(r,e),H.set(r,et(e));e;)yield r,e=await(ct.get(r)||e.continue()),ct.delete(r)}function pt(t,e){return e===Symbol.asyncIterator&&J(t,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===e&&J(t,[IDBIndex,IDBObjectStore])}X(t=>({...t,get:(e,r,o)=>pt(e,r)?ut:t.get(e,r,o),has:(e,r)=>pt(e,r)||t.has(e,r)}));class ht{db=null;DB_NAME;DB_VERSION=1;constructor(t="default"){this.DB_NAME=`botuyo-chat-${t}`}async init(){try{this.db=await function(t,e,{blocked:r,upgrade:o,blocking:a,terminated:n}={}){const i=indexedDB.open(t,e),s=tt(i);return o&&i.addEventListener("upgradeneeded",t=>{o(tt(i.result),t.oldVersion,t.newVersion,tt(i.transaction),t)}),r&&i.addEventListener("blocked",t=>r(t.oldVersion,t.newVersion,t)),s.then(t=>{n&&t.addEventListener("close",()=>n()),a&&t.addEventListener("versionchange",t=>a(t.oldVersion,t.newVersion,t))}).catch(()=>{}),s}(this.DB_NAME,this.DB_VERSION,{upgrade(t){t.objectStoreNames.contains("messages")||t.createObjectStore("messages",{keyPath:"id"}).createIndex("by-timestamp","timestamp"),t.objectStoreNames.contains("metadata")||t.createObjectStore("metadata")}}),x.info("IndexedDB initialized")}catch(t){throw x.error("Failed to initialize IndexedDB:",t),t}}async saveMessage(t){this.db||await this.init();try{await this.db.put("messages",t)}catch(e){x.error("Failed to save message:",e)}}async saveMessages(t){this.db||await this.init();try{const e=this.db.transaction("messages","readwrite");await Promise.all([...t.map(t=>e.store.put(t)),e.done])}catch(e){x.error("Failed to save messages:",e)}}async getMessages(t=100){this.db||await this.init();try{return(await this.db.getAllFromIndex("messages","by-timestamp")).slice(-t)}catch(e){return x.error("Failed to get messages:",e),[]}}async getMessage(t){this.db||await this.init();try{return await this.db.get("messages",t)}catch(e){return void x.error("Failed to get message:",e)}}async deleteMessage(t){this.db||await this.init();try{await this.db.delete("messages",t)}catch(e){x.error("Failed to delete message:",e)}}async clearMessages(){this.db||await this.init();try{await this.db.clear("messages"),x.info("Messages cleared from IndexedDB")}catch(t){x.error("Failed to clear messages:",t)}}async setMetadata(t){this.db||await this.init();try{await this.db.put("metadata",t,"chat-metadata")}catch(e){x.error("Failed to set metadata:",e)}}async getMetadata(){this.db||await this.init();try{return await this.db.get("metadata","chat-metadata")}catch(t){return x.error("Failed to get metadata:",t),null}}async clearAll(){this.db||await this.init();try{await Promise.all([this.db.clear("messages"),this.db.clear("metadata")]),x.info("All data cleared from IndexedDB")}catch(t){x.error("Failed to clear all data:",t)}}async migrateFromLocalStorage(t="default"){try{const e=`botuyo_chat_v1_${t}`,r=localStorage.getItem(e);if(!r)return;const o=JSON.parse(r);if(o.messages&&Array.isArray(o.messages)){const t=o.messages.map(t=>({...t,timestamp:new Date(t.timestamp)}));await this.saveMessages(t),x.info(`Migrated ${t.length} messages from localStorage`)}o.sessionId&&await this.setMetadata({sessionId:o.sessionId}),localStorage.removeItem(e),x.info("Migration from localStorage completed")}catch(e){x.error("Failed to migrate from localStorage:",e)}}}const gt=/* @__PURE__ */new Map,mt={isOpen:!1,isConnected:!1,isTyping:!1,messages:[],error:null,sessionId:null};function ft(t,e){switch(e.type){case"TOGGLE_WINDOW":return{...t,isOpen:!t.isOpen};case"OPEN_WINDOW":return{...t,isOpen:!0};case"CLOSE_WINDOW":return{...t,isOpen:!1};case"SET_CONNECTED":return{...t,isConnected:e.payload};case"SET_TYPING":return{...t,isTyping:e.payload};case"ADD_MESSAGE":{if(t.messages.some(t=>t.id===e.payload.id))return t;if(e.payload.id.startsWith("msg-")&&"text"===e.payload.type){const r=/* @__PURE__ */(new Date).getTime();if(t.messages.slice(-10).some(t=>"text"===t.type&&t.sender===e.payload.sender&&"content"in t&&"content"in e.payload&&t.content===e.payload.content&&Math.abs(r-new Date(t.timestamp).getTime())<3e4))return t}const r=[...t.messages,e.payload],o="bot"===e.payload.sender;return{...t,messages:r,isTyping:!o&&t.isTyping}}case"SET_MESSAGES":return{...t,messages:[...e.payload]};case"SET_ERROR":return{...t,error:e.payload};case"SET_SESSION_ID":return{...t,sessionId:e.payload};case"CLEAR_CHAT":return{...mt,isOpen:t.isOpen};case"RESTORE_SESSION":return{...t,...e.payload,isConnected:!1,isTyping:!1,error:null};default:return t}}function wt(t,e,r){function o(r,o){if(r._zod||Object.defineProperty(r,"_zod",{value:{def:o,constr:i,traits:/* @__PURE__ */new Set},enumerable:!1}),r._zod.traits.has(t))return;r._zod.traits.add(t),e(r,o);const a=i.prototype,n=Object.keys(a);for(let t=0;t<n.length;t++){const e=n[t];e in r||(r[e]=a[e].bind(r))}}const a=r?.Parent??Object;class n extends a{}function i(t){var e;const a=r?.Parent?new n:this;o(a,t),(e=a._zod).deferred??(e.deferred=[]);for(const r of a._zod.deferred)r();return a}return Object.defineProperty(n,"name",{value:t}),Object.defineProperty(i,"init",{value:o}),Object.defineProperty(i,Symbol.hasInstance,{value:e=>!!(r?.Parent&&e instanceof r.Parent)||e?._zod?.traits?.has(t)}),Object.defineProperty(i,"name",{value:t}),i}class bt extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class vt extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}const yt={};function xt(t){return yt}function kt(t){const e=Object.values(t).filter(t=>"number"==typeof t);return Object.entries(t).filter(([t,r])=>-1===e.indexOf(+t)).map(([t,e])=>e)}function _t(t,e){return"bigint"==typeof e?e.toString():e}function zt(t){return{get value(){{const e=t();return Object.defineProperty(this,"value",{value:e}),e}}}}function Et(t){return null==t}function St(t){const e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}const Ot=/* @__PURE__ */Symbol("evaluating");function It(t,e,r){let o;Object.defineProperty(t,e,{get(){if(o!==Ot)return void 0===o&&(o=Ot,o=r()),o},set(r){Object.defineProperty(t,e,{value:r})},configurable:!0})}function $t(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Ct(...t){const e={};for(const r of t){const t=Object.getOwnPropertyDescriptors(r);Object.assign(e,t)}return Object.defineProperties({},e)}function Nt(t){return JSON.stringify(t)}const Tt="captureStackTrace"in Error?Error.captureStackTrace:(...t)=>{};function Mt(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}const At=zt(()=>{if("undefined"!=typeof navigator&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(t){return!1}});function jt(t){if(!1===Mt(t))return!1;const e=t.constructor;if(void 0===e)return!0;if("function"!=typeof e)return!0;const r=e.prototype;return!1!==Mt(r)&&!1!==Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")}function Pt(t){return jt(t)?{...t}:Array.isArray(t)?[...t]:t}const Ft=/* @__PURE__ */new Set(["string","number","symbol"]);function Dt(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Zt(t,e,r){const o=new t._zod.constr(e??t._zod.def);return e&&!r?.parent||(o._zod.parent=t),o}function Ut(t){const e=t;if(!e)return{};if("string"==typeof e)return{error:()=>e};if(void 0!==e?.message){if(void 0!==e?.error)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,"string"==typeof e.error?{...e,error:()=>e.error}:e}const Lt={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Rt(t,e=0){if(!0===t.aborted)return!0;for(let r=e;r<t.issues.length;r++)if(!0!==t.issues[r]?.continue)return!0;return!1}function Wt(t,e){return e.map(e=>{var r;return(r=e).path??(r.path=[]),e.path.unshift(t),e})}function Bt(t){return"string"==typeof t?t:t?.message}function Jt(t,e,r){const o={...t,path:t.path??[]};if(!t.message){const a=Bt(t.inst?._zod.def?.error?.(t))??Bt(e?.error?.(t))??Bt(r.customError?.(t))??Bt(r.localeError?.(t))??"Invalid input";o.message=a}return delete o.inst,delete o.continue,e?.reportInput||delete o.input,o}function Vt(t){return Array.isArray(t)?"array":"string"==typeof t?"string":"unknown"}function qt(...t){const[e,r,o]=t;return"string"==typeof e?{message:e,code:"custom",input:r,inst:o}:{...e}}const Gt=(t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),t.message=JSON.stringify(e,_t,2),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},Kt=wt("$ZodError",Gt),Ht=wt("$ZodError",Gt,{Parent:Error}),Yt=t=>(e,r,o,a)=>{const n=o?Object.assign(o,{async:!1}):{async:!1},i=e._zod.run({value:r,issues:[]},n);if(i instanceof Promise)throw new bt;if(i.issues.length){const e=new(a?.Err??t)(i.issues.map(t=>Jt(t,n,xt())));throw Tt(e,a?.callee),e}return i.value},Xt=t=>async(e,r,o,a)=>{const n=o?Object.assign(o,{async:!0}):{async:!0};let i=e._zod.run({value:r,issues:[]},n);if(i instanceof Promise&&(i=await i),i.issues.length){const e=new(a?.Err??t)(i.issues.map(t=>Jt(t,n,xt())));throw Tt(e,a?.callee),e}return i.value},Qt=t=>(e,r,o)=>{const a=o?{...o,async:!1}:{async:!1},n=e._zod.run({value:r,issues:[]},a);if(n instanceof Promise)throw new bt;return n.issues.length?{success:!1,error:new(t??Kt)(n.issues.map(t=>Jt(t,a,xt())))}:{success:!0,data:n.value}},te=/* @__PURE__ */Qt(Ht),ee=t=>async(e,r,o)=>{const a=o?Object.assign(o,{async:!0}):{async:!0};let n=e._zod.run({value:r,issues:[]},a);return n instanceof Promise&&(n=await n),n.issues.length?{success:!1,error:new t(n.issues.map(t=>Jt(t,a,xt())))}:{success:!0,data:n.value}},re=/* @__PURE__ */ee(Ht),oe=t=>(e,r,o)=>{const a=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Yt(t)(e,r,a)},ae=t=>(e,r,o)=>Yt(t)(e,r,o),ne=t=>async(e,r,o)=>{const a=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Xt(t)(e,r,a)},ie=t=>async(e,r,o)=>Xt(t)(e,r,o),se=t=>(e,r,o)=>{const a=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Qt(t)(e,r,a)},ce=t=>(e,r,o)=>Qt(t)(e,r,o),de=t=>async(e,r,o)=>{const a=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return ee(t)(e,r,a)},le=t=>async(e,r,o)=>ee(t)(e,r,o),ue=/^[cC][^\s-]{8,}$/,pe=/^[0-9a-z]+$/,he=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,ge=/^[0-9a-vA-V]{20}$/,me=/^[A-Za-z0-9]{27}$/,fe=/^[a-zA-Z0-9_-]{21}$/,we=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,be=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,ve=t=>t?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${t}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,ye=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,xe=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ke=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,_e=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,ze=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Ee=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Se=/^[A-Za-z0-9_-]*$/,Oe=/^\+[1-9]\d{6,14}$/,Ie="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",$e=/* @__PURE__ */new RegExp(`^${Ie}$`);function Ce(t){const e="(?:[01]\\d|2[0-3]):[0-5]\\d";return"number"==typeof t.precision?-1===t.precision?`${e}`:0===t.precision?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${t.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}const Ne=/^-?\d+$/,Te=/^-?\d+(?:\.\d+)?$/,Me=/^[^A-Z]*$/,Ae=/^[^a-z]*$/,je=/* @__PURE__ */wt("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),Pe={number:"number",bigint:"bigint",object:"date"},Fe=/* @__PURE__ */wt("$ZodCheckLessThan",(t,e)=>{je.init(t,e);const r=Pe[typeof e.value];t._zod.onattach.push(t=>{const r=t._zod.bag,o=(e.inclusive?r.maximum:r.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value<o&&(e.inclusive?r.maximum=e.value:r.exclusiveMaximum=e.value)}),t._zod.check=o=>{(e.inclusive?o.value<=e.value:o.value<e.value)||o.issues.push({origin:r,code:"too_big",maximum:"object"==typeof e.value?e.value.getTime():e.value,input:o.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),De=/* @__PURE__ */wt("$ZodCheckGreaterThan",(t,e)=>{je.init(t,e);const r=Pe[typeof e.value];t._zod.onattach.push(t=>{const r=t._zod.bag,o=(e.inclusive?r.minimum:r.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>o&&(e.inclusive?r.minimum=e.value:r.exclusiveMinimum=e.value)}),t._zod.check=o=>{(e.inclusive?o.value>=e.value:o.value>e.value)||o.issues.push({origin:r,code:"too_small",minimum:"object"==typeof e.value?e.value.getTime():e.value,input:o.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),Ze=/* @__PURE__ */wt("$ZodCheckMultipleOf",(t,e)=>{je.init(t,e),t._zod.onattach.push(t=>{var r;(r=t._zod.bag).multipleOf??(r.multipleOf=e.value)}),t._zod.check=r=>{if(typeof r.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");("bigint"==typeof r.value?r.value%e.value===BigInt(0):0===function(t,e){const r=(t.toString().split(".")[1]||"").length,o=e.toString();let a=(o.split(".")[1]||"").length;if(0===a&&/\d?e-\d?/.test(o)){const t=o.match(/\d?e-(\d?)/);t?.[1]&&(a=Number.parseInt(t[1]))}const n=r>a?r:a;return Number.parseInt(t.toFixed(n).replace(".",""))%Number.parseInt(e.toFixed(n).replace(".",""))/10**n}(r.value,e.value))||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:e.value,input:r.value,inst:t,continue:!e.abort})}}),Ue=/* @__PURE__ */wt("$ZodCheckNumberFormat",(t,e)=>{je.init(t,e),e.format=e.format||"float64";const r=e.format?.includes("int"),o=r?"int":"number",[a,n]=Lt[e.format];t._zod.onattach.push(t=>{const o=t._zod.bag;o.format=e.format,o.minimum=a,o.maximum=n,r&&(o.pattern=Ne)}),t._zod.check=i=>{const s=i.value;if(r){if(!Number.isInteger(s))return void i.issues.push({expected:o,format:e.format,code:"invalid_type",continue:!1,input:s,inst:t});if(!Number.isSafeInteger(s))return void(s>0?i.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:o,inclusive:!0,continue:!e.abort}):i.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:o,inclusive:!0,continue:!e.abort}))}s<a&&i.issues.push({origin:"number",input:s,code:"too_small",minimum:a,inclusive:!0,inst:t,continue:!e.abort}),s>n&&i.issues.push({origin:"number",input:s,code:"too_big",maximum:n,inclusive:!0,inst:t,continue:!e.abort})}}),Le=/* @__PURE__ */wt("$ZodCheckMaxLength",(t,e)=>{var r;je.init(t,e),(r=t._zod.def).when??(r.when=t=>{const e=t.value;return!Et(e)&&void 0!==e.length}),t._zod.onattach.push(t=>{const r=t._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum<r&&(t._zod.bag.maximum=e.maximum)}),t._zod.check=r=>{const o=r.value;if(o.length<=e.maximum)return;const a=Vt(o);r.issues.push({origin:a,code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Re=/* @__PURE__ */wt("$ZodCheckMinLength",(t,e)=>{var r;je.init(t,e),(r=t._zod.def).when??(r.when=t=>{const e=t.value;return!Et(e)&&void 0!==e.length}),t._zod.onattach.push(t=>{const r=t._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>r&&(t._zod.bag.minimum=e.minimum)}),t._zod.check=r=>{const o=r.value;if(o.length>=e.minimum)return;const a=Vt(o);r.issues.push({origin:a,code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),We=/* @__PURE__ */wt("$ZodCheckLengthEquals",(t,e)=>{var r;je.init(t,e),(r=t._zod.def).when??(r.when=t=>{const e=t.value;return!Et(e)&&void 0!==e.length}),t._zod.onattach.push(t=>{const r=t._zod.bag;r.minimum=e.length,r.maximum=e.length,r.length=e.length}),t._zod.check=r=>{const o=r.value,a=o.length;if(a===e.length)return;const n=Vt(o),i=a>e.length;r.issues.push({origin:n,...i?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:r.value,inst:t,continue:!e.abort})}}),Be=/* @__PURE__ */wt("$ZodCheckStringFormat",(t,e)=>{var r,o;je.init(t,e),t._zod.onattach.push(t=>{const r=t._zod.bag;r.format=e.format,e.pattern&&(r.patterns??(r.patterns=/* @__PURE__ */new Set),r.patterns.add(e.pattern))}),e.pattern?(r=t._zod).check??(r.check=r=>{e.pattern.lastIndex=0,e.pattern.test(r.value)||r.issues.push({origin:"string",code:"invalid_format",format:e.format,input:r.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(o=t._zod).check??(o.check=()=>{})}),Je=/* @__PURE__ */wt("$ZodCheckRegex",(t,e)=>{Be.init(t,e),t._zod.check=r=>{e.pattern.lastIndex=0,e.pattern.test(r.value)||r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort})}}),Ve=/* @__PURE__ */wt("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=Me),Be.init(t,e)}),qe=/* @__PURE__ */wt("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=Ae),Be.init(t,e)}),Ge=/* @__PURE__ */wt("$ZodCheckIncludes",(t,e)=>{je.init(t,e);const r=Dt(e.includes),o=new RegExp("number"==typeof e.position?`^.{${e.position}}${r}`:r);e.pattern=o,t._zod.onattach.push(t=>{const e=t._zod.bag;e.patterns??(e.patterns=/* @__PURE__ */new Set),e.patterns.add(o)}),t._zod.check=r=>{r.value.includes(e.includes,e.position)||r.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:r.value,inst:t,continue:!e.abort})}}),Ke=/* @__PURE__ */wt("$ZodCheckStartsWith",(t,e)=>{je.init(t,e);const r=new RegExp(`^${Dt(e.prefix)}.*`);e.pattern??(e.pattern=r),t._zod.onattach.push(t=>{const e=t._zod.bag;e.patterns??(e.patterns=/* @__PURE__ */new Set),e.patterns.add(r)}),t._zod.check=r=>{r.value.startsWith(e.prefix)||r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:r.value,inst:t,continue:!e.abort})}}),He=/* @__PURE__ */wt("$ZodCheckEndsWith",(t,e)=>{je.init(t,e);const r=new RegExp(`.*${Dt(e.suffix)}$`);e.pattern??(e.pattern=r),t._zod.onattach.push(t=>{const e=t._zod.bag;e.patterns??(e.patterns=/* @__PURE__ */new Set),e.patterns.add(r)}),t._zod.check=r=>{r.value.endsWith(e.suffix)||r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:r.value,inst:t,continue:!e.abort})}}),Ye=/* @__PURE__ */wt("$ZodCheckOverwrite",(t,e)=>{je.init(t,e),t._zod.check=t=>{t.value=e.tx(t.value)}});class Xe{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if("function"==typeof t)return t(this,{execution:"sync"}),void t(this,{execution:"async"});const e=t.split("\n").filter(t=>t),r=Math.min(...e.map(t=>t.length-t.trimStart().length)),o=e.map(t=>t.slice(r)).map(t=>" ".repeat(2*this.indent)+t);for(const a of o)this.content.push(a)}compile(){const t=Function,e=this?.args;return new t(...e,[...(this?.content??[""]).map(t=>` ${t}`)].join("\n"))}}const Qe={major:4,minor:3,patch:6},tr=/* @__PURE__ */wt("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=Qe;const o=[...t._zod.def.checks??[]];t._zod.traits.has("$ZodCheck")&&o.unshift(t);for(const a of o)for(const e of a._zod.onattach)e(t);if(0===o.length)(r=t._zod).deferred??(r.deferred=[]),t._zod.deferred?.push(()=>{t._zod.run=t._zod.parse});else{const e=(t,e,r)=>{let o,a=Rt(t);for(const n of e){if(n._zod.def.when){if(!n._zod.def.when(t))continue}else if(a)continue;const e=t.issues.length,i=n._zod.check(t);if(i instanceof Promise&&!1===r?.async)throw new bt;if(o||i instanceof Promise)o=(o??Promise.resolve()).then(async()=>{await i,t.issues.length!==e&&(a||(a=Rt(t,e)))});else{if(t.issues.length===e)continue;a||(a=Rt(t,e))}}return o?o.then(()=>t):t},r=(r,a,n)=>{if(Rt(r))return r.aborted=!0,r;const i=e(a,o,n);if(i instanceof Promise){if(!1===n.async)throw new bt;return i.then(e=>t._zod.parse(e,n))}return t._zod.parse(i,n)};t._zod.run=(a,n)=>{if(n.skipChecks)return t._zod.parse(a,n);if("backward"===n.direction){const e=t._zod.parse({value:a.value,issues:[]},{...n,skipChecks:!0});return e instanceof Promise?e.then(t=>r(t,a,n)):r(e,a,n)}const i=t._zod.parse(a,n);if(i instanceof Promise){if(!1===n.async)throw new bt;return i.then(t=>e(t,o,n))}return e(i,o,n)}}It(t,"~standard",()=>({validate:e=>{try{const r=te(t,e);return r.success?{value:r.data}:{issues:r.error?.issues}}catch(r){return re(t,e).then(t=>t.success?{value:t.data}:{issues:t.error?.issues})}},vendor:"zod",version:1}))}),er=/* @__PURE__ */wt("$ZodString",(t,e)=>{var r;tr.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??(r=t._zod.bag,new RegExp(`^${r?`[\\s\\S]{${r?.minimum??0},${r?.maximum??""}}`:"[\\s\\S]*"}$`)),t._zod.parse=(r,o)=>{if(e.coerce)try{r.value=String(r.value)}catch(a){}return"string"==typeof r.value||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:t}),r}}),rr=/* @__PURE__ */wt("$ZodStringFormat",(t,e)=>{Be.init(t,e),er.init(t,e)}),or=/* @__PURE__ */wt("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=be),rr.init(t,e)}),ar=/* @__PURE__ */wt("$ZodUUID",(t,e)=>{if(e.version){const t={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(void 0===t)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=ve(t))}else e.pattern??(e.pattern=ve());rr.init(t,e)}),nr=/* @__PURE__ */wt("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=ye),rr.init(t,e)}),ir=/* @__PURE__ */wt("$ZodURL",(t,e)=>{rr.init(t,e),t._zod.check=r=>{try{const o=r.value.trim(),a=new URL(o);return e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(a.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:e.hostname.source,input:r.value,inst:t,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(a.protocol.endsWith(":")?a.protocol.slice(0,-1):a.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:r.value,inst:t,continue:!e.abort})),void(e.normalize?r.value=a.href:r.value=o)}catch(o){r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:t,continue:!e.abort})}}}),sr=/* @__PURE__ */wt("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),rr.init(t,e)}),cr=/* @__PURE__ */wt("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=fe),rr.init(t,e)}),dr=/* @__PURE__ */wt("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=ue),rr.init(t,e)}),lr=/* @__PURE__ */wt("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=pe),rr.init(t,e)}),ur=/* @__PURE__ */wt("$ZodULID",(t,e)=>{e.pattern??(e.pattern=he),rr.init(t,e)}),pr=/* @__PURE__ */wt("$ZodXID",(t,e)=>{e.pattern??(e.pattern=ge),rr.init(t,e)}),hr=/* @__PURE__ */wt("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=me),rr.init(t,e)}),gr=/* @__PURE__ */wt("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=function(t){const e=Ce({precision:t.precision}),r=["Z"];t.local&&r.push(""),t.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const o=`${e}(?:${r.join("|")})`;return new RegExp(`^${Ie}T(?:${o})$`)}(e)),rr.init(t,e)}),mr=/* @__PURE__ */wt("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=$e),rr.init(t,e)}),fr=/* @__PURE__ */wt("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=new RegExp(`^${Ce(e)}$`)),rr.init(t,e)}),wr=/* @__PURE__ */wt("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=we),rr.init(t,e)}),br=/* @__PURE__ */wt("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=xe),rr.init(t,e),t._zod.bag.format="ipv4"}),vr=/* @__PURE__ */wt("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=ke),rr.init(t,e),t._zod.bag.format="ipv6",t._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:t,continue:!e.abort})}}}),yr=/* @__PURE__ */wt("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=_e),rr.init(t,e)}),xr=/* @__PURE__ */wt("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=ze),rr.init(t,e),t._zod.check=r=>{const o=r.value.split("/");try{if(2!==o.length)throw new Error;const[t,e]=o;if(!e)throw new Error;const r=Number(e);if(`${r}`!==e)throw new Error;if(r<0||r>128)throw new Error;new URL(`http://[${t}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:t,continue:!e.abort})}}});function kr(t){if(""===t)return!0;if(t.length%4!=0)return!1;try{return atob(t),!0}catch{return!1}}const _r=/* @__PURE__ */wt("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=Ee),rr.init(t,e),t._zod.bag.contentEncoding="base64",t._zod.check=r=>{kr(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}}),zr=/* @__PURE__ */wt("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=Se),rr.init(t,e),t._zod.bag.contentEncoding="base64url",t._zod.check=r=>{(function(t){if(!Se.test(t))return!1;const e=t.replace(/[-_]/g,t=>"-"===t?"+":"/");return kr(e.padEnd(4*Math.ceil(e.length/4),"="))})(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),Er=/* @__PURE__ */wt("$ZodE164",(t,e)=>{e.pattern??(e.pattern=Oe),rr.init(t,e)}),Sr=/* @__PURE__ */wt("$ZodJWT",(t,e)=>{rr.init(t,e),t._zod.check=r=>{(function(t,e=null){try{const r=t.split(".");if(3!==r.length)return!1;const[o]=r;if(!o)return!1;const a=JSON.parse(atob(o));return!("typ"in a&&"JWT"!==a?.typ||!a.alg||e&&(!("alg"in a)||a.alg!==e))}catch{return!1}})(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}}),Or=/* @__PURE__ */wt("$ZodNumber",(t,e)=>{tr.init(t,e),t._zod.pattern=t._zod.bag.pattern??Te,t._zod.parse=(r,o)=>{if(e.coerce)try{r.value=Number(r.value)}catch(i){}const a=r.value;if("number"==typeof a&&!Number.isNaN(a)&&Number.isFinite(a))return r;const n="number"==typeof a?Number.isNaN(a)?"NaN":Number.isFinite(a)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:a,inst:t,...n?{received:n}:{}}),r}}),Ir=/* @__PURE__ */wt("$ZodNumberFormat",(t,e)=>{Ue.init(t,e),Or.init(t,e)}),$r=/* @__PURE__ */wt("$ZodAny",(t,e)=>{tr.init(t,e),t._zod.parse=t=>t}),Cr=/* @__PURE__ */wt("$ZodUnknown",(t,e)=>{tr.init(t,e),t._zod.parse=t=>t}),Nr=/* @__PURE__ */wt("$ZodNever",(t,e)=>{tr.init(t,e),t._zod.parse=(e,r)=>(e.issues.push({expected:"never",code:"invalid_type",input:e.value,inst:t}),e)});function Tr(t,e,r){t.issues.length&&e.issues.push(...Wt(r,t.issues)),e.value[r]=t.value}const Mr=/* @__PURE__ */wt("$ZodArray",(t,e)=>{tr.init(t,e),t._zod.parse=(r,o)=>{const a=r.value;if(!Array.isArray(a))return r.issues.push({expected:"array",code:"invalid_type",input:a,inst:t}),r;r.value=Array(a.length);const n=[];for(let t=0;t<a.length;t++){const i=a[t],s=e.element._zod.run({value:i,issues:[]},o);s instanceof Promise?n.push(s.then(e=>Tr(e,r,t))):Tr(s,r,t)}return n.length?Promise.all(n).then(()=>r):r}});function Ar(t,e,r,o,a){if(t.issues.length){if(a&&!(r in o))return;e.issues.push(...Wt(r,t.issues))}void 0===t.value?r in o&&(e.value[r]=void 0):e.value[r]=t.value}function jr(t){const e=Object.keys(t.shape);for(const a of e)if(!t.shape?.[a]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${a}": expected a Zod schema`);const r=(o=t.shape,Object.keys(o).filter(t=>"optional"===o[t]._zod.optin&&"optional"===o[t]._zod.optout));var o;return{...t,keys:e,keySet:new Set(e),numKeys:e.length,optionalKeys:new Set(r)}}function Pr(t,e,r,o,a,n){const i=[],s=a.keySet,c=a.catchall._zod,d=c.def.type,l="optional"===c.optout;for(const u in e){if(s.has(u))continue;if("never"===d){i.push(u);continue}const a=c.run({value:e[u],issues:[]},o);a instanceof Promise?t.push(a.then(t=>Ar(t,r,u,e,l))):Ar(a,r,u,e,l)}return i.length&&r.issues.push({code:"unrecognized_keys",keys:i,input:e,inst:n}),t.length?Promise.all(t).then(()=>r):r}const Fr=/* @__PURE__ */wt("$ZodObject",(t,e)=>{tr.init(t,e);const r=Object.getOwnPropertyDescriptor(e,"shape");if(!r?.get){const t=e.shape;Object.defineProperty(e,"shape",{get:()=>{const r={...t};return Object.defineProperty(e,"shape",{value:r}),r}})}const o=zt(()=>jr(e));It(t._zod,"propValues",()=>{const t=e.shape,r={};for(const e in t){const o=t[e]._zod;if(o.values){r[e]??(r[e]=/* @__PURE__ */new Set);for(const t of o.values)r[e].add(t)}}return r});const a=Mt,n=e.catchall;let i;t._zod.parse=(e,r)=>{i??(i=o.value);const s=e.value;if(!a(s))return e.issues.push({expected:"object",code:"invalid_type",input:s,inst:t}),e;e.value={};const c=[],d=i.shape;for(const t of i.keys){const o=d[t],a="optional"===o._zod.optout,n=o._zod.run({value:s[t],issues:[]},r);n instanceof Promise?c.push(n.then(r=>Ar(r,e,t,s,a))):Ar(n,e,t,s,a)}return n?Pr(c,s,e,r,o.value,t):c.length?Promise.all(c).then(()=>e):e}}),Dr=/* @__PURE__ */wt("$ZodObjectJIT",(t,e)=>{Fr.init(t,e);const r=t._zod.parse,o=zt(()=>jr(e));let a;const n=Mt,i=!yt.jitless,s=i&&At.value,c=e.catchall;let d;t._zod.parse=(l,u)=>{d??(d=o.value);const p=l.value;return n(p)?i&&s&&!1===u?.async&&!0!==u.jitless?(a||(a=(t=>{const e=new Xe(["shape","payload","ctx"]),r=o.value,a=t=>{const e=Nt(t);return`shape[${e}]._zod.run({ value: input[${e}], issues: [] }, ctx)`};e.write("const input = payload.value;");const n=/* @__PURE__ */Object.create(null);let i=0;for(const o of r.keys)n[o]="key_"+i++;e.write("const newResult = {};");for(const o of r.keys){const r=n[o],i=Nt(o),s=t[o],c="optional"===s?._zod?.optout;e.write(`const ${r} = ${a(o)};`),c?e.write(`\n if (${r}.issues.length) {\n if (${i} in input) {\n payload.issues = payload.issues.concat(${r}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${i}, ...iss.path] : [${i}]\n })));\n }\n }\n \n if (${r}.value === undefined) {\n if (${i} in input) {\n newResult[${i}] = undefined;\n }\n } else {\n newResult[${i}] = ${r}.value;\n }\n \n `):e.write(`\n if (${r}.issues.length) {\n payload.issues = payload.issues.concat(${r}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${i}, ...iss.path] : [${i}]\n })));\n }\n \n if (${r}.value === undefined) {\n if (${i} in input) {\n newResult[${i}] = undefined;\n }\n } else {\n newResult[${i}] = ${r}.value;\n }\n \n `)}e.write("payload.value = newResult;"),e.write("return payload;");const s=e.compile();return(e,r)=>s(t,e,r)})(e.shape)),l=a(l,u),c?Pr([],p,l,u,d,t):l):r(l,u):(l.issues.push({expected:"object",code:"invalid_type",input:p,inst:t}),l)}});function Zr(t,e,r,o){for(const n of t)if(0===n.issues.length)return e.value=n.value,e;const a=t.filter(t=>!Rt(t));return 1===a.length?(e.value=a[0].value,a[0]):(e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(t=>t.issues.map(t=>Jt(t,o,xt())))}),e)}const Ur=/* @__PURE__ */wt("$ZodUnion",(t,e)=>{tr.init(t,e),It(t._zod,"optin",()=>e.options.some(t=>"optional"===t._zod.optin)?"optional":void 0),It(t._zod,"optout",()=>e.options.some(t=>"optional"===t._zod.optout)?"optional":void 0),It(t._zod,"values",()=>{if(e.options.every(t=>t._zod.values))return new Set(e.options.flatMap(t=>Array.from(t._zod.values)))}),It(t._zod,"pattern",()=>{if(e.options.every(t=>t._zod.pattern)){const t=e.options.map(t=>t._zod.pattern);return new RegExp(`^(${t.map(t=>St(t.source)).join("|")})$`)}});const r=1===e.options.length,o=e.options[0]._zod.run;t._zod.parse=(a,n)=>{if(r)return o(a,n);let i=!1;const s=[];for(const t of e.options){const e=t._zod.run({value:a.value,issues:[]},n);if(e instanceof Promise)s.push(e),i=!0;else{if(0===e.issues.length)return e;s.push(e)}}return i?Promise.all(s).then(e=>Zr(e,a,t,n)):Zr(s,a,t,n)}}),Lr=/* @__PURE__ */wt("$ZodIntersection",(t,e)=>{tr.init(t,e),t._zod.parse=(t,r)=>{const o=t.value,a=e.left._zod.run({value:o,issues:[]},r),n=e.right._zod.run({value:o,issues:[]},r);return a instanceof Promise||n instanceof Promise?Promise.all([a,n]).then(([e,r])=>Wr(t,e,r)):Wr(t,a,n)}});function Rr(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t===+e)return{valid:!0,data:t};if(jt(t)&&jt(e)){const r=Object.keys(e),o=Object.keys(t).filter(t=>-1!==r.indexOf(t)),a={...t,...e};for(const n of o){const r=Rr(t[n],e[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};a[n]=r.data}return{valid:!0,data:a}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};const r=[];for(let o=0;o<t.length;o++){const a=Rr(t[o],e[o]);if(!a.valid)return{valid:!1,mergeErrorPath:[o,...a.mergeErrorPath]};r.push(a.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function Wr(t,e,r){const o=/* @__PURE__ */new Map;let a;for(const s of e.issues)if("unrecognized_keys"===s.code){a??(a=s);for(const t of s.keys)o.has(t)||o.set(t,{}),o.get(t).l=!0}else t.issues.push(s);for(const s of r.issues)if("unrecognized_keys"===s.code)for(const t of s.keys)o.has(t)||o.set(t,{}),o.get(t).r=!0;else t.issues.push(s);const n=[...o].filter(([,t])=>t.l&&t.r).map(([t])=>t);if(n.length&&a&&t.issues.push({...a,keys:n}),Rt(t))return t;const i=Rr(e.value,r.value);if(!i.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(i.mergeErrorPath)}`);return t.value=i.data,t}const Br=/* @__PURE__ */wt("$ZodEnum",(t,e)=>{tr.init(t,e);const r=kt(e.entries),o=new Set(r);t._zod.values=o,t._zod.pattern=new RegExp(`^(${r.filter(t=>Ft.has(typeof t)).map(t=>"string"==typeof t?Dt(t):t.toString()).join("|")})$`),t._zod.parse=(e,a)=>{const n=e.value;return o.has(n)||e.issues.push({code:"invalid_value",values:r,input:n,inst:t}),e}}),Jr=/* @__PURE__ */wt("$ZodTransform",(t,e)=>{tr.init(t,e),t._zod.parse=(r,o)=>{if("backward"===o.direction)throw new vt(t.constructor.name);const a=e.transform(r.value,r);if(o.async)return(a instanceof Promise?a:Promise.resolve(a)).then(t=>(r.value=t,r));if(a instanceof Promise)throw new bt;return r.value=a,r}});function Vr(t,e){return t.issues.length&&void 0===e?{issues:[],value:void 0}:t}const qr=/* @__PURE__ */wt("$ZodOptional",(t,e)=>{tr.init(t,e),t._zod.optin="optional",t._zod.optout="optional",It(t._zod,"values",()=>e.innerType._zod.values?/* @__PURE__ */new Set([...e.innerType._zod.values,void 0]):void 0),It(t._zod,"pattern",()=>{const t=e.innerType._zod.pattern;return t?new RegExp(`^(${St(t.source)})?$`):void 0}),t._zod.parse=(t,r)=>{if("optional"===e.innerType._zod.optin){const o=e.innerType._zod.run(t,r);return o instanceof Promise?o.then(e=>Vr(e,t.value)):Vr(o,t.value)}return void 0===t.value?t:e.innerType._zod.run(t,r)}}),Gr=/* @__PURE__ */wt("$ZodExactOptional",(t,e)=>{qr.init(t,e),It(t._zod,"values",()=>e.innerType._zod.values),It(t._zod,"pattern",()=>e.innerType._zod.pattern),t._zod.parse=(t,r)=>e.innerType._zod.run(t,r)}),Kr=/* @__PURE__ */wt("$ZodNullable",(t,e)=>{tr.init(t,e),It(t._zod,"optin",()=>e.innerType._zod.optin),It(t._zod,"optout",()=>e.innerType._zod.optout),It(t._zod,"pattern",()=>{const t=e.innerType._zod.pattern;return t?new RegExp(`^(${St(t.source)}|null)$`):void 0}),It(t._zod,"values",()=>e.innerType._zod.values?/* @__PURE__ */new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(t,r)=>null===t.value?t:e.innerType._zod.run(t,r)}),Hr=/* @__PURE__ */wt("$ZodDefault",(t,e)=>{tr.init(t,e),t._zod.optin="optional",It(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(t,r)=>{if("backward"===r.direction)return e.innerType._zod.run(t,r);if(void 0===t.value)return t.value=e.defaultValue,t;const o=e.innerType._zod.run(t,r);return o instanceof Promise?o.then(t=>Yr(t,e)):Yr(o,e)}});function Yr(t,e){return void 0===t.value&&(t.value=e.defaultValue),t}const Xr=/* @__PURE__ */wt("$ZodPrefault",(t,e)=>{tr.init(t,e),t._zod.optin="optional",It(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(t,r)=>("backward"===r.direction||void 0===t.value&&(t.value=e.defaultValue),e.innerType._zod.run(t,r))}),Qr=/* @__PURE__ */wt("$ZodNonOptional",(t,e)=>{tr.init(t,e),It(t._zod,"values",()=>{const t=e.innerType._zod.values;return t?new Set([...t].filter(t=>void 0!==t)):void 0}),t._zod.parse=(r,o)=>{const a=e.innerType._zod.run(r,o);return a instanceof Promise?a.then(e=>to(e,t)):to(a,t)}});function to(t,e){return t.issues.length||void 0!==t.value||t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}const eo=/* @__PURE__ */wt("$ZodCatch",(t,e)=>{tr.init(t,e),It(t._zod,"optin",()=>e.innerType._zod.optin),It(t._zod,"optout",()=>e.innerType._zod.optout),It(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(t,r)=>{if("backward"===r.direction)return e.innerType._zod.run(t,r);const o=e.innerType._zod.run(t,r);return o instanceof Promise?o.then(o=>(t.value=o.value,o.issues.length&&(t.value=e.catchValue({...t,error:{issues:o.issues.map(t=>Jt(t,r,xt()))},input:t.value}),t.issues=[]),t)):(t.value=o.value,o.issues.length&&(t.value=e.catchValue({...t,error:{issues:o.issues.map(t=>Jt(t,r,xt()))},input:t.value}),t.issues=[]),t)}}),ro=/* @__PURE__ */wt("$ZodPipe",(t,e)=>{tr.init(t,e),It(t._zod,"values",()=>e.in._zod.values),It(t._zod,"optin",()=>e.in._zod.optin),It(t._zod,"optout",()=>e.out._zod.optout),It(t._zod,"propValues",()=>e.in._zod.propValues),t._zod.parse=(t,r)=>{if("backward"===r.direction){const o=e.out._zod.run(t,r);return o instanceof Promise?o.then(t=>oo(t,e.in,r)):oo(o,e.in,r)}const o=e.in._zod.run(t,r);return o instanceof Promise?o.then(t=>oo(t,e.out,r)):oo(o,e.out,r)}});function oo(t,e,r){return t.issues.length?(t.aborted=!0,t):e._zod.run({value:t.value,issues:t.issues},r)}const ao=/* @__PURE__ */wt("$ZodReadonly",(t,e)=>{tr.init(t,e),It(t._zod,"propValues",()=>e.innerType._zod.propValues),It(t._zod,"values",()=>e.innerType._zod.values),It(t._zod,"optin",()=>e.innerType?._zod?.optin),It(t._zod,"optout",()=>e.innerType?._zod?.optout),t._zod.parse=(t,r)=>{if("backward"===r.direction)return e.innerType._zod.run(t,r);const o=e.innerType._zod.run(t,r);return o instanceof Promise?o.then(no):no(o)}});function no(t){return t.value=Object.freeze(t.value),t}const io=/* @__PURE__ */wt("$ZodCustom",(t,e)=>{je.init(t,e),tr.init(t,e),t._zod.parse=(t,e)=>t,t._zod.check=r=>{const o=r.value,a=e.fn(o);if(a instanceof Promise)return a.then(e=>so(e,r,o,t));so(a,r,o,t)}});function so(t,e,r,o){if(!t){const t={code:"custom",input:r,inst:o,path:[...o._zod.def.path??[]],continue:!o._zod.def.abort};o._zod.def.params&&(t.params=o._zod.def.params),e.issues.push(qt(t))}}var co;(co=globalThis).__zod_globalRegistry??(co.__zod_globalRegistry=new class{constructor(){this._map=/* @__PURE__ */new WeakMap,this._idmap=/* @__PURE__ */new Map}add(t,...e){const r=e[0];return this._map.set(t,r),r&&"object"==typeof r&&"id"in r&&this._idmap.set(r.id,t),this}clear(){return this._map=/* @__PURE__ */new WeakMap,this._idmap=/* @__PURE__ */new Map,this}remove(t){const e=this._map.get(t);return e&&"object"==typeof e&&"id"in e&&this._idmap.delete(e.id),this._map.delete(t),this}get(t){const e=t._zod.parent;if(e){const r={...this.get(e)??{}};delete r.id;const o={...r,...this._map.get(t)};return Object.keys(o).length?o:void 0}return this._map.get(t)}has(t){return this._map.has(t)}});const lo=globalThis.__zod_globalRegistry;function uo(t,e){return new t({type:"string",...Ut(e)})}function po(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...Ut(e)})}function ho(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...Ut(e)})}function go(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...Ut(e)})}function mo(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...Ut(e)})}function fo(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...Ut(e)})}function wo(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...Ut(e)})}function bo(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...Ut(e)})}function vo(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...Ut(e)})}function yo(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...Ut(e)})}function xo(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...Ut(e)})}function ko(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...Ut(e)})}function _o(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...Ut(e)})}function zo(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...Ut(e)})}function Eo(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...Ut(e)})}function So(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...Ut(e)})}function Oo(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...Ut(e)})}function Io(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...Ut(e)})}function $o(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...Ut(e)})}function Co(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...Ut(e)})}function No(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...Ut(e)})}function To(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...Ut(e)})}function Mo(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...Ut(e)})}function Ao(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...Ut(e)})}function jo(t,e){return new t({type:"string",format:"date",check:"string_format",...Ut(e)})}function Po(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...Ut(e)})}function Fo(t,e){return new t({type:"string",format:"duration",check:"string_format",...Ut(e)})}function Do(t,e){return new t({type:"number",checks:[],...Ut(e)})}function Zo(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...Ut(e)})}function Uo(t){return new t({type:"any"})}function Lo(t){return new t({type:"unknown"})}function Ro(t,e){return new t({type:"never",...Ut(e)})}function Wo(t,e){return new Fe({check:"less_than",...Ut(e),value:t,inclusive:!1})}function Bo(t,e){return new Fe({check:"less_than",...Ut(e),value:t,inclusive:!0})}function Jo(t,e){return new De({check:"greater_than",...Ut(e),value:t,inclusive:!1})}function Vo(t,e){return new De({check:"greater_than",...Ut(e),value:t,inclusive:!0})}function qo(t,e){return new Ze({check:"multiple_of",...Ut(e),value:t})}function Go(t,e){return new Le({check:"max_length",...Ut(e),maximum:t})}function Ko(t,e){return new Re({check:"min_length",...Ut(e),minimum:t})}function Ho(t,e){return new We({check:"length_equals",...Ut(e),length:t})}function Yo(t,e){return new Je({check:"string_format",format:"regex",...Ut(e),pattern:t})}function Xo(t){return new Ve({check:"string_format",format:"lowercase",...Ut(t)})}function Qo(t){return new qe({check:"string_format",format:"uppercase",...Ut(t)})}function ta(t,e){return new Ge({check:"string_format",format:"includes",...Ut(e),includes:t})}function ea(t,e){return new Ke({check:"string_format",format:"starts_with",...Ut(e),prefix:t})}function ra(t,e){return new He({check:"string_format",format:"ends_with",...Ut(e),suffix:t})}function oa(t){return new Ye({check:"overwrite",tx:t})}function aa(t){/* @__PURE__ */
|
|
18
|
-
return
|
|
19
|
-
return
|
|
20
|
-
return
|
|
21
|
-
return
|
|
22
|
-
return
|
|
23
|
-
return
|
|
24
|
-
return Ao(
|
|
25
|
-
return jo(
|
|
26
|
-
return Po(
|
|
27
|
-
return Fo(
|
|
28
|
-
return uo(
|
|
29
|
-
return Do(
|
|
30
|
-
return Zo(
|
|
31
|
-
return Lo(gn)}const fn=/* @__PURE__ */wt("ZodNever",(t,e)=>{Nr.init(t,e),Da.init(t,e),t._zod.processJSONSchema=(t,e,r)=>((t,e,r)=>{r.not={}})(0,0,e)}),wn=/* @__PURE__ */wt("ZodArray",(t,e)=>{Mr.init(t,e),Da.init(t,e),t._zod.processJSONSchema=(e,r,o)=>((t,e,r,o)=>{const a=r,n=t._zod.def,{minimum:i,maximum:s}=t._zod.bag;"number"==typeof i&&(a.minItems=i),"number"==typeof s&&(a.maxItems=s),a.type="array",a.items=ga(n.element,e,{...o,path:[...o.path,"items"]})})(t,e,r,o),t.element=e.element,t.min=(e,r)=>t.check(/* @__PURE__ */Ko(e,r)),t.nonempty=e=>t.check(/* @__PURE__ */Ko(1,e)),t.max=(e,r)=>t.check(/* @__PURE__ */Go(e,r)),t.length=(e,r)=>t.check(/* @__PURE__ */Ho(e,r)),t.unwrap=()=>t.element}),bn=/* @__PURE__ */wt("ZodObject",(t,e)=>{Dr.init(t,e),Da.init(t,e),t._zod.processJSONSchema=(e,r,o)=>((t,e,r,o)=>{const a=r,n=t._zod.def;a.type="object",a.properties={};const i=n.shape;for(const d in i)a.properties[d]=ga(i[d],e,{...o,path:[...o.path,"properties",d]});const s=new Set(Object.keys(i)),c=new Set([...s].filter(t=>{const r=n.shape[t]._zod;return"input"===e.io?void 0===r.optin:void 0===r.optout}));c.size>0&&(a.required=Array.from(c)),"never"===n.catchall?._zod.def.type?a.additionalProperties=!1:n.catchall?n.catchall&&(a.additionalProperties=ga(n.catchall,e,{...o,path:[...o.path,"additionalProperties"]})):"output"===e.io&&(a.additionalProperties=!1)})(t,e,r,o),It(t,"shape",()=>e.shape),t.keyof=()=>kn(Object.keys(t._zod.def.shape)),t.catchall=e=>t.clone({...t._zod.def,catchall:e}),t.passthrough=()=>t.clone({...t._zod.def,catchall:mn()}),t.loose=()=>t.clone({...t._zod.def,catchall:mn()}),t.strict=()=>t.clone({...t._zod.def,catchall:/* @__PURE__ */Ro(fn,void 0)}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=e=>function(t,e){if(!jt(e))throw new Error("Invalid input to extend: expected a plain object");const r=t._zod.def.checks;if(r&&r.length>0){const r=t._zod.def.shape;for(const t in e)if(void 0!==Object.getOwnPropertyDescriptor(r,t))throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const o=Ct(t._zod.def,{get shape(){const r={...t._zod.def.shape,...e};return $t(this,"shape",r),r}});return Zt(t,o)}(t,e),t.safeExtend=e=>function(t,e){if(!jt(e))throw new Error("Invalid input to safeExtend: expected a plain object");const r=Ct(t._zod.def,{get shape(){const r={...t._zod.def.shape,...e};return $t(this,"shape",r),r}});return Zt(t,r)}(t,e),t.merge=e=>function(t,e){const r=Ct(t._zod.def,{get shape(){const r={...t._zod.def.shape,...e._zod.def.shape};return $t(this,"shape",r),r},get catchall(){return e._zod.def.catchall},checks:[]});return Zt(t,r)}(t,e),t.pick=e=>function(t,e){const r=t._zod.def,o=r.checks;if(o&&o.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");return Zt(t,Ct(t._zod.def,{get shape(){const t={};for(const o in e){if(!(o in r.shape))throw new Error(`Unrecognized key: "${o}"`);e[o]&&(t[o]=r.shape[o])}return $t(this,"shape",t),t},checks:[]}))}(t,e),t.omit=e=>function(t,e){const r=t._zod.def,o=r.checks;if(o&&o.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const a=Ct(t._zod.def,{get shape(){const o={...t._zod.def.shape};for(const t in e){if(!(t in r.shape))throw new Error(`Unrecognized key: "${t}"`);e[t]&&delete o[t]}return $t(this,"shape",o),o},checks:[]});return Zt(t,a)}(t,e),t.partial=(...e)=>function(t,e,r){const o=e._zod.def.checks;if(o&&o.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const a=Ct(e._zod.def,{get shape(){const o=e._zod.def.shape,a={...o};if(r)for(const e in r){if(!(e in o))throw new Error(`Unrecognized key: "${e}"`);r[e]&&(a[e]=t?new t({type:"optional",innerType:o[e]}):o[e])}else for(const e in o)a[e]=t?new t({type:"optional",innerType:o[e]}):o[e];return $t(this,"shape",a),a},checks:[]});return Zt(e,a)}(zn,t,e[0]),t.required=(...e)=>function(t,e,r){const o=Ct(e._zod.def,{get shape(){const o=e._zod.def.shape,a={...o};if(r)for(const e in r){if(!(e in a))throw new Error(`Unrecognized key: "${e}"`);r[e]&&(a[e]=new t({type:"nonoptional",innerType:o[e]}))}else for(const e in o)a[e]=new t({type:"nonoptional",innerType:o[e]});return $t(this,"shape",a),a}});return Zt(e,o)}(Nn,t,e[0])}),vn=/* @__PURE__ */wt("ZodUnion",(t,e)=>{Ur.init(t,e),Da.init(t,e),t._zod.processJSONSchema=(e,r,o)=>((t,e,r,o)=>{const a=t._zod.def,n=!1===a.inclusive,i=a.options.map((t,r)=>ga(t,e,{...o,path:[...o.path,n?"oneOf":"anyOf",r]}));n?r.oneOf=i:r.anyOf=i})(t,e,r,o),t.options=e.options}),yn=/* @__PURE__ */wt("ZodIntersection",(t,e)=>{Lr.init(t,e),Da.init(t,e),t._zod.processJSONSchema=(e,r,o)=>((t,e,r,o)=>{const a=t._zod.def,n=ga(a.left,e,{...o,path:[...o.path,"allOf",0]}),i=ga(a.right,e,{...o,path:[...o.path,"allOf",1]}),s=t=>"allOf"in t&&1===Object.keys(t).length,c=[...s(n)?n.allOf:[n],...s(i)?i.allOf:[i]];r.allOf=c})(t,e,r,o)}),xn=/* @__PURE__ */wt("ZodEnum",(t,e)=>{Br.init(t,e),Da.init(t,e),t._zod.processJSONSchema=(e,r,o)=>((t,e,r)=>{const o=kt(t._zod.def.entries);o.every(t=>"number"==typeof t)&&(r.type="number"),o.every(t=>"string"==typeof t)&&(r.type="string"),r.enum=o})(t,0,r),t.enum=e.entries,t.options=Object.values(e.entries);const r=new Set(Object.keys(e.entries));t.extract=(t,o)=>{const a={};for(const n of t){if(!r.has(n))throw new Error(`Key ${n} not found in enum`);a[n]=e.entries[n]}return new xn({...e,checks:[],...Ut(o),entries:a})},t.exclude=(t,o)=>{const a={...e.entries};for(const e of t){if(!r.has(e))throw new Error(`Key ${e} not found in enum`);delete a[e]}return new xn({...e,checks:[],...Ut(o),entries:a})}});function kn(t,e){const r=Array.isArray(t)?Object.fromEntries(t.map(t=>[t,t])):t;return new xn({type:"enum",entries:r,...Ut(e)})}const _n=/* @__PURE__ */wt("ZodTransform",(t,e)=>{Jr.init(t,e),Da.init(t,e),t._zod.processJSONSchema=(t,e,r)=>((t,e)=>{if("throw"===e.unrepresentable)throw new Error("Transforms cannot be represented in JSON Schema")})(0,t),t._zod.parse=(r,o)=>{if("backward"===o.direction)throw new vt(t.constructor.name);r.addIssue=o=>{if("string"==typeof o)r.issues.push(qt(o,r.value,e));else{const e=o;e.fatal&&(e.continue=!1),e.code??(e.code="custom"),e.input??(e.input=r.value),e.inst??(e.inst=t),r.issues.push(qt(e))}};const a=e.transform(r.value,r);return a instanceof Promise?a.then(t=>(r.value=t,r)):(r.value=a,r)}}),zn=/* @__PURE__ */wt("ZodOptional",(t,e)=>{qr.init(t,e),Da.init(t,e),t._zod.processJSONSchema=(e,r,o)=>ya(t,e,0,o),t.unwrap=()=>t._zod.def.innerType});function En(t){return new zn({type:"optional",innerType:t})}const Sn=/* @__PURE__ */wt("ZodExactOptional",(t,e)=>{Gr.init(t,e),Da.init(t,e),t._zod.processJSONSchema=(e,r,o)=>ya(t,e,0,o),t.unwrap=()=>t._zod.def.innerType}),On=/* @__PURE__ */wt("ZodNullable",(t,e)=>{Kr.init(t,e),Da.init(t,e),t._zod.processJSONSchema=(e,r,o)=>((t,e,r,o)=>{const a=t._zod.def,n=ga(a.innerType,e,o),i=e.seen.get(t);"openapi-3.0"===e.target?(i.ref=a.innerType,r.nullable=!0):r.anyOf=[n,{type:"null"}]})(t,e,r,o),t.unwrap=()=>t._zod.def.innerType});function In(t){return new On({type:"nullable",innerType:t})}const $n=/* @__PURE__ */wt("ZodDefault",(t,e)=>{Hr.init(t,e),Da.init(t,e),t._zod.processJSONSchema=(e,r,o)=>((t,e,r,o)=>{const a=t._zod.def;ga(a.innerType,e,o),e.seen.get(t).ref=a.innerType,r.default=JSON.parse(JSON.stringify(a.defaultValue))})(t,e,r,o),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap}),Cn=/* @__PURE__ */wt("ZodPrefault",(t,e)=>{Xr.init(t,e),Da.init(t,e),t._zod.processJSONSchema=(e,r,o)=>((t,e,r,o)=>{const a=t._zod.def;ga(a.innerType,e,o),e.seen.get(t).ref=a.innerType,"input"===e.io&&(r._prefault=JSON.parse(JSON.stringify(a.defaultValue)))})(t,e,r,o),t.unwrap=()=>t._zod.def.innerType}),Nn=/* @__PURE__ */wt("ZodNonOptional",(t,e)=>{Qr.init(t,e),Da.init(t,e),t._zod.processJSONSchema=(e,r,o)=>((t,e,r,o)=>{const a=t._zod.def;ga(a.innerType,e,o),e.seen.get(t).ref=a.innerType})(t,e,0,o),t.unwrap=()=>t._zod.def.innerType}),Tn=/* @__PURE__ */wt("ZodCatch",(t,e)=>{eo.init(t,e),Da.init(t,e),t._zod.processJSONSchema=(e,r,o)=>((t,e,r,o)=>{const a=t._zod.def;let n;ga(a.innerType,e,o),e.seen.get(t).ref=a.innerType;try{n=a.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=n})(t,e,r,o),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap}),Mn=/* @__PURE__ */wt("ZodPipe",(t,e)=>{ro.init(t,e),Da.init(t,e),t._zod.processJSONSchema=(e,r,o)=>((t,e,r,o)=>{const a=t._zod.def,n="input"===e.io?"transform"===a.in._zod.def.type?a.out:a.in:a.out;ga(n,e,o),e.seen.get(t).ref=n})(t,e,0,o),t.in=e.in,t.out=e.out});function An(t,e){return new Mn({type:"pipe",in:t,out:e})}const jn=/* @__PURE__ */wt("ZodReadonly",(t,e)=>{ao.init(t,e),Da.init(t,e),t._zod.processJSONSchema=(e,r,o)=>((t,e,r,o)=>{const a=t._zod.def;ga(a.innerType,e,o),e.seen.get(t).ref=a.innerType,r.readOnly=!0})(t,e,r,o),t.unwrap=()=>t._zod.def.innerType}),Pn=/* @__PURE__ */wt("ZodCustom",(t,e)=>{io.init(t,e),Da.init(t,e),t._zod.processJSONSchema=(t,e,r)=>((t,e)=>{if("throw"===e.unrepresentable)throw new Error("Custom types cannot be represented in JSON Schema")})(0,t)}),Fn="chat_device_id";function Dn(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{const e=16*Math.random()|0;return("x"===t?e:3&e|8).toString(16)})}const Zn=function(){const t={type:"object",shape:{id:La().optional(),type:kn(["text","image","audio","location","system"]).default("text"),content:La().optional(),imageUrl:La().url().optional(),audioUrl:La().url().optional(),latitude:ln().optional(),longitude:ln().optional(),timestamp:La().optional(),sender:kn(["bot","user","system"]).optional(),emotion:/* @__PURE__ */Uo(hn).optional()}??{},...Ut(void 0)};return new bn(t)}();class Un{queue=[];endpoint;apiKey;flushInterval=null;isFlushing=!1;isDisabled=!1;MAX_QUEUE_SIZE=100;FLUSH_INTERVAL_MS=3e4;BATCH_SIZE=10;constructor(t,e){this.endpoint=t,this.apiKey=e,this.startAutoFlush()}startAutoFlush(){this.flushInterval=setInterval(()=>{!this.isDisabled&&this.queue.length>0&&this.flush()},this.FLUSH_INTERVAL_MS)}trackOpen(){this.track("chat_opened")}trackClose(){this.track("chat_closed")}trackMessageSent(t){this.track("message_sent",{type:t})}trackMessageReceived(t,e){this.track("message_received",{type:t,latency:e})}trackError(t,e){this.track("error",{error:t,context:e})}trackConnectionStatus(t){this.track("connection_status",{isConnected:t})}trackFeatureUsed(t){this.track("feature_used",{feature:t})}trackTypingStarted(){this.track("typing_started")}trackAttachmentSent(t,e){this.track("attachment_sent",{type:t,size:e})}track(t,e){this.isDisabled||(this.queue.push({event:t,properties:{...e,userAgent:"undefined"!=typeof navigator?navigator.userAgent:void 0,url:"undefined"!=typeof window?window.location.href:void 0},timestamp:Date.now()}),this.queue.length>=this.BATCH_SIZE&&this.flush(),this.queue.length>this.MAX_QUEUE_SIZE&&(this.queue=this.queue.slice(-this.MAX_QUEUE_SIZE),x.warn("Analytics queue overflow, dropping old events")))}async flush(){if(this.isDisabled||0===this.queue.length||this.isFlushing)return;this.isFlushing=!0;const t=[...this.queue];this.queue=[];try{const e=await fetch(this.endpoint,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify({events:t}),keepalive:!0});e.ok?x.debug(`Analytics: Flushed ${t.length} events`):(this.isDisabled=!0,this.queue=[],x.debug(`Analytics disabled: endpoint returned ${e.status}`))}catch(e){this.isDisabled=!0,this.queue=[],x.debug("Analytics disabled due to network error")}finally{this.isFlushing=!1}}destroy(){this.flushInterval&&clearInterval(this.flushInterval),this.flush()}}let Ln=null,Rn=null;function Wn(t){Ln=t}function Bn(t){Rn=t}const Jn=d(null);function Vn({children:t,defaultLocale:e,initialState:r,onStateChange:a,...n}){const[i,c]=o(r?.isOpen??!1),[d,l]=o(0),u=s(()=>{c(!0),l(0),a?.(!0)},[a]),p=s(()=>{c(!1),a?.(!1)},[a]),h=s(()=>{c(t=>{const e=!t;return e&&l(0),a?.(e),e})},[a]),g=s(t=>{Ln?(Ln(t),x.debug("ChatWidgetProvider sendMessage:",t)):x.warn("sendMessage called but no handler registered")},[]),m=s(()=>{Rn?(Rn(),x.debug("ChatWidgetProvider clearMessages called")):x.warn("clearMessages called but no handler registered")},[]),f={isOpen:i,open:u,close:p,toggle:h,sendMessage:g,clearMessages:m,unreadCount:d},w=s((t,e)=>{"message:received"!==t||i||l(t=>t+1),n.onEvent?.(t,e)},[i,n]);/* @__PURE__ */
|
|
32
|
-
return N(E,{defaultLocale:e,children:/* @__PURE__ */T(
|
|
33
|
-
/* @__PURE__ */N(Yn,{...n,onStateChange:t=>{c(t),t&&l(0),a?.(t)},onEvent:w})]})})}function qn(){const t=l(Jn);if(!t)throw new Error("useChatWidget must be used within a ChatWidgetProvider. Wrap your app with <ChatWidgetProvider>...</ChatWidgetProvider>");return t}const Gn=t=>new Promise((e,r)=>{const o=new FileReader;o.readAsDataURL(t),o.onload=()=>e(o.result),o.onerror=t=>r(t)});function Kn(t){const{apiKey:n,apiBaseUrl:d,agentId:l,pageContext:u,includeSEOMetadata:p=!1,theme:g,userContext:m,onLogin:f,onNavigate:b,onEvent:v,onStateChange:y,onThemeUpdate:k}=t,[E,S]=o(0),O=r(0),{t:I}=h(),$=function(t,e,o=!0){const n=r(null);return a(()=>{if(!o||!t||!e)return;const r=`${t}/analytics`;n.current=new Un(r,e);const a=()=>n.current?.flush(),i=()=>{"hidden"===document.visibilityState&&n.current?.flush()};return window.addEventListener("beforeunload",a),window.addEventListener("visibilitychange",i),()=>{window.removeEventListener("beforeunload",a),window.removeEventListener("visibilitychange",i),n.current?.destroy()}},[t,e,o]),{trackOpen:s(()=>{n.current?.trackOpen()},[]),trackClose:s(()=>{n.current?.trackClose()},[]),trackMessageSent:s(t=>{n.current?.trackMessageSent(t)},[]),trackMessageReceived:s((t,e)=>{n.current?.trackMessageReceived(t,e)},[]),trackError:s((t,e)=>{n.current?.trackError(t,e)},[]),trackConnectionStatus:s(t=>{n.current?.trackConnectionStatus(t)},[]),trackFeatureUsed:s(t=>{n.current?.trackFeatureUsed(t)},[])}}(d,n,!0),C=function({enabled:t=!0,soundEnabled:e=!0,desktopEnabled:n=!0,botName:i="BotUyo",logoUrl:c,notificationSoundUrl:d}={}){const[l,u]=o("default"),p=r(null),h=c||w,g=d||z;a(()=>{e&&"undefined"!=typeof window&&(p.current=new Audio(g),p.current.volume=.3)},[e,g]),a(()=>{"undefined"!=typeof window&&"Notification"in window&&u(Notification.permission)},[]);const m=s(async()=>{if("undefined"==typeof window||!("Notification"in window))return x.warn("Notifications API not available"),!1;try{const t=await Notification.requestPermission();return u(t),x.info("Notification permission:",t),"granted"===t}catch(t){return x.error("Error requesting notification permission:",t),!1}},[]),f=s(e=>{if(t&&n&&"granted"===l&&("undefined"==typeof document||!document.hasFocus()))try{const t=`Nuevo mensaje de ${i}`;let r="Mensaje recibido";"text"===e.type&&"content"in e?r=e.content?.slice(0,100)||"Mensaje recibido":"image"===e.type?r="📷 Imagen":"audio"===e.type?r="🎵 Audio":"location"===e.type&&(r="📍 Ubicación");const o=new Notification(t,{body:r,icon:h,tag:"chat-message",requireInteraction:!1,silent:!1});o.onclick=()=>{window.focus(),o.close()},setTimeout(()=>o.close(),5e3)}catch(r){x.error("Error showing notification:",r)}},[t,n,l,i,h]),b=s(()=>{if(t&&e&&("undefined"==typeof document||!document.hasFocus()))try{p.current?.play().catch(t=>{x.debug("Audio playback blocked:",t)})}catch(r){x.error("Error playing sound:",r)}},[t,e]),v=s(t=>{f(t),b()},[f,b]);return{permission:l,requestPermission:m,notify:f,playSound:b,notifyWithSound:v}}({enabled:!0,soundEnabled:!0,desktopEnabled:!0,botName:g?.botName||"BotUyo",logoUrl:g?.logoUrl}),N=function(t=10,e=6e4){const o=r([]);return{isAllowed:s(()=>{const r=Date.now();return o.current=o.current.filter(t=>r-t<e),!(o.current.length>=t||(o.current.push(r),0))},[t,e]),getRemainingAttempts:s(()=>{const r=Date.now();return o.current=o.current.filter(t=>r-t<e),Math.max(0,t-o.current.length)},[t,e]),getTimeUntilReset:s(()=>{if(0===o.current.length)return 0;const t=Date.now(),r=o.current[0],a=e-(t-r);return Math.max(0,a)},[e]),reset:s(()=>{o.current=[]},[])}}(10,6e4),{state:T,actions:A}=function(t="default"){const[r,n]=c(ft,mt),[i,d]=o(!1),l=e.useMemo(()=>function(t="default"){return`botuyo_chat_v1_${t}`}(t),[t]),u=e.useMemo(()=>((t="default")=>(gt.has(t)||gt.set(t,new ht(t)),gt.get(t)))(t),[t]);a(()=>{"undefined"==typeof window||i||(async()=>{try{await u.migrateFromLocalStorage(t);const e=await u.getMessages(100),r=await u.getMetadata();if(e.length>0||r){const t={messages:e.map(t=>({...t,timestamp:new Date(t.timestamp)})),sessionId:r?.sessionId||null,isOpen:r?.isOpen||!1};n({type:"RESTORE_SESSION",payload:t})}}catch(e){x.warn("Chat: Error rehydrating from IndexedDB",e);try{const t=localStorage.getItem(l);if(t){const e=JSON.parse(t);e.messages&&(e.messages=e.messages.map(t=>({...t,timestamp:new Date(t.timestamp)}))),n({type:"RESTORE_SESSION",payload:e})}}catch(r){x.error("Chat: Fallback rehydration failed",r)}}finally{d(!0)}})()},[i]),a(()=>{if(!i)return;const t=setTimeout(async()=>{try{await u.saveMessages(r.messages),await u.setMetadata({isOpen:r.isOpen,sessionId:r.sessionId})}catch(t){x.error("Chat Persistence Error:",t);try{const t={isOpen:r.isOpen,messages:r.messages,sessionId:r.sessionId};localStorage.setItem(l,JSON.stringify(t))}catch(e){x.error("Chat: Fallback persistence failed",e)}}},500);return()=>clearTimeout(t)},[r.isOpen,r.messages,r.sessionId,i]);const p=s(t=>{n({type:"ADD_MESSAGE",payload:t})},[]),h=s(()=>n({type:"TOGGLE_WINDOW"}),[]),g=s(()=>n({type:"OPEN_WINDOW"}),[]),m=s(()=>n({type:"CLOSE_WINDOW"}),[]),f=s(t=>n({type:"SET_CONNECTED",payload:t}),[]),w=s(t=>n({type:"SET_TYPING",payload:t}),[]),b=s(t=>n({type:"SET_MESSAGES",payload:t}),[]),v=s(t=>n({type:"SET_ERROR",payload:t}),[]),y=s(t=>n({type:"SET_SESSION_ID",payload:t}),[]),k=s(()=>{localStorage.removeItem(l),n({type:"CLEAR_CHAT"})},[]),_=s(()=>{n({type:"SET_MESSAGES",payload:[]})},[]);return{state:r,isHydrated:i,actions:{toggleWindow:h,openWindow:g,closeWindow:m,setConnected:f,setTyping:w,addMessage:p,setMessages:b,setError:v,setSessionId:y,clearChat:k,clearMessages:_}}}(l),j=function(t=!1){const e="undefined"!=typeof window?window.location.pathname:"",r=i(()=>e,[e]),[n,s]=o({});return a(()=>{if(!t)return void s({});const e=setTimeout(()=>{const t=function(){if("undefined"==typeof window)return{};const t={};t.title=document.title,document.querySelectorAll("meta").forEach(e=>{const r=e.getAttribute("name"),o=e.getAttribute("property"),a=e.getAttribute("content");if(a){if(r)switch(r){case"description":t.description=a;break;case"keywords":t.keywords=a.split(",").map(t=>t.trim());break;case"author":t.author=a}if(o){if(o.startsWith("og:")){const e=o.replace("og:","og_");t[e]=a}if(o.startsWith("twitter:")){const e=o.replace("twitter:","twitter_");t[e]=a}}}});try{const e=document.querySelectorAll('script[type="application/ld+json"]');if(e.length>0){const r=[];e.forEach(t=>{try{const e=JSON.parse(t.textContent||"");r.push(e)}catch{}}),r.length>0&&(t.structuredData=r)}}catch{}return t}();s(t)},100);return()=>clearTimeout(e)},[r,t]),t&&Object.keys(n).length>0?n:void 0}(p),P=function(t){const{apiKey:e,apiBaseUrl:n,agentId:c,pageContext:d,userContext:l}=t,u=r(t);a(()=>{u.current=t},[t]);const p=r(null),[h,g]=o(!1),[m,f]=o(!1),w=r(function(){try{const t=localStorage.getItem(Fn);if(t)return t;const e=Dn();return localStorage.setItem(Fn,e),e}catch{return x.warn("localStorage not available, using session-only device ID"),Dn()}}()),b=r(d);a(()=>{b.current=d},[d]);const v=s(t=>{const e=Zn.safeParse(t),r=e.success&&e.data.id?e.data.id:`msg-${Math.random().toString(36).slice(2,11)}`,o=e.success&&e.data.sender?e.data.sender:"bot",a=e.success&&e.data.timestamp?new Date(e.data.timestamp):/* @__PURE__ */new Date,n=e.success?e.data:{type:"text"};switch(n.type){case"image":return{id:r,type:"image",sender:o,timestamp:a,imageUrl:n.imageUrl||n.content||"",altText:"Imagen enviada"};case"audio":return{id:r,type:"audio",sender:o,timestamp:a,content:n.audioUrl||n.content||""};case"location":return{id:r,type:"location",sender:o,timestamp:a,latitude:Number(n.latitude||0),longitude:Number(n.longitude||0),name:n.content||"Ubicación compartida"};case"system":return{id:r,type:"system",sender:"system",timestamp:a,content:String(n.content||"")};default:return{id:r,type:"text",sender:o,timestamp:a,content:String(n.content||"Sin contenido"),emotion:n.emotion}}},[]),y=s(()=>{if(!e||!n)return;if(p.current?.connected)return;g(!0);const t=M(`${n}/webchat`,{auth:{apiKey:e,deviceId:w.current,agentId:c,token:l?.token,metadata:l?.metadata},transports:["websocket","polling"],reconnection:!0,reconnectionAttempts:5,reconnectionDelay:1e3,extraHeaders:{"bypass-tunnel-reminder":"true","X-Tunnel-Skip-Anti-Phishing-Page":"true"}});t.on("connect",()=>{g(!1),f(!0),u.current.onConnected(`temp-${Date.now()}`,void 0)}),t.on("disconnect",t=>{g(!1),f(!1),u.current.onDisconnected()}),t.on("connect_error",t=>{g(!1),u.current.onError(`Error de conexión: ${t.message}`)}),t.on("connection_ack",t=>{u.current.onConnected(t.sessionId,t.config)}),t.on("bot_message",t=>{try{u.current.onMessage(v(t))}catch(e){x.error("ChatSocket Error processing bot_message:",e)}}),t.on("chat_history",t=>{if(t.messages&&Array.isArray(t.messages))if(u.current.onHistoryLoaded){const e=t.messages.map(t=>{try{return v(t)}catch(e){return x.debug("Error processing history message:",e),null}}).filter(t=>null!==t);u.current.onHistoryLoaded(e)}else t.messages.forEach(t=>{try{u.current.onMessage(v(t))}catch(e){x.debug("Error processing history message:",e)}});u.current.onEvent&&u.current.onEvent("history_loaded",t)}),t.on("bot_typing",t=>u.current.onTyping(t)),t.on("auth_success",t=>{u.current.onLogin&&u.current.onLogin(t),t.theme&&u.current.onThemeUpdate&&u.current.onThemeUpdate(t.theme)}),p.current=t},[e,n]),k=s(()=>{p.current&&(p.current.disconnect(),p.current=null,f(!1))},[]),z=r(y);z.current=y,a(()=>(z.current(),()=>{p.current&&(p.current.disconnect(),p.current=null)}),[]);const E=r([]),S=r([]),O=s(()=>`msg_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,[]),I=s(()=>{if(p.current?.connected)for(;E.current.length>0;){const t=E.current.shift();p.current.emit("user_message",t)}},[]);a(()=>{m&&I()},[m,I]),a(()=>{if(!m)return;const t=setInterval(()=>{const t=Date.now();S.current=S.current.filter(e=>t<e.nextRetryAt||(e.attempts>=e.maxAttempts?(u.current.onEvent?.("message_failed",{id:e.id,payload:e.payload}),x.error("Message failed after max retries:",e.id),!1):!p.current?.connected||(p.current.emit("user_message",e.payload,t=>{t?.success&&u.current.onEvent?.("message_sent",{id:e.id})}),e.attempts++,e.nextRetryAt=t+1e3*Math.pow(2,e.attempts),e.attempts<e.maxAttempts)))},500);return()=>clearInterval(t)},[m]);const $=s((t,e="text")=>{const r=O(),o={...b.current,currentUrl:"undefined"!=typeof window?window.location.href:void 0,sentAt:/* @__PURE__ */(new Date).toISOString(),deviceId:w.current},a={id:r,content:t.trim(),type:e,metadata:o};return p.current?.connected?(p.current.emit("user_message",a,t=>{!1!==t?.success&&t?u.current.onEvent?.("message_sent",{id:r}):(S.current.push({id:r,payload:a,attempts:0,maxAttempts:3,nextRetryAt:Date.now()+1e3}),u.current.onEvent?.("message_retry_queued",{id:r}))}),r):(E.current.push(a),u.current.onEvent?.("queued_message",{id:r,payload:a}),r)},[O]),C=i(()=>_(t=>{p.current?.emit("typing",t)},250),[]);return{isConnected:m,isConnecting:h,sendMessage:$,sendTyping:C,getSocket:s(()=>p.current,[]),requestHistory:s(()=>{p.current?.emit("request_history")},[]),reconnect:y,disconnect:k}}({apiKey:n,apiBaseUrl:d,agentId:l,pageContext:i(()=>j?{...u||{},seo:{...j||{}}}:u,[u,j]),userContext:m,onMessage:s(t=>{const e=Date.now(),r=O.current>0?e-O.current:void 0;O.current=e,A.addMessage(t),$.trackMessageReceived(t.type,r),T.isOpen||"bot"!==t.sender||(S(t=>t+1),C.notifyWithSound(t))},[A,T.isOpen,$,C]),onConnected:s((t,e)=>{A.setConnected(!0),A.setSessionId(t),$.trackConnectionStatus(!0),e&&k&&k(e),e&&v&&v("backend_config",e)},[A,v,k,$]),onDisconnected:s(()=>{A.setConnected(!1),$.trackConnectionStatus(!1)},[A,$]),onTyping:s(t=>A.setTyping(t),[A]),onError:s(t=>{A.setError(t),$.trackError(t)},[A,$]),onLogin:f,onNavigate:b,onEvent:v,onThemeUpdate:k,onHistoryLoaded:s(t=>{const e=new Set(T.messages.map(t=>t.id)),r=t.filter(t=>!e.has(t.id));r.length>0&&(0===T.messages.length?A.setMessages(t):r.forEach(t=>A.addMessage(t)))},[T.messages,A])}),F=s(()=>{x.debug("ChatWidget handleToggle called, current isOpen:",T.isOpen),T.isOpen?(A.closeWindow(),$.trackClose(),y?.(!1),x.debug("ChatWidget Closing window")):(A.openWindow(),S(0),$.trackOpen(),y?.(!0),x.debug("ChatWidget Opening window"))},[T.isOpen,A,y,$]),D=s(t=>{if(!N.isAllowed()){const t=N.getTimeUntilReset(),e=Math.ceil(t/1e3);return void A.setError(I("rate_limit_exceeded")+` Espera ${e}s.`)}const e={id:`temp-${Date.now()}-${Math.random()}`,type:"text",sender:"user",timestamp:/* @__PURE__ */new Date,content:t};A.addMessage(e),$.trackMessageSent("text"),P.sendMessage(t,"text")},[A,P,N,$,I]),Z=s(async(t,e)=>{let r;r="audio"===e?{id:`temp-${Date.now()}-${Math.random()}`,type:"audio",sender:"user",timestamp:/* @__PURE__ */new Date,content:URL.createObjectURL(t)}:"image"===e?{id:`temp-${Date.now()}-${Math.random()}`,type:"image",sender:"user",timestamp:/* @__PURE__ */new Date,imageUrl:URL.createObjectURL(t)}:{id:`temp-${Date.now()}-${Math.random()}`,type:"text",sender:"user",timestamp:/* @__PURE__ */new Date,content:`📎 ${t.name}`},A.addMessage(r);const o=await Gn(t);P.sendMessage(o,e)},[A,P]),U=s(t=>{const e={id:`temp-${Date.now()}-${Math.random()}`,type:"location",sender:"user",timestamp:/* @__PURE__ */new Date,latitude:t.latitude,longitude:t.longitude,name:"Mi ubicación"};A.addMessage(e),P.sendMessage(JSON.stringify(t),"location")},[A,P]);a(()=>{const t=()=>{T.isOpen||A.openWindow()},e=()=>{T.isOpen&&A.closeWindow()},r=()=>{T.isOpen?A.closeWindow():A.openWindow()},o=t=>{t.detail?.message&&D(t.detail.message)};return window.addEventListener("botuyo-chat:open",t),window.addEventListener("botuyo-chat:close",e),window.addEventListener("botuyo-chat:toggle",r),window.addEventListener("botuyo-chat:send-message",o),()=>{window.removeEventListener("botuyo-chat:open",t),window.removeEventListener("botuyo-chat:close",e),window.removeEventListener("botuyo-chat:toggle",r),window.removeEventListener("botuyo-chat:send-message",o)}},[T.isOpen,A,D]),a(()=>(Wn(D),()=>Wn(null)),[D]);const L=s(()=>{A.clearMessages(),x.info("Chat history cleared")},[A]);a(()=>(Bn(L),()=>Bn(null)),[L]);const R=i(()=>{if(T.isTyping)return"thinking";const t=[...T.messages].reverse().find(t=>"bot"===t.sender&&"text"===t.type);return"text"===t?.type&&t.emotion?t.emotion:"default"},[T.isTyping,T.messages]);return{state:T,actions:A,unreadCount:E,currentBotEmotion:R,isConnected:P.isConnected,getSocket:P.getSocket,handleToggle:F,handleSendText:D,handleSendAttachment:Z,handleSendLocation:U}}function Hn(t){const{apiKey:e,apiBaseUrl:n="https://api.botuyo.com",agentId:c,pageContext:d,includeSEOMetadata:l=!1,theme:u,mediaConfig:p,userContext:h,onLogin:g,onNavigate:m,onEvent:f,onStateChange:w}=t,v=r(null),y=O(),x=function(t){const[e,r]=o(!1);return a(()=>{let e=null;const o=()=>{if(!t.current)return;const e=!!t.current.parentElement?.closest(".dark"),o=!!document.getElementById("botuyo-chat-widget-root")?.classList.contains("dark"),a=document.getElementById("botuyo-chat-widget-root"),n=!!a?.parentElement?.closest(".dark"),i=document.documentElement.classList.contains("dark"),s=document.body.classList.contains("dark"),c="dark"===document.documentElement.getAttribute("data-theme"),d="dark"===document.body.getAttribute("data-theme"),l=!!t.current.parentElement?.closest('[data-theme="dark"]'),u=window.matchMedia("(prefers-color-scheme: dark)").matches,p=e||o||n||i||s||c||d||l||u;t.current&&(p?t.current.classList.add("dark"):t.current.classList.remove("dark")),r(p)};o();const a=window.matchMedia("(prefers-color-scheme: dark)"),n=()=>o();a.addEventListener("change",n);const i=new MutationObserver(()=>{o()}),s=document.getElementById("botuyo-chat-widget-root");s&&(i.observe(s,{attributes:!0,attributeFilter:["class"]}),s.parentElement&&(i.observe(s.parentElement,{attributes:!0,attributeFilter:["class"],childList:!0}),e=s.parentElement)),i.observe(document.documentElement,{attributes:!0,attributeFilter:["class","data-theme"]}),i.observe(document.body,{attributes:!0,attributeFilter:["class","data-theme"]});let c=t.current?.parentElement;for(;c;)i.observe(c,{attributes:!0,attributeFilter:["class","data-theme"]}),c=c.parentElement;const d=setInterval(()=>{const t=document.getElementById("botuyo-chat-widget-root");t&&t.parentElement!==e&&(e&&t.parentElement&&(i.observe(t.parentElement,{attributes:!0,attributeFilter:["class"],childList:!0}),e=t.parentElement),o())},100);return()=>{i.disconnect(),a.removeEventListener("change",n),clearInterval(d)}},[t]),e}(v),[_,z]=o(),{mergedTheme:E,mergedStyles:S,getContainerStyle:C}=function(t,e){const r=function(){const[t,e]=o(()=>"undefined"!=typeof window&&(window.matchMedia("(prefers-contrast: high)").matches||window.matchMedia("(prefers-contrast: more)").matches));return a(()=>{const t=window.matchMedia("(prefers-contrast: high)"),r=window.matchMedia("(prefers-contrast: more)"),o=t=>{e(t.matches)};return t.addEventListener("change",o),r.addEventListener("change",o),()=>{t.removeEventListener("change",o),r.removeEventListener("change",o)}},[]),t}(),n=i(()=>{const o=k(t,e);return r?{...o,primaryColor:"#000000",cssVariables:{...o.cssVariables,background:"#FFFFFF",foreground:"#000000",card:"#FFFFFF",cardForeground:"#000000",primary:"#000000",primaryForeground:"#FFFFFF",muted:"#F5F5F5",mutedForeground:"#000000",border:"#000000"}}:o},[t,e,r]),s=i(()=>({radius:{...R,...t?.bubbleStyles?.radius},bot:{...W,...t?.bubbleStyles?.bot},user:{...B,...t?.bubbleStyles?.user},launcher:{...t?.bubbleStyles?.launcher},mapCard:{...t?.bubbleStyles?.mapCard}}),[t?.bubbleStyles]);return{mergedTheme:n,mergedStyles:s,getContainerStyle:(t,e,r)=>({"--chat-primary":n.primaryColor,zIndex:t?2147483647:9999,position:"fixed",top:e&&t?0:"auto",left:e&&t?0:"bottom-left"===r?"24px":"auto",right:e&&t?0:"bottom-right"!==r&&r?"auto":"24px",bottom:e&&t?0:"24px",width:e&&t?"100%":"auto",height:e&&t?"100%":"auto"})}}(u,_);a(()=>{E.isHidden&&console.warn('[BotUyo] ⚠️ El agente (o Flow) de IA asociado a esta API Key se encuentra pausado o en estado "boceto" (draft). El widget no se mostrará hasta que lo publiques dentro de la plataforma BotUyo.')},[E.isHidden]);const{state:M,actions:A,unreadCount:j,currentBotEmotion:P,isConnected:F,handleToggle:D,handleSendText:Z,handleSendAttachment:J,handleSendLocation:V,getSocket:q}=Kn({apiKey:e,apiBaseUrl:n,agentId:c,pageContext:d,includeSEOMetadata:l,theme:u,userContext:h,onLogin:g,onNavigate:m,onEvent:f,onStateChange:w,onThemeUpdate:z}),G=s(t=>{A.addMessage({id:`voice-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"text",sender:t.sender,timestamp:/* @__PURE__ */new Date,content:t.content})},[A]),K=i(()=>{const t={...p||{}},e=_;return null!=e?.voiceEnabled&&(t.enableVoice=e.voiceEnabled),t},[p,_]),H=s(t=>{t.stopPropagation()},[]),Y=C(M.isOpen,y,u?.position),X=i(()=>{if(!E.cssVariables)return{};let t={...E.cssVariables};if(x){const e=_?.darkCssVariables||{};t={...t,...I,...e}}const e={};return t.background&&(e["--background"]=t.background),t.foreground&&(e["--foreground"]=t.foreground),t.card&&(e["--card"]=t.card),t.cardForeground&&(e["--card-foreground"]=t.cardForeground),t.primary&&(e["--primary"]=t.primary),t.primaryForeground&&(e["--primary-foreground"]=t.primaryForeground),t.muted&&(e["--muted"]=t.muted),t.mutedForeground&&(e["--muted-foreground"]=t.mutedForeground),t.border&&(e["--border"]=t.border),t.destructive&&(e["--destructive"]=t.destructive),t.radius&&(e["--radius"]=t.radius),t.spacing1&&(e["--spacing-1"]=t.spacing1),t.spacing2&&(e["--spacing-2"]=t.spacing2),t.spacing3&&(e["--spacing-3"]=t.spacing3),t.spacing4&&(e["--spacing-4"]=t.spacing4),t.spacing5&&(e["--spacing-5"]=t.spacing5),t.spacing6&&(e["--spacing-6"]=t.spacing6),t.spacing8&&(e["--spacing-8"]=t.spacing8),e},[E.cssVariables,x,_]);return E.isHidden?null:_?/* @__PURE__ */T("div",{ref:v,id:"botuyo-chat-widget",className:b("botuyo-chat-widget flex flex-col",!y&&("bottom-left"===u?.position?"items-start":"items-end")),style:{...Y,...X,pointerEvents:"auto",backgroundColor:"transparent"},"data-animations-disabled":!1===u?.animations?.enabled?"true":void 0,"data-effects-glassmorphism":!1===u?.effects?.glassmorphism?"false":void 0,"data-effects-shadows":!1===u?.effects?.softShadows?"false":void 0,children:[
|
|
17
|
+
/* @__PURE__ */N("button",{onClick:this.handleReset,className:"px-4 py-2 bg-primary text-primary-foreground rounded-lg font-medium hover:opacity-90 transition-opacity",children:"Intentar de nuevo"})]}):this.props.children}}const R={bubble:"rounded-2xl",image:"rounded-xl",button:"rounded-xl",card:"rounded-2xl"},W={bg:"bg-muted/50 dark:bg-muted/20",text:"text-foreground",border:"border-border/50"},B={text:"text-primary-foreground"};const J=(t,e)=>e.some(e=>t instanceof e);let V,q;const G=/* @__PURE__ */new WeakMap,K=/* @__PURE__ */new WeakMap,H=/* @__PURE__ */new WeakMap;let Y={get(t,e,r){if(t instanceof IDBTransaction){if("done"===e)return G.get(t);if("store"===e)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return tt(t[e])},set:(t,e,r)=>(t[e]=r,!0),has:(t,e)=>t instanceof IDBTransaction&&("done"===e||"store"===e)||e in t};function X(t){Y=t(Y)}function Q(t){return"function"==typeof t?(e=t,(q||(q=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(et(this),t),tt(this.request)}:function(...t){return tt(e.apply(et(this),t))}):(t instanceof IDBTransaction&&function(t){if(G.has(t))return;const e=new Promise((e,r)=>{const o=()=>{t.removeEventListener("complete",n),t.removeEventListener("error",a),t.removeEventListener("abort",a)},n=()=>{e(),o()},a=()=>{r(t.error||new DOMException("AbortError","AbortError")),o()};t.addEventListener("complete",n),t.addEventListener("error",a),t.addEventListener("abort",a)});G.set(t,e)}(t),J(t,V||(V=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]))?new Proxy(t,Y):t);var e}function tt(t){if(t instanceof IDBRequest)return function(t){const e=new Promise((e,r)=>{const o=()=>{t.removeEventListener("success",n),t.removeEventListener("error",a)},n=()=>{e(tt(t.result)),o()},a=()=>{r(t.error),o()};t.addEventListener("success",n),t.addEventListener("error",a)});return H.set(e,t),e}(t);if(K.has(t))return K.get(t);const e=Q(t);return e!==t&&(K.set(t,e),H.set(e,t)),e}const et=t=>H.get(t),rt=["get","getKey","getAll","getAllKeys","count"],ot=["put","add","delete","clear"],nt=/* @__PURE__ */new Map;function at(t,e){if(!(t instanceof IDBDatabase)||e in t||"string"!=typeof e)return;if(nt.get(e))return nt.get(e);const r=e.replace(/FromIndex$/,""),o=e!==r,n=ot.includes(r);if(!(r in(o?IDBIndex:IDBObjectStore).prototype)||!n&&!rt.includes(r))return;const a=async function(t,...e){const a=this.transaction(t,n?"readwrite":"readonly");let i=a.store;return o&&(i=i.index(e.shift())),(await Promise.all([i[r](...e),n&&a.done]))[0]};return nt.set(e,a),a}X(t=>({...t,get:(e,r,o)=>at(e,r)||t.get(e,r,o),has:(e,r)=>!!at(e,r)||t.has(e,r)}));const it=["continue","continuePrimaryKey","advance"],st={},ct=/* @__PURE__ */new WeakMap,lt=/* @__PURE__ */new WeakMap,dt={get(t,e){if(!it.includes(e))return t[e];let r=st[e];return r||(r=st[e]=function(...t){ct.set(this,lt.get(this)[e](...t))}),r}};async function*ut(...t){let e=this;if(e instanceof IDBCursor||(e=await e.openCursor(...t)),!e)return;const r=new Proxy(e,dt);for(lt.set(r,e),H.set(r,et(e));e;)yield r,e=await(ct.get(r)||e.continue()),ct.delete(r)}function pt(t,e){return e===Symbol.asyncIterator&&J(t,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===e&&J(t,[IDBIndex,IDBObjectStore])}X(t=>({...t,get:(e,r,o)=>pt(e,r)?ut:t.get(e,r,o),has:(e,r)=>pt(e,r)||t.has(e,r)}));class ht{db=null;DB_NAME;DB_VERSION=1;constructor(t="default"){this.DB_NAME=`botuyo-chat-${t}`}async init(){try{this.db=await function(t,e,{blocked:r,upgrade:o,blocking:n,terminated:a}={}){const i=indexedDB.open(t,e),s=tt(i);return o&&i.addEventListener("upgradeneeded",t=>{o(tt(i.result),t.oldVersion,t.newVersion,tt(i.transaction),t)}),r&&i.addEventListener("blocked",t=>r(t.oldVersion,t.newVersion,t)),s.then(t=>{a&&t.addEventListener("close",()=>a()),n&&t.addEventListener("versionchange",t=>n(t.oldVersion,t.newVersion,t))}).catch(()=>{}),s}(this.DB_NAME,this.DB_VERSION,{upgrade(t){t.objectStoreNames.contains("messages")||t.createObjectStore("messages",{keyPath:"id"}).createIndex("by-timestamp","timestamp"),t.objectStoreNames.contains("metadata")||t.createObjectStore("metadata")}}),x.info("IndexedDB initialized")}catch(t){throw x.error("Failed to initialize IndexedDB:",t),t}}async saveMessage(t){this.db||await this.init();try{await this.db.put("messages",t)}catch(e){x.error("Failed to save message:",e)}}async saveMessages(t){this.db||await this.init();try{const e=this.db.transaction("messages","readwrite");await Promise.all([...t.map(t=>e.store.put(t)),e.done])}catch(e){x.error("Failed to save messages:",e)}}async getMessages(t=100){this.db||await this.init();try{return(await this.db.getAllFromIndex("messages","by-timestamp")).slice(-t)}catch(e){return x.error("Failed to get messages:",e),[]}}async getMessage(t){this.db||await this.init();try{return await this.db.get("messages",t)}catch(e){return void x.error("Failed to get message:",e)}}async deleteMessage(t){this.db||await this.init();try{await this.db.delete("messages",t)}catch(e){x.error("Failed to delete message:",e)}}async clearMessages(){this.db||await this.init();try{await this.db.clear("messages"),x.info("Messages cleared from IndexedDB")}catch(t){x.error("Failed to clear messages:",t)}}async setMetadata(t){this.db||await this.init();try{await this.db.put("metadata",t,"chat-metadata")}catch(e){x.error("Failed to set metadata:",e)}}async getMetadata(){this.db||await this.init();try{return await this.db.get("metadata","chat-metadata")}catch(t){return x.error("Failed to get metadata:",t),null}}async clearAll(){this.db||await this.init();try{await Promise.all([this.db.clear("messages"),this.db.clear("metadata")]),x.info("All data cleared from IndexedDB")}catch(t){x.error("Failed to clear all data:",t)}}async migrateFromLocalStorage(t="default"){try{const e=`botuyo_chat_v1_${t}`,r=localStorage.getItem(e);if(!r)return;const o=JSON.parse(r);if(o.messages&&Array.isArray(o.messages)){const t=o.messages.map(t=>({...t,timestamp:new Date(t.timestamp)}));await this.saveMessages(t),x.info(`Migrated ${t.length} messages from localStorage`)}o.sessionId&&await this.setMetadata({sessionId:o.sessionId}),localStorage.removeItem(e),x.info("Migration from localStorage completed")}catch(e){x.error("Failed to migrate from localStorage:",e)}}}const gt=/* @__PURE__ */new Map,mt={isOpen:!1,isConnected:!1,isTyping:!1,messages:[],error:null,sessionId:null};function ft(t,e){switch(e.type){case"TOGGLE_WINDOW":return{...t,isOpen:!t.isOpen};case"OPEN_WINDOW":return{...t,isOpen:!0};case"CLOSE_WINDOW":return{...t,isOpen:!1};case"SET_CONNECTED":return{...t,isConnected:e.payload};case"SET_TYPING":return{...t,isTyping:e.payload};case"ADD_MESSAGE":{if(t.messages.some(t=>t.id===e.payload.id))return t;if(e.payload.id.startsWith("msg-")&&"text"===e.payload.type){const r=/* @__PURE__ */(new Date).getTime();if(t.messages.slice(-10).some(t=>"text"===t.type&&t.sender===e.payload.sender&&"content"in t&&"content"in e.payload&&t.content===e.payload.content&&Math.abs(r-new Date(t.timestamp).getTime())<3e4))return t}const r=[...t.messages,e.payload],o="bot"===e.payload.sender;return{...t,messages:r,isTyping:!o&&t.isTyping}}case"SET_MESSAGES":return{...t,messages:[...e.payload]};case"SET_ERROR":return{...t,error:e.payload};case"SET_SESSION_ID":return{...t,sessionId:e.payload};case"CLEAR_CHAT":return{...mt,isOpen:t.isOpen};case"RESTORE_SESSION":return{...t,...e.payload,isConnected:!1,isTyping:!1,error:null};default:return t}}function wt(t,e,r){function o(r,o){if(r._zod||Object.defineProperty(r,"_zod",{value:{def:o,constr:i,traits:/* @__PURE__ */new Set},enumerable:!1}),r._zod.traits.has(t))return;r._zod.traits.add(t),e(r,o);const n=i.prototype,a=Object.keys(n);for(let t=0;t<a.length;t++){const e=a[t];e in r||(r[e]=n[e].bind(r))}}const n=r?.Parent??Object;class a extends n{}function i(t){var e;const n=r?.Parent?new a:this;o(n,t),(e=n._zod).deferred??(e.deferred=[]);for(const r of n._zod.deferred)r();return n}return Object.defineProperty(a,"name",{value:t}),Object.defineProperty(i,"init",{value:o}),Object.defineProperty(i,Symbol.hasInstance,{value:e=>!!(r?.Parent&&e instanceof r.Parent)||e?._zod?.traits?.has(t)}),Object.defineProperty(i,"name",{value:t}),i}class bt extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class vt extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}const yt={};function xt(t){return yt}function kt(t){const e=Object.values(t).filter(t=>"number"==typeof t);return Object.entries(t).filter(([t,r])=>-1===e.indexOf(+t)).map(([t,e])=>e)}function _t(t,e){return"bigint"==typeof e?e.toString():e}function zt(t){return{get value(){{const e=t();return Object.defineProperty(this,"value",{value:e}),e}}}}function Et(t){return null==t}function St(t){const e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}const Ot=/* @__PURE__ */Symbol("evaluating");function It(t,e,r){let o;Object.defineProperty(t,e,{get(){if(o!==Ot)return void 0===o&&(o=Ot,o=r()),o},set(r){Object.defineProperty(t,e,{value:r})},configurable:!0})}function $t(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Ct(...t){const e={};for(const r of t){const t=Object.getOwnPropertyDescriptors(r);Object.assign(e,t)}return Object.defineProperties({},e)}function Nt(t){return JSON.stringify(t)}const Tt="captureStackTrace"in Error?Error.captureStackTrace:(...t)=>{};function Mt(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}const At=zt(()=>{if("undefined"!=typeof navigator&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(t){return!1}});function jt(t){if(!1===Mt(t))return!1;const e=t.constructor;if(void 0===e)return!0;if("function"!=typeof e)return!0;const r=e.prototype;return!1!==Mt(r)&&!1!==Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")}function Pt(t){return jt(t)?{...t}:Array.isArray(t)?[...t]:t}const Ft=/* @__PURE__ */new Set(["string","number","symbol"]);function Dt(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Zt(t,e,r){const o=new t._zod.constr(e??t._zod.def);return e&&!r?.parent||(o._zod.parent=t),o}function Ut(t){const e=t;if(!e)return{};if("string"==typeof e)return{error:()=>e};if(void 0!==e?.message){if(void 0!==e?.error)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,"string"==typeof e.error?{...e,error:()=>e.error}:e}const Lt={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Rt(t,e=0){if(!0===t.aborted)return!0;for(let r=e;r<t.issues.length;r++)if(!0!==t.issues[r]?.continue)return!0;return!1}function Wt(t,e){return e.map(e=>{var r;return(r=e).path??(r.path=[]),e.path.unshift(t),e})}function Bt(t){return"string"==typeof t?t:t?.message}function Jt(t,e,r){const o={...t,path:t.path??[]};if(!t.message){const n=Bt(t.inst?._zod.def?.error?.(t))??Bt(e?.error?.(t))??Bt(r.customError?.(t))??Bt(r.localeError?.(t))??"Invalid input";o.message=n}return delete o.inst,delete o.continue,e?.reportInput||delete o.input,o}function Vt(t){return Array.isArray(t)?"array":"string"==typeof t?"string":"unknown"}function qt(...t){const[e,r,o]=t;return"string"==typeof e?{message:e,code:"custom",input:r,inst:o}:{...e}}const Gt=(t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),t.message=JSON.stringify(e,_t,2),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},Kt=wt("$ZodError",Gt),Ht=wt("$ZodError",Gt,{Parent:Error}),Yt=t=>(e,r,o,n)=>{const a=o?Object.assign(o,{async:!1}):{async:!1},i=e._zod.run({value:r,issues:[]},a);if(i instanceof Promise)throw new bt;if(i.issues.length){const e=new(n?.Err??t)(i.issues.map(t=>Jt(t,a,xt())));throw Tt(e,n?.callee),e}return i.value},Xt=t=>async(e,r,o,n)=>{const a=o?Object.assign(o,{async:!0}):{async:!0};let i=e._zod.run({value:r,issues:[]},a);if(i instanceof Promise&&(i=await i),i.issues.length){const e=new(n?.Err??t)(i.issues.map(t=>Jt(t,a,xt())));throw Tt(e,n?.callee),e}return i.value},Qt=t=>(e,r,o)=>{const n=o?{...o,async:!1}:{async:!1},a=e._zod.run({value:r,issues:[]},n);if(a instanceof Promise)throw new bt;return a.issues.length?{success:!1,error:new(t??Kt)(a.issues.map(t=>Jt(t,n,xt())))}:{success:!0,data:a.value}},te=/* @__PURE__ */Qt(Ht),ee=t=>async(e,r,o)=>{const n=o?Object.assign(o,{async:!0}):{async:!0};let a=e._zod.run({value:r,issues:[]},n);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new t(a.issues.map(t=>Jt(t,n,xt())))}:{success:!0,data:a.value}},re=/* @__PURE__ */ee(Ht),oe=t=>(e,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Yt(t)(e,r,n)},ne=t=>(e,r,o)=>Yt(t)(e,r,o),ae=t=>async(e,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Xt(t)(e,r,n)},ie=t=>async(e,r,o)=>Xt(t)(e,r,o),se=t=>(e,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Qt(t)(e,r,n)},ce=t=>(e,r,o)=>Qt(t)(e,r,o),le=t=>async(e,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return ee(t)(e,r,n)},de=t=>async(e,r,o)=>ee(t)(e,r,o),ue=/^[cC][^\s-]{8,}$/,pe=/^[0-9a-z]+$/,he=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,ge=/^[0-9a-vA-V]{20}$/,me=/^[A-Za-z0-9]{27}$/,fe=/^[a-zA-Z0-9_-]{21}$/,we=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,be=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,ve=t=>t?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${t}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,ye=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,xe=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ke=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,_e=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,ze=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Ee=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Se=/^[A-Za-z0-9_-]*$/,Oe=/^\+[1-9]\d{6,14}$/,Ie="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",$e=/* @__PURE__ */new RegExp(`^${Ie}$`);function Ce(t){const e="(?:[01]\\d|2[0-3]):[0-5]\\d";return"number"==typeof t.precision?-1===t.precision?`${e}`:0===t.precision?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${t.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}const Ne=/^-?\d+$/,Te=/^-?\d+(?:\.\d+)?$/,Me=/^[^A-Z]*$/,Ae=/^[^a-z]*$/,je=/* @__PURE__ */wt("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),Pe={number:"number",bigint:"bigint",object:"date"},Fe=/* @__PURE__ */wt("$ZodCheckLessThan",(t,e)=>{je.init(t,e);const r=Pe[typeof e.value];t._zod.onattach.push(t=>{const r=t._zod.bag,o=(e.inclusive?r.maximum:r.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value<o&&(e.inclusive?r.maximum=e.value:r.exclusiveMaximum=e.value)}),t._zod.check=o=>{(e.inclusive?o.value<=e.value:o.value<e.value)||o.issues.push({origin:r,code:"too_big",maximum:"object"==typeof e.value?e.value.getTime():e.value,input:o.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),De=/* @__PURE__ */wt("$ZodCheckGreaterThan",(t,e)=>{je.init(t,e);const r=Pe[typeof e.value];t._zod.onattach.push(t=>{const r=t._zod.bag,o=(e.inclusive?r.minimum:r.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>o&&(e.inclusive?r.minimum=e.value:r.exclusiveMinimum=e.value)}),t._zod.check=o=>{(e.inclusive?o.value>=e.value:o.value>e.value)||o.issues.push({origin:r,code:"too_small",minimum:"object"==typeof e.value?e.value.getTime():e.value,input:o.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),Ze=/* @__PURE__ */wt("$ZodCheckMultipleOf",(t,e)=>{je.init(t,e),t._zod.onattach.push(t=>{var r;(r=t._zod.bag).multipleOf??(r.multipleOf=e.value)}),t._zod.check=r=>{if(typeof r.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");("bigint"==typeof r.value?r.value%e.value===BigInt(0):0===function(t,e){const r=(t.toString().split(".")[1]||"").length,o=e.toString();let n=(o.split(".")[1]||"").length;if(0===n&&/\d?e-\d?/.test(o)){const t=o.match(/\d?e-(\d?)/);t?.[1]&&(n=Number.parseInt(t[1]))}const a=r>n?r:n;return Number.parseInt(t.toFixed(a).replace(".",""))%Number.parseInt(e.toFixed(a).replace(".",""))/10**a}(r.value,e.value))||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:e.value,input:r.value,inst:t,continue:!e.abort})}}),Ue=/* @__PURE__ */wt("$ZodCheckNumberFormat",(t,e)=>{je.init(t,e),e.format=e.format||"float64";const r=e.format?.includes("int"),o=r?"int":"number",[n,a]=Lt[e.format];t._zod.onattach.push(t=>{const o=t._zod.bag;o.format=e.format,o.minimum=n,o.maximum=a,r&&(o.pattern=Ne)}),t._zod.check=i=>{const s=i.value;if(r){if(!Number.isInteger(s))return void i.issues.push({expected:o,format:e.format,code:"invalid_type",continue:!1,input:s,inst:t});if(!Number.isSafeInteger(s))return void(s>0?i.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:o,inclusive:!0,continue:!e.abort}):i.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:o,inclusive:!0,continue:!e.abort}))}s<n&&i.issues.push({origin:"number",input:s,code:"too_small",minimum:n,inclusive:!0,inst:t,continue:!e.abort}),s>a&&i.issues.push({origin:"number",input:s,code:"too_big",maximum:a,inclusive:!0,inst:t,continue:!e.abort})}}),Le=/* @__PURE__ */wt("$ZodCheckMaxLength",(t,e)=>{var r;je.init(t,e),(r=t._zod.def).when??(r.when=t=>{const e=t.value;return!Et(e)&&void 0!==e.length}),t._zod.onattach.push(t=>{const r=t._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum<r&&(t._zod.bag.maximum=e.maximum)}),t._zod.check=r=>{const o=r.value;if(o.length<=e.maximum)return;const n=Vt(o);r.issues.push({origin:n,code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Re=/* @__PURE__ */wt("$ZodCheckMinLength",(t,e)=>{var r;je.init(t,e),(r=t._zod.def).when??(r.when=t=>{const e=t.value;return!Et(e)&&void 0!==e.length}),t._zod.onattach.push(t=>{const r=t._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>r&&(t._zod.bag.minimum=e.minimum)}),t._zod.check=r=>{const o=r.value;if(o.length>=e.minimum)return;const n=Vt(o);r.issues.push({origin:n,code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),We=/* @__PURE__ */wt("$ZodCheckLengthEquals",(t,e)=>{var r;je.init(t,e),(r=t._zod.def).when??(r.when=t=>{const e=t.value;return!Et(e)&&void 0!==e.length}),t._zod.onattach.push(t=>{const r=t._zod.bag;r.minimum=e.length,r.maximum=e.length,r.length=e.length}),t._zod.check=r=>{const o=r.value,n=o.length;if(n===e.length)return;const a=Vt(o),i=n>e.length;r.issues.push({origin:a,...i?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:r.value,inst:t,continue:!e.abort})}}),Be=/* @__PURE__ */wt("$ZodCheckStringFormat",(t,e)=>{var r,o;je.init(t,e),t._zod.onattach.push(t=>{const r=t._zod.bag;r.format=e.format,e.pattern&&(r.patterns??(r.patterns=/* @__PURE__ */new Set),r.patterns.add(e.pattern))}),e.pattern?(r=t._zod).check??(r.check=r=>{e.pattern.lastIndex=0,e.pattern.test(r.value)||r.issues.push({origin:"string",code:"invalid_format",format:e.format,input:r.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(o=t._zod).check??(o.check=()=>{})}),Je=/* @__PURE__ */wt("$ZodCheckRegex",(t,e)=>{Be.init(t,e),t._zod.check=r=>{e.pattern.lastIndex=0,e.pattern.test(r.value)||r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort})}}),Ve=/* @__PURE__ */wt("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=Me),Be.init(t,e)}),qe=/* @__PURE__ */wt("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=Ae),Be.init(t,e)}),Ge=/* @__PURE__ */wt("$ZodCheckIncludes",(t,e)=>{je.init(t,e);const r=Dt(e.includes),o=new RegExp("number"==typeof e.position?`^.{${e.position}}${r}`:r);e.pattern=o,t._zod.onattach.push(t=>{const e=t._zod.bag;e.patterns??(e.patterns=/* @__PURE__ */new Set),e.patterns.add(o)}),t._zod.check=r=>{r.value.includes(e.includes,e.position)||r.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:r.value,inst:t,continue:!e.abort})}}),Ke=/* @__PURE__ */wt("$ZodCheckStartsWith",(t,e)=>{je.init(t,e);const r=new RegExp(`^${Dt(e.prefix)}.*`);e.pattern??(e.pattern=r),t._zod.onattach.push(t=>{const e=t._zod.bag;e.patterns??(e.patterns=/* @__PURE__ */new Set),e.patterns.add(r)}),t._zod.check=r=>{r.value.startsWith(e.prefix)||r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:r.value,inst:t,continue:!e.abort})}}),He=/* @__PURE__ */wt("$ZodCheckEndsWith",(t,e)=>{je.init(t,e);const r=new RegExp(`.*${Dt(e.suffix)}$`);e.pattern??(e.pattern=r),t._zod.onattach.push(t=>{const e=t._zod.bag;e.patterns??(e.patterns=/* @__PURE__ */new Set),e.patterns.add(r)}),t._zod.check=r=>{r.value.endsWith(e.suffix)||r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:r.value,inst:t,continue:!e.abort})}}),Ye=/* @__PURE__ */wt("$ZodCheckOverwrite",(t,e)=>{je.init(t,e),t._zod.check=t=>{t.value=e.tx(t.value)}});class Xe{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if("function"==typeof t)return t(this,{execution:"sync"}),void t(this,{execution:"async"});const e=t.split("\n").filter(t=>t),r=Math.min(...e.map(t=>t.length-t.trimStart().length)),o=e.map(t=>t.slice(r)).map(t=>" ".repeat(2*this.indent)+t);for(const n of o)this.content.push(n)}compile(){const t=Function,e=this?.args;return new t(...e,[...(this?.content??[""]).map(t=>` ${t}`)].join("\n"))}}const Qe={major:4,minor:3,patch:6},tr=/* @__PURE__ */wt("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=Qe;const o=[...t._zod.def.checks??[]];t._zod.traits.has("$ZodCheck")&&o.unshift(t);for(const n of o)for(const e of n._zod.onattach)e(t);if(0===o.length)(r=t._zod).deferred??(r.deferred=[]),t._zod.deferred?.push(()=>{t._zod.run=t._zod.parse});else{const e=(t,e,r)=>{let o,n=Rt(t);for(const a of e){if(a._zod.def.when){if(!a._zod.def.when(t))continue}else if(n)continue;const e=t.issues.length,i=a._zod.check(t);if(i instanceof Promise&&!1===r?.async)throw new bt;if(o||i instanceof Promise)o=(o??Promise.resolve()).then(async()=>{await i,t.issues.length!==e&&(n||(n=Rt(t,e)))});else{if(t.issues.length===e)continue;n||(n=Rt(t,e))}}return o?o.then(()=>t):t},r=(r,n,a)=>{if(Rt(r))return r.aborted=!0,r;const i=e(n,o,a);if(i instanceof Promise){if(!1===a.async)throw new bt;return i.then(e=>t._zod.parse(e,a))}return t._zod.parse(i,a)};t._zod.run=(n,a)=>{if(a.skipChecks)return t._zod.parse(n,a);if("backward"===a.direction){const e=t._zod.parse({value:n.value,issues:[]},{...a,skipChecks:!0});return e instanceof Promise?e.then(t=>r(t,n,a)):r(e,n,a)}const i=t._zod.parse(n,a);if(i instanceof Promise){if(!1===a.async)throw new bt;return i.then(t=>e(t,o,a))}return e(i,o,a)}}It(t,"~standard",()=>({validate:e=>{try{const r=te(t,e);return r.success?{value:r.data}:{issues:r.error?.issues}}catch(r){return re(t,e).then(t=>t.success?{value:t.data}:{issues:t.error?.issues})}},vendor:"zod",version:1}))}),er=/* @__PURE__ */wt("$ZodString",(t,e)=>{var r;tr.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??(r=t._zod.bag,new RegExp(`^${r?`[\\s\\S]{${r?.minimum??0},${r?.maximum??""}}`:"[\\s\\S]*"}$`)),t._zod.parse=(r,o)=>{if(e.coerce)try{r.value=String(r.value)}catch(n){}return"string"==typeof r.value||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:t}),r}}),rr=/* @__PURE__ */wt("$ZodStringFormat",(t,e)=>{Be.init(t,e),er.init(t,e)}),or=/* @__PURE__ */wt("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=be),rr.init(t,e)}),nr=/* @__PURE__ */wt("$ZodUUID",(t,e)=>{if(e.version){const t={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(void 0===t)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=ve(t))}else e.pattern??(e.pattern=ve());rr.init(t,e)}),ar=/* @__PURE__ */wt("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=ye),rr.init(t,e)}),ir=/* @__PURE__ */wt("$ZodURL",(t,e)=>{rr.init(t,e),t._zod.check=r=>{try{const o=r.value.trim(),n=new URL(o);return e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(n.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:e.hostname.source,input:r.value,inst:t,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(n.protocol.endsWith(":")?n.protocol.slice(0,-1):n.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:r.value,inst:t,continue:!e.abort})),void(e.normalize?r.value=n.href:r.value=o)}catch(o){r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:t,continue:!e.abort})}}}),sr=/* @__PURE__ */wt("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),rr.init(t,e)}),cr=/* @__PURE__ */wt("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=fe),rr.init(t,e)}),lr=/* @__PURE__ */wt("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=ue),rr.init(t,e)}),dr=/* @__PURE__ */wt("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=pe),rr.init(t,e)}),ur=/* @__PURE__ */wt("$ZodULID",(t,e)=>{e.pattern??(e.pattern=he),rr.init(t,e)}),pr=/* @__PURE__ */wt("$ZodXID",(t,e)=>{e.pattern??(e.pattern=ge),rr.init(t,e)}),hr=/* @__PURE__ */wt("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=me),rr.init(t,e)}),gr=/* @__PURE__ */wt("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=function(t){const e=Ce({precision:t.precision}),r=["Z"];t.local&&r.push(""),t.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const o=`${e}(?:${r.join("|")})`;return new RegExp(`^${Ie}T(?:${o})$`)}(e)),rr.init(t,e)}),mr=/* @__PURE__ */wt("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=$e),rr.init(t,e)}),fr=/* @__PURE__ */wt("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=new RegExp(`^${Ce(e)}$`)),rr.init(t,e)}),wr=/* @__PURE__ */wt("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=we),rr.init(t,e)}),br=/* @__PURE__ */wt("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=xe),rr.init(t,e),t._zod.bag.format="ipv4"}),vr=/* @__PURE__ */wt("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=ke),rr.init(t,e),t._zod.bag.format="ipv6",t._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:t,continue:!e.abort})}}}),yr=/* @__PURE__ */wt("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=_e),rr.init(t,e)}),xr=/* @__PURE__ */wt("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=ze),rr.init(t,e),t._zod.check=r=>{const o=r.value.split("/");try{if(2!==o.length)throw new Error;const[t,e]=o;if(!e)throw new Error;const r=Number(e);if(`${r}`!==e)throw new Error;if(r<0||r>128)throw new Error;new URL(`http://[${t}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:t,continue:!e.abort})}}});function kr(t){if(""===t)return!0;if(t.length%4!=0)return!1;try{return atob(t),!0}catch{return!1}}const _r=/* @__PURE__ */wt("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=Ee),rr.init(t,e),t._zod.bag.contentEncoding="base64",t._zod.check=r=>{kr(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}}),zr=/* @__PURE__ */wt("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=Se),rr.init(t,e),t._zod.bag.contentEncoding="base64url",t._zod.check=r=>{(function(t){if(!Se.test(t))return!1;const e=t.replace(/[-_]/g,t=>"-"===t?"+":"/");return kr(e.padEnd(4*Math.ceil(e.length/4),"="))})(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),Er=/* @__PURE__ */wt("$ZodE164",(t,e)=>{e.pattern??(e.pattern=Oe),rr.init(t,e)}),Sr=/* @__PURE__ */wt("$ZodJWT",(t,e)=>{rr.init(t,e),t._zod.check=r=>{(function(t,e=null){try{const r=t.split(".");if(3!==r.length)return!1;const[o]=r;if(!o)return!1;const n=JSON.parse(atob(o));return!("typ"in n&&"JWT"!==n?.typ||!n.alg||e&&(!("alg"in n)||n.alg!==e))}catch{return!1}})(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}}),Or=/* @__PURE__ */wt("$ZodNumber",(t,e)=>{tr.init(t,e),t._zod.pattern=t._zod.bag.pattern??Te,t._zod.parse=(r,o)=>{if(e.coerce)try{r.value=Number(r.value)}catch(i){}const n=r.value;if("number"==typeof n&&!Number.isNaN(n)&&Number.isFinite(n))return r;const a="number"==typeof n?Number.isNaN(n)?"NaN":Number.isFinite(n)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:n,inst:t,...a?{received:a}:{}}),r}}),Ir=/* @__PURE__ */wt("$ZodNumberFormat",(t,e)=>{Ue.init(t,e),Or.init(t,e)}),$r=/* @__PURE__ */wt("$ZodAny",(t,e)=>{tr.init(t,e),t._zod.parse=t=>t}),Cr=/* @__PURE__ */wt("$ZodUnknown",(t,e)=>{tr.init(t,e),t._zod.parse=t=>t}),Nr=/* @__PURE__ */wt("$ZodNever",(t,e)=>{tr.init(t,e),t._zod.parse=(e,r)=>(e.issues.push({expected:"never",code:"invalid_type",input:e.value,inst:t}),e)});function Tr(t,e,r){t.issues.length&&e.issues.push(...Wt(r,t.issues)),e.value[r]=t.value}const Mr=/* @__PURE__ */wt("$ZodArray",(t,e)=>{tr.init(t,e),t._zod.parse=(r,o)=>{const n=r.value;if(!Array.isArray(n))return r.issues.push({expected:"array",code:"invalid_type",input:n,inst:t}),r;r.value=Array(n.length);const a=[];for(let t=0;t<n.length;t++){const i=n[t],s=e.element._zod.run({value:i,issues:[]},o);s instanceof Promise?a.push(s.then(e=>Tr(e,r,t))):Tr(s,r,t)}return a.length?Promise.all(a).then(()=>r):r}});function Ar(t,e,r,o,n){if(t.issues.length){if(n&&!(r in o))return;e.issues.push(...Wt(r,t.issues))}void 0===t.value?r in o&&(e.value[r]=void 0):e.value[r]=t.value}function jr(t){const e=Object.keys(t.shape);for(const n of e)if(!t.shape?.[n]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${n}": expected a Zod schema`);const r=(o=t.shape,Object.keys(o).filter(t=>"optional"===o[t]._zod.optin&&"optional"===o[t]._zod.optout));var o;return{...t,keys:e,keySet:new Set(e),numKeys:e.length,optionalKeys:new Set(r)}}function Pr(t,e,r,o,n,a){const i=[],s=n.keySet,c=n.catchall._zod,l=c.def.type,d="optional"===c.optout;for(const u in e){if(s.has(u))continue;if("never"===l){i.push(u);continue}const n=c.run({value:e[u],issues:[]},o);n instanceof Promise?t.push(n.then(t=>Ar(t,r,u,e,d))):Ar(n,r,u,e,d)}return i.length&&r.issues.push({code:"unrecognized_keys",keys:i,input:e,inst:a}),t.length?Promise.all(t).then(()=>r):r}const Fr=/* @__PURE__ */wt("$ZodObject",(t,e)=>{tr.init(t,e);const r=Object.getOwnPropertyDescriptor(e,"shape");if(!r?.get){const t=e.shape;Object.defineProperty(e,"shape",{get:()=>{const r={...t};return Object.defineProperty(e,"shape",{value:r}),r}})}const o=zt(()=>jr(e));It(t._zod,"propValues",()=>{const t=e.shape,r={};for(const e in t){const o=t[e]._zod;if(o.values){r[e]??(r[e]=/* @__PURE__ */new Set);for(const t of o.values)r[e].add(t)}}return r});const n=Mt,a=e.catchall;let i;t._zod.parse=(e,r)=>{i??(i=o.value);const s=e.value;if(!n(s))return e.issues.push({expected:"object",code:"invalid_type",input:s,inst:t}),e;e.value={};const c=[],l=i.shape;for(const t of i.keys){const o=l[t],n="optional"===o._zod.optout,a=o._zod.run({value:s[t],issues:[]},r);a instanceof Promise?c.push(a.then(r=>Ar(r,e,t,s,n))):Ar(a,e,t,s,n)}return a?Pr(c,s,e,r,o.value,t):c.length?Promise.all(c).then(()=>e):e}}),Dr=/* @__PURE__ */wt("$ZodObjectJIT",(t,e)=>{Fr.init(t,e);const r=t._zod.parse,o=zt(()=>jr(e));let n;const a=Mt,i=!yt.jitless,s=i&&At.value,c=e.catchall;let l;t._zod.parse=(d,u)=>{l??(l=o.value);const p=d.value;return a(p)?i&&s&&!1===u?.async&&!0!==u.jitless?(n||(n=(t=>{const e=new Xe(["shape","payload","ctx"]),r=o.value,n=t=>{const e=Nt(t);return`shape[${e}]._zod.run({ value: input[${e}], issues: [] }, ctx)`};e.write("const input = payload.value;");const a=/* @__PURE__ */Object.create(null);let i=0;for(const o of r.keys)a[o]="key_"+i++;e.write("const newResult = {};");for(const o of r.keys){const r=a[o],i=Nt(o),s=t[o],c="optional"===s?._zod?.optout;e.write(`const ${r} = ${n(o)};`),c?e.write(`\n if (${r}.issues.length) {\n if (${i} in input) {\n payload.issues = payload.issues.concat(${r}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${i}, ...iss.path] : [${i}]\n })));\n }\n }\n \n if (${r}.value === undefined) {\n if (${i} in input) {\n newResult[${i}] = undefined;\n }\n } else {\n newResult[${i}] = ${r}.value;\n }\n \n `):e.write(`\n if (${r}.issues.length) {\n payload.issues = payload.issues.concat(${r}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${i}, ...iss.path] : [${i}]\n })));\n }\n \n if (${r}.value === undefined) {\n if (${i} in input) {\n newResult[${i}] = undefined;\n }\n } else {\n newResult[${i}] = ${r}.value;\n }\n \n `)}e.write("payload.value = newResult;"),e.write("return payload;");const s=e.compile();return(e,r)=>s(t,e,r)})(e.shape)),d=n(d,u),c?Pr([],p,d,u,l,t):d):r(d,u):(d.issues.push({expected:"object",code:"invalid_type",input:p,inst:t}),d)}});function Zr(t,e,r,o){for(const a of t)if(0===a.issues.length)return e.value=a.value,e;const n=t.filter(t=>!Rt(t));return 1===n.length?(e.value=n[0].value,n[0]):(e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(t=>t.issues.map(t=>Jt(t,o,xt())))}),e)}const Ur=/* @__PURE__ */wt("$ZodUnion",(t,e)=>{tr.init(t,e),It(t._zod,"optin",()=>e.options.some(t=>"optional"===t._zod.optin)?"optional":void 0),It(t._zod,"optout",()=>e.options.some(t=>"optional"===t._zod.optout)?"optional":void 0),It(t._zod,"values",()=>{if(e.options.every(t=>t._zod.values))return new Set(e.options.flatMap(t=>Array.from(t._zod.values)))}),It(t._zod,"pattern",()=>{if(e.options.every(t=>t._zod.pattern)){const t=e.options.map(t=>t._zod.pattern);return new RegExp(`^(${t.map(t=>St(t.source)).join("|")})$`)}});const r=1===e.options.length,o=e.options[0]._zod.run;t._zod.parse=(n,a)=>{if(r)return o(n,a);let i=!1;const s=[];for(const t of e.options){const e=t._zod.run({value:n.value,issues:[]},a);if(e instanceof Promise)s.push(e),i=!0;else{if(0===e.issues.length)return e;s.push(e)}}return i?Promise.all(s).then(e=>Zr(e,n,t,a)):Zr(s,n,t,a)}}),Lr=/* @__PURE__ */wt("$ZodIntersection",(t,e)=>{tr.init(t,e),t._zod.parse=(t,r)=>{const o=t.value,n=e.left._zod.run({value:o,issues:[]},r),a=e.right._zod.run({value:o,issues:[]},r);return n instanceof Promise||a instanceof Promise?Promise.all([n,a]).then(([e,r])=>Wr(t,e,r)):Wr(t,n,a)}});function Rr(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t===+e)return{valid:!0,data:t};if(jt(t)&&jt(e)){const r=Object.keys(e),o=Object.keys(t).filter(t=>-1!==r.indexOf(t)),n={...t,...e};for(const a of o){const r=Rr(t[a],e[a]);if(!r.valid)return{valid:!1,mergeErrorPath:[a,...r.mergeErrorPath]};n[a]=r.data}return{valid:!0,data:n}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};const r=[];for(let o=0;o<t.length;o++){const n=Rr(t[o],e[o]);if(!n.valid)return{valid:!1,mergeErrorPath:[o,...n.mergeErrorPath]};r.push(n.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function Wr(t,e,r){const o=/* @__PURE__ */new Map;let n;for(const s of e.issues)if("unrecognized_keys"===s.code){n??(n=s);for(const t of s.keys)o.has(t)||o.set(t,{}),o.get(t).l=!0}else t.issues.push(s);for(const s of r.issues)if("unrecognized_keys"===s.code)for(const t of s.keys)o.has(t)||o.set(t,{}),o.get(t).r=!0;else t.issues.push(s);const a=[...o].filter(([,t])=>t.l&&t.r).map(([t])=>t);if(a.length&&n&&t.issues.push({...n,keys:a}),Rt(t))return t;const i=Rr(e.value,r.value);if(!i.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(i.mergeErrorPath)}`);return t.value=i.data,t}const Br=/* @__PURE__ */wt("$ZodEnum",(t,e)=>{tr.init(t,e);const r=kt(e.entries),o=new Set(r);t._zod.values=o,t._zod.pattern=new RegExp(`^(${r.filter(t=>Ft.has(typeof t)).map(t=>"string"==typeof t?Dt(t):t.toString()).join("|")})$`),t._zod.parse=(e,n)=>{const a=e.value;return o.has(a)||e.issues.push({code:"invalid_value",values:r,input:a,inst:t}),e}}),Jr=/* @__PURE__ */wt("$ZodTransform",(t,e)=>{tr.init(t,e),t._zod.parse=(r,o)=>{if("backward"===o.direction)throw new vt(t.constructor.name);const n=e.transform(r.value,r);if(o.async)return(n instanceof Promise?n:Promise.resolve(n)).then(t=>(r.value=t,r));if(n instanceof Promise)throw new bt;return r.value=n,r}});function Vr(t,e){return t.issues.length&&void 0===e?{issues:[],value:void 0}:t}const qr=/* @__PURE__ */wt("$ZodOptional",(t,e)=>{tr.init(t,e),t._zod.optin="optional",t._zod.optout="optional",It(t._zod,"values",()=>e.innerType._zod.values?/* @__PURE__ */new Set([...e.innerType._zod.values,void 0]):void 0),It(t._zod,"pattern",()=>{const t=e.innerType._zod.pattern;return t?new RegExp(`^(${St(t.source)})?$`):void 0}),t._zod.parse=(t,r)=>{if("optional"===e.innerType._zod.optin){const o=e.innerType._zod.run(t,r);return o instanceof Promise?o.then(e=>Vr(e,t.value)):Vr(o,t.value)}return void 0===t.value?t:e.innerType._zod.run(t,r)}}),Gr=/* @__PURE__ */wt("$ZodExactOptional",(t,e)=>{qr.init(t,e),It(t._zod,"values",()=>e.innerType._zod.values),It(t._zod,"pattern",()=>e.innerType._zod.pattern),t._zod.parse=(t,r)=>e.innerType._zod.run(t,r)}),Kr=/* @__PURE__ */wt("$ZodNullable",(t,e)=>{tr.init(t,e),It(t._zod,"optin",()=>e.innerType._zod.optin),It(t._zod,"optout",()=>e.innerType._zod.optout),It(t._zod,"pattern",()=>{const t=e.innerType._zod.pattern;return t?new RegExp(`^(${St(t.source)}|null)$`):void 0}),It(t._zod,"values",()=>e.innerType._zod.values?/* @__PURE__ */new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(t,r)=>null===t.value?t:e.innerType._zod.run(t,r)}),Hr=/* @__PURE__ */wt("$ZodDefault",(t,e)=>{tr.init(t,e),t._zod.optin="optional",It(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(t,r)=>{if("backward"===r.direction)return e.innerType._zod.run(t,r);if(void 0===t.value)return t.value=e.defaultValue,t;const o=e.innerType._zod.run(t,r);return o instanceof Promise?o.then(t=>Yr(t,e)):Yr(o,e)}});function Yr(t,e){return void 0===t.value&&(t.value=e.defaultValue),t}const Xr=/* @__PURE__ */wt("$ZodPrefault",(t,e)=>{tr.init(t,e),t._zod.optin="optional",It(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(t,r)=>("backward"===r.direction||void 0===t.value&&(t.value=e.defaultValue),e.innerType._zod.run(t,r))}),Qr=/* @__PURE__ */wt("$ZodNonOptional",(t,e)=>{tr.init(t,e),It(t._zod,"values",()=>{const t=e.innerType._zod.values;return t?new Set([...t].filter(t=>void 0!==t)):void 0}),t._zod.parse=(r,o)=>{const n=e.innerType._zod.run(r,o);return n instanceof Promise?n.then(e=>to(e,t)):to(n,t)}});function to(t,e){return t.issues.length||void 0!==t.value||t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}const eo=/* @__PURE__ */wt("$ZodCatch",(t,e)=>{tr.init(t,e),It(t._zod,"optin",()=>e.innerType._zod.optin),It(t._zod,"optout",()=>e.innerType._zod.optout),It(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(t,r)=>{if("backward"===r.direction)return e.innerType._zod.run(t,r);const o=e.innerType._zod.run(t,r);return o instanceof Promise?o.then(o=>(t.value=o.value,o.issues.length&&(t.value=e.catchValue({...t,error:{issues:o.issues.map(t=>Jt(t,r,xt()))},input:t.value}),t.issues=[]),t)):(t.value=o.value,o.issues.length&&(t.value=e.catchValue({...t,error:{issues:o.issues.map(t=>Jt(t,r,xt()))},input:t.value}),t.issues=[]),t)}}),ro=/* @__PURE__ */wt("$ZodPipe",(t,e)=>{tr.init(t,e),It(t._zod,"values",()=>e.in._zod.values),It(t._zod,"optin",()=>e.in._zod.optin),It(t._zod,"optout",()=>e.out._zod.optout),It(t._zod,"propValues",()=>e.in._zod.propValues),t._zod.parse=(t,r)=>{if("backward"===r.direction){const o=e.out._zod.run(t,r);return o instanceof Promise?o.then(t=>oo(t,e.in,r)):oo(o,e.in,r)}const o=e.in._zod.run(t,r);return o instanceof Promise?o.then(t=>oo(t,e.out,r)):oo(o,e.out,r)}});function oo(t,e,r){return t.issues.length?(t.aborted=!0,t):e._zod.run({value:t.value,issues:t.issues},r)}const no=/* @__PURE__ */wt("$ZodReadonly",(t,e)=>{tr.init(t,e),It(t._zod,"propValues",()=>e.innerType._zod.propValues),It(t._zod,"values",()=>e.innerType._zod.values),It(t._zod,"optin",()=>e.innerType?._zod?.optin),It(t._zod,"optout",()=>e.innerType?._zod?.optout),t._zod.parse=(t,r)=>{if("backward"===r.direction)return e.innerType._zod.run(t,r);const o=e.innerType._zod.run(t,r);return o instanceof Promise?o.then(ao):ao(o)}});function ao(t){return t.value=Object.freeze(t.value),t}const io=/* @__PURE__ */wt("$ZodCustom",(t,e)=>{je.init(t,e),tr.init(t,e),t._zod.parse=(t,e)=>t,t._zod.check=r=>{const o=r.value,n=e.fn(o);if(n instanceof Promise)return n.then(e=>so(e,r,o,t));so(n,r,o,t)}});function so(t,e,r,o){if(!t){const t={code:"custom",input:r,inst:o,path:[...o._zod.def.path??[]],continue:!o._zod.def.abort};o._zod.def.params&&(t.params=o._zod.def.params),e.issues.push(qt(t))}}var co;(co=globalThis).__zod_globalRegistry??(co.__zod_globalRegistry=new class{constructor(){this._map=/* @__PURE__ */new WeakMap,this._idmap=/* @__PURE__ */new Map}add(t,...e){const r=e[0];return this._map.set(t,r),r&&"object"==typeof r&&"id"in r&&this._idmap.set(r.id,t),this}clear(){return this._map=/* @__PURE__ */new WeakMap,this._idmap=/* @__PURE__ */new Map,this}remove(t){const e=this._map.get(t);return e&&"object"==typeof e&&"id"in e&&this._idmap.delete(e.id),this._map.delete(t),this}get(t){const e=t._zod.parent;if(e){const r={...this.get(e)??{}};delete r.id;const o={...r,...this._map.get(t)};return Object.keys(o).length?o:void 0}return this._map.get(t)}has(t){return this._map.has(t)}});const lo=globalThis.__zod_globalRegistry;function uo(t,e){return new t({type:"string",...Ut(e)})}function po(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...Ut(e)})}function ho(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...Ut(e)})}function go(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...Ut(e)})}function mo(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...Ut(e)})}function fo(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...Ut(e)})}function wo(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...Ut(e)})}function bo(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...Ut(e)})}function vo(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...Ut(e)})}function yo(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...Ut(e)})}function xo(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...Ut(e)})}function ko(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...Ut(e)})}function _o(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...Ut(e)})}function zo(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...Ut(e)})}function Eo(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...Ut(e)})}function So(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...Ut(e)})}function Oo(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...Ut(e)})}function Io(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...Ut(e)})}function $o(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...Ut(e)})}function Co(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...Ut(e)})}function No(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...Ut(e)})}function To(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...Ut(e)})}function Mo(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...Ut(e)})}function Ao(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...Ut(e)})}function jo(t,e){return new t({type:"string",format:"date",check:"string_format",...Ut(e)})}function Po(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...Ut(e)})}function Fo(t,e){return new t({type:"string",format:"duration",check:"string_format",...Ut(e)})}function Do(t,e){return new t({type:"number",checks:[],...Ut(e)})}function Zo(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...Ut(e)})}function Uo(t){return new t({type:"any"})}function Lo(t){return new t({type:"unknown"})}function Ro(t,e){return new t({type:"never",...Ut(e)})}function Wo(t,e){return new Fe({check:"less_than",...Ut(e),value:t,inclusive:!1})}function Bo(t,e){return new Fe({check:"less_than",...Ut(e),value:t,inclusive:!0})}function Jo(t,e){return new De({check:"greater_than",...Ut(e),value:t,inclusive:!1})}function Vo(t,e){return new De({check:"greater_than",...Ut(e),value:t,inclusive:!0})}function qo(t,e){return new Ze({check:"multiple_of",...Ut(e),value:t})}function Go(t,e){return new Le({check:"max_length",...Ut(e),maximum:t})}function Ko(t,e){return new Re({check:"min_length",...Ut(e),minimum:t})}function Ho(t,e){return new We({check:"length_equals",...Ut(e),length:t})}function Yo(t,e){return new Je({check:"string_format",format:"regex",...Ut(e),pattern:t})}function Xo(t){return new Ve({check:"string_format",format:"lowercase",...Ut(t)})}function Qo(t){return new qe({check:"string_format",format:"uppercase",...Ut(t)})}function tn(t,e){return new Ge({check:"string_format",format:"includes",...Ut(e),includes:t})}function en(t,e){return new Ke({check:"string_format",format:"starts_with",...Ut(e),prefix:t})}function rn(t,e){return new He({check:"string_format",format:"ends_with",...Ut(e),suffix:t})}function on(t){return new Ye({check:"overwrite",tx:t})}function nn(t){/* @__PURE__ */
|
|
18
|
+
return on(e=>e.normalize(t))}function an(){/* @__PURE__ */
|
|
19
|
+
return on(t=>t.trim())}function sn(){/* @__PURE__ */
|
|
20
|
+
return on(t=>t.toLowerCase())}function cn(){/* @__PURE__ */
|
|
21
|
+
return on(t=>t.toUpperCase())}function ln(){/* @__PURE__ */
|
|
22
|
+
return on(t=>function(t){return t.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}(t))}function dn(t,e,r){return new t({type:"array",element:e,...Ut(r)})}function un(t,e,r){return new t({type:"custom",check:"custom",fn:e,...Ut(r)})}function pn(t){const e=/* @__PURE__ */hn(r=>(r.addIssue=t=>{if("string"==typeof t)r.issues.push(qt(t,r.value,e._zod.def));else{const o=t;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=e),o.continue??(o.continue=!e._zod.def.abort),r.issues.push(qt(o))}},t(r.value,r)));return e}function hn(t,e){const r=new je({check:"custom",...Ut(e)});return r._zod.check=t,r}function gn(t){let e=t?.target??"draft-2020-12";return"draft-4"===e&&(e="draft-04"),"draft-7"===e&&(e="draft-07"),{processors:t.processors??{},metadataRegistry:t?.metadata??lo,target:e,unrepresentable:t?.unrepresentable??"throw",override:t?.override??(()=>{}),io:t?.io??"output",counter:0,seen:/* @__PURE__ */new Map,cycles:t?.cycles??"ref",reused:t?.reused??"inline",external:t?.external??void 0}}function mn(t,e,r={path:[],schemaPath:[]}){var o;const n=t._zod.def,a=e.seen.get(t);if(a)return a.count++,r.schemaPath.includes(t)&&(a.cycle=r.path),a.schema;const i={schema:{},count:1,cycle:void 0,path:r.path};e.seen.set(t,i);const s=t._zod.toJSONSchema?.();if(s)i.schema=s;else{const o={...r,schemaPath:[...r.schemaPath,t],path:r.path};if(t._zod.processJSONSchema)t._zod.processJSONSchema(e,i.schema,o);else{const r=i.schema,a=e.processors[n.type];if(!a)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${n.type}`);a(t,e,r,o)}const a=t._zod.parent;a&&(i.ref||(i.ref=a),mn(a,e,o),e.seen.get(a).isParent=!0)}const c=e.metadataRegistry.get(t);return c&&Object.assign(i.schema,c),"input"===e.io&&bn(t)&&(delete i.schema.examples,delete i.schema.default),"input"===e.io&&i.schema._prefault&&((o=i.schema).default??(o.default=i.schema._prefault)),delete i.schema._prefault,e.seen.get(t).schema}function fn(t,e){const r=t.seen.get(e);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=/* @__PURE__ */new Map;for(const a of t.seen.entries()){const e=t.metadataRegistry.get(a[0])?.id;if(e){const t=o.get(e);if(t&&t!==a[0])throw new Error(`Duplicate schema id "${e}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);o.set(e,a[0])}}const n=e=>{if(e[1].schema.$ref)return;const o=e[1],{ref:n,defId:a}=(e=>{const o="draft-2020-12"===t.target?"$defs":"definitions";if(t.external){const r=t.external.registry.get(e[0])?.id,n=t.external.uri??(t=>t);if(r)return{ref:n(r)};const a=e[1].defId??e[1].schema.id??"schema"+t.counter++;return e[1].defId=a,{defId:a,ref:`${n("__shared")}#/${o}/${a}`}}if(e[1]===r)return{ref:"#"};const n=`#/${o}/`,a=e[1].schema.id??"__schema"+t.counter++;return{defId:a,ref:n+a}})(e);o.def={...o.schema},a&&(o.defId=a);const i=o.schema;for(const t in i)delete i[t];i.$ref=n};if("throw"===t.cycles)for(const a of t.seen.entries()){const t=a[1];if(t.cycle)throw new Error(`Cycle detected: #/${t.cycle?.join("/")}/<root>\n\nSet the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const a of t.seen.entries()){const r=a[1];if(e===a[0]){n(a);continue}if(t.external){const r=t.external.registry.get(a[0])?.id;if(e!==a[0]&&r){n(a);continue}}const o=t.metadataRegistry.get(a[0])?.id;(o||r.cycle||r.count>1&&"ref"===t.reused)&&n(a)}}function wn(t,e){const r=t.seen.get(e);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=e=>{const r=t.seen.get(e);if(null===r.ref)return;const n=r.def??r.schema,a={...n},i=r.ref;if(r.ref=null,i){o(i);const r=t.seen.get(i),s=r.schema;if(!s.$ref||"draft-07"!==t.target&&"draft-04"!==t.target&&"openapi-3.0"!==t.target?Object.assign(n,s):(n.allOf=n.allOf??[],n.allOf.push(s)),Object.assign(n,a),e._zod.parent===i)for(const t in n)"$ref"!==t&&"allOf"!==t&&(t in a||delete n[t]);if(s.$ref&&r.def)for(const t in n)"$ref"!==t&&"allOf"!==t&&t in r.def&&JSON.stringify(n[t])===JSON.stringify(r.def[t])&&delete n[t]}const s=e._zod.parent;if(s&&s!==i){o(s);const e=t.seen.get(s);if(e?.schema.$ref&&(n.$ref=e.schema.$ref,e.def))for(const t in n)"$ref"!==t&&"allOf"!==t&&t in e.def&&JSON.stringify(n[t])===JSON.stringify(e.def[t])&&delete n[t]}t.override({zodSchema:e,jsonSchema:n,path:r.path??[]})};for(const s of[...t.seen.entries()].reverse())o(s[0]);const n={};if("draft-2020-12"===t.target?n.$schema="https://json-schema.org/draft/2020-12/schema":"draft-07"===t.target?n.$schema="http://json-schema.org/draft-07/schema#":"draft-04"===t.target?n.$schema="http://json-schema.org/draft-04/schema#":t.target,t.external?.uri){const r=t.external.registry.get(e)?.id;if(!r)throw new Error("Schema is missing an `id` property");n.$id=t.external.uri(r)}Object.assign(n,r.def??r.schema);const a=t.external?.defs??{};for(const s of t.seen.entries()){const t=s[1];t.def&&t.defId&&(a[t.defId]=t.def)}t.external||Object.keys(a).length>0&&("draft-2020-12"===t.target?n.$defs=a:n.definitions=a);try{const r=JSON.parse(JSON.stringify(n));return Object.defineProperty(r,"~standard",{value:{...e["~standard"],jsonSchema:{input:vn(e,"input",t.processors),output:vn(e,"output",t.processors)}},enumerable:!1,writable:!1}),r}catch(i){throw new Error("Error converting schema to JSON.")}}function bn(t,e){const r=e??{seen:/* @__PURE__ */new Set};if(r.seen.has(t))return!1;r.seen.add(t);const o=t._zod.def;if("transform"===o.type)return!0;if("array"===o.type)return bn(o.element,r);if("set"===o.type)return bn(o.valueType,r);if("lazy"===o.type)return bn(o.getter(),r);if("promise"===o.type||"optional"===o.type||"nonoptional"===o.type||"nullable"===o.type||"readonly"===o.type||"default"===o.type||"prefault"===o.type)return bn(o.innerType,r);if("intersection"===o.type)return bn(o.left,r)||bn(o.right,r);if("record"===o.type||"map"===o.type)return bn(o.keyType,r)||bn(o.valueType,r);if("pipe"===o.type)return bn(o.in,r)||bn(o.out,r);if("object"===o.type){for(const t in o.shape)if(bn(o.shape[t],r))return!0;return!1}if("union"===o.type){for(const t of o.options)if(bn(t,r))return!0;return!1}if("tuple"===o.type){for(const t of o.items)if(bn(t,r))return!0;return!(!o.rest||!bn(o.rest,r))}return!1}const vn=(t,e,r={})=>o=>{const{libraryOptions:n,target:a}=o??{},i=gn({...n??{},target:a,io:e,processors:r});return mn(t,i),fn(i,t),wn(i,t)},yn={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},xn=(t,e,r,o)=>{const n=t._zod.def;mn(n.innerType,e,o),e.seen.get(t).ref=n.innerType},kn=/* @__PURE__ */wt("ZodISODateTime",(t,e)=>{gr.init(t,e),Wn.init(t,e)}),_n=/* @__PURE__ */wt("ZodISODate",(t,e)=>{mr.init(t,e),Wn.init(t,e)}),zn=/* @__PURE__ */wt("ZodISOTime",(t,e)=>{fr.init(t,e),Wn.init(t,e)}),En=/* @__PURE__ */wt("ZodISODuration",(t,e)=>{wr.init(t,e),Wn.init(t,e)}),Sn=wt("ZodError",(t,e)=>{Kt.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:e=>function(t,e=t=>t.message){const r={_errors:[]},o=t=>{for(const n of t.issues)if("invalid_union"===n.code&&n.errors.length)n.errors.map(t=>o({issues:t}));else if("invalid_key"===n.code)o({issues:n.issues});else if("invalid_element"===n.code)o({issues:n.issues});else if(0===n.path.length)r._errors.push(e(n));else{let t=r,o=0;for(;o<n.path.length;){const r=n.path[o];o===n.path.length-1?(t[r]=t[r]||{_errors:[]},t[r]._errors.push(e(n))):t[r]=t[r]||{_errors:[]},t=t[r],o++}}};return o(t),r}(t,e)},flatten:{value:e=>function(t,e=t=>t.message){const r={},o=[];for(const n of t.issues)n.path.length>0?(r[n.path[0]]=r[n.path[0]]||[],r[n.path[0]].push(e(n))):o.push(e(n));return{formErrors:o,fieldErrors:r}}(t,e)},addIssue:{value:e=>{t.issues.push(e),t.message=JSON.stringify(t.issues,_t,2)}},addIssues:{value:e=>{t.issues.push(...e),t.message=JSON.stringify(t.issues,_t,2)}},isEmpty:{get:()=>0===t.issues.length}})},{Parent:Error}),On=/* @__PURE__ */Yt(Sn),In=/* @__PURE__ */Xt(Sn),$n=/* @__PURE__ */Qt(Sn),Cn=/* @__PURE__ */ee(Sn),Nn=/* @__PURE__ */oe(Sn),Tn=/* @__PURE__ */ne(Sn),Mn=/* @__PURE__ */ae(Sn),An=/* @__PURE__ */ie(Sn),jn=/* @__PURE__ */se(Sn),Pn=/* @__PURE__ */ce(Sn),Fn=/* @__PURE__ */le(Sn),Dn=/* @__PURE__ */de(Sn),Zn=/* @__PURE__ */wt("ZodType",(t,e)=>(tr.init(t,e),Object.assign(t["~standard"],{jsonSchema:{input:vn(t,"input"),output:vn(t,"output")}}),t.toJSONSchema=((t,e={})=>r=>{const o=gn({...r,processors:e});return mn(t,o),fn(o,t),wn(o,t)})(t,{}),t.def=e,t.type=e.type,Object.defineProperty(t,"_def",{value:e}),t.check=(...r)=>t.clone(Ct(e,{checks:[...e.checks??[],...r.map(t=>"function"==typeof t?{_zod:{check:t,def:{check:"custom"},onattach:[]}}:t)]}),{parent:!0}),t.with=t.check,t.clone=(e,r)=>Zt(t,e,r),t.brand=()=>t,t.register=(e,r)=>(e.add(t,r),t),t.parse=(e,r)=>On(t,e,r,{callee:t.parse}),t.safeParse=(e,r)=>$n(t,e,r),t.parseAsync=async(e,r)=>In(t,e,r,{callee:t.parseAsync}),t.safeParseAsync=async(e,r)=>Cn(t,e,r),t.spa=t.safeParseAsync,t.encode=(e,r)=>Nn(t,e,r),t.decode=(e,r)=>Tn(t,e,r),t.encodeAsync=async(e,r)=>Mn(t,e,r),t.decodeAsync=async(e,r)=>An(t,e,r),t.safeEncode=(e,r)=>jn(t,e,r),t.safeDecode=(e,r)=>Pn(t,e,r),t.safeEncodeAsync=async(e,r)=>Fn(t,e,r),t.safeDecodeAsync=async(e,r)=>Dn(t,e,r),t.refine=(e,r)=>t.check(function(t,e={}){/* @__PURE__ */
|
|
23
|
+
return un(Pa,t,e)}(e,r)),t.superRefine=e=>t.check(/* @__PURE__ */pn(e)),t.overwrite=e=>t.check(/* @__PURE__ */on(e)),t.optional=()=>Ea(t),t.exactOptional=()=>new Sa({type:"optional",innerType:t}),t.nullable=()=>Ia(t),t.nullish=()=>Ea(Ia(t)),t.nonoptional=e=>function(t,e){return new Na({type:"nonoptional",innerType:t,...Ut(e)})}(t,e),t.array=()=>/* @__PURE__ */dn(wa,t,void 0),t.or=e=>new va({type:"union",options:[t,e],...Ut(void 0)}),t.and=e=>new ya({type:"intersection",left:t,right:e}),t.transform=e=>Aa(t,new _a({type:"transform",transform:e})),t.default=e=>{return r=e,new $a({type:"default",innerType:t,get defaultValue(){return"function"==typeof r?r():Pt(r)}});var r},t.prefault=e=>{return r=e,new Ca({type:"prefault",innerType:t,get defaultValue(){return"function"==typeof r?r():Pt(r)}});var r},t.catch=e=>{return new Ta({type:"catch",innerType:t,catchValue:"function"==typeof(r=e)?r:()=>r});var r},t.pipe=e=>Aa(t,e),t.readonly=()=>new ja({type:"readonly",innerType:t}),t.describe=e=>{const r=t.clone();return lo.add(r,{description:e}),r},Object.defineProperty(t,"description",{get:()=>lo.get(t)?.description,configurable:!0}),t.meta=(...e)=>{if(0===e.length)return lo.get(t);const r=t.clone();return lo.add(r,e[0]),r},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t.apply=e=>e(t),t)),Un=/* @__PURE__ */wt("_ZodString",(t,e)=>{er.init(t,e),Zn.init(t,e),t._zod.processJSONSchema=(e,r,o)=>((t,e,r)=>{const o=r;o.type="string";const{minimum:n,maximum:a,format:i,patterns:s,contentEncoding:c}=t._zod.bag;if("number"==typeof n&&(o.minLength=n),"number"==typeof a&&(o.maxLength=a),i&&(o.format=yn[i]??i,""===o.format&&delete o.format,"time"===i&&delete o.format),c&&(o.contentEncoding=c),s&&s.size>0){const t=[...s];1===t.length?o.pattern=t[0].source:t.length>1&&(o.allOf=[...t.map(t=>({..."draft-07"===e.target||"draft-04"===e.target||"openapi-3.0"===e.target?{type:"string"}:{},pattern:t.source}))])}})(t,e,r);const r=t._zod.bag;t.format=r.format??null,t.minLength=r.minimum??null,t.maxLength=r.maximum??null,t.regex=(...e)=>t.check(/* @__PURE__ */Yo(...e)),t.includes=(...e)=>t.check(/* @__PURE__ */tn(...e)),t.startsWith=(...e)=>t.check(/* @__PURE__ */en(...e)),t.endsWith=(...e)=>t.check(/* @__PURE__ */rn(...e)),t.min=(...e)=>t.check(/* @__PURE__ */Ko(...e)),t.max=(...e)=>t.check(/* @__PURE__ */Go(...e)),t.length=(...e)=>t.check(/* @__PURE__ */Ho(...e)),t.nonempty=(...e)=>t.check(/* @__PURE__ */Ko(1,...e)),t.lowercase=e=>t.check(/* @__PURE__ */Xo(e)),t.uppercase=e=>t.check(/* @__PURE__ */Qo(e)),t.trim=()=>t.check(/* @__PURE__ */an()),t.normalize=(...e)=>t.check(/* @__PURE__ */nn(...e)),t.toLowerCase=()=>t.check(/* @__PURE__ */sn()),t.toUpperCase=()=>t.check(/* @__PURE__ */cn()),t.slugify=()=>t.check(/* @__PURE__ */ln())}),Ln=/* @__PURE__ */wt("ZodString",(t,e)=>{er.init(t,e),Un.init(t,e),t.email=e=>t.check(/* @__PURE__ */po(Bn,e)),t.url=e=>t.check(/* @__PURE__ */bo(qn,e)),t.jwt=e=>t.check(/* @__PURE__ */Mo(ca,e)),t.emoji=e=>t.check(/* @__PURE__ */vo(Gn,e)),t.guid=e=>t.check(/* @__PURE__ */ho(Jn,e)),t.uuid=e=>t.check(/* @__PURE__ */go(Vn,e)),t.uuidv4=e=>t.check(/* @__PURE__ */mo(Vn,e)),t.uuidv6=e=>t.check(/* @__PURE__ */fo(Vn,e)),t.uuidv7=e=>t.check(/* @__PURE__ */wo(Vn,e)),t.nanoid=e=>t.check(/* @__PURE__ */yo(Kn,e)),t.guid=e=>t.check(/* @__PURE__ */ho(Jn,e)),t.cuid=e=>t.check(/* @__PURE__ */xo(Hn,e)),t.cuid2=e=>t.check(/* @__PURE__ */ko(Yn,e)),t.ulid=e=>t.check(/* @__PURE__ */_o(Xn,e)),t.base64=e=>t.check(/* @__PURE__ */Co(aa,e)),t.base64url=e=>t.check(/* @__PURE__ */No(ia,e)),t.xid=e=>t.check(/* @__PURE__ */zo(Qn,e)),t.ksuid=e=>t.check(/* @__PURE__ */Eo(ta,e)),t.ipv4=e=>t.check(/* @__PURE__ */So(ea,e)),t.ipv6=e=>t.check(/* @__PURE__ */Oo(ra,e)),t.cidrv4=e=>t.check(/* @__PURE__ */Io(oa,e)),t.cidrv6=e=>t.check(/* @__PURE__ */$o(na,e)),t.e164=e=>t.check(/* @__PURE__ */To(sa,e)),t.datetime=e=>t.check(function(t){/* @__PURE__ */
|
|
24
|
+
return Ao(kn,t)}(e)),t.date=e=>t.check(function(t){/* @__PURE__ */
|
|
25
|
+
return jo(_n,t)}(e)),t.time=e=>t.check(function(t){/* @__PURE__ */
|
|
26
|
+
return Po(zn,t)}(e)),t.duration=e=>t.check(function(t){/* @__PURE__ */
|
|
27
|
+
return Fo(En,t)}(e))});function Rn(t){/* @__PURE__ */
|
|
28
|
+
return uo(Ln,t)}const Wn=/* @__PURE__ */wt("ZodStringFormat",(t,e)=>{rr.init(t,e),Un.init(t,e)}),Bn=/* @__PURE__ */wt("ZodEmail",(t,e)=>{ar.init(t,e),Wn.init(t,e)}),Jn=/* @__PURE__ */wt("ZodGUID",(t,e)=>{or.init(t,e),Wn.init(t,e)}),Vn=/* @__PURE__ */wt("ZodUUID",(t,e)=>{nr.init(t,e),Wn.init(t,e)}),qn=/* @__PURE__ */wt("ZodURL",(t,e)=>{ir.init(t,e),Wn.init(t,e)}),Gn=/* @__PURE__ */wt("ZodEmoji",(t,e)=>{sr.init(t,e),Wn.init(t,e)}),Kn=/* @__PURE__ */wt("ZodNanoID",(t,e)=>{cr.init(t,e),Wn.init(t,e)}),Hn=/* @__PURE__ */wt("ZodCUID",(t,e)=>{lr.init(t,e),Wn.init(t,e)}),Yn=/* @__PURE__ */wt("ZodCUID2",(t,e)=>{dr.init(t,e),Wn.init(t,e)}),Xn=/* @__PURE__ */wt("ZodULID",(t,e)=>{ur.init(t,e),Wn.init(t,e)}),Qn=/* @__PURE__ */wt("ZodXID",(t,e)=>{pr.init(t,e),Wn.init(t,e)}),ta=/* @__PURE__ */wt("ZodKSUID",(t,e)=>{hr.init(t,e),Wn.init(t,e)}),ea=/* @__PURE__ */wt("ZodIPv4",(t,e)=>{br.init(t,e),Wn.init(t,e)}),ra=/* @__PURE__ */wt("ZodIPv6",(t,e)=>{vr.init(t,e),Wn.init(t,e)}),oa=/* @__PURE__ */wt("ZodCIDRv4",(t,e)=>{yr.init(t,e),Wn.init(t,e)}),na=/* @__PURE__ */wt("ZodCIDRv6",(t,e)=>{xr.init(t,e),Wn.init(t,e)}),aa=/* @__PURE__ */wt("ZodBase64",(t,e)=>{_r.init(t,e),Wn.init(t,e)}),ia=/* @__PURE__ */wt("ZodBase64URL",(t,e)=>{zr.init(t,e),Wn.init(t,e)}),sa=/* @__PURE__ */wt("ZodE164",(t,e)=>{Er.init(t,e),Wn.init(t,e)}),ca=/* @__PURE__ */wt("ZodJWT",(t,e)=>{Sr.init(t,e),Wn.init(t,e)}),la=/* @__PURE__ */wt("ZodNumber",(t,e)=>{Or.init(t,e),Zn.init(t,e),t._zod.processJSONSchema=(e,r,o)=>((t,e,r)=>{const o=r,{minimum:n,maximum:a,format:i,multipleOf:s,exclusiveMaximum:c,exclusiveMinimum:l}=t._zod.bag;"string"==typeof i&&i.includes("int")?o.type="integer":o.type="number","number"==typeof l&&("draft-04"===e.target||"openapi-3.0"===e.target?(o.minimum=l,o.exclusiveMinimum=!0):o.exclusiveMinimum=l),"number"==typeof n&&(o.minimum=n,"number"==typeof l&&"draft-04"!==e.target&&(l>=n?delete o.minimum:delete o.exclusiveMinimum)),"number"==typeof c&&("draft-04"===e.target||"openapi-3.0"===e.target?(o.maximum=c,o.exclusiveMaximum=!0):o.exclusiveMaximum=c),"number"==typeof a&&(o.maximum=a,"number"==typeof c&&"draft-04"!==e.target&&(c<=a?delete o.maximum:delete o.exclusiveMaximum)),"number"==typeof s&&(o.multipleOf=s)})(t,e,r),t.gt=(e,r)=>t.check(/* @__PURE__ */Jo(e,r)),t.gte=(e,r)=>t.check(/* @__PURE__ */Vo(e,r)),t.min=(e,r)=>t.check(/* @__PURE__ */Vo(e,r)),t.lt=(e,r)=>t.check(/* @__PURE__ */Wo(e,r)),t.lte=(e,r)=>t.check(/* @__PURE__ */Bo(e,r)),t.max=(e,r)=>t.check(/* @__PURE__ */Bo(e,r)),t.int=e=>t.check(pa(e)),t.safe=e=>t.check(pa(e)),t.positive=e=>t.check(/* @__PURE__ */Jo(0,e)),t.nonnegative=e=>t.check(/* @__PURE__ */Vo(0,e)),t.negative=e=>t.check(/* @__PURE__ */Wo(0,e)),t.nonpositive=e=>t.check(/* @__PURE__ */Bo(0,e)),t.multipleOf=(e,r)=>t.check(/* @__PURE__ */qo(e,r)),t.step=(e,r)=>t.check(/* @__PURE__ */qo(e,r)),t.finite=()=>t;const r=t._zod.bag;t.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,t.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,t.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),t.isFinite=!0,t.format=r.format??null});function da(t){/* @__PURE__ */
|
|
29
|
+
return Do(la,t)}const ua=/* @__PURE__ */wt("ZodNumberFormat",(t,e)=>{Ir.init(t,e),la.init(t,e)});function pa(t){/* @__PURE__ */
|
|
30
|
+
return Zo(ua,t)}const ha=/* @__PURE__ */wt("ZodAny",(t,e)=>{$r.init(t,e),Zn.init(t,e),t._zod.processJSONSchema=(t,e,r)=>{}}),ga=/* @__PURE__ */wt("ZodUnknown",(t,e)=>{Cr.init(t,e),Zn.init(t,e),t._zod.processJSONSchema=(t,e,r)=>{}});function ma(){/* @__PURE__ */
|
|
31
|
+
return Lo(ga)}const fa=/* @__PURE__ */wt("ZodNever",(t,e)=>{Nr.init(t,e),Zn.init(t,e),t._zod.processJSONSchema=(t,e,r)=>((t,e,r)=>{r.not={}})(0,0,e)}),wa=/* @__PURE__ */wt("ZodArray",(t,e)=>{Mr.init(t,e),Zn.init(t,e),t._zod.processJSONSchema=(e,r,o)=>((t,e,r,o)=>{const n=r,a=t._zod.def,{minimum:i,maximum:s}=t._zod.bag;"number"==typeof i&&(n.minItems=i),"number"==typeof s&&(n.maxItems=s),n.type="array",n.items=mn(a.element,e,{...o,path:[...o.path,"items"]})})(t,e,r,o),t.element=e.element,t.min=(e,r)=>t.check(/* @__PURE__ */Ko(e,r)),t.nonempty=e=>t.check(/* @__PURE__ */Ko(1,e)),t.max=(e,r)=>t.check(/* @__PURE__ */Go(e,r)),t.length=(e,r)=>t.check(/* @__PURE__ */Ho(e,r)),t.unwrap=()=>t.element}),ba=/* @__PURE__ */wt("ZodObject",(t,e)=>{Dr.init(t,e),Zn.init(t,e),t._zod.processJSONSchema=(e,r,o)=>((t,e,r,o)=>{const n=r,a=t._zod.def;n.type="object",n.properties={};const i=a.shape;for(const l in i)n.properties[l]=mn(i[l],e,{...o,path:[...o.path,"properties",l]});const s=new Set(Object.keys(i)),c=new Set([...s].filter(t=>{const r=a.shape[t]._zod;return"input"===e.io?void 0===r.optin:void 0===r.optout}));c.size>0&&(n.required=Array.from(c)),"never"===a.catchall?._zod.def.type?n.additionalProperties=!1:a.catchall?a.catchall&&(n.additionalProperties=mn(a.catchall,e,{...o,path:[...o.path,"additionalProperties"]})):"output"===e.io&&(n.additionalProperties=!1)})(t,e,r,o),It(t,"shape",()=>e.shape),t.keyof=()=>ka(Object.keys(t._zod.def.shape)),t.catchall=e=>t.clone({...t._zod.def,catchall:e}),t.passthrough=()=>t.clone({...t._zod.def,catchall:ma()}),t.loose=()=>t.clone({...t._zod.def,catchall:ma()}),t.strict=()=>t.clone({...t._zod.def,catchall:/* @__PURE__ */Ro(fa,void 0)}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=e=>function(t,e){if(!jt(e))throw new Error("Invalid input to extend: expected a plain object");const r=t._zod.def.checks;if(r&&r.length>0){const r=t._zod.def.shape;for(const t in e)if(void 0!==Object.getOwnPropertyDescriptor(r,t))throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const o=Ct(t._zod.def,{get shape(){const r={...t._zod.def.shape,...e};return $t(this,"shape",r),r}});return Zt(t,o)}(t,e),t.safeExtend=e=>function(t,e){if(!jt(e))throw new Error("Invalid input to safeExtend: expected a plain object");const r=Ct(t._zod.def,{get shape(){const r={...t._zod.def.shape,...e};return $t(this,"shape",r),r}});return Zt(t,r)}(t,e),t.merge=e=>function(t,e){const r=Ct(t._zod.def,{get shape(){const r={...t._zod.def.shape,...e._zod.def.shape};return $t(this,"shape",r),r},get catchall(){return e._zod.def.catchall},checks:[]});return Zt(t,r)}(t,e),t.pick=e=>function(t,e){const r=t._zod.def,o=r.checks;if(o&&o.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");return Zt(t,Ct(t._zod.def,{get shape(){const t={};for(const o in e){if(!(o in r.shape))throw new Error(`Unrecognized key: "${o}"`);e[o]&&(t[o]=r.shape[o])}return $t(this,"shape",t),t},checks:[]}))}(t,e),t.omit=e=>function(t,e){const r=t._zod.def,o=r.checks;if(o&&o.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const n=Ct(t._zod.def,{get shape(){const o={...t._zod.def.shape};for(const t in e){if(!(t in r.shape))throw new Error(`Unrecognized key: "${t}"`);e[t]&&delete o[t]}return $t(this,"shape",o),o},checks:[]});return Zt(t,n)}(t,e),t.partial=(...e)=>function(t,e,r){const o=e._zod.def.checks;if(o&&o.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const n=Ct(e._zod.def,{get shape(){const o=e._zod.def.shape,n={...o};if(r)for(const e in r){if(!(e in o))throw new Error(`Unrecognized key: "${e}"`);r[e]&&(n[e]=t?new t({type:"optional",innerType:o[e]}):o[e])}else for(const e in o)n[e]=t?new t({type:"optional",innerType:o[e]}):o[e];return $t(this,"shape",n),n},checks:[]});return Zt(e,n)}(za,t,e[0]),t.required=(...e)=>function(t,e,r){const o=Ct(e._zod.def,{get shape(){const o=e._zod.def.shape,n={...o};if(r)for(const e in r){if(!(e in n))throw new Error(`Unrecognized key: "${e}"`);r[e]&&(n[e]=new t({type:"nonoptional",innerType:o[e]}))}else for(const e in o)n[e]=new t({type:"nonoptional",innerType:o[e]});return $t(this,"shape",n),n}});return Zt(e,o)}(Na,t,e[0])}),va=/* @__PURE__ */wt("ZodUnion",(t,e)=>{Ur.init(t,e),Zn.init(t,e),t._zod.processJSONSchema=(e,r,o)=>((t,e,r,o)=>{const n=t._zod.def,a=!1===n.inclusive,i=n.options.map((t,r)=>mn(t,e,{...o,path:[...o.path,a?"oneOf":"anyOf",r]}));a?r.oneOf=i:r.anyOf=i})(t,e,r,o),t.options=e.options}),ya=/* @__PURE__ */wt("ZodIntersection",(t,e)=>{Lr.init(t,e),Zn.init(t,e),t._zod.processJSONSchema=(e,r,o)=>((t,e,r,o)=>{const n=t._zod.def,a=mn(n.left,e,{...o,path:[...o.path,"allOf",0]}),i=mn(n.right,e,{...o,path:[...o.path,"allOf",1]}),s=t=>"allOf"in t&&1===Object.keys(t).length,c=[...s(a)?a.allOf:[a],...s(i)?i.allOf:[i]];r.allOf=c})(t,e,r,o)}),xa=/* @__PURE__ */wt("ZodEnum",(t,e)=>{Br.init(t,e),Zn.init(t,e),t._zod.processJSONSchema=(e,r,o)=>((t,e,r)=>{const o=kt(t._zod.def.entries);o.every(t=>"number"==typeof t)&&(r.type="number"),o.every(t=>"string"==typeof t)&&(r.type="string"),r.enum=o})(t,0,r),t.enum=e.entries,t.options=Object.values(e.entries);const r=new Set(Object.keys(e.entries));t.extract=(t,o)=>{const n={};for(const a of t){if(!r.has(a))throw new Error(`Key ${a} not found in enum`);n[a]=e.entries[a]}return new xa({...e,checks:[],...Ut(o),entries:n})},t.exclude=(t,o)=>{const n={...e.entries};for(const e of t){if(!r.has(e))throw new Error(`Key ${e} not found in enum`);delete n[e]}return new xa({...e,checks:[],...Ut(o),entries:n})}});function ka(t,e){const r=Array.isArray(t)?Object.fromEntries(t.map(t=>[t,t])):t;return new xa({type:"enum",entries:r,...Ut(e)})}const _a=/* @__PURE__ */wt("ZodTransform",(t,e)=>{Jr.init(t,e),Zn.init(t,e),t._zod.processJSONSchema=(t,e,r)=>((t,e)=>{if("throw"===e.unrepresentable)throw new Error("Transforms cannot be represented in JSON Schema")})(0,t),t._zod.parse=(r,o)=>{if("backward"===o.direction)throw new vt(t.constructor.name);r.addIssue=o=>{if("string"==typeof o)r.issues.push(qt(o,r.value,e));else{const e=o;e.fatal&&(e.continue=!1),e.code??(e.code="custom"),e.input??(e.input=r.value),e.inst??(e.inst=t),r.issues.push(qt(e))}};const n=e.transform(r.value,r);return n instanceof Promise?n.then(t=>(r.value=t,r)):(r.value=n,r)}}),za=/* @__PURE__ */wt("ZodOptional",(t,e)=>{qr.init(t,e),Zn.init(t,e),t._zod.processJSONSchema=(e,r,o)=>xn(t,e,0,o),t.unwrap=()=>t._zod.def.innerType});function Ea(t){return new za({type:"optional",innerType:t})}const Sa=/* @__PURE__ */wt("ZodExactOptional",(t,e)=>{Gr.init(t,e),Zn.init(t,e),t._zod.processJSONSchema=(e,r,o)=>xn(t,e,0,o),t.unwrap=()=>t._zod.def.innerType}),Oa=/* @__PURE__ */wt("ZodNullable",(t,e)=>{Kr.init(t,e),Zn.init(t,e),t._zod.processJSONSchema=(e,r,o)=>((t,e,r,o)=>{const n=t._zod.def,a=mn(n.innerType,e,o),i=e.seen.get(t);"openapi-3.0"===e.target?(i.ref=n.innerType,r.nullable=!0):r.anyOf=[a,{type:"null"}]})(t,e,r,o),t.unwrap=()=>t._zod.def.innerType});function Ia(t){return new Oa({type:"nullable",innerType:t})}const $a=/* @__PURE__ */wt("ZodDefault",(t,e)=>{Hr.init(t,e),Zn.init(t,e),t._zod.processJSONSchema=(e,r,o)=>((t,e,r,o)=>{const n=t._zod.def;mn(n.innerType,e,o),e.seen.get(t).ref=n.innerType,r.default=JSON.parse(JSON.stringify(n.defaultValue))})(t,e,r,o),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap}),Ca=/* @__PURE__ */wt("ZodPrefault",(t,e)=>{Xr.init(t,e),Zn.init(t,e),t._zod.processJSONSchema=(e,r,o)=>((t,e,r,o)=>{const n=t._zod.def;mn(n.innerType,e,o),e.seen.get(t).ref=n.innerType,"input"===e.io&&(r._prefault=JSON.parse(JSON.stringify(n.defaultValue)))})(t,e,r,o),t.unwrap=()=>t._zod.def.innerType}),Na=/* @__PURE__ */wt("ZodNonOptional",(t,e)=>{Qr.init(t,e),Zn.init(t,e),t._zod.processJSONSchema=(e,r,o)=>((t,e,r,o)=>{const n=t._zod.def;mn(n.innerType,e,o),e.seen.get(t).ref=n.innerType})(t,e,0,o),t.unwrap=()=>t._zod.def.innerType}),Ta=/* @__PURE__ */wt("ZodCatch",(t,e)=>{eo.init(t,e),Zn.init(t,e),t._zod.processJSONSchema=(e,r,o)=>((t,e,r,o)=>{const n=t._zod.def;let a;mn(n.innerType,e,o),e.seen.get(t).ref=n.innerType;try{a=n.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=a})(t,e,r,o),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap}),Ma=/* @__PURE__ */wt("ZodPipe",(t,e)=>{ro.init(t,e),Zn.init(t,e),t._zod.processJSONSchema=(e,r,o)=>((t,e,r,o)=>{const n=t._zod.def,a="input"===e.io?"transform"===n.in._zod.def.type?n.out:n.in:n.out;mn(a,e,o),e.seen.get(t).ref=a})(t,e,0,o),t.in=e.in,t.out=e.out});function Aa(t,e){return new Ma({type:"pipe",in:t,out:e})}const ja=/* @__PURE__ */wt("ZodReadonly",(t,e)=>{no.init(t,e),Zn.init(t,e),t._zod.processJSONSchema=(e,r,o)=>((t,e,r,o)=>{const n=t._zod.def;mn(n.innerType,e,o),e.seen.get(t).ref=n.innerType,r.readOnly=!0})(t,e,r,o),t.unwrap=()=>t._zod.def.innerType}),Pa=/* @__PURE__ */wt("ZodCustom",(t,e)=>{io.init(t,e),Zn.init(t,e),t._zod.processJSONSchema=(t,e,r)=>((t,e)=>{if("throw"===e.unrepresentable)throw new Error("Custom types cannot be represented in JSON Schema")})(0,t)}),Fa="chat_device_id";function Da(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{const e=16*Math.random()|0;return("x"===t?e:3&e|8).toString(16)})}const Za=function(){const t={type:"object",shape:{id:Rn().optional(),type:ka(["text","image","audio","location","system"]).default("text"),content:Rn().optional(),imageUrl:Rn().url().optional(),audioUrl:Rn().url().optional(),latitude:da().optional(),longitude:da().optional(),timestamp:Rn().optional(),sender:ka(["bot","user","system"]).optional(),emotion:/* @__PURE__ */Uo(ha).optional()}??{},...Ut(void 0)};return new ba(t)}();class Ua{queue=[];endpoint;apiKey;flushInterval=null;isFlushing=!1;isDisabled=!1;MAX_QUEUE_SIZE=100;FLUSH_INTERVAL_MS=3e4;BATCH_SIZE=10;constructor(t,e){this.endpoint=t,this.apiKey=e,this.startAutoFlush()}startAutoFlush(){this.flushInterval=setInterval(()=>{!this.isDisabled&&this.queue.length>0&&this.flush()},this.FLUSH_INTERVAL_MS)}trackOpen(){this.track("chat_opened")}trackClose(){this.track("chat_closed")}trackMessageSent(t){this.track("message_sent",{type:t})}trackMessageReceived(t,e){this.track("message_received",{type:t,latency:e})}trackError(t,e){this.track("error",{error:t,context:e})}trackConnectionStatus(t){this.track("connection_status",{isConnected:t})}trackFeatureUsed(t){this.track("feature_used",{feature:t})}trackTypingStarted(){this.track("typing_started")}trackAttachmentSent(t,e){this.track("attachment_sent",{type:t,size:e})}track(t,e){this.isDisabled||(this.queue.push({event:t,properties:{...e,userAgent:"undefined"!=typeof navigator?navigator.userAgent:void 0,url:"undefined"!=typeof window?window.location.href:void 0},timestamp:Date.now()}),this.queue.length>=this.BATCH_SIZE&&this.flush(),this.queue.length>this.MAX_QUEUE_SIZE&&(this.queue=this.queue.slice(-this.MAX_QUEUE_SIZE),x.warn("Analytics queue overflow, dropping old events")))}async flush(){if(this.isDisabled||0===this.queue.length||this.isFlushing)return;this.isFlushing=!0;const t=[...this.queue];this.queue=[];try{const e=await fetch(this.endpoint,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify({events:t}),keepalive:!0});e.ok?x.debug(`Analytics: Flushed ${t.length} events`):(this.isDisabled=!0,this.queue=[],x.debug(`Analytics disabled: endpoint returned ${e.status}`))}catch(e){this.isDisabled=!0,this.queue=[],x.debug("Analytics disabled due to network error")}finally{this.isFlushing=!1}}destroy(){this.flushInterval&&clearInterval(this.flushInterval),this.flush()}}let La=null,Ra=null;function Wa(t){La=t}function Ba(t){Ra=t}const Ja=l(null);function Va({children:t,defaultLocale:e,initialState:r,onStateChange:n,...a}){const[i,c]=o(r?.isOpen??!1),[l,d]=o(0),u=s(()=>{c(!0),d(0),n?.(!0)},[n]),p=s(()=>{c(!1),n?.(!1)},[n]),h=s(()=>{c(t=>{const e=!t;return e&&d(0),n?.(e),e})},[n]),g=s(t=>{La?(La(t),x.debug("ChatWidgetProvider sendMessage:",t)):x.warn("sendMessage called but no handler registered")},[]),m=s(()=>{Ra?(Ra(),x.debug("ChatWidgetProvider clearMessages called")):x.warn("clearMessages called but no handler registered")},[]),f={isOpen:i,open:u,close:p,toggle:h,sendMessage:g,clearMessages:m,unreadCount:l},w=s((t,e)=>{"message:received"!==t||i||d(t=>t+1),a.onEvent?.(t,e)},[i,a]);/* @__PURE__ */
|
|
32
|
+
return N(E,{defaultLocale:e,children:/* @__PURE__ */T(Ja.Provider,{value:f,children:[t,
|
|
33
|
+
/* @__PURE__ */N(Ya,{...a,onStateChange:t=>{c(t),t&&d(0),n?.(t)},onEvent:w})]})})}function qa(){const t=d(Ja);if(!t)throw new Error("useChatWidget must be used within a ChatWidgetProvider. Wrap your app with <ChatWidgetProvider>...</ChatWidgetProvider>");return t}const Ga=t=>new Promise((e,r)=>{const o=new FileReader;o.readAsDataURL(t),o.onload=()=>e(o.result),o.onerror=t=>r(t)});function Ka(t){const{apiKey:a,apiBaseUrl:l,agentId:d,pageContext:u,includeSEOMetadata:p=!1,theme:g,userContext:m,onLogin:f,onNavigate:b,onEvent:v,onStateChange:y,onThemeUpdate:k}=t,[E,S]=o(0),O=r(0),{t:I}=h(),$=function(t,e,o=!0){const a=r(null);return n(()=>{if(!o||!t||!e)return;const r=`${t}/analytics`;a.current=new Ua(r,e);const n=()=>a.current?.flush(),i=()=>{"hidden"===document.visibilityState&&a.current?.flush()};return window.addEventListener("beforeunload",n),window.addEventListener("visibilitychange",i),()=>{window.removeEventListener("beforeunload",n),window.removeEventListener("visibilitychange",i),a.current?.destroy()}},[t,e,o]),{trackOpen:s(()=>{a.current?.trackOpen()},[]),trackClose:s(()=>{a.current?.trackClose()},[]),trackMessageSent:s(t=>{a.current?.trackMessageSent(t)},[]),trackMessageReceived:s((t,e)=>{a.current?.trackMessageReceived(t,e)},[]),trackError:s((t,e)=>{a.current?.trackError(t,e)},[]),trackConnectionStatus:s(t=>{a.current?.trackConnectionStatus(t)},[]),trackFeatureUsed:s(t=>{a.current?.trackFeatureUsed(t)},[])}}(l,a,!0),C=function({enabled:t=!0,soundEnabled:e=!0,desktopEnabled:a=!0,botName:i="BotUyo",logoUrl:c,notificationSoundUrl:l}={}){const[d,u]=o("default"),p=r(null),h=c||w,g=l||z;n(()=>{e&&"undefined"!=typeof window&&(p.current=new Audio(g),p.current.volume=.3)},[e,g]),n(()=>{"undefined"!=typeof window&&"Notification"in window&&u(Notification.permission)},[]);const m=s(async()=>{if("undefined"==typeof window||!("Notification"in window))return x.warn("Notifications API not available"),!1;try{const t=await Notification.requestPermission();return u(t),x.info("Notification permission:",t),"granted"===t}catch(t){return x.error("Error requesting notification permission:",t),!1}},[]),f=s(e=>{if(t&&a&&"granted"===d&&("undefined"==typeof document||!document.hasFocus()))try{const t=`Nuevo mensaje de ${i}`;let r="Mensaje recibido";"text"===e.type&&"content"in e?r=e.content?.slice(0,100)||"Mensaje recibido":"image"===e.type?r="📷 Imagen":"audio"===e.type?r="🎵 Audio":"location"===e.type&&(r="📍 Ubicación");const o=new Notification(t,{body:r,icon:h,tag:"chat-message",requireInteraction:!1,silent:!1});o.onclick=()=>{window.focus(),o.close()},setTimeout(()=>o.close(),5e3)}catch(r){x.error("Error showing notification:",r)}},[t,a,d,i,h]),b=s(()=>{if(t&&e&&("undefined"==typeof document||!document.hasFocus()))try{p.current?.play().catch(t=>{x.debug("Audio playback blocked:",t)})}catch(r){x.error("Error playing sound:",r)}},[t,e]),v=s(t=>{f(t),b()},[f,b]);return{permission:d,requestPermission:m,notify:f,playSound:b,notifyWithSound:v}}({enabled:!0,soundEnabled:!0,desktopEnabled:!0,botName:g?.botName||"BotUyo",logoUrl:g?.logoUrl}),N=function(t=10,e=6e4){const o=r([]);return{isAllowed:s(()=>{const r=Date.now();return o.current=o.current.filter(t=>r-t<e),!(o.current.length>=t||(o.current.push(r),0))},[t,e]),getRemainingAttempts:s(()=>{const r=Date.now();return o.current=o.current.filter(t=>r-t<e),Math.max(0,t-o.current.length)},[t,e]),getTimeUntilReset:s(()=>{if(0===o.current.length)return 0;const t=Date.now(),r=o.current[0],n=e-(t-r);return Math.max(0,n)},[e]),reset:s(()=>{o.current=[]},[])}}(10,6e4),{state:T,actions:A}=function(t="default"){const[r,a]=c(ft,mt),[i,l]=o(!1),d=e.useMemo(()=>function(t="default"){return`botuyo_chat_v1_${t}`}(t),[t]),u=e.useMemo(()=>((t="default")=>(gt.has(t)||gt.set(t,new ht(t)),gt.get(t)))(t),[t]);n(()=>{"undefined"==typeof window||i||(async()=>{try{await u.migrateFromLocalStorage(t);const e=await u.getMessages(100),r=await u.getMetadata();if(e.length>0||r){const t={messages:e.map(t=>({...t,timestamp:new Date(t.timestamp)})),sessionId:r?.sessionId||null,isOpen:r?.isOpen||!1};a({type:"RESTORE_SESSION",payload:t})}}catch(e){x.warn("Chat: Error rehydrating from IndexedDB",e);try{const t=localStorage.getItem(d);if(t){const e=JSON.parse(t);e.messages&&(e.messages=e.messages.map(t=>({...t,timestamp:new Date(t.timestamp)}))),a({type:"RESTORE_SESSION",payload:e})}}catch(r){x.error("Chat: Fallback rehydration failed",r)}}finally{l(!0)}})()},[i]),n(()=>{if(!i)return;const t=setTimeout(async()=>{try{await u.saveMessages(r.messages),await u.setMetadata({isOpen:r.isOpen,sessionId:r.sessionId})}catch(t){x.error("Chat Persistence Error:",t);try{const t={isOpen:r.isOpen,messages:r.messages,sessionId:r.sessionId};localStorage.setItem(d,JSON.stringify(t))}catch(e){x.error("Chat: Fallback persistence failed",e)}}},500);return()=>clearTimeout(t)},[r.isOpen,r.messages,r.sessionId,i]);const p=s(t=>{a({type:"ADD_MESSAGE",payload:t})},[]),h=s(()=>a({type:"TOGGLE_WINDOW"}),[]),g=s(()=>a({type:"OPEN_WINDOW"}),[]),m=s(()=>a({type:"CLOSE_WINDOW"}),[]),f=s(t=>a({type:"SET_CONNECTED",payload:t}),[]),w=s(t=>a({type:"SET_TYPING",payload:t}),[]),b=s(t=>a({type:"SET_MESSAGES",payload:t}),[]),v=s(t=>a({type:"SET_ERROR",payload:t}),[]),y=s(t=>a({type:"SET_SESSION_ID",payload:t}),[]),k=s(()=>{localStorage.removeItem(d),a({type:"CLEAR_CHAT"})},[]),_=s(()=>{a({type:"SET_MESSAGES",payload:[]})},[]);return{state:r,isHydrated:i,actions:{toggleWindow:h,openWindow:g,closeWindow:m,setConnected:f,setTyping:w,addMessage:p,setMessages:b,setError:v,setSessionId:y,clearChat:k,clearMessages:_}}}(d),j=function(t=!1){const e="undefined"!=typeof window?window.location.pathname:"",r=i(()=>e,[e]),[a,s]=o({});return n(()=>{if(!t)return void s({});const e=setTimeout(()=>{const t=function(){if("undefined"==typeof window)return{};const t={};t.title=document.title,document.querySelectorAll("meta").forEach(e=>{const r=e.getAttribute("name"),o=e.getAttribute("property"),n=e.getAttribute("content");if(n){if(r)switch(r){case"description":t.description=n;break;case"keywords":t.keywords=n.split(",").map(t=>t.trim());break;case"author":t.author=n}if(o){if(o.startsWith("og:")){const e=o.replace("og:","og_");t[e]=n}if(o.startsWith("twitter:")){const e=o.replace("twitter:","twitter_");t[e]=n}}}});try{const e=document.querySelectorAll('script[type="application/ld+json"]');if(e.length>0){const r=[];e.forEach(t=>{try{const e=JSON.parse(t.textContent||"");r.push(e)}catch{}}),r.length>0&&(t.structuredData=r)}}catch{}return t}();s(t)},100);return()=>clearTimeout(e)},[r,t]),t&&Object.keys(a).length>0?a:void 0}(p),P=function(t){const{apiKey:e,apiBaseUrl:a,agentId:c,pageContext:l,userContext:d}=t,u=r(t);n(()=>{u.current=t},[t]);const p=r(null),[h,g]=o(!1),[m,f]=o(!1),w=r(function(){try{const t=localStorage.getItem(Fa);if(t)return t;const e=Da();return localStorage.setItem(Fa,e),e}catch{return x.warn("localStorage not available, using session-only device ID"),Da()}}()),b=r(l);n(()=>{b.current=l},[l]);const v=s(t=>{const e=Za.safeParse(t),r=e.success&&e.data.id?e.data.id:`msg-${Math.random().toString(36).slice(2,11)}`,o=e.success&&e.data.sender?e.data.sender:"bot",n=e.success&&e.data.timestamp?new Date(e.data.timestamp):/* @__PURE__ */new Date,a=e.success?e.data:{type:"text"};switch(a.type){case"image":return{id:r,type:"image",sender:o,timestamp:n,imageUrl:a.imageUrl||a.content||"",altText:"Imagen enviada"};case"audio":return{id:r,type:"audio",sender:o,timestamp:n,content:a.audioUrl||a.content||""};case"location":return{id:r,type:"location",sender:o,timestamp:n,latitude:Number(a.latitude||0),longitude:Number(a.longitude||0),name:a.content||"Ubicación compartida"};case"system":return{id:r,type:"system",sender:"system",timestamp:n,content:String(a.content||"")};default:return{id:r,type:"text",sender:o,timestamp:n,content:String(a.content||"Sin contenido"),emotion:a.emotion}}},[]),y=s(()=>{if(!e||!a)return;if(p.current?.connected)return;g(!0);const t=M(`${a}/webchat`,{auth:{apiKey:e,deviceId:w.current,agentId:c,token:d?.token,metadata:d?.metadata},transports:["websocket","polling"],reconnection:!0,reconnectionAttempts:5,reconnectionDelay:1e3,extraHeaders:{"bypass-tunnel-reminder":"true","X-Tunnel-Skip-Anti-Phishing-Page":"true"}});t.on("connect",()=>{g(!1),f(!0),u.current.onConnected(`temp-${Date.now()}`,void 0)}),t.on("disconnect",t=>{g(!1),f(!1),u.current.onDisconnected()}),t.on("connect_error",t=>{g(!1),u.current.onError(`Error de conexión: ${t.message}`)}),t.on("connection_ack",t=>{u.current.onConnected(t.sessionId,t.config)}),t.on("bot_message",t=>{try{u.current.onMessage(v(t))}catch(e){x.error("ChatSocket Error processing bot_message:",e)}}),t.on("chat_history",t=>{if(t.messages&&Array.isArray(t.messages))if(u.current.onHistoryLoaded){const e=t.messages.map(t=>{try{return v(t)}catch(e){return x.debug("Error processing history message:",e),null}}).filter(t=>null!==t);u.current.onHistoryLoaded(e)}else t.messages.forEach(t=>{try{u.current.onMessage(v(t))}catch(e){x.debug("Error processing history message:",e)}});u.current.onEvent&&u.current.onEvent("history_loaded",t)}),t.on("bot_typing",t=>u.current.onTyping(t)),t.on("auth_success",t=>{u.current.onLogin&&u.current.onLogin(t),t.theme&&u.current.onThemeUpdate&&u.current.onThemeUpdate(t.theme)}),p.current=t},[e,a]),k=s(()=>{p.current&&(p.current.disconnect(),p.current=null,f(!1))},[]),z=r(y);z.current=y,n(()=>(z.current(),()=>{p.current&&(p.current.disconnect(),p.current=null)}),[]);const E=r([]),S=r([]),O=s(()=>`msg_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,[]),I=s(()=>{if(p.current?.connected)for(;E.current.length>0;){const t=E.current.shift();p.current.emit("user_message",t)}},[]);n(()=>{m&&I()},[m,I]),n(()=>{if(!m)return;const t=setInterval(()=>{const t=Date.now();S.current=S.current.filter(e=>t<e.nextRetryAt||(e.attempts>=e.maxAttempts?(u.current.onEvent?.("message_failed",{id:e.id,payload:e.payload}),x.error("Message failed after max retries:",e.id),!1):!p.current?.connected||(p.current.emit("user_message",e.payload,t=>{t?.success&&u.current.onEvent?.("message_sent",{id:e.id})}),e.attempts++,e.nextRetryAt=t+1e3*Math.pow(2,e.attempts),e.attempts<e.maxAttempts)))},500);return()=>clearInterval(t)},[m]);const $=s((t,e="text")=>{const r=O(),o={...b.current,currentUrl:"undefined"!=typeof window?window.location.href:void 0,sentAt:/* @__PURE__ */(new Date).toISOString(),deviceId:w.current},n={id:r,content:t.trim(),type:e,metadata:o};return p.current?.connected?(p.current.emit("user_message",n,t=>{!1!==t?.success&&t?u.current.onEvent?.("message_sent",{id:r}):(S.current.push({id:r,payload:n,attempts:0,maxAttempts:3,nextRetryAt:Date.now()+1e3}),u.current.onEvent?.("message_retry_queued",{id:r}))}),r):(E.current.push(n),u.current.onEvent?.("queued_message",{id:r,payload:n}),r)},[O]),C=i(()=>_(t=>{p.current?.emit("typing",t)},250),[]);return{isConnected:m,isConnecting:h,sendMessage:$,sendTyping:C,getSocket:s(()=>p.current,[]),requestHistory:s(()=>{p.current?.emit("request_history")},[]),reconnect:y,disconnect:k}}({apiKey:a,apiBaseUrl:l,agentId:d,pageContext:i(()=>j?{...u||{},seo:{...j||{}}}:u,[u,j]),userContext:m,onMessage:s(t=>{const e=Date.now(),r=O.current>0?e-O.current:void 0;O.current=e,A.addMessage(t),$.trackMessageReceived(t.type,r),T.isOpen||"bot"!==t.sender||(S(t=>t+1),C.notifyWithSound(t))},[A,T.isOpen,$,C]),onConnected:s((t,e)=>{A.setConnected(!0),A.setSessionId(t),$.trackConnectionStatus(!0),e&&k&&k(e),e&&v&&v("backend_config",e)},[A,v,k,$]),onDisconnected:s(()=>{A.setConnected(!1),$.trackConnectionStatus(!1)},[A,$]),onTyping:s(t=>A.setTyping(t),[A]),onError:s(t=>{A.setError(t),$.trackError(t)},[A,$]),onLogin:f,onNavigate:b,onEvent:v,onThemeUpdate:k,onHistoryLoaded:s(t=>{const e=new Set(T.messages.map(t=>t.id)),r=t.filter(t=>!e.has(t.id));r.length>0&&(0===T.messages.length?A.setMessages(t):r.forEach(t=>A.addMessage(t)))},[T.messages,A])}),F=s(()=>{x.debug("ChatWidget handleToggle called, current isOpen:",T.isOpen),T.isOpen?(A.closeWindow(),$.trackClose(),y?.(!1),x.debug("ChatWidget Closing window")):(A.openWindow(),S(0),$.trackOpen(),y?.(!0),x.debug("ChatWidget Opening window"))},[T.isOpen,A,y,$]),D=s(t=>{if(!N.isAllowed()){const t=N.getTimeUntilReset(),e=Math.ceil(t/1e3);return void A.setError(I("rate_limit_exceeded")+` Espera ${e}s.`)}const e={id:`temp-${Date.now()}-${Math.random()}`,type:"text",sender:"user",timestamp:/* @__PURE__ */new Date,content:t};A.addMessage(e),$.trackMessageSent("text"),P.sendMessage(t,"text")},[A,P,N,$,I]),Z=s(async(t,e)=>{let r;r="audio"===e?{id:`temp-${Date.now()}-${Math.random()}`,type:"audio",sender:"user",timestamp:/* @__PURE__ */new Date,content:URL.createObjectURL(t)}:"image"===e?{id:`temp-${Date.now()}-${Math.random()}`,type:"image",sender:"user",timestamp:/* @__PURE__ */new Date,imageUrl:URL.createObjectURL(t)}:{id:`temp-${Date.now()}-${Math.random()}`,type:"text",sender:"user",timestamp:/* @__PURE__ */new Date,content:`📎 ${t.name}`},A.addMessage(r);const o=await Ga(t);P.sendMessage(o,e)},[A,P]),U=s(t=>{const e={id:`temp-${Date.now()}-${Math.random()}`,type:"location",sender:"user",timestamp:/* @__PURE__ */new Date,latitude:t.latitude,longitude:t.longitude,name:"Mi ubicación"};A.addMessage(e),P.sendMessage(JSON.stringify(t),"location")},[A,P]);n(()=>{const t=()=>{T.isOpen||A.openWindow()},e=()=>{T.isOpen&&A.closeWindow()},r=()=>{T.isOpen?A.closeWindow():A.openWindow()},o=t=>{t.detail?.message&&D(t.detail.message)};return window.addEventListener("botuyo-chat:open",t),window.addEventListener("botuyo-chat:close",e),window.addEventListener("botuyo-chat:toggle",r),window.addEventListener("botuyo-chat:send-message",o),()=>{window.removeEventListener("botuyo-chat:open",t),window.removeEventListener("botuyo-chat:close",e),window.removeEventListener("botuyo-chat:toggle",r),window.removeEventListener("botuyo-chat:send-message",o)}},[T.isOpen,A,D]),n(()=>(Wa(D),()=>Wa(null)),[D]);const L=s(()=>{A.clearMessages(),x.info("Chat history cleared")},[A]);n(()=>(Ba(L),()=>Ba(null)),[L]);const R=i(()=>{if(T.isTyping)return"thinking";const t=[...T.messages].reverse().find(t=>"bot"===t.sender&&"text"===t.type);return"text"===t?.type&&t.emotion?t.emotion:"default"},[T.isTyping,T.messages]);return{state:T,actions:A,unreadCount:E,currentBotEmotion:R,isConnected:P.isConnected,getSocket:P.getSocket,handleToggle:F,handleSendText:D,handleSendAttachment:Z,handleSendLocation:U}}function Ha(t){const{apiKey:e,apiBaseUrl:a="https://api.botuyo.com",agentId:c,pageContext:l,includeSEOMetadata:d=!1,theme:u,mediaConfig:p,userContext:h,onLogin:g,onNavigate:m,onEvent:f,onStateChange:w}=t,v=r(null),y=O(),x=function(t){const[e,r]=o(!1);return n(()=>{let e=null;const o=()=>{if(!t.current)return;const e=!!t.current.parentElement?.closest(".dark"),o=!!document.getElementById("botuyo-chat-widget-root")?.classList.contains("dark"),n=document.getElementById("botuyo-chat-widget-root"),a=!!n?.parentElement?.closest(".dark"),i=document.documentElement.classList.contains("dark"),s=document.body.classList.contains("dark"),c="dark"===document.documentElement.getAttribute("data-theme"),l="dark"===document.body.getAttribute("data-theme"),d=!!t.current.parentElement?.closest('[data-theme="dark"]'),u=window.matchMedia("(prefers-color-scheme: dark)").matches,p=e||o||a||i||s||c||l||d||u;t.current&&(p?t.current.classList.add("dark"):t.current.classList.remove("dark")),r(p)};o();const n=window.matchMedia("(prefers-color-scheme: dark)"),a=()=>o();n.addEventListener("change",a);const i=new MutationObserver(()=>{o()}),s=document.getElementById("botuyo-chat-widget-root");s&&(i.observe(s,{attributes:!0,attributeFilter:["class"]}),s.parentElement&&(i.observe(s.parentElement,{attributes:!0,attributeFilter:["class"],childList:!0}),e=s.parentElement)),i.observe(document.documentElement,{attributes:!0,attributeFilter:["class","data-theme"]}),i.observe(document.body,{attributes:!0,attributeFilter:["class","data-theme"]});let c=t.current?.parentElement;for(;c;)i.observe(c,{attributes:!0,attributeFilter:["class","data-theme"]}),c=c.parentElement;const l=setInterval(()=>{const t=document.getElementById("botuyo-chat-widget-root");t&&t.parentElement!==e&&(e&&t.parentElement&&(i.observe(t.parentElement,{attributes:!0,attributeFilter:["class"],childList:!0}),e=t.parentElement),o())},100);return()=>{i.disconnect(),n.removeEventListener("change",a),clearInterval(l)}},[t]),e}(v),[_,z]=o(),{mergedTheme:E,mergedStyles:S,getContainerStyle:C}=function(t,e){const r=function(){const[t,e]=o(()=>"undefined"!=typeof window&&(window.matchMedia("(prefers-contrast: high)").matches||window.matchMedia("(prefers-contrast: more)").matches));return n(()=>{const t=window.matchMedia("(prefers-contrast: high)"),r=window.matchMedia("(prefers-contrast: more)"),o=t=>{e(t.matches)};return t.addEventListener("change",o),r.addEventListener("change",o),()=>{t.removeEventListener("change",o),r.removeEventListener("change",o)}},[]),t}(),a=i(()=>{const o=k(t,e);return r?{...o,primaryColor:"#000000",cssVariables:{...o.cssVariables,background:"#FFFFFF",foreground:"#000000",card:"#FFFFFF",cardForeground:"#000000",primary:"#000000",primaryForeground:"#FFFFFF",muted:"#F5F5F5",mutedForeground:"#000000",border:"#000000"}}:o},[t,e,r]),s=i(()=>({radius:{...R,...t?.bubbleStyles?.radius},bot:{...W,...t?.bubbleStyles?.bot},user:{...B,...t?.bubbleStyles?.user},launcher:{...t?.bubbleStyles?.launcher},mapCard:{...t?.bubbleStyles?.mapCard}}),[t?.bubbleStyles]);return{mergedTheme:a,mergedStyles:s,getContainerStyle:(t,e,r)=>({"--chat-primary":a.primaryColor,zIndex:t?2147483647:9999,position:"fixed",top:e&&t?0:"auto",left:e&&t?0:"bottom-left"===r?"24px":"auto",right:e&&t?0:"bottom-right"!==r&&r?"auto":"24px",bottom:e&&t?0:"24px",width:e&&t?"100%":"auto",height:e&&t?"100%":"auto"})}}(u,_);n(()=>{E.isHidden&&console.warn('[BotUyo] ⚠️ El agente (o Flow) de IA asociado a esta API Key se encuentra pausado o en estado "boceto" (draft). El widget no se mostrará hasta que lo publiques dentro de la plataforma BotUyo.')},[E.isHidden]);const{state:M,actions:A,unreadCount:j,currentBotEmotion:P,isConnected:F,handleToggle:D,handleSendText:Z,handleSendAttachment:J,handleSendLocation:V,getSocket:q}=Ka({apiKey:e,apiBaseUrl:a,agentId:c,pageContext:l,includeSEOMetadata:d,theme:u,userContext:h,onLogin:g,onNavigate:m,onEvent:f,onStateChange:w,onThemeUpdate:z}),G=s(t=>{A.addMessage({id:`voice-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"text",sender:t.sender,timestamp:/* @__PURE__ */new Date,content:t.content})},[A]),K=i(()=>{const t={...p||{}},e=_;return null!=e?.voiceEnabled&&(t.enableVoice=e.voiceEnabled),t},[p,_]),H=s(t=>{t.stopPropagation()},[]),Y=C(M.isOpen,y,u?.position),X=i(()=>{if(!E.cssVariables)return{};let t={...E.cssVariables};if(x){const e=_?.darkCssVariables||{};t={...t,...I,...e}}const e={};return t.background&&(e["--background"]=t.background),t.foreground&&(e["--foreground"]=t.foreground),t.card&&(e["--card"]=t.card),t.cardForeground&&(e["--card-foreground"]=t.cardForeground),t.primary&&(e["--primary"]=t.primary),t.primaryForeground&&(e["--primary-foreground"]=t.primaryForeground),t.muted&&(e["--muted"]=t.muted),t.mutedForeground&&(e["--muted-foreground"]=t.mutedForeground),t.border&&(e["--border"]=t.border),t.destructive&&(e["--destructive"]=t.destructive),t.radius&&(e["--radius"]=t.radius),t.spacing1&&(e["--spacing-1"]=t.spacing1),t.spacing2&&(e["--spacing-2"]=t.spacing2),t.spacing3&&(e["--spacing-3"]=t.spacing3),t.spacing4&&(e["--spacing-4"]=t.spacing4),t.spacing5&&(e["--spacing-5"]=t.spacing5),t.spacing6&&(e["--spacing-6"]=t.spacing6),t.spacing8&&(e["--spacing-8"]=t.spacing8),e},[E.cssVariables,x,_]);return E.isHidden?null:_?/* @__PURE__ */T("div",{ref:v,id:"botuyo-chat-widget",className:b("botuyo-chat-widget flex flex-col",!y&&("bottom-left"===u?.position?"items-start":"items-end")),style:{...Y,...X,pointerEvents:"auto",backgroundColor:"transparent"},"data-animations-disabled":!1===u?.animations?.enabled?"true":void 0,"data-effects-glassmorphism":!1===u?.effects?.glassmorphism?"false":void 0,"data-effects-shadows":!1===u?.effects?.softShadows?"false":void 0,children:[
|
|
34
34
|
/* @__PURE__ */N("div",{className:b("transition-all duration-400 ease-[cubic-bezier(0.34,1.56,0.64,1)]",y?"bottom-left"===u?.position?"origin-bottom-left":"origin-bottom-right":"origin-bottom",M.isOpen?"opacity-100 scale-100 h-full w-full translate-y-0 pointer-events-auto":"opacity-0 scale-[0.85] pointer-events-none translate-y-8 h-0 w-0"),style:{pointerEvents:M.isOpen?"auto":"none"},onMouseDown:H,onTouchStart:H,children:/* @__PURE__ */N(L,{children:/* @__PURE__ */N($,{isOpen:M.isOpen,isConnected:F,isTyping:M.isTyping,messages:M.messages,onClose:()=>A.closeWindow(),onSendMessage:Z,onSendAttachment:J,onSendLocation:V,botName:E.botName,logoUrl:E.logoUrl,welcomeMessage:E.welcomeMessage,inputPlaceholder:u?.inputPlaceholder||_?.inputPlaceholder,primaryColor:E.primaryColor,position:u?.position,bubbleStyles:S,avatars:u?.avatars||_?.avatars||_?.avatarAnimations||{},mediaConfig:K,theme:E,avatar3dUrl:u?.avatar3dUrl,getSocket:q,onAddVoiceMessage:G})})}),
|
|
35
|
-
/* @__PURE__ */N("div",{className:b(M.isOpen?"hidden":"block",!y&&"mt-4"),style:{pointerEvents:"auto"},onMouseDown:H,onTouchStart:H,children:/* @__PURE__ */N(U,{isOpen:M.isOpen,onClick:D,unreadCount:j,position:u?.position||"bottom-right",primaryColor:E.primaryColor,logoUrl:E.logoUrl,starterPrompt:u?.starterPrompt||_?.starterPrompt,avatars:u?.avatars||_?.avatars||_?.avatarAnimations||{},emotion:P,styles:S,promptPersistence:u?.promptPersistence,avatarScale:u?.avatarScale??_?.avatarScale,showPromptAvatar:u?.showPromptAvatar??_?.showPromptAvatar})})]}):null}function
|
|
36
|
-
return N(E,{defaultLocale:t.theme?.defaultLocale,children:/* @__PURE__ */N(S,{animations:t.theme?.animations,effects:t.theme?.effects,children:/* @__PURE__ */N(
|
|
35
|
+
/* @__PURE__ */N("div",{className:b(M.isOpen?"hidden":"block",!y&&"mt-4"),style:{pointerEvents:"auto"},onMouseDown:H,onTouchStart:H,children:/* @__PURE__ */N(U,{isOpen:M.isOpen,onClick:D,unreadCount:j,position:u?.position||"bottom-right",primaryColor:E.primaryColor,logoUrl:E.logoUrl,starterPrompt:u?.starterPrompt||_?.starterPrompt,avatars:u?.avatars||_?.avatars||_?.avatarAnimations||{},emotion:P,styles:S,promptPersistence:u?.promptPersistence,avatarScale:u?.avatarScale??_?.avatarScale,showPromptAvatar:u?.showPromptAvatar??_?.showPromptAvatar})})]}):null}function Ya(t){/* @__PURE__ */
|
|
36
|
+
return N(E,{defaultLocale:t.theme?.defaultLocale,children:/* @__PURE__ */N(S,{animations:t.theme?.animations,effects:t.theme?.effects,children:/* @__PURE__ */N(Ha,{...t})})})}const Xa=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,ChatWidget:Ya,ChatWidgetInner:Ha},Symbol.toStringTag,{value:"Module"})),Qa="https://api.botuyo.com";class ti extends a{constructor(t){super(t),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t,e){console.error("[BotUyoChat] Widget error:",t,e)}render(){return this.state.hasError?null:this.props.children}}const ei={"--background":"240 10% 3.9%","--foreground":"0 0% 98%","--card":"240 10% 3.9%","--cardForeground":"0 0% 98%","--primary":"160 84% 39%","--primaryForeground":"0 0% 100%","--muted":"240 3.7% 15.9%","--mutedForeground":"240 5% 64.9%","--border":"240 3.7% 15.9%"},ri=u(()=>Promise.resolve().then(()=>Xa).then(t=>({default:t.ChatWidget})));class oi{root=null;container=null;shadowRoot=null;mountPoint=null;darkModeObserver=null;darkModeMediaQuery=null;config=null;init(t){return this.config={...t,apiBaseUrl:t.apiBaseUrl||Qa},this.render(),this.setupDarkModeDetection(),this}render(){if(!this.config)return void console.error("[BotUyoChat] No configuration provided");if(!this.container){this.container=document.createElement("div"),this.container.id="botuyo-chat-widget-root",document.body.appendChild(this.container),this.shadowRoot=this.container.attachShadow({mode:"open"});const t=document.createElement("style");t.textContent=A.replace(/:root/g,":host"),this.shadowRoot.appendChild(t),this.mountPoint=document.createElement("div"),this.mountPoint.id="botuyo-chat-widget-root",this.shadowRoot.appendChild(this.mountPoint)}if(this.config.theme?.cssVariables&&this.mountPoint){const t=this.config.theme.cssVariables,e={background:t.background,foreground:t.foreground,card:t.card,cardForeground:t.cardForeground,primary:t.primary,primaryForeground:t.primaryForeground,muted:t.muted,mutedForeground:t.mutedForeground,border:t.border,destructive:t.destructive,radius:t.radius,spacing1:t.spacing1,spacing2:t.spacing2,spacing3:t.spacing3,spacing4:t.spacing4,spacing5:t.spacing5,spacing6:t.spacing6,spacing8:t.spacing8};Object.entries(e).forEach(([t,e])=>{void 0!==e&&this.mountPoint.style.setProperty(`--${t}`,e)})}this.mountPoint&&!this.config.theme?.cssVariables&&(!function(){const t=document.documentElement.getAttribute("data-theme");return"dark"===t||"light"!==t&&window.matchMedia("(prefers-color-scheme: dark)").matches}()?Object.keys(ei).forEach(t=>{this.mountPoint.style.removeProperty(t)}):Object.entries(ei).forEach(([t,e])=>{this.mountPoint.style.setProperty(t,e)})),!this.root&&this.mountPoint&&(this.root=t(this.mountPoint));const r={apiKey:this.config.apiKey,apiBaseUrl:this.config.apiBaseUrl||Qa,agentId:this.config.agentId,theme:{primaryColor:"#10b981",botName:"Asistente Virtual",position:"bottom-right",welcomeMessage:"¡Hola! 👋 ¿En qué puedo ayudarte?",inputPlaceholder:"Escribe tu mensaje...",borderRadius:"0.75rem",launcherBorderRadius:"50%",...this.config.theme},userContext:this.config.userContext,pageContext:this.config.pageContext,includeSEOMetadata:this.config.includeSEOMetadata??!1,mediaConfig:this.config.mediaConfig,onNavigate:this.config.onNavigate,onLogin:this.config.onLogin,onEvent:this.config.onEvent,onStateChange:this.config.onStateChange},o=e.createElement(p,{fallback:e.createElement("div",{style:{position:"fixed",bottom:"24px",right:"24px",width:"60px",height:"60px",borderRadius:"50%",backgroundColor:r.theme?.primaryColor||"#10b981",display:"flex",alignItems:"center",justifyContent:"center",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.15)",cursor:"wait"}},e.createElement("div",{style:{width:"24px",height:"24px",border:"3px solid rgba(255, 255, 255, 0.3)",borderTopColor:"#fff",borderRadius:"50%",animation:"spin 1s linear infinite"}}))},e.createElement(ri,r));this.root.render(e.createElement(ti,null,e.createElement(E,{defaultLocale:this.config.theme?.defaultLocale,children:o}))),console.log("[BotUyoChat] Widget initialized",r)}update(t){this.config?(this.config={...this.config,...t,theme:{...this.config.theme,...t.theme}},this.render()):console.error("[BotUyoChat] Widget not initialized")}destroy(){this.darkModeObserver&&(this.darkModeObserver.disconnect(),this.darkModeObserver=null),this.darkModeMediaQuery&&(this.darkModeMediaQuery.removeEventListener("change",this.handleDarkModeChange),this.darkModeMediaQuery=null),this.root&&(this.root.unmount(),this.root=null),this.container&&this.container.parentNode&&(this.container.parentNode.removeChild(this.container),this.container=null,this.shadowRoot=null,this.mountPoint=null),this.config=null,console.log("[BotUyoChat] Widget destroyed")}setupDarkModeDetection(){this.config?.theme?.cssVariables||(this.handleDarkModeChange=()=>this.render(),this.darkModeObserver=new MutationObserver(this.handleDarkModeChange),this.darkModeObserver.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),this.darkModeMediaQuery=window.matchMedia("(prefers-color-scheme: dark)"),this.darkModeMediaQuery.addEventListener("change",this.handleDarkModeChange))}handleDarkModeChange=()=>{};open(){window.dispatchEvent(new CustomEvent("botuyo-chat:open"))}close(){window.dispatchEvent(new CustomEvent("botuyo-chat:close"))}sendMessage(t){window.dispatchEvent(new CustomEvent("botuyo-chat:send-message",{detail:{message:t}}))}getState(){return null}}const ni=new oi;window.BotUyoChat=ni;export{oi as BotUyoChatWidget,Z as ChatWidget,Va as ChatWidgetProvider,Ya as ChatWidgetUnstyled,E as LanguageProvider,ni as default,qa as useChatWidget,C as useLanguage};
|
|
37
37
|
//# sourceMappingURL=botuyo-chat.es.js.map
|