diff --git a/pkg/models/umind_agente.go b/pkg/models/umind_agente.go
index 3e32e85..ae64d50 100644
--- a/pkg/models/umind_agente.go
+++ b/pkg/models/umind_agente.go
@@ -1,6 +1,8 @@
package models
import (
+ "time"
+
"github.com/sujit-baniya/fiber-boilerplate/app"
"gorm.io/gorm"
)
@@ -82,3 +84,61 @@ func GetUmindAgentePorSiteKey(siteKey string) (*UmindAgente, error) {
}
return &a, nil
}
+
+// ResumenAgente son las señales que hacen falta para saber de un vistazo si
+// un agente está listo o le falta algo, sin entrar a configurarlo.
+type ResumenAgente struct {
+ AgenteID uint `json:"agente_id"`
+ Documentos int64 `json:"documentos"`
+ Canales int64 `json:"canales"`
+ Conversaciones7d int64 `json:"conversaciones_7d"`
+}
+
+// GetResumenAgentes agrega las tres señales en tres consultas agrupadas, no
+// en tres por agente: con 5 agentes la diferencia no se nota, pero el patrón
+// N+1 en una pantalla de listado es el que después no se puede sacar.
+func GetResumenAgentes(agenteIDs []uint) map[uint]*ResumenAgente {
+ out := make(map[uint]*ResumenAgente, len(agenteIDs))
+ for _, id := range agenteIDs {
+ out[id] = &ResumenAgente{AgenteID: id}
+ }
+ if len(agenteIDs) == 0 {
+ return out
+ }
+ db := app.Http.Database.DB
+
+ type fila struct {
+ AgenteID uint
+ Total int64
+ }
+
+ var docs []fila
+ db.Model(&UmindDocumento{}).Select("agente_id, COUNT(*) AS total").
+ Where("agente_id IN ? AND deleted_at IS NULL", agenteIDs).Group("agente_id").Scan(&docs)
+ for _, f := range docs {
+ if r, ok := out[f.AgenteID]; ok {
+ r.Documentos = f.Total
+ }
+ }
+
+ var canales []fila
+ db.Model(&UmindCanal{}).Select("agente_id, COUNT(*) AS total").
+ Where("agente_id IN ? AND activo = ? AND deleted_at IS NULL", agenteIDs, true).Group("agente_id").Scan(&canales)
+ for _, f := range canales {
+ if r, ok := out[f.AgenteID]; ok {
+ r.Canales = f.Total
+ }
+ }
+
+ // Conversaciones, no mensajes: lo que importa es a cuánta gente atendió.
+ var convs []fila
+ db.Model(&UmindMensaje{}).Select("agente_id, COUNT(DISTINCT session_id) AS total").
+ Where("agente_id IN ? AND created_at >= ? AND deleted_at IS NULL", agenteIDs, time.Now().AddDate(0, 0, -7)).
+ Group("agente_id").Scan(&convs)
+ for _, f := range convs {
+ if r, ok := out[f.AgenteID]; ok {
+ r.Conversaciones7d = f.Total
+ }
+ }
+ return out
+}
diff --git a/public/orchestrator/assets/index-BJ8q_ag8.css b/public/orchestrator/assets/index-BJ8q_ag8.css
deleted file mode 100644
index f9ac420..0000000
--- a/public/orchestrator/assets/index-BJ8q_ag8.css
+++ /dev/null
@@ -1 +0,0 @@
-*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--superficie: 255 255 255;--elevado: 249 250 251;--borde: 229 231 235;--texto: 31 41 55;--tenue: 107 114 128;--fondo: 249 250 251}.dark{--superficie: 17 24 39;--elevado: 24 33 51;--borde: 42 52 70;--texto: 229 231 235;--tenue: 148 163 184;--fondo: 9 13 22}body{background:rgb(var(--fondo));color:rgb(var(--texto));-webkit-font-smoothing:antialiased}.card{border-radius:.75rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--borde) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--superficie) / var(--tw-bg-opacity, 1))}.input{width:100%;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--borde) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--superficie) / var(--tw-bg-opacity, 1));padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(var(--texto) / var(--tw-text-opacity, 1));outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.input::-moz-placeholder{color:rgb(var(--tenue) / .6)}.input::placeholder{color:rgb(var(--tenue) / .6)}.input:focus{--tw-border-opacity: 1;border-color:rgb(142 176 47 / var(--tw-border-opacity, 1));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(142 176 47 / .2)}.label{margin-bottom:.25rem;display:block;font-size:.75rem;line-height:1rem;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--tenue) / var(--tw-text-opacity, 1))}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;border-radius:.5rem;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.btn-primary{--tw-bg-opacity: 1;background-color:rgb(142 176 47 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.btn-primary:hover{--tw-bg-opacity: 1;background-color:rgb(113 144 38 / var(--tw-bg-opacity, 1))}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;border-radius:.5rem;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-ghost:disabled{cursor:not-allowed;opacity:.5}.btn-ghost{--tw-text-opacity: 1;color:rgb(var(--tenue) / var(--tw-text-opacity, 1))}.btn-ghost:hover{--tw-bg-opacity: 1;background-color:rgb(var(--elevado) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--texto) / var(--tw-text-opacity, 1))}.badge-ok{display:inline-flex;align-items:center;gap:.25rem;border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;line-height:1rem;font-weight:500;--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.badge-ok:is(.dark *){background-color:#22c55e26;--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.badge-alerta{display:inline-flex;align-items:center;gap:.25rem;border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;line-height:1rem;font-weight:500;--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.badge-alerta:is(.dark *){background-color:#f59e0b26;--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.badge-error{display:inline-flex;align-items:center;gap:.25rem;border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;line-height:1rem;font-weight:500;--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.badge-error:is(.dark *){background-color:#ef444426;--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.badge-neutro{display:inline-flex;align-items:center;gap:.25rem;border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;line-height:1rem;font-weight:500;--tw-bg-opacity: 1;background-color:rgb(var(--elevado) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--tenue) / var(--tw-text-opacity, 1))}.tab{white-space:nowrap;border-radius:9999px;padding:.375rem .75rem;font-size:.875rem;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.fixed{position:fixed}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.z-50{z-index:50}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}.mx-auto{margin-left:auto;margin-right:auto}.-mt-2{margin-top:-.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.flex{display:flex}.grid{display:grid}.h-1\.5{height:.375rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-28{height:7rem}.h-9{height:2.25rem}.h-\[28rem\]{height:28rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[28rem\]{max-height:28rem}.max-h-\[32rem\]{max-height:32rem}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.min-h-screen{min-height:100vh}.\!w-auto{width:auto!important}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-24{width:6rem}.w-64{width:16rem}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[3px\]{min-width:3px}.max-w-5xl{max-width:64rem}.max-w-\[80\%\]{max-width:80%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}@keyframes aparecer{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animate-aparecer{animation:aparecer .2s ease-out}@keyframes escalar{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.animate-escalar{animation:escalar .15s ease-out}.cursor-pointer{cursor:pointer}.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-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-borde>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(var(--borde) / var(--tw-divide-opacity, 1))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-borde{--tw-border-opacity: 1;border-color:rgb(var(--borde) / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-black\/40{background-color:#0006}.bg-black\/50{background-color:#00000080}.bg-brand{--tw-bg-opacity: 1;background-color:rgb(142 176 47 / var(--tw-bg-opacity, 1))}.bg-brand\/10{background-color:#8eb02f1a}.bg-brand\/70{background-color:#8eb02fb3}.bg-elevado{--tw-bg-opacity: 1;background-color:rgb(var(--elevado) / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-superficie{--tw-bg-opacity: 1;background-color:rgb(var(--superficie) / var(--tw-bg-opacity, 1))}.bg-tenue\/40{background-color:rgb(var(--tenue) / .4)}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.\!px-2{padding-left:.5rem!important;padding-right:.5rem!important}.\!px-2\.5{padding-left:.625rem!important;padding-right:.625rem!important}.\!py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.\!py-1\.5{padding-top:.375rem!important;padding-bottom:.375rem!important}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pr-1\.5{padding-right:.375rem}.pr-4{padding-right:1rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.\!text-xs{font-size:.75rem!important;line-height:1rem!important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.capitalize{text-transform:capitalize}.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)}.leading-none{line-height:1}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-brand{--tw-text-opacity: 1;color:rgb(142 176 47 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-tenue{--tw-text-opacity: 1;color:rgb(var(--tenue) / var(--tw-text-opacity, 1))}.text-texto{--tw-text-opacity: 1;color:rgb(var(--texto) / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.opacity-0{opacity:0}.opacity-70{opacity:.7}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-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-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-500{transition-duration:.5s}.hover\:border-brand:hover{--tw-border-opacity: 1;border-color:rgb(142 176 47 / var(--tw-border-opacity, 1))}.hover\:border-brand\/50:hover{border-color:#8eb02f80}.hover\:bg-brand:hover{--tw-bg-opacity: 1;background-color:rgb(142 176 47 / var(--tw-bg-opacity, 1))}.hover\:bg-brand-dark:hover{--tw-bg-opacity: 1;background-color:rgb(113 144 38 / var(--tw-bg-opacity, 1))}.hover\:bg-elevado:hover{--tw-bg-opacity: 1;background-color:rgb(var(--elevado) / var(--tw-bg-opacity, 1))}.hover\:text-brand:hover{--tw-text-opacity: 1;color:rgb(142 176 47 / var(--tw-text-opacity, 1))}.hover\:text-gray-800:hover{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\:text-red-700:hover{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.hover\:text-texto:hover{--tw-text-opacity: 1;color:rgb(var(--texto) / var(--tw-text-opacity, 1))}.focus\:ring-brand:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(142 176 47 / var(--tw-ring-opacity, 1))}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}.dark\:border-gray-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.dark\:border-gray-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity, 1))}.dark\:bg-gray-600:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.dark\:text-amber-400:is(.dark *){--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:hover\:text-gray-100:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}@media(min-width:640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
diff --git a/public/orchestrator/assets/index-DILPQ-CQ.js b/public/orchestrator/assets/index-DILPQ-CQ.js
deleted file mode 100644
index 98ac450..0000000
--- a/public/orchestrator/assets/index-DILPQ-CQ.js
+++ /dev/null
@@ -1,26 +0,0 @@
-(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const r of o)if(r.type==="childList")for(const i of r.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function n(o){const r={};return o.integrity&&(r.integrity=o.integrity),o.referrerPolicy&&(r.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?r.credentials="include":o.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(o){if(o.ep)return;o.ep=!0;const r=n(o);fetch(o.href,r)}})();/**
-* @vue/shared v3.5.41
-* (c) 2018-present Yuxi (Evan) You and Vue contributors
-* @license MIT
-**/function qs(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const he={},Wt=[],pt=()=>{},fr=()=>!1,es=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ts=e=>e.startsWith("onUpdate:"),Oe=Object.assign,Ws=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Mi=Object.prototype.hasOwnProperty,ce=(e,t)=>Mi.call(e,t),z=Array.isArray,zt=e=>Pn(e)==="[object Map]",rn=e=>Pn(e)==="[object Set]",go=e=>Pn(e)==="[object Date]",Q=e=>typeof e=="function",xe=e=>typeof e=="string",Xe=e=>typeof e=="symbol",de=e=>e!==null&&typeof e=="object",dr=e=>(de(e)||Q(e))&&Q(e.then)&&Q(e.catch),pr=Object.prototype.toString,Pn=e=>pr.call(e),Vi=e=>Pn(e).slice(8,-1),hr=e=>Pn(e)==="[object Object]",zs=e=>xe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,hn=qs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ns=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},ji=/-\w/g,je=ns(e=>e.replace(ji,t=>t.slice(1).toUpperCase())),Ui=/\B([A-Z])/g,Bt=ns(e=>e.replace(Ui,"-$1").toLowerCase()),ss=ns(e=>e.charAt(0).toUpperCase()+e.slice(1)),gs=ns(e=>e?`on${ss(e)}`:""),ft=(e,t)=>!Object.is(e,t),Hn=(e,...t)=>{for(let n=0;n
{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},os=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let vo;const rs=()=>vo||(vo=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Zt(e){if(z(e)){const t={};for(let n=0;n{if(n){const s=n.split(Fi);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Se(e){let t="";if(xe(e))t=e;else if(z(e))for(let n=0;nln(n,t))}const vr=e=>!!(e&&e.__v_isRef===!0),j=e=>xe(e)?e:e==null?"":z(e)||de(e)&&(e.toString===pr||!Q(e.toString))?vr(e)?j(e.value):JSON.stringify(e,br,2):String(e),br=(e,t)=>vr(t)?br(e,t.value):zt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,o],r)=>(n[vs(s,r)+" =>"]=o,n),{})}:rn(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>vs(n))}:Xe(t)?vs(t):de(t)&&!z(t)&&!hr(t)?String(t):t,vs=(e,t="")=>{var n;return Xe(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
-* @vue/reactivity v3.5.41
-* (c) 2018-present Yuxi (Evan) You and Vue contributors
-* @license MIT
-**/let Ae;class Wi{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&Ae&&(Ae.active?(this.parent=Ae,this.index=(Ae.scopes||(Ae.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const s=this.scopes.slice();for(t=0,n=s.length;t0&&--this._on===0){if(Ae===this)Ae=this.prevScope;else{let t=Ae;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n0)return;if(gn){let t=gn;for(gn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;mn;){let t=mn;for(mn=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function wr(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Cr(e){let t,n=e.depsTail,s=n;for(;s;){const o=s.prevDep;s.version===-1?(s===n&&(n=o),Xs(s),Ji(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=o}e.deps=t,e.depsTail=n}function Ts(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Er(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Er(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===xn)||(e.globalVersion=xn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ts(e))))return;e.flags|=2;const t=e.dep,n=me,s=Ye;me=e,Ye=!0;try{wr(e);const o=e.fn(e._value);(t.version===0||ft(o,e._value))&&(e.flags|=128,e._value=o,t.version++)}catch(o){throw t.version++,o}finally{me=n,Ye=s,Cr(e),e.flags&=-3}}function Xs(e,t=!1){const{dep:n,prevSub:s,nextSub:o}=e;if(s&&(s.nextSub=o,e.prevSub=void 0),o&&(o.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let r=n.computed.deps;r;r=r.nextDep)Xs(r,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Ji(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Ye=!0;const Sr=[];function St(){Sr.push(Ye),Ye=!1}function At(){const e=Sr.pop();Ye=e===void 0?!0:e}function bo(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=me;me=void 0;try{t()}finally{me=n}}}let xn=0;class Yi{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Zs{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!me||!Ye||me===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==me)n=this.activeLink=new Yi(me,this),me.deps?(n.prevDep=me.depsTail,me.depsTail.nextDep=n,me.depsTail=n):me.deps=me.depsTail=n,Ar(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=me.depsTail,n.nextDep=void 0,me.depsTail.nextDep=n,me.depsTail=n,me.deps===n&&(me.deps=s)}return n}trigger(t){this.version++,xn++,this.notify(t)}notify(t){Ys();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Qs()}}}function Ar(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)Ar(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Ns=new WeakMap,Ft=Symbol(""),$s=Symbol(""),yn=Symbol("");function Te(e,t,n){if(Ye&&me){let s=Ns.get(e);s||Ns.set(e,s=new Map);let o=s.get(n);o||(s.set(n,o=new Zs),o.map=s,o.key=n),o.track()}}function wt(e,t,n,s,o,r){const i=Ns.get(e);if(!i){xn++;return}const l=a=>{a&&a.trigger()};if(Ys(),t==="clear")i.forEach(l);else{const a=z(e),d=a&&zs(n);if(a&&n==="length"){const c=Number(s);i.forEach((h,g)=>{(g==="length"||g===yn||!Xe(g)&&g>=c)&&l(h)})}else switch((n!==void 0||i.has(void 0))&&l(i.get(n)),d&&l(i.get(yn)),t){case"add":a?d&&l(i.get("length")):(l(i.get(Ft)),zt(e)&&l(i.get($s)));break;case"delete":a||(l(i.get(Ft)),zt(e)&&l(i.get($s)));break;case"set":zt(e)&&l(i.get(Ft));break}}Qs()}function Kt(e){const t=ue(e);return t===e?t:(Te(t,"iterate",yn),ze(e)?t:t.map(Ze))}function is(e){return Te(e=ue(e),"iterate",yn),e}function at(e,t){return Rt(e)?en(Ht(e)?Ze(t):t):Ze(t)}const Qi={__proto__:null,[Symbol.iterator](){return _s(this,Symbol.iterator,e=>at(this,e))},concat(...e){return Kt(this).concat(...e.map(t=>z(t)?Kt(t):t))},entries(){return _s(this,"entries",e=>(e[1]=at(this,e[1]),e))},every(e,t){return bt(this,"every",e,t,void 0,arguments)},filter(e,t){return bt(this,"filter",e,t,n=>n.map(s=>at(this,s)),arguments)},find(e,t){return bt(this,"find",e,t,n=>at(this,n),arguments)},findIndex(e,t){return bt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return bt(this,"findLast",e,t,n=>at(this,n),arguments)},findLastIndex(e,t){return bt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return bt(this,"forEach",e,t,void 0,arguments)},includes(...e){return xs(this,"includes",e)},indexOf(...e){return xs(this,"indexOf",e)},join(e){return Kt(this).join(e)},lastIndexOf(...e){return xs(this,"lastIndexOf",e)},map(e,t){return bt(this,"map",e,t,void 0,arguments)},pop(){return un(this,"pop")},push(...e){return un(this,"push",e)},reduce(e,...t){return _o(this,"reduce",e,t)},reduceRight(e,...t){return _o(this,"reduceRight",e,t)},shift(){return un(this,"shift")},some(e,t){return bt(this,"some",e,t,void 0,arguments)},splice(...e){return un(this,"splice",e)},toReversed(){return Kt(this).toReversed()},toSorted(e){return Kt(this).toSorted(e)},toSpliced(...e){return Kt(this).toSpliced(...e)},unshift(...e){return un(this,"unshift",e)},values(){return _s(this,"values",e=>at(this,e))}};function _s(e,t,n){const s=is(e),o=s[t]();return s!==e&&!ze(e)&&(o._next=o.next,o.next=()=>{const r=o._next();return r.done||(r.value=n(r.value)),r}),o}const Xi=Array.prototype;function bt(e,t,n,s,o,r){const i=is(e),l=i!==e&&!ze(e),a=i[t];if(a!==Xi[t]){const h=a.apply(e,r);return l?Ze(h):h}let d=n;i!==e&&(l?d=function(h,g){return n.call(this,at(e,h),g,e)}:n.length>2&&(d=function(h,g){return n.call(this,h,g,e)}));const c=a.call(i,d,s);return l&&o?o(c):c}function _o(e,t,n,s){const o=is(e),r=o!==e&&!ze(e);let i=n,l=!1;o!==e&&(r?(l=s.length===0,i=function(d,c,h){return l&&(l=!1,d=at(e,d)),n.call(this,d,at(e,c),h,e)}):n.length>3&&(i=function(d,c,h){return n.call(this,d,c,h,e)}));const a=o[t](i,...s);return l?at(e,a):a}function xs(e,t,n){const s=ue(e);Te(s,"iterate",yn);const o=s[t](...n);return(o===-1||o===!1)&&no(n[0])?(n[0]=ue(n[0]),s[t](...n)):o}function un(e,t,n=[]){St(),Ys();const s=ue(e)[t].apply(e,n);return Qs(),At(),s}const Zi=qs("__proto__,__v_isRef,__isVue"),Rr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Xe));function el(e){Xe(e)||(e=String(e));const t=ue(this);return Te(t,"has",e),t.hasOwnProperty(e)}class Ir{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const o=this._isReadonly,r=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return r;if(n==="__v_raw")return s===(o?r?cl:Tr:r?Pr:Or).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const i=z(t);if(!o){let a;if(i&&(a=Qi[n]))return a;if(n==="hasOwnProperty")return el}const l=Reflect.get(t,n,$e(t)?t:s);if((Xe(n)?Rr.has(n):Zi(n))||(o||Te(t,"get",n),r))return l;if($e(l)){const a=i&&zs(n)?l:l.value;return o&&de(a)?Ms(a):a}return de(l)?o?Ms(l):ls(l):l}}class kr extends Ir{constructor(t=!1){super(!1,t)}set(t,n,s,o){let r=t[n];const i=z(t)&&zs(n);if(!this._isShallow){const d=Rt(r);if(!ze(s)&&!Rt(s)&&(r=ue(r),s=ue(s)),!i&&$e(r)&&!$e(s))return d||(r.value=s),!0}const l=i?Number(n)e,Mn=e=>Reflect.getPrototypeOf(e);function rl(e,t,n){return function(...s){const o=this.__v_raw,r=ue(o),i=zt(r),l=e==="entries"||e===Symbol.iterator&&i,a=e==="keys"&&i,d=o[e](...s),c=n?Ds:t?en:Ze;return!t&&Te(r,"iterate",a?$s:Ft),Oe(Object.create(d),{next(){const{value:h,done:g}=d.next();return g?{value:h,done:g}:{value:l?[c(h[0]),c(h[1])]:c(h),done:g}}})}}function Vn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function il(e,t){const n={get(o){const r=this.__v_raw,i=ue(r),l=ue(o);e||(ft(o,l)&&Te(i,"get",o),Te(i,"get",l));const{has:a}=Mn(i),d=t?Ds:e?en:Ze;if(a.call(i,o))return d(r.get(o));if(a.call(i,l))return d(r.get(l));r!==i&&r.get(o)},get size(){const o=this.__v_raw;return!e&&Te(ue(o),"iterate",Ft),o.size},has(o){const r=this.__v_raw,i=ue(r),l=ue(o);return e||(ft(o,l)&&Te(i,"has",o),Te(i,"has",l)),o===l?r.has(o):r.has(o)||r.has(l)},forEach(o,r){const i=this,l=i.__v_raw,a=ue(l),d=t?Ds:e?en:Ze;return!e&&Te(a,"iterate",Ft),l.forEach((c,h)=>o.call(r,d(c),d(h),i))}};return Oe(n,e?{add:Vn("add"),set:Vn("set"),delete:Vn("delete"),clear:Vn("clear")}:{add(o){const r=ue(this),i=Mn(r),l=ue(o),a=!t&&!ze(o)&&!Rt(o)?l:o;return i.has.call(r,a)||ft(o,a)&&i.has.call(r,o)||ft(l,a)&&i.has.call(r,l)||(r.add(a),wt(r,"add",a,a)),this},set(o,r){!t&&!ze(r)&&!Rt(r)&&(r=ue(r));const i=ue(this),{has:l,get:a}=Mn(i);let d=l.call(i,o);d||(o=ue(o),d=l.call(i,o));const c=a.call(i,o);return i.set(o,r),d?ft(r,c)&&wt(i,"set",o,r):wt(i,"add",o,r),this},delete(o){const r=ue(this),{has:i,get:l}=Mn(r);let a=i.call(r,o);a||(o=ue(o),a=i.call(r,o)),l&&l.call(r,o);const d=r.delete(o);return a&&wt(r,"delete",o,void 0),d},clear(){const o=ue(this),r=o.size!==0,i=o.clear();return r&&wt(o,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(o=>{n[o]=rl(o,e,t)}),n}function eo(e,t){const n=il(e,t);return(s,o,r)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?s:Reflect.get(ce(n,o)&&o in s?n:s,o,r)}const ll={get:eo(!1,!1)},al={get:eo(!1,!0)},ul={get:eo(!0,!1)};const Or=new WeakMap,Pr=new WeakMap,Tr=new WeakMap,cl=new WeakMap;function fl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ls(e){return Rt(e)?e:to(e,!1,nl,ll,Or)}function Nr(e){return to(e,!1,ol,al,Pr)}function Ms(e){return to(e,!0,sl,ul,Tr)}function to(e,t,n,s,o){if(!de(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const r=o.get(e);if(r)return r;const i=fl(Vi(e));if(i===0)return e;const l=new Proxy(e,i===2?s:n);return o.set(e,l),l}function Ht(e){return Rt(e)?Ht(e.__v_raw):!!(e&&e.__v_isReactive)}function Rt(e){return!!(e&&e.__v_isReadonly)}function ze(e){return!!(e&&e.__v_isShallow)}function no(e){return e?!!e.__v_raw:!1}function ue(e){const t=e&&e.__v_raw;return t?ue(t):e}function dl(e){return!ce(e,"__v_skip")&&Object.isExtensible(e)&&mr(e,"__v_skip",!0),e}const Ze=e=>de(e)?ls(e):e,en=e=>de(e)?Ms(e):e;function $e(e){return e?e.__v_isRef===!0:!1}function Y(e){return $r(e,!1)}function pl(e){return $r(e,!0)}function $r(e,t){return $e(e)?e:new hl(e,t)}class hl{constructor(t,n){this.dep=new Zs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ue(t),this._value=n?t:Ze(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||ze(t)||Rt(t);t=s?t:ue(t),ft(t,n)&&(this._rawValue=t,this._value=s?t:Ze(t),this.dep.trigger())}}function Ie(e){return $e(e)?e.value:e}const ml={get:(e,t,n)=>t==="__v_raw"?e:Ie(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const o=e[t];return $e(o)&&!$e(n)?(o.value=n,!0):Reflect.set(e,t,n,s)}};function Dr(e){return Ht(e)?e:new Proxy(e,ml)}class gl{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Zs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=xn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&me!==this)return yr(this,!0),!0}get value(){const t=this.dep.track();return Er(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function vl(e,t,n=!1){let s,o;return Q(e)?s=e:(s=e.get,o=e.set),new gl(s,o,n)}const jn={},qn=new WeakMap;let jt;function bl(e,t=!1,n=jt){if(n){let s=qn.get(n);s||qn.set(n,s=[]),s.push(e)}}function _l(e,t,n=he){const{immediate:s,deep:o,once:r,scheduler:i,augmentJob:l,call:a}=n,d=x=>o?x:ze(x)||o===!1||o===0?Ct(x,1):Ct(x);let c,h,g,_,U=!1,N=!1;if($e(e)?(h=()=>e.value,U=ze(e)):Ht(e)?(h=()=>d(e),U=!0):z(e)?(N=!0,U=e.some(x=>Ht(x)||ze(x)),h=()=>e.map(x=>{if($e(x))return x.value;if(Ht(x))return d(x);if(Q(x))return a?a(x,2):x()})):Q(e)?t?h=a?()=>a(e,2):e:h=()=>{if(g){St();try{g()}finally{At()}}const x=jt;jt=c;try{return a?a(e,3,[_]):e(_)}finally{jt=x}}:h=pt,t&&o){const x=h,E=o===!0?1/0:o;h=()=>Ct(x(),E)}const B=zi(),K=()=>{c.stop(),B&&B.active&&Ws(B.effects,c)};if(r&&t){const x=t;t=(...E)=>{const S=x(...E);return K(),S}}let D=N?new Array(e.length).fill(jn):jn;const T=x=>{if(!(!(c.flags&1)||!c.dirty&&!x))if(t){const E=c.run();if(x||o||U||(N?E.some((S,J)=>ft(S,D[J])):ft(E,D))){g&&g();const S=jt;jt=c;try{const J=[E,D===jn?void 0:N&&D[0]===jn?[]:D,_];D=E,a?a(t,3,J):t(...J)}finally{jt=S}}}else c.run()};return l&&l(T),c=new _r(h),c.scheduler=i?()=>i(T,!1):T,_=x=>bl(x,!1,c),g=c.onStop=()=>{const x=qn.get(c);if(x){if(a)a(x,4);else for(const E of x)E();qn.delete(c)}},t?s?T(!0):D=c.run():i?i(T.bind(null,!0),!0):c.run(),K.pause=c.pause.bind(c),K.resume=c.resume.bind(c),K.stop=K,K}function Ct(e,t=1/0,n){if(t<=0||!de(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,$e(e))Ct(e.value,t,n);else if(z(e))for(let s=0;s{Ct(s,t,n)});else if(hr(e)){for(const s in e)Ct(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&Ct(e[s],t,n)}return e}/**
-* @vue/runtime-core v3.5.41
-* (c) 2018-present Yuxi (Evan) You and Vue contributors
-* @license MIT
-**/function Tn(e,t,n,s){try{return s?e(...s):e()}catch(o){as(o,t,n)}}function et(e,t,n,s){if(Q(e)){const o=Tn(e,t,n,s);return o&&dr(o)&&o.catch(r=>{as(r,t,n)}),o}if(z(e)){const o=[];for(let r=0;r>>1,o=Ve[s],r=wn(o);r=wn(n)?Ve.push(e):Ve.splice(yl(t),0,e),e.flags|=1,Vr()}}function Vr(){Wn||(Wn=Mr.then(Ur))}function wl(e){if(!z(e))Pt&&e.id===-1?Pt.splice(Gt+1,0,e):e.flags&1||(Jt.push(e),e.flags|=1);else for(let t=0;twn(n)-wn(s));if(Jt.length=0,Pt){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function Ur(e){try{for(lt=0;lt{s._d&&Qn(-1);const r=zn(t),i=Et.length;let l;try{l=e(...o)}finally{for(let a=Et.length;a>i;a--)uo();zn(r),s._d&&Qn(1)}return l};return s._n=!0,s._c=!0,s._d=!0,s}function se(e,t){if(ke===null)return e;const n=ps(ke),s=e.dirs||(e.dirs=[]);for(let o=0;o1)return n&&Q(t)?t.call(s&&s.proxy):t}}const Cl=Symbol.for("v-scx"),El=()=>Qe(Cl);function Kn(e,t,n){return Fr(e,t,n)}function Fr(e,t,n=he){const{immediate:s,deep:o,flush:r,once:i}=n,l=Oe({},n),a=t&&s||!t&&r!=="post";let d;if(Rn){if(r==="sync"){const _=El();d=_.__watcherHandles||(_.__watcherHandles=[])}else if(!a){const _=()=>{};return _.stop=pt,_.resume=pt,_.pause=pt,_}}const c=Ne;l.call=(_,U,N)=>et(_,c,U,N);let h=!1;r==="post"?l.scheduler=_=>{Fe(_,c&&c.suspense)}:r!=="sync"&&(h=!0,l.scheduler=(_,U)=>{U?_():oo(_)}),l.augmentJob=_=>{t&&(_.flags|=4),h&&(_.flags|=2,c&&(_.id=c.uid,_.i=c))};const g=_l(e,t,l);return Rn&&(d?d.push(g):a&&g()),g}function Sl(e,t,n){const s=this.proxy,o=xe(e)?e.includes(".")?Hr(s,e):()=>s[e]:e.bind(s,s);let r;Q(t)?r=t:(r=t.handler,n=t);const i=Dn(this),l=Fr(o,r.bind(s),n);return i(),l}function Hr(e,t){const n=t.split(".");return()=>{let s=e;for(let o=0;oe.__isTeleport,ys=Symbol("_leaveCb");function Rl(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==ht){t=n;break}}return t}function Br(e){if(!io(e))return us(e.type)&&e.children?Rl(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&Q(n.default))return n.default()}}function ro(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;ro(us(n.type)&&Br(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Kr(e,t){return Q(e)?Oe({name:e.name},t,{setup:e}):e}function Gr(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function yo(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Jn=new WeakMap;function vn(e,t,n,s,o=!1){if(z(e)){e.forEach((N,B)=>vn(N,t&&(z(t)?t[B]:t),n,s,o));return}if(Yt(s)&&!o){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&vn(e,t,n,s.component.subTree);return}const r=s.shapeFlag&4?ps(s.component):s.el,i=o?null:r,{i:l,r:a}=e,d=t&&t.r,c=l.refs===he?l.refs={}:l.refs,h=l.setupState,g=ue(h),_=h===he?fr:N=>yo(c,N)?!1:ce(g,N),U=(N,B)=>!(B&&yo(c,B));if(d!=null&&d!==a){if(wo(t),xe(d))c[d]=null,_(d)&&(h[d]=null);else if($e(d)){const N=t;U(d,N.k)&&(d.value=null),N.k&&(c[N.k]=null)}}if(Q(a))Tn(a,l,12,[i,c]);else{const N=xe(a),B=$e(a);if(N||B){const K=()=>{if(e.f){const D=N?_(a)?h[a]:c[a]:U()||!e.k?a.value:c[e.k];if(o)z(D)&&Ws(D,r);else if(z(D))D.includes(r)||D.push(r);else if(N)c[a]=[r],_(a)&&(h[a]=c[a]);else{const T=[r];U(a,e.k)&&(a.value=T),e.k&&(c[e.k]=T)}}else N?(c[a]=i,_(a)&&(h[a]=i)):B&&(U(a,e.k)&&(a.value=i),e.k&&(c[e.k]=i))};if(i){const D=()=>{K(),Jn.delete(e)};D.id=-1,Jn.set(e,D),Fe(D,n)}else wo(e),K()}}}function wo(e){const t=Jn.get(e);t&&(t.flags|=8,Jn.delete(e))}rs().requestIdleCallback;rs().cancelIdleCallback;const Yt=e=>!!e.type.__asyncLoader,io=e=>e.type.__isKeepAlive;function Il(e,t){qr(e,"a",t)}function kl(e,t){qr(e,"da",t)}function qr(e,t,n=Ne){const s=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(cs(t,s,n),n){let o=n.parent;for(;o&&o.parent;)io(o.parent.vnode)&&Ol(s,t,n,o),o=o.parent}}function Ol(e,t,n,s){const o=cs(t,e,s,!0);Wr(()=>{Ws(s[t],o)},n)}function cs(e,t,n=Ne,s=!1){if(n){const o=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...i)=>{St();const l=Dn(n),a=et(t,n,e,i);return l(),At(),a});return s?o.unshift(r):o.push(r),r}}const It=e=>(t,n=Ne)=>{(!Rn||e==="sp")&&cs(e,(...s)=>t(...s),n)},Pl=It("bm"),Nn=It("m"),Tl=It("bu"),Nl=It("u"),$l=It("bum"),Wr=It("um"),Dl=It("sp"),Ml=It("rtg"),Vl=It("rtc");function jl(e,t=Ne){cs("ec",e,t)}const Ul="components";function $n(e,t){return Fl(Ul,e,!0,t)||e}const Ll=Symbol.for("v-ndc");function Fl(e,t,n=!0,s=!1){const o=ke||Ne;if(o){const r=o.type;{const l=Aa(r,!1);if(l&&(l===t||l===je(t)||l===ss(je(t))))return r}const i=Co(o[e]||r[e],t)||Co(o.appContext[e],t);return!i&&s?r:i}}function Co(e,t){return e&&(e[t]||e[je(t)]||e[ss(je(t))])}function Re(e,t,n,s){let o;const r=n,i=z(e);if(i||xe(e)){const l=i&&Ht(e);let a=!1,d=!1;l&&(a=!ze(e),d=Rt(e),e=is(e)),o=new Array(e.length);for(let c=0,h=e.length;ct(l,a,void 0,r));else{const l=Object.keys(e);o=new Array(l.length);for(let a=0,d=l.length;a0;return k(),En(le,null,[be("slot",d,s)],c?-2:64)}let i=e[t];i&&i._c&&(i._d=!1);const l=Et.length;k();let a;try{const d=i&&zr(i(n)),c=n.key||r||d&&d.key;a=En(le,{key:(c&&!Xe(c)?c:`_${t}`)+(!d&&s?"_fb":"")},d||(s?s():[]),d&&e._===1?64:-2)}catch(d){for(let c=Et.length;c>l;c--)uo();throw d}finally{i&&i._c&&(i._d=!0)}return a.scopeId&&(a.slotScopeIds=[a.scopeId+"-s"]),a}function zr(e){return e.some(t=>Sn(t)?!(t.type===ht||t.type===le&&!zr(t.children)):!0)?e:null}const Vs=e=>e?hi(e)?ps(e):Vs(e.parent):null,bn=Oe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Vs(e.parent),$root:e=>Vs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Yr(e),$forceUpdate:e=>e.f||(e.f=()=>{oo(e.update)}),$nextTick:e=>e.n||(e.n=so.bind(e.proxy)),$watch:e=>Sl.bind(e)}),ws=(e,t)=>e!==he&&!e.__isScriptSetup&&ce(e,t),Bl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:o,props:r,accessCache:i,type:l,appContext:a}=e;if(t[0]!=="$"){const g=i[t];if(g!==void 0)switch(g){case 1:return s[t];case 2:return o[t];case 4:return n[t];case 3:return r[t]}else{if(ws(s,t))return i[t]=1,s[t];if(o!==he&&ce(o,t))return i[t]=2,o[t];if(ce(r,t))return i[t]=3,r[t];if(n!==he&&ce(n,t))return i[t]=4,n[t];js&&(i[t]=0)}}const d=bn[t];let c,h;if(d)return t==="$attrs"&&Te(e.attrs,"get",""),d(e);if((c=l.__cssModules)&&(c=c[t]))return c;if(n!==he&&ce(n,t))return i[t]=4,n[t];if(h=a.config.globalProperties,ce(h,t))return h[t]},set({_:e},t,n){const{data:s,setupState:o,ctx:r}=e;return ws(o,t)?(o[t]=n,!0):s!==he&&ce(s,t)?(s[t]=n,!0):ce(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:o,props:r,type:i}},l){let a;return!!(n[l]||e!==he&&l[0]!=="$"&&ce(e,l)||ws(t,l)||ce(r,l)||ce(s,l)||ce(bn,l)||ce(o.config.globalProperties,l)||(a=i.__cssModules)&&a[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ce(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Eo(e){return z(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let js=!0;function Kl(e){const t=Yr(e),n=e.proxy,s=e.ctx;js=!1,t.beforeCreate&&So(t.beforeCreate,e,"bc");const{data:o,computed:r,methods:i,watch:l,provide:a,inject:d,created:c,beforeMount:h,mounted:g,beforeUpdate:_,updated:U,activated:N,deactivated:B,beforeDestroy:K,beforeUnmount:D,destroyed:T,unmounted:x,render:E,renderTracked:S,renderTriggered:J,errorCaptured:O,serverPrefetch:ye,expose:Ue,inheritAttrs:nt,components:mt,directives:We,filters:Dt}=t;if(d&&Gl(d,s,null),i)for(const re in i){const te=i[re];Q(te)&&(s[re]=te.bind(n))}if(o){const re=o.call(n,n);de(re)&&(e.data=ls(re))}if(js=!0,r)for(const re in r){const te=r[re],ee=Q(te)?te.bind(n,n):Q(te.get)?te.get.bind(n,n):pt,He=!Q(te)&&Q(te.set)?te.set.bind(n):pt,Be=ve({get:ee,set:He});Object.defineProperty(s,re,{enumerable:!0,configurable:!0,get:()=>Be.value,set:Pe=>Be.value=Pe})}if(l)for(const re in l)Jr(l[re],s,n,re);if(a){const re=Q(a)?a.call(n):a;Reflect.ownKeys(re).forEach(te=>{Bn(te,re[te])})}c&&So(c,e,"c");function we(re,te){z(te)?te.forEach(ee=>re(ee.bind(n))):te&&re(te.bind(n))}if(we(Pl,h),we(Nn,g),we(Tl,_),we(Nl,U),we(Il,N),we(kl,B),we(jl,O),we(Vl,S),we(Ml,J),we($l,D),we(Wr,x),we(Dl,ye),z(Ue))if(Ue.length){const re=e.exposed||(e.exposed={});Ue.forEach(te=>{Object.defineProperty(re,te,{get:()=>n[te],set:ee=>n[te]=ee,enumerable:!0})})}else e.exposed||(e.exposed={});E&&e.render===pt&&(e.render=E),nt!=null&&(e.inheritAttrs=nt),mt&&(e.components=mt),We&&(e.directives=We),ye&&Gr(e)}function Gl(e,t,n=pt){z(e)&&(e=Us(e));for(const s in e){const o=e[s];let r;de(o)?"default"in o?r=Qe(o.from||s,o.default,!0):r=Qe(o.from||s):r=Qe(o),$e(r)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>r.value,set:i=>r.value=i}):t[s]=r}}function So(e,t,n){et(z(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Jr(e,t,n,s){let o=s.includes(".")?Hr(n,s):()=>n[s];if(xe(e)){const r=t[e];Q(r)&&Kn(o,r)}else if(Q(e))Kn(o,e.bind(n));else if(de(e))if(z(e))e.forEach(r=>Jr(r,t,n,s));else{const r=Q(e.handler)?e.handler.bind(n):t[e.handler];Q(r)&&Kn(o,r,e)}}function Yr(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:o,optionsCache:r,config:{optionMergeStrategies:i}}=e.appContext,l=r.get(t);let a;return l?a=l:!o.length&&!n&&!s?a=t:(a={},o.length&&o.forEach(d=>Yn(a,d,i,!0)),Yn(a,t,i)),de(t)&&r.set(t,a),a}function Yn(e,t,n,s=!1){const{mixins:o,extends:r}=t;r&&Yn(e,r,n,!0),o&&o.forEach(i=>Yn(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const l=ql[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const ql={data:Ao,props:Ro,emits:Ro,methods:dn,computed:dn,beforeCreate:De,created:De,beforeMount:De,mounted:De,beforeUpdate:De,updated:De,beforeDestroy:De,beforeUnmount:De,destroyed:De,unmounted:De,activated:De,deactivated:De,errorCaptured:De,serverPrefetch:De,components:dn,directives:dn,watch:zl,provide:Ao,inject:Wl};function Ao(e,t){return t?e?function(){return Oe(Q(e)?e.call(this,this):e,Q(t)?t.call(this,this):t)}:t:e}function Wl(e,t){return dn(Us(e),Us(t))}function Us(e){if(z(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${je(t)}Modifiers`]||e[`${Bt(t)}Modifiers`];function Xl(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||he;let o=n;const r=t.startsWith("update:"),i=r&&Ql(s,t.slice(7));i&&(i.trim&&(o=n.map(c=>xe(c)?c.trim():c)),i.number&&(o=n.map(os)));let l,a=s[l=gs(t)]||s[l=gs(je(t))];!a&&r&&(a=s[l=gs(Bt(t))]),a&&et(a,e,6,o);const d=s[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,et(d,e,6,o)}}const Zl=new WeakMap;function Xr(e,t,n=!1){const s=n?Zl:t.emitsCache,o=s.get(e);if(o!==void 0)return o;const r=e.emits;let i={},l=!1;if(!Q(e)){const a=d=>{const c=Xr(d,t,!0);c&&(l=!0,Oe(i,c))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!r&&!l?(de(e)&&s.set(e,null),null):(z(r)?r.forEach(a=>i[a]=null):Oe(i,r),de(e)&&s.set(e,i),i)}function fs(e,t){return!e||!es(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),ce(e,t[0].toLowerCase()+t.slice(1))||ce(e,Bt(t))||ce(e,t))}function Io(e){const{type:t,vnode:n,proxy:s,withProxy:o,propsOptions:[r],slots:i,attrs:l,emit:a,render:d,renderCache:c,props:h,data:g,setupState:_,ctx:U,inheritAttrs:N}=e,B=zn(e);let K,D;try{if(n.shapeFlag&4){const x=o||s,E=x;K=ut(d.call(E,x,c,h,_,g,U)),D=l}else{const x=t;K=ut(x.length>1?x(h,{attrs:l,slots:i,emit:a}):x(h,null)),D=t.props?l:ea(l)}}catch(x){Et.length=0,as(x,e,1),K=be(ht)}let T=K;if(D&&N!==!1){const x=Object.keys(D),{shapeFlag:E}=T;x.length&&E&7&&(r&&x.some(ts)&&(D=ta(D,r)),T=tn(T,D,!1,!0))}if(n.dirs&&(T=tn(T,null,!1,!0),T.dirs=T.dirs?T.dirs.concat(n.dirs):n.dirs),n.transition){const x=us(T.type)&&Br(T)||T;ro(x,n.transition)}return K=T,zn(B),K}const ea=e=>{let t;for(const n in e)(n==="class"||n==="style"||es(n))&&((t||(t={}))[n]=e[n]);return t},ta=(e,t)=>{const n={};for(const s in e)(!ts(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function na(e,t,n){const{props:s,children:o,component:r}=e,{props:i,children:l,patchFlag:a}=t,d=r.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return s?ko(s,i,d):!!i;if(a&8){const c=t.dynamicProps;for(let h=0;hObject.create(ei),ni=e=>Object.getPrototypeOf(e)===ei;function oa(e,t,n,s=!1){const o={},r=ti();e.propsDefaults=Object.create(null),si(e,t,o,r);for(const i in e.propsOptions[0])i in o||(o[i]=void 0);n?e.props=s?o:Nr(o):e.type.props?e.props=o:e.props=r,e.attrs=r}function ra(e,t,n,s){const{props:o,attrs:r,vnode:{patchFlag:i}}=e,l=ue(o),[a]=e.propsOptions;let d=!1;if((s||i>0)&&!(i&16)){if(i&8){const c=e.vnode.dynamicProps;for(let h=0;h{a=!0;const[g,_]=oi(h,t,!0);Oe(i,g),_&&l.push(..._)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!r&&!a)return de(e)&&s.set(e,Wt),Wt;if(z(r))for(let c=0;ce==="_"||e==="_ctx"||e==="$stable",ao=e=>z(e)?e.map(ut):[ut(e)],la=(e,t,n)=>{if(t._n)return t;const s=$t((...o)=>ao(t(...o)),n);return s._c=!1,s},ri=(e,t,n)=>{const s=e._ctx;for(const o in e){if(lo(o))continue;const r=e[o];if(Q(r))t[o]=la(o,r,s);else if(r!=null){const i=ao(r);t[o]=()=>i}}},ii=(e,t)=>{const n=ao(t);e.slots.default=()=>n},li=(e,t,n)=>{for(const s in t)(n||!lo(s))&&(e[s]=t[s])},aa=(e,t,n)=>{const s=e.slots=ti();if(e.vnode.shapeFlag&32){const o=t._;o?(li(s,t,n),n&&mr(s,"_",o,!0)):ri(t,s)}else t&&ii(e,t)},ua=(e,t,n)=>{const{vnode:s,slots:o}=e;let r=!0,i=he;if(s.shapeFlag&32){const l=t._;l?n&&l===1?r=!1:li(o,t,n):(r=!t.$stable,ri(t,o)),i=t}else t&&(ii(e,t),i={default:1});if(r)for(const l in o)!lo(l)&&i[l]==null&&delete o[l]},Fe=ha;function ca(e){return fa(e)}function fa(e,t){const n=rs();n.__VUE__=!0;const{insert:s,remove:o,patchProp:r,createElement:i,createText:l,createComment:a,setText:d,setElementText:c,parentNode:h,nextSibling:g,setScopeId:_=pt,insertStaticContent:U}=e,N=(f,p,m,C=null,R=null,w=null,V=void 0,M=null,$=!!p.dynamicChildren)=>{if(f===p)return;f&&!cn(f,p)&&(C=A(f),Pe(f,R,w,!0),f=null),p.patchFlag===-2&&($=!1,p.dynamicChildren=null);const{type:I,ref:W,shapeFlag:F}=p;switch(I){case ds:B(f,p,m,C);break;case ht:K(f,p,m,C);break;case Es:f==null&&D(p,m,C,V);break;case le:mt(f,p,m,C,R,w,V,M,$);break;default:F&1?E(f,p,m,C,R,w,V,M,$):F&6?We(f,p,m,C,R,w,V,M,$):(F&64||F&128)&&I.process(f,p,m,C,R,w,V,M,$,G)}W!=null&&R?vn(W,f&&f.ref,w,p||f,!p):W==null&&f&&f.ref!=null&&vn(f.ref,null,w,f,!0)},B=(f,p,m,C)=>{if(f==null)s(p.el=l(p.children),m,C);else{const R=p.el=f.el;p.children!==f.children&&d(R,p.children)}},K=(f,p,m,C)=>{f==null?s(p.el=a(p.children||""),m,C):p.el=f.el},D=(f,p,m,C)=>{[f.el,f.anchor]=U(f.children,p,m,C,f.el,f.anchor)},T=({el:f,anchor:p},m,C)=>{let R;for(;f&&f!==p;)R=g(f),s(f,m,C),f=R;s(p,m,C)},x=({el:f,anchor:p})=>{let m;for(;f&&f!==p;)m=g(f),o(f),f=m;o(p)},E=(f,p,m,C,R,w,V,M,$)=>{if(p.type==="svg"?V="svg":p.type==="math"&&(V="mathml"),f==null)S(p,m,C,R,w,V,M,$);else{const I=f.el&&f.el._isVueCE?f.el:null;try{I&&I._beginPatch(),ye(f,p,R,w,V,M,$)}finally{I&&I._endPatch()}}},S=(f,p,m,C,R,w,V,M)=>{let $,I;const{props:W,shapeFlag:F,transition:q,dirs:y}=f;if($=f.el=i(f.type,w,W&&W.is,W),F&8?c($,f.children):F&16&&O(f.children,$,null,C,R,Cs(f,w),V,M),y&&Mt(f,null,C,"created"),J($,f,f.scopeId,V,C),W){for(const fe in W)fe!=="value"&&!hn(fe)&&r($,fe,null,W[fe],w,C);"value"in W&&r($,"value",null,W.value,w),(I=W.onVnodeBeforeMount)&&it(I,C,f)}y&&Mt(f,null,C,"beforeMount");const v=da(R,q);v&&q.beforeEnter($),s($,p,m),((I=W&&W.onVnodeMounted)||v||y)&&Fe(()=>{try{I&&it(I,C,f),v&&q.enter($),y&&Mt(f,null,C,"mounted")}finally{}},R)},J=(f,p,m,C,R)=>{if(m&&_(f,m),C)for(let w=0;w{for(let I=$;I{const M=p.el=f.el;let{patchFlag:$,dynamicChildren:I,dirs:W}=p;$|=f.patchFlag&16;const F=f.props||he,q=p.props||he;let y;if(m&&Vt(m,!1),(y=q.onVnodeBeforeUpdate)&&it(y,m,p,f),W&&Mt(p,f,m,"beforeUpdate"),m&&Vt(m,!0),I&&(!f.dynamicChildren||f.dynamicChildren.length!==I.length)&&($=0,V=!1,I=null),(F.innerHTML&&q.innerHTML==null||F.textContent&&q.textContent==null)&&c(M,""),I?Ue(f.dynamicChildren,I,M,m,C,Cs(p,R),w):V||te(f,p,M,null,m,C,Cs(p,R),w,!1),$>0){if($&16)nt(M,F,q,m,R);else if($&2&&F.class!==q.class&&r(M,"class",null,q.class,R),$&4&&r(M,"style",F.style,q.style,R),$&8){const v=p.dynamicProps;for(let fe=0;fe{y&&it(y,m,p,f),W&&Mt(p,f,m,"updated")},C)},Ue=(f,p,m,C,R,w,V)=>{for(let M=0;M{if(p!==m){if(p!==he)for(const w in p)!hn(w)&&!(w in m)&&r(f,w,p[w],null,R,C);for(const w in m){if(hn(w))continue;const V=m[w],M=p[w];V!==M&&w!=="value"&&r(f,w,M,V,R,C)}"value"in m&&r(f,"value",p.value,m.value,R)}},mt=(f,p,m,C,R,w,V,M,$)=>{const I=p.el=f?f.el:l(""),W=p.anchor=f?f.anchor:l("");let{patchFlag:F,dynamicChildren:q,slotScopeIds:y}=p;y&&(M=M?M.concat(y):y),f==null?(s(I,m,C),s(W,m,C),O(p.children||[],m,W,R,w,V,M,$)):F>0&&F&64&&q&&f.dynamicChildren&&f.dynamicChildren.length===q.length?(Ue(f.dynamicChildren,q,m,R,w,V,M),(p.key!=null||R&&p===R.subTree)&&ai(f,p,!0)):te(f,p,m,W,R,w,V,M,$)},We=(f,p,m,C,R,w,V,M,$)=>{p.slotScopeIds=M,f==null?p.shapeFlag&512?R.ctx.activate(p,m,C,V,$):Dt(p,m,C,R,w,V,$):kt(f,p,$)},Dt=(f,p,m,C,R,w,V)=>{const M=f.component=xa(f,C,R);if(io(f)&&(M.ctx.renderer=G),wa(M,!1,V),M.asyncDep){if(R&&R.registerDep(M,we,V),!f.el){const $=M.subTree=be(ht);K(null,$,p,m),f.placeholder=$.el}}else we(M,f,p,m,R,w,V)},kt=(f,p,m)=>{const C=p.component=f.component;if(na(f,p,m))if(C.asyncDep&&!C.asyncResolved){re(C,p,m);return}else C.next=p,C.update();else p.el=f.el,C.vnode=p},we=(f,p,m,C,R,w,V)=>{const M=()=>{if(f.isMounted){let{next:F,bu:q,u:y,parent:v,vnode:fe}=f;{const ot=ui(f);if(ot){F&&(F.el=fe.el,re(f,F,V)),ot.asyncDep.then(()=>{Fe(()=>{f.isUnmounted||I()},R)});return}}let b=F,ne;Vt(f,!1),F?(F.el=fe.el,re(f,F,V)):F=fe,q&&Hn(q),(ne=F.props&&F.props.onVnodeBeforeUpdate)&&it(ne,v,F,fe),Vt(f,!0);const pe=Io(f),st=f.subTree;f.subTree=pe,N(st,pe,h(st.el),A(st),f,R,w),F.el=pe.el,b===null&&sa(f,pe.el),y&&Fe(y,R),(ne=F.props&&F.props.onVnodeUpdated)&&Fe(()=>it(ne,v,F,fe),R)}else{let F;const{el:q,props:y}=p,{bm:v,m:fe,parent:b,root:ne,type:pe}=f,st=Yt(p);Vt(f,!1),v&&Hn(v),!st&&(F=y&&y.onVnodeBeforeMount)&&it(F,b,p),Vt(f,!0);{ne.ce&&ne.ce._hasShadowRoot()&&ne.ce._injectChildStyle(pe,f.parent?f.parent.type:void 0);const ot=f.subTree=Io(f);N(null,ot,m,C,f,R,w),p.el=ot.el}if(fe&&Fe(fe,R),!st&&(F=y&&y.onVnodeMounted)){const ot=p;Fe(()=>it(F,b,ot),R)}(p.shapeFlag&256||b&&Yt(b.vnode)&&b.vnode.shapeFlag&256)&&f.a&&Fe(f.a,R),f.isMounted=!0,p=m=C=null}};f.scope.on();const $=f.effect=new _r(M);f.scope.off();const I=f.update=$.run.bind($),W=f.job=$.runIfDirty.bind($);W.i=f,W.id=f.uid,$.scheduler=()=>oo(W),Vt(f,!0),I()},re=(f,p,m)=>{p.component=f;const C=f.vnode.props;f.vnode=p,f.next=null,ra(f,p.props,C,m),ua(f,p.children,m),St(),xo(f),At()},te=(f,p,m,C,R,w,V,M,$=!1)=>{const I=f&&f.children,W=f?f.shapeFlag:0,F=p.children,{patchFlag:q,shapeFlag:y}=p;if(q>0){if(q&128){He(I,F,m,C,R,w,V,M,$);return}else if(q&256){ee(I,F,m,C,R,w,V,M,$);return}}y&8?(W&16&&Le(I,R,w),F!==I&&c(m,F)):W&16?y&16?He(I,F,m,C,R,w,V,M,$):Le(I,R,w,!0):(W&8&&c(m,""),y&16&&O(F,m,C,R,w,V,M,$))},ee=(f,p,m,C,R,w,V,M,$)=>{f=f||Wt,p=p||Wt;const I=f.length,W=p.length,F=Math.min(I,W);let q;for(q=0;qW?Le(f,R,w,!0,!1,F):O(p,m,C,R,w,V,M,$,F)},He=(f,p,m,C,R,w,V,M,$)=>{let I=0;const W=p.length;let F=f.length-1,q=W-1;for(;I<=F&&I<=q;){const y=f[I],v=p[I]=$?yt(p[I]):ut(p[I]);if(cn(y,v))N(y,v,m,null,R,w,V,M,$);else break;I++}for(;I<=F&&I<=q;){const y=f[F],v=p[q]=$?yt(p[q]):ut(p[q]);if(cn(y,v))N(y,v,m,null,R,w,V,M,$);else break;F--,q--}if(I>F){if(I<=q){const y=q+1,v=yq)for(;I<=F;)Pe(f[I],R,w,!0),I++;else{const y=I,v=I,fe=new Map;for(I=v;I<=q;I++){const Ge=p[I]=$?yt(p[I]):ut(p[I]);Ge.key!=null&&fe.set(Ge.key,I)}let b,ne=0;const pe=q-v+1;let st=!1,ot=0;const an=new Array(pe);for(I=0;I=pe){Pe(Ge,R,w,!0);continue}let rt;if(Ge.key!=null)rt=fe.get(Ge.key);else for(b=v;b<=q;b++)if(an[b-v]===0&&cn(Ge,p[b])){rt=b;break}rt===void 0?Pe(Ge,R,w,!0):(an[rt-v]=I+1,rt>=ot?ot=rt:st=!0,N(Ge,p[rt],m,null,R,w,V,M,$),ne++)}const po=st?pa(an):Wt;for(b=po.length-1,I=pe-1;I>=0;I--){const Ge=v+I,rt=p[Ge],ho=p[Ge+1],mo=Ge+1{const{el:w,type:V,transition:M,children:$,shapeFlag:I}=f;if(I&6){Be(f.component.subTree,p,m,C);return}if(I&128){f.suspense.move(p,m,C);return}if(I&64){V.move(f,p,m,G);return}if(V===le){s(w,p,m);for(let F=0;F<$.length;F++)Be($[F],p,m,C);s(f.anchor,p,m);return}if(V===Es){T(f,p,m);return}if(C!==2&&I&1&&M)if(C===0)M.persisted&&!w[ys]?s(w,p,m):(M.beforeEnter(w),s(w,p,m),Fe(()=>M.enter(w),R));else{const{leave:F,delayLeave:q,afterLeave:y}=M,v=()=>{f.ctx.isUnmounted?o(w):s(w,p,m)},fe=()=>{const b=w._isLeaving||!!w[ys];w._isLeaving&&w[ys](!0),M.persisted&&!b?v():F(w,()=>{v(),y&&y()})};q?q(w,v,fe):fe()}else s(w,p,m)},Pe=(f,p,m,C=!1,R=!1)=>{const{type:w,props:V,ref:M,children:$,dynamicChildren:I,shapeFlag:W,patchFlag:F,dirs:q,cacheIndex:y,memo:v}=f;if(F===-2&&(R=!1),M!=null&&(St(),vn(M,null,m,f,!0),At()),y!=null&&(p.renderCache[y]=void 0),W&256){p.ctx.deactivate(f);return}const fe=W&1&&q,b=!Yt(f);let ne;if(b&&(ne=V&&V.onVnodeBeforeUnmount)&&it(ne,p,f),W&6)vt(f.component,m,C);else{if(W&128){f.suspense.unmount(m,C);return}fe&&Mt(f,null,p,"beforeUnmount"),W&64?f.type.remove(f,p,m,G,C):I&&!I.hasOnce&&(w!==le||F>0&&F&64)?Le(I,p,m,!1,!0):(w===le&&F&384||!R&&W&16)&&Le($,p,m),C&>(f)}const pe=v!=null&&y==null;(b&&(ne=V&&V.onVnodeUnmounted)||fe||pe)&&Fe(()=>{ne&&it(ne,p,f),fe&&Mt(f,null,p,"unmounted"),pe&&(f.el=null)},m)},gt=f=>{const{type:p,el:m,anchor:C,transition:R}=f;if(p===le){Ke(m,C);return}if(p===Es){x(f);return}const w=()=>{o(m),R&&!R.persisted&&R.afterLeave&&R.afterLeave()};if(f.shapeFlag&1&&R&&!R.persisted){const{leave:V,delayLeave:M}=R,$=()=>V(m,w);M?M(f.el,w,$):$()}else w()},Ke=(f,p)=>{let m;for(;f!==p;)m=g(f),o(f),f=m;o(p)},vt=(f,p,m)=>{const{bum:C,scope:R,job:w,subTree:V,um:M,m:$,a:I}=f;Po($),Po(I),C&&Hn(C),R.stop(),w&&(w.flags|=8,Pe(V,f,p,m)),M&&Fe(M,p),Fe(()=>{f.isUnmounted=!0},p)},Le=(f,p,m,C=!1,R=!1,w=0)=>{for(let V=w;V{if(f.shapeFlag&6)return A(f.component.subTree);if(f.shapeFlag&128)return f.suspense.next();const p=g(f.anchor||f.el),m=p&&p[Al];return m?g(m):p};let H=!1;const L=(f,p,m)=>{let C;f==null?p._vnode&&(Pe(p._vnode,null,null,!0),C=p._vnode.component):N(p._vnode||null,f,p,null,null,null,m),p._vnode=f,H||(H=!0,xo(C),jr(),H=!1)},G={p:N,um:Pe,m:Be,r:gt,mt:Dt,mc:O,pc:te,pbc:Ue,n:A,o:e};return{render:L,hydrate:void 0,createApp:Yl(L)}}function Cs({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Vt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function da(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ai(e,t,n=!1){const s=e.children,o=t.children;if(z(s)&&z(o))for(let r=0;r>1,e[n[l]]0&&(t[s]=n[r-1]),n[r]=s)}}for(r=n.length,i=n[r-1];r-- >0;)n[r]=i,i=t[i];return n}function ui(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ui(t)}function Po(e){if(e)for(let t=0;te.__isSuspense;function ha(e,t){t&&t.pendingBranch?z(e)?t.effects.push(...e):t.effects.push(e):wl(e)}const le=Symbol.for("v-fgt"),ds=Symbol.for("v-txt"),ht=Symbol.for("v-cmt"),Es=Symbol.for("v-stc"),Et=[];let qe=null;function k(e=!1){Et.push(qe=e?null:[])}function uo(){Et.pop(),qe=Et[Et.length-1]||null}let Cn=1;function Qn(e,t=!1){Cn+=e,e<0&&qe&&t&&(qe.hasOnce=!0)}function di(e){return e.dynamicChildren=Cn>0?qe||Wt:null,uo(),Cn>0&&qe&&qe.push(e),e}function P(e,t,n,s,o,r){return di(u(e,t,n,s,o,r,!0))}function En(e,t,n,s,o){return di(be(e,t,n,s,o,!0))}function Sn(e){return e?e.__v_isVNode===!0:!1}function cn(e,t){return e.type===t.type&&e.key===t.key}const pi=({key:e})=>e??null,Gn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?xe(e)||$e(e)||Q(e)?{i:ke,r:e,k:t,f:!!n}:e:null);function u(e,t=null,n=null,s=0,o=null,r=e===le?0:1,i=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&pi(t),ref:t&&Gn(t),scopeId:Lr,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:s,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:ke};return l?(Xn(a,n),r&128&&e.normalize(a)):n&&(a.shapeFlag|=xe(n)?8:16),Cn>0&&!i&&qe&&(a.patchFlag>0||r&6)&&a.patchFlag!==32&&qe.push(a),a}const be=ma;function ma(e,t=null,n=null,s=0,o=null,r=!1){if((!e||e===Ll)&&(e=ht),Sn(e)){const l=tn(e,t,!0);return n&&Xn(l,n),Cn>0&&!r&&qe&&(l.shapeFlag&6?qe[qe.indexOf(e)]=l:qe.push(l)),l.patchFlag=-2,l}if(Ra(e)&&(e=e.__vccOpts),t){t=ga(t);let{class:l,style:a}=t;l&&!xe(l)&&(t.class=Se(l)),de(a)&&(no(a)&&!z(a)&&(a=Oe({},a)),t.style=Zt(a))}const i=xe(e)?1:fi(e)?128:us(e)?64:de(e)?4:Q(e)?2:0;return u(e,t,n,s,o,i,r,!0)}function ga(e){return e?no(e)||ni(e)?Oe({},e):e:null}function tn(e,t,n=!1,s=!1){const{props:o,ref:r,patchFlag:i,children:l,transition:a}=e,d=t?va(o||{},t):o,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&pi(d),ref:t&&t.ref?n&&r?z(r)?r.concat(Gn(t)):[r,Gn(t)]:Gn(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==le?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&tn(e.ssContent),ssFallback:e.ssFallback&&tn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&s&&ro(c,a.clone(c)),c}function Ce(e=" ",t=0){return be(ds,null,e,t)}function X(e="",t=!1){return t?(k(),En(ht,null,e)):be(ht,null,e)}function ut(e){return e==null||typeof e=="boolean"?be(ht):z(e)?be(le,null,e.slice()):Sn(e)?yt(e):be(ds,null,String(e))}function yt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:tn(e)}function Xn(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(z(t))n=16;else if(typeof t=="object")if(s&65){const o=t.default;o&&(o._c&&(o._d=!1),Xn(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!ni(t)?t._ctx=ke:o===3&&ke&&(ke.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Q(t)){if(s&65){Xn(e,{default:t});return}t={default:t,_ctx:ke},n=32}else t=String(t),s&64?(n=16,t=[Ce(t)]):n=8;e.children=t,e.shapeFlag|=n}function va(...e){const t={};for(let n=0;nNe||ke;let Zn,An;{const e=rs(),t=(n,s)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(s),r=>{o.length>1?o.forEach(i=>i(r)):o[0](r)}};Zn=t("__VUE_INSTANCE_SETTERS__",n=>Ne=n),An=t("__VUE_SSR_SETTERS__",n=>Rn=n)}const Dn=e=>{const t=Ne;return Zn(e),e.scope.on(),()=>{e.scope.off(),Zn(t)}},To=()=>{Ne&&Ne.scope.off(),Zn(null)};function hi(e){return e.vnode.shapeFlag&4}let Rn=!1;function wa(e,t=!1,n=!1){t&&An(t);const{props:s,children:o}=e.vnode,r=hi(e);oa(e,s,r,t),aa(e,o,n||t);const i=r?Ca(e,t):void 0;return t&&An(!1),i}function Ca(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Bl);const{setup:s}=n;if(s){St();const o=e.setupContext=s.length>1?Sa(e):null,r=Dn(e),i=Tn(s,e,0,[e.props,o]),l=dr(i);if(At(),r(),(l||e.sp)&&!Yt(e)&&Gr(e),l){if(i.then(To,To),t)return i.then(a=>{An(!0);try{No(e,a,t)}finally{An(!1)}}).catch(a=>{as(a,e,0)});e.asyncDep=i}else No(e,i)}else mi(e)}function No(e,t,n){Q(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:de(t)&&(e.setupState=Dr(t)),mi(e)}function mi(e,t,n){const s=e.type;e.render||(e.render=s.render||pt);{const o=Dn(e);St();try{Kl(e)}finally{At(),o()}}}const Ea={get(e,t){return Te(e,"get",""),e[t]}};function Sa(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Ea),slots:e.slots,emit:e.emit,expose:t}}function ps(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Dr(dl(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in bn)return bn[n](e)},has(t,n){return n in t||n in bn}})):e.proxy}function Aa(e,t=!0){return Q(e)?e.displayName||e.name:e.name||t&&e.__name}function Ra(e){return Q(e)&&"__vccOpts"in e}const ve=(e,t)=>vl(e,t,Rn);function gi(e,t,n){try{Qn(-1);const s=arguments.length;return s===2?de(t)&&!z(t)?Sn(t)?be(e,null,[t]):be(e,t):be(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Sn(n)&&(n=[n]),be(e,t,n))}finally{Qn(1)}}const Ia="3.5.41";/**
-* @vue/runtime-dom v3.5.41
-* (c) 2018-present Yuxi (Evan) You and Vue contributors
-* @license MIT
-**/let Fs;const $o=typeof window<"u"&&window.trustedTypes;if($o)try{Fs=$o.createPolicy("vue",{createHTML:e=>e})}catch{}const vi=Fs?e=>Fs.createHTML(e):e=>e,ka="http://www.w3.org/2000/svg",Oa="http://www.w3.org/1998/Math/MathML",xt=typeof document<"u"?document:null,Do=xt&&xt.createElement("template"),Pa={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const o=t==="svg"?xt.createElementNS(ka,e):t==="mathml"?xt.createElementNS(Oa,e):n?xt.createElement(e,{is:n}):xt.createElement(e);return e==="select"&&s&&s.multiple!=null&&o.setAttribute("multiple",s.multiple),o},createText:e=>xt.createTextNode(e),createComment:e=>xt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>xt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,o,r){const i=n?n.previousSibling:t.lastChild;if(o&&(o===r||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===r||!(o=o.nextSibling)););else{Do.innerHTML=vi(s==="svg"?`${e} `:s==="mathml"?`${e} `:e);const l=Do.content;if(s==="svg"||s==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ta=Symbol("_vtc");function Na(e,t,n){const s=e[Ta];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Mo=Symbol("_vod"),$a=Symbol("_vsh"),Da=Symbol(""),Ma=/(?:^|;)\s*display\s*:/;function Va(e,t,n){const s=e.style,o=xe(n);let r=!1;if(n&&!o){if(t)if(xe(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&pn(s,l,"")}else for(const i in t)n[i]==null&&pn(s,i,"");for(const i in n){i==="display"&&(r=!0);const l=n[i];l!=null?Ua(e,i,!xe(t)&&t?t[i]:void 0,l)||pn(s,i,l):pn(s,i,"")}}else if(o){if(t!==n){const i=s[Da];i&&(n+=";"+i),s.cssText=n,r=Ma.test(n)}}else t&&e.removeAttribute("style");Mo in e&&(e[Mo]=r?s.display:"",e[$a]&&(s.display="none"))}const Vo=/\s*!important$/;function pn(e,t,n){if(z(n))n.forEach(s=>pn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=ja(e,t);Vo.test(n)?e.setProperty(Bt(s),n.replace(Vo,""),"important"):e[s]=n}}const jo=["Webkit","Moz","ms"],Ss={};function ja(e,t){const n=Ss[t];if(n)return n;let s=je(t);if(s!=="filter"&&s in e)return Ss[t]=s;s=ss(s);for(let o=0;oAs||(Ga.then(()=>As=0),As=Date.now());function Wa(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const o=n.value;if(z(o)){const r=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{r.call(s),s._stopped=!0};const i=o.slice(),l=[s];for(let a=0;ae.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,za=(e,t,n,s,o,r)=>{const i=o==="svg";t==="class"?Na(e,s,i):t==="style"?Va(e,n,s):es(t)?ts(t)||Fa(e,t,n,s,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Ja(e,t,s,i))?(Fo(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Lo(e,t,s,i,r,t!=="value")):e._isVueCE&&(Ya(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!xe(s)))?Fo(e,je(t),s,r,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Lo(e,t,s,i))};function Ja(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Bo(t)&&Q(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return Bo(t)&&xe(n)?!1:t in e}function Ya(e,t){const n=e._def.props;if(!n)return!1;const s=je(t);return Array.isArray(n)?n.some(o=>je(o)===s):Object.keys(n).some(o=>je(o)===s)}const nn=e=>{const t=e.props["onUpdate:modelValue"]||!1;return z(t)?n=>Hn(t,n):t};function Qa(e){e.target.composing=!0}function Ko(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const dt=Symbol("_assign"),Un=Symbol("_initialValue");function Rs(e,t,n){return t&&(e=e.trim()),n&&(e=os(e)),e}const ge={created(e,{modifiers:{lazy:t,trim:n,number:s}},o){e.parentNode&&(e.type==="text"?e[Un]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[Un]=e.defaultValue.replace(/\r\n?/g,`
-`))),e[dt]=nn(o);const r=s||o.props&&o.props.type==="number";Nt(e,t?"change":"input",i=>{i.target.composing||e[dt](Rs(e.value,n,r))}),(n||r)&&Nt(e,"change",()=>{e.value=Rs(e.value,n,r)}),t||(Nt(e,"compositionstart",Qa),Nt(e,"compositionend",Ko),Nt(e,"change",Ko))},mounted(e,{value:t,modifiers:{trim:n,number:s}}){const o=t??"",r=e[Un];delete e[Un],r!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==r?e[dt](Rs(e.value,n,s)):e.value=o},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:o,number:r}},i){if(e[dt]=nn(i),e.composing)return;const l=(r||e.type==="number")&&!/^0\d/.test(e.value)?os(e.value):e.value,a=t??"";if(l===a)return;const d=e.getRootNode();(d instanceof Document||d instanceof ShadowRoot)&&d.activeElement===e&&e.type!=="range"&&(s&&t===n||o&&e.value.trim()===a)||(e.value=a)}},Ut={deep:!0,created(e,t,n){e[dt]=nn(n),Nt(e,"change",()=>{const s=e._modelValue,o=kn(e),r=e.checked,i=e[dt];if(z(s)){const l=Js(s,o),a=l!==-1;if(r&&!a)i(s.concat(o));else if(!r&&a){const d=[...s];d.splice(l,1),i(d)}}else if(rn(s)){const l=new Set(s);r?l.add(o):l.delete(o),i(l)}else i(bi(e,r))})},mounted:Go,beforeUpdate(e,t,n){e[dt]=nn(n),Go(e,t,n)}};function Go(e,{value:t,oldValue:n},s){e._modelValue=t;let o;if(z(t))o=Js(t,s.props.value)>-1;else if(rn(t))o=t.has(s.props.value);else{if(t===n)return;o=ln(t,bi(e,!0))}e.checked!==o&&(e.checked=o)}const In={deep:!0,created(e,{value:t,modifiers:{number:n}},s){e._modelValue=t,Nt(e,"change",()=>{const o=Array.prototype.filter.call(e.options,r=>r.selected).map(r=>n?os(kn(r)):kn(r));e[dt](e.multiple?rn(e._modelValue)?new Set(o):o:o[0]),e._assigning=!0,so(()=>{e._assigning=!1})}),e[dt]=nn(s)},mounted(e,{value:t}){qo(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[dt]=nn(n)},updated(e,{value:t}){e._assigning||qo(e,t)}};function qo(e,t){const n=e.multiple,s=z(t);if(!(n&&!s&&!rn(t))){for(let o=0,r=e.options.length;oString(d)===String(l)):i.selected=Js(t,l)>-1}else i.selected=t.has(l);else if(ln(kn(i),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function kn(e){return"_value"in e?e._value:e.value}function bi(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Xa=["ctrl","shift","alt","meta"],Za={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Xa.some(n=>e[`${n}Key`]&&!t.includes(n))},ct=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=((o,...r)=>{for(let i=0;i{const t=tu().createApp(...e),{mount:n}=t;return t.mount=s=>{const o=ou(s);if(!o)return;const r=t._component;!Q(r)&&!r.render&&!r.template&&(r.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const i=n(o,!1,su(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},t});function su(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ou(e){return xe(e)?document.querySelector(e):e}/*!
- * vue-router v4.6.4
- * (c) 2025 Eduardo San Martin Morote
- * @license MIT
- */const qt=typeof document<"u";function _i(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function ru(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&_i(e.default)}const ae=Object.assign;function Is(e,t){const n={};for(const s in t){const o=t[s];n[s]=tt(o)?o.map(e):e(o)}return n}const _n=()=>{},tt=Array.isArray;function zo(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}const xi=/#/g,iu=/&/g,lu=/\//g,au=/=/g,uu=/\?/g,yi=/\+/g,cu=/%5B/g,fu=/%5D/g,wi=/%5E/g,du=/%60/g,Ci=/%7B/g,pu=/%7C/g,Ei=/%7D/g,hu=/%20/g;function co(e){return e==null?"":encodeURI(""+e).replace(pu,"|").replace(cu,"[").replace(fu,"]")}function mu(e){return co(e).replace(Ci,"{").replace(Ei,"}").replace(wi,"^")}function Hs(e){return co(e).replace(yi,"%2B").replace(hu,"+").replace(xi,"%23").replace(iu,"%26").replace(du,"`").replace(Ci,"{").replace(Ei,"}").replace(wi,"^")}function gu(e){return Hs(e).replace(au,"%3D")}function vu(e){return co(e).replace(xi,"%23").replace(uu,"%3F")}function bu(e){return vu(e).replace(lu,"%2F")}function On(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const _u=/\/$/,xu=e=>e.replace(_u,"");function ks(e,t,n="/"){let s,o={},r="",i="";const l=t.indexOf("#");let a=t.indexOf("?");return a=l>=0&&a>l?-1:a,a>=0&&(s=t.slice(0,a),r=t.slice(a,l>0?l:t.length),o=e(r.slice(1))),l>=0&&(s=s||t.slice(0,l),i=t.slice(l,t.length)),s=Eu(s??t,n),{fullPath:s+r+i,path:s,query:o,hash:On(i)}}function yu(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Jo(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function wu(e,t,n){const s=t.matched.length-1,o=n.matched.length-1;return s>-1&&s===o&&sn(t.matched[s],n.matched[o])&&Si(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function sn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Si(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Cu(e[n],t[n]))return!1;return!0}function Cu(e,t){return tt(e)?Yo(e,t):tt(t)?Yo(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function Yo(e,t){return tt(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function Eu(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),o=s[s.length-1];(o===".."||o===".")&&s.push("");let r=n.length-1,i,l;for(i=0;i1&&r--;else break;return n.slice(0,r).join("/")+"/"+s.slice(i).join("/")}const Ot={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Bs=(function(e){return e.pop="pop",e.push="push",e})({}),Os=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function Su(e){if(!e)if(qt){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),xu(e)}const Au=/^[^#]+#/;function Ru(e,t){return e.replace(Au,"#")+t}function Iu(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const hs=()=>({left:window.scrollX,top:window.scrollY});function ku(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=Iu(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Qo(e,t){return(history.state?history.state.position-t:-1)+e}const Ks=new Map;function Ou(e,t){Ks.set(e,t)}function Pu(e){const t=Ks.get(e);return Ks.delete(e),t}function Tu(e){return typeof e=="string"||e&&typeof e=="object"}function Ai(e){return typeof e=="string"||typeof e=="symbol"}let _e=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const Ri=Symbol("");_e.MATCHER_NOT_FOUND+"",_e.NAVIGATION_GUARD_REDIRECT+"",_e.NAVIGATION_ABORTED+"",_e.NAVIGATION_CANCELLED+"",_e.NAVIGATION_DUPLICATED+"";function on(e,t){return ae(new Error,{type:e,[Ri]:!0},t)}function _t(e,t){return e instanceof Error&&Ri in e&&(t==null||!!(e.type&t))}const Nu=["params","query","hash"];function $u(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of Nu)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function Du(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;so&&Hs(o)):[s&&Hs(s)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function Mu(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=tt(s)?s.map(o=>o==null?null:""+o):s==null?s:""+s)}return t}const Vu=Symbol(""),Zo=Symbol(""),ms=Symbol(""),fo=Symbol(""),Gs=Symbol("");function fn(){let e=[];function t(s){return e.push(s),()=>{const o=e.indexOf(s);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Tt(e,t,n,s,o,r=i=>i()){const i=s&&(s.enterCallbacks[o]=s.enterCallbacks[o]||[]);return()=>new Promise((l,a)=>{const d=g=>{g===!1?a(on(_e.NAVIGATION_ABORTED,{from:n,to:t})):g instanceof Error?a(g):Tu(g)?a(on(_e.NAVIGATION_GUARD_REDIRECT,{from:t,to:g})):(i&&s.enterCallbacks[o]===i&&typeof g=="function"&&i.push(g),l())},c=r(()=>e.call(s&&s.instances[o],t,n,d));let h=Promise.resolve(c);e.length<3&&(h=h.then(d)),h.catch(g=>a(g))})}function Ps(e,t,n,s,o=r=>r()){const r=[];for(const i of e)for(const l in i.components){let a=i.components[l];if(!(t!=="beforeRouteEnter"&&!i.instances[l]))if(_i(a)){const d=(a.__vccOpts||a)[t];d&&r.push(Tt(d,n,s,i,l,o))}else{let d=a();r.push(()=>d.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${l}" at "${i.path}"`);const h=ru(c)?c.default:c;i.mods[l]=c,i.components[l]=h;const g=(h.__vccOpts||h)[t];return g&&Tt(g,n,s,i,l,o)()}))}}return r}function ju(e,t){const n=[],s=[],o=[],r=Math.max(t.matched.length,e.matched.length);for(let i=0;isn(d,l))?s.push(l):n.push(l));const a=e.matched[i];a&&(t.matched.find(d=>sn(d,a))||o.push(a))}return[n,s,o]}/*!
- * vue-router v4.6.4
- * (c) 2025 Eduardo San Martin Morote
- * @license MIT
- */let Uu=()=>location.protocol+"//"+location.host;function Ii(e,t){const{pathname:n,search:s,hash:o}=t,r=e.indexOf("#");if(r>-1){let i=o.includes(e.slice(r))?e.slice(r).length:1,l=o.slice(i);return l[0]!=="/"&&(l="/"+l),Jo(l,"")}return Jo(n,e)+s+o}function Lu(e,t,n,s){let o=[],r=[],i=null;const l=({state:g})=>{const _=Ii(e,location),U=n.value,N=t.value;let B=0;if(g){if(n.value=_,t.value=g,i&&i===U){i=null;return}B=N?g.position-N.position:0}else s(_);o.forEach(K=>{K(n.value,U,{delta:B,type:Bs.pop,direction:B?B>0?Os.forward:Os.back:Os.unknown})})};function a(){i=n.value}function d(g){o.push(g);const _=()=>{const U=o.indexOf(g);U>-1&&o.splice(U,1)};return r.push(_),_}function c(){if(document.visibilityState==="hidden"){const{history:g}=window;if(!g.state)return;g.replaceState(ae({},g.state,{scroll:hs()}),"")}}function h(){for(const g of r)g();r=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",c),document.removeEventListener("visibilitychange",c)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",c),document.addEventListener("visibilitychange",c),{pauseListeners:a,listen:d,destroy:h}}function er(e,t,n,s=!1,o=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:o?hs():null}}function Fu(e){const{history:t,location:n}=window,s={value:Ii(e,n)},o={value:t.state};o.value||r(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function r(a,d,c){const h=e.indexOf("#"),g=h>-1?(n.host&&document.querySelector("base")?e:e.slice(h))+a:Uu()+e+a;try{t[c?"replaceState":"pushState"](d,"",g),o.value=d}catch(_){console.error(_),n[c?"replace":"assign"](g)}}function i(a,d){r(a,ae({},t.state,er(o.value.back,a,o.value.forward,!0),d,{position:o.value.position}),!0),s.value=a}function l(a,d){const c=ae({},o.value,t.state,{forward:a,scroll:hs()});r(c.current,c,!0),r(a,ae({},er(s.value,a,null),{position:c.position+1},d),!1),s.value=a}return{location:s,state:o,push:l,replace:i}}function Hu(e){e=Su(e);const t=Fu(e),n=Lu(e,t.state,t.location,t.replace);function s(r,i=!0){i||n.pauseListeners(),history.go(r)}const o=ae({location:"",base:e,go:s,createHref:Ru.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}let Lt=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var Ee=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(Ee||{});const Bu={type:Lt.Static,value:""},Ku=/[a-zA-Z0-9_]/;function Gu(e){if(!e)return[[]];if(e==="/")return[[Bu]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(_){throw new Error(`ERR (${n})/"${d}": ${_}`)}let n=Ee.Static,s=n;const o=[];let r;function i(){r&&o.push(r),r=[]}let l=0,a,d="",c="";function h(){d&&(n===Ee.Static?r.push({type:Lt.Static,value:d}):n===Ee.Param||n===Ee.ParamRegExp||n===Ee.ParamRegExpEnd?(r.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${d}) must be alone in its segment. eg: '/:ids+.`),r.push({type:Lt.Param,value:d,regexp:c,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),d="")}function g(){d+=a}for(;lt.length?t.length===1&&t[0]===Me.Static+Me.Segment?1:-1:0}function ki(e,t){let n=0;const s=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const Yu={strict:!1,end:!0,sensitive:!1};function Qu(e,t,n){const s=zu(Gu(e.path),n),o=ae(s,{record:e,parent:t,children:[],alias:[]});return t&&!o.record.aliasOf==!t.record.aliasOf&&t.children.push(o),o}function Xu(e,t){const n=[],s=new Map;t=zo(Yu,t);function o(h){return s.get(h)}function r(h,g,_){const U=!_,N=or(h);N.aliasOf=_&&_.record;const B=zo(t,h),K=[N];if("alias"in h){const x=typeof h.alias=="string"?[h.alias]:h.alias;for(const E of x)K.push(or(ae({},N,{components:_?_.record.components:N.components,path:E,aliasOf:_?_.record:N})))}let D,T;for(const x of K){const{path:E}=x;if(g&&E[0]!=="/"){const S=g.record.path,J=S[S.length-1]==="/"?"":"/";x.path=g.record.path+(E&&J+E)}if(D=Qu(x,g,B),_?_.alias.push(D):(T=T||D,T!==D&&T.alias.push(D),U&&h.name&&!rr(D)&&i(h.name)),Oi(D)&&a(D),N.children){const S=N.children;for(let J=0;J{i(T)}:_n}function i(h){if(Ai(h)){const g=s.get(h);g&&(s.delete(h),n.splice(n.indexOf(g),1),g.children.forEach(i),g.alias.forEach(i))}else{const g=n.indexOf(h);g>-1&&(n.splice(g,1),h.record.name&&s.delete(h.record.name),h.children.forEach(i),h.alias.forEach(i))}}function l(){return n}function a(h){const g=tc(h,n);n.splice(g,0,h),h.record.name&&!rr(h)&&s.set(h.record.name,h)}function d(h,g){let _,U={},N,B;if("name"in h&&h.name){if(_=s.get(h.name),!_)throw on(_e.MATCHER_NOT_FOUND,{location:h});B=_.record.name,U=ae(sr(g.params,_.keys.filter(T=>!T.optional).concat(_.parent?_.parent.keys.filter(T=>T.optional):[]).map(T=>T.name)),h.params&&sr(h.params,_.keys.map(T=>T.name))),N=_.stringify(U)}else if(h.path!=null)N=h.path,_=n.find(T=>T.re.test(N)),_&&(U=_.parse(N),B=_.record.name);else{if(_=g.name?s.get(g.name):n.find(T=>T.re.test(g.path)),!_)throw on(_e.MATCHER_NOT_FOUND,{location:h,currentLocation:g});B=_.record.name,U=ae({},g.params,h.params),N=_.stringify(U)}const K=[];let D=_;for(;D;)K.unshift(D.record),D=D.parent;return{name:B,path:N,params:U,matched:K,meta:ec(K)}}e.forEach(h=>r(h));function c(){n.length=0,s.clear()}return{addRoute:r,resolve:d,removeRoute:i,clearRoutes:c,getRoutes:l,getRecordMatcher:o}}function sr(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function or(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Zu(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Zu(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function rr(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function ec(e){return e.reduce((t,n)=>ae(t,n.meta),{})}function tc(e,t){let n=0,s=t.length;for(;n!==s;){const r=n+s>>1;ki(e,t[r])<0?s=r:n=r+1}const o=nc(e);return o&&(s=t.lastIndexOf(o,s-1)),s}function nc(e){let t=e;for(;t=t.parent;)if(Oi(t)&&ki(e,t)===0)return t}function Oi({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function ir(e){const t=Qe(ms),n=Qe(fo),s=ve(()=>{const a=Ie(e.to);return t.resolve(a)}),o=ve(()=>{const{matched:a}=s.value,{length:d}=a,c=a[d-1],h=n.matched;if(!c||!h.length)return-1;const g=h.findIndex(sn.bind(null,c));if(g>-1)return g;const _=lr(a[d-2]);return d>1&&lr(c)===_&&h[h.length-1].path!==_?h.findIndex(sn.bind(null,a[d-2])):g}),r=ve(()=>o.value>-1&&lc(n.params,s.value.params)),i=ve(()=>o.value>-1&&o.value===n.matched.length-1&&Si(n.params,s.value.params));function l(a={}){if(ic(a)){const d=t[Ie(e.replace)?"replace":"push"](Ie(e.to)).catch(_n);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>d),d}return Promise.resolve()}return{route:s,href:ve(()=>s.value.href),isActive:r,isExactActive:i,navigate:l}}function sc(e){return e.length===1?e[0]:e}const oc=Kr({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:ir,setup(e,{slots:t}){const n=ls(ir(e)),{options:s}=Qe(ms),o=ve(()=>({[ar(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[ar(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const r=t.default&&sc(t.default(n));return e.custom?r:gi("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},r)}}}),rc=oc;function ic(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function lc(e,t){for(const n in t){const s=t[n],o=e[n];if(typeof s=="string"){if(s!==o)return!1}else if(!tt(o)||o.length!==s.length||s.some((r,i)=>r.valueOf()!==o[i].valueOf()))return!1}return!0}function lr(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const ar=(e,t,n)=>e??t??n,ac=Kr({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=Qe(Gs),o=ve(()=>e.route||s.value),r=Qe(Zo,0),i=ve(()=>{let d=Ie(r);const{matched:c}=o.value;let h;for(;(h=c[d])&&!h.components;)d++;return d}),l=ve(()=>o.value.matched[i.value]);Bn(Zo,ve(()=>i.value+1)),Bn(Vu,l),Bn(Gs,o);const a=Y();return Kn(()=>[a.value,l.value,e.name],([d,c,h],[g,_,U])=>{c&&(c.instances[h]=d,_&&_!==c&&d&&d===g&&(c.leaveGuards.size||(c.leaveGuards=_.leaveGuards),c.updateGuards.size||(c.updateGuards=_.updateGuards))),d&&c&&(!_||!sn(c,_)||!g)&&(c.enterCallbacks[h]||[]).forEach(N=>N(d))},{flush:"post"}),()=>{const d=o.value,c=e.name,h=l.value,g=h&&h.components[c];if(!g)return ur(n.default,{Component:g,route:d});const _=h.props[c],U=_?_===!0?d.params:typeof _=="function"?_(d):_:null,B=gi(g,ae({},U,t,{onVnodeUnmounted:K=>{K.component.isUnmounted&&(h.instances[c]=null)},ref:a}));return ur(n.default,{Component:B,route:d})||B}}});function ur(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const uc=ac;function cc(e){const t=Xu(e.routes,e),n=e.parseQuery||Du,s=e.stringifyQuery||Xo,o=e.history,r=fn(),i=fn(),l=fn(),a=pl(Ot);let d=Ot;qt&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=Is.bind(null,A=>""+A),h=Is.bind(null,bu),g=Is.bind(null,On);function _(A,H){let L,G;return Ai(A)?(L=t.getRecordMatcher(A),G=H):G=A,t.addRoute(G,L)}function U(A){const H=t.getRecordMatcher(A);H&&t.removeRoute(H)}function N(){return t.getRoutes().map(A=>A.record)}function B(A){return!!t.getRecordMatcher(A)}function K(A,H){if(H=ae({},H||a.value),typeof A=="string"){const m=ks(n,A,H.path),C=t.resolve({path:m.path},H),R=o.createHref(m.fullPath);return ae(m,C,{params:g(C.params),hash:On(m.hash),redirectedFrom:void 0,href:R})}let L;if(A.path!=null)L=ae({},A,{path:ks(n,A.path,H.path).path});else{const m=ae({},A.params);for(const C in m)m[C]==null&&delete m[C];L=ae({},A,{params:h(m)}),H.params=h(H.params)}const G=t.resolve(L,H),Z=A.hash||"";G.params=c(g(G.params));const f=yu(s,ae({},A,{hash:mu(Z),path:G.path})),p=o.createHref(f);return ae({fullPath:f,hash:Z,query:s===Xo?Mu(A.query):A.query||{}},G,{redirectedFrom:void 0,href:p})}function D(A){return typeof A=="string"?ks(n,A,a.value.path):ae({},A)}function T(A,H){if(d!==A)return on(_e.NAVIGATION_CANCELLED,{from:H,to:A})}function x(A){return J(A)}function E(A){return x(ae(D(A),{replace:!0}))}function S(A,H){const L=A.matched[A.matched.length-1];if(L&&L.redirect){const{redirect:G}=L;let Z=typeof G=="function"?G(A,H):G;return typeof Z=="string"&&(Z=Z.includes("?")||Z.includes("#")?Z=D(Z):{path:Z},Z.params={}),ae({query:A.query,hash:A.hash,params:Z.path!=null?{}:A.params},Z)}}function J(A,H){const L=d=K(A),G=a.value,Z=A.state,f=A.force,p=A.replace===!0,m=S(L,G);if(m)return J(ae(D(m),{state:typeof m=="object"?ae({},Z,m.state):Z,force:f,replace:p}),H||L);const C=L;C.redirectedFrom=H;let R;return!f&&wu(s,G,L)&&(R=on(_e.NAVIGATION_DUPLICATED,{to:C,from:G}),Be(G,G,!0,!1)),(R?Promise.resolve(R):Ue(C,G)).catch(w=>_t(w)?_t(w,_e.NAVIGATION_GUARD_REDIRECT)?w:He(w):te(w,C,G)).then(w=>{if(w){if(_t(w,_e.NAVIGATION_GUARD_REDIRECT))return J(ae({replace:p},D(w.to),{state:typeof w.to=="object"?ae({},Z,w.to.state):Z,force:f}),H||C)}else w=mt(C,G,!0,p,Z);return nt(C,G,w),w})}function O(A,H){const L=T(A,H);return L?Promise.reject(L):Promise.resolve()}function ye(A){const H=Ke.values().next().value;return H&&typeof H.runWithContext=="function"?H.runWithContext(A):A()}function Ue(A,H){let L;const[G,Z,f]=ju(A,H);L=Ps(G.reverse(),"beforeRouteLeave",A,H);for(const m of G)m.leaveGuards.forEach(C=>{L.push(Tt(C,A,H))});const p=O.bind(null,A,H);return L.push(p),Le(L).then(()=>{L=[];for(const m of r.list())L.push(Tt(m,A,H));return L.push(p),Le(L)}).then(()=>{L=Ps(Z,"beforeRouteUpdate",A,H);for(const m of Z)m.updateGuards.forEach(C=>{L.push(Tt(C,A,H))});return L.push(p),Le(L)}).then(()=>{L=[];for(const m of f)if(m.beforeEnter)if(tt(m.beforeEnter))for(const C of m.beforeEnter)L.push(Tt(C,A,H));else L.push(Tt(m.beforeEnter,A,H));return L.push(p),Le(L)}).then(()=>(A.matched.forEach(m=>m.enterCallbacks={}),L=Ps(f,"beforeRouteEnter",A,H,ye),L.push(p),Le(L))).then(()=>{L=[];for(const m of i.list())L.push(Tt(m,A,H));return L.push(p),Le(L)}).catch(m=>_t(m,_e.NAVIGATION_CANCELLED)?m:Promise.reject(m))}function nt(A,H,L){l.list().forEach(G=>ye(()=>G(A,H,L)))}function mt(A,H,L,G,Z){const f=T(A,H);if(f)return f;const p=H===Ot,m=qt?history.state:{};L&&(G||p?o.replace(A.fullPath,ae({scroll:p&&m&&m.scroll},Z)):o.push(A.fullPath,Z)),a.value=A,Be(A,H,L,p),He()}let We;function Dt(){We||(We=o.listen((A,H,L)=>{if(!vt.listening)return;const G=K(A),Z=S(G,vt.currentRoute.value);if(Z){J(ae(Z,{replace:!0,force:!0}),G).catch(_n);return}d=G;const f=a.value;qt&&Ou(Qo(f.fullPath,L.delta),hs()),Ue(G,f).catch(p=>_t(p,_e.NAVIGATION_ABORTED|_e.NAVIGATION_CANCELLED)?p:_t(p,_e.NAVIGATION_GUARD_REDIRECT)?(J(ae(D(p.to),{force:!0}),G).then(m=>{_t(m,_e.NAVIGATION_ABORTED|_e.NAVIGATION_DUPLICATED)&&!L.delta&&L.type===Bs.pop&&o.go(-1,!1)}).catch(_n),Promise.reject()):(L.delta&&o.go(-L.delta,!1),te(p,G,f))).then(p=>{p=p||mt(G,f,!1),p&&(L.delta&&!_t(p,_e.NAVIGATION_CANCELLED)?o.go(-L.delta,!1):L.type===Bs.pop&&_t(p,_e.NAVIGATION_ABORTED|_e.NAVIGATION_DUPLICATED)&&o.go(-1,!1)),nt(G,f,p)}).catch(_n)}))}let kt=fn(),we=fn(),re;function te(A,H,L){He(A);const G=we.list();return G.length?G.forEach(Z=>Z(A,H,L)):console.error(A),Promise.reject(A)}function ee(){return re&&a.value!==Ot?Promise.resolve():new Promise((A,H)=>{kt.add([A,H])})}function He(A){return re||(re=!A,Dt(),kt.list().forEach(([H,L])=>A?L(A):H()),kt.reset()),A}function Be(A,H,L,G){const{scrollBehavior:Z}=e;if(!qt||!Z)return Promise.resolve();const f=!L&&Pu(Qo(A.fullPath,0))||(G||!L)&&history.state&&history.state.scroll||null;return so().then(()=>Z(A,H,f)).then(p=>p&&ku(p)).catch(p=>te(p,A,H))}const Pe=A=>o.go(A);let gt;const Ke=new Set,vt={currentRoute:a,listening:!0,addRoute:_,removeRoute:U,clearRoutes:t.clearRoutes,hasRoute:B,getRoutes:N,resolve:K,options:e,push:x,replace:E,go:Pe,back:()=>Pe(-1),forward:()=>Pe(1),beforeEach:r.add,beforeResolve:i.add,afterEach:l.add,onError:we.add,isReady:ee,install(A){A.component("RouterLink",rc),A.component("RouterView",uc),A.config.globalProperties.$router=vt,Object.defineProperty(A.config.globalProperties,"$route",{enumerable:!0,get:()=>Ie(a)}),qt&&!gt&&a.value===Ot&&(gt=!0,x(o.location).catch(G=>{}));const H={};for(const G in Ot)Object.defineProperty(H,G,{get:()=>a.value[G],enumerable:!0});A.provide(ms,vt),A.provide(fo,Nr(H)),A.provide(Gs,a);const L=A.unmount;Ke.add(A),A.unmount=function(){Ke.delete(A),Ke.size<1&&(d=Ot,We&&We(),We=null,a.value=Ot,gt=!1,re=!1),L()}}};function Le(A){return A.reduce((H,L)=>H.then(()=>ye(L)),Promise.resolve())}return vt}function Pi(){return Qe(ms)}function Ti(e){return Qe(fo)}const Ln=window.location.pathname.startsWith("/portal/"),Je={esPortal:Ln,baseRuta:Ln?"/portal/studio/":"/studio/",apiBase:Ln?"/portal":"/app",urlLogin:Ln?"/portal/login":"/login"};function ie(e){return Je.apiBase+e}async function Fn(e,t={}){const n=await fetch(e,{...t,headers:{"Content-Type":"application/json",...t.headers}}),s=n.headers.get("content-type")||"";if(n.redirected||!s.includes("application/json"))throw window.location.href=Je.urlLogin,new Error("Sesión expirada");const o=await n.json();if(!n.ok){const r=typeof(o==null?void 0:o.error)=="string"?o.error:o==null?void 0:o.message;throw new Error(r||"Error de servidor")}return o}const oe={get:e=>Fn(e),post:(e,t)=>Fn(e,{method:"POST",body:JSON.stringify(t)}),put:(e,t)=>Fn(e,{method:"PUT",body:JSON.stringify(t)}),del:e=>Fn(e,{method:"DELETE"})},fc={class:"w-64 shrink-0 h-screen sticky top-0 flex flex-col border-r border-borde bg-superficie"},dc={class:"h-14 px-4 flex items-center border-b border-borde"},pc={key:0,class:"px-3 pt-3"},hc={key:1,class:"px-3 pt-2 text-xs text-red-600 dark:text-red-400"},mc={class:"flex-1 overflow-y-auto px-2 py-3 space-y-0.5"},gc={key:0,class:"px-2 text-xs text-tenue"},vc={key:1,class:"px-2 text-xs text-tenue"},bc={class:"truncate"},_c={class:"flex items-center gap-1 mt-0.5"},xc={class:"text-[11px] text-tenue"},yc={key:0,class:"flex opacity-0 group-hover:opacity-100 transition-opacity pr-1.5 gap-0.5"},wc=["onClick"],Cc=["onClick"],Ec={class:"card w-full max-w-lg p-6 animate-escalar shadow-2xl"},Sc={class:"font-semibold text-texto mb-4"},Ac={key:0,class:"grid grid-cols-2 gap-3"},Rc=["value"],Ic={class:"text-[11px] text-tenue mt-1"},kc=["value"],Oc={class:"text-[11px] text-tenue mt-1"},Pc={class:"flex items-center gap-2 text-sm text-texto"},Tc={class:"flex justify-end gap-2 pt-2"},Nc={__name:"Sidebar",setup(e,{expose:t}){const n=Ti(),s=Pi(),o=Y([]),r=Y([]),i=Y([]),l=Y(!0),a=Y(""),d=Y(!1),c=Y(null),h=Y(_()),g=ve(()=>n.params.tenantId||n.params.id);function _(){return{nombre:"",dominios_permitidos:"",activo:!0,cliente_id:null,plan_id:null}}async function U(){l.value=!0,a.value="";try{const E=await oe.get(ie("/umind/tenants"));o.value=E.items||[]}catch(E){a.value=E.message}finally{l.value=!1}}function N(E){return Array.isArray(E)?E:(E==null?void 0:E.items)||(E==null?void 0:E.registros)||[]}async function B(){if(Je.esPortal)return;const[E,S]=await Promise.allSettled([oe.get("/app/api/clientes/select"),oe.get("/app/umind-planes/list")]);r.value=E.status==="fulfilled"?N(E.value):[],i.value=S.status==="fulfilled"?N(S.value):[];const J=[];E.status==="rejected"&&J.push("clientes"),S.status==="rejected"&&J.push("planes"),J.length&&(a.value=`No se pudo cargar la lista de ${J.join(" ni ")}.`)}function K(){c.value=null,h.value=_(),d.value=!0}function D(E){c.value=E,h.value={nombre:E.nombre,dominios_permitidos:E.dominios_permitidos,activo:E.activo,cliente_id:E.cliente_id??null,plan_id:E.plan_id??null},d.value=!0}async function T(){const E={...h.value,dominios_permitidos:h.value.dominios_permitidos.split(",").map(S=>S.trim()).filter(Boolean)};try{if(c.value)await oe.put(ie(`/umind/tenants/${c.value.ID}`),E),d.value=!1,await U();else{const S=await oe.post(ie("/umind/tenants"),E);d.value=!1,await U(),s.push(`/tenants/${S.id}`)}}catch(S){a.value=S.message}}async function x(E){confirm(`¿Eliminar el tenant "${E.nombre}"? Esto borra también sus agentes. No se puede deshacer.`)&&(await oe.del(ie(`/umind/tenants/${E.ID}`)),g.value===String(E.ID)&&s.push("/"),await U())}return t({recargar:U}),Nn(()=>{U(),B()}),(E,S)=>{const J=$n("router-link");return k(),P(le,null,[u("aside",fc,[u("div",dc,[be(J,{to:"/",class:"text-base font-semibold text-texto"},{default:$t(()=>[...S[7]||(S[7]=[Ce(" uMind ",-1),u("span",{class:"text-brand"},"Studio",-1)])]),_:1})]),Ie(Je).esPortal?X("",!0):(k(),P("div",pc,[u("button",{class:"btn-primary w-full",onClick:K}," + Nuevo tenant ")])),a.value?(k(),P("p",hc,j(a.value),1)):X("",!0),u("nav",mc,[l.value?(k(),P("p",gc,"Cargando...")):o.value.length===0?(k(),P("p",vc,j(Ie(Je).esPortal?"Todavía no tenés ningún espacio asignado. Escribinos y lo activamos.":"Sin tenants todavía."),1)):X("",!0),(k(!0),P(le,null,Re(o.value,O=>(k(),P("div",{key:O.ID,class:Se(["group flex items-center rounded-lg transition-colors",g.value===String(O.ID)?"bg-brand/10":"hover:bg-elevado"])},[be(J,{to:`/tenants/${O.ID}`,class:Se(["flex-1 min-w-0 px-2.5 py-2 text-sm",g.value===String(O.ID)?"text-brand font-medium":"text-texto"])},{default:$t(()=>[u("div",bc,j(O.nombre),1),u("div",_c,[u("span",{class:Se(["w-1.5 h-1.5 rounded-full",O.activo?"bg-green-500":"bg-tenue/40"])},null,2),u("span",xc,j(O.activo?"activo":"inactivo"),1)])]),_:2},1032,["to","class"]),Ie(Je).esPortal?X("",!0):(k(),P("div",yc,[u("button",{class:"p-1 text-tenue hover:text-texto",title:"Editar",onClick:ye=>D(O)}," ✎ ",8,wc),u("button",{class:"p-1 text-tenue hover:text-red-600",title:"Eliminar",onClick:ye=>x(O)}," ✕ ",8,Cc)]))],2))),128))])]),d.value?(k(),P("div",{key:0,class:"fixed inset-0 bg-black/40 flex items-center justify-center p-4 z-50",onClick:S[6]||(S[6]=ct(O=>d.value=!1,["self"]))},[u("div",Ec,[u("h2",Sc,j(c.value?"Editar tenant":"Nuevo tenant"),1),S[16]||(S[16]=u("p",{class:"text-xs text-tenue mb-3"}," Un tenant es el negocio/sitio dueño de los dominios permitidos. La config de IA, tono y demás se configuran por agente, dentro del tenant. ",-1)),u("form",{class:"space-y-3",onSubmit:ct(T,["prevent"])},[u("div",null,[S[8]||(S[8]=u("label",{class:"label"},"Nombre",-1)),se(u("input",{"onUpdate:modelValue":S[0]||(S[0]=O=>h.value.nombre=O),required:"",class:"input"},null,512),[[ge,h.value.nombre]])]),u("div",null,[S[9]||(S[9]=u("label",{class:"label"},"Dominios permitidos (separados por coma)",-1)),se(u("input",{"onUpdate:modelValue":S[1]||(S[1]=O=>h.value.dominios_permitidos=O),placeholder:"ejemplo.com, www.ejemplo.com",required:"",class:"input"},null,512),[[ge,h.value.dominios_permitidos]])]),Ie(Je).esPortal?X("",!0):(k(),P("div",Ac,[u("div",null,[S[11]||(S[11]=u("label",{class:"label"},"Cliente",-1)),se(u("select",{"onUpdate:modelValue":S[2]||(S[2]=O=>h.value.cliente_id=O),class:"input"},[S[10]||(S[10]=u("option",{value:null},"— sin asignar —",-1)),(k(!0),P(le,null,Re(r.value,O=>(k(),P("option",{key:O.ID,value:O.ID},j(O.nombre),9,Rc))),128))],512),[[In,h.value.cliente_id]]),u("p",Ic,j(r.value.length?"Define quién ve este tenant desde el portal.":"No hay clientes activos — creá uno en Clientes."),1)]),u("div",null,[S[13]||(S[13]=u("label",{class:"label"},"Plan",-1)),se(u("select",{"onUpdate:modelValue":S[3]||(S[3]=O=>h.value.plan_id=O),class:"input"},[S[12]||(S[12]=u("option",{value:null},"— sin plan —",-1)),(k(!0),P(le,null,Re(i.value,O=>(k(),P("option",{key:O.ID,value:O.ID},j(O.nombre)+" ("+j(O.max_agentes===0?"∞":O.max_agentes)+" agentes) ",9,kc))),128))],512),[[In,h.value.plan_id]]),u("p",Oc,j(i.value.length?"Límite de agentes y precios de consumo.":"No hay planes — creá uno en uMind Planes."),1)])])),u("label",Pc,[se(u("input",{"onUpdate:modelValue":S[4]||(S[4]=O=>h.value.activo=O),type:"checkbox"},null,512),[[Ut,h.value.activo]]),S[14]||(S[14]=Ce(" Activo ",-1))]),u("div",Tc,[u("button",{type:"button",class:"btn-ghost",onClick:S[5]||(S[5]=O=>d.value=!1)}," Cancelar "),S[15]||(S[15]=u("button",{type:"submit",class:"btn-primary"}," Guardar ",-1))])],32)])])):X("",!0)],64)}}},Ni="umind-tema";function $c(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"oscuro":"claro"}const Xt=Y(localStorage.getItem(Ni)||$c());function $i(){document.documentElement.classList.toggle("dark",Xt.value==="oscuro")}function cr(){Xt.value=Xt.value==="oscuro"?"claro":"oscuro",localStorage.setItem(Ni,Xt.value),$i()}$i();const Dc={class:"min-h-screen flex"},Mc={class:"flex-1 min-w-0 flex flex-col"},Vc={class:"h-14 shrink-0 flex items-center justify-end gap-1 px-6 border-b border-borde"},jc=["title"],Uc={class:"text-base leading-none"},Lc={class:"flex-1 max-w-5xl w-full mx-auto px-8 py-8 animate-aparecer"},Fc={__name:"App",setup(e){return(t,n)=>{const s=$n("router-view");return k(),P("div",Dc,[be(Nc),u("main",Mc,[u("header",Vc,[u("button",{class:"btn-ghost !px-2.5 !py-1.5",title:Ie(Xt)==="oscuro"?"Cambiar a claro":"Cambiar a oscuro",onClick:n[0]||(n[0]=(...o)=>Ie(cr)&&Ie(cr)(...o))},[u("span",Uc,j(Ie(Xt)==="oscuro"?"☀️":"🌙"),1)],8,jc)]),u("div",Lc,[be(s)])])])}}},Hc={class:"flex flex-col items-center justify-center text-center py-24"},Bc={class:"text-lg font-medium text-gray-700 dark:text-gray-200"},Kc={class:"text-sm text-gray-400 dark:text-gray-500 mt-1"},Gc={__name:"Home",setup(e){return(t,n)=>(k(),P("div",Hc,[n[0]||(n[0]=u("div",{class:"text-4xl mb-4"},"💬",-1)),u("h1",Bc,j(Ie(Je).esPortal?"Elegí tu espacio de la izquierda":"Elegí un tenant de la izquierda"),1),u("p",Kc,j(Ie(Je).esPortal?"Adentro vas a poder crear y configurar tus agentes.":"o creá uno nuevo para empezar a configurar su agente."),1)]))}},qc={class:"flex flex-col items-center justify-center text-center py-12 px-6"},Wc={key:0,class:"text-3xl mb-3 opacity-70"},zc={class:"text-sm font-medium text-texto"},Jc={key:1,class:"text-xs text-tenue mt-1 max-w-sm"},Yc={class:"mt-4"},Di={__name:"UiEmptyState",props:{icono:{type:String,default:""},titulo:String,detalle:String},setup(e){return(t,n)=>(k(),P("div",qc,[e.icono?(k(),P("div",Wc,j(e.icono),1)):X("",!0),u("p",zc,j(e.titulo),1),e.detalle?(k(),P("p",Jc,j(e.detalle),1)):X("",!0),u("div",Yc,[Hl(t.$slots,"default")])]))}},Qc={key:0,class:"mb-6"},Xc={class:"flex items-start justify-between gap-4"},Zc={class:"text-xl font-semibold text-texto"},ef={class:"text-xs text-tenue mt-1"},tf={key:1,class:"text-sm text-red-600 dark:text-red-400 mb-4"},nf={class:"flex items-center justify-between mb-4"},sf={class:"flex items-center gap-2"},of={key:0,class:"badge-alerta"},rf={key:1,class:"badge-neutro"},lf=["disabled"],af={key:2,class:"text-xs text-tenue -mt-2 mb-4"},uf={key:3,class:"text-xs text-tenue -mt-2 mb-4"},cf={class:"card divide-y divide-borde overflow-hidden"},ff={class:"font-medium text-texto"},df={class:"flex items-center gap-1 mt-0.5"},pf={class:"text-xs text-tenue"},hf={class:"flex items-center gap-3 pr-4 text-sm"},mf=["onClick"],gf=["onClick"],vf={class:"bg-white dark:bg-gray-900 border border-gray-200 dark:border-gray-800 rounded-xl p-6 w-full max-w-lg"},bf={class:"font-semibold text-gray-800 dark:text-gray-100 mb-4"},_f=["value"],xf={class:"flex items-center gap-2"},yf={class:"flex items-center gap-2 text-sm text-gray-600 dark:text-gray-300"},wf={class:"flex justify-end gap-2 pt-2"},Cf={type:"submit",class:"bg-brand hover:bg-brand-dark text-white text-sm font-medium px-4 py-2 rounded-lg"},Ef={__name:"TenantAgentes",props:{id:{type:String,required:!0}},setup(e){const t=e,n=ve(()=>Number(t.id)),s=Pi(),o=Y(null),r=Y([]),i=Y([]),l=Y(""),a=Y(!1),d=Y(null),c=Y(_()),h=Y(null),g=ve(()=>{if(!h.value)return{sinPlan:!0};const T=h.value.max_agentes||0;return{sinPlan:!1,nombre:h.value.nombre,ilimitado:T<=0,max:T,usados:r.value.length,lleno:T>0&&r.value.length>=T}});function _(){return{nombre:"",ai_config_id:null,tono:"",mensaje_bienvenida:"",color:"#8eb02f",activo:!0}}async function U(){l.value="";try{const[T,x,E]=await Promise.all([oe.get(ie("/umind/tenants")),oe.get(ie(`/umind/agentes?tenant_id=${t.id}`)),oe.get(ie("/umind/ai-configs"))]);o.value=(T.items||[]).find(S=>String(S.ID)===t.id)||null,r.value=x.items||[],h.value=x.plan||null,i.value=E.items||[]}catch(T){l.value=T.message}}function N(){d.value=null,c.value=_(),a.value=!0}function B(T){d.value=T,c.value={nombre:T.nombre,ai_config_id:T.ai_config_id,tono:T.tono,mensaje_bienvenida:T.mensaje_bienvenida,color:T.color||"#8eb02f",activo:T.activo},a.value=!0}async function K(){try{if(d.value)await oe.put(ie(`/umind/agentes/${d.value.ID}`),{tenant_id:n.value,...c.value}),a.value=!1,await U();else{const T=await oe.post(ie("/umind/agentes"),{tenant_id:n.value,...c.value});a.value=!1,s.push(`/tenants/${n.value}/agentes/${T.id}`)}}catch(T){l.value=T.message}}async function D(T){confirm(`¿Eliminar el agente "${T.nombre}"? Esto no se puede deshacer.`)&&(await oe.del(ie(`/umind/agentes/${T.ID}`)),await U())}return Nn(U),(T,x)=>{const E=$n("router-link");return k(),P("div",null,[o.value?(k(),P("div",Qc,[u("div",Xc,[u("div",null,[u("h1",Zc,j(o.value.nombre),1),u("p",ef,j(o.value.dominios_permitidos||"sin dominios configurados"),1)]),be(E,{to:`/tenants/${n.value??e.id}/uso`,class:"btn-ghost"},{default:$t(()=>[...x[9]||(x[9]=[Ce("📊 Consumo",-1)])]),_:1},8,["to"])])])):X("",!0),l.value?(k(),P("p",tf,j(l.value),1)):X("",!0),u("div",nf,[u("div",sf,[x[10]||(x[10]=u("h2",{class:"text-sm font-medium text-tenue"},"Agentes",-1)),g.value.sinPlan?(k(),P("span",of,"sin plan · sin límite")):g.value.ilimitado?(k(),P("span",rf,j(g.value.nombre)+" · ilimitado",1)):(k(),P("span",{key:2,class:Se(g.value.lleno?"badge-alerta":"badge-neutro")},j(g.value.nombre)+" · "+j(g.value.usados)+" de "+j(g.value.max),3))]),u("button",{class:"btn-primary",disabled:g.value.lleno,onClick:N},"+ Nuevo agente",8,lf)]),g.value.sinPlan&&!Ie(Je).esPortal?(k(),P("p",af," Este tenant no tiene plan asignado, así que no se le aplica ningún límite de agentes. Asignale uno desde el lápiz del tenant en la barra izquierda. ")):g.value.lleno?(k(),P("p",uf," Alcanzaste el máximo de agentes de tu plan. ")):X("",!0),u("div",cf,[r.value.length===0?(k(),En(Di,{key:0,icono:"🤖",titulo:"Todavía no hay agentes",detalle:"Creá el primero y cargale su base de conocimiento para que empiece a responder."})):X("",!0),(k(!0),P(le,null,Re(r.value,S=>(k(),P("div",{key:S.ID,class:"group flex items-center justify-between hover:bg-elevado transition-colors"},[be(E,{to:`/tenants/${n.value}/agentes/${S.ID}`,class:"flex-1 min-w-0 p-4"},{default:$t(()=>[u("div",ff,j(S.nombre),1),u("div",df,[u("span",{class:Se(["w-1.5 h-1.5 rounded-full",!S.activo&&"bg-gray-300 dark:bg-gray-600"]),style:Zt({background:S.activo?S.color||"#22c55e":void 0})},null,6),u("span",pf,j(S.activo?"activo":"inactivo"),1)])]),_:2},1032,["to"]),u("div",hf,[be(E,{to:`/tenants/${n.value}/agentes/${S.ID}`,class:"text-brand font-medium opacity-0 group-hover:opacity-100 transition-opacity"},{default:$t(()=>[...x[11]||(x[11]=[Ce(" Configurar → ",-1)])]),_:1},8,["to"]),u("button",{class:"text-tenue hover:text-texto opacity-0 group-hover:opacity-100 transition-opacity",title:"Editar",onClick:J=>B(S)},"✎",8,mf),u("button",{class:"text-tenue hover:text-red-600 opacity-0 group-hover:opacity-100 transition-opacity",title:"Eliminar",onClick:J=>D(S)},"✕",8,gf)])]))),128))]),a.value?(k(),P("div",{key:4,class:"fixed inset-0 bg-black/40 flex items-center justify-center p-4 z-50",onClick:x[8]||(x[8]=ct(S=>a.value=!1,["self"]))},[u("div",vf,[u("h2",bf,j(d.value?"Editar agente":"Nuevo agente"),1),u("form",{class:"space-y-3",onSubmit:ct(K,["prevent"])},[u("div",null,[x[12]||(x[12]=u("label",{class:"label"},"Nombre",-1)),se(u("input",{"onUpdate:modelValue":x[0]||(x[0]=S=>c.value.nombre=S),required:"",placeholder:"ej: Ventas, Soporte",class:"input"},null,512),[[ge,c.value.nombre]])]),u("div",null,[x[14]||(x[14]=u("label",{class:"label"},"Config de IA",-1)),se(u("select",{"onUpdate:modelValue":x[1]||(x[1]=S=>c.value.ai_config_id=S),class:"input"},[x[13]||(x[13]=u("option",{value:null},"— sin asignar —",-1)),(k(!0),P(le,null,Re(i.value,S=>(k(),P("option",{key:S.ID,value:S.ID},j(S.nombre)+" ("+j(S.provider)+")",9,_f))),128))],512),[[In,c.value.ai_config_id]])]),u("div",null,[x[15]||(x[15]=u("label",{class:"label"},"Tono / personalidad",-1)),se(u("textarea",{"onUpdate:modelValue":x[2]||(x[2]=S=>c.value.tono=S),rows:"2",class:"input"},null,512),[[ge,c.value.tono]])]),u("div",null,[x[16]||(x[16]=u("label",{class:"label"},"Mensaje de bienvenida",-1)),se(u("input",{"onUpdate:modelValue":x[3]||(x[3]=S=>c.value.mensaje_bienvenida=S),class:"input"},null,512),[[ge,c.value.mensaje_bienvenida]])]),u("div",null,[x[17]||(x[17]=u("label",{class:"label"},"Color del widget",-1)),u("div",xf,[se(u("input",{"onUpdate:modelValue":x[4]||(x[4]=S=>c.value.color=S),type:"color",class:"w-10 h-9 border border-gray-300 dark:border-gray-700 rounded cursor-pointer bg-white dark:bg-gray-800"},null,512),[[ge,c.value.color]]),se(u("input",{"onUpdate:modelValue":x[5]||(x[5]=S=>c.value.color=S),type:"text",pattern:"#[0-9a-fA-F]{6}",class:"flex-1 border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-800 dark:text-gray-100 rounded-lg px-3 py-2 text-sm font-mono"},null,512),[[ge,c.value.color]])])]),u("label",yf,[se(u("input",{"onUpdate:modelValue":x[6]||(x[6]=S=>c.value.activo=S),type:"checkbox"},null,512),[[Ut,c.value.activo]]),x[18]||(x[18]=Ce(" Activo ",-1))]),u("div",wf,[u("button",{type:"button",class:"px-4 py-2 text-sm text-gray-500 dark:text-gray-400",onClick:x[7]||(x[7]=S=>a.value=!1)},"Cancelar"),u("button",Cf,j(d.value?"Guardar":"Crear"),1)])],32)])])):X("",!0)])}}},Sf={key:0,class:"mb-6 mt-1"},Af={class:"text-xl font-semibold text-texto"},Rf={class:"text-xs text-tenue mt-1"},If={class:"bg-elevado px-1.5 py-0.5 rounded"},kf={key:1,class:"text-sm text-red-600 dark:text-red-400 mb-4"},Of={class:"flex gap-1.5 mb-6 overflow-x-auto pb-1"},Pf=["onClick"],Tf={key:2},Nf=["disabled"],$f={class:"card divide-y divide-borde"},Df={key:0,class:"p-6 text-sm text-tenue"},Mf={class:"text-sm text-texto"},Vf={class:"text-xs text-tenue mt-0.5"},jf={key:0},Uf={key:1,class:"text-red-600 dark:text-red-400"},Lf=["onClick"],Ff={key:3},Hf={class:"card divide-y divide-borde"},Bf={key:0,class:"p-6 text-sm text-tenue"},Kf={class:"text-sm text-texto font-mono"},Gf={class:"label mt-0.5"},qf={class:"text-xs text-tenue mt-0.5"},Wf={key:0,class:"ml-1 text-green-600 dark:text-green-400"},zf={key:1,class:"ml-1 text-gray-400"},Jf={class:"flex gap-3 text-sm shrink-0"},Yf=["onClick"],Qf=["onClick"],Xf={class:"card p-6 w-full max-w-xl max-h-[85vh] overflow-y-auto"},Zf={class:"font-semibold text-texto mb-4"},ed={class:"border border-borde rounded-lg p-3 space-y-2"},td=["onUpdate:modelValue"],nd=["onUpdate:modelValue"],sd=["onUpdate:modelValue"],od={class:"label flex items-center gap-1"},rd=["onUpdate:modelValue"],id=["onClick"],ld={key:0,class:"text-xs text-gray-400"},ad={class:"border border-borde rounded-lg p-3 space-y-2"},ud={class:"flex items-center gap-2 label"},cd={class:"flex items-center gap-2 text-sm text-texto"},fd={class:"flex justify-end gap-2 pt-2"},dd={key:4},pd={class:"card p-4 mb-4"},hd={class:"flex items-center justify-between mb-2"},md={class:"bg-elevado border border-borde rounded-lg p-2.5 text-xs text-texto overflow-x-auto"},gd={class:"card divide-y divide-borde"},vd={key:0,class:"p-6 text-sm text-tenue"},bd={class:"flex items-center justify-between"},_d={class:"font-medium text-texto capitalize"},xd={class:"flex gap-3 text-sm"},yd=["onClick"],wd=["onClick"],Cd={class:"flex gap-4 mt-2 text-xs"},Ed={class:"flex items-center gap-1.5 text-texto cursor-pointer"},Sd=["checked","onChange"],Ad={class:"flex items-center gap-1.5 text-texto cursor-pointer"},Rd=["checked","onChange"],Id={class:"label mt-1 break-all"},kd={class:"bg-elevado px-1 rounded"},Od={key:0,class:"text-xs text-tenue mt-1"},Pd={key:1,class:"text-xs text-red-600 dark:text-red-400 mt-1"},Td={class:"card p-6 w-full max-w-md"},Nd={key:0},$d={class:"flex flex-col gap-2 pt-1"},Dd={class:"flex items-center gap-2 text-sm text-texto cursor-pointer"},Md={class:"flex items-center gap-2 text-sm text-texto cursor-pointer"},Vd={class:"flex justify-end gap-2 pt-2"},jd={key:5},Ud={class:"flex gap-2 mb-4"},Ld={class:"card divide-y divide-borde"},Fd={key:0,class:"p-6 text-sm text-tenue"},Hd={class:"font-medium text-texto capitalize"},Bd={class:"ml-2 text-sm text-tenue"},Kd=["onClick"],Gd={key:6,class:"card p-4 flex flex-col h-[28rem]"},qd={class:"flex-1 overflow-y-auto space-y-2 mb-3"},Wd={key:0,class:"text-sm text-tenue"},zd={key:1,class:"text-xs text-tenue"},Jd=["disabled"],Yd={key:7,class:"grid grid-cols-3 gap-4"},Qd={class:"col-span-1 card divide-y divide-borde max-h-[28rem] overflow-y-auto"},Xd={key:0,class:"p-4 text-sm text-tenue"},Zd=["onClick"],ep={class:"text-texto truncate"},tp={class:"text-xs text-tenue mt-0.5"},np={class:"col-span-2 card p-4 max-h-[28rem] overflow-y-auto space-y-2"},sp={key:0,class:"text-sm text-tenue"},op={key:8},rp={class:"card divide-y divide-borde max-h-[32rem] overflow-y-auto"},ip={key:0,class:"p-6 text-sm text-tenue"},lp={class:"cursor-pointer flex items-center gap-2 text-sm"},ap={class:"text-tenue text-xs shrink-0"},up={class:"text-texto truncate"},cp={class:"text-tenue text-xs ml-auto shrink-0"},fp={key:0,class:"mt-2 bg-elevado border border-borde rounded-lg p-2 text-xs text-gray-600 dark:text-gray-400 overflow-x-auto whitespace-pre-wrap"},dp={__name:"AgenteDetail",props:{tenantId:{type:String,required:!0},agenteId:{type:String,required:!0}},setup(e){const t=e,n=ve(()=>Number(t.agenteId)),s=Ti(),o=Y(null),r=Y(""),i=Y(typeof s.query.tab=="string"?s.query.tab:"conocimiento"),l=Y([]),a=Y(""),d=Y(30),c=Y(!1);async function h(){const y=await oe.get(ie(`/umind/agentes?tenant_id=${t.tenantId}`));o.value=(y.items||[]).find(v=>String(v.ID)===t.agenteId)||null}async function g(){const y=await oe.get(ie(`/umind/documentos?agente_id=${t.agenteId}`));l.value=y.items||[]}async function _(){if(a.value.trim()){c.value=!0,r.value="";try{await oe.post(ie("/umind/documentos"),{agente_id:n.value,url:a.value.trim(),max_paginas:Number(d.value)||30}),a.value="",await g()}catch(y){r.value=y.message}finally{c.value=!1}}}async function U(y){confirm("¿Eliminar esta fuente y sus fragmentos indexados?")&&(await oe.del(ie(`/umind/documentos/${y}`)),await g())}const N=ve(()=>y=>({listo:"badge-ok",procesando:"badge-alerta",pendiente:"badge-neutro",error:"badge-error"})[y]||"badge-neutro"),B=Y([]),K=Y([]),D=Y(null);async function T(){const y=await oe.get(ie(`/umind/sesiones?agente_id=${t.agenteId}`));B.value=y.items||[]}async function x(y){D.value=y;const v=await oe.get(ie(`/umind/historial?agente_id=${t.agenteId}&session_id=${y}`));K.value=v.items||[]}const E=Y([]),S=Y(!1),J=Y(null),O=Y(ye());function ye(){return{nombre:"",descripcion:"",url:"",auth_header_nombre:"",auth_header_valor:"",tocarAuth:!1,parametros:[],activa:!0}}async function Ue(){const y=await oe.get(ie(`/umind/tools?agente_id=${t.agenteId}`));E.value=y.items||[]}function nt(){J.value=null,O.value=ye(),S.value=!0}function mt(y){J.value=y;let v=[];try{v=JSON.parse(y.parametros_json||"[]")||[]}catch{v=[]}O.value={nombre:y.nombre,descripcion:y.descripcion,url:y.url,auth_header_nombre:y.auth_header_nombre,auth_header_valor:"",tocarAuth:!1,parametros:v,activa:y.activa},S.value=!0}function We(){O.value.parametros.push({nombre:"",tipo:"string",descripcion:"",requerido:!1})}function Dt(y){O.value.parametros.splice(y,1)}async function kt(){const y={agente_id:n.value,nombre:O.value.nombre.trim(),descripcion:O.value.descripcion,url:O.value.url.trim(),auth_header_nombre:O.value.auth_header_nombre,parametros:O.value.parametros,activa:O.value.activa};O.value.tocarAuth&&(y.auth_header_valor=O.value.auth_header_valor);try{J.value?await oe.put(ie(`/umind/tools/${J.value.ID}`),y):await oe.post(ie("/umind/tools"),y),S.value=!1,await Ue()}catch(v){r.value=v.message}}async function we(y){confirm(`¿Eliminar la tool "${y.nombre}"?`)&&(await oe.del(ie(`/umind/tools/${y.ID}`)),await Ue())}const re=Y([]),te=Y(!1),ee=Y(gt()),He=Y(!1),Be=ve(()=>{var v;const y=((v=o.value)==null?void 0:v.site_key)||"TU_SITE_KEY";return`
-
+
+
-
+
+
diff --git a/rest/controllers/umind_admin_controller.go b/rest/controllers/umind_admin_controller.go
index 8a9b510..3bc46b2 100644
--- a/rest/controllers/umind_admin_controller.go
+++ b/rest/controllers/umind_admin_controller.go
@@ -176,7 +176,15 @@ func GetUmindAgentesHandler(c *fiber.Ctx) error {
// en vez de dejar que el límite aparezca recién como un error al guardar.
// Sin plan no hay límite (ver verificarCupoAgentes), y eso también hay que
// poder verlo: si no, un tenant sin plan parece un límite que no funciona.
- resp := fiber.Map{"items": items, "usados": len(items)}
+ ids := make([]uint, len(items))
+ for i, a := range items {
+ ids[i] = a.ID
+ }
+ resp := fiber.Map{
+ "items": items,
+ "usados": len(items),
+ "resumen": models.GetResumenAgentes(ids),
+ }
if plan := models.GetPlanDeTenant(uint(tenantID)); plan != nil {
resp["plan"] = fiber.Map{"nombre": plan.Nombre, "max_agentes": plan.MaxAgentes}
}