signetai 0.31.3 → 0.33.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dashboard/_app/immutable/assets/0.C2qHwEXx.css +1 -0
- package/dashboard/_app/immutable/chunks/{BYQ_qi0R.js → 48jzs9Gr.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CAimN4E4.js → 4WgQnwqw.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BtwR5OeT.js → BGtA5G0C.js} +1 -1
- package/dashboard/_app/immutable/chunks/{mYh6pbeW.js → BUO0EiZX.js} +7 -7
- package/dashboard/_app/immutable/chunks/{D6_Sd-0i.js → Bvq5nor8.js} +1 -1
- package/dashboard/_app/immutable/chunks/{cTU2lA_S.js → BwTl86BP.js} +1 -1
- package/dashboard/_app/immutable/chunks/CCUVqCS4.js +62 -0
- package/dashboard/_app/immutable/chunks/{s2QRcZRE.js → CRNKcIYA.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Cn4c5j_z.js → CTappC2L.js} +1 -1
- package/dashboard/_app/immutable/chunks/{fVI_FH0V.js → CkhlVB35.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Vcb5Jy8G.js → Cnx2RroT.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CGt4mj6Q.js → Cu4vu2mh.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DhcGtV2d.js → CvvlFEen.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DKJDCEbj.js → DV5sVIyK.js} +2 -2
- package/dashboard/_app/immutable/chunks/{7U9yXB2I.js → DdvRwCbh.js} +1 -1
- package/dashboard/_app/immutable/chunks/{H0-DesUW.js → DhkIBys_.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BQ1hF646.js → DnPQ8YoS.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Cw4fN4QH.js → DqdbNUYA.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DSklof4l.js → TxL_3T9D.js} +1 -1
- package/dashboard/_app/immutable/chunks/{yYpG9p0b.js → _lxxQgjj.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DOLB7irg.js → cTwyaKWC.js} +1 -1
- package/dashboard/_app/immutable/chunks/q_Ro6z9H.js +5 -0
- package/dashboard/_app/immutable/entry/{app.C_gGWn0X.js → app.DDzQTIS1.js} +2 -2
- package/dashboard/_app/immutable/entry/start.DpfeXZck.js +1 -0
- package/dashboard/_app/immutable/nodes/{1.Bq7Tj1Q1.js → 1.BwHx955a.js} +1 -1
- package/dashboard/_app/immutable/nodes/2.W-4liTzg.js +1 -0
- package/dashboard/_app/version.json +1 -1
- package/dashboard/index.html +6 -6
- package/dist/cli.js +125 -14
- package/dist/daemon.js +33496 -167
- package/package.json +1 -1
- package/dashboard/_app/immutable/assets/0.ackDaIZQ.css +0 -1
- package/dashboard/_app/immutable/chunks/CqQGFmlO.js +0 -5
- package/dashboard/_app/immutable/chunks/Dfg9BJn8.js +0 -57
- package/dashboard/_app/immutable/entry/start.DxfgsprN.js +0 -1
- package/dashboard/_app/immutable/nodes/2.dEA2uMMX.js +0 -1
- /package/dashboard/_app/immutable/nodes/{0.DAN2sVFW.js → 0.Dh2-_4d2.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-amber-400:oklch(82.8% .189 84.429);--color-emerald-400:oklch(76.5% .177 163.223);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-xs:.125rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-popover:var(--popover);--color-popover-foreground:var(--popover-foreground);--color-border:var(--border)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:after,:before,::backdrop{border-color:var(--color-border,currentcolor)}::file-selector-button{border-color:var(--color-border,currentcolor)}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring) 50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.start-0{inset-inline-start:calc(var(--spacing) * 0)}.end{inset-inline-end:var(--spacing)}.end-0{inset-inline-end:calc(var(--spacing) * 0)}.end-1{inset-inline-end:calc(var(--spacing) * 1)}.end-2{inset-inline-end:calc(var(--spacing) * 2)}.end-3{inset-inline-end:calc(var(--spacing) * 3)}.end-4{inset-inline-end:calc(var(--spacing) * 4)}.top-0{top:calc(var(--spacing) * 0)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3\.5{top:calc(var(--spacing) * 3.5)}.top-4{top:calc(var(--spacing) * 4)}.top-\[10px\]{top:10px}.top-\[20\%\]{top:20%}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-\[10px\]{right:10px}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-\[10px\]{bottom:10px}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.left-\[10px\]{left:10px}.left-\[14px\]{left:14px}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[5\]{z-index:5}.z-\[6\]{z-index:6}.z-\[8\]{z-index:8}.z-\[9\]{z-index:9}.col-span-2{grid-column:span 2/span 2}.col-span-full{grid-column:1/-1}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing) * 0)}.m-2{margin:calc(var(--spacing) * 2)}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-3\.5{margin-inline:calc(var(--spacing) * 3.5)}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-\[4px\]{margin-top:4px}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-\[var\(--space-sm\)\]{margin-bottom:var(--space-sm)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.ml-0{margin-left:calc(var(--spacing) * 0)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.size-\(--cell-size\){width:var(--cell-size);height:var(--cell-size)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-full{width:100%;height:100%}.h-\(--bits-select-anchor-height\){height:var(--bits-select-anchor-height)}.h-\(--cell-size\){height:var(--cell-size)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-32{height:calc(var(--spacing) * 32)}.h-\[1\.15rem\]{height:1.15rem}.h-\[6px\]{height:6px}.h-\[7px\]{height:7px}.h-\[8px\]{height:8px}.h-\[9px\]{height:9px}.h-\[12px\]{height:12px}.h-\[14px\]{height:14px}.h-\[26px\]{height:26px}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.h-svh{height:100svh}.max-h-\(--bits-select-content-available-height\){max-height:var(--bits-select-content-available-height)}.max-h-\[40vh\]{max-height:40vh}.max-h-\[120px\]{max-height:120px}.max-h-\[200px\]{max-height:200px}.max-h-\[300px\]{max-height:300px}.max-h-\[320px\]{max-height:320px}.max-h-\[400px\]{max-height:400px}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-\[30px\]{min-height:30px}.min-h-\[46vh\]{min-height:46vh}.min-h-\[220px\]{min-height:220px}.\!w-\[520px\]{width:520px!important}.\!w-\[560px\]{width:560px!important}.w-\(--cell-size\){width:var(--cell-size)}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-72{width:calc(var(--spacing) * 72)}.w-\[6px\]{width:6px}.w-\[7px\]{width:7px}.w-\[8px\]{width:8px}.w-\[9px\]{width:9px}.w-\[12px\]{width:12px}.w-\[14px\]{width:14px}.w-\[34px\]{width:34px}.w-\[48px\]{width:48px}.w-\[52px\]{width:52px}.w-\[60px\]{width:60px}.w-\[70px\]{width:70px}.w-\[110px\]{width:110px}.w-\[130px\]{width:130px}.w-\[140px\]{width:140px}.w-\[170px\]{width:170px}.w-\[320px\]{width:320px}.w-\[360px\]{width:360px}.w-\[380px\]{width:380px}.w-\[420px\]{width:420px}.w-\[520px\]{width:520px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.\!max-w-\[90vw\]{max-width:90vw!important}.\!max-w-\[96vw\]{max-width:96vw!important}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-\[140px\]{max-width:140px}.max-w-\[180px\]{max-width:180px}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-\[320px\]{max-width:320px}.max-w-\[480px\]{max-width:480px}.min-w-\(--bits-select-anchor-width\){min-width:var(--bits-select-anchor-width)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[40px\]{min-width:40px}.min-w-\[100px\]{min-width:100px}.min-w-\[120px\]{min-width:120px}.min-w-\[320px\]{min-width:320px}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-\(--bits-popover-content-transform-origin\){transform-origin:var(--bits-popover-content-transform-origin)}.origin-\(--bits-select-content-transform-origin\){transform-origin:var(--bits-select-content-transform-origin)}.origin-\(--bits-tooltip-content-transform-origin\){transform-origin:var(--bits-tooltip-content-transform-origin)}.origin-left{transform-origin:0}.origin-right{transform-origin:100%}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-75{--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-90{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x) var(--tw-scale-y)}.rotate-45{rotate:45deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.\[animation\:pulse_2s_infinite\]{animation:2s infinite pulse}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.scroll-my-1{scroll-margin-block:calc(var(--spacing) * 1)}.list-none{list-style-type:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.grid-cols-\[80px_1fr\]{grid-template-columns:80px 1fr}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-cols-\[repeat\(auto-fill\,minmax\(320px\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.content-start{align-content:flex-start}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-\[5px\]{gap:5px}.gap-\[6px\]{gap:6px}.gap-\[var\(--space-md\)\]{gap:var(--space-md)}.gap-\[var\(--space-sm\)\]{gap:var(--space-sm)}.gap-\[var\(--space-xs\)\]{gap:var(--space-xs)}.gap-px{gap:1px}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-px>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(1px * var(--tw-space-y-reverse));margin-block-end:calc(1px * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[4px\]{border-radius:4px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.\!border-l{border-left-style:var(--tw-border-style)!important;border-left-width:1px!important}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.\!border-\[var\(--sig-border-strong\)\]{border-color:var(--sig-border-strong)!important}.border-\[\#4a7a5e\]{border-color:#4a7a5e}.border-\[\#4ade80\]{border-color:#4ade80}.border-\[\#8a4a48\]{border-color:#8a4a48}.border-\[\#94a3b8\]{border-color:#94a3b8}.border-\[\#b8860b\]{border-color:#b8860b}.border-\[\#f87171\]{border-color:#f87171}.border-\[\#fbbf24\]{border-color:#fbbf24}.border-\[rgba\(255\,255\,255\,0\.1\)\]{border-color:#ffffff1a}.border-\[rgba\(255\,255\,255\,0\.2\)\]{border-color:#fff3}.border-\[rgba\(255\,255\,255\,0\.14\)\]{border-color:#ffffff24}.border-\[rgba\(255\,255\,255\,0\.22\)\]{border-color:#ffffff38}.border-\[rgba\(255\,255\,255\,0\.24\)\]{border-color:#ffffff3d}.border-\[rgba\(255\,255\,255\,0\.26\)\]{border-color:#ffffff42}.border-\[rgba\(255\,255\,255\,0\.28\)\]{border-color:#ffffff47}.border-\[rgba\(255\,255\,255\,0\.32\)\]{border-color:#ffffff52}.border-\[var\(--sig-accent\)\]{border-color:var(--sig-accent)}.border-\[var\(--sig-border\)\],.border-\[var\(--sig-border\)\]\/30{border-color:var(--sig-border)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--sig-border\)\]\/30{border-color:color-mix(in oklab,var(--sig-border) 30%,transparent)}}.border-\[var\(--sig-border-strong\)\]{border-color:var(--sig-border-strong)}.border-\[var\(--sig-danger\)\]{border-color:var(--sig-danger)}.border-\[var\(--sig-success\)\]{border-color:var(--sig-success)}.border-\[var\(--sig-text-bright\)\]{border-color:var(--sig-text-bright)}.border-\[var\(--sig-text-muted\)\]{border-color:var(--sig-text-muted)}.border-\[var\(--sig-warning\,\#f59e0b\)\]\/20{border-color:var(--sig-warning,#f59e0b)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--sig-warning\,\#f59e0b\)\]\/20{border-color:color-mix(in oklab,var(--sig-warning,#f59e0b) 20%,transparent)}}.border-input{border-color:var(--input)}.border-red-500{border-color:var(--color-red-500)}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.border-sidebar-border{border-color:var(--sidebar-border)}.border-transparent{border-color:#0000}.border-s-transparent{border-inline-start-color:#0000}.border-t-\[var\(--sig-text-muted\)\]{border-top-color:var(--sig-text-muted)}.border-t-transparent{border-top-color:#0000}.border-b-transparent{border-bottom-color:#0000}.\!border-l-\[var\(--sig-border\)\]{border-left-color:var(--sig-border)!important}.\!bg-\[var\(--sig-surface\)\]{background-color:var(--sig-surface)!important}.\!bg-\[var\(--sig-surface-raised\)\]{background-color:var(--sig-surface-raised)!important}.bg-\[\#4ade80\]{background-color:#4ade80}.bg-\[\#050505\]{background-color:#050505}.bg-\[\#f87171\]{background-color:#f87171}.bg-\[rgba\(5\,5\,5\,0\.72\)\]{background-color:#050505b8}.bg-\[rgba\(5\,5\,5\,0\.74\)\]{background-color:#050505bd}.bg-\[rgba\(5\,5\,5\,0\.75\)\]{background-color:#050505bf}.bg-\[rgba\(5\,5\,5\,0\.92\)\]{background-color:#050505eb}.bg-\[rgba\(138\,138\,150\,0\.1\)\]{background-color:#8a8a961a}.bg-\[rgba\(255\,255\,255\,0\.02\)\]{background-color:#ffffff05}.bg-\[rgba\(255\,255\,255\,0\.03\)\]{background-color:#ffffff08}.bg-\[rgba\(255\,255\,255\,0\.04\)\]{background-color:#ffffff0a}.bg-\[rgba\(255\,255\,255\,0\.06\)\]{background-color:#ffffff0f}.bg-\[rgba\(255\,255\,255\,0\.08\)\]{background-color:#ffffff14}.bg-\[var\(--sig-accent\)\]{background-color:var(--sig-accent)}.bg-\[var\(--sig-bg\)\]{background-color:var(--sig-bg)}.bg-\[var\(--sig-success\)\]{background-color:var(--sig-success)}.bg-\[var\(--sig-surface\)\]{background-color:var(--sig-surface)}.bg-\[var\(--sig-surface-raised\)\]{background-color:var(--sig-surface-raised)}.bg-\[var\(--sig-text-bright\)\]{background-color:var(--sig-text-bright)}.bg-\[var\(--sig-warning\,\#f59e0b\)\]\/8{background-color:var(--sig-warning,#f59e0b)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--sig-warning\,\#f59e0b\)\]\/8{background-color:color-mix(in oklab,var(--sig-warning,#f59e0b) 8%,transparent)}}.bg-accent{background-color:var(--accent)}.bg-background{background-color:var(--background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-foreground{background-color:var(--foreground)}.bg-muted,.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-red-500\/8{background-color:#fb2c3614}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/8{background-color:color-mix(in oklab,var(--color-red-500) 8%,transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-transparent{background-color:#0000}.bg-clip-padding{background-clip:padding-box}.\!p-0{padding:calc(var(--spacing) * 0)!important}.p-0{padding:calc(var(--spacing) * 0)}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-8{padding:calc(var(--spacing) * 8)}.p-\[3px\]{padding:3px}.p-\[var\(--space-md\)\]{padding:var(--space-md)}.p-\[var\(--space-sm\)\]{padding:var(--space-sm)}.p-px{padding:1px}.px-\(--cell-size\){padding-inline:var(--cell-size)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-\[5px\]{padding-inline:5px}.px-\[7px\]{padding-inline:7px}.px-\[9px\]{padding-inline:9px}.px-\[var\(--space-md\)\]{padding-inline:var(--space-md)}.py-0{padding-block:calc(var(--spacing) * 0)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-\[1px\]{padding-block:1px}.py-\[2px\]{padding-block:2px}.py-\[3px\]{padding-block:3px}.py-\[4px\]{padding-block:4px}.py-\[5px\]{padding-block:5px}.py-\[6px\]{padding-block:6px}.py-\[7px\]{padding-block:7px}.py-\[var\(--space-sm\)\]{padding-block:var(--space-sm)}.py-\[var\(--space-xl\)\]{padding-block:var(--space-xl)}.py-\[var\(--space-xs\)\]{padding-block:var(--space-xs)}.py-px{padding-block:1px}.ps-2{padding-inline-start:calc(var(--spacing) * 2)}.pe-1{padding-inline-end:calc(var(--spacing) * 1)}.pe-8{padding-inline-end:calc(var(--spacing) * 8)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-\[var\(--space-md\)\]{padding-right:var(--space-md)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-\[1px\]{padding-bottom:1px}.pb-\[var\(--space-md\)\]{padding-bottom:var(--space-md)}.pl-\[56px\]{padding-left:56px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-start{text-align:start}.align-middle{vertical-align:middle}.\!font-\[family-name\:var\(--font-mono\)\]{font-family:var(--font-mono)!important}.font-\[family-name\:var\(--font-display\)\]{font-family:var(--font-display)}.font-\[family-name\:var\(--font-mono\)\]{font-family:var(--font-mono)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\!text-\[12px\]{font-size:12px!important}.text-\[0\.8rem\]{font-size:.8rem}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[length\:var\(--font-size-base\)\]{font-size:var(--font-size-base)}.text-\[length\:var\(--font-size-sm\)\]{font-size:var(--font-size-sm)}.text-\[length\:var\(--font-size-xs\)\]{font-size:var(--font-size-xs)}.leading-\[1\.3\]{--tw-leading:1.3;line-height:1.3}.leading-\[1\.4\]{--tw-leading:1.4;line-height:1.4}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-\[1\.35\]{--tw-leading:1.35;line-height:1.35}.leading-\[1\.45\]{--tw-leading:1.45;line-height:1.45}.leading-\[1\.55\]{--tw-leading:1.55;line-height:1.55}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[0\.02em\]{--tw-tracking:.02em;letter-spacing:.02em}.tracking-\[0\.04em\]{--tw-tracking:.04em;letter-spacing:.04em}.tracking-\[0\.05em\]{--tw-tracking:.05em;letter-spacing:.05em}.tracking-\[0\.06em\]{--tw-tracking:.06em;letter-spacing:.06em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.\!text-\[var\(--sig-text-bright\)\]{color:var(--sig-text-bright)!important}.text-\[\#4a7a5e\]{color:#4a7a5e}.text-\[\#4ade80\]{color:#4ade80}.text-\[\#6b6b76\]{color:#6b6b76}.text-\[\#8a4a48\]{color:#8a4a48}.text-\[\#94a3b8\]{color:#94a3b8}.text-\[\#b8860b\]{color:#b8860b}.text-\[\#c4a24a\]{color:#c4a24a}.text-\[\#e5c07b\]{color:#e5c07b}.text-\[\#e06c75\]{color:#e06c75}.text-\[\#f87171\]{color:#f87171}.text-\[\#fbbf24\]{color:#fbbf24}.text-\[var\(--sig-accent\)\]{color:var(--sig-accent)}.text-\[var\(--sig-bg\)\]{color:var(--sig-bg)}.text-\[var\(--sig-border-strong\)\]{color:var(--sig-border-strong)}.text-\[var\(--sig-danger\)\]{color:var(--sig-danger)}.text-\[var\(--sig-success\)\]{color:var(--sig-success)}.text-\[var\(--sig-text\)\]{color:var(--sig-text)}.text-\[var\(--sig-text-bright\)\]{color:var(--sig-text-bright)}.text-\[var\(--sig-text-dim\)\]{color:var(--sig-text-dim)}.text-\[var\(--sig-text-muted\)\]{color:var(--sig-text-muted)}.text-\[var\(--sig-warning\)\]{color:var(--sig-warning)}.text-\[var\(--sig-warning\,\#f59e0b\)\]{color:var(--sig-warning,#f59e0b)}.text-amber-400{color:var(--color-amber-400)}.text-background{color:var(--background)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-emerald-400{color:var(--color-emerald-400)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-400{color:var(--color-red-400)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab,red,red)){.text-sidebar-foreground\/70{color:color-mix(in oklab,var(--sidebar-foreground) 70%,transparent)}}.text-white{color:var(--color-white)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_1px_var\(--sidebar-border\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-border));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-ring\/10{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.ring-ring\/10{--tw-ring-color:color-mix(in oklab, var(--ring) 10%, transparent)}}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-ring\/50{outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.outline-ring\/50{outline-color:color-mix(in oklab,var(--ring) 50%,transparent)}}.blur{--tw-blur:blur(8px);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,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,width\]{transition-property:opacity,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.\[--cell-size\:--spacing\(8\)\]{--cell-size:calc(var(--spacing) * 8)}.paused{animation-play-state:paused}.running{animation-play-state:running}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media(hover:hover){.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pe-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-inline-end:calc(var(--spacing) * 8)}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing) * -8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 8)!important;height:calc(var(--spacing) * 8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-0:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 0)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)) + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 0)!important}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:start-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){inset-inline-start:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:end-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){inset-inline-end:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing) * 0)}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.group-data-\[side\=left\]\:-end-4:is(:where(.group)[data-side=left] *){inset-inline-end:calc(var(--spacing) * -4)}.group-data-\[side\=right\]\:start-0:is(:where(.group)[data-side=right] *){inset-inline-start:calc(var(--spacing) * 0)}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:border-sidebar-border:is(:where(.group)[data-variant=floating] *){border-color:var(--sidebar-border)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media(hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active=true]~*){color:var(--sidebar-accent-foreground)}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing) * 1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing) * 2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing) * 1)}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.placeholder\:text-\[var\(--sig-text-muted\)\]::placeholder{color:var(--sig-text-muted)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:left-1\/2:before{content:var(--tw-content);left:50%}.before\:h-full:before{content:var(--tw-content);height:100%}.before\:w-px:before{content:var(--tw-content);width:1px}.before\:bg-\[var\(--sig-accent\)\]:before{content:var(--tw-content);background-color:var(--sig-accent)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing) * -2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.after\:start-\[calc\(1\/2\*100\%-1px\)\]:after{content:var(--tw-content);inset-inline-start:calc(50% - 1px)}.after\:top-1\/2:after{content:var(--tw-content);top:50%}.after\:h-px:after{content:var(--tw-content);height:1px}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:w-full:after{content:var(--tw-content);width:100%}.after\:bg-\[var\(--sig-accent\)\]:after{content:var(--tw-content);background-color:var(--sig-accent)}.group-data-\[collapsible\=offcanvas\]\:after\:start-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);inset-inline-start:100%}.focus-within\:z-20:focus-within{z-index:20}@media(hover:hover){.hover\:border-\[var\(--sig-accent\)\]:hover{border-color:var(--sig-accent)}.hover\:border-\[var\(--sig-border\)\]:hover{border-color:var(--sig-border)}.hover\:border-\[var\(--sig-border-strong\)\]:hover{border-color:var(--sig-border-strong)}.hover\:border-\[var\(--sig-danger\)\]:hover{border-color:var(--sig-danger)}.hover\:border-\[var\(--sig-text-bright\)\]:hover{border-color:var(--sig-text-bright)}.hover\:border-\[var\(--sig-text-muted\)\]:hover{border-color:var(--sig-text-muted)}.hover\:bg-\[var\(--sig-accent\)\]:hover{background-color:var(--sig-accent)}.hover\:bg-\[var\(--sig-accent-hover\,var\(--sig-accent\)\)\]:hover{background-color:var(--sig-accent-hover,var(--sig-accent))}.hover\:bg-\[var\(--sig-danger\)\]:hover{background-color:var(--sig-danger)}.hover\:bg-\[var\(--sig-surface\)\]:hover{background-color:var(--sig-surface)}.hover\:bg-\[var\(--sig-surface-raised\)\]:hover{background-color:var(--sig-surface-raised)}.hover\:bg-\[var\(--sig-text\)\]:hover{background-color:var(--sig-text)}.hover\:bg-\[var\(--sig-text-bright\)\]:hover{background-color:var(--sig-text-bright)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}.hover\:bg-red-500:hover{background-color:var(--color-red-500)}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:text-\[var\(--sig-accent\)\]:hover{color:var(--sig-accent)}.hover\:text-\[var\(--sig-bg\)\]:hover{color:var(--sig-bg)}.hover\:text-\[var\(--sig-text\)\]:hover{color:var(--sig-text)}.hover\:text-\[var\(--sig-text-bright\)\]:hover{color:var(--sig-text-bright)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_var\(--sidebar-accent\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-accent));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:relative:focus{position:relative}.focus\:border-\[var\(--sig-accent\)\]:focus{border-color:var(--sig-accent)}.focus\:border-ring:focus{border-color:var(--ring)}.focus\:ring-ring\/50:focus{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus\:ring-ring\/50:focus{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:border-\[var\(--sig-accent\)\]:focus-visible{border-color:var(--sig-accent)}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-4:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}@media(hover:hover){.enabled\:hover\:bg-\[var\(--sig-text-bright\)\]:enabled:hover{background-color:var(--sig-text-bright)}.enabled\:hover\:text-\[var\(--sig-bg\)\]:enabled:hover{color:var(--sig-bg)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:no-underline:disabled{text-decoration-line:none}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}.has-focus\:border-ring:has(:focus){border-color:var(--ring)}.has-focus\:ring-\[3px\]:has(:focus){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.has-focus\:ring-ring\/50:has(:focus){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.has-focus\:ring-ring\/50:has(:focus){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:var(--sidebar-accent)}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:var(--sidebar-accent-foreground)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:text-muted-foreground[data-disabled]{color:var(--muted-foreground)}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[highlighted\]\:bg-accent[data-highlighted]{background-color:var(--accent)}.data-\[highlighted\]\:text-accent-foreground[data-highlighted]{color:var(--accent-foreground)}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:min-h-full[data-orientation=vertical]{min-height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[selected\]\:bg-primary[data-selected]{background-color:var(--primary)}.data-\[selected\]\:text-primary-foreground[data-selected]{color:var(--primary-foreground)}.data-\[side\=bottom\]\:-translate-x-1\/2[data-side=bottom]{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=bottom\]\:-translate-y-\[calc\(-50\%_\+_1px\)\][data-side=bottom]{--tw-translate-y: calc((-50% + 1px)*-1) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:-translate-y-\[calc\(50\%_-_3px\)\][data-side=left]{--tw-translate-y: calc((50% - 3px)*-1) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-end-2[data-side=left]:where(:dir(ltr),[dir=ltr]){--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=left\]\:slide-in-from-end-2[data-side=left]:where(:dir(rtl),[dir=rtl]){--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:translate-x-\[calc\(50\%_\+_2px\)\][data-side=right]{--tw-translate-x: calc(50% + 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:translate-y-1\/2[data-side=right]{--tw-translate-y: 50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-start-2[data-side=right]:where(:dir(ltr),[dir=ltr]){--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=right\]\:slide-in-from-start-2[data-side=right]:where(:dir(rtl),[dir=rtl]){--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=top\]\:translate-x-1\/2[data-side=top]{--tw-translate-x: 50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:translate-y-\[calc\(-50\%_\+_2px\)\][data-side=top]{--tw-translate-y: calc(-50% + 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing) * 9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing) * 8)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}.data-\[state\=active\]\:border-b-\[var\(--sig-text-bright\)\][data-state=active]{border-bottom-color:var(--sig-text-bright)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-\[var\(--sig-text-bright\)\][data-state=active]{color:var(--sig-text-bright)}.data-\[state\=active\]\:shadow-none[data-state=active]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked]{--tw-translate-x: calc(100% - 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--primary)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:slide-out-to-end[data-state=closed]:dir(ltr){--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-end[data-state=closed]:dir(rtl){--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-start[data-state=closed]:dir(ltr){--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-start[data-state=closed]:dir(rtl){--tw-exit-translate-x:100%}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:slide-in-from-end[data-state=open]:dir(ltr){--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-end[data-state=open]:dir(rtl){--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-start[data-state=open]:dir(ltr){--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-start[data-state=open]:dir(rtl){--tw-enter-translate-x:100%}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}@media(hover:hover){.data-\[state\=open\]\:hover\:bg-sidebar-accent[data-state=open]:hover{background-color:var(--sidebar-accent)}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground[data-state=open]:hover{color:var(--sidebar-accent-foreground)}}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}.data-\[unavailable\]\:text-muted-foreground[data-unavailable]{color:var(--muted-foreground)}.data-\[unavailable\]\:line-through[data-unavailable]{text-decoration-line:line-through}@media not all and (min-width:64rem){.max-lg\:max-h-\[48\%\]{max-height:48%}.max-lg\:max-h-none{max-height:none}.max-lg\:w-full{width:100%}.max-lg\:min-w-0{min-width:calc(var(--spacing) * 0)}.max-lg\:flex-col{flex-direction:column}.max-lg\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.max-lg\:border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.max-lg\:border-t-\[var\(--sig-border\)\]{border-top-color:var(--sig-border)}}@media(min-width:40rem){.sm\:flex{display:flex}.sm\:max-w-\[420px\]{max-width:420px}.sm\:max-w-\[520px\]{max-width:520px}.sm\:max-w-sm{max-width:var(--container-sm)}}@media(min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:opacity-0{opacity:0}.md\:after\:hidden:after{content:var(--tw-content);display:none}}@media(min-width:64rem){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:max-h-none{max-height:none}.lg\:min-h-0{min-height:calc(var(--spacing) * 0)}.lg\:w-\[320px\]{width:320px}.lg\:w-\[420px\]{width:420px}.lg\:grid-cols-\[minmax\(0\,1\.5fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.lg\:flex-row{flex-direction:row}.lg\:border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}}@media(min-width:80rem){.xl\:grid-cols-\[1\.2fr_0\.8fr\]{grid-template-columns:1.2fr .8fr}}.rtl\:rotate-180:where(:dir(rtl),[dir=rtl],[dir=rtl] *){rotate:180deg}.dark\:border-input:is(:root:not([data-theme=light]) *){border-color:var(--input)}.dark\:bg-destructive\/60:is(:root:not([data-theme=light]) *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(:root:not([data-theme=light]) *){background-color:color-mix(in oklab,var(--destructive) 60%,transparent)}}.dark\:bg-destructive\/70:is(:root:not([data-theme=light]) *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/70:is(:root:not([data-theme=light]) *){background-color:color-mix(in oklab,var(--destructive) 70%,transparent)}}.dark\:bg-input\/30:is(:root:not([data-theme=light]) *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(:root:not([data-theme=light]) *){background-color:color-mix(in oklab,var(--input) 30%,transparent)}}.dark\:bg-popover:is(:root:not([data-theme=light]) *){background-color:var(--popover)}.dark\:text-muted-foreground:is(:root:not([data-theme=light]) *){color:var(--muted-foreground)}.dark\:text-popover-foreground:is(:root:not([data-theme=light]) *){color:var(--popover-foreground)}.dark\:ring-ring\/20:is(:root:not([data-theme=light]) *){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.dark\:ring-ring\/20:is(:root:not([data-theme=light]) *){--tw-ring-color:color-mix(in oklab, var(--ring) 20%, transparent)}}.dark\:outline-ring\/40:is(:root:not([data-theme=light]) *){outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.dark\:outline-ring\/40:is(:root:not([data-theme=light]) *){outline-color:color-mix(in oklab,var(--ring) 40%,transparent)}}@media(hover:hover){.dark\:hover\:bg-accent\/50:is(:root:not([data-theme=light]) *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:is(:root:not([data-theme=light]) *):hover{background-color:color-mix(in oklab,var(--accent) 50%,transparent)}}.dark\:hover\:bg-input\/50:is(:root:not([data-theme=light]) *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(:root:not([data-theme=light]) *):hover{background-color:color-mix(in oklab,var(--input) 50%,transparent)}}.dark\:hover\:text-accent-foreground:is(:root:not([data-theme=light]) *):hover{color:var(--accent-foreground)}}.dark\:focus-visible\:ring-destructive\/40:is(:root:not([data-theme=light]) *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(:root:not([data-theme=light]) *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(:root:not([data-theme=light]) *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(:root:not([data-theme=light]) *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}@media(hover:hover){.dark\:data-\[selected\]\:hover\:bg-accent\/50:is(:root:not([data-theme=light]) *)[data-selected]:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[selected\]\:hover\:bg-accent\/50:is(:root:not([data-theme=light]) *)[data-selected]:hover{background-color:color-mix(in oklab,var(--accent) 50%,transparent)}}}.dark\:data-\[state\=active\]\:border-input:is(:root:not([data-theme=light]) *)[data-state=active]{border-color:var(--input)}.dark\:data-\[state\=active\]\:bg-input\/30:is(:root:not([data-theme=light]) *)[data-state=active]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[state\=active\]\:bg-input\/30:is(:root:not([data-theme=light]) *)[data-state=active]{background-color:color-mix(in oklab,var(--input) 30%,transparent)}}.dark\:data-\[state\=active\]\:text-foreground:is(:root:not([data-theme=light]) *)[data-state=active]{color:var(--foreground)}.dark\:data-\[state\=checked\]\:bg-primary:is(:root:not([data-theme=light]) *)[data-state=checked]{background-color:var(--primary)}.dark\:data-\[state\=checked\]\:bg-primary-foreground:is(:root:not([data-theme=light]) *)[data-state=checked]{background-color:var(--primary-foreground)}.dark\:data-\[state\=unchecked\]\:bg-foreground:is(:root:not([data-theme=light]) *)[data-state=unchecked]{background-color:var(--foreground)}.dark\:data-\[state\=unchecked\]\:bg-input\/80:is(:root:not([data-theme=light]) *)[data-state=unchecked]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[state\=unchecked\]\:bg-input\/80:is(:root:not([data-theme=light]) *)[data-state=unchecked]{background-color:color-mix(in oklab,var(--input) 80%,transparent)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}.\[\&\:first-child\[data-selected\]_\[data-bits-day\]\]\:rounded-s-md:first-child[data-selected] [data-bits-day]{border-start-start-radius:calc(var(--radius) - 2px);border-end-start-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pe-0:has([role=checkbox]){padding-inline-end:calc(var(--spacing) * 0)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}.\[\&\:last-child\[data-selected\]_\[data-bits-day\]\]\:rounded-e-md:last-child[data-selected] [data-bits-day]{border-start-end-radius:calc(var(--radius) - 2px);border-end-end-radius:calc(var(--radius) - 2px)}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\]\:text-xs>span{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&\>span\]\:opacity-70>span{opacity:.7}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&\>svg\]\:size-3\.5>svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-muted-foreground>svg{color:var(--muted-foreground)}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}@media(hover:hover){:is(.hover\:\[\&\,\&\>svelte-css-wrapper\]\:\[\&\>th\,td\]\:bg-muted\/50:hover,.hover\:\[\&\,\&\>svelte-css-wrapper\]\:\[\&\>th\,td\]\:bg-muted\/50:hover>svelte-css-wrapper)>th,:is(.hover\:\[\&\,\&\>svelte-css-wrapper\]\:\[\&\>th\,td\]\:bg-muted\/50:hover,.hover\:\[\&\,\&\>svelte-css-wrapper\]\:\[\&\>th\,td\]\:bg-muted\/50:hover>svelte-css-wrapper) td{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){:is(.hover\:\[\&\,\&\>svelte-css-wrapper\]\:\[\&\>th\,td\]\:bg-muted\/50:hover,.hover\:\[\&\,\&\>svelte-css-wrapper\]\:\[\&\>th\,td\]\:bg-muted\/50:hover>svelte-css-wrapper)>th,:is(.hover\:\[\&\,\&\>svelte-css-wrapper\]\:\[\&\>th\,td\]\:bg-muted\/50:hover,.hover\:\[\&\,\&\>svelte-css-wrapper\]\:\[\&\>th\,td\]\:bg-muted\/50:hover>svelte-css-wrapper) td{background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.\[\&\[data-outside-month\]\:not\(\[data-selected\]\)\]\:text-muted-foreground[data-outside-month]:not([data-selected]){color:var(--muted-foreground)}@media(hover:hover){.\[\&\[data-outside-month\]\:not\(\[data-selected\]\)\]\:hover\:text-accent-foreground[data-outside-month]:not([data-selected]):hover{color:var(--accent-foreground)}}.\[\&\[data-today\]\:not\(\[data-selected\]\)\]\:bg-accent[data-today]:not([data-selected]){background-color:var(--accent)}.\[\&\[data-today\]\:not\(\[data-selected\]\)\]\:text-accent-foreground[data-today]:not([data-selected]){color:var(--accent-foreground)}.\[\&\[data-today\]\[data-disabled\]\]\:text-muted-foreground[data-today][data-disabled]{color:var(--muted-foreground)}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-end-2{inset-inline-end:calc(var(--spacing) * -2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-start-2{inset-inline-start:calc(var(--spacing) * -2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-slot=card-content] .\[\[data-slot\=card-content\]_\&\]\:bg-transparent,[data-slot=popover-content] .\[\[data-slot\=popover-content\]_\&\]\:bg-transparent{background-color:#0000}@media(hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--secondary) 90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:0px;--background:#08080a;--foreground:#d4d4d8;--card:#0e0e12;--card-foreground:#d4d4d8;--popover:#0e0e12;--popover-foreground:#d4d4d8;--primary:#f0f0f2;--primary-foreground:#08080a;--secondary:#151519;--secondary-foreground:#d4d4d8;--muted:#151519;--muted-foreground:#6b6b76;--accent:#151519;--accent-foreground:#d4d4d8;--destructive:#8a4a48;--destructive-foreground:#f0f0f2;--border:#ffffff0f;--input:#ffffff1f;--ring:#6b6b76;--sidebar:#0b0b0f;--sidebar-foreground:#d4d4d8;--sidebar-primary:#f0f0f2;--sidebar-primary-foreground:#08080a;--sidebar-accent:#ffffff14;--sidebar-accent-foreground:#d4d4d8;--sidebar-border:#ffffff0f;--sidebar-ring:#6b6b76;--sig-bg:#08080a;--sig-surface:#0e0e12;--sig-surface-raised:#151519;--sig-border:#ffffff0f;--sig-border-strong:#ffffff1f;--sig-text:#d4d4d8;--sig-text-bright:#f0f0f2;--sig-text-muted:#6b6b76;--sig-accent:#8a8a96;--sig-accent-hover:#c0c0c8;--sig-danger:#8a4a48;--sig-success:#4a7a5e;--sig-dither:#f0f0f2;--sig-grain-opacity:.04;--font-display:"Chakra Petch", sans-serif;--font-mono:"IBM Plex Mono", monospace;--font-sans:var(--font-display);--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:48px;--space-2xl:80px;--font-size-xs:10px;--font-size-sm:11px;--font-size-base:13px;--font-size-lg:15px;--ease:cubic-bezier(.16, 1, .3, 1);--dur:.2s}[data-theme=light]{--background:#e4dfd8;--foreground:#2a2a2e;--card:#dbd5cd;--card-foreground:#2a2a2e;--popover:#dbd5cd;--popover-foreground:#2a2a2e;--primary:#0a0a0c;--primary-foreground:#e4dfd8;--secondary:#d1cbc2;--secondary-foreground:#2a2a2e;--muted:#d1cbc2;--muted-foreground:#7a756e;--accent:#d1cbc2;--accent-foreground:#2a2a2e;--destructive:#8a4a48;--destructive-foreground:#f0f0f2;--border:#0000000f;--input:#0000001f;--ring:#7a756e;--sidebar:#d6d0c8;--sidebar-foreground:#2a2a2e;--sidebar-primary:#0a0a0c;--sidebar-primary-foreground:#e4dfd8;--sidebar-accent:#00000014;--sidebar-accent-foreground:#2a2a2e;--sidebar-border:#0000000f;--sidebar-ring:#7a756e;--sig-bg:#e4dfd8;--sig-surface:#dbd5cd;--sig-surface-raised:#d1cbc2;--sig-border:#0000000f;--sig-border-strong:#0000001f;--sig-text:#2a2a2e;--sig-text-bright:#0a0a0c;--sig-text-muted:#7a756e;--sig-accent:#6a6660;--sig-accent-hover:#3a3832;--sig-danger:#8a4a48;--sig-success:#4a7a5e;--sig-dither:#0a0a0c;--sig-grain-opacity:.06}html{background:var(--sig-bg);color:var(--sig-text);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .4s var(--ease),color .4s var(--ease);font-size:13px;line-height:1.55}body{min-height:100vh;margin:0}body:before{content:"";z-index:9999;pointer-events:none;opacity:var(--sig-grain-opacity);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='5' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px;position:fixed;inset:0}::selection{background:var(--sig-border-strong);color:var(--sig-text-bright)}::-webkit-scrollbar{width:3px;height:3px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--sig-border-strong);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--sig-text-muted)}:focus-visible{outline:1px solid var(--sig-text-muted);outline-offset:1px}button,a,input,select,textarea{transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}h1,h2,h3{font-family:var(--font-display);color:var(--sig-text-bright);text-transform:uppercase;font-weight:600;line-height:1.1}h1{letter-spacing:.06em;font-size:1.5rem}h2{letter-spacing:.05em;font-size:1rem}h3{letter-spacing:.04em;font-size:.875rem}.prose{font-family:var(--font-mono);color:var(--sig-text);font-size:13px;line-height:1.7}.prose h1,.prose h2,.prose h3{font-family:var(--font-display);color:var(--sig-text-bright);text-transform:uppercase;margin:1.5em 0 .5em;font-weight:600;line-height:1.2}.prose h1{letter-spacing:.06em;border-bottom:1px solid var(--sig-border);padding-bottom:.4em;font-size:1.25rem}.prose h2{letter-spacing:.05em;font-size:1rem}.prose h3{letter-spacing:.04em;font-size:.875rem}.prose p{margin:.75em 0}.prose ul,.prose ol{margin:.5em 0;padding-left:1.5em}.prose li{margin:.25em 0}.prose code{font-family:var(--font-mono);background:var(--sig-surface-raised);border:1px solid var(--sig-border);padding:1px 5px;font-size:.9em}.prose pre{background:var(--sig-bg);border:1px solid var(--sig-border);padding:var(--space-sm) var(--space-md);margin:.75em 0;overflow-x:auto}.prose pre code{background:0 0;border:none;padding:0}.prose a{color:var(--sig-accent);text-underline-offset:2px;text-decoration:underline}.prose a:hover{color:var(--sig-accent-hover)}.prose strong{color:var(--sig-text-bright);font-weight:600}.prose em{font-style:italic}.prose blockquote{border-left:2px solid var(--sig-border-strong);padding:.25em 0 .25em var(--space-md);color:var(--sig-text-muted);margin:.75em 0}.prose hr{border:none;border-top:1px solid var(--sig-border);margin:1.5em 0}.prose table{border-collapse:collapse;width:100%;margin:.75em 0;font-size:12px}.prose th,.prose td{border:1px solid var(--sig-border);text-align:left;padding:4px 8px}.prose th{background:var(--sig-surface-raised);color:var(--sig-text-bright);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}@media(prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes pulse{50%{opacity:.5}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as p,B as d,m as c,q as i,C as l,D as m,h,l as f,E as u}from"./cZT7cFE6.js";import{I as $}from"./
|
|
1
|
+
import{a as p,B as d,m as c,q as i,C as l,D as m,h,l as f,E as u}from"./cZT7cFE6.js";import{I as $}from"./DV5sVIyK.js";function C(e,o){p(o,!0);let a=u(o,["$$slots","$$events","$$legacy"]);const n=[["path",{d:"m6 9 6 6 6-6"}]];$(e,d({name:"chevron-down"},()=>a,{get iconNode(){return n},children:(r,v)=>{var s=c(),t=i(s);l(t,()=>o.children??m),h(r,s)},$$slots:{default:!0}})),f()}export{C};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{p as tr,a as vt,P as Xt,g as e,b as h,c as a,i as O,d as i,r as t,e as b,M as $e,N as d,f as m,y as De,h as f,l as ft,u as C,s as U,al as ae,A as Rt,q as re,v as Ne,w as lt,a6 as kt,am as Nt,m as st,G as Ee,n as dt,t as At,z as M,o as rr,I as ar,ab as qt,J as or}from"./cZT7cFE6.js";import{B as zt}from"./s2QRcZRE.js";import{S as nr}from"./D6_Sd-0i.js";import{P as ir,a as sr,b as lr}from"./Cw4fN4QH.js";import{D as dr,S as cr,E as vr,F as fr,G as ur,H as mr}from"./DKJDCEbj.js";import{w as wt,s as Gt}from"./Br6JlEV2.js";const ye={harness:"#4dabf7",daemon:"#ff922b",pipeline:"#da77f2",db:"#ffd43b",search:"#da77f2",files:"#20c997",configs:"#4dabf7",llm:"#fcc419"},Oe={harness:"AI Harness",daemon:"Signet Daemon",pipeline:"Pipeline Workers",db:"memories.db",search:"Hybrid Recall",files:"~/.agents/",configs:"Harness Configs",llm:"LLM Provider"},gr={harness:{x:20,y:20,w:240,h:120,label:Oe.harness,color:ye.harness},daemon:{x:300,y:20,w:340,h:280,label:Oe.daemon,color:ye.daemon},pipeline:{x:20,y:360,w:620,h:140,label:Oe.pipeline,color:ye.pipeline},db:{x:680,y:160,w:200,h:200,label:Oe.db,color:ye.db},search:{x:920,y:160,w:200,h:140,label:Oe.search,color:ye.search},files:{x:680,y:400,w:200,h:100,label:Oe.files,color:ye.files},configs:{x:920,y:400,w:200,h:100,label:Oe.configs,color:ye.configs},llm:{x:680,y:540,w:200,h:80,label:Oe.llm,color:ye.llm}},Ue=[{id:"harness",label:"AI Client",group:"harness",x:40,y:55,w:200,h:50,logCategories:["hooks","session-tracker"],icon:"terminal",description:"Claude Code / OpenCode / OpenClaw — sends session hooks"},{id:"hooks",label:"Hook Handlers",group:"daemon",x:320,y:50,w:140,h:40,logCategories:["hooks"],icon:"webhook",description:"Session lifecycle hooks (start, submit, remember, recall, end)"},{id:"mutex",label:"Session Mutex",group:"daemon",x:320,y:110,w:140,h:40,logCategories:["session-tracker"],icon:"lock",description:"Plugin vs legacy runtime path enforcement"},{id:"queue",label:"Job Queues",group:"daemon",x:320,y:170,w:140,h:40,logCategories:["pipeline"],diagnosticDomain:"queue",icon:"layers",description:"memory_jobs + summary_jobs durable queues"},{id:"watcher",label:"File Watcher",group:"daemon",x:490,y:110,w:130,h:40,logCategories:["watcher"],icon:"eye",description:"Chokidar file change detection on ~/.agents/"},{id:"sync",label:"Harness Sync",group:"daemon",x:490,y:170,w:130,h:40,logCategories:["sync"],diagnosticDomain:"connector",icon:"refresh-cw",description:"Generate CLAUDE.md, AGENTS.md from identity files"},{id:"extraction",label:"Extraction",group:"pipeline",x:40,y:395,w:110,h:40,logCategories:["pipeline"],diagnosticDomain:"queue",icon:"cpu",description:"LLM extracts facts + entities (2s poll)"},{id:"summary",label:"Summary",group:"pipeline",x:165,y:395,w:100,h:40,logCategories:["summary-worker"],icon:"file-text",description:"Session-end transcript summarizer (5s poll)"},{id:"document",label:"Document",group:"pipeline",x:280,y:395,w:100,h:40,logCategories:["document-worker"],icon:"file-plus",description:"Chunk + embed documents (10s poll)"},{id:"retention",label:"Retention",group:"pipeline",x:395,y:395,w:100,h:40,logCategories:["retention"],diagnosticDomain:"mutation",icon:"trash-2",description:"Purge expired data (6h interval)"},{id:"maintenance",label:"Maintenance",group:"pipeline",x:510,y:395,w:110,h:40,logCategories:["maintenance"],icon:"wrench",description:"Self-repair + diagnostics (30min interval)"},{id:"database",label:"SQLite",group:"db",x:710,y:220,w:140,h:80,logCategories:["memory","embedding"],diagnosticDomain:"storage",icon:"database",description:"memories, embeddings, entities, relations, history"},{id:"search",label:"Hybrid Recall",group:"search",x:940,y:200,w:160,h:60,logCategories:["memory"],diagnosticDomain:"index",icon:"search",description:"BM25 + vector similarity + graph boost"},{id:"files",label:"Identity Files",group:"files",x:710,y:430,w:140,h:40,logCategories:["sync"],icon:"folder",description:"AGENTS.md, SOUL.md, IDENTITY.md, USER.md, MEMORY.md"},{id:"configs",label:"CLAUDE.md",group:"configs",x:950,y:430,w:140,h:40,logCategories:["harness"],icon:"file-code",description:"Generated harness config files"},{id:"llm",label:"LLM Provider",group:"llm",x:710,y:560,w:140,h:40,logCategories:["llm"],diagnosticDomain:"provider",icon:"brain",description:"Ollama qwen3:4b (or configured provider)"}],It=new Map(Ue.map(u=>[u.id,u])),pr=[{from:"harness",to:"hooks",label:"POST"},{from:"hooks",to:"mutex"},{from:"hooks",to:"queue",label:"enqueue"},{from:"queue",to:"extraction"},{from:"queue",to:"summary"},{from:"queue",to:"document"},{from:"extraction",to:"database",label:"write"},{from:"summary",to:"database"},{from:"document",to:"database"},{from:"retention",to:"database"},{from:"maintenance",to:"database"},{from:"extraction",to:"llm"},{from:"summary",to:"llm"},{from:"database",to:"search"},{from:"search",to:"harness",dashed:!0,label:"recall"},{from:"watcher",to:"sync"},{from:"files",to:"watcher"},{from:"sync",to:"configs"},{from:"files",to:"sync"},{from:"summary",to:"files",label:".md"},{from:"configs",to:"harness",dashed:!0,label:"next session"}];function xr(){return{health:"unknown",score:0,lastActivity:null,pulseCount:0,queueDepth:0,processingRate:0,errorCount:0,recentLogs:[],metrics:{}}}const $t=new Map;for(const u of Ue)for(const o of u.logCategories){const l=$t.get(o);l?l.push(u.id):$t.set(o,[u.id])}const Ht=20;function hr(){const u={};for(const o of Ue)u[o.id]=xr();return u}const Ft=50,_=tr({nodes:hr(),mode:"unknown",connected:!1,lastPoll:null,selectedNodeId:null,feed:[]});let fe=null;function Bt(){fe&&(fe.close(),fe=null);const u="";fe=new EventSource(`${u}/api/logs/stream`),fe.onopen=()=>{_.connected=!0},fe.onmessage=o=>{try{const l=JSON.parse(o.data);if(l.type==="connected"){_.connected=!0;return}const s=[..._.feed,l];_.feed=s.length>Ft?s.slice(-Ft):s;const c=$t.get(l.category);if(!c)return;for(const N of c){const D=_.nodes[N];if(!D)continue;D.pulseCount+=1,D.lastActivity=l.timestamp;const L=[...D.recentLogs,l];D.recentLogs=L.length>Ht?L.slice(-Ht):L,l.level==="error"&&(D.errorCount+=1)}}catch{}},fe.onerror=()=>{_.connected=!1,fe?.close(),fe=null,setTimeout(()=>{fe||Bt()},3e3)}}function br(){_.connected=!1,fe?.close(),fe=null}let ct=null;function yr(u){return u>=.8?"healthy":u>=.5?"degraded":u>0?"unhealthy":"unknown"}function _r(u){for(const o of Ue){if(!o.diagnosticDomain)continue;const l=u[o.diagnosticDomain];if(!l)continue;const s=_.nodes[o.id];if(!s)continue;const c=typeof l.score=="number"?l.score:0;s.score=c,s.health=yr(c),s.metrics=l}}function wr(u){const o=_.nodes.queue;if(o){const c=u.memory,N=u.summary;o.queueDepth=c.pending+c.leased+N.pending+N.leased,o.metrics={memory:c,summary:N}}const l=_.nodes.extraction;l&&(l.queueDepth=u.memory.pending);const s=_.nodes.summary;s&&(s.queueDepth=u.summary.pending)}async function Yt(){try{const u=await dr();if(!u)return;if(_.mode=u.mode,_.lastPoll=new Date().toISOString(),u.diagnostics&&_r(u.diagnostics),u.queues&&wr(u.queues),u.workers)for(const[o,l]of Object.entries(u.workers)){const s=_.nodes[o];s&&l.running&&s.health==="unknown"&&(s.health="healthy",s.score=1)}if(u.errorSummary)for(const[o,l]of Object.entries(u.errorSummary)){const s=o==="extraction"||o==="decision"?"extraction":o==="embedding"||o==="mutation"?"database":o==="connector"?"sync":null;if(s){const c=_.nodes[s];c&&(c.errorCount=l)}}}catch{}}function kr(u=5e3){ct||(Yt(),ct=setInterval(Yt,u))}function Sr(){ct&&(clearInterval(ct),ct=null)}function Ut(u){_.selectedNodeId=u}var Cr=ae('<rect class="glow-bg svelte-1tib701" x="-6" y="-6" rx="10" ry="10" opacity="0.12"></rect>'),Pr=ae('<rect class="pulse-ring svelte-1tib701" x="-4" y="-4" rx="10" ry="10" fill="none"></rect>'),Er=ae('<rect class="flash-overlay svelte-1tib701" rx="6" ry="6"></rect>'),Dr=ae('<animate attributeName="opacity" values="1;0.4;1" dur="1.5s" repeatCount="indefinite" class="svelte-1tib701"></animate>'),Mr=ae('<g class="svelte-1tib701"><rect x="-12" y="-7" width="24" height="14" rx="7" opacity="0.95" class="svelte-1tib701"></rect><text x="0" y="1" text-anchor="middle" dominant-baseline="middle" fill="#fff" font-size="9" font-weight="600" font-family="var(--font-mono)" class="svelte-1tib701"> </text></g>'),Lr=ae('<g transform="translate(8, -6)" class="svelte-1tib701"><rect x="-12" y="-7" width="24" height="14" rx="7" fill="#ef4444" opacity="0.95" class="svelte-1tib701"></rect><text x="0" y="1" text-anchor="middle" dominant-baseline="middle" fill="#fff" font-size="9" font-weight="600" font-family="var(--font-mono)" class="svelte-1tib701"> </text></g>'),Tr=ae('<g style="cursor: pointer"><!><!><rect class="node-rect svelte-1tib701" rx="6" ry="6"></rect><!><circle cx="10" class="svelte-1tib701"><!></circle><text text-anchor="middle" dominant-baseline="middle" font-size="11" font-family="var(--font-mono)" class="svelte-1tib701"> </text><!><!></g>');function Or(u,o){vt(o,!0);let l=C(()=>ye[o.def.group]);const s={healthy:"#4ade80",degraded:"#fbbf24",unhealthy:"#f87171",unknown:"#6b6b76"};let c=C(()=>s[o.nodeState.health]),N=C(()=>o.nodeState.health==="unknown"?e(l)+"88":e(c)),D=U(0),L=U(!1),y=U(!1),k=null;Xt(()=>{if(o.nodeState.pulseCount>e(D)){h(D,o.nodeState.pulseCount,!0),h(L,!0);const p=setTimeout(()=>{h(L,!1)},1200);return h(y,!0),k&&clearTimeout(k),k=setTimeout(()=>{h(y,!1)},3e3),()=>{clearTimeout(p),k&&clearTimeout(k)}}});function oe(){o.onselectnode(o.def.id)}var G=Tr();let A;var V=a(G);{var _e=p=>{var x=Cr();b(()=>{d(x,"width",o.def.w+12),d(x,"height",o.def.h+12),d(x,"fill",e(l))}),f(p,x)};O(V,p=>{e(y)&&p(_e)})}var de=i(V);{var ue=p=>{var x=Pr();b(()=>{d(x,"width",o.def.w+8),d(x,"height",o.def.h+8),d(x,"stroke",e(l))}),f(p,x)};O(de,p=>{e(L)&&p(ue)})}var E=i(de),S=i(E);{var P=p=>{var x=Er();b(()=>{d(x,"width",o.def.w),d(x,"height",o.def.h),d(x,"fill",e(l))}),f(p,x)};O(S,p=>{e(L)&&p(P)})}var T=i(S),Q=a(T);{var F=p=>{var x=Dr();f(p,x)};O(Q,p=>{e(y)&&p(F)})}t(T);var $=i(T),v=a($,!0);t($);var w=i($);{var H=p=>{var x=Mr(),z=a(x),ne=i(z),Re=a(ne,!0);t(ne),t(x),b(()=>{d(x,"transform",`translate(${o.def.w-8}, -6)`),d(z,"fill",e(l)),m(Re,o.nodeState.queueDepth)}),f(p,x)};O(w,p=>{o.nodeState.queueDepth>0&&p(H)})}var R=i(w);{var W=p=>{var x=Lr(),z=i(a(x)),ne=a(z,!0);t(z),t(x),b(()=>m(ne,o.nodeState.errorCount)),f(p,x)};O(R,p=>{o.nodeState.errorCount>0&&p(W)})}t(G),b(()=>{A=$e(G,0,"pipeline-node svelte-1tib701",null,A,{"pipeline-node--selected":o.selected,"pipeline-node--active":e(y)}),d(G,"transform",`translate(${o.def.x??""}, ${o.def.y??""})`),d(E,"width",o.def.w),d(E,"height",o.def.h),d(E,"fill",e(y)?e(l)+"18":"var(--sig-surface-raised)"),d(E,"stroke",e(y)?e(l):e(N)),d(E,"stroke-width",o.selected?2.5:e(y)?1.5:1),d(T,"cy",o.def.h/2),d(T,"r",e(y)?4:3),d(T,"fill",e(y)?e(l):e(c)),d(T,"opacity",e(y)?1:.7),d($,"x",o.def.w/2),d($,"y",o.def.h/2+1),d($,"fill",e(y)?e(l):"var(--sig-text-bright)"),d($,"font-weight",e(y)?"600":"400"),m(v,o.def.label)}),De("click",G,oe),f(u,G),ft()}Rt(["click"]);var Nr=ae('<path fill="none" stroke-width="4" opacity="0.15" class="edge-glow svelte-kl8ook"></path>'),Ar=ae('<circle r="2" opacity="0.6" class="svelte-kl8ook"><animateMotion repeatCount="indefinite" begin="0.5s" class="svelte-kl8ook"></animateMotion></circle>'),Ir=ae('<circle class="svelte-kl8ook"><animateMotion repeatCount="indefinite" class="svelte-kl8ook"></animateMotion></circle><!>',1),$r=ae('<text text-anchor="middle" font-size="9" font-family="var(--font-mono)" class="svelte-kl8ook"> </text>'),Rr=ae('<g class="pipeline-edge svelte-kl8ook"><path fill="none"></path><!><!><!></g>');function jr(u,o){vt(o,!0);let l=C(()=>It.get(o.edge.from)),s=C(()=>It.get(o.edge.to)),c=C(()=>e(l)?ye[e(l).group]:"#6b6b76"),N=C(()=>{if(!e(l)||!e(s))return"";const E=e(l).x+e(l).w/2,S=e(l).y+e(l).h/2,P=e(s).x+e(s).w/2,T=e(s).y+e(s).h/2,Q=(E+P)/2,F=(S+T)/2,$=Math.abs(P-E),v=Math.abs(T-S);return $>v?`M ${E} ${S} Q ${Q} ${S}, ${Q} ${F} Q ${Q} ${T}, ${P} ${T}`:`M ${E} ${S} Q ${E} ${F}, ${Q} ${F} Q ${P} ${F}, ${P} ${T}`}),D=C(()=>!e(l)||!e(s)?{x:0,y:0}:{x:(e(l).x+e(l).w/2+e(s).x+e(s).w/2)/2,y:(e(l).y+e(l).h/2+e(s).y+e(s).h/2)/2-8}),L=C(()=>o.active?"1s":"3s");var y=Rr(),k=a(y);let oe;var G=i(k);{var A=E=>{var S=Nr();b(()=>{d(S,"d",e(N)),d(S,"stroke",e(c))}),f(E,S)};O(G,E=>{o.active&&!o.edge.dashed&&E(A)})}var V=i(G);{var _e=E=>{var S=Ir(),P=re(S),T=a(P);t(P);var Q=i(P);{var F=$=>{var v=Ar(),w=a(v);t(v),b(()=>{d(v,"fill",e(c)),d(w,"dur",e(L)),d(w,"path",e(N))}),f($,v)};O(Q,$=>{o.active&&$(F)})}b(()=>{d(P,"r",o.active?3.5:2),d(P,"fill",o.active?e(c):"var(--sig-border)"),d(P,"opacity",o.active?1:.3),d(T,"dur",e(L)),d(T,"path",e(N))}),f(E,S)};O(V,E=>{o.edge.dashed||E(_e)})}var de=i(V);{var ue=E=>{var S=$r(),P=a(S,!0);t(S),b(()=>{d(S,"x",e(D).x),d(S,"y",e(D).y),d(S,"fill",o.active?e(c):"var(--sig-text-muted)"),d(S,"opacity",o.active?.9:.45),m(P,o.edge.label)}),f(E,S)};O(de,E=>{o.edge.label&&E(ue)})}t(y),b(()=>{d(k,"d",e(N)),d(k,"stroke",o.active?e(c):"var(--sig-border)"),d(k,"stroke-width",o.active?1.5:.8),d(k,"stroke-dasharray",o.edge.dashed?"6 4":"none"),d(k,"opacity",o.active?.8:.25),oe=$e(k,0,"svelte-kl8ook",null,oe,{"edge-active":o.active})}),f(u,y),ft()}var qr=ae('<g><rect rx="8" ry="8" fill-opacity="0.06" stroke-opacity="0.25" stroke-width="1" stroke-dasharray="4 3"></rect><text font-size="9" font-family="var(--font-mono)" opacity="0.6" letter-spacing="0.08em"> </text></g>'),Gr=ae('<svg viewBox="0 0 1160 650" preserveAspectRatio="xMidYMid meet" class="w-full h-full select-none" xmlns="http://www.w3.org/2000/svg" role="application" aria-label="Pipeline graph. Use mouse wheel to zoom, drag background to pan, double-click to reset."><defs><filter id="glow" x="-50%" y="-50%" width="200%" height="200%"><feGaussianBlur stdDeviation="3" result="blur"></feGaussianBlur><feMerge><feMergeNode in="blur"></feMergeNode><feMergeNode in="SourceGraphic"></feMergeNode></feMerge></filter><marker id="arrow" viewBox="0 0 10 10" refX="10" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="var(--sig-border-strong)"></path></marker></defs><g><!><!><!></g></svg>');function Hr(u,o){vt(o,!0);const l=Object.entries(gr),s=.7,c=2.4,N=.12;let D=U(1),L=U(0),y=U(0),k=U(!1),oe=U(0),G=U(0);function A(v){const w=_.nodes[v];return w?.lastActivity?Date.now()-new Date(w.lastActivity).getTime()<5e3:!1}function V(v){return Math.min(c,Math.max(s,v))}function _e(){h(D,1),h(L,0),h(y,0)}function de(v){v.preventDefault();const w=v.currentTarget;if(!(w instanceof SVGSVGElement))return;const H=w.getBoundingClientRect(),R=v.clientX-H.left,W=v.clientY-H.top,p=v.deltaY<0?1:-1,x=V(e(D)+p*N);if(x===e(D))return;const z=(R-e(L))/e(D),ne=(W-e(y))/e(D);h(D,x,!0),h(L,R-z*x),h(y,W-ne*x)}function ue(v){if(v.button!==0||v.target!==v.currentTarget)return;const w=v.currentTarget;w instanceof SVGSVGElement&&w.setPointerCapture(v.pointerId),h(k,!0),h(oe,v.clientX,!0),h(G,v.clientY,!0)}function E(v){if(!e(k))return;const w=v.clientX-e(oe),H=v.clientY-e(G);h(oe,v.clientX,!0),h(G,v.clientY,!0),h(L,e(L)+w),h(y,e(y)+H)}function S(v){if(!e(k))return;const w=v.currentTarget;w instanceof SVGSVGElement&&w.releasePointerCapture(v.pointerId),h(k,!1)}var P=Gr(),T=i(a(P)),Q=a(T);Ne(Q,17,()=>l,lt,(v,w)=>{var H=C(()=>Nt(e(w),2));let R=()=>e(H)[1];var W=qr(),p=a(W),x=i(p),z=a(x,!0);t(x),t(W),b(ne=>{d(p,"x",R().x),d(p,"y",R().y),d(p,"width",R().w),d(p,"height",R().h),d(p,"fill",R().color),d(p,"stroke",R().color),d(x,"x",R().x+8),d(x,"y",R().y+14),d(x,"fill",R().color),m(z,ne)},[()=>R().label.toUpperCase()]),f(v,W)});var F=i(Q);Ne(F,17,()=>pr,v=>v.from+"-"+v.to,(v,w)=>{{let H=C(()=>A(e(w).from));jr(v,{get edge(){return e(w)},get active(){return e(H)}})}});var $=i(F);Ne($,17,()=>Ue,v=>v.id,(v,w)=>{{let H=C(()=>_.selectedNodeId===e(w).id);Or(v,{get def(){return e(w)},get nodeState(){return _.nodes[e(w).id]},get selected(){return e(H)},get onselectnode(){return o.onselectnode}})}}),t(T),t(P),b(()=>d(T,"transform",`translate(${e(L)} ${e(y)}) scale(${e(D)})`)),kt("wheel",P,de),De("pointerdown",P,ue),De("pointermove",P,E),De("pointerup",P,S),kt("pointercancel",P,S),kt("pointerleave",P,S),De("dblclick",P,_e),f(u,P),ft()}Rt(["pointerdown","pointermove","pointerup","dblclick"]);var Fr=M(" <!>",1),Yr=M("<!> <!>",1),Xr=M('<div class="flex justify-between px-2"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text-bright)]"> </span></div>'),zr=M('<div class="text-[var(--sig-text-muted)] mt-1"> </div> <!>',1),Br=M('<div class="flex justify-between"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text-bright)]"> </span></div>'),Ur=M('<section><h4 class="text-[10px] uppercase tracking-[0.1em] text-[var(--sig-text-muted)] mb-2 font-[family-name:var(--font-display)]">Queue Details</h4> <div class="space-y-1 text-[11px] font-[family-name:var(--font-mono)]"></div></section>'),Vr=M('<section><h4 class="text-[10px] uppercase tracking-[0.1em] text-[var(--sig-text-muted)] mb-1 font-[family-name:var(--font-display)]">Last Activity</h4> <span class="text-[11px] text-[var(--sig-text)] font-[family-name:var(--font-mono)]"> </span></section>'),Qr=M('<div class="flex gap-2 py-1 px-1 text-[10px] font-[family-name:var(--font-mono)] hover:bg-[var(--sig-surface-raised)] rounded"><span class="text-[var(--sig-text-muted)] shrink-0 w-[52px]"> </span> <span> </span> <span class="text-[var(--sig-text)] truncate"> </span></div>'),Wr=M('<div class="text-[10px] text-[var(--sig-text-muted)] italic py-2">No recent activity</div>'),Zr=M('<!> <div class="mt-4 space-y-4 overflow-y-auto pr-2" style="max-height: calc(100vh - 140px);"><section><h4 class="text-[10px] uppercase tracking-[0.1em] text-[var(--sig-text-muted)] mb-2 font-[family-name:var(--font-display)]">Metrics</h4> <div class="grid grid-cols-3 gap-2"><div class="p-2 rounded bg-[var(--sig-surface)] border border-[var(--sig-border)]"><div class="text-[9px] text-[var(--sig-text-muted)] uppercase">Score</div> <div class="text-[15px] text-[var(--sig-text-bright)] font-[family-name:var(--font-mono)]"> </div></div> <div class="p-2 rounded bg-[var(--sig-surface)] border border-[var(--sig-border)]"><div class="text-[9px] text-[var(--sig-text-muted)] uppercase">Queue</div> <div class="text-[15px] text-[var(--sig-text-bright)] font-[family-name:var(--font-mono)]"> </div></div> <div class="p-2 rounded bg-[var(--sig-surface)] border border-[var(--sig-border)]"><div class="text-[9px] text-[var(--sig-text-muted)] uppercase">Errors</div> <div> </div></div></div></section> <!> <!> <section><h4 class="text-[10px] uppercase tracking-[0.1em] text-[var(--sig-text-muted)] mb-2 font-[family-name:var(--font-display)]"> </h4> <div class="space-y-px max-h-[300px] overflow-y-auto"><!> <!></div></section></div>',1);function Jr(u,o){vt(o,!0);let l=C(()=>_.selectedNodeId),s=C(()=>e(l)?It.get(e(l))??null:null),c=C(()=>e(l)?_.nodes[e(l)]??null:null),N=C(()=>e(l)!==null);function D(A){A||Ut(null)}function L(A){try{return new Date(A).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return A}}function y(A){switch(A){case"error":return"text-[#e06c75]";case"warn":return"text-[#e5c07b]";case"debug":return"text-[#6b6b76]";default:return"text-[var(--sig-text)]"}}let k=C(()=>{if(!e(c)?.metrics)return null;const A=e(c).metrics;return A.memory||A.summary||typeof A.depth=="number"?A:null});var oe=st(),G=re(oe);Ee(G,()=>ur,(A,V)=>{V(A,{get open(){return e(N)},onOpenChange:D,children:(_e,de)=>{var ue=st(),E=re(ue);Ee(E,()=>cr,(S,P)=>{P(S,{side:"right",class:"w-[380px] bg-[var(--sig-bg)] border-l border-[var(--sig-border)]",children:(T,Q)=>{var F=st(),$=re(F);{var v=w=>{var H=Zr(),R=re(H);Ee(R,()=>vr,(I,j)=>{j(I,{children:(Z,ce)=>{var pe=Yr(),J=re(pe);Ee(J,()=>fr,(ie,ve)=>{ve(ie,{class:"flex items-center gap-2 font-[family-name:var(--font-display)] text-[var(--sig-text-bright)]",children:(ke,Me)=>{dt();var X=Fr(),se=re(X),K=i(se);{let xe=C(()=>e(c).health==="healthy"?"border-[#4a7a5e] text-[#4a7a5e]":e(c).health==="degraded"?"border-[#b8860b] text-[#b8860b]":e(c).health==="unhealthy"?"border-[#8a4a48] text-[#8a4a48]":"border-[var(--sig-border)] text-[var(--sig-text-muted)]");zt(K,{variant:"outline",get class(){return`text-[9px] px-1.5 py-0 font-[family-name:var(--font-mono)]
|
|
1
|
+
import{p as tr,a as vt,P as Xt,g as e,b as h,c as a,i as O,d as i,r as t,e as b,M as $e,N as d,f as m,y as De,h as f,l as ft,u as C,s as U,al as ae,A as Rt,q as re,v as Ne,w as lt,a6 as kt,am as Nt,m as st,G as Ee,n as dt,t as At,z as M,o as rr,I as ar,ab as qt,J as or}from"./cZT7cFE6.js";import{B as zt}from"./CRNKcIYA.js";import{S as nr}from"./Bvq5nor8.js";import{P as ir,a as sr,b as lr}from"./DqdbNUYA.js";import{D as dr,S as cr,E as vr,F as fr,G as ur,H as mr}from"./DV5sVIyK.js";import{w as wt,s as Gt}from"./Br6JlEV2.js";const ye={harness:"#4dabf7",daemon:"#ff922b",pipeline:"#da77f2",db:"#ffd43b",search:"#da77f2",files:"#20c997",configs:"#4dabf7",llm:"#fcc419"},Oe={harness:"AI Harness",daemon:"Signet Daemon",pipeline:"Pipeline Workers",db:"memories.db",search:"Hybrid Recall",files:"~/.agents/",configs:"Harness Configs",llm:"LLM Provider"},gr={harness:{x:20,y:20,w:240,h:120,label:Oe.harness,color:ye.harness},daemon:{x:300,y:20,w:340,h:280,label:Oe.daemon,color:ye.daemon},pipeline:{x:20,y:360,w:620,h:140,label:Oe.pipeline,color:ye.pipeline},db:{x:680,y:160,w:200,h:200,label:Oe.db,color:ye.db},search:{x:920,y:160,w:200,h:140,label:Oe.search,color:ye.search},files:{x:680,y:400,w:200,h:100,label:Oe.files,color:ye.files},configs:{x:920,y:400,w:200,h:100,label:Oe.configs,color:ye.configs},llm:{x:680,y:540,w:200,h:80,label:Oe.llm,color:ye.llm}},Ue=[{id:"harness",label:"AI Client",group:"harness",x:40,y:55,w:200,h:50,logCategories:["hooks","session-tracker"],icon:"terminal",description:"Claude Code / OpenCode / OpenClaw — sends session hooks"},{id:"hooks",label:"Hook Handlers",group:"daemon",x:320,y:50,w:140,h:40,logCategories:["hooks"],icon:"webhook",description:"Session lifecycle hooks (start, submit, remember, recall, end)"},{id:"mutex",label:"Session Mutex",group:"daemon",x:320,y:110,w:140,h:40,logCategories:["session-tracker"],icon:"lock",description:"Plugin vs legacy runtime path enforcement"},{id:"queue",label:"Job Queues",group:"daemon",x:320,y:170,w:140,h:40,logCategories:["pipeline"],diagnosticDomain:"queue",icon:"layers",description:"memory_jobs + summary_jobs durable queues"},{id:"watcher",label:"File Watcher",group:"daemon",x:490,y:110,w:130,h:40,logCategories:["watcher"],icon:"eye",description:"Chokidar file change detection on ~/.agents/"},{id:"sync",label:"Harness Sync",group:"daemon",x:490,y:170,w:130,h:40,logCategories:["sync"],diagnosticDomain:"connector",icon:"refresh-cw",description:"Generate CLAUDE.md, AGENTS.md from identity files"},{id:"extraction",label:"Extraction",group:"pipeline",x:40,y:395,w:110,h:40,logCategories:["pipeline"],diagnosticDomain:"queue",icon:"cpu",description:"LLM extracts facts + entities (2s poll)"},{id:"summary",label:"Summary",group:"pipeline",x:165,y:395,w:100,h:40,logCategories:["summary-worker"],icon:"file-text",description:"Session-end transcript summarizer (5s poll)"},{id:"document",label:"Document",group:"pipeline",x:280,y:395,w:100,h:40,logCategories:["document-worker"],icon:"file-plus",description:"Chunk + embed documents (10s poll)"},{id:"retention",label:"Retention",group:"pipeline",x:395,y:395,w:100,h:40,logCategories:["retention"],diagnosticDomain:"mutation",icon:"trash-2",description:"Purge expired data (6h interval)"},{id:"maintenance",label:"Maintenance",group:"pipeline",x:510,y:395,w:110,h:40,logCategories:["maintenance"],icon:"wrench",description:"Self-repair + diagnostics (30min interval)"},{id:"database",label:"SQLite",group:"db",x:710,y:220,w:140,h:80,logCategories:["memory","embedding"],diagnosticDomain:"storage",icon:"database",description:"memories, embeddings, entities, relations, history"},{id:"search",label:"Hybrid Recall",group:"search",x:940,y:200,w:160,h:60,logCategories:["memory"],diagnosticDomain:"index",icon:"search",description:"BM25 + vector similarity + graph boost"},{id:"files",label:"Identity Files",group:"files",x:710,y:430,w:140,h:40,logCategories:["sync"],icon:"folder",description:"AGENTS.md, SOUL.md, IDENTITY.md, USER.md, MEMORY.md"},{id:"configs",label:"CLAUDE.md",group:"configs",x:950,y:430,w:140,h:40,logCategories:["harness"],icon:"file-code",description:"Generated harness config files"},{id:"llm",label:"LLM Provider",group:"llm",x:710,y:560,w:140,h:40,logCategories:["llm"],diagnosticDomain:"provider",icon:"brain",description:"Ollama qwen3:4b (or configured provider)"}],It=new Map(Ue.map(u=>[u.id,u])),pr=[{from:"harness",to:"hooks",label:"POST"},{from:"hooks",to:"mutex"},{from:"hooks",to:"queue",label:"enqueue"},{from:"queue",to:"extraction"},{from:"queue",to:"summary"},{from:"queue",to:"document"},{from:"extraction",to:"database",label:"write"},{from:"summary",to:"database"},{from:"document",to:"database"},{from:"retention",to:"database"},{from:"maintenance",to:"database"},{from:"extraction",to:"llm"},{from:"summary",to:"llm"},{from:"database",to:"search"},{from:"search",to:"harness",dashed:!0,label:"recall"},{from:"watcher",to:"sync"},{from:"files",to:"watcher"},{from:"sync",to:"configs"},{from:"files",to:"sync"},{from:"summary",to:"files",label:".md"},{from:"configs",to:"harness",dashed:!0,label:"next session"}];function xr(){return{health:"unknown",score:0,lastActivity:null,pulseCount:0,queueDepth:0,processingRate:0,errorCount:0,recentLogs:[],metrics:{}}}const $t=new Map;for(const u of Ue)for(const o of u.logCategories){const l=$t.get(o);l?l.push(u.id):$t.set(o,[u.id])}const Ht=20;function hr(){const u={};for(const o of Ue)u[o.id]=xr();return u}const Ft=50,_=tr({nodes:hr(),mode:"unknown",connected:!1,lastPoll:null,selectedNodeId:null,feed:[]});let fe=null;function Bt(){fe&&(fe.close(),fe=null);const u="";fe=new EventSource(`${u}/api/logs/stream`),fe.onopen=()=>{_.connected=!0},fe.onmessage=o=>{try{const l=JSON.parse(o.data);if(l.type==="connected"){_.connected=!0;return}const s=[..._.feed,l];_.feed=s.length>Ft?s.slice(-Ft):s;const c=$t.get(l.category);if(!c)return;for(const N of c){const D=_.nodes[N];if(!D)continue;D.pulseCount+=1,D.lastActivity=l.timestamp;const L=[...D.recentLogs,l];D.recentLogs=L.length>Ht?L.slice(-Ht):L,l.level==="error"&&(D.errorCount+=1)}}catch{}},fe.onerror=()=>{_.connected=!1,fe?.close(),fe=null,setTimeout(()=>{fe||Bt()},3e3)}}function br(){_.connected=!1,fe?.close(),fe=null}let ct=null;function yr(u){return u>=.8?"healthy":u>=.5?"degraded":u>0?"unhealthy":"unknown"}function _r(u){for(const o of Ue){if(!o.diagnosticDomain)continue;const l=u[o.diagnosticDomain];if(!l)continue;const s=_.nodes[o.id];if(!s)continue;const c=typeof l.score=="number"?l.score:0;s.score=c,s.health=yr(c),s.metrics=l}}function wr(u){const o=_.nodes.queue;if(o){const c=u.memory,N=u.summary;o.queueDepth=c.pending+c.leased+N.pending+N.leased,o.metrics={memory:c,summary:N}}const l=_.nodes.extraction;l&&(l.queueDepth=u.memory.pending);const s=_.nodes.summary;s&&(s.queueDepth=u.summary.pending)}async function Yt(){try{const u=await dr();if(!u)return;if(_.mode=u.mode,_.lastPoll=new Date().toISOString(),u.diagnostics&&_r(u.diagnostics),u.queues&&wr(u.queues),u.workers)for(const[o,l]of Object.entries(u.workers)){const s=_.nodes[o];s&&l.running&&s.health==="unknown"&&(s.health="healthy",s.score=1)}if(u.errorSummary)for(const[o,l]of Object.entries(u.errorSummary)){const s=o==="extraction"||o==="decision"?"extraction":o==="embedding"||o==="mutation"?"database":o==="connector"?"sync":null;if(s){const c=_.nodes[s];c&&(c.errorCount=l)}}}catch{}}function kr(u=5e3){ct||(Yt(),ct=setInterval(Yt,u))}function Sr(){ct&&(clearInterval(ct),ct=null)}function Ut(u){_.selectedNodeId=u}var Cr=ae('<rect class="glow-bg svelte-1tib701" x="-6" y="-6" rx="10" ry="10" opacity="0.12"></rect>'),Pr=ae('<rect class="pulse-ring svelte-1tib701" x="-4" y="-4" rx="10" ry="10" fill="none"></rect>'),Er=ae('<rect class="flash-overlay svelte-1tib701" rx="6" ry="6"></rect>'),Dr=ae('<animate attributeName="opacity" values="1;0.4;1" dur="1.5s" repeatCount="indefinite" class="svelte-1tib701"></animate>'),Mr=ae('<g class="svelte-1tib701"><rect x="-12" y="-7" width="24" height="14" rx="7" opacity="0.95" class="svelte-1tib701"></rect><text x="0" y="1" text-anchor="middle" dominant-baseline="middle" fill="#fff" font-size="9" font-weight="600" font-family="var(--font-mono)" class="svelte-1tib701"> </text></g>'),Lr=ae('<g transform="translate(8, -6)" class="svelte-1tib701"><rect x="-12" y="-7" width="24" height="14" rx="7" fill="#ef4444" opacity="0.95" class="svelte-1tib701"></rect><text x="0" y="1" text-anchor="middle" dominant-baseline="middle" fill="#fff" font-size="9" font-weight="600" font-family="var(--font-mono)" class="svelte-1tib701"> </text></g>'),Tr=ae('<g style="cursor: pointer"><!><!><rect class="node-rect svelte-1tib701" rx="6" ry="6"></rect><!><circle cx="10" class="svelte-1tib701"><!></circle><text text-anchor="middle" dominant-baseline="middle" font-size="11" font-family="var(--font-mono)" class="svelte-1tib701"> </text><!><!></g>');function Or(u,o){vt(o,!0);let l=C(()=>ye[o.def.group]);const s={healthy:"#4ade80",degraded:"#fbbf24",unhealthy:"#f87171",unknown:"#6b6b76"};let c=C(()=>s[o.nodeState.health]),N=C(()=>o.nodeState.health==="unknown"?e(l)+"88":e(c)),D=U(0),L=U(!1),y=U(!1),k=null;Xt(()=>{if(o.nodeState.pulseCount>e(D)){h(D,o.nodeState.pulseCount,!0),h(L,!0);const p=setTimeout(()=>{h(L,!1)},1200);return h(y,!0),k&&clearTimeout(k),k=setTimeout(()=>{h(y,!1)},3e3),()=>{clearTimeout(p),k&&clearTimeout(k)}}});function oe(){o.onselectnode(o.def.id)}var G=Tr();let A;var V=a(G);{var _e=p=>{var x=Cr();b(()=>{d(x,"width",o.def.w+12),d(x,"height",o.def.h+12),d(x,"fill",e(l))}),f(p,x)};O(V,p=>{e(y)&&p(_e)})}var de=i(V);{var ue=p=>{var x=Pr();b(()=>{d(x,"width",o.def.w+8),d(x,"height",o.def.h+8),d(x,"stroke",e(l))}),f(p,x)};O(de,p=>{e(L)&&p(ue)})}var E=i(de),S=i(E);{var P=p=>{var x=Er();b(()=>{d(x,"width",o.def.w),d(x,"height",o.def.h),d(x,"fill",e(l))}),f(p,x)};O(S,p=>{e(L)&&p(P)})}var T=i(S),Q=a(T);{var F=p=>{var x=Dr();f(p,x)};O(Q,p=>{e(y)&&p(F)})}t(T);var $=i(T),v=a($,!0);t($);var w=i($);{var H=p=>{var x=Mr(),z=a(x),ne=i(z),Re=a(ne,!0);t(ne),t(x),b(()=>{d(x,"transform",`translate(${o.def.w-8}, -6)`),d(z,"fill",e(l)),m(Re,o.nodeState.queueDepth)}),f(p,x)};O(w,p=>{o.nodeState.queueDepth>0&&p(H)})}var R=i(w);{var W=p=>{var x=Lr(),z=i(a(x)),ne=a(z,!0);t(z),t(x),b(()=>m(ne,o.nodeState.errorCount)),f(p,x)};O(R,p=>{o.nodeState.errorCount>0&&p(W)})}t(G),b(()=>{A=$e(G,0,"pipeline-node svelte-1tib701",null,A,{"pipeline-node--selected":o.selected,"pipeline-node--active":e(y)}),d(G,"transform",`translate(${o.def.x??""}, ${o.def.y??""})`),d(E,"width",o.def.w),d(E,"height",o.def.h),d(E,"fill",e(y)?e(l)+"18":"var(--sig-surface-raised)"),d(E,"stroke",e(y)?e(l):e(N)),d(E,"stroke-width",o.selected?2.5:e(y)?1.5:1),d(T,"cy",o.def.h/2),d(T,"r",e(y)?4:3),d(T,"fill",e(y)?e(l):e(c)),d(T,"opacity",e(y)?1:.7),d($,"x",o.def.w/2),d($,"y",o.def.h/2+1),d($,"fill",e(y)?e(l):"var(--sig-text-bright)"),d($,"font-weight",e(y)?"600":"400"),m(v,o.def.label)}),De("click",G,oe),f(u,G),ft()}Rt(["click"]);var Nr=ae('<path fill="none" stroke-width="4" opacity="0.15" class="edge-glow svelte-kl8ook"></path>'),Ar=ae('<circle r="2" opacity="0.6" class="svelte-kl8ook"><animateMotion repeatCount="indefinite" begin="0.5s" class="svelte-kl8ook"></animateMotion></circle>'),Ir=ae('<circle class="svelte-kl8ook"><animateMotion repeatCount="indefinite" class="svelte-kl8ook"></animateMotion></circle><!>',1),$r=ae('<text text-anchor="middle" font-size="9" font-family="var(--font-mono)" class="svelte-kl8ook"> </text>'),Rr=ae('<g class="pipeline-edge svelte-kl8ook"><path fill="none"></path><!><!><!></g>');function jr(u,o){vt(o,!0);let l=C(()=>It.get(o.edge.from)),s=C(()=>It.get(o.edge.to)),c=C(()=>e(l)?ye[e(l).group]:"#6b6b76"),N=C(()=>{if(!e(l)||!e(s))return"";const E=e(l).x+e(l).w/2,S=e(l).y+e(l).h/2,P=e(s).x+e(s).w/2,T=e(s).y+e(s).h/2,Q=(E+P)/2,F=(S+T)/2,$=Math.abs(P-E),v=Math.abs(T-S);return $>v?`M ${E} ${S} Q ${Q} ${S}, ${Q} ${F} Q ${Q} ${T}, ${P} ${T}`:`M ${E} ${S} Q ${E} ${F}, ${Q} ${F} Q ${P} ${F}, ${P} ${T}`}),D=C(()=>!e(l)||!e(s)?{x:0,y:0}:{x:(e(l).x+e(l).w/2+e(s).x+e(s).w/2)/2,y:(e(l).y+e(l).h/2+e(s).y+e(s).h/2)/2-8}),L=C(()=>o.active?"1s":"3s");var y=Rr(),k=a(y);let oe;var G=i(k);{var A=E=>{var S=Nr();b(()=>{d(S,"d",e(N)),d(S,"stroke",e(c))}),f(E,S)};O(G,E=>{o.active&&!o.edge.dashed&&E(A)})}var V=i(G);{var _e=E=>{var S=Ir(),P=re(S),T=a(P);t(P);var Q=i(P);{var F=$=>{var v=Ar(),w=a(v);t(v),b(()=>{d(v,"fill",e(c)),d(w,"dur",e(L)),d(w,"path",e(N))}),f($,v)};O(Q,$=>{o.active&&$(F)})}b(()=>{d(P,"r",o.active?3.5:2),d(P,"fill",o.active?e(c):"var(--sig-border)"),d(P,"opacity",o.active?1:.3),d(T,"dur",e(L)),d(T,"path",e(N))}),f(E,S)};O(V,E=>{o.edge.dashed||E(_e)})}var de=i(V);{var ue=E=>{var S=$r(),P=a(S,!0);t(S),b(()=>{d(S,"x",e(D).x),d(S,"y",e(D).y),d(S,"fill",o.active?e(c):"var(--sig-text-muted)"),d(S,"opacity",o.active?.9:.45),m(P,o.edge.label)}),f(E,S)};O(de,E=>{o.edge.label&&E(ue)})}t(y),b(()=>{d(k,"d",e(N)),d(k,"stroke",o.active?e(c):"var(--sig-border)"),d(k,"stroke-width",o.active?1.5:.8),d(k,"stroke-dasharray",o.edge.dashed?"6 4":"none"),d(k,"opacity",o.active?.8:.25),oe=$e(k,0,"svelte-kl8ook",null,oe,{"edge-active":o.active})}),f(u,y),ft()}var qr=ae('<g><rect rx="8" ry="8" fill-opacity="0.06" stroke-opacity="0.25" stroke-width="1" stroke-dasharray="4 3"></rect><text font-size="9" font-family="var(--font-mono)" opacity="0.6" letter-spacing="0.08em"> </text></g>'),Gr=ae('<svg viewBox="0 0 1160 650" preserveAspectRatio="xMidYMid meet" class="w-full h-full select-none" xmlns="http://www.w3.org/2000/svg" role="application" aria-label="Pipeline graph. Use mouse wheel to zoom, drag background to pan, double-click to reset."><defs><filter id="glow" x="-50%" y="-50%" width="200%" height="200%"><feGaussianBlur stdDeviation="3" result="blur"></feGaussianBlur><feMerge><feMergeNode in="blur"></feMergeNode><feMergeNode in="SourceGraphic"></feMergeNode></feMerge></filter><marker id="arrow" viewBox="0 0 10 10" refX="10" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="var(--sig-border-strong)"></path></marker></defs><g><!><!><!></g></svg>');function Hr(u,o){vt(o,!0);const l=Object.entries(gr),s=.7,c=2.4,N=.12;let D=U(1),L=U(0),y=U(0),k=U(!1),oe=U(0),G=U(0);function A(v){const w=_.nodes[v];return w?.lastActivity?Date.now()-new Date(w.lastActivity).getTime()<5e3:!1}function V(v){return Math.min(c,Math.max(s,v))}function _e(){h(D,1),h(L,0),h(y,0)}function de(v){v.preventDefault();const w=v.currentTarget;if(!(w instanceof SVGSVGElement))return;const H=w.getBoundingClientRect(),R=v.clientX-H.left,W=v.clientY-H.top,p=v.deltaY<0?1:-1,x=V(e(D)+p*N);if(x===e(D))return;const z=(R-e(L))/e(D),ne=(W-e(y))/e(D);h(D,x,!0),h(L,R-z*x),h(y,W-ne*x)}function ue(v){if(v.button!==0||v.target!==v.currentTarget)return;const w=v.currentTarget;w instanceof SVGSVGElement&&w.setPointerCapture(v.pointerId),h(k,!0),h(oe,v.clientX,!0),h(G,v.clientY,!0)}function E(v){if(!e(k))return;const w=v.clientX-e(oe),H=v.clientY-e(G);h(oe,v.clientX,!0),h(G,v.clientY,!0),h(L,e(L)+w),h(y,e(y)+H)}function S(v){if(!e(k))return;const w=v.currentTarget;w instanceof SVGSVGElement&&w.releasePointerCapture(v.pointerId),h(k,!1)}var P=Gr(),T=i(a(P)),Q=a(T);Ne(Q,17,()=>l,lt,(v,w)=>{var H=C(()=>Nt(e(w),2));let R=()=>e(H)[1];var W=qr(),p=a(W),x=i(p),z=a(x,!0);t(x),t(W),b(ne=>{d(p,"x",R().x),d(p,"y",R().y),d(p,"width",R().w),d(p,"height",R().h),d(p,"fill",R().color),d(p,"stroke",R().color),d(x,"x",R().x+8),d(x,"y",R().y+14),d(x,"fill",R().color),m(z,ne)},[()=>R().label.toUpperCase()]),f(v,W)});var F=i(Q);Ne(F,17,()=>pr,v=>v.from+"-"+v.to,(v,w)=>{{let H=C(()=>A(e(w).from));jr(v,{get edge(){return e(w)},get active(){return e(H)}})}});var $=i(F);Ne($,17,()=>Ue,v=>v.id,(v,w)=>{{let H=C(()=>_.selectedNodeId===e(w).id);Or(v,{get def(){return e(w)},get nodeState(){return _.nodes[e(w).id]},get selected(){return e(H)},get onselectnode(){return o.onselectnode}})}}),t(T),t(P),b(()=>d(T,"transform",`translate(${e(L)} ${e(y)}) scale(${e(D)})`)),kt("wheel",P,de),De("pointerdown",P,ue),De("pointermove",P,E),De("pointerup",P,S),kt("pointercancel",P,S),kt("pointerleave",P,S),De("dblclick",P,_e),f(u,P),ft()}Rt(["pointerdown","pointermove","pointerup","dblclick"]);var Fr=M(" <!>",1),Yr=M("<!> <!>",1),Xr=M('<div class="flex justify-between px-2"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text-bright)]"> </span></div>'),zr=M('<div class="text-[var(--sig-text-muted)] mt-1"> </div> <!>',1),Br=M('<div class="flex justify-between"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text-bright)]"> </span></div>'),Ur=M('<section><h4 class="text-[10px] uppercase tracking-[0.1em] text-[var(--sig-text-muted)] mb-2 font-[family-name:var(--font-display)]">Queue Details</h4> <div class="space-y-1 text-[11px] font-[family-name:var(--font-mono)]"></div></section>'),Vr=M('<section><h4 class="text-[10px] uppercase tracking-[0.1em] text-[var(--sig-text-muted)] mb-1 font-[family-name:var(--font-display)]">Last Activity</h4> <span class="text-[11px] text-[var(--sig-text)] font-[family-name:var(--font-mono)]"> </span></section>'),Qr=M('<div class="flex gap-2 py-1 px-1 text-[10px] font-[family-name:var(--font-mono)] hover:bg-[var(--sig-surface-raised)] rounded"><span class="text-[var(--sig-text-muted)] shrink-0 w-[52px]"> </span> <span> </span> <span class="text-[var(--sig-text)] truncate"> </span></div>'),Wr=M('<div class="text-[10px] text-[var(--sig-text-muted)] italic py-2">No recent activity</div>'),Zr=M('<!> <div class="mt-4 space-y-4 overflow-y-auto pr-2" style="max-height: calc(100vh - 140px);"><section><h4 class="text-[10px] uppercase tracking-[0.1em] text-[var(--sig-text-muted)] mb-2 font-[family-name:var(--font-display)]">Metrics</h4> <div class="grid grid-cols-3 gap-2"><div class="p-2 rounded bg-[var(--sig-surface)] border border-[var(--sig-border)]"><div class="text-[9px] text-[var(--sig-text-muted)] uppercase">Score</div> <div class="text-[15px] text-[var(--sig-text-bright)] font-[family-name:var(--font-mono)]"> </div></div> <div class="p-2 rounded bg-[var(--sig-surface)] border border-[var(--sig-border)]"><div class="text-[9px] text-[var(--sig-text-muted)] uppercase">Queue</div> <div class="text-[15px] text-[var(--sig-text-bright)] font-[family-name:var(--font-mono)]"> </div></div> <div class="p-2 rounded bg-[var(--sig-surface)] border border-[var(--sig-border)]"><div class="text-[9px] text-[var(--sig-text-muted)] uppercase">Errors</div> <div> </div></div></div></section> <!> <!> <section><h4 class="text-[10px] uppercase tracking-[0.1em] text-[var(--sig-text-muted)] mb-2 font-[family-name:var(--font-display)]"> </h4> <div class="space-y-px max-h-[300px] overflow-y-auto"><!> <!></div></section></div>',1);function Jr(u,o){vt(o,!0);let l=C(()=>_.selectedNodeId),s=C(()=>e(l)?It.get(e(l))??null:null),c=C(()=>e(l)?_.nodes[e(l)]??null:null),N=C(()=>e(l)!==null);function D(A){A||Ut(null)}function L(A){try{return new Date(A).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return A}}function y(A){switch(A){case"error":return"text-[#e06c75]";case"warn":return"text-[#e5c07b]";case"debug":return"text-[#6b6b76]";default:return"text-[var(--sig-text)]"}}let k=C(()=>{if(!e(c)?.metrics)return null;const A=e(c).metrics;return A.memory||A.summary||typeof A.depth=="number"?A:null});var oe=st(),G=re(oe);Ee(G,()=>ur,(A,V)=>{V(A,{get open(){return e(N)},onOpenChange:D,children:(_e,de)=>{var ue=st(),E=re(ue);Ee(E,()=>cr,(S,P)=>{P(S,{side:"right",class:"w-[380px] bg-[var(--sig-bg)] border-l border-[var(--sig-border)]",children:(T,Q)=>{var F=st(),$=re(F);{var v=w=>{var H=Zr(),R=re(H);Ee(R,()=>vr,(I,j)=>{j(I,{children:(Z,ce)=>{var pe=Yr(),J=re(pe);Ee(J,()=>fr,(ie,ve)=>{ve(ie,{class:"flex items-center gap-2 font-[family-name:var(--font-display)] text-[var(--sig-text-bright)]",children:(ke,Me)=>{dt();var X=Fr(),se=re(X),K=i(se);{let xe=C(()=>e(c).health==="healthy"?"border-[#4a7a5e] text-[#4a7a5e]":e(c).health==="degraded"?"border-[#b8860b] text-[#b8860b]":e(c).health==="unhealthy"?"border-[#8a4a48] text-[#8a4a48]":"border-[var(--sig-border)] text-[var(--sig-text-muted)]");zt(K,{variant:"outline",get class(){return`text-[9px] px-1.5 py-0 font-[family-name:var(--font-mono)]
|
|
2
2
|
${e(xe)??""}`},children:(Se,Fe)=>{dt();var Ce=At();b(()=>m(Ce,e(c).health)),f(Se,Ce)},$$slots:{default:!0}})}b(()=>m(se,`${e(s).label??""} `)),f(ke,X)},$$slots:{default:!0}})});var we=i(J,2);{var me=ie=>{var ve=st(),ke=re(ve);Ee(ke,()=>mr,(Me,X)=>{X(Me,{class:"text-[11px] text-[var(--sig-text-muted)] font-[family-name:var(--font-mono)]",children:(se,K)=>{dt();var xe=At();b(()=>m(xe,e(s).description)),f(se,xe)},$$slots:{default:!0}})}),f(ie,ve)};O(we,ie=>{e(s).description&&ie(me)})}f(Z,pe)},$$slots:{default:!0}})});var W=i(R,2),p=a(W),x=i(a(p),2),z=a(x),ne=i(a(z),2),Re=a(ne,!0);t(ne),t(z);var Ae=i(z,2),je=i(a(Ae),2),Ve=a(je,!0);t(je),t(Ae);var qe=i(Ae,2),Ge=i(a(qe),2);let Qe;var ut=a(Ge,!0);t(Ge),t(qe),t(x),t(p);var mt=i(p,2);{var gt=I=>{var j=Ur(),Z=i(a(j),2);Ne(Z,21,()=>Object.entries(e(k)),lt,(ce,pe)=>{var J=C(()=>Nt(e(pe),2));let we=()=>e(J)[0],me=()=>e(J)[1];var ie=st(),ve=re(ie);{var ke=X=>{var se=zr(),K=re(se),xe=a(K,!0);t(K);var Se=i(K,2);Ne(Se,17,()=>Object.entries(me()),lt,(Fe,Ce)=>{var et=C(()=>Nt(e(Ce),2));let Et=()=>e(et)[0],Dt=()=>e(et)[1];var tt=Xr(),r=a(tt),n=a(r,!0);t(r);var g=i(r,2),q=a(g,!0);t(g),t(tt),b(()=>{m(n,Et()),m(q,Dt())}),f(Fe,tt)}),b(()=>m(xe,we())),f(X,se)},Me=X=>{var se=Br(),K=a(se),xe=a(K,!0);t(K);var Se=i(K,2),Fe=a(Se,!0);t(Se),t(se),b(()=>{m(xe,we()),m(Fe,me())}),f(X,se)};O(ve,X=>{typeof me()=="object"&&me()!==null?X(ke):X(Me,!1)})}f(ce,ie)}),t(Z),t(j),f(I,j)};O(mt,I=>{e(k)&&I(gt)})}var pt=i(mt,2);{var St=I=>{var j=Vr(),Z=i(a(j),2),ce=a(Z,!0);t(Z),t(j),b(pe=>m(ce,pe),[()=>L(e(c).lastActivity)]),f(I,j)};O(pt,I=>{e(c).lastActivity&&I(St)})}var We=i(pt,2),Ze=a(We),Ct=a(Ze);t(Ze);var Je=i(Ze,2),He=a(Je);Ne(He,17,()=>e(c).recentLogs,lt,(I,j)=>{var Z=Qr(),ce=a(Z),pe=a(ce,!0);t(ce);var J=i(ce,2),we=a(J,!0);t(J);var me=i(J,2),ie=a(me,!0);t(me),t(Z),b((ve,ke)=>{m(pe,ve),$e(J,1,`${ke??""} shrink-0 w-[34px] uppercase`),m(we,e(j).level),m(ie,e(j).message)},[()=>L(e(j).timestamp),()=>y(e(j).level)]),f(I,Z)});var Pt=i(He,2);{var Ke=I=>{var j=Wr();f(I,j)};O(Pt,I=>{e(c).recentLogs.length===0&&I(Ke)})}t(Je),t(We),t(W),b(I=>{m(Re,I),m(Ve,e(c).queueDepth),Qe=$e(Ge,1,"text-[15px] font-[family-name:var(--font-mono)]",null,Qe,{"text-[#8a4a48]":e(c).errorCount>0,"text-[var(--sig-text-bright)]":e(c).errorCount===0}),m(ut,e(c).errorCount),m(Ct,`Recent Logs (${e(c).recentLogs.length??""})`)},[()=>e(c).score>0?(e(c).score*100).toFixed(0)+"%":"--"]),f(w,H)};O($,w=>{e(s)&&e(c)&&w(v)})}f(T,F)},$$slots:{default:!0}})}),f(_e,ue)},$$slots:{default:!0}})}),f(u,oe),ft()}var Kr=M('<span class="text-[10px] text-[#4ade80] font-[family-name:var(--font-mono)]"> </span>'),ea=M('<span class="text-[9px] text-[var(--sig-text-muted)] font-[family-name:var(--font-mono)]"> </span>'),ta=M("<button>Feed actions</button>"),ra=M('<div class="flex flex-col gap-1"><button type="button" class="w-full text-left px-2 py-1 text-[10px] uppercase tracking-[0.08em] font-[family-name:var(--font-mono)] border border-[var(--sig-border)] text-[var(--sig-text-muted)] hover:text-[var(--sig-text)] hover:border-[var(--sig-border-strong)]"> </button> <button type="button" class="w-full text-left px-2 py-1 text-[10px] uppercase tracking-[0.08em] font-[family-name:var(--font-mono)] border border-[var(--sig-border)] text-[var(--sig-text-muted)] hover:text-[var(--sig-text)] hover:border-[var(--sig-border-strong)]"> </button></div>'),aa=M("<!> <!>",1),oa=M('<div class="flex items-start justify-between gap-2 border-b border-[var(--sig-border)]/30 pb-[1px]"><span class="text-[var(--sig-text-muted)] uppercase tracking-[0.05em]"> </span> <span class="text-[var(--sig-text)] break-all text-right"> </span></div>'),na=M('<div class="mt-1 pl-[56px] text-[8px] text-[var(--sig-text-muted)] font-[family-name:var(--font-mono)] uppercase tracking-[0.05em]"> </div>'),ia=M('<div class="mt-1 pl-[56px] text-[9px] text-[#f87171] font-[family-name:var(--font-mono)] whitespace-pre-wrap break-words"> </div>'),sa=M('<details class="mt-1 pl-[56px]"><summary class="cursor-pointer text-[8px] text-[var(--sig-text-muted)] uppercase tracking-[0.05em] font-[family-name:var(--font-mono)]">Raw payload</summary> <pre class="mt-1 p-2 border border-[var(--sig-border)] bg-[var(--sig-surface)] text-[8px] text-[var(--sig-text)] whitespace-pre-wrap break-words font-[family-name:var(--font-mono)]"> </pre></details>'),la=M('<div class="mt-1 pl-[56px] inline-flex items-center gap-2 text-[8px] uppercase tracking-[0.06em] font-[family-name:var(--font-mono)]"><span class="px-1 py-[1px] border border-[var(--sig-border)] text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text-muted)]"> </span></div> <div class="text-[10px] text-[var(--sig-text)] font-[family-name:var(--font-mono)] mt-0.5 pl-[56px] whitespace-pre-wrap break-words"> </div> <div class="mt-1 pl-[56px] grid grid-cols-1 md:grid-cols-2 gap-x-3 gap-y-1 text-[8px] font-[family-name:var(--font-mono)]"></div> <!> <!> <!>',1),da=M('<details class="mt-0.5 pl-[56px] group"><summary class="list-none cursor-pointer text-[10px] text-[var(--sig-text)] font-[family-name:var(--font-mono)] line-clamp-2 break-words [&::-webkit-details-marker]:hidden"> </summary> <div class="mt-1 text-[10px] text-[var(--sig-text)] font-[family-name:var(--font-mono)] whitespace-pre-wrap break-words"> </div></details>'),ca=M('<div class="text-[10px] text-[var(--sig-text)] font-[family-name:var(--font-mono)] mt-0.5 pl-[56px] whitespace-pre-wrap break-words"> </div>'),va=M('<span class="text-[8px] text-[var(--sig-text-muted)] font-[family-name:var(--font-mono)] pl-[56px]"> </span>'),fa=M("<!> <!>",1),ua=M('<div class="feed-entry px-2 py-1.5 rounded hover:bg-[var(--sig-surface-raised)] transition-colors svelte-1kgvdra"><div class="flex items-center gap-1.5"><span class="text-[9px] text-[var(--sig-text-muted)] font-[family-name:var(--font-mono)] shrink-0 w-[48px]"> </span> <span class="inline-block w-1.5 h-1.5 rounded-full shrink-0"></span> <span class="text-[9px] font-[family-name:var(--font-mono)] shrink-0"> </span></div> <!></div>'),ma=M('<div class="flex items-center justify-center h-full text-[11px] text-[var(--sig-text-muted)] italic">Waiting for events...</div>'),ga=M('<div class="flex flex-col h-full overflow-hidden"><div class="flex items-center justify-between px-4 py-2 border-b border-[var(--sig-border)] shrink-0"><div class="flex items-center gap-3"><div class="flex items-center gap-1.5"><span></span> <span class="text-[10px] text-[var(--sig-text-muted)] font-[family-name:var(--font-mono)]"> </span></div> <!> <!></div> <div class="flex items-center gap-3"><!></div></div> <div class="flex flex-1 min-h-0 flex-col lg:flex-row"><div class="flex-1 min-w-0 min-h-[46vh] lg:min-h-0 p-4 overflow-auto"><!></div> <div><div class="px-3 py-2 border-b border-[var(--sig-border)] space-y-2"><div class="flex items-center justify-between gap-2"><span class="text-[10px] uppercase tracking-[0.1em] text-[var(--sig-text-muted)] font-[family-name:var(--font-display)]">Live Feed</span> <div class="flex items-center gap-2"><span class="text-[9px] text-[var(--sig-text-muted)] font-[family-name:var(--font-mono)]"> </span> <span> </span></div></div> <div class="flex items-center justify-between gap-2 min-w-0"><label class="inline-flex items-center gap-1.5 text-[10px] text-[var(--sig-text)] font-[family-name:var(--font-mono)] cursor-pointer min-w-0"><!> <span>Auto-scroll</span></label> <div class="hidden lg:flex items-center gap-1.5 shrink-0"><button type="button" class="px-2 py-[3px] text-[9px] uppercase tracking-[0.08em] font-[family-name:var(--font-mono)] border border-[var(--sig-border)] text-[var(--sig-text-muted)] hover:text-[var(--sig-text)] hover:border-[var(--sig-border-strong)]"> </button> <button type="button" class="px-2 py-[3px] text-[9px] uppercase tracking-[0.08em] font-[family-name:var(--font-mono)] border border-[var(--sig-border)] text-[var(--sig-text-muted)] hover:text-[var(--sig-text)] hover:border-[var(--sig-border-strong)]"> </button></div> <div class="lg:hidden shrink-0"><!></div></div></div> <div class="flex-1 overflow-y-auto px-1 py-1"><!> <!></div></div></div></div> <!>',1);function wa(u,o){vt(o,!0);function l(r){Ut(_.selectedNodeId===r?null:r)}let s=U(null),c=U(!0),N=U(!1),D=U(!1);const L=24;let y=U(!0),k=U(!0),oe=C(()=>e(N)?"lg:w-[420px]":"lg:w-[320px]"),G=C(()=>e(y)?"Latest":"Oldest"),A=C(()=>e(N)?"Expanded":"Compact");function V(r="smooth"){e(s)&&e(s).scrollTo({top:e(s).scrollHeight,behavior:r})}function _e(){return e(s)?e(s).scrollHeight-e(s).scrollTop-e(s).clientHeight<=L:!0}function de(){if(!(!e(s)||(h(k,_e(),!0),!(e(s).scrollHeight-e(s).clientHeight>L)))){if(e(k)){h(y,!0);return}e(s).scrollTop<=L&&h(y,!1)}}function ue(r){e(s)&&(e(y)?(h(c,!1),h(k,!1),h(y,!1),e(s).scrollTo({top:0,behavior:"smooth"})):(h(c,!0),h(k,!0),h(y,!0),V("auto")),r?.currentTarget instanceof HTMLElement&&r.currentTarget.blur(),h(D,!1))}function E(r){h(c,r,!0),wt.pipeline.autoScroll=r,Gt(),r&&(h(k,!0),h(y,!0),requestAnimationFrame(()=>{V("auto"),de()}))}function S(r){h(N,!e(N)),wt.pipeline.feedExpanded=e(N),Gt(),r?.currentTarget instanceof HTMLElement&&r.currentTarget.blur(),h(D,!1)}function P(r){if(!r)return"";const n=Object.keys(r);if(n.length===0)return"";const g=n.slice(0,4).join(", ");return n.length>4?`${g} +${n.length-4}`:g}Xt(()=>{if(_.feed.length,de(),e(c)&&e(s)){if(!e(k))return;requestAnimationFrame(()=>{V("auto"),h(k,!0),h(y,!0),de()})}}),rr(()=>(Bt(),kr(),h(c,wt.pipeline.autoScroll,!0),h(N,wt.pipeline.feedExpanded,!0),()=>{br(),Sr()}));const T={"controlled-write":"border-[#4ade80] text-[#4ade80]",shadow:"border-[#fbbf24] text-[#fbbf24]",frozen:"border-[#94a3b8] text-[#94a3b8]",disabled:"border-[#f87171] text-[#f87171]",unknown:"border-[var(--sig-border)] text-[var(--sig-text-muted)]"};let Q=C(()=>T[_.mode]??T.unknown),F=C(()=>Ue.filter(r=>{const n=_.nodes[r.id];return n?.lastActivity?Date.now()-new Date(n.lastActivity).getTime()<5e3:!1}).length);function $(r){try{return new Date(r).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return r}}const v={error:"#f87171",warn:"#fbbf24",info:"#4ade80",debug:"#6b6b76"},w={hooks:"#4dabf7","session-tracker":"#4dabf7",pipeline:"#da77f2","summary-worker":"#da77f2","document-worker":"#da77f2",retention:"#da77f2",maintenance:"#da77f2",memory:"#ffd43b",embedding:"#ffd43b",sync:"#ff922b",watcher:"#ff922b",harness:"#4dabf7",llm:"#fcc419"},H=["jobId","memoryId","sessionKey","project","attempt","maxRetries","mode","provider","model","facts","entities","proposals","added","updated","deleted","deduped","skippedLowConfidence","blockedDestructive","runId","taskId","path","port","pid","error"];function R(r){const n=Date.now()-new Date(r).getTime();if(!Number.isFinite(n)||n<0)return"just now";const g=Math.floor(n/1e3);if(g<60)return`${g}s ago`;const q=Math.floor(g/60);if(q<60)return`${q}m ago`;const Y=Math.floor(q/60);return Y<24?`${Y}h ago`:`${Math.floor(Y/24)}d ago`}function W(r){return r.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").replace(/^./,n=>n.toUpperCase())}function p(r){return r===null?"null":r===void 0?"undefined":typeof r=="string"?r:typeof r=="number"||typeof r=="boolean"?String(r):Array.isArray(r)?`[${r.length} items]`:typeof r=="object"?"{object}":String(r)}function x(r){const n=r.message.toLowerCase(),g=r.category.replace(/-/g," ");if(n.includes("job failed")){const q=r.data?.attempt;return typeof q=="number"?`${g} failed (attempt ${q})`:`${g} failed`}return n.includes("completed")?`${g} completed`:n.includes("started")||n.includes("starting")?`${g} started`:n.includes("enqueued")?`${g} queued`:n.includes("failed")?`${g} warning`:n.includes("file changed")?"watcher detected file change":`${g} event`}function z(r){const n=[{label:"Level",value:r.level},{label:"Category",value:r.category}];r.duration!==void 0&&n.push({label:"Duration",value:`${r.duration} ms`});const g=r.data;if(!g)return n;const q=new Set;for(const Y of H)Y in g&&(n.push({label:W(Y),value:p(g[Y])}),q.add(Y));for(const Y of Object.keys(g).sort())q.has(Y)||n.push({label:W(Y),value:p(g[Y])});return n}function ne(r){const n={};if(r.data&&(n.data=r.data),r.error&&(n.error=r.error),Object.keys(n).length===0)return"";const g=JSON.stringify(n,null,2);if(!g)return"";const q=3200;return g.length<=q?g:`${g.slice(0,q)}
|
|
3
3
|
...truncated`}var Re=ga(),Ae=re(Re),je=a(Ae),Ve=a(je),qe=a(Ve),Ge=a(qe);let Qe;var ut=i(Ge,2),mt=a(ut,!0);t(ut),t(qe);var gt=i(qe,2);zt(gt,{variant:"outline",get class(){return`text-[9px] px-1.5 py-0 font-[family-name:var(--font-mono)] ${e(Q)??""}`},children:(r,n)=>{dt();var g=At();b(()=>m(g,_.mode)),f(r,g)},$$slots:{default:!0}});var pt=i(gt,2);{var St=r=>{var n=Kr(),g=a(n);t(n),b(()=>m(g,`${e(F)??""} active`)),f(r,n)};O(pt,r=>{e(F)>0&&r(St)})}t(Ve);var We=i(Ve,2),Ze=a(We);{var Ct=r=>{var n=ea(),g=a(n);t(n),b(q=>m(g,`polled ${q??""}`),[()=>$(_.lastPoll)]),f(r,n)};O(Ze,r=>{_.lastPoll&&r(Ct)})}t(We),t(je);var Je=i(je,2),He=a(Je),Pt=a(He);Hr(Pt,{onselectnode:l}),t(He);var Ke=i(He,2),I=a(Ke),j=a(I),Z=i(a(j),2),ce=a(Z),pe=a(ce);t(ce);var J=i(ce,2);let we;var me=a(J,!0);t(J),t(Z),t(j);var ie=i(j,2),ve=a(ie),ke=a(ve);Ee(ke,()=>nr,(r,n)=>{n(r,{get checked(){return e(c)},onCheckedChange:g=>E(g),class:"scale-90"})}),dt(2),t(ve);var Me=i(ve,2),X=a(Me),se=a(X,!0);t(X);var K=i(X,2),xe=a(K,!0);t(K),t(Me);var Se=i(Me,2),Fe=a(Se);Ee(Fe,()=>lr,(r,n)=>{n(r,{get open(){return e(D)},set open(g){h(D,g,!0)},children:(g,q)=>{var Y=aa(),Ye=re(Y);{const rt=(Le,Pe)=>{let Xe=()=>Pe?.().props;var he=ta();ar(he,()=>({...Xe(),type:"button",class:"px-2 py-[3px] text-[9px] uppercase tracking-[0.08em] font-[family-name:var(--font-mono)] border border-[var(--sig-border)] text-[var(--sig-text-muted)] hover:text-[var(--sig-text)] hover:border-[var(--sig-border-strong)]"}),void 0,void 0,void 0,"svelte-1kgvdra"),f(Le,he)};Ee(Ye,()=>ir,(Le,Pe)=>{Pe(Le,{child:rt,$$slots:{child:!0}})})}var Mt=i(Ye,2);Ee(Mt,()=>sr,(rt,Le)=>{Le(rt,{align:"end",side:"bottom",class:"w-[170px] p-1 bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] rounded-none",children:(Pe,Xe)=>{var he=ra(),ze=a(he),xt=a(ze,!0);t(ze);var Ie=i(ze,2),Lt=a(Ie,!0);t(Ie),t(he),b(()=>{m(xt,e(G)),m(Lt,e(A))}),De("click",ze,at=>ue(at)),De("click",Ie,at=>S(at)),f(Pe,he)},$$slots:{default:!0}})}),f(g,Y)},$$slots:{default:!0}})}),t(Se),t(ie),t(I);var Ce=i(I,2),et=a(Ce);Ne(et,19,()=>_.feed,(r,n)=>r.timestamp+"-"+n,(r,n)=>{const g=C(()=>w[e(n).category]??"var(--sig-text-muted)"),q=C(()=>v[e(n).level]??"#6b6b76"),Y=C(()=>e(n).message.length>72),Ye=C(()=>P(e(n).data)),Mt=C(()=>x(e(n))),rt=C(()=>z(e(n))),Le=C(()=>ne(e(n)));var Pe=ua(),Xe=a(Pe),he=a(Xe),ze=a(he,!0);t(he);var xt=i(he,2),Ie=i(xt,2),Lt=a(Ie,!0);t(Ie),t(Xe);var at=i(Xe,2);{var Vt=Te=>{var ot=la(),Be=re(ot),nt=a(Be),Tt=a(nt,!0);t(nt);var ht=i(nt,2),Ot=a(ht,!0);t(ht),t(Be);var ee=i(Be,2),le=a(ee,!0);t(ee);var ge=i(ee,2);Ne(ge,21,()=>e(rt),lt,(B,te)=>{var be=oa(),it=a(be),Kt=a(it,!0);t(it);var jt=i(it,2),er=a(jt,!0);t(jt),t(be),b(()=>{m(Kt,e(te).label),m(er,e(te).value)}),f(B,be)}),t(ge);var bt=i(ge,2);{var yt=B=>{var te=na(),be=a(te);t(te),b(()=>m(be,`Data keys: ${e(Ye)??""}`)),f(B,te)};O(bt,B=>{e(Ye)&&B(yt)})}var _t=i(bt,2);{var Wt=B=>{var te=ia(),be=a(te);t(te),b(()=>m(be,`${e(n).error.name??""}: ${e(n).error.message??""}`)),f(B,te)};O(_t,B=>{e(n).error&&B(Wt)})}var Zt=i(_t,2);{var Jt=B=>{var te=sa(),be=i(a(te),2),it=a(be,!0);t(be),t(te),b(()=>m(it,e(Le))),f(B,te)};O(Zt,B=>{e(Le)&&B(Jt)})}b(B=>{m(Tt,e(Mt)),m(Ot,B),m(le,e(n).message)},[()=>R(e(n).timestamp)]),f(Te,ot)},Qt=Te=>{var ot=fa(),Be=re(ot);{var nt=ee=>{var le=da(),ge=a(le),bt=a(ge,!0);t(ge);var yt=i(ge,2),_t=a(yt,!0);t(yt),t(le),b(()=>{m(bt,e(n).message),m(_t,e(n).message)}),f(ee,le)},Tt=ee=>{var le=ca(),ge=a(le,!0);t(le),b(()=>m(ge,e(n).message)),f(ee,le)};O(Be,ee=>{e(Y)?ee(nt):ee(Tt,!1)})}var ht=i(Be,2);{var Ot=ee=>{var le=va(),ge=a(le);t(le),b(()=>m(ge,`${e(n).duration??""}ms`)),f(ee,le)};O(ht,ee=>{e(n).duration&&ee(Ot)})}f(Te,ot)};O(at,Te=>{e(N)?Te(Vt):Te(Qt,!1)})}t(Pe),b(Te=>{m(ze,Te),qt(xt,`background-color: ${e(q)??""}`),qt(Ie,`color: ${e(g)??""}`),m(Lt,e(n).category)},[()=>$(e(n).timestamp)]),f(r,Pe)});var Et=i(et,2);{var Dt=r=>{var n=ma();f(r,n)};O(Et,r=>{_.feed.length===0&&r(Dt)})}t(Ce),or(Ce,r=>h(s,r),()=>e(s)),t(Ke),t(Je),t(Ae);var tt=i(Ae,2);Jr(tt,{}),b(()=>{Qe=$e(Ge,1,"inline-block w-2 h-2 rounded-full",null,Qe,{"bg-[#4ade80]":_.connected,"bg-[#f87171]":!_.connected,"animate-pulse":_.connected}),m(mt,_.connected?"LIVE":"DISCONNECTED"),$e(Ke,1,`w-full shrink-0 border-t lg:border-t-0 border-[var(--sig-border)] flex flex-col bg-[var(--sig-bg)] min-h-[220px] max-h-[40vh] lg:max-h-none ${e(oe)}`,"svelte-1kgvdra"),m(pe,`${_.feed.length??""} events`),we=$e(J,1,"text-[9px] font-[family-name:var(--font-mono)]",null,we,{"text-[#4ade80]":e(c)&&e(k),"text-[var(--sig-text-muted)]":!e(c)||!e(k)}),m(me,e(c)&&e(k)?"following":"paused"),m(se,e(G)),m(xe,e(A))}),De("click",X,r=>ue(r)),De("click",K,r=>S(r)),kt("scroll",Ce,de),f(u,Re),ft()}Rt(["click"]);export{wa as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ba as be,o as Ne,s as A,g as U,b as T,$ as ee,bb as pt}from"./cZT7cFE6.js";class ke{constructor(t,n){this.status=t,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${t}`}}toString(){return JSON.stringify(this.body)}}class Ee{constructor(t,n){this.status=t,this.location=n}}class Se extends Error{constructor(t,n,r){super(r),this.status=t,this.text=n}}new URL("sveltekit-internal://");function gt(e,t){return e==="/"||t==="ignore"?e:t==="never"?e.endsWith("/")?e.slice(0,-1):e:t==="always"&&!e.endsWith("/")?e+"/":e}function mt(e){return e.split("%25").map(decodeURI).join("%25")}function _t(e){for(const t in e)e[t]=decodeURIComponent(e[t]);return e}function de({href:e}){return e.split("#")[0]}function vt(e,t,n,r=!1){const a=new URL(e);Object.defineProperty(a,"searchParams",{value:new Proxy(a.searchParams,{get(s,o){if(o==="get"||o==="getAll"||o==="has")return(c,...d)=>(n(c),s[o](c,...d));t();const l=Reflect.get(s,o);return typeof l=="function"?l.bind(s):l}}),enumerable:!0,configurable:!0});const i=["href","pathname","search","toString","toJSON"];r&&i.push("hash");for(const s of i)Object.defineProperty(a,s,{get(){return t(),e[s]},enumerable:!0,configurable:!0});return a}function wt(...e){let t=5381;for(const n of e)if(typeof n=="string"){let r=n.length;for(;r;)t=t*33^n.charCodeAt(--r)}else if(ArrayBuffer.isView(n)){const r=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let a=r.length;for(;a;)t=t*33^r[--a]}else throw new TypeError("value must be a string or TypedArray");return(t>>>0).toString(36)}new TextEncoder;new TextDecoder;function yt(e){const t=atob(e),n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n}const bt=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||"GET")!=="GET"&&G.delete(Re(e)),bt(e,t));const G=new Map;function kt(e,t){const n=Re(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:a,...i}=JSON.parse(r.textContent);const s=r.getAttribute("data-ttl");return s&&G.set(n,{body:a,init:i,ttl:1e3*Number(s)}),r.getAttribute("data-b64")!==null&&(a=yt(a)),Promise.resolve(new Response(a,i))}return window.fetch(e,t)}function Et(e,t,n){if(G.size>0){const r=Re(e,n),a=G.get(r);if(a){if(performance.now()<a.ttl&&["default","force-cache","only-if-cached",void 0].includes(n?.cache))return new Response(a.body,a.init);G.delete(r)}}return window.fetch(t,n)}function Re(e,t){let r=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){const a=[];t.headers&&a.push([...new Headers(t.headers)].join(",")),t.body&&(typeof t.body=="string"||ArrayBuffer.isView(t.body))&&a.push(t.body),r+=`[data-hash="${wt(...a)}"]`}return r}const St=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function Rt(e){const t=[];return{pattern:e==="/"?/^\/$/:new RegExp(`^${Lt(e).map(r=>{const a=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(r);if(a)return t.push({name:a[1],matcher:a[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const i=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(r);if(i)return t.push({name:i[1],matcher:i[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!r)return;const s=r.split(/\[(.+?)\](?!\])/);return"/"+s.map((l,c)=>{if(c%2){if(l.startsWith("x+"))return he(String.fromCharCode(parseInt(l.slice(2),16)));if(l.startsWith("u+"))return he(String.fromCharCode(...l.slice(2).split("-").map(v=>parseInt(v,16))));const d=St.exec(l),[,p,f,u,h]=d;return t.push({name:u,matcher:h,optional:!!p,rest:!!f,chained:f?c===1&&s[0]==="":!1}),f?"([^]*?)":p?"([^/]*)?":"([^/]+?)"}return he(l)}).join("")}).join("")}/?$`),params:t}}function xt(e){return e!==""&&!/^\([^)]+\)$/.test(e)}function Lt(e){return e.slice(1).split("/").filter(xt)}function At(e,t,n){const r={},a=e.slice(1),i=a.filter(o=>o!==void 0);let s=0;for(let o=0;o<t.length;o+=1){const l=t[o];let c=a[o-s];if(l.chained&&l.rest&&s&&(c=a.slice(o-s,o+1).filter(d=>d).join("/"),s=0),c===void 0)if(l.rest)c="";else continue;if(!l.matcher||n[l.matcher](c)){r[l.name]=c;const d=t[o+1],p=a[o+1];d&&!d.rest&&d.optional&&p&&l.chained&&(s=0),!d&&!p&&Object.keys(r).length===i.length&&(s=0);continue}if(l.optional&&l.chained){s++;continue}return}if(!s)return r}function he(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function Ut({nodes:e,server_loads:t,dictionary:n,matchers:r}){const a=new Set(t);return Object.entries(n).map(([o,[l,c,d]])=>{const{pattern:p,params:f}=Rt(o),u={id:o,exec:h=>{const v=p.exec(h);if(v)return At(v,f,r)},errors:[1,...d||[]].map(h=>e[h]),layouts:[0,...c||[]].map(s),leaf:i(l)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function i(o){const l=o<0;return l&&(o=~o),[l,e[o]]}function s(o){return o===void 0?o:[a.has(o),e[o]]}}function Me(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function je(e,t,n=JSON.stringify){const r=n(t);try{sessionStorage[e]=r}catch{}}const x=globalThis.__sveltekit_1qfnc8p?.base??"",Tt=globalThis.__sveltekit_1qfnc8p?.assets??x??"",Pt="1772538745777",He="sveltekit:snapshot",We="sveltekit:scroll",Je="sveltekit:states",It="sveltekit:pageurl",K="sveltekit:history",H="sveltekit:navigation",N={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},xe=location.origin;function Ye(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){const n=document.getElementsByTagName("base");t=n.length?n[0].href:document.URL}return new URL(e,t)}function q(){return{x:pageXOffset,y:pageYOffset}}function V(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const qe={...N,"":N.hover};function ze(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function Xe(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=ze(e)}}function me(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){const o=location.hash.split("#")[1]||"/";r.hash=`#${o}${r.hash}`}}catch{}const a=e instanceof SVGAElement?e.target.baseVal:e.target,i=!r||!!a||ce(r,t,n)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),s=r?.origin===xe&&e.hasAttribute("download");return{url:r,external:i,target:a,download:s}}function te(e){let t=null,n=null,r=null,a=null,i=null,s=null,o=e;for(;o&&o!==document.documentElement;)r===null&&(r=V(o,"preload-code")),a===null&&(a=V(o,"preload-data")),t===null&&(t=V(o,"keepfocus")),n===null&&(n=V(o,"noscroll")),i===null&&(i=V(o,"reload")),s===null&&(s=V(o,"replacestate")),o=ze(o);function l(c){switch(c){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:qe[r??"off"],preload_data:qe[a??"off"],keepfocus:l(t),noscroll:l(n),reload:l(i),replace_state:l(s)}}function De(e){const t=be(e);let n=!0;function r(){n=!0,t.update(s=>s)}function a(s){n=!1,t.set(s)}function i(s){let o;return t.subscribe(l=>{(o===void 0||n&&l!==o)&&s(o=l)})}return{notify:r,set:a,subscribe:i}}const Qe={v:()=>{}};function Ot(){const{set:e,subscribe:t}=be(!1);let n;async function r(){clearTimeout(n);try{const a=await fetch(`${Tt}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!a.ok)return!1;const s=(await a.json()).version!==Pt;return s&&(e(!0),Qe.v(),clearTimeout(n)),s}catch{return!1}}return{subscribe:t,check:r}}function ce(e,t,n){return e.origin!==xe||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function sn(e){}const Ze=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...Ze];const $t=new Set([...Ze]);[...$t];function Ct(e){return e.filter(t=>t!=null)}function Le(e){return e instanceof ke||e instanceof Se?e.status:500}function Nt(e){return e instanceof Se?e.text:"Internal Error"}let k,W,pe;const jt=Ne.toString().includes("$$")||/function \w+\(\) \{\}/.test(Ne.toString());jt?(k={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},W={current:null},pe={current:!1}):(k=new class{#e=A({});get data(){return U(this.#e)}set data(t){T(this.#e,t)}#t=A(null);get form(){return U(this.#t)}set form(t){T(this.#t,t)}#n=A(null);get error(){return U(this.#n)}set error(t){T(this.#n,t)}#r=A({});get params(){return U(this.#r)}set params(t){T(this.#r,t)}#a=A({id:null});get route(){return U(this.#a)}set route(t){T(this.#a,t)}#o=A({});get state(){return U(this.#o)}set state(t){T(this.#o,t)}#s=A(-1);get status(){return U(this.#s)}set status(t){T(this.#s,t)}#i=A(new URL("https://example.com"));get url(){return U(this.#i)}set url(t){T(this.#i,t)}},W=new class{#e=A(null);get current(){return U(this.#e)}set current(t){T(this.#e,t)}},pe=new class{#e=A(!1);get current(){return U(this.#e)}set current(t){T(this.#e,t)}},Qe.v=()=>pe.current=!0);function qt(e){Object.assign(k,e)}const Ve={spanContext(){return Dt},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this},addLink(){return this},addLinks(){return this}},Dt={traceId:"",spanId:"",traceFlags:0},Vt=new Set(["icon","shortcut icon","apple-touch-icon"]),C=Me(We)??{},J=Me(He)??{},$={url:De({}),page:De({}),navigating:be(null),updated:Ot()};function Ae(e){C[e]=q()}function Kt(e,t){let n=e+1;for(;C[n];)delete C[n],n+=1;for(n=t+1;J[n];)delete J[n],n+=1}function Y(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(()=>{})}async function et(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(x||"/");e&&await e.update()}}function Ke(){}let Ue,_e,ne,P,ve,w;const re=[],ae=[];let L=null;function we(){L?.fork?.then(e=>e?.discard()),L=null}const Z=new Map,tt=new Set,Bt=new Set,M=new Set;let _={branch:[],error:null,url:null},nt=!1,oe=!1,Be=!0,z=!1,F=!1,rt=!1,Te=!1,at,y,R,j;const se=new Set,Fe=new Map;async function fn(e,t,n){globalThis.__sveltekit_1qfnc8p?.data&&globalThis.__sveltekit_1qfnc8p.data,document.URL!==location.href&&(location.href=location.href),w=e,await e.hooks.init?.(),Ue=Ut(e),P=document.documentElement,ve=t,_e=e.nodes[0],ne=e.nodes[1],_e(),ne(),y=history.state?.[K],R=history.state?.[H],y||(y=R=Date.now(),history.replaceState({...history.state,[K]:y,[H]:R},""));const r=C[y];function a(){r&&(history.scrollRestoration="manual",scrollTo(r.x,r.y))}n?(a(),await tn(ve,n)):(await B({type:"enter",url:Ye(w.hash?an(new URL(location.href)):location.href),replace_state:!0}),a()),en()}function Ft(){re.length=0,Te=!1}function ot(e){ae.some(t=>t?.snapshot)&&(J[e]=ae.map(t=>t?.snapshot?.capture()))}function st(e){J[e]?.forEach((t,n)=>{ae[n]?.snapshot?.restore(t)})}function Ge(){Ae(y),je(We,C),ot(R),je(He,J)}async function Gt(e,t,n,r){let a;t.invalidateAll&&we(),await B({type:"goto",url:Ye(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:r,accept:()=>{t.invalidateAll&&(Te=!0,a=[...Fe.keys()]),t.invalidate&&t.invalidate.forEach(Zt)}}),t.invalidateAll&&ee().then(ee).then(()=>{Fe.forEach(({resource:i},s)=>{a?.includes(s)&&i.refresh?.()})})}async function Mt(e){if(e.id!==L?.id){we();const t={};se.add(t),L={id:e.id,token:t,promise:ct({...e,preload:t}).then(n=>(se.delete(t),n.type==="loaded"&&n.state.error&&we(),n)),fork:null}}return L.promise}async function ge(e){const t=(await ue(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].map(n=>n?.[1]()))}async function it(e,t,n){_=e.state;const r=document.querySelector("style[data-sveltekit]");if(r&&r.remove(),Object.assign(k,e.props.page),at=new w.root({target:t,props:{...e.props,stores:$,components:ae},hydrate:n,sync:!1}),await Promise.resolve(),st(R),n){const a={from:null,to:{params:_.params,route:{id:_.route?.id??null},url:new URL(location.href),scroll:C[y]??q()},willUnload:!1,type:"enter",complete:Promise.resolve()};M.forEach(i=>i(a))}oe=!0}function ie({url:e,params:t,branch:n,status:r,error:a,route:i,form:s}){let o="never";if(x&&(e.pathname===x||e.pathname===x+"/"))o="always";else for(const u of n)u?.slash!==void 0&&(o=u.slash);e.pathname=gt(e.pathname,o),e.search=e.search;const l={type:"loaded",state:{url:e,params:t,branch:n,error:a,route:i},props:{constructors:Ct(n).map(u=>u.node.component),page:Ce(k)}};s!==void 0&&(l.props.form=s);let c={},d=!k,p=0;for(let u=0;u<Math.max(n.length,_.branch.length);u+=1){const h=n[u],v=_.branch[u];h?.data!==v?.data&&(d=!0),h&&(c={...c,...h.data},d&&(l.props[`data_${p}`]=c),p+=1)}return(!_.url||e.href!==_.url.href||_.error!==a||s!==void 0&&s!==k.form||d)&&(l.props.page={error:a,params:t,route:{id:i?.id??null},state:{},status:r,url:new URL(e),form:s??null,data:d?c:k.data}),l}async function Pe({loader:e,parent:t,url:n,params:r,route:a,server_data_node:i}){let s=null,o=!0;const l={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},c=await e();if(c.universal?.load){let d=function(...f){for(const u of f){const{href:h}=new URL(u,n);l.dependencies.add(h)}};const p={tracing:{enabled:!1,root:Ve,current:Ve},route:new Proxy(a,{get:(f,u)=>(o&&(l.route=!0),f[u])}),params:new Proxy(r,{get:(f,u)=>(o&&l.params.add(u),f[u])}),data:i?.data??null,url:vt(n,()=>{o&&(l.url=!0)},f=>{o&&l.search_params.add(f)},w.hash),async fetch(f,u){f instanceof Request&&(u={body:f.method==="GET"||f.method==="HEAD"?void 0:await f.blob(),cache:f.cache,credentials:f.credentials,headers:[...f.headers].length>0?f?.headers:void 0,integrity:f.integrity,keepalive:f.keepalive,method:f.method,mode:f.mode,redirect:f.redirect,referrer:f.referrer,referrerPolicy:f.referrerPolicy,signal:f.signal,...u});const{resolved:h,promise:v}=lt(f,u,n);return o&&d(h.href),v},setHeaders:()=>{},depends:d,parent(){return o&&(l.parent=!0),t()},untrack(f){o=!1;try{return f()}finally{o=!0}}};s=await c.universal.load.call(null,p)??null}return{node:c,loader:e,server:i,universal:c.universal?.load?{type:"data",data:s,uses:l}:null,data:s??i?.data??null,slash:c.universal?.trailingSlash??i?.slash}}function lt(e,t,n){let r=e instanceof Request?e.url:e;const a=new URL(r,n);a.origin===n.origin&&(r=a.href.slice(n.origin.length));const i=oe?Et(r,a.href,t):kt(r,t);return{resolved:a,promise:i}}function Ht(e,t,n,r,a,i){if(Te)return!0;if(!a)return!1;if(a.parent&&e||a.route&&t||a.url&&n)return!0;for(const s of a.search_params)if(r.has(s))return!0;for(const s of a.params)if(i[s]!==_.params[s])return!0;for(const s of a.dependencies)if(re.some(o=>o(new URL(s))))return!0;return!1}function Ie(e,t){return e?.type==="data"?e:e?.type==="skip"?t??null:null}function Wt(e,t){if(!e)return new Set(t.searchParams.keys());const n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(const r of n){const a=e.searchParams.getAll(r),i=t.searchParams.getAll(r);a.every(s=>i.includes(s))&&i.every(s=>a.includes(s))&&n.delete(r)}return n}function Jt({error:e,url:t,route:n,params:r}){return{type:"loaded",state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:Ce(k),constructors:[]}}}async function ct({id:e,invalidating:t,url:n,params:r,route:a,preload:i}){if(L?.id===e)return se.delete(L.token),L.promise;const{errors:s,layouts:o,leaf:l}=a,c=[...o,l];s.forEach(m=>m?.().catch(()=>{})),c.forEach(m=>m?.[1]().catch(()=>{}));const d=_.url?e!==le(_.url):!1,p=_.route?a.id!==_.route.id:!1,f=Wt(_.url,n);let u=!1;const h=c.map(async(m,g)=>{if(!m)return;const E=_.branch[g];return m[1]===E?.loader&&!Ht(u,p,d,f,E.universal?.uses,r)?E:(u=!0,Pe({loader:m[1],url:n,params:r,route:a,parent:async()=>{const I={};for(let O=0;O<g;O+=1)Object.assign(I,(await h[O])?.data);return I},server_data_node:Ie(m[0]?{type:"skip"}:null,m[0]?E?.server:void 0)}))});for(const m of h)m.catch(()=>{});const v=[];for(let m=0;m<c.length;m+=1)if(c[m])try{v.push(await h[m])}catch(g){if(g instanceof Ee)return{type:"redirect",location:g.location};if(se.has(i))return Jt({error:await X(g,{params:r,url:n,route:{id:a.id}}),url:n,params:r,route:a});let E=Le(g),S;if(g instanceof ke)S=g.body;else{if(await $.updated.check())return await et(),await Y(n);S=await X(g,{params:r,url:n,route:{id:a.id}})}const I=await Yt(m,v,s);return I?ie({url:n,params:r,branch:v.slice(0,I.idx).concat(I.node),status:E,error:S,route:a}):await ft(n,{id:a.id},S,E)}else v.push(void 0);return ie({url:n,params:r,branch:v,status:200,error:null,route:a,form:t?void 0:null})}async function Yt(e,t,n){for(;e--;)if(n[e]){let r=e;for(;!t[r];)r-=1;try{return{idx:r+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function Oe({status:e,error:t,url:n,route:r}){const a={};let i=null;try{const s=await Pe({loader:_e,url:n,params:a,route:r,parent:()=>Promise.resolve({}),server_data_node:Ie(i)}),o={node:await ne(),loader:ne,universal:null,server:null,data:null};return ie({url:n,params:a,branch:[s,o],status:e,error:t,route:null})}catch(s){if(s instanceof Ee)return Gt(new URL(s.location,location.href),{},0);throw s}}async function zt(e){const t=e.href;if(Z.has(t))return Z.get(t);let n;try{const r=(async()=>{let a=await w.hooks.reroute({url:new URL(e),fetch:async(i,s)=>lt(i,s,e).promise})??e;if(typeof a=="string"){const i=new URL(e);w.hash?i.hash=a:i.pathname=a,a=i}return a})();Z.set(t,r),n=await r}catch{Z.delete(t);return}return n}async function ue(e,t){if(e&&!ce(e,x,w.hash)){const n=await zt(e);if(!n)return;const r=Xt(n);for(const a of Ue){const i=a.exec(r);if(i)return{id:le(e),invalidating:t,route:a,params:_t(i),url:e}}}}function Xt(e){return mt(w.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(x.length))||"/"}function le(e){return(w.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function ut({url:e,type:t,intent:n,delta:r,event:a,scroll:i}){let s=!1;const o=$e(_,n,e,t,i??null);r!==void 0&&(o.navigation.delta=r),a!==void 0&&(o.navigation.event=a);const l={...o.navigation,cancel:()=>{s=!0,o.reject(new Error("navigation cancelled"))}};return z||tt.forEach(c=>c(l)),s?null:o}async function B({type:e,url:t,popped:n,keepfocus:r,noscroll:a,replace_state:i,state:s={},redirect_count:o=0,nav_token:l={},accept:c=Ke,block:d=Ke,event:p}){const f=j;j=l;const u=await ue(t,!1),h=e==="enter"?$e(_,u,t,e):ut({url:t,type:e,delta:n?.delta,intent:u,scroll:n?.scroll,event:p});if(!h){d(),j===l&&(j=f);return}const v=y,m=R;c(),z=!0,oe&&h.navigation.type!=="enter"&&$.navigating.set(W.current=h.navigation);let g=u&&await ct(u);if(!g){if(ce(t,x,w.hash))return await Y(t,i);g=await ft(t,{id:null},await X(new Se(404,"Not Found",`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,i)}if(t=u?.url||t,j!==l)return h.reject(new Error("navigation aborted")),!1;if(g.type==="redirect"){if(o<20){await B({type:e,url:new URL(g.location,t),popped:n,keepfocus:r,noscroll:a,replace_state:i,state:s,redirect_count:o+1,nav_token:l}),h.fulfil(void 0);return}g=await Oe({status:500,error:await X(new Error("Redirect loop"),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}})}else g.props.page.status>=400&&await $.updated.check()&&(await et(),await Y(t,i));if(Ft(),Ae(v),ot(m),g.props.page.url.pathname!==t.pathname&&(t.pathname=g.props.page.url.pathname),s=n?n.state:s,!n){const b=i?0:1,Q={[K]:y+=b,[H]:R+=b,[Je]:s};(i?history.replaceState:history.pushState).call(history,Q,"",t),i||Kt(y,R)}const E=u&&L?.id===u.id?L.fork:null;L=null,g.props.page.state=s;let S;if(oe){const b=(await Promise.all(Array.from(Bt,D=>D(h.navigation)))).filter(D=>typeof D=="function");if(b.length>0){let D=function(){b.forEach(fe=>{M.delete(fe)})};b.push(D),b.forEach(fe=>{M.add(fe)})}_=g.state,g.props.page&&(g.props.page.url=t);const Q=E&&await E;Q?S=Q.commit():(at.$set(g.props),qt(g.props.page),S=pt?.()),rt=!0}else await it(g,ve,!1);const{activeElement:I}=document;await S,await ee(),await ee();let O=null;if(Be){const b=n?n.scroll:a?q():null;b?scrollTo(b.x,b.y):(O=t.hash&&document.getElementById(dt(t)))?O.scrollIntoView():scrollTo(0,0)}const ht=document.activeElement!==I&&document.activeElement!==document.body;!r&&!ht&&rn(t,!O),Be=!0,g.props.page&&Object.assign(k,g.props.page),z=!1,e==="popstate"&&st(R),h.fulfil(void 0),h.navigation.to&&(h.navigation.to.scroll=q()),M.forEach(b=>b(h.navigation)),$.navigating.set(W.current=null)}async function ft(e,t,n,r,a){return e.origin===xe&&e.pathname===location.pathname&&!nt?await Oe({status:r,error:n,url:e,route:t}):await Y(e,a)}function Qt(){let e,t={element:void 0,href:void 0},n;P.addEventListener("mousemove",o=>{const l=o.target;clearTimeout(e),e=setTimeout(()=>{i(l,N.hover)},20)});function r(o){o.defaultPrevented||i(o.composedPath()[0],N.tap)}P.addEventListener("mousedown",r),P.addEventListener("touchstart",r,{passive:!0});const a=new IntersectionObserver(o=>{for(const l of o)l.isIntersecting&&(ge(new URL(l.target.href)),a.unobserve(l.target))},{threshold:0});async function i(o,l){const c=Xe(o,P),d=c===t.element&&c?.href===t.href&&l>=n;if(!c||d)return;const{url:p,external:f,download:u}=me(c,x,w.hash);if(f||u)return;const h=te(c),v=p&&le(_.url)===le(p);if(!(h.reload||v))if(l<=h.preload_data){t={element:c,href:c.href},n=N.tap;const m=await ue(p,!1);if(!m)return;Mt(m)}else l<=h.preload_code&&(t={element:c,href:c.href},n=l,ge(p))}function s(){a.disconnect();for(const o of P.querySelectorAll("a")){const{url:l,external:c,download:d}=me(o,x,w.hash);if(c||d)continue;const p=te(o);p.reload||(p.preload_code===N.viewport&&a.observe(o),p.preload_code===N.eager&&ge(l))}}M.add(s),s()}function X(e,t){if(e instanceof ke)return e.body;const n=Le(e),r=Nt(e);return w.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function Zt(e){if(typeof e=="function")re.push(e);else{const{href:t}=new URL(e,location.href);re.push(n=>n.href===t)}}function en(){history.scrollRestoration="manual",addEventListener("beforeunload",t=>{let n=!1;if(Ge(),!z){const r=$e(_,void 0,null,"leave"),a={...r.navigation,cancel:()=>{n=!0,r.reject(new Error("navigation cancelled"))}};tt.forEach(i=>i(a))}n?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&Ge()}),navigator.connection?.saveData||Qt(),P.addEventListener("click",async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const n=Xe(t.composedPath()[0],P);if(!n)return;const{url:r,external:a,target:i,download:s}=me(n,x,w.hash);if(!r)return;if(i==="_parent"||i==="_top"){if(window.parent!==window)return}else if(i&&i!=="_self")return;const o=te(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol==="https:"||r.protocol==="http:")||s)return;const[c,d]=(w.hash?r.hash.replace(/^#/,""):r.href).split("#"),p=c===de(location);if(a||o.reload&&(!p||!d)){ut({url:r,type:"link",event:t})?z=!0:t.preventDefault();return}if(d!==void 0&&p){const[,f]=_.url.href.split("#");if(f===d){if(t.preventDefault(),d===""||d==="top"&&n.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const u=n.ownerDocument.getElementById(decodeURIComponent(d));u&&(u.scrollIntoView(),u.focus())}return}if(F=!0,Ae(y),e(r),!o.replace_state)return;F=!1}t.preventDefault(),await new Promise(f=>{requestAnimationFrame(()=>{setTimeout(f,0)}),setTimeout(f,100)}),await B({type:"link",url:r,keepfocus:o.keepfocus,noscroll:o.noscroll,replace_state:o.replace_state??r.href===location.href,event:t})}),P.addEventListener("submit",t=>{if(t.defaultPrevented)return;const n=HTMLFormElement.prototype.cloneNode.call(t.target),r=t.submitter;if((r?.formTarget||n.target)==="_blank"||(r?.formMethod||n.method)!=="get")return;const s=new URL(r?.hasAttribute("formaction")&&r?.formAction||n.action);if(ce(s,x,!1))return;const o=t.target,l=te(o);if(l.reload)return;t.preventDefault(),t.stopPropagation();const c=new FormData(o,r);s.search=new URLSearchParams(c).toString(),B({type:"form",url:s,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??s.href===location.href,event:t})}),addEventListener("popstate",async t=>{if(!ye){if(t.state?.[K]){const n=t.state[K];if(j={},n===y)return;const r=C[n],a=t.state[Je]??{},i=new URL(t.state[It]??location.href),s=t.state[H],o=_.url?de(location)===de(_.url):!1;if(s===R&&(rt||o)){a!==k.state&&(k.state=a),e(i),C[y]=q(),r&&scrollTo(r.x,r.y),y=n;return}const c=n-y;await B({type:"popstate",url:i,popped:{state:a,scroll:r,delta:c},accept:()=>{y=n,R=s},block:()=>{history.go(-c)},nav_token:j,event:t})}else if(!F){const n=new URL(location.href);e(n),w.hash&&location.reload()}}}),addEventListener("hashchange",()=>{F&&(F=!1,history.replaceState({...history.state,[K]:++y,[H]:R},"",location.href))});for(const t of document.querySelectorAll("link"))Vt.has(t.rel)&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&$.navigating.set(W.current=null)});function e(t){_.url=k.url=t,$.page.set(Ce(k)),$.page.notify()}}async function tn(e,{status:t=200,error:n,node_ids:r,params:a,route:i,server_route:s,data:o,form:l}){nt=!0;const c=new URL(location.href);let d;({params:a={},route:i={id:null}}=await ue(c,!1)||{}),d=Ue.find(({id:u})=>u===i.id);let p,f=!0;try{const u=r.map(async(v,m)=>{const g=o[m];return g?.uses&&(g.uses=nn(g.uses)),Pe({loader:w.nodes[v],url:c,params:a,route:i,parent:async()=>{const E={};for(let S=0;S<m;S+=1)Object.assign(E,(await u[S]).data);return E},server_data_node:Ie(g)})}),h=await Promise.all(u);if(d){const v=d.layouts;for(let m=0;m<v.length;m++)v[m]||h.splice(m,0,void 0)}p=ie({url:c,params:a,branch:h,status:t,error:n,form:l,route:d??null})}catch(u){if(u instanceof Ee){await Y(new URL(u.location,location.href));return}p=await Oe({status:Le(u),error:await X(u,{url:c,params:a,route:i}),url:c,route:i}),e.textContent="",f=!1}p.props.page&&(p.props.page.state={}),await it(p,e,f)}function nn(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}let ye=!1;function rn(e,t=!0){const n=document.querySelector("[autofocus]");if(n)n.focus();else{const r=dt(e);if(r&&document.getElementById(r)){const{x:i,y:s}=q();setTimeout(()=>{const o=history.state;ye=!0,location.replace(new URL(`#${r}`,location.href)),history.replaceState(o,"",e),t&&scrollTo(i,s),ye=!1})}else{const i=document.body,s=i.getAttribute("tabindex");i.tabIndex=-1,i.focus({preventScroll:!0,focusVisible:!1}),s!==null?i.setAttribute("tabindex",s):i.removeAttribute("tabindex")}const a=getSelection();if(a&&a.type!=="None"){const i=[];for(let s=0;s<a.rangeCount;s+=1)i.push(a.getRangeAt(s));setTimeout(()=>{if(a.rangeCount===i.length){for(let s=0;s<a.rangeCount;s+=1){const o=i[s],l=a.getRangeAt(s);if(o.commonAncestorContainer!==l.commonAncestorContainer||o.startContainer!==l.startContainer||o.endContainer!==l.endContainer||o.startOffset!==l.startOffset||o.endOffset!==l.endOffset)return}a.removeAllRanges()}})}}}function $e(e,t,n,r,a=null){let i,s;const o=new Promise((c,d)=>{i=c,s=d});return o.catch(()=>{}),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:q()},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n,scroll:a},willUnload:!t,type:r,complete:o},fulfil:i,reject:s}}function Ce(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function an(e){const t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function dt(e){let t;if(w.hash){const[,,n]=e.hash.split("#",3);t=n??""}else t=e.hash.slice(1);return decodeURIComponent(t)}export{fn as a,sn as l,k as p,$ as s};
|
|
1
|
+
import{ba as be,o as Ne,s as A,g as U,b as T,$ as ee,bb as pt}from"./cZT7cFE6.js";class ke{constructor(t,n){this.status=t,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${t}`}}toString(){return JSON.stringify(this.body)}}class Ee{constructor(t,n){this.status=t,this.location=n}}class Se extends Error{constructor(t,n,r){super(r),this.status=t,this.text=n}}new URL("sveltekit-internal://");function gt(e,t){return e==="/"||t==="ignore"?e:t==="never"?e.endsWith("/")?e.slice(0,-1):e:t==="always"&&!e.endsWith("/")?e+"/":e}function mt(e){return e.split("%25").map(decodeURI).join("%25")}function _t(e){for(const t in e)e[t]=decodeURIComponent(e[t]);return e}function de({href:e}){return e.split("#")[0]}function vt(e,t,n,r=!1){const a=new URL(e);Object.defineProperty(a,"searchParams",{value:new Proxy(a.searchParams,{get(s,o){if(o==="get"||o==="getAll"||o==="has")return(c,...d)=>(n(c),s[o](c,...d));t();const l=Reflect.get(s,o);return typeof l=="function"?l.bind(s):l}}),enumerable:!0,configurable:!0});const i=["href","pathname","search","toString","toJSON"];r&&i.push("hash");for(const s of i)Object.defineProperty(a,s,{get(){return t(),e[s]},enumerable:!0,configurable:!0});return a}function wt(...e){let t=5381;for(const n of e)if(typeof n=="string"){let r=n.length;for(;r;)t=t*33^n.charCodeAt(--r)}else if(ArrayBuffer.isView(n)){const r=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let a=r.length;for(;a;)t=t*33^r[--a]}else throw new TypeError("value must be a string or TypedArray");return(t>>>0).toString(36)}new TextEncoder;new TextDecoder;function yt(e){const t=atob(e),n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n}const bt=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||"GET")!=="GET"&&F.delete(Re(e)),bt(e,t));const F=new Map;function kt(e,t){const n=Re(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:a,...i}=JSON.parse(r.textContent);const s=r.getAttribute("data-ttl");return s&&F.set(n,{body:a,init:i,ttl:1e3*Number(s)}),r.getAttribute("data-b64")!==null&&(a=yt(a)),Promise.resolve(new Response(a,i))}return window.fetch(e,t)}function Et(e,t,n){if(F.size>0){const r=Re(e,n),a=F.get(r);if(a){if(performance.now()<a.ttl&&["default","force-cache","only-if-cached",void 0].includes(n?.cache))return new Response(a.body,a.init);F.delete(r)}}return window.fetch(t,n)}function Re(e,t){let r=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){const a=[];t.headers&&a.push([...new Headers(t.headers)].join(",")),t.body&&(typeof t.body=="string"||ArrayBuffer.isView(t.body))&&a.push(t.body),r+=`[data-hash="${wt(...a)}"]`}return r}const St=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function Rt(e){const t=[];return{pattern:e==="/"?/^\/$/:new RegExp(`^${Lt(e).map(r=>{const a=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(r);if(a)return t.push({name:a[1],matcher:a[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const i=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(r);if(i)return t.push({name:i[1],matcher:i[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!r)return;const s=r.split(/\[(.+?)\](?!\])/);return"/"+s.map((l,c)=>{if(c%2){if(l.startsWith("x+"))return he(String.fromCharCode(parseInt(l.slice(2),16)));if(l.startsWith("u+"))return he(String.fromCharCode(...l.slice(2).split("-").map(v=>parseInt(v,16))));const d=St.exec(l),[,p,f,u,h]=d;return t.push({name:u,matcher:h,optional:!!p,rest:!!f,chained:f?c===1&&s[0]==="":!1}),f?"([^]*?)":p?"([^/]*)?":"([^/]+?)"}return he(l)}).join("")}).join("")}/?$`),params:t}}function xt(e){return e!==""&&!/^\([^)]+\)$/.test(e)}function Lt(e){return e.slice(1).split("/").filter(xt)}function At(e,t,n){const r={},a=e.slice(1),i=a.filter(o=>o!==void 0);let s=0;for(let o=0;o<t.length;o+=1){const l=t[o];let c=a[o-s];if(l.chained&&l.rest&&s&&(c=a.slice(o-s,o+1).filter(d=>d).join("/"),s=0),c===void 0)if(l.rest)c="";else continue;if(!l.matcher||n[l.matcher](c)){r[l.name]=c;const d=t[o+1],p=a[o+1];d&&!d.rest&&d.optional&&p&&l.chained&&(s=0),!d&&!p&&Object.keys(r).length===i.length&&(s=0);continue}if(l.optional&&l.chained){s++;continue}return}if(!s)return r}function he(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function Ut({nodes:e,server_loads:t,dictionary:n,matchers:r}){const a=new Set(t);return Object.entries(n).map(([o,[l,c,d]])=>{const{pattern:p,params:f}=Rt(o),u={id:o,exec:h=>{const v=p.exec(h);if(v)return At(v,f,r)},errors:[1,...d||[]].map(h=>e[h]),layouts:[0,...c||[]].map(s),leaf:i(l)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function i(o){const l=o<0;return l&&(o=~o),[l,e[o]]}function s(o){return o===void 0?o:[a.has(o),e[o]]}}function Ge(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function je(e,t,n=JSON.stringify){const r=n(t);try{sessionStorage[e]=r}catch{}}const x=globalThis.__sveltekit_16e8z0f?.base??"",Tt=globalThis.__sveltekit_16e8z0f?.assets??x??"",Pt="1772540039057",Me="sveltekit:snapshot",He="sveltekit:scroll",We="sveltekit:states",It="sveltekit:pageurl",z="sveltekit:history",M="sveltekit:navigation",N={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},xe=location.origin;function Je(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){const n=document.getElementsByTagName("base");t=n.length?n[0].href:document.URL}return new URL(e,t)}function D(){return{x:pageXOffset,y:pageYOffset}}function V(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const De={...N,"":N.hover};function Ye(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function Xe(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=Ye(e)}}function me(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){const o=location.hash.split("#")[1]||"/";r.hash=`#${o}${r.hash}`}}catch{}const a=e instanceof SVGAElement?e.target.baseVal:e.target,i=!r||!!a||ce(r,t,n)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),s=r?.origin===xe&&e.hasAttribute("download");return{url:r,external:i,target:a,download:s}}function te(e){let t=null,n=null,r=null,a=null,i=null,s=null,o=e;for(;o&&o!==document.documentElement;)r===null&&(r=V(o,"preload-code")),a===null&&(a=V(o,"preload-data")),t===null&&(t=V(o,"keepfocus")),n===null&&(n=V(o,"noscroll")),i===null&&(i=V(o,"reload")),s===null&&(s=V(o,"replacestate")),o=Ye(o);function l(c){switch(c){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:De[r??"off"],preload_data:De[a??"off"],keepfocus:l(t),noscroll:l(n),reload:l(i),replace_state:l(s)}}function qe(e){const t=be(e);let n=!0;function r(){n=!0,t.update(s=>s)}function a(s){n=!1,t.set(s)}function i(s){let o;return t.subscribe(l=>{(o===void 0||n&&l!==o)&&s(o=l)})}return{notify:r,set:a,subscribe:i}}const Qe={v:()=>{}};function Ot(){const{set:e,subscribe:t}=be(!1);let n;async function r(){clearTimeout(n);try{const a=await fetch(`${Tt}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!a.ok)return!1;const s=(await a.json()).version!==Pt;return s&&(e(!0),Qe.v(),clearTimeout(n)),s}catch{return!1}}return{subscribe:t,check:r}}function ce(e,t,n){return e.origin!==xe||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function sn(e){}const Ze=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...Ze];const $t=new Set([...Ze]);[...$t];function Ct(e){return e.filter(t=>t!=null)}function Le(e){return e instanceof ke||e instanceof Se?e.status:500}function Nt(e){return e instanceof Se?e.text:"Internal Error"}let k,H,pe;const jt=Ne.toString().includes("$$")||/function \w+\(\) \{\}/.test(Ne.toString());jt?(k={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},H={current:null},pe={current:!1}):(k=new class{#e=A({});get data(){return U(this.#e)}set data(t){T(this.#e,t)}#t=A(null);get form(){return U(this.#t)}set form(t){T(this.#t,t)}#n=A(null);get error(){return U(this.#n)}set error(t){T(this.#n,t)}#r=A({});get params(){return U(this.#r)}set params(t){T(this.#r,t)}#a=A({id:null});get route(){return U(this.#a)}set route(t){T(this.#a,t)}#o=A({});get state(){return U(this.#o)}set state(t){T(this.#o,t)}#s=A(-1);get status(){return U(this.#s)}set status(t){T(this.#s,t)}#i=A(new URL("https://example.com"));get url(){return U(this.#i)}set url(t){T(this.#i,t)}},H=new class{#e=A(null);get current(){return U(this.#e)}set current(t){T(this.#e,t)}},pe=new class{#e=A(!1);get current(){return U(this.#e)}set current(t){T(this.#e,t)}},Qe.v=()=>pe.current=!0);function Dt(e){Object.assign(k,e)}const Ve={spanContext(){return qt},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this},addLink(){return this},addLinks(){return this}},qt={traceId:"",spanId:"",traceFlags:0},Vt=new Set(["icon","shortcut icon","apple-touch-icon"]),C=Ge(He)??{},W=Ge(Me)??{},$={url:qe({}),page:qe({}),navigating:be(null),updated:Ot()};function Ae(e){C[e]=D()}function zt(e,t){let n=e+1;for(;C[n];)delete C[n],n+=1;for(n=t+1;W[n];)delete W[n],n+=1}function J(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(()=>{})}async function et(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(x||"/");e&&await e.update()}}function ze(){}let Ue,_e,ne,P,ve,w;const re=[],ae=[];let L=null;function we(){L?.fork?.then(e=>e?.discard()),L=null}const Z=new Map,tt=new Set,Kt=new Set,G=new Set;let _={branch:[],error:null,url:null},nt=!1,oe=!1,Ke=!0,Y=!1,B=!1,rt=!1,Te=!1,at,y,R,j;const se=new Set,Be=new Map;async function fn(e,t,n){globalThis.__sveltekit_16e8z0f?.data&&globalThis.__sveltekit_16e8z0f.data,document.URL!==location.href&&(location.href=location.href),w=e,await e.hooks.init?.(),Ue=Ut(e),P=document.documentElement,ve=t,_e=e.nodes[0],ne=e.nodes[1],_e(),ne(),y=history.state?.[z],R=history.state?.[M],y||(y=R=Date.now(),history.replaceState({...history.state,[z]:y,[M]:R},""));const r=C[y];function a(){r&&(history.scrollRestoration="manual",scrollTo(r.x,r.y))}n?(a(),await tn(ve,n)):(await K({type:"enter",url:Je(w.hash?an(new URL(location.href)):location.href),replace_state:!0}),a()),en()}function Bt(){re.length=0,Te=!1}function ot(e){ae.some(t=>t?.snapshot)&&(W[e]=ae.map(t=>t?.snapshot?.capture()))}function st(e){W[e]?.forEach((t,n)=>{ae[n]?.snapshot?.restore(t)})}function Fe(){Ae(y),je(He,C),ot(R),je(Me,W)}async function Ft(e,t,n,r){let a;t.invalidateAll&&we(),await K({type:"goto",url:Je(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:r,accept:()=>{t.invalidateAll&&(Te=!0,a=[...Be.keys()]),t.invalidate&&t.invalidate.forEach(Zt)}}),t.invalidateAll&&ee().then(ee).then(()=>{Be.forEach(({resource:i},s)=>{a?.includes(s)&&i.refresh?.()})})}async function Gt(e){if(e.id!==L?.id){we();const t={};se.add(t),L={id:e.id,token:t,promise:ct({...e,preload:t}).then(n=>(se.delete(t),n.type==="loaded"&&n.state.error&&we(),n)),fork:null}}return L.promise}async function ge(e){const t=(await ue(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].map(n=>n?.[1]()))}async function it(e,t,n){_=e.state;const r=document.querySelector("style[data-sveltekit]");if(r&&r.remove(),Object.assign(k,e.props.page),at=new w.root({target:t,props:{...e.props,stores:$,components:ae},hydrate:n,sync:!1}),await Promise.resolve(),st(R),n){const a={from:null,to:{params:_.params,route:{id:_.route?.id??null},url:new URL(location.href),scroll:C[y]??D()},willUnload:!1,type:"enter",complete:Promise.resolve()};G.forEach(i=>i(a))}oe=!0}function ie({url:e,params:t,branch:n,status:r,error:a,route:i,form:s}){let o="never";if(x&&(e.pathname===x||e.pathname===x+"/"))o="always";else for(const u of n)u?.slash!==void 0&&(o=u.slash);e.pathname=gt(e.pathname,o),e.search=e.search;const l={type:"loaded",state:{url:e,params:t,branch:n,error:a,route:i},props:{constructors:Ct(n).map(u=>u.node.component),page:Ce(k)}};s!==void 0&&(l.props.form=s);let c={},d=!k,p=0;for(let u=0;u<Math.max(n.length,_.branch.length);u+=1){const h=n[u],v=_.branch[u];h?.data!==v?.data&&(d=!0),h&&(c={...c,...h.data},d&&(l.props[`data_${p}`]=c),p+=1)}return(!_.url||e.href!==_.url.href||_.error!==a||s!==void 0&&s!==k.form||d)&&(l.props.page={error:a,params:t,route:{id:i?.id??null},state:{},status:r,url:new URL(e),form:s??null,data:d?c:k.data}),l}async function Pe({loader:e,parent:t,url:n,params:r,route:a,server_data_node:i}){let s=null,o=!0;const l={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},c=await e();if(c.universal?.load){let d=function(...f){for(const u of f){const{href:h}=new URL(u,n);l.dependencies.add(h)}};const p={tracing:{enabled:!1,root:Ve,current:Ve},route:new Proxy(a,{get:(f,u)=>(o&&(l.route=!0),f[u])}),params:new Proxy(r,{get:(f,u)=>(o&&l.params.add(u),f[u])}),data:i?.data??null,url:vt(n,()=>{o&&(l.url=!0)},f=>{o&&l.search_params.add(f)},w.hash),async fetch(f,u){f instanceof Request&&(u={body:f.method==="GET"||f.method==="HEAD"?void 0:await f.blob(),cache:f.cache,credentials:f.credentials,headers:[...f.headers].length>0?f?.headers:void 0,integrity:f.integrity,keepalive:f.keepalive,method:f.method,mode:f.mode,redirect:f.redirect,referrer:f.referrer,referrerPolicy:f.referrerPolicy,signal:f.signal,...u});const{resolved:h,promise:v}=lt(f,u,n);return o&&d(h.href),v},setHeaders:()=>{},depends:d,parent(){return o&&(l.parent=!0),t()},untrack(f){o=!1;try{return f()}finally{o=!0}}};s=await c.universal.load.call(null,p)??null}return{node:c,loader:e,server:i,universal:c.universal?.load?{type:"data",data:s,uses:l}:null,data:s??i?.data??null,slash:c.universal?.trailingSlash??i?.slash}}function lt(e,t,n){let r=e instanceof Request?e.url:e;const a=new URL(r,n);a.origin===n.origin&&(r=a.href.slice(n.origin.length));const i=oe?Et(r,a.href,t):kt(r,t);return{resolved:a,promise:i}}function Mt(e,t,n,r,a,i){if(Te)return!0;if(!a)return!1;if(a.parent&&e||a.route&&t||a.url&&n)return!0;for(const s of a.search_params)if(r.has(s))return!0;for(const s of a.params)if(i[s]!==_.params[s])return!0;for(const s of a.dependencies)if(re.some(o=>o(new URL(s))))return!0;return!1}function Ie(e,t){return e?.type==="data"?e:e?.type==="skip"?t??null:null}function Ht(e,t){if(!e)return new Set(t.searchParams.keys());const n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(const r of n){const a=e.searchParams.getAll(r),i=t.searchParams.getAll(r);a.every(s=>i.includes(s))&&i.every(s=>a.includes(s))&&n.delete(r)}return n}function Wt({error:e,url:t,route:n,params:r}){return{type:"loaded",state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:Ce(k),constructors:[]}}}async function ct({id:e,invalidating:t,url:n,params:r,route:a,preload:i}){if(L?.id===e)return se.delete(L.token),L.promise;const{errors:s,layouts:o,leaf:l}=a,c=[...o,l];s.forEach(m=>m?.().catch(()=>{})),c.forEach(m=>m?.[1]().catch(()=>{}));const d=_.url?e!==le(_.url):!1,p=_.route?a.id!==_.route.id:!1,f=Ht(_.url,n);let u=!1;const h=c.map(async(m,g)=>{if(!m)return;const E=_.branch[g];return m[1]===E?.loader&&!Mt(u,p,d,f,E.universal?.uses,r)?E:(u=!0,Pe({loader:m[1],url:n,params:r,route:a,parent:async()=>{const I={};for(let O=0;O<g;O+=1)Object.assign(I,(await h[O])?.data);return I},server_data_node:Ie(m[0]?{type:"skip"}:null,m[0]?E?.server:void 0)}))});for(const m of h)m.catch(()=>{});const v=[];for(let m=0;m<c.length;m+=1)if(c[m])try{v.push(await h[m])}catch(g){if(g instanceof Ee)return{type:"redirect",location:g.location};if(se.has(i))return Wt({error:await X(g,{params:r,url:n,route:{id:a.id}}),url:n,params:r,route:a});let E=Le(g),S;if(g instanceof ke)S=g.body;else{if(await $.updated.check())return await et(),await J(n);S=await X(g,{params:r,url:n,route:{id:a.id}})}const I=await Jt(m,v,s);return I?ie({url:n,params:r,branch:v.slice(0,I.idx).concat(I.node),status:E,error:S,route:a}):await ft(n,{id:a.id},S,E)}else v.push(void 0);return ie({url:n,params:r,branch:v,status:200,error:null,route:a,form:t?void 0:null})}async function Jt(e,t,n){for(;e--;)if(n[e]){let r=e;for(;!t[r];)r-=1;try{return{idx:r+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function Oe({status:e,error:t,url:n,route:r}){const a={};let i=null;try{const s=await Pe({loader:_e,url:n,params:a,route:r,parent:()=>Promise.resolve({}),server_data_node:Ie(i)}),o={node:await ne(),loader:ne,universal:null,server:null,data:null};return ie({url:n,params:a,branch:[s,o],status:e,error:t,route:null})}catch(s){if(s instanceof Ee)return Ft(new URL(s.location,location.href),{},0);throw s}}async function Yt(e){const t=e.href;if(Z.has(t))return Z.get(t);let n;try{const r=(async()=>{let a=await w.hooks.reroute({url:new URL(e),fetch:async(i,s)=>lt(i,s,e).promise})??e;if(typeof a=="string"){const i=new URL(e);w.hash?i.hash=a:i.pathname=a,a=i}return a})();Z.set(t,r),n=await r}catch{Z.delete(t);return}return n}async function ue(e,t){if(e&&!ce(e,x,w.hash)){const n=await Yt(e);if(!n)return;const r=Xt(n);for(const a of Ue){const i=a.exec(r);if(i)return{id:le(e),invalidating:t,route:a,params:_t(i),url:e}}}}function Xt(e){return mt(w.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(x.length))||"/"}function le(e){return(w.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function ut({url:e,type:t,intent:n,delta:r,event:a,scroll:i}){let s=!1;const o=$e(_,n,e,t,i??null);r!==void 0&&(o.navigation.delta=r),a!==void 0&&(o.navigation.event=a);const l={...o.navigation,cancel:()=>{s=!0,o.reject(new Error("navigation cancelled"))}};return Y||tt.forEach(c=>c(l)),s?null:o}async function K({type:e,url:t,popped:n,keepfocus:r,noscroll:a,replace_state:i,state:s={},redirect_count:o=0,nav_token:l={},accept:c=ze,block:d=ze,event:p}){const f=j;j=l;const u=await ue(t,!1),h=e==="enter"?$e(_,u,t,e):ut({url:t,type:e,delta:n?.delta,intent:u,scroll:n?.scroll,event:p});if(!h){d(),j===l&&(j=f);return}const v=y,m=R;c(),Y=!0,oe&&h.navigation.type!=="enter"&&$.navigating.set(H.current=h.navigation);let g=u&&await ct(u);if(!g){if(ce(t,x,w.hash))return await J(t,i);g=await ft(t,{id:null},await X(new Se(404,"Not Found",`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,i)}if(t=u?.url||t,j!==l)return h.reject(new Error("navigation aborted")),!1;if(g.type==="redirect"){if(o<20){await K({type:e,url:new URL(g.location,t),popped:n,keepfocus:r,noscroll:a,replace_state:i,state:s,redirect_count:o+1,nav_token:l}),h.fulfil(void 0);return}g=await Oe({status:500,error:await X(new Error("Redirect loop"),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}})}else g.props.page.status>=400&&await $.updated.check()&&(await et(),await J(t,i));if(Bt(),Ae(v),ot(m),g.props.page.url.pathname!==t.pathname&&(t.pathname=g.props.page.url.pathname),s=n?n.state:s,!n){const b=i?0:1,Q={[z]:y+=b,[M]:R+=b,[We]:s};(i?history.replaceState:history.pushState).call(history,Q,"",t),i||zt(y,R)}const E=u&&L?.id===u.id?L.fork:null;L=null,g.props.page.state=s;let S;if(oe){const b=(await Promise.all(Array.from(Kt,q=>q(h.navigation)))).filter(q=>typeof q=="function");if(b.length>0){let q=function(){b.forEach(fe=>{G.delete(fe)})};b.push(q),b.forEach(fe=>{G.add(fe)})}_=g.state,g.props.page&&(g.props.page.url=t);const Q=E&&await E;Q?S=Q.commit():(at.$set(g.props),Dt(g.props.page),S=pt?.()),rt=!0}else await it(g,ve,!1);const{activeElement:I}=document;await S,await ee(),await ee();let O=null;if(Ke){const b=n?n.scroll:a?D():null;b?scrollTo(b.x,b.y):(O=t.hash&&document.getElementById(dt(t)))?O.scrollIntoView():scrollTo(0,0)}const ht=document.activeElement!==I&&document.activeElement!==document.body;!r&&!ht&&rn(t,!O),Ke=!0,g.props.page&&Object.assign(k,g.props.page),Y=!1,e==="popstate"&&st(R),h.fulfil(void 0),h.navigation.to&&(h.navigation.to.scroll=D()),G.forEach(b=>b(h.navigation)),$.navigating.set(H.current=null)}async function ft(e,t,n,r,a){return e.origin===xe&&e.pathname===location.pathname&&!nt?await Oe({status:r,error:n,url:e,route:t}):await J(e,a)}function Qt(){let e,t={element:void 0,href:void 0},n;P.addEventListener("mousemove",o=>{const l=o.target;clearTimeout(e),e=setTimeout(()=>{i(l,N.hover)},20)});function r(o){o.defaultPrevented||i(o.composedPath()[0],N.tap)}P.addEventListener("mousedown",r),P.addEventListener("touchstart",r,{passive:!0});const a=new IntersectionObserver(o=>{for(const l of o)l.isIntersecting&&(ge(new URL(l.target.href)),a.unobserve(l.target))},{threshold:0});async function i(o,l){const c=Xe(o,P),d=c===t.element&&c?.href===t.href&&l>=n;if(!c||d)return;const{url:p,external:f,download:u}=me(c,x,w.hash);if(f||u)return;const h=te(c),v=p&&le(_.url)===le(p);if(!(h.reload||v))if(l<=h.preload_data){t={element:c,href:c.href},n=N.tap;const m=await ue(p,!1);if(!m)return;Gt(m)}else l<=h.preload_code&&(t={element:c,href:c.href},n=l,ge(p))}function s(){a.disconnect();for(const o of P.querySelectorAll("a")){const{url:l,external:c,download:d}=me(o,x,w.hash);if(c||d)continue;const p=te(o);p.reload||(p.preload_code===N.viewport&&a.observe(o),p.preload_code===N.eager&&ge(l))}}G.add(s),s()}function X(e,t){if(e instanceof ke)return e.body;const n=Le(e),r=Nt(e);return w.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function Zt(e){if(typeof e=="function")re.push(e);else{const{href:t}=new URL(e,location.href);re.push(n=>n.href===t)}}function en(){history.scrollRestoration="manual",addEventListener("beforeunload",t=>{let n=!1;if(Fe(),!Y){const r=$e(_,void 0,null,"leave"),a={...r.navigation,cancel:()=>{n=!0,r.reject(new Error("navigation cancelled"))}};tt.forEach(i=>i(a))}n?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&Fe()}),navigator.connection?.saveData||Qt(),P.addEventListener("click",async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const n=Xe(t.composedPath()[0],P);if(!n)return;const{url:r,external:a,target:i,download:s}=me(n,x,w.hash);if(!r)return;if(i==="_parent"||i==="_top"){if(window.parent!==window)return}else if(i&&i!=="_self")return;const o=te(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol==="https:"||r.protocol==="http:")||s)return;const[c,d]=(w.hash?r.hash.replace(/^#/,""):r.href).split("#"),p=c===de(location);if(a||o.reload&&(!p||!d)){ut({url:r,type:"link",event:t})?Y=!0:t.preventDefault();return}if(d!==void 0&&p){const[,f]=_.url.href.split("#");if(f===d){if(t.preventDefault(),d===""||d==="top"&&n.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const u=n.ownerDocument.getElementById(decodeURIComponent(d));u&&(u.scrollIntoView(),u.focus())}return}if(B=!0,Ae(y),e(r),!o.replace_state)return;B=!1}t.preventDefault(),await new Promise(f=>{requestAnimationFrame(()=>{setTimeout(f,0)}),setTimeout(f,100)}),await K({type:"link",url:r,keepfocus:o.keepfocus,noscroll:o.noscroll,replace_state:o.replace_state??r.href===location.href,event:t})}),P.addEventListener("submit",t=>{if(t.defaultPrevented)return;const n=HTMLFormElement.prototype.cloneNode.call(t.target),r=t.submitter;if((r?.formTarget||n.target)==="_blank"||(r?.formMethod||n.method)!=="get")return;const s=new URL(r?.hasAttribute("formaction")&&r?.formAction||n.action);if(ce(s,x,!1))return;const o=t.target,l=te(o);if(l.reload)return;t.preventDefault(),t.stopPropagation();const c=new FormData(o,r);s.search=new URLSearchParams(c).toString(),K({type:"form",url:s,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??s.href===location.href,event:t})}),addEventListener("popstate",async t=>{if(!ye){if(t.state?.[z]){const n=t.state[z];if(j={},n===y)return;const r=C[n],a=t.state[We]??{},i=new URL(t.state[It]??location.href),s=t.state[M],o=_.url?de(location)===de(_.url):!1;if(s===R&&(rt||o)){a!==k.state&&(k.state=a),e(i),C[y]=D(),r&&scrollTo(r.x,r.y),y=n;return}const c=n-y;await K({type:"popstate",url:i,popped:{state:a,scroll:r,delta:c},accept:()=>{y=n,R=s},block:()=>{history.go(-c)},nav_token:j,event:t})}else if(!B){const n=new URL(location.href);e(n),w.hash&&location.reload()}}}),addEventListener("hashchange",()=>{B&&(B=!1,history.replaceState({...history.state,[z]:++y,[M]:R},"",location.href))});for(const t of document.querySelectorAll("link"))Vt.has(t.rel)&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&$.navigating.set(H.current=null)});function e(t){_.url=k.url=t,$.page.set(Ce(k)),$.page.notify()}}async function tn(e,{status:t=200,error:n,node_ids:r,params:a,route:i,server_route:s,data:o,form:l}){nt=!0;const c=new URL(location.href);let d;({params:a={},route:i={id:null}}=await ue(c,!1)||{}),d=Ue.find(({id:u})=>u===i.id);let p,f=!0;try{const u=r.map(async(v,m)=>{const g=o[m];return g?.uses&&(g.uses=nn(g.uses)),Pe({loader:w.nodes[v],url:c,params:a,route:i,parent:async()=>{const E={};for(let S=0;S<m;S+=1)Object.assign(E,(await u[S]).data);return E},server_data_node:Ie(g)})}),h=await Promise.all(u);if(d){const v=d.layouts;for(let m=0;m<v.length;m++)v[m]||h.splice(m,0,void 0)}p=ie({url:c,params:a,branch:h,status:t,error:n,form:l,route:d??null})}catch(u){if(u instanceof Ee){await J(new URL(u.location,location.href));return}p=await Oe({status:Le(u),error:await X(u,{url:c,params:a,route:i}),url:c,route:i}),e.textContent="",f=!1}p.props.page&&(p.props.page.state={}),await it(p,e,f)}function nn(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}let ye=!1;function rn(e,t=!0){const n=document.querySelector("[autofocus]");if(n)n.focus();else{const r=dt(e);if(r&&document.getElementById(r)){const{x:i,y:s}=D();setTimeout(()=>{const o=history.state;ye=!0,location.replace(new URL(`#${r}`,location.href)),history.replaceState(o,"",e),t&&scrollTo(i,s),ye=!1})}else{const i=document.body,s=i.getAttribute("tabindex");i.tabIndex=-1,i.focus({preventScroll:!0,focusVisible:!1}),s!==null?i.setAttribute("tabindex",s):i.removeAttribute("tabindex")}const a=getSelection();if(a&&a.type!=="None"){const i=[];for(let s=0;s<a.rangeCount;s+=1)i.push(a.getRangeAt(s));setTimeout(()=>{if(a.rangeCount===i.length){for(let s=0;s<a.rangeCount;s+=1){const o=i[s],l=a.getRangeAt(s);if(o.commonAncestorContainer!==l.commonAncestorContainer||o.startContainer!==l.startContainer||o.endContainer!==l.endContainer||o.startOffset!==l.startOffset||o.endOffset!==l.endOffset)return}a.removeAllRanges()}})}}}function $e(e,t,n,r,a=null){let i,s;const o=new Promise((c,d)=>{i=c,s=d});return o.catch(()=>{}),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:D()},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n,scroll:a},willUnload:!t,type:r,complete:o},fulfil:i,reject:s}}function Ce(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function an(e){const t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function dt(e){let t;if(w.hash){const[,,n]=e.hash.split("#",3);t=n??""}else t=e.hash.slice(1);return decodeURIComponent(t)}export{fn as a,sn as l,k as p,$ as s};
|