sillyspec 3.7.12 → 3.7.14
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/README.md +4 -0
- package/logo.jpg +0 -0
- package/package.json +7 -1
- package/packages/dashboard/dist/assets/index-hNnQCobe.css +1 -0
- package/packages/dashboard/dist/assets/index-qgPzQGjk.js +17 -0
- package/packages/dashboard/dist/favicon.jpg +0 -0
- package/packages/dashboard/dist/index.html +2 -2
- package/packages/dashboard/dist/logo.jpg +0 -0
- package/packages/dashboard/public/favicon.jpg +0 -0
- package/packages/dashboard/public/logo.jpg +0 -0
- package/packages/dashboard/server/index.js +1 -1
- package/packages/dashboard/src/App.vue +90 -6
- package/packages/dashboard/src/components/ActionBar.vue +5 -5
- package/packages/dashboard/src/components/CommandPalette.vue +4 -4
- package/packages/dashboard/src/components/DetailPanel.vue +15 -15
- package/packages/dashboard/src/components/DocPreview.vue +4 -4
- package/packages/dashboard/src/components/DocTree.vue +3 -3
- package/packages/dashboard/src/components/LogStream.vue +4 -4
- package/packages/dashboard/src/components/PipelineStage.vue +1 -1
- package/packages/dashboard/src/components/PipelineView.vue +8 -8
- package/packages/dashboard/src/components/ProjectList.vue +13 -12
- package/packages/dashboard/src/components/StageBadge.vue +3 -3
- package/packages/dashboard/src/components/StepCard.vue +3 -3
- package/packages/dashboard/src/style.css +3 -3
- package/src/init.js +2 -2
- package/packages/dashboard/dist/assets/index-5Rrvs0Rl.css +0 -1
- package/packages/dashboard/dist/assets/index-ZNToqi9V.js +0 -17
package/README.md
CHANGED
package/logo.jpg
ADDED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sillyspec",
|
|
3
|
-
"version": "3.7.
|
|
3
|
+
"version": "3.7.14",
|
|
4
4
|
"description": "SillySpec CLI — 流程状态机,让 AI 严格按步骤来",
|
|
5
|
+
"icon": "logo.jpg",
|
|
6
|
+
"homepage": "https://sillyspec.ppdmq.top/",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "https://github.com/q512426816/sillyspec.git"
|
|
10
|
+
},
|
|
5
11
|
"type": "module",
|
|
6
12
|
"bin": {
|
|
7
13
|
"sillyspec": "./bin/sillyspec.js"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.slide-enter-active[data-v-bcd9d503],.slide-leave-active[data-v-bcd9d503]{transition:all .2s ease}.slide-enter-from[data-v-bcd9d503],.slide-leave-to[data-v-bcd9d503]{opacity:0;max-height:0;overflow:hidden}.slide-enter-to[data-v-bcd9d503],.slide-leave-from[data-v-bcd9d503]{max-height:300px}.line-clamp-2[data-v-361aba6a]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.backdrop-enter-active[data-v-f8e1b53e],.backdrop-leave-active[data-v-f8e1b53e]{transition:opacity .15s ease}.backdrop-enter-from[data-v-f8e1b53e],.backdrop-leave-to[data-v-f8e1b53e]{opacity:0}.palette-enter-active[data-v-f8e1b53e],.palette-leave-active[data-v-f8e1b53e]{transition:all .2s cubic-bezier(.16,1,.3,1)}.palette-enter-from[data-v-f8e1b53e],.palette-leave-to[data-v-f8e1b53e]{opacity:0;transform:translate(-50%,-8px) scale(.98)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{width:100vw;height:100vh;overflow:hidden}/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@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-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--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);--animate-pulse-dot:pulse-dot 1.5s ease-in-out infinite}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-\[18\%\]{top:18%}.bottom-0{bottom:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.-mt-0\.5{margin-top:calc(var(--spacing) * -.5)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.flex{display:flex}.hidden{display:none}.inline-flex{display:inline-flex}.h-1{height:calc(var(--spacing) * 1)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-\[2px\]{height:2px}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-72{max-height:calc(var(--spacing) * 72)}.w-0{width:calc(var(--spacing) * 0)}.w-1{width:calc(var(--spacing) * 1)}.w-2{width:calc(var(--spacing) * 2)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-14{width:calc(var(--spacing) * 14)}.w-20{width:calc(var(--spacing) * 20)}.w-32{width:calc(var(--spacing) * 32)}.w-\[2px\]{width:2px}.w-\[200px\]{width:200px}.w-\[340px\]{width:340px}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse-dot{animation:var(--animate-pulse-dot)}.cursor-col-resize{cursor:col-resize}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.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)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}: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-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-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}: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)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-none{--tw-border-style:none;border-style:none}.bg-transparent{background-color:#0000}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-3{padding:calc(var(--spacing) * 3)}.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)}.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-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-px{padding-block:1px}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pb-0{padding-bottom:calc(var(--spacing) * 0)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pl-3\.5{padding-left:calc(var(--spacing) * 3.5)}.pl-\[3px\]{padding-left:3px}.text-center{text-align:center}.text-left{text-align:left}.font-\[DM_Sans\,sans-serif\]{font-family:DM Sans,sans-serif}.font-\[JetBrains_Mono\,monospace\]{font-family:JetBrains Mono,monospace}.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}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.15em\]{--tw-tracking:.15em;letter-spacing:.15em}.tracking-\[0\.25em\]{--tw-tracking:.25em;letter-spacing:.25em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-pre-wrap{white-space:pre-wrap}.text-black{color:var(--color-black)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-0{opacity:0}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-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-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\:bg-\[\#FBBF24\]:hover{background-color:#fbbf24}.hover\:bg-white\/5:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/5:hover{background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}}.active\:bg-\[\#FBBF24\]:active{background-color:#fbbf24}}@keyframes pulse-glow{0%,to{box-shadow:0 0 #fbbf2466}50%{box-shadow:0 0 12px 2px #fbbf2426}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.5)}}@keyframes breathe{0%,to{opacity:.5}50%{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slide-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes glow-border{0%,to{border-color:#fbbf2426}50%{border-color:#fbbf2480}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.font-mono-log{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.noise-bg{position:relative}.noise-bg:before{content:"";pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");position:absolute;top:0;right:0;bottom:0;left:0}.accent-stripe{background:repeating-linear-gradient(-45deg,#0000,#0000 8px,#fbbf2408 8px,#fbbf2408 9px)}.progress-gradient{background:linear-gradient(90deg,#fbbf24,#f59e0b,#fb923c)}.skeleton-shimmer{background:linear-gradient(90deg,#1a1e28 25%,#2a3040,#1a1e28 75%) 0 0/200% 100%;animation:1.5s ease-in-out infinite shimmer}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#2a3040;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#3a4555}*{scrollbar-width:thin;scrollbar-color:#2a2a2d transparent}::selection{color:#fbbf24;background:#fbbf2433}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const r of o)if(r.type==="childList")for(const i of r.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&n(i)}).observe(document,{childList:!0,subtree:!0});function s(o){const r={};return o.integrity&&(r.integrity=o.integrity),o.referrerPolicy&&(r.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?r.credentials="include":o.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function n(o){if(o.ep)return;o.ep=!0;const r=s(o);fetch(o.href,r)}})();/**
|
|
2
|
+
* @vue/shared v3.5.32
|
|
3
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
|
+
* @license MIT
|
|
5
|
+
**/function vn(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const ne={},Bt=[],ze=()=>{},jo=()=>!1,Es=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Bs=e=>e.startsWith("onUpdate:"),me=Object.assign,yn=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},zr=Object.prototype.hasOwnProperty,Z=(e,t)=>zr.call(e,t),H=Array.isArray,$t=e=>ns(e)==="[object Map]",Do=e=>ns(e)==="[object Set]",Vn=e=>ns(e)==="[object Date]",K=e=>typeof e=="function",fe=e=>typeof e=="string",Ge=e=>typeof e=="symbol",ee=e=>e!==null&&typeof e=="object",Oo=e=>(ee(e)||K(e))&&K(e.then)&&K(e.catch),Lo=Object.prototype.toString,ns=e=>Lo.call(e),qr=e=>ns(e).slice(8,-1),Io=e=>ns(e)==="[object Object]",xn=e=>fe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Kt=vn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),$s=e=>{const t=Object.create(null);return(s=>t[s]||(t[s]=e(s)))},Gr=/-\w/g,Me=$s(e=>e.replace(Gr,t=>t.slice(1).toUpperCase())),Xr=/\B([A-Z])/g,dt=$s(e=>e.replace(Xr,"-$1").toLowerCase()),No=$s(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ks=$s(e=>e?`on${No(e)}`:""),We=(e,t)=>!Object.is(e,t),hs=(e,...t)=>{for(let s=0;s<e.length;s++)e[s](...t)},Ro=(e,t,s,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},bn=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Yr=e=>{const t=fe(e)?Number(e):NaN;return isNaN(t)?e:t};let Kn;const Ts=()=>Kn||(Kn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function oe(e){if(H(e)){const t={};for(let s=0;s<e.length;s++){const n=e[s],o=fe(n)?ti(n):oe(n);if(o)for(const r in o)t[r]=o[r]}return t}else if(fe(e)||ee(e))return e}const Qr=/;(?![^(]*\))/g,Zr=/:([^]+)/,ei=/\/\*[^]*?\*\//g;function ti(e){const t={};return e.replace(ei,"").split(Qr).forEach(s=>{if(s){const n=s.split(Zr);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Be(e){let t="";if(fe(e))t=e;else if(H(e))for(let s=0;s<e.length;s++){const n=Be(e[s]);n&&(t+=n+" ")}else if(ee(e))for(const s in e)e[s]&&(t+=s+" ");return t.trim()}const si="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",ni=vn(si);function Ho(e){return!!e||e===""}function oi(e,t){if(e.length!==t.length)return!1;let s=!0;for(let n=0;s&&n<e.length;n++)s=_n(e[n],t[n]);return s}function _n(e,t){if(e===t)return!0;let s=Vn(e),n=Vn(t);if(s||n)return s&&n?e.getTime()===t.getTime():!1;if(s=Ge(e),n=Ge(t),s||n)return e===t;if(s=H(e),n=H(t),s||n)return s&&n?oi(e,t):!1;if(s=ee(e),n=ee(t),s||n){if(!s||!n)return!1;const o=Object.keys(e).length,r=Object.keys(t).length;if(o!==r)return!1;for(const i in e){const l=e.hasOwnProperty(i),c=t.hasOwnProperty(i);if(l&&!c||!l&&c||!_n(e[i],t[i]))return!1}}return String(e)===String(t)}const Vo=e=>!!(e&&e.__v_isRef===!0),U=e=>fe(e)?e:e==null?"":H(e)||ee(e)&&(e.toString===Lo||!K(e.toString))?Vo(e)?U(e.value):JSON.stringify(e,Ko,2):String(e),Ko=(e,t)=>Vo(t)?Ko(e,t.value):$t(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,o],r)=>(s[Us(n,r)+" =>"]=o,s),{})}:Do(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>Us(s))}:Ge(t)?Us(t):ee(t)&&!H(t)&&!Io(t)?String(t):t,Us=(e,t="")=>{var s;return Ge(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};/**
|
|
6
|
+
* @vue/reactivity v3.5.32
|
|
7
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
8
|
+
* @license MIT
|
|
9
|
+
**/let ke;class ri{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=ke,!t&&ke&&(this.index=(ke.scopes||(ke.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].pause();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].resume();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].resume()}}run(t){if(this._active){const s=ke;try{return ke=this,t()}finally{ke=s}}}on(){++this._on===1&&(this.prevScope=ke,ke=this)}off(){this._on>0&&--this._on===0&&(ke=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let s,n;for(s=0,n=this.effects.length;s<n;s++)this.effects[s].stop();for(this.effects.length=0,s=0,n=this.cleanups.length;s<n;s++)this.cleanups[s]();if(this.cleanups.length=0,this.scopes){for(s=0,n=this.scopes.length;s<n;s++)this.scopes[s].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const o=this.parent.scopes.pop();o&&o!==this&&(this.parent.scopes[this.index]=o,o.index=this.index)}this.parent=void 0}}}function ii(){return ke}let le;const Js=new WeakSet;class Uo{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,ke&&ke.active&&ke.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Js.has(this)&&(Js.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Wo(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Un(this),zo(this);const t=le,s=je;le=this,je=!0;try{return this.fn()}finally{qo(this),le=t,je=s,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)wn(t);this.deps=this.depsTail=void 0,Un(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Js.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){tn(this)&&this.run()}get dirty(){return tn(this)}}let Jo=0,Ut,Jt;function Wo(e,t=!1){if(e.flags|=8,t){e.next=Jt,Jt=e;return}e.next=Ut,Ut=e}function An(){Jo++}function Sn(){if(--Jo>0)return;if(Jt){let t=Jt;for(Jt=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;Ut;){let t=Ut;for(Ut=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=s}}if(e)throw e}function zo(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function qo(e){let t,s=e.depsTail,n=s;for(;n;){const o=n.prevDep;n.version===-1?(n===s&&(s=o),wn(n),li(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=o}e.deps=t,e.depsTail=s}function tn(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Go(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Go(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Xt)||(e.globalVersion=Xt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!tn(e))))return;e.flags|=2;const t=e.dep,s=le,n=je;le=e,je=!0;try{zo(e);const o=e.fn(e._value);(t.version===0||We(o,e._value))&&(e.flags|=128,e._value=o,t.version++)}catch(o){throw t.version++,o}finally{le=s,je=n,qo(e),e.flags&=-3}}function wn(e,t=!1){const{dep:s,prevSub:n,nextSub:o}=e;if(n&&(n.nextSub=o,e.prevSub=void 0),o&&(o.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let r=s.computed.deps;r;r=r.nextDep)wn(r,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function li(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let je=!0;const Xo=[];function nt(){Xo.push(je),je=!1}function ot(){const e=Xo.pop();je=e===void 0?!0:e}function Un(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=le;le=void 0;try{t()}finally{le=s}}}let Xt=0;class ci{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Fn{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!le||!je||le===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==le)s=this.activeLink=new ci(le,this),le.deps?(s.prevDep=le.depsTail,le.depsTail.nextDep=s,le.depsTail=s):le.deps=le.depsTail=s,Yo(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const n=s.nextDep;n.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=n),s.prevDep=le.depsTail,s.nextDep=void 0,le.depsTail.nextDep=s,le.depsTail=s,le.deps===s&&(le.deps=n)}return s}trigger(t){this.version++,Xt++,this.notify(t)}notify(t){An();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{Sn()}}}function Yo(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)Yo(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const sn=new WeakMap,St=Symbol(""),nn=Symbol(""),Yt=Symbol("");function xe(e,t,s){if(je&&le){let n=sn.get(e);n||sn.set(e,n=new Map);let o=n.get(s);o||(n.set(s,o=new Fn),o.map=n,o.key=s),o.track()}}function tt(e,t,s,n,o,r){const i=sn.get(e);if(!i){Xt++;return}const l=c=>{c&&c.trigger()};if(An(),t==="clear")i.forEach(l);else{const c=H(e),f=c&&xn(s);if(c&&s==="length"){const a=Number(n);i.forEach((h,b)=>{(b==="length"||b===Yt||!Ge(b)&&b>=a)&&l(h)})}else switch((s!==void 0||i.has(void 0))&&l(i.get(s)),f&&l(i.get(Yt)),t){case"add":c?f&&l(i.get("length")):(l(i.get(St)),$t(e)&&l(i.get(nn)));break;case"delete":c||(l(i.get(St)),$t(e)&&l(i.get(nn)));break;case"set":$t(e)&&l(i.get(St));break}}Sn()}function kt(e){const t=X(e);return t===e?t:(xe(t,"iterate",Yt),Pe(e)?t:t.map(De))}function Ps(e){return xe(e=X(e),"iterate",Yt),e}function Ue(e,t){return rt(e)?Mt(wt(e)?De(t):t):De(t)}const ai={__proto__:null,[Symbol.iterator](){return Ws(this,Symbol.iterator,e=>Ue(this,e))},concat(...e){return kt(this).concat(...e.map(t=>H(t)?kt(t):t))},entries(){return Ws(this,"entries",e=>(e[1]=Ue(this,e[1]),e))},every(e,t){return Ye(this,"every",e,t,void 0,arguments)},filter(e,t){return Ye(this,"filter",e,t,s=>s.map(n=>Ue(this,n)),arguments)},find(e,t){return Ye(this,"find",e,t,s=>Ue(this,s),arguments)},findIndex(e,t){return Ye(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ye(this,"findLast",e,t,s=>Ue(this,s),arguments)},findLastIndex(e,t){return Ye(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ye(this,"forEach",e,t,void 0,arguments)},includes(...e){return zs(this,"includes",e)},indexOf(...e){return zs(this,"indexOf",e)},join(e){return kt(this).join(e)},lastIndexOf(...e){return zs(this,"lastIndexOf",e)},map(e,t){return Ye(this,"map",e,t,void 0,arguments)},pop(){return It(this,"pop")},push(...e){return It(this,"push",e)},reduce(e,...t){return Jn(this,"reduce",e,t)},reduceRight(e,...t){return Jn(this,"reduceRight",e,t)},shift(){return It(this,"shift")},some(e,t){return Ye(this,"some",e,t,void 0,arguments)},splice(...e){return It(this,"splice",e)},toReversed(){return kt(this).toReversed()},toSorted(e){return kt(this).toSorted(e)},toSpliced(...e){return kt(this).toSpliced(...e)},unshift(...e){return It(this,"unshift",e)},values(){return Ws(this,"values",e=>Ue(this,e))}};function Ws(e,t,s){const n=Ps(e),o=n[t]();return n!==e&&!Pe(e)&&(o._next=o.next,o.next=()=>{const r=o._next();return r.done||(r.value=s(r.value)),r}),o}const ui=Array.prototype;function Ye(e,t,s,n,o,r){const i=Ps(e),l=i!==e&&!Pe(e),c=i[t];if(c!==ui[t]){const h=c.apply(e,r);return l?De(h):h}let f=s;i!==e&&(l?f=function(h,b){return s.call(this,Ue(e,h),b,e)}:s.length>2&&(f=function(h,b){return s.call(this,h,b,e)}));const a=c.call(i,f,n);return l&&o?o(a):a}function Jn(e,t,s,n){const o=Ps(e),r=o!==e&&!Pe(e);let i=s,l=!1;o!==e&&(r?(l=n.length===0,i=function(f,a,h){return l&&(l=!1,f=Ue(e,f)),s.call(this,f,Ue(e,a),h,e)}):s.length>3&&(i=function(f,a,h){return s.call(this,f,a,h,e)}));const c=o[t](i,...n);return l?Ue(e,c):c}function zs(e,t,s){const n=X(e);xe(n,"iterate",Yt);const o=n[t](...s);return(o===-1||o===!1)&&En(s[0])?(s[0]=X(s[0]),n[t](...s)):o}function It(e,t,s=[]){nt(),An();const n=X(e)[t].apply(e,s);return Sn(),ot(),n}const fi=vn("__proto__,__v_isRef,__isVue"),Qo=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ge));function di(e){Ge(e)||(e=String(e));const t=X(this);return xe(t,"has",e),t.hasOwnProperty(e)}class Zo{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){if(s==="__v_skip")return t.__v_skip;const o=this._isReadonly,r=this._isShallow;if(s==="__v_isReactive")return!o;if(s==="__v_isReadonly")return o;if(s==="__v_isShallow")return r;if(s==="__v_raw")return n===(o?r?Ai:nr:r?sr:tr).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const i=H(t);if(!o){let c;if(i&&(c=ai[s]))return c;if(s==="hasOwnProperty")return di}const l=Reflect.get(t,s,be(t)?t:n);if((Ge(s)?Qo.has(s):fi(s))||(o||xe(t,"get",s),r))return l;if(be(l)){const c=i&&xn(s)?l:l.value;return o&&ee(c)?rn(c):c}return ee(l)?o?rn(l):Ms(l):l}}class er extends Zo{constructor(t=!1){super(!1,t)}set(t,s,n,o){let r=t[s];const i=H(t)&&xn(s);if(!this._isShallow){const f=rt(r);if(!Pe(n)&&!rt(n)&&(r=X(r),n=X(n)),!i&&be(r)&&!be(n))return f||(r.value=n),!0}const l=i?Number(s)<t.length:Z(t,s),c=Reflect.set(t,s,n,be(t)?t:o);return t===X(o)&&(l?We(n,r)&&tt(t,"set",s,n):tt(t,"add",s,n)),c}deleteProperty(t,s){const n=Z(t,s);t[s];const o=Reflect.deleteProperty(t,s);return o&&n&&tt(t,"delete",s,void 0),o}has(t,s){const n=Reflect.has(t,s);return(!Ge(s)||!Qo.has(s))&&xe(t,"has",s),n}ownKeys(t){return xe(t,"iterate",H(t)?"length":St),Reflect.ownKeys(t)}}class pi extends Zo{constructor(t=!1){super(!0,t)}set(t,s){return!0}deleteProperty(t,s){return!0}}const hi=new er,gi=new pi,mi=new er(!0);const on=e=>e,as=e=>Reflect.getPrototypeOf(e);function vi(e,t,s){return function(...n){const o=this.__v_raw,r=X(o),i=$t(r),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,f=o[e](...n),a=s?on:t?Mt:De;return!t&&xe(r,"iterate",c?nn:St),me(Object.create(f),{next(){const{value:h,done:b}=f.next();return b?{value:h,done:b}:{value:l?[a(h[0]),a(h[1])]:a(h),done:b}}})}}function us(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function yi(e,t){const s={get(o){const r=this.__v_raw,i=X(r),l=X(o);e||(We(o,l)&&xe(i,"get",o),xe(i,"get",l));const{has:c}=as(i),f=t?on:e?Mt:De;if(c.call(i,o))return f(r.get(o));if(c.call(i,l))return f(r.get(l));r!==i&&r.get(o)},get size(){const o=this.__v_raw;return!e&&xe(X(o),"iterate",St),o.size},has(o){const r=this.__v_raw,i=X(r),l=X(o);return e||(We(o,l)&&xe(i,"has",o),xe(i,"has",l)),o===l?r.has(o):r.has(o)||r.has(l)},forEach(o,r){const i=this,l=i.__v_raw,c=X(l),f=t?on:e?Mt:De;return!e&&xe(c,"iterate",St),l.forEach((a,h)=>o.call(r,f(a),f(h),i))}};return me(s,e?{add:us("add"),set:us("set"),delete:us("delete"),clear:us("clear")}:{add(o){const r=X(this),i=as(r),l=X(o),c=!t&&!Pe(o)&&!rt(o)?l:o;return i.has.call(r,c)||We(o,c)&&i.has.call(r,o)||We(l,c)&&i.has.call(r,l)||(r.add(c),tt(r,"add",c,c)),this},set(o,r){!t&&!Pe(r)&&!rt(r)&&(r=X(r));const i=X(this),{has:l,get:c}=as(i);let f=l.call(i,o);f||(o=X(o),f=l.call(i,o));const a=c.call(i,o);return i.set(o,r),f?We(r,a)&&tt(i,"set",o,r):tt(i,"add",o,r),this},delete(o){const r=X(this),{has:i,get:l}=as(r);let c=i.call(r,o);c||(o=X(o),c=i.call(r,o)),l&&l.call(r,o);const f=r.delete(o);return c&&tt(r,"delete",o,void 0),f},clear(){const o=X(this),r=o.size!==0,i=o.clear();return r&&tt(o,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(o=>{s[o]=vi(o,e,t)}),s}function kn(e,t){const s=yi(e,t);return(n,o,r)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?n:Reflect.get(Z(s,o)&&o in n?s:n,o,r)}const xi={get:kn(!1,!1)},bi={get:kn(!1,!0)},_i={get:kn(!0,!1)};const tr=new WeakMap,sr=new WeakMap,nr=new WeakMap,Ai=new WeakMap;function Si(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function wi(e){return e.__v_skip||!Object.isExtensible(e)?0:Si(qr(e))}function Ms(e){return rt(e)?e:Cn(e,!1,hi,xi,tr)}function Fi(e){return Cn(e,!1,mi,bi,sr)}function rn(e){return Cn(e,!0,gi,_i,nr)}function Cn(e,t,s,n,o){if(!ee(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const r=wi(e);if(r===0)return e;const i=o.get(e);if(i)return i;const l=new Proxy(e,r===2?n:s);return o.set(e,l),l}function wt(e){return rt(e)?wt(e.__v_raw):!!(e&&e.__v_isReactive)}function rt(e){return!!(e&&e.__v_isReadonly)}function Pe(e){return!!(e&&e.__v_isShallow)}function En(e){return e?!!e.__v_raw:!1}function X(e){const t=e&&e.__v_raw;return t?X(t):e}function ki(e){return!Z(e,"__v_skip")&&Object.isExtensible(e)&&Ro(e,"__v_skip",!0),e}const De=e=>ee(e)?Ms(e):e,Mt=e=>ee(e)?rn(e):e;function be(e){return e?e.__v_isRef===!0:!1}function pe(e){return Ci(e,!1)}function Ci(e,t){return be(e)?e:new Ei(e,t)}class Ei{constructor(t,s){this.dep=new Fn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:X(t),this._value=s?t:De(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,n=this.__v_isShallow||Pe(t)||rt(t);t=n?t:X(t),We(t,s)&&(this._rawValue=t,this._value=n?t:De(t),this.dep.trigger())}}function ce(e){return be(e)?e.value:e}const Bi={get:(e,t,s)=>t==="__v_raw"?e:ce(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const o=e[t];return be(o)&&!be(s)?(o.value=s,!0):Reflect.set(e,t,s,n)}};function or(e){return wt(e)?e:new Proxy(e,Bi)}class $i{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new Fn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Xt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&le!==this)return Wo(this,!0),!0}get value(){const t=this.dep.track();return Go(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Ti(e,t,s=!1){let n,o;return K(e)?n=e:(n=e.get,o=e.set),new $i(n,o,s)}const fs={},xs=new WeakMap;let bt;function Pi(e,t=!1,s=bt){if(s){let n=xs.get(s);n||xs.set(s,n=[]),n.push(e)}}function Mi(e,t,s=ne){const{immediate:n,deep:o,once:r,scheduler:i,augmentJob:l,call:c}=s,f=T=>o?T:Pe(T)||o===!1||o===0?st(T,1):st(T);let a,h,b,S,v=!1,p=!1;if(be(e)?(h=()=>e.value,v=Pe(e)):wt(e)?(h=()=>f(e),v=!0):H(e)?(p=!0,v=e.some(T=>wt(T)||Pe(T)),h=()=>e.map(T=>{if(be(T))return T.value;if(wt(T))return f(T);if(K(T))return c?c(T,2):T()})):K(e)?t?h=c?()=>c(e,2):e:h=()=>{if(b){nt();try{b()}finally{ot()}}const T=bt;bt=a;try{return c?c(e,3,[S]):e(S)}finally{bt=T}}:h=ze,t&&o){const T=h,_=o===!0?1/0:o;h=()=>st(T(),_)}const y=ii(),m=()=>{a.stop(),y&&y.active&&yn(y.effects,a)};if(r&&t){const T=t;t=(..._)=>{T(..._),m()}}let A=p?new Array(e.length).fill(fs):fs;const D=T=>{if(!(!(a.flags&1)||!a.dirty&&!T))if(t){const _=a.run();if(o||v||(p?_.some((M,W)=>We(M,A[W])):We(_,A))){b&&b();const M=bt;bt=a;try{const W=[_,A===fs?void 0:p&&A[0]===fs?[]:A,S];A=_,c?c(t,3,W):t(...W)}finally{bt=M}}}else a.run()};return l&&l(D),a=new Uo(h),a.scheduler=i?()=>i(D,!1):D,S=T=>Pi(T,!1,a),b=a.onStop=()=>{const T=xs.get(a);if(T){if(c)c(T,4);else for(const _ of T)_();xs.delete(a)}},t?n?D(!0):A=a.run():i?i(D.bind(null,!0),!0):a.run(),m.pause=a.pause.bind(a),m.resume=a.resume.bind(a),m.stop=m,m}function st(e,t=1/0,s){if(t<=0||!ee(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,be(e))st(e.value,t,s);else if(H(e))for(let n=0;n<e.length;n++)st(e[n],t,s);else if(Do(e)||$t(e))e.forEach(n=>{st(n,t,s)});else if(Io(e)){for(const n in e)st(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&st(e[n],t,s)}return e}/**
|
|
10
|
+
* @vue/runtime-core v3.5.32
|
|
11
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
12
|
+
* @license MIT
|
|
13
|
+
**/function os(e,t,s,n){try{return n?e(...n):e()}catch(o){js(o,t,s)}}function Oe(e,t,s,n){if(K(e)){const o=os(e,t,s,n);return o&&Oo(o)&&o.catch(r=>{js(r,t,s)}),o}if(H(e)){const o=[];for(let r=0;r<e.length;r++)o.push(Oe(e[r],t,s,n));return o}}function js(e,t,s,n=!0){const o=t?t.vnode:null,{errorHandler:r,throwUnhandledErrorInProduction:i}=t&&t.appContext.config||ne;if(t){let l=t.parent;const c=t.proxy,f=`https://vuejs.org/error-reference/#runtime-${s}`;for(;l;){const a=l.ec;if(a){for(let h=0;h<a.length;h++)if(a[h](e,c,f)===!1)return}l=l.parent}if(r){nt(),os(r,null,10,[e,c,f]),ot();return}}ji(e,s,o,n,i)}function ji(e,t,s,n=!0,o=!1){if(o)throw e;console.error(e)}const Se=[];let Ve=-1;const Tt=[];let ct=null,Ct=0;const rr=Promise.resolve();let bs=null;function Ds(e){const t=bs||rr;return e?t.then(this?e.bind(this):e):t}function Di(e){let t=Ve+1,s=Se.length;for(;t<s;){const n=t+s>>>1,o=Se[n],r=Qt(o);r<e||r===e&&o.flags&2?t=n+1:s=n}return t}function Bn(e){if(!(e.flags&1)){const t=Qt(e),s=Se[Se.length-1];!s||!(e.flags&2)&&t>=Qt(s)?Se.push(e):Se.splice(Di(t),0,e),e.flags|=1,ir()}}function ir(){bs||(bs=rr.then(cr))}function Oi(e){H(e)?Tt.push(...e):ct&&e.id===-1?ct.splice(Ct+1,0,e):e.flags&1||(Tt.push(e),e.flags|=1),ir()}function Wn(e,t,s=Ve+1){for(;s<Se.length;s++){const n=Se[s];if(n&&n.flags&2){if(e&&n.id!==e.uid)continue;Se.splice(s,1),s--,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function lr(e){if(Tt.length){const t=[...new Set(Tt)].sort((s,n)=>Qt(s)-Qt(n));if(Tt.length=0,ct){ct.push(...t);return}for(ct=t,Ct=0;Ct<ct.length;Ct++){const s=ct[Ct];s.flags&4&&(s.flags&=-2),s.flags&8||s(),s.flags&=-2}ct=null,Ct=0}}const Qt=e=>e.id==null?e.flags&2?-1:1/0:e.id;function cr(e){try{for(Ve=0;Ve<Se.length;Ve++){const t=Se[Ve];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),os(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Ve<Se.length;Ve++){const t=Se[Ve];t&&(t.flags&=-2)}Ve=-1,Se.length=0,lr(),bs=null,(Se.length||Tt.length)&&cr()}}let Te=null,ar=null;function _s(e){const t=Te;return Te=e,ar=e&&e.type.__scopeId||null,t}function As(e,t=Te,s){if(!t||e._n)return e;const n=(...o)=>{n._d&&Fs(-1);const r=_s(t);let i;try{i=e(...o)}finally{_s(r),n._d&&Fs(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function $n(e,t){if(Te===null)return e;const s=Hs(Te),n=e.dirs||(e.dirs=[]);for(let o=0;o<t.length;o++){let[r,i,l,c=ne]=t[o];r&&(K(r)&&(r={mounted:r,updated:r}),r.deep&&st(i),n.push({dir:r,instance:s,value:i,oldValue:void 0,arg:l,modifiers:c}))}return e}function gt(e,t,s,n){const o=e.dirs,r=t&&t.dirs;for(let i=0;i<o.length;i++){const l=o[i];r&&(l.oldValue=r[i].value);let c=l.dir[n];c&&(nt(),Oe(c,s,8,[e.el,l,e,t]),ot())}}function Li(e,t){if(Fe){let s=Fe.provides;const n=Fe.parent&&Fe.parent.provides;n===s&&(s=Fe.provides=Object.create(n)),s[e]=t}}function gs(e,t,s=!1){const n=Rr();if(n||Pt){let o=Pt?Pt._context.provides:n?n.parent==null||n.ce?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(o&&e in o)return o[e];if(arguments.length>1)return s&&K(t)?t.call(n&&n.proxy):t}}const Ii=Symbol.for("v-scx"),Ni=()=>gs(Ii);function at(e,t,s){return ur(e,t,s)}function ur(e,t,s=ne){const{immediate:n,deep:o,flush:r,once:i}=s,l=me({},s),c=t&&n||!t&&r!=="post";let f;if(ts){if(r==="sync"){const S=Ni();f=S.__watcherHandles||(S.__watcherHandles=[])}else if(!c){const S=()=>{};return S.stop=ze,S.resume=ze,S.pause=ze,S}}const a=Fe;l.call=(S,v,p)=>Oe(S,a,v,p);let h=!1;r==="post"?l.scheduler=S=>{Ae(S,a&&a.suspense)}:r!=="sync"&&(h=!0,l.scheduler=(S,v)=>{v?S():Bn(S)}),l.augmentJob=S=>{t&&(S.flags|=4),h&&(S.flags|=2,a&&(S.id=a.uid,S.i=a))};const b=Mi(e,t,l);return ts&&(f?f.push(b):c&&b()),b}function Ri(e,t,s){const n=this.proxy,o=fe(e)?e.includes(".")?fr(n,e):()=>n[e]:e.bind(n,n);let r;K(t)?r=t:(r=t.handler,s=t);const i=is(this),l=ur(o,r.bind(n),s);return i(),l}function fr(e,t){const s=t.split(".");return()=>{let n=e;for(let o=0;o<s.length&&n;o++)n=n[s[o]];return n}}const mt=new WeakMap,dr=Symbol("_vte"),pr=e=>e.__isTeleport,_t=e=>e&&(e.disabled||e.disabled===""),Hi=e=>e&&(e.defer||e.defer===""),zn=e=>typeof SVGElement<"u"&&e instanceof SVGElement,qn=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,ln=(e,t)=>{const s=e&&e.to;return fe(s)?t?t(s):null:s},Vi={name:"Teleport",__isTeleport:!0,process(e,t,s,n,o,r,i,l,c,f){const{mc:a,pc:h,pbc:b,o:{insert:S,querySelector:v,createText:p,createComment:y}}=f,m=_t(t.props);let{dynamicChildren:A}=t;const D=(M,W,q)=>{M.shapeFlag&16&&a(M.children,W,q,o,r,i,l,c)},T=(M=t)=>{const W=_t(M.props),q=M.target=ln(M.props,v),N=cn(q,M,p,S);q&&(i!=="svg"&&zn(q)?i="svg":i!=="mathml"&&qn(q)&&(i="mathml"),o&&o.isCE&&(o.ce._teleportTargets||(o.ce._teleportTargets=new Set)).add(q),W||(D(M,q,N),Ht(M,!1)))},_=M=>{const W=()=>{mt.get(M)===W&&(mt.delete(M),_t(M.props)&&(D(M,s,M.anchor),Ht(M,!0)),T(M))};mt.set(M,W),Ae(W,r)};if(e==null){const M=t.el=p(""),W=t.anchor=p("");if(S(M,s,n),S(W,s,n),Hi(t.props)||r&&r.pendingBranch){_(t);return}m&&(D(t,s,W),Ht(t,!0)),T()}else{t.el=e.el;const M=t.anchor=e.anchor,W=mt.get(e);if(W){W.flags|=8,mt.delete(e),_(t);return}t.targetStart=e.targetStart;const q=t.target=e.target,N=t.targetAnchor=e.targetAnchor,z=_t(e.props),Q=z?s:q,L=z?M:N;if(i==="svg"||zn(q)?i="svg":(i==="mathml"||qn(q))&&(i="mathml"),A?(b(e.dynamicChildren,A,Q,o,r,i,l),Mn(e,t,!0)):c||h(e,t,Q,L,o,r,i,l,!1),m)z?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):ds(t,s,M,f,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const te=t.target=ln(t.props,v);te&&ds(t,te,null,f,0)}else z&&ds(t,q,N,f,1);Ht(t,m)}},remove(e,t,s,{um:n,o:{remove:o}},r){const{shapeFlag:i,children:l,anchor:c,targetStart:f,targetAnchor:a,target:h,props:b}=e;let S=r||!_t(b);const v=mt.get(e);if(v&&(v.flags|=8,mt.delete(e),S=!1),h&&(o(f),o(a)),r&&o(c),i&16)for(let p=0;p<l.length;p++){const y=l[p];n(y,t,s,S,!!y.dynamicChildren)}},move:ds,hydrate:Ki};function ds(e,t,s,{o:{insert:n},m:o},r=2){r===0&&n(e.targetAnchor,t,s);const{el:i,anchor:l,shapeFlag:c,children:f,props:a}=e,h=r===2;if(h&&n(i,t,s),(!h||_t(a))&&c&16)for(let b=0;b<f.length;b++)o(f[b],t,s,2);h&&n(l,t,s)}function Ki(e,t,s,n,o,r,{o:{nextSibling:i,parentNode:l,querySelector:c,insert:f,createText:a}},h){function b(y,m){let A=m;for(;A;){if(A&&A.nodeType===8){if(A.data==="teleport start anchor")t.targetStart=A;else if(A.data==="teleport anchor"){t.targetAnchor=A,y._lpa=t.targetAnchor&&i(t.targetAnchor);break}}A=i(A)}}function S(y,m){m.anchor=h(i(y),m,l(y),s,n,o,r)}const v=t.target=ln(t.props,c),p=_t(t.props);if(v){const y=v._lpa||v.firstChild;t.shapeFlag&16&&(p?(S(e,t),b(v,y),t.targetAnchor||cn(v,t,a,f,l(e)===v?e:null)):(t.anchor=i(e),b(v,y),t.targetAnchor||cn(v,t,a,f),h(y&&i(y),t,v,s,n,o,r))),Ht(t,p)}else p&&t.shapeFlag&16&&(S(e,t),t.targetStart=e,t.targetAnchor=i(e));return t.anchor&&i(t.anchor)}const Ui=Vi;function Ht(e,t){const s=e.ctx;if(s&&s.ut){let n,o;for(t?(n=e.el,o=e.anchor):(n=e.targetStart,o=e.targetAnchor);n&&n!==o;)n.nodeType===1&&n.setAttribute("data-v-owner",s.uid),n=n.nextSibling;s.ut()}}function cn(e,t,s,n,o=null){const r=t.targetStart=s(""),i=t.targetAnchor=s("");return r[dr]=i,e&&(n(r,e,o),n(i,e,o)),i}const Ke=Symbol("_leaveCb"),Nt=Symbol("_enterCb");function Ji(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return rs(()=>{e.isMounted=!0}),_r(()=>{e.isUnmounting=!0}),e}const $e=[Function,Array],hr={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:$e,onEnter:$e,onAfterEnter:$e,onEnterCancelled:$e,onBeforeLeave:$e,onLeave:$e,onAfterLeave:$e,onLeaveCancelled:$e,onBeforeAppear:$e,onAppear:$e,onAfterAppear:$e,onAppearCancelled:$e},gr=e=>{const t=e.subTree;return t.component?gr(t.component):t},Wi={name:"BaseTransition",props:hr,setup(e,{slots:t}){const s=Rr(),n=Ji();return()=>{const o=t.default&&yr(t.default(),!0);if(!o||!o.length)return;const r=mr(o),i=X(e),{mode:l}=i;if(n.isLeaving)return qs(r);const c=Gn(r);if(!c)return qs(r);let f=an(c,i,n,s,h=>f=h);c.type!==we&&Zt(c,f);let a=s.subTree&&Gn(s.subTree);if(a&&a.type!==we&&!At(a,c)&&gr(s).type!==we){let h=an(a,i,n,s);if(Zt(a,h),l==="out-in"&&c.type!==we)return n.isLeaving=!0,h.afterLeave=()=>{n.isLeaving=!1,s.job.flags&8||s.update(),delete h.afterLeave,a=void 0},qs(r);l==="in-out"&&c.type!==we?h.delayLeave=(b,S,v)=>{const p=vr(n,a);p[String(a.key)]=a,b[Ke]=()=>{S(),b[Ke]=void 0,delete f.delayedLeave,a=void 0},f.delayedLeave=()=>{v(),delete f.delayedLeave,a=void 0}}:a=void 0}else a&&(a=void 0);return r}}};function mr(e){let t=e[0];if(e.length>1){for(const s of e)if(s.type!==we){t=s;break}}return t}const zi=Wi;function vr(e,t){const{leavingVNodes:s}=e;let n=s.get(t.type);return n||(n=Object.create(null),s.set(t.type,n)),n}function an(e,t,s,n,o){const{appear:r,mode:i,persisted:l=!1,onBeforeEnter:c,onEnter:f,onAfterEnter:a,onEnterCancelled:h,onBeforeLeave:b,onLeave:S,onAfterLeave:v,onLeaveCancelled:p,onBeforeAppear:y,onAppear:m,onAfterAppear:A,onAppearCancelled:D}=t,T=String(e.key),_=vr(s,e),M=(N,z)=>{N&&Oe(N,n,9,z)},W=(N,z)=>{const Q=z[1];M(N,z),H(N)?N.every(L=>L.length<=1)&&Q():N.length<=1&&Q()},q={mode:i,persisted:l,beforeEnter(N){let z=c;if(!s.isMounted)if(r)z=y||c;else return;N[Ke]&&N[Ke](!0);const Q=_[T];Q&&At(e,Q)&&Q.el[Ke]&&Q.el[Ke](),M(z,[N])},enter(N){if(_[T]===e)return;let z=f,Q=a,L=h;if(!s.isMounted)if(r)z=m||f,Q=A||a,L=D||h;else return;let te=!1;N[Nt]=Xe=>{te||(te=!0,Xe?M(L,[N]):M(Q,[N]),q.delayedLeave&&q.delayedLeave(),N[Nt]=void 0)};const ye=N[Nt].bind(null,!1);z?W(z,[N,ye]):ye()},leave(N,z){const Q=String(e.key);if(N[Nt]&&N[Nt](!0),s.isUnmounting)return z();M(b,[N]);let L=!1;N[Ke]=ye=>{L||(L=!0,z(),ye?M(p,[N]):M(v,[N]),N[Ke]=void 0,_[Q]===e&&delete _[Q])};const te=N[Ke].bind(null,!1);_[Q]=e,S?W(S,[N,te]):te()},clone(N){const z=an(N,t,s,n,o);return o&&o(z),z}};return q}function qs(e){if(Os(e))return e=ft(e),e.children=null,e}function Gn(e){if(!Os(e))return pr(e.type)&&e.children?mr(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:s}=e;if(s){if(t&16)return s[0];if(t&32&&K(s.default))return s.default()}}function Zt(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Zt(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function yr(e,t=!1,s){let n=[],o=0;for(let r=0;r<e.length;r++){let i=e[r];const l=s==null?i.key:String(s)+String(i.key!=null?i.key:r);i.type===he?(i.patchFlag&128&&o++,n=n.concat(yr(i.children,t,l))):(t||i.type!==we)&&n.push(l!=null?ft(i,{key:l}):i)}if(o>1)for(let r=0;r<n.length;r++)n[r].patchFlag=-2;return n}function xr(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Xn(e,t){let s;return!!((s=Object.getOwnPropertyDescriptor(e,t))&&!s.configurable)}const Ss=new WeakMap;function Wt(e,t,s,n,o=!1){if(H(e)){e.forEach((p,y)=>Wt(p,t&&(H(t)?t[y]:t),s,n,o));return}if(zt(n)&&!o){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Wt(e,t,s,n.component.subTree);return}const r=n.shapeFlag&4?Hs(n.component):n.el,i=o?null:r,{i:l,r:c}=e,f=t&&t.r,a=l.refs===ne?l.refs={}:l.refs,h=l.setupState,b=X(h),S=h===ne?jo:p=>Xn(a,p)?!1:Z(b,p),v=(p,y)=>!(y&&Xn(a,y));if(f!=null&&f!==c){if(Yn(t),fe(f))a[f]=null,S(f)&&(h[f]=null);else if(be(f)){const p=t;v(f,p.k)&&(f.value=null),p.k&&(a[p.k]=null)}}if(K(c))os(c,l,12,[i,a]);else{const p=fe(c),y=be(c);if(p||y){const m=()=>{if(e.f){const A=p?S(c)?h[c]:a[c]:v()||!e.k?c.value:a[e.k];if(o)H(A)&&yn(A,r);else if(H(A))A.includes(r)||A.push(r);else if(p)a[c]=[r],S(c)&&(h[c]=a[c]);else{const D=[r];v(c,e.k)&&(c.value=D),e.k&&(a[e.k]=D)}}else p?(a[c]=i,S(c)&&(h[c]=i)):y&&(v(c,e.k)&&(c.value=i),e.k&&(a[e.k]=i))};if(i){const A=()=>{m(),Ss.delete(e)};A.id=-1,Ss.set(e,A),Ae(A,s)}else Yn(e),m()}}}function Yn(e){const t=Ss.get(e);t&&(t.flags|=8,Ss.delete(e))}Ts().requestIdleCallback;Ts().cancelIdleCallback;const zt=e=>!!e.type.__asyncLoader,Os=e=>e.type.__isKeepAlive;function qi(e,t){br(e,"a",t)}function Gi(e,t){br(e,"da",t)}function br(e,t,s=Fe){const n=e.__wdc||(e.__wdc=()=>{let o=s;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Ls(t,n,s),s){let o=s.parent;for(;o&&o.parent;)Os(o.parent.vnode)&&Xi(n,t,s,o),o=o.parent}}function Xi(e,t,s,n){const o=Ls(t,e,n,!0);Is(()=>{yn(n[t],o)},s)}function Ls(e,t,s=Fe,n=!1){if(s){const o=s[e]||(s[e]=[]),r=t.__weh||(t.__weh=(...i)=>{nt();const l=is(s),c=Oe(t,s,e,i);return l(),ot(),c});return n?o.unshift(r):o.push(r),r}}const it=e=>(t,s=Fe)=>{(!ts||e==="sp")&&Ls(e,(...n)=>t(...n),s)},Yi=it("bm"),rs=it("m"),Qi=it("bu"),Zi=it("u"),_r=it("bum"),Is=it("um"),el=it("sp"),tl=it("rtg"),sl=it("rtc");function nl(e,t=Fe){Ls("ec",e,t)}const ol=Symbol.for("v-ndc");function qe(e,t,s,n){let o;const r=s,i=H(e);if(i||fe(e)){const l=i&&wt(e);let c=!1,f=!1;l&&(c=!Pe(e),f=rt(e),e=Ps(e)),o=new Array(e.length);for(let a=0,h=e.length;a<h;a++)o[a]=t(c?f?Mt(De(e[a])):De(e[a]):e[a],a,void 0,r)}else if(typeof e=="number"){o=new Array(e);for(let l=0;l<e;l++)o[l]=t(l+1,l,void 0,r)}else if(ee(e))if(e[Symbol.iterator])o=Array.from(e,(l,c)=>t(l,c,void 0,r));else{const l=Object.keys(e);o=new Array(l.length);for(let c=0,f=l.length;c<f;c++){const a=l[c];o[c]=t(e[a],a,c,r)}}else o=[];return o}const un=e=>e?Hr(e)?Hs(e):un(e.parent):null,qt=me(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>un(e.parent),$root:e=>un(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Sr(e),$forceUpdate:e=>e.f||(e.f=()=>{Bn(e.update)}),$nextTick:e=>e.n||(e.n=Ds.bind(e.proxy)),$watch:e=>Ri.bind(e)}),Gs=(e,t)=>e!==ne&&!e.__isScriptSetup&&Z(e,t),rl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:o,props:r,accessCache:i,type:l,appContext:c}=e;if(t[0]!=="$"){const b=i[t];if(b!==void 0)switch(b){case 1:return n[t];case 2:return o[t];case 4:return s[t];case 3:return r[t]}else{if(Gs(n,t))return i[t]=1,n[t];if(o!==ne&&Z(o,t))return i[t]=2,o[t];if(Z(r,t))return i[t]=3,r[t];if(s!==ne&&Z(s,t))return i[t]=4,s[t];fn&&(i[t]=0)}}const f=qt[t];let a,h;if(f)return t==="$attrs"&&xe(e.attrs,"get",""),f(e);if((a=l.__cssModules)&&(a=a[t]))return a;if(s!==ne&&Z(s,t))return i[t]=4,s[t];if(h=c.config.globalProperties,Z(h,t))return h[t]},set({_:e},t,s){const{data:n,setupState:o,ctx:r}=e;return Gs(o,t)?(o[t]=s,!0):n!==ne&&Z(n,t)?(n[t]=s,!0):Z(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:o,props:r,type:i}},l){let c;return!!(s[l]||e!==ne&&l[0]!=="$"&&Z(e,l)||Gs(t,l)||Z(r,l)||Z(n,l)||Z(qt,l)||Z(o.config.globalProperties,l)||(c=i.__cssModules)&&c[l])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:Z(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function Qn(e){return H(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let fn=!0;function il(e){const t=Sr(e),s=e.proxy,n=e.ctx;fn=!1,t.beforeCreate&&Zn(t.beforeCreate,e,"bc");const{data:o,computed:r,methods:i,watch:l,provide:c,inject:f,created:a,beforeMount:h,mounted:b,beforeUpdate:S,updated:v,activated:p,deactivated:y,beforeDestroy:m,beforeUnmount:A,destroyed:D,unmounted:T,render:_,renderTracked:M,renderTriggered:W,errorCaptured:q,serverPrefetch:N,expose:z,inheritAttrs:Q,components:L,directives:te,filters:ye}=t;if(f&&ll(f,n,null),i)for(const ae in i){const re=i[ae];K(re)&&(n[ae]=re.bind(s))}if(o){const ae=o.call(s,s);ee(ae)&&(e.data=Ms(ae))}if(fn=!0,r)for(const ae in r){const re=r[ae],pt=K(re)?re.bind(s,s):K(re.get)?re.get.bind(s,s):ze,ls=!K(re)&&K(re.set)?re.set.bind(s):ze,ht=ue({get:pt,set:ls});Object.defineProperty(n,ae,{enumerable:!0,configurable:!0,get:()=>ht.value,set:Le=>ht.value=Le})}if(l)for(const ae in l)Ar(l[ae],n,s,ae);if(c){const ae=K(c)?c.call(s):c;Reflect.ownKeys(ae).forEach(re=>{Li(re,ae[re])})}a&&Zn(a,e,"c");function ge(ae,re){H(re)?re.forEach(pt=>ae(pt.bind(s))):re&&ae(re.bind(s))}if(ge(Yi,h),ge(rs,b),ge(Qi,S),ge(Zi,v),ge(qi,p),ge(Gi,y),ge(nl,q),ge(sl,M),ge(tl,W),ge(_r,A),ge(Is,T),ge(el,N),H(z))if(z.length){const ae=e.exposed||(e.exposed={});z.forEach(re=>{Object.defineProperty(ae,re,{get:()=>s[re],set:pt=>s[re]=pt,enumerable:!0})})}else e.exposed||(e.exposed={});_&&e.render===ze&&(e.render=_),Q!=null&&(e.inheritAttrs=Q),L&&(e.components=L),te&&(e.directives=te),N&&xr(e)}function ll(e,t,s=ze){H(e)&&(e=dn(e));for(const n in e){const o=e[n];let r;ee(o)?"default"in o?r=gs(o.from||n,o.default,!0):r=gs(o.from||n):r=gs(o),be(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:i=>r.value=i}):t[n]=r}}function Zn(e,t,s){Oe(H(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function Ar(e,t,s,n){let o=n.includes(".")?fr(s,n):()=>s[n];if(fe(e)){const r=t[e];K(r)&&at(o,r)}else if(K(e))at(o,e.bind(s));else if(ee(e))if(H(e))e.forEach(r=>Ar(r,t,s,n));else{const r=K(e.handler)?e.handler.bind(s):t[e.handler];K(r)&&at(o,r,e)}}function Sr(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:o,optionsCache:r,config:{optionMergeStrategies:i}}=e.appContext,l=r.get(t);let c;return l?c=l:!o.length&&!s&&!n?c=t:(c={},o.length&&o.forEach(f=>ws(c,f,i,!0)),ws(c,t,i)),ee(t)&&r.set(t,c),c}function ws(e,t,s,n=!1){const{mixins:o,extends:r}=t;r&&ws(e,r,s,!0),o&&o.forEach(i=>ws(e,i,s,!0));for(const i in t)if(!(n&&i==="expose")){const l=cl[i]||s&&s[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const cl={data:eo,props:to,emits:to,methods:Vt,computed:Vt,beforeCreate:_e,created:_e,beforeMount:_e,mounted:_e,beforeUpdate:_e,updated:_e,beforeDestroy:_e,beforeUnmount:_e,destroyed:_e,unmounted:_e,activated:_e,deactivated:_e,errorCaptured:_e,serverPrefetch:_e,components:Vt,directives:Vt,watch:ul,provide:eo,inject:al};function eo(e,t){return t?e?function(){return me(K(e)?e.call(this,this):e,K(t)?t.call(this,this):t)}:t:e}function al(e,t){return Vt(dn(e),dn(t))}function dn(e){if(H(e)){const t={};for(let s=0;s<e.length;s++)t[e[s]]=e[s];return t}return e}function _e(e,t){return e?[...new Set([].concat(e,t))]:t}function Vt(e,t){return e?me(Object.create(null),e,t):t}function to(e,t){return e?H(e)&&H(t)?[...new Set([...e,...t])]:me(Object.create(null),Qn(e),Qn(t??{})):t}function ul(e,t){if(!e)return t;if(!t)return e;const s=me(Object.create(null),e);for(const n in t)s[n]=_e(e[n],t[n]);return s}function wr(){return{app:null,config:{isNativeTag:jo,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let fl=0;function dl(e,t){return function(n,o=null){K(n)||(n=me({},n)),o!=null&&!ee(o)&&(o=null);const r=wr(),i=new WeakSet,l=[];let c=!1;const f=r.app={_uid:fl++,_component:n,_props:o,_container:null,_context:r,_instance:null,version:Jl,get config(){return r.config},set config(a){},use(a,...h){return i.has(a)||(a&&K(a.install)?(i.add(a),a.install(f,...h)):K(a)&&(i.add(a),a(f,...h))),f},mixin(a){return r.mixins.includes(a)||r.mixins.push(a),f},component(a,h){return h?(r.components[a]=h,f):r.components[a]},directive(a,h){return h?(r.directives[a]=h,f):r.directives[a]},mount(a,h,b){if(!c){const S=f._ceVNode||Y(n,o);return S.appContext=r,b===!0?b="svg":b===!1&&(b=void 0),e(S,a,b),c=!0,f._container=a,a.__vue_app__=f,Hs(S.component)}},onUnmount(a){l.push(a)},unmount(){c&&(Oe(l,f._instance,16),e(null,f._container),delete f._container.__vue_app__)},provide(a,h){return r.provides[a]=h,f},runWithContext(a){const h=Pt;Pt=f;try{return a()}finally{Pt=h}}};return f}}let Pt=null;const pl=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Me(t)}Modifiers`]||e[`${dt(t)}Modifiers`];function hl(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||ne;let o=s;const r=t.startsWith("update:"),i=r&&pl(n,t.slice(7));i&&(i.trim&&(o=s.map(a=>fe(a)?a.trim():a)),i.number&&(o=s.map(bn)));let l,c=n[l=Ks(t)]||n[l=Ks(Me(t))];!c&&r&&(c=n[l=Ks(dt(t))]),c&&Oe(c,e,6,o);const f=n[l+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Oe(f,e,6,o)}}const gl=new WeakMap;function Fr(e,t,s=!1){const n=s?gl:t.emitsCache,o=n.get(e);if(o!==void 0)return o;const r=e.emits;let i={},l=!1;if(!K(e)){const c=f=>{const a=Fr(f,t,!0);a&&(l=!0,me(i,a))};!s&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!r&&!l?(ee(e)&&n.set(e,null),null):(H(r)?r.forEach(c=>i[c]=null):me(i,r),ee(e)&&n.set(e,i),i)}function Ns(e,t){return!e||!Es(t)?!1:(t=t.slice(2).replace(/Once$/,""),Z(e,t[0].toLowerCase()+t.slice(1))||Z(e,dt(t))||Z(e,t))}function so(e){const{type:t,vnode:s,proxy:n,withProxy:o,propsOptions:[r],slots:i,attrs:l,emit:c,render:f,renderCache:a,props:h,data:b,setupState:S,ctx:v,inheritAttrs:p}=e,y=_s(e);let m,A;try{if(s.shapeFlag&4){const T=o||n,_=T;m=Je(f.call(_,T,a,h,S,b,v)),A=l}else{const T=t;m=Je(T.length>1?T(h,{attrs:l,slots:i,emit:c}):T(h,null)),A=t.props?l:ml(l)}}catch(T){Gt.length=0,js(T,e,1),m=Y(we)}let D=m;if(A&&p!==!1){const T=Object.keys(A),{shapeFlag:_}=D;T.length&&_&7&&(r&&T.some(Bs)&&(A=vl(A,r)),D=ft(D,A,!1,!0))}return s.dirs&&(D=ft(D,null,!1,!0),D.dirs=D.dirs?D.dirs.concat(s.dirs):s.dirs),s.transition&&Zt(D,s.transition),m=D,_s(y),m}const ml=e=>{let t;for(const s in e)(s==="class"||s==="style"||Es(s))&&((t||(t={}))[s]=e[s]);return t},vl=(e,t)=>{const s={};for(const n in e)(!Bs(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function yl(e,t,s){const{props:n,children:o,component:r}=e,{props:i,children:l,patchFlag:c}=t,f=r.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&c>=0){if(c&1024)return!0;if(c&16)return n?no(n,i,f):!!i;if(c&8){const a=t.dynamicProps;for(let h=0;h<a.length;h++){const b=a[h];if(kr(i,n,b)&&!Ns(f,b))return!0}}}else return(o||l)&&(!l||!l.$stable)?!0:n===i?!1:n?i?no(n,i,f):!0:!!i;return!1}function no(e,t,s){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let o=0;o<n.length;o++){const r=n[o];if(kr(t,e,r)&&!Ns(s,r))return!0}return!1}function kr(e,t,s){const n=e[s],o=t[s];return s==="style"&&ee(n)&&ee(o)?!_n(n,o):n!==o}function xl({vnode:e,parent:t,suspense:s},n){for(;t;){const o=t.subTree;if(o.suspense&&o.suspense.activeBranch===e&&(o.suspense.vnode.el=o.el=n,e=o),o===e)(e=t.vnode).el=n,t=t.parent;else break}s&&s.activeBranch===e&&(s.vnode.el=n)}const Cr={},Er=()=>Object.create(Cr),Br=e=>Object.getPrototypeOf(e)===Cr;function bl(e,t,s,n=!1){const o={},r=Er();e.propsDefaults=Object.create(null),$r(e,t,o,r);for(const i in e.propsOptions[0])i in o||(o[i]=void 0);s?e.props=n?o:Fi(o):e.type.props?e.props=o:e.props=r,e.attrs=r}function _l(e,t,s,n){const{props:o,attrs:r,vnode:{patchFlag:i}}=e,l=X(o),[c]=e.propsOptions;let f=!1;if((n||i>0)&&!(i&16)){if(i&8){const a=e.vnode.dynamicProps;for(let h=0;h<a.length;h++){let b=a[h];if(Ns(e.emitsOptions,b))continue;const S=t[b];if(c)if(Z(r,b))S!==r[b]&&(r[b]=S,f=!0);else{const v=Me(b);o[v]=pn(c,l,v,S,e,!1)}else S!==r[b]&&(r[b]=S,f=!0)}}}else{$r(e,t,o,r)&&(f=!0);let a;for(const h in l)(!t||!Z(t,h)&&((a=dt(h))===h||!Z(t,a)))&&(c?s&&(s[h]!==void 0||s[a]!==void 0)&&(o[h]=pn(c,l,h,void 0,e,!0)):delete o[h]);if(r!==l)for(const h in r)(!t||!Z(t,h))&&(delete r[h],f=!0)}f&&tt(e.attrs,"set","")}function $r(e,t,s,n){const[o,r]=e.propsOptions;let i=!1,l;if(t)for(let c in t){if(Kt(c))continue;const f=t[c];let a;o&&Z(o,a=Me(c))?!r||!r.includes(a)?s[a]=f:(l||(l={}))[a]=f:Ns(e.emitsOptions,c)||(!(c in n)||f!==n[c])&&(n[c]=f,i=!0)}if(r){const c=X(s),f=l||ne;for(let a=0;a<r.length;a++){const h=r[a];s[h]=pn(o,c,h,f[h],e,!Z(f,h))}}return i}function pn(e,t,s,n,o,r){const i=e[s];if(i!=null){const l=Z(i,"default");if(l&&n===void 0){const c=i.default;if(i.type!==Function&&!i.skipFactory&&K(c)){const{propsDefaults:f}=o;if(s in f)n=f[s];else{const a=is(o);n=f[s]=c.call(null,t),a()}}else n=c;o.ce&&o.ce._setProp(s,n)}i[0]&&(r&&!l?n=!1:i[1]&&(n===""||n===dt(s))&&(n=!0))}return n}const Al=new WeakMap;function Tr(e,t,s=!1){const n=s?Al:t.propsCache,o=n.get(e);if(o)return o;const r=e.props,i={},l=[];let c=!1;if(!K(e)){const a=h=>{c=!0;const[b,S]=Tr(h,t,!0);me(i,b),S&&l.push(...S)};!s&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!r&&!c)return ee(e)&&n.set(e,Bt),Bt;if(H(r))for(let a=0;a<r.length;a++){const h=Me(r[a]);oo(h)&&(i[h]=ne)}else if(r)for(const a in r){const h=Me(a);if(oo(h)){const b=r[a],S=i[h]=H(b)||K(b)?{type:b}:me({},b),v=S.type;let p=!1,y=!0;if(H(v))for(let m=0;m<v.length;++m){const A=v[m],D=K(A)&&A.name;if(D==="Boolean"){p=!0;break}else D==="String"&&(y=!1)}else p=K(v)&&v.name==="Boolean";S[0]=p,S[1]=y,(p||Z(S,"default"))&&l.push(h)}}const f=[i,l];return ee(e)&&n.set(e,f),f}function oo(e){return e[0]!=="$"&&!Kt(e)}const Tn=e=>e==="_"||e==="_ctx"||e==="$stable",Pn=e=>H(e)?e.map(Je):[Je(e)],Sl=(e,t,s)=>{if(t._n)return t;const n=As((...o)=>Pn(t(...o)),s);return n._c=!1,n},Pr=(e,t,s)=>{const n=e._ctx;for(const o in e){if(Tn(o))continue;const r=e[o];if(K(r))t[o]=Sl(o,r,n);else if(r!=null){const i=Pn(r);t[o]=()=>i}}},Mr=(e,t)=>{const s=Pn(t);e.slots.default=()=>s},jr=(e,t,s)=>{for(const n in t)(s||!Tn(n))&&(e[n]=t[n])},wl=(e,t,s)=>{const n=e.slots=Er();if(e.vnode.shapeFlag&32){const o=t._;o?(jr(n,t,s),s&&Ro(n,"_",o,!0)):Pr(t,n)}else t&&Mr(e,t)},Fl=(e,t,s)=>{const{vnode:n,slots:o}=e;let r=!0,i=ne;if(n.shapeFlag&32){const l=t._;l?s&&l===1?r=!1:jr(o,t,s):(r=!t.$stable,Pr(t,o)),i=t}else t&&(Mr(e,t),i={default:1});if(r)for(const l in o)!Tn(l)&&i[l]==null&&delete o[l]},Ae=$l;function kl(e){return Cl(e)}function Cl(e,t){const s=Ts();s.__VUE__=!0;const{insert:n,remove:o,patchProp:r,createElement:i,createText:l,createComment:c,setText:f,setElementText:a,parentNode:h,nextSibling:b,setScopeId:S=ze,insertStaticContent:v}=e,p=(u,d,x,E=null,w=null,k=null,j=void 0,P=null,$=!!d.dynamicChildren)=>{if(u===d)return;u&&!At(u,d)&&(E=cs(u),Le(u,w,k,!0),u=null),d.patchFlag===-2&&($=!1,d.dynamicChildren=null);const{type:C,ref:R,shapeFlag:O}=d;switch(C){case Rs:y(u,d,x,E);break;case we:m(u,d,x,E);break;case ms:u==null&&A(d,x,E,j);break;case he:L(u,d,x,E,w,k,j,P,$);break;default:O&1?_(u,d,x,E,w,k,j,P,$):O&6?te(u,d,x,E,w,k,j,P,$):(O&64||O&128)&&C.process(u,d,x,E,w,k,j,P,$,Ot)}R!=null&&w?Wt(R,u&&u.ref,k,d||u,!d):R==null&&u&&u.ref!=null&&Wt(u.ref,null,k,u,!0)},y=(u,d,x,E)=>{if(u==null)n(d.el=l(d.children),x,E);else{const w=d.el=u.el;d.children!==u.children&&f(w,d.children)}},m=(u,d,x,E)=>{u==null?n(d.el=c(d.children||""),x,E):d.el=u.el},A=(u,d,x,E)=>{[u.el,u.anchor]=v(u.children,d,x,E,u.el,u.anchor)},D=({el:u,anchor:d},x,E)=>{let w;for(;u&&u!==d;)w=b(u),n(u,x,E),u=w;n(d,x,E)},T=({el:u,anchor:d})=>{let x;for(;u&&u!==d;)x=b(u),o(u),u=x;o(d)},_=(u,d,x,E,w,k,j,P,$)=>{if(d.type==="svg"?j="svg":d.type==="math"&&(j="mathml"),u==null)M(d,x,E,w,k,j,P,$);else{const C=u.el&&u.el._isVueCE?u.el:null;try{C&&C._beginPatch(),N(u,d,w,k,j,P,$)}finally{C&&C._endPatch()}}},M=(u,d,x,E,w,k,j,P)=>{let $,C;const{props:R,shapeFlag:O,transition:I,dirs:V}=u;if($=u.el=i(u.type,k,R&&R.is,R),O&8?a($,u.children):O&16&&q(u.children,$,null,E,w,Xs(u,k),j,P),V&>(u,null,E,"created"),W($,u,u.scopeId,j,E),R){for(const se in R)se!=="value"&&!Kt(se)&&r($,se,null,R[se],k,E);"value"in R&&r($,"value",null,R.value,k),(C=R.onVnodeBeforeMount)&&He(C,E,u)}V&>(u,null,E,"beforeMount");const G=El(w,I);G&&I.beforeEnter($),n($,d,x),((C=R&&R.onVnodeMounted)||G||V)&&Ae(()=>{try{C&&He(C,E,u),G&&I.enter($),V&>(u,null,E,"mounted")}finally{}},w)},W=(u,d,x,E,w)=>{if(x&&S(u,x),E)for(let k=0;k<E.length;k++)S(u,E[k]);if(w){let k=w.subTree;if(d===k||Lr(k.type)&&(k.ssContent===d||k.ssFallback===d)){const j=w.vnode;W(u,j,j.scopeId,j.slotScopeIds,w.parent)}}},q=(u,d,x,E,w,k,j,P,$=0)=>{for(let C=$;C<u.length;C++){const R=u[C]=P?et(u[C]):Je(u[C]);p(null,R,d,x,E,w,k,j,P)}},N=(u,d,x,E,w,k,j)=>{const P=d.el=u.el;let{patchFlag:$,dynamicChildren:C,dirs:R}=d;$|=u.patchFlag&16;const O=u.props||ne,I=d.props||ne;let V;if(x&&vt(x,!1),(V=I.onVnodeBeforeUpdate)&&He(V,x,d,u),R&>(d,u,x,"beforeUpdate"),x&&vt(x,!0),(O.innerHTML&&I.innerHTML==null||O.textContent&&I.textContent==null)&&a(P,""),C?z(u.dynamicChildren,C,P,x,E,Xs(d,w),k):j||re(u,d,P,null,x,E,Xs(d,w),k,!1),$>0){if($&16)Q(P,O,I,x,w);else if($&2&&O.class!==I.class&&r(P,"class",null,I.class,w),$&4&&r(P,"style",O.style,I.style,w),$&8){const G=d.dynamicProps;for(let se=0;se<G.length;se++){const ie=G[se],de=O[ie],ve=I[ie];(ve!==de||ie==="value")&&r(P,ie,de,ve,w,x)}}$&1&&u.children!==d.children&&a(P,d.children)}else!j&&C==null&&Q(P,O,I,x,w);((V=I.onVnodeUpdated)||R)&&Ae(()=>{V&&He(V,x,d,u),R&>(d,u,x,"updated")},E)},z=(u,d,x,E,w,k,j)=>{for(let P=0;P<d.length;P++){const $=u[P],C=d[P],R=$.el&&($.type===he||!At($,C)||$.shapeFlag&198)?h($.el):x;p($,C,R,null,E,w,k,j,!0)}},Q=(u,d,x,E,w)=>{if(d!==x){if(d!==ne)for(const k in d)!Kt(k)&&!(k in x)&&r(u,k,d[k],null,w,E);for(const k in x){if(Kt(k))continue;const j=x[k],P=d[k];j!==P&&k!=="value"&&r(u,k,P,j,w,E)}"value"in x&&r(u,"value",d.value,x.value,w)}},L=(u,d,x,E,w,k,j,P,$)=>{const C=d.el=u?u.el:l(""),R=d.anchor=u?u.anchor:l("");let{patchFlag:O,dynamicChildren:I,slotScopeIds:V}=d;V&&(P=P?P.concat(V):V),u==null?(n(C,x,E),n(R,x,E),q(d.children||[],x,R,w,k,j,P,$)):O>0&&O&64&&I&&u.dynamicChildren&&u.dynamicChildren.length===I.length?(z(u.dynamicChildren,I,x,w,k,j,P),(d.key!=null||w&&d===w.subTree)&&Mn(u,d,!0)):re(u,d,x,R,w,k,j,P,$)},te=(u,d,x,E,w,k,j,P,$)=>{d.slotScopeIds=P,u==null?d.shapeFlag&512?w.ctx.activate(d,x,E,j,$):ye(d,x,E,w,k,j,$):Xe(u,d,$)},ye=(u,d,x,E,w,k,j)=>{const P=u.component=Il(u,E,w);if(Os(u)&&(P.ctx.renderer=Ot),Nl(P,!1,j),P.asyncDep){if(w&&w.registerDep(P,ge,j),!u.el){const $=P.subTree=Y(we);m(null,$,d,x),u.placeholder=$.el}}else ge(P,u,d,x,w,k,j)},Xe=(u,d,x)=>{const E=d.component=u.component;if(yl(u,d,x))if(E.asyncDep&&!E.asyncResolved){ae(E,d,x);return}else E.next=d,E.update();else d.el=u.el,E.vnode=d},ge=(u,d,x,E,w,k,j)=>{const P=()=>{if(u.isMounted){let{next:O,bu:I,u:V,parent:G,vnode:se}=u;{const Ne=Dr(u);if(Ne){O&&(O.el=se.el,ae(u,O,j)),Ne.asyncDep.then(()=>{Ae(()=>{u.isUnmounted||C()},w)});return}}let ie=O,de;vt(u,!1),O?(O.el=se.el,ae(u,O,j)):O=se,I&&hs(I),(de=O.props&&O.props.onVnodeBeforeUpdate)&&He(de,G,O,se),vt(u,!0);const ve=so(u),Ie=u.subTree;u.subTree=ve,p(Ie,ve,h(Ie.el),cs(Ie),u,w,k),O.el=ve.el,ie===null&&xl(u,ve.el),V&&Ae(V,w),(de=O.props&&O.props.onVnodeUpdated)&&Ae(()=>He(de,G,O,se),w)}else{let O;const{el:I,props:V}=d,{bm:G,m:se,parent:ie,root:de,type:ve}=u,Ie=zt(d);vt(u,!1),G&&hs(G),!Ie&&(O=V&&V.onVnodeBeforeMount)&&He(O,ie,d),vt(u,!0);{de.ce&&de.ce._hasShadowRoot()&&de.ce._injectChildStyle(ve,u.parent?u.parent.type:void 0);const Ne=u.subTree=so(u);p(null,Ne,x,E,u,w,k),d.el=Ne.el}if(se&&Ae(se,w),!Ie&&(O=V&&V.onVnodeMounted)){const Ne=d;Ae(()=>He(O,ie,Ne),w)}(d.shapeFlag&256||ie&&zt(ie.vnode)&&ie.vnode.shapeFlag&256)&&u.a&&Ae(u.a,w),u.isMounted=!0,d=x=E=null}};u.scope.on();const $=u.effect=new Uo(P);u.scope.off();const C=u.update=$.run.bind($),R=u.job=$.runIfDirty.bind($);R.i=u,R.id=u.uid,$.scheduler=()=>Bn(R),vt(u,!0),C()},ae=(u,d,x)=>{d.component=u;const E=u.vnode.props;u.vnode=d,u.next=null,_l(u,d.props,E,x),Fl(u,d.children,x),nt(),Wn(u),ot()},re=(u,d,x,E,w,k,j,P,$=!1)=>{const C=u&&u.children,R=u?u.shapeFlag:0,O=d.children,{patchFlag:I,shapeFlag:V}=d;if(I>0){if(I&128){ls(C,O,x,E,w,k,j,P,$);return}else if(I&256){pt(C,O,x,E,w,k,j,P,$);return}}V&8?(R&16&&Dt(C,w,k),O!==C&&a(x,O)):R&16?V&16?ls(C,O,x,E,w,k,j,P,$):Dt(C,w,k,!0):(R&8&&a(x,""),V&16&&q(O,x,E,w,k,j,P,$))},pt=(u,d,x,E,w,k,j,P,$)=>{u=u||Bt,d=d||Bt;const C=u.length,R=d.length,O=Math.min(C,R);let I;for(I=0;I<O;I++){const V=d[I]=$?et(d[I]):Je(d[I]);p(u[I],V,x,null,w,k,j,P,$)}C>R?Dt(u,w,k,!0,!1,O):q(d,x,E,w,k,j,P,$,O)},ls=(u,d,x,E,w,k,j,P,$)=>{let C=0;const R=d.length;let O=u.length-1,I=R-1;for(;C<=O&&C<=I;){const V=u[C],G=d[C]=$?et(d[C]):Je(d[C]);if(At(V,G))p(V,G,x,null,w,k,j,P,$);else break;C++}for(;C<=O&&C<=I;){const V=u[O],G=d[I]=$?et(d[I]):Je(d[I]);if(At(V,G))p(V,G,x,null,w,k,j,P,$);else break;O--,I--}if(C>O){if(C<=I){const V=I+1,G=V<R?d[V].el:E;for(;C<=I;)p(null,d[C]=$?et(d[C]):Je(d[C]),x,G,w,k,j,P,$),C++}}else if(C>I)for(;C<=O;)Le(u[C],w,k,!0),C++;else{const V=C,G=C,se=new Map;for(C=G;C<=I;C++){const Ce=d[C]=$?et(d[C]):Je(d[C]);Ce.key!=null&&se.set(Ce.key,C)}let ie,de=0;const ve=I-G+1;let Ie=!1,Ne=0;const Lt=new Array(ve);for(C=0;C<ve;C++)Lt[C]=0;for(C=V;C<=O;C++){const Ce=u[C];if(de>=ve){Le(Ce,w,k,!0);continue}let Re;if(Ce.key!=null)Re=se.get(Ce.key);else for(ie=G;ie<=I;ie++)if(Lt[ie-G]===0&&At(Ce,d[ie])){Re=ie;break}Re===void 0?Le(Ce,w,k,!0):(Lt[Re-G]=C+1,Re>=Ne?Ne=Re:Ie=!0,p(Ce,d[Re],x,null,w,k,j,P,$),de++)}const Nn=Ie?Bl(Lt):Bt;for(ie=Nn.length-1,C=ve-1;C>=0;C--){const Ce=G+C,Re=d[Ce],Rn=d[Ce+1],Hn=Ce+1<R?Rn.el||Or(Rn):E;Lt[C]===0?p(null,Re,x,Hn,w,k,j,P,$):Ie&&(ie<0||C!==Nn[ie]?ht(Re,x,Hn,2):ie--)}}},ht=(u,d,x,E,w=null)=>{const{el:k,type:j,transition:P,children:$,shapeFlag:C}=u;if(C&6){ht(u.component.subTree,d,x,E);return}if(C&128){u.suspense.move(d,x,E);return}if(C&64){j.move(u,d,x,Ot);return}if(j===he){n(k,d,x);for(let O=0;O<$.length;O++)ht($[O],d,x,E);n(u.anchor,d,x);return}if(j===ms){D(u,d,x);return}if(E!==2&&C&1&&P)if(E===0)P.beforeEnter(k),n(k,d,x),Ae(()=>P.enter(k),w);else{const{leave:O,delayLeave:I,afterLeave:V}=P,G=()=>{u.ctx.isUnmounted?o(k):n(k,d,x)},se=()=>{k._isLeaving&&k[Ke](!0),O(k,()=>{G(),V&&V()})};I?I(k,G,se):se()}else n(k,d,x)},Le=(u,d,x,E=!1,w=!1)=>{const{type:k,props:j,ref:P,children:$,dynamicChildren:C,shapeFlag:R,patchFlag:O,dirs:I,cacheIndex:V,memo:G}=u;if(O===-2&&(w=!1),P!=null&&(nt(),Wt(P,null,x,u,!0),ot()),V!=null&&(d.renderCache[V]=void 0),R&256){d.ctx.deactivate(u);return}const se=R&1&&I,ie=!zt(u);let de;if(ie&&(de=j&&j.onVnodeBeforeUnmount)&&He(de,d,u),R&6)Wr(u.component,x,E);else{if(R&128){u.suspense.unmount(x,E);return}se&>(u,null,d,"beforeUnmount"),R&64?u.type.remove(u,d,x,Ot,E):C&&!C.hasOnce&&(k!==he||O>0&&O&64)?Dt(C,d,x,!1,!0):(k===he&&O&384||!w&&R&16)&&Dt($,d,x),E&&Ln(u)}const ve=G!=null&&V==null;(ie&&(de=j&&j.onVnodeUnmounted)||se||ve)&&Ae(()=>{de&&He(de,d,u),se&>(u,null,d,"unmounted"),ve&&(u.el=null)},x)},Ln=u=>{const{type:d,el:x,anchor:E,transition:w}=u;if(d===he){Jr(x,E);return}if(d===ms){T(u);return}const k=()=>{o(x),w&&!w.persisted&&w.afterLeave&&w.afterLeave()};if(u.shapeFlag&1&&w&&!w.persisted){const{leave:j,delayLeave:P}=w,$=()=>j(x,k);P?P(u.el,k,$):$()}else k()},Jr=(u,d)=>{let x;for(;u!==d;)x=b(u),o(u),u=x;o(d)},Wr=(u,d,x)=>{const{bum:E,scope:w,job:k,subTree:j,um:P,m:$,a:C}=u;ro($),ro(C),E&&hs(E),w.stop(),k&&(k.flags|=8,Le(j,u,d,x)),P&&Ae(P,d),Ae(()=>{u.isUnmounted=!0},d)},Dt=(u,d,x,E=!1,w=!1,k=0)=>{for(let j=k;j<u.length;j++)Le(u[j],d,x,E,w)},cs=u=>{if(u.shapeFlag&6)return cs(u.component.subTree);if(u.shapeFlag&128)return u.suspense.next();const d=b(u.anchor||u.el),x=d&&d[dr];return x?b(x):d};let Vs=!1;const In=(u,d,x)=>{let E;u==null?d._vnode&&(Le(d._vnode,null,null,!0),E=d._vnode.component):p(d._vnode||null,u,d,null,null,null,x),d._vnode=u,Vs||(Vs=!0,Wn(E),lr(),Vs=!1)},Ot={p,um:Le,m:ht,r:Ln,mt:ye,mc:q,pc:re,pbc:z,n:cs,o:e};return{render:In,hydrate:void 0,createApp:dl(In)}}function Xs({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function vt({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function El(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Mn(e,t,s=!1){const n=e.children,o=t.children;if(H(n)&&H(o))for(let r=0;r<n.length;r++){const i=n[r];let l=o[r];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=o[r]=et(o[r]),l.el=i.el),!s&&l.patchFlag!==-2&&Mn(i,l)),l.type===Rs&&(l.patchFlag===-1&&(l=o[r]=et(l)),l.el=i.el),l.type===we&&!l.el&&(l.el=i.el)}}function Bl(e){const t=e.slice(),s=[0];let n,o,r,i,l;const c=e.length;for(n=0;n<c;n++){const f=e[n];if(f!==0){if(o=s[s.length-1],e[o]<f){t[n]=o,s.push(n);continue}for(r=0,i=s.length-1;r<i;)l=r+i>>1,e[s[l]]<f?r=l+1:i=l;f<e[s[r]]&&(r>0&&(t[n]=s[r-1]),s[r]=n)}}for(r=s.length,i=s[r-1];r-- >0;)s[r]=i,i=t[i];return s}function Dr(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Dr(t)}function ro(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Or(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?Or(t.subTree):null}const Lr=e=>e.__isSuspense;function $l(e,t){t&&t.pendingBranch?H(e)?t.effects.push(...e):t.effects.push(e):Oi(e)}const he=Symbol.for("v-fgt"),Rs=Symbol.for("v-txt"),we=Symbol.for("v-cmt"),ms=Symbol.for("v-stc"),Gt=[];let Ee=null;function F(e=!1){Gt.push(Ee=e?null:[])}function Tl(){Gt.pop(),Ee=Gt[Gt.length-1]||null}let es=1;function Fs(e,t=!1){es+=e,e<0&&Ee&&t&&(Ee.hasOnce=!0)}function Ir(e){return e.dynamicChildren=es>0?Ee||Bt:null,Tl(),es>0&&Ee&&Ee.push(e),e}function B(e,t,s,n,o,r){return Ir(g(e,t,s,n,o,r,!0))}function Ft(e,t,s,n,o){return Ir(Y(e,t,s,n,o,!0))}function ks(e){return e?e.__v_isVNode===!0:!1}function At(e,t){return e.type===t.type&&e.key===t.key}const Nr=({key:e})=>e??null,vs=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?fe(e)||be(e)||K(e)?{i:Te,r:e,k:t,f:!!s}:e:null);function g(e,t=null,s=null,n=0,o=null,r=e===he?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Nr(t),ref:t&&vs(t),scopeId:ar,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:n,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:Te};return l?(jn(c,s),r&128&&e.normalize(c)):s&&(c.shapeFlag|=fe(s)?8:16),es>0&&!i&&Ee&&(c.patchFlag>0||r&6)&&c.patchFlag!==32&&Ee.push(c),c}const Y=Pl;function Pl(e,t=null,s=null,n=0,o=null,r=!1){if((!e||e===ol)&&(e=we),ks(e)){const l=ft(e,t,!0);return s&&jn(l,s),es>0&&!r&&Ee&&(l.shapeFlag&6?Ee[Ee.indexOf(e)]=l:Ee.push(l)),l.patchFlag=-2,l}if(Kl(e)&&(e=e.__vccOpts),t){t=Ml(t);let{class:l,style:c}=t;l&&!fe(l)&&(t.class=Be(l)),ee(c)&&(En(c)&&!H(c)&&(c=me({},c)),t.style=oe(c))}const i=fe(e)?1:Lr(e)?128:pr(e)?64:ee(e)?4:K(e)?2:0;return g(e,t,s,n,o,i,r,!0)}function Ml(e){return e?En(e)||Br(e)?me({},e):e:null}function ft(e,t,s=!1,n=!1){const{props:o,ref:r,patchFlag:i,children:l,transition:c}=e,f=t?Dl(o||{},t):o,a={__v_isVNode:!0,__v_skip:!0,type:e.type,props:f,key:f&&Nr(f),ref:t&&t.ref?s&&r?H(r)?r.concat(vs(t)):[r,vs(t)]:vs(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==he?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&ft(e.ssContent),ssFallback:e.ssFallback&&ft(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&n&&Zt(a,c.clone(a)),a}function ut(e=" ",t=0){return Y(Rs,null,e,t)}function jl(e,t){const s=Y(ms,null,e);return s.staticCount=t,s}function J(e="",t=!1){return t?(F(),Ft(we,null,e)):Y(we,null,e)}function Je(e){return e==null||typeof e=="boolean"?Y(we):H(e)?Y(he,null,e.slice()):ks(e)?et(e):Y(Rs,null,String(e))}function et(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ft(e)}function jn(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(H(t))s=16;else if(typeof t=="object")if(n&65){const o=t.default;o&&(o._c&&(o._d=!1),jn(e,o()),o._c&&(o._d=!0));return}else{s=32;const o=t._;!o&&!Br(t)?t._ctx=Te:o===3&&Te&&(Te.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else K(t)?(t={default:t,_ctx:Te},s=32):(t=String(t),n&64?(s=16,t=[ut(t)]):s=8);e.children=t,e.shapeFlag|=s}function Dl(...e){const t={};for(let s=0;s<e.length;s++){const n=e[s];for(const o in n)if(o==="class")t.class!==n.class&&(t.class=Be([t.class,n.class]));else if(o==="style")t.style=oe([t.style,n.style]);else if(Es(o)){const r=t[o],i=n[o];i&&r!==i&&!(H(r)&&r.includes(i))?t[o]=r?[].concat(r,i):i:i==null&&r==null&&!Bs(o)&&(t[o]=i)}else o!==""&&(t[o]=n[o])}return t}function He(e,t,s,n=null){Oe(e,t,7,[s,n])}const Ol=wr();let Ll=0;function Il(e,t,s){const n=e.type,o=(t?t.appContext:e.appContext)||Ol,r={uid:Ll++,vnode:e,type:n,parent:t,appContext:o,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new ri(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(o.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Tr(n,o),emitsOptions:Fr(n,o),emit:null,emitted:null,propsDefaults:ne,inheritAttrs:n.inheritAttrs,ctx:ne,data:ne,props:ne,attrs:ne,slots:ne,refs:ne,setupState:ne,setupContext:null,suspense:s,suspenseId:s?s.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return r.ctx={_:r},r.root=t?t.root:r,r.emit=hl.bind(null,r),e.ce&&e.ce(r),r}let Fe=null;const Rr=()=>Fe||Te;let Cs,hn;{const e=Ts(),t=(s,n)=>{let o;return(o=e[s])||(o=e[s]=[]),o.push(n),r=>{o.length>1?o.forEach(i=>i(r)):o[0](r)}};Cs=t("__VUE_INSTANCE_SETTERS__",s=>Fe=s),hn=t("__VUE_SSR_SETTERS__",s=>ts=s)}const is=e=>{const t=Fe;return Cs(e),e.scope.on(),()=>{e.scope.off(),Cs(t)}},io=()=>{Fe&&Fe.scope.off(),Cs(null)};function Hr(e){return e.vnode.shapeFlag&4}let ts=!1;function Nl(e,t=!1,s=!1){t&&hn(t);const{props:n,children:o}=e.vnode,r=Hr(e);bl(e,n,r,t),wl(e,o,s||t);const i=r?Rl(e,t):void 0;return t&&hn(!1),i}function Rl(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,rl);const{setup:n}=s;if(n){nt();const o=e.setupContext=n.length>1?Vl(e):null,r=is(e),i=os(n,e,0,[e.props,o]),l=Oo(i);if(ot(),r(),(l||e.sp)&&!zt(e)&&xr(e),l){if(i.then(io,io),t)return i.then(c=>{lo(e,c)}).catch(c=>{js(c,e,0)});e.asyncDep=i}else lo(e,i)}else Vr(e)}function lo(e,t,s){K(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ee(t)&&(e.setupState=or(t)),Vr(e)}function Vr(e,t,s){const n=e.type;e.render||(e.render=n.render||ze);{const o=is(e);nt();try{il(e)}finally{ot(),o()}}}const Hl={get(e,t){return xe(e,"get",""),e[t]}};function Vl(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,Hl),slots:e.slots,emit:e.emit,expose:t}}function Hs(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(or(ki(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in qt)return qt[s](e)},has(t,s){return s in t||s in qt}})):e.proxy}function Kl(e){return K(e)&&"__vccOpts"in e}const ue=(e,t)=>Ti(e,t,ts);function Ul(e,t,s){try{Fs(-1);const n=arguments.length;return n===2?ee(t)&&!H(t)?ks(t)?Y(e,null,[t]):Y(e,t):Y(e,null,t):(n>3?s=Array.prototype.slice.call(arguments,2):n===3&&ks(s)&&(s=[s]),Y(e,t,s))}finally{Fs(1)}}const Jl="3.5.32";/**
|
|
14
|
+
* @vue/runtime-dom v3.5.32
|
|
15
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
16
|
+
* @license MIT
|
|
17
|
+
**/let gn;const co=typeof window<"u"&&window.trustedTypes;if(co)try{gn=co.createPolicy("vue",{createHTML:e=>e})}catch{}const Kr=gn?e=>gn.createHTML(e):e=>e,Wl="http://www.w3.org/2000/svg",zl="http://www.w3.org/1998/Math/MathML",Ze=typeof document<"u"?document:null,ao=Ze&&Ze.createElement("template"),ql={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const o=t==="svg"?Ze.createElementNS(Wl,e):t==="mathml"?Ze.createElementNS(zl,e):s?Ze.createElement(e,{is:s}):Ze.createElement(e);return e==="select"&&n&&n.multiple!=null&&o.setAttribute("multiple",n.multiple),o},createText:e=>Ze.createTextNode(e),createComment:e=>Ze.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ze.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,o,r){const i=s?s.previousSibling:t.lastChild;if(o&&(o===r||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),s),!(o===r||!(o=o.nextSibling)););else{ao.innerHTML=Kr(n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e);const l=ao.content;if(n==="svg"||n==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,s)}return[i?i.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},lt="transition",Rt="animation",ss=Symbol("_vtc"),Ur={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Gl=me({},hr,Ur),Xl=e=>(e.displayName="Transition",e.props=Gl,e),mn=Xl((e,{slots:t})=>Ul(zi,Yl(e),t)),yt=(e,t=[])=>{H(e)?e.forEach(s=>s(...t)):e&&e(...t)},uo=e=>e?H(e)?e.some(t=>t.length>1):e.length>1:!1;function Yl(e){const t={};for(const L in e)L in Ur||(t[L]=e[L]);if(e.css===!1)return t;const{name:s="v",type:n,duration:o,enterFromClass:r=`${s}-enter-from`,enterActiveClass:i=`${s}-enter-active`,enterToClass:l=`${s}-enter-to`,appearFromClass:c=r,appearActiveClass:f=i,appearToClass:a=l,leaveFromClass:h=`${s}-leave-from`,leaveActiveClass:b=`${s}-leave-active`,leaveToClass:S=`${s}-leave-to`}=e,v=Ql(o),p=v&&v[0],y=v&&v[1],{onBeforeEnter:m,onEnter:A,onEnterCancelled:D,onLeave:T,onLeaveCancelled:_,onBeforeAppear:M=m,onAppear:W=A,onAppearCancelled:q=D}=t,N=(L,te,ye,Xe)=>{L._enterCancelled=Xe,xt(L,te?a:l),xt(L,te?f:i),ye&&ye()},z=(L,te)=>{L._isLeaving=!1,xt(L,h),xt(L,S),xt(L,b),te&&te()},Q=L=>(te,ye)=>{const Xe=L?W:A,ge=()=>N(te,L,ye);yt(Xe,[te,ge]),fo(()=>{xt(te,L?c:r),Qe(te,L?a:l),uo(Xe)||po(te,n,p,ge)})};return me(t,{onBeforeEnter(L){yt(m,[L]),Qe(L,r),Qe(L,i)},onBeforeAppear(L){yt(M,[L]),Qe(L,c),Qe(L,f)},onEnter:Q(!1),onAppear:Q(!0),onLeave(L,te){L._isLeaving=!0;const ye=()=>z(L,te);Qe(L,h),L._enterCancelled?(Qe(L,b),mo(L)):(mo(L),Qe(L,b)),fo(()=>{L._isLeaving&&(xt(L,h),Qe(L,S),uo(T)||po(L,n,y,ye))}),yt(T,[L,ye])},onEnterCancelled(L){N(L,!1,void 0,!0),yt(D,[L])},onAppearCancelled(L){N(L,!0,void 0,!0),yt(q,[L])},onLeaveCancelled(L){z(L),yt(_,[L])}})}function Ql(e){if(e==null)return null;if(ee(e))return[Ys(e.enter),Ys(e.leave)];{const t=Ys(e);return[t,t]}}function Ys(e){return Yr(e)}function Qe(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.add(s)),(e[ss]||(e[ss]=new Set)).add(t)}function xt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.remove(n));const s=e[ss];s&&(s.delete(t),s.size||(e[ss]=void 0))}function fo(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Zl=0;function po(e,t,s,n){const o=e._endId=++Zl,r=()=>{o===e._endId&&n()};if(s!=null)return setTimeout(r,s);const{type:i,timeout:l,propCount:c}=ec(e,t);if(!i)return n();const f=i+"end";let a=0;const h=()=>{e.removeEventListener(f,b),r()},b=S=>{S.target===e&&++a>=c&&h()};setTimeout(()=>{a<c&&h()},l+1),e.addEventListener(f,b)}function ec(e,t){const s=window.getComputedStyle(e),n=v=>(s[v]||"").split(", "),o=n(`${lt}Delay`),r=n(`${lt}Duration`),i=ho(o,r),l=n(`${Rt}Delay`),c=n(`${Rt}Duration`),f=ho(l,c);let a=null,h=0,b=0;t===lt?i>0&&(a=lt,h=i,b=r.length):t===Rt?f>0&&(a=Rt,h=f,b=c.length):(h=Math.max(i,f),a=h>0?i>f?lt:Rt:null,b=a?a===lt?r.length:c.length:0);const S=a===lt&&/\b(?:transform|all)(?:,|$)/.test(n(`${lt}Property`).toString());return{type:a,timeout:h,propCount:b,hasTransform:S}}function ho(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((s,n)=>go(s)+go(e[n])))}function go(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function mo(e){return(e?e.ownerDocument:document).body.offsetHeight}function tc(e,t,s){const n=e[ss];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const vo=Symbol("_vod"),sc=Symbol("_vsh"),nc=Symbol(""),oc=/(?:^|;)\s*display\s*:/;function rc(e,t,s){const n=e.style,o=fe(s);let r=!1;if(s&&!o){if(t)if(fe(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();s[l]==null&&ys(n,l,"")}else for(const i in t)s[i]==null&&ys(n,i,"");for(const i in s)i==="display"&&(r=!0),ys(n,i,s[i])}else if(o){if(t!==s){const i=n[nc];i&&(s+=";"+i),n.cssText=s,r=oc.test(s)}}else t&&e.removeAttribute("style");vo in e&&(e[vo]=r?n.display:"",e[sc]&&(n.display="none"))}const yo=/\s*!important$/;function ys(e,t,s){if(H(s))s.forEach(n=>ys(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=ic(e,t);yo.test(s)?e.setProperty(dt(n),s.replace(yo,""),"important"):e[n]=s}}const xo=["Webkit","Moz","ms"],Qs={};function ic(e,t){const s=Qs[t];if(s)return s;let n=Me(t);if(n!=="filter"&&n in e)return Qs[t]=n;n=No(n);for(let o=0;o<xo.length;o++){const r=xo[o]+n;if(r in e)return Qs[t]=r}return t}const bo="http://www.w3.org/1999/xlink";function _o(e,t,s,n,o,r=ni(t)){n&&t.startsWith("xlink:")?s==null?e.removeAttributeNS(bo,t.slice(6,t.length)):e.setAttributeNS(bo,t,s):s==null||r&&!Ho(s)?e.removeAttribute(t):e.setAttribute(t,r?"":Ge(s)?String(s):s)}function Ao(e,t,s,n,o){if(t==="innerHTML"||t==="textContent"){s!=null&&(e[t]=t==="innerHTML"?Kr(s):s);return}const r=e.tagName;if(t==="value"&&r!=="PROGRESS"&&!r.includes("-")){const l=r==="OPTION"?e.getAttribute("value")||"":e.value,c=s==null?e.type==="checkbox"?"on":"":String(s);(l!==c||!("_value"in e))&&(e.value=c),s==null&&e.removeAttribute(t),e._value=s;return}let i=!1;if(s===""||s==null){const l=typeof e[t];l==="boolean"?s=Ho(s):s==null&&l==="string"?(s="",i=!0):l==="number"&&(s=0,i=!0)}try{e[t]=s}catch{}i&&e.removeAttribute(o||t)}function Et(e,t,s,n){e.addEventListener(t,s,n)}function lc(e,t,s,n){e.removeEventListener(t,s,n)}const So=Symbol("_vei");function cc(e,t,s,n,o=null){const r=e[So]||(e[So]={}),i=r[t];if(n&&i)i.value=n;else{const[l,c]=ac(t);if(n){const f=r[t]=dc(n,o);Et(e,l,f,c)}else i&&(lc(e,l,i,c),r[t]=void 0)}}const wo=/(?:Once|Passive|Capture)$/;function ac(e){let t;if(wo.test(e)){t={};let n;for(;n=e.match(wo);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):dt(e.slice(2)),t]}let Zs=0;const uc=Promise.resolve(),fc=()=>Zs||(uc.then(()=>Zs=0),Zs=Date.now());function dc(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;Oe(pc(n,s.value),t,5,[n])};return s.value=e,s.attached=fc(),s}function pc(e,t){if(H(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>o=>!o._stopped&&n&&n(o))}else return t}const Fo=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,hc=(e,t,s,n,o,r)=>{const i=o==="svg";t==="class"?tc(e,n,i):t==="style"?rc(e,s,n):Es(t)?Bs(t)||cc(e,t,s,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):gc(e,t,n,i))?(Ao(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&_o(e,t,n,i,r,t!=="value")):e._isVueCE&&(mc(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!fe(n)))?Ao(e,Me(t),n,r,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),_o(e,t,n,i))};function gc(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Fo(t)&&K(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return Fo(t)&&fe(s)?!1:t in e}function mc(e,t){const s=e._def.props;if(!s)return!1;const n=Me(t);return Array.isArray(s)?s.some(o=>Me(o)===n):Object.keys(s).some(o=>Me(o)===n)}const ko=e=>{const t=e.props["onUpdate:modelValue"]||!1;return H(t)?s=>hs(t,s):t};function vc(e){e.target.composing=!0}function Co(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const en=Symbol("_assign");function Eo(e,t,s){return t&&(e=e.trim()),s&&(e=bn(e)),e}const Dn={created(e,{modifiers:{lazy:t,trim:s,number:n}},o){e[en]=ko(o);const r=n||o.props&&o.props.type==="number";Et(e,t?"change":"input",i=>{i.target.composing||e[en](Eo(e.value,s,r))}),(s||r)&&Et(e,"change",()=>{e.value=Eo(e.value,s,r)}),t||(Et(e,"compositionstart",vc),Et(e,"compositionend",Co),Et(e,"change",Co))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:n,trim:o,number:r}},i){if(e[en]=ko(i),e.composing)return;const l=(r||e.type==="number")&&!/^0\d/.test(e.value)?bn(e.value):e.value,c=t??"";if(l===c)return;const f=e.getRootNode();(f instanceof Document||f instanceof ShadowRoot)&&f.activeElement===e&&e.type!=="range"&&(n&&t===s||o&&e.value.trim()===c)||(e.value=c)}},yc={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Bo=(e,t)=>{const s=e._withKeys||(e._withKeys={}),n=t.join(".");return s[n]||(s[n]=(o=>{if(!("key"in o))return;const r=dt(o.key);if(t.some(i=>i===r||yc[i]===r))return e(o)}))},xc=me({patchProp:hc},ql);let $o;function bc(){return $o||($o=kl(xc))}const _c=((...e)=>{const t=bc().createApp(...e),{mount:s}=t;return t.mount=n=>{const o=Sc(n);if(!o)return;const r=t._component;!K(r)&&!r.render&&!r.template&&(r.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const i=s(o,!1,Ac(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},t});function Ac(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Sc(e){return fe(e)?document.querySelector(e):e}function wc(){const e=pe(null),t=pe(!1),s=pe(null),n=new Map;function o(){const f=`${location.protocol==="https:"?"wss:":"ws:"}//${location.host}`;e.value=new WebSocket(f),e.value.onopen=()=>{t.value=!0,console.log("WebSocket connected")},e.value.onclose=()=>{t.value=!1,console.log("WebSocket disconnected, reconnecting in 3s..."),s.value=setTimeout(()=>{o()},3e3)},e.value.onerror=a=>{console.error("WebSocket error:",a)},e.value.onmessage=a=>{try{const h=JSON.parse(a.data),{type:b,data:S}=h;(n.get(b)||[]).forEach(y=>y(S)),(n.get("*")||[]).forEach(y=>y(h))}catch(h){console.error("Error parsing WebSocket message:",h)}}}function r(c,f){return n.has(c)||n.set(c,[]),n.get(c).push(f),()=>{const a=n.get(c);if(a){const h=a.indexOf(f);h>-1&&a.splice(h,1)}}}function i(c){e.value&&t.value?e.value.send(JSON.stringify(c)):console.warn("Cannot send message: WebSocket not connected")}function l(){s.value&&(clearTimeout(s.value),s.value=null),e.value&&(e.value.close(),e.value=null),t.value=!1}return rs(()=>{o()}),Is(()=>{l()}),{connected:t,on:r,send:i,disconnect:l,reconnect:o}}function Fc(){const e=Ms({projects:[],activeProject:null,activeStep:null,logs:[],isPanelOpen:!0,executingProject:null,isLoading:!0,activeTab:"pipeline",docs:{groups:[]},selectedDocFile:null,docContent:"",docLoading:!1});function t(m){return e.projects.find(A=>A.path===m)||null}function s(m){var D,T;const A=typeof m=="string"?t(m):m;A&&(e.activeProject=A,e.activeStep=null,e.logs=[],e.selectedDocFile=null,e.docContent="",(T=(D=A.state)==null?void 0:D.progress)!=null&&T.currentLogs&&o(A.state.progress.currentLogs))}function n(m){e.activeStep=m}function o(m){const A=Array.isArray(m)?m:[m];for(const D of A){const T=new Date().toISOString();e.logs.push({id:`${T}-${Math.random().toString(36).substr(2,9)}`,timestamp:T,content:D,type:"info"})}e.logs.length>500&&(e.logs=e.logs.slice(-500))}function r(){e.logs=[]}function i(){e.isPanelOpen=!e.isPanelOpen}function l(){e.isPanelOpen=!0}function c(){e.isPanelOpen=!1}function f(m){if(e.isLoading=!1,e.projects=m,e.activeProject){const A=t(e.activeProject.path);A&&(e.activeProject=A)}}function a(m){e.executingProject=m}function h(m){return e.executingProject===m}const b=ue(()=>{var m;return((m=e.activeProject)==null?void 0:m.name)||null}),S=ue(()=>{var m;return((m=e.activeProject)==null?void 0:m.path)||null}),v=ue(()=>{var m,A;return((A=(m=e.activeProject)==null?void 0:m.state)==null?void 0:A.currentStage)||null}),p=ue(()=>e.projects.length>0),y=ue(()=>{var D,T,_;if(!((_=(T=(D=e.activeProject)==null?void 0:D.state)==null?void 0:T.progress)!=null&&_.stages))return[];const m=e.activeProject.state.currentStage,A=e.activeProject.state.progress.stages[m];return(A==null?void 0:A.steps)||[]});return{state:e,getProject:t,selectProject:s,selectStep:n,appendLog:o,clearLogs:r,togglePanel:i,openPanel:l,closePanel:c,updateProjects:f,setExecuting:a,isExecuting:h,activeProjectName:b,activeProjectPath:S,activeProjectStage:v,hasProjects:p,activeProjectSteps:y,setActiveTab(m){e.activeTab=m},updateDocs(m){e.docs=m},selectDocFile(m){e.selectedDocFile=m},setDocContent(m){e.docContent=m},setDocLoading(m){e.docLoading=m}}}function kc(e={}){const{onCmdK:t=null,onJ:s=null,onK:n=null,onEscape:o=null,onEnter:r=null,onArrowUp:i=null,onArrowDown:l=null,disabled:c=!1}=e;function f(a){if(c)return;const h=a.target;if(h.tagName==="INPUT"||h.tagName==="TEXTAREA"||h.contentEditable==="true")return;const S=navigator.platform.toUpperCase().indexOf("MAC")>=0?a.metaKey:a.ctrlKey;S&&a.key==="k"&&(a.preventDefault(),t&&t()),a.key==="j"&&!S&&(a.preventDefault(),s&&s()),a.key==="k"&&!S&&(a.preventDefault(),n&&n()),a.key==="Escape"&&(a.preventDefault(),o&&o()),a.key==="Enter"&&!S&&(a.preventDefault(),r&&r()),a.key==="ArrowUp"&&!S&&(a.preventDefault(),i&&i()),a.key==="ArrowDown"&&!S&&(a.preventDefault(),l&&l())}return rs(()=>{window.addEventListener("keydown",f)}),Is(()=>{window.removeEventListener("keydown",f)}),{disable:()=>{c=!0},enable:()=>{c=!1}}}function Cc(e={}){const{onOpenCommandPalette:t,onNavigateDown:s,onNavigateUp:n,onClose:o,onSelect:r,onPanelToggle:i}=e;return kc({onCmdK:t,onJ:s,onK:n,onEscape:o,onEnter:r})}const Ec="/logo.jpg",jt={__name:"StageBadge",props:{status:{type:String,default:"pending"},label:{type:String,default:""},size:{type:String,default:"md"}},setup(e){const t=e,s=ue(()=>t.label?t.label:{completed:"done","in-progress":"running",blocked:"blocked",failed:"error",pending:"idle"}[t.status]||"idle"),n=ue(()=>t.size==="sm"?"px-1.5 py-0.5":"px-2 py-1"),o=ue(()=>{const l={completed:{background:"rgba(52,211,153,0.1)",color:"#34D399"},"in-progress":{background:"rgba(251,191,36,0.1)",color:"#FBBF24"},blocked:{background:"rgba(251,146,60,0.1)",color:"#FB923C"},failed:{background:"rgba(239,68,68,0.1)",color:"#EF4444"},pending:{background:"rgba(82,82,82,0.15)",color:"#8B8FA3"}};return l[t.status]||l.pending}),r=ue(()=>t.status==="in-progress"?"animate-pulse-dot":""),i=ue(()=>({background:{completed:"#34D399","in-progress":"#FBBF24",blocked:"#FB923C",failed:"#EF4444",pending:"#8B8FA3"}[t.status]||"#8B8FA3"}));return(l,c)=>(F(),B("span",{class:Be(["inline-flex items-center gap-1.5 rounded-sm text-[10px] font-medium font-[JetBrains_Mono,monospace] uppercase tracking-wider transition-colors duration-150",n.value]),style:oe(o.value)},[g("span",{class:Be(["w-1 h-1 rounded-full",r.value]),style:oe(i.value)},null,6),g("span",null,U(s.value),1)],6))}},On=(e,t)=>{const s=e.__vccOpts||e;for(const[n,o]of t)s[n]=o;return s},Bc={class:"h-full flex flex-col noise-bg"},$c={class:"relative z-10 px-5 pt-5 pb-4"},Tc={class:"flex items-center gap-3"},Pc={key:0,class:"mt-3 rounded-md p-3",style:{background:"#141416",border:"1px solid #1F1F22"}},Mc={key:0,class:"text-[10px] py-1",style:{color:"#3A3A3D"}},jc={key:1,class:"space-y-1 mb-2"},Dc={class:"flex-1 truncate font-mono-log",style:{color:"#A0A4B5"}},Oc=["onClick"],Lc={key:2,class:"flex items-center gap-2"},Ic={class:"flex-1 overflow-y-auto py-3 relative z-10"},Nc={key:0,class:"px-4 space-y-2"},Rc={key:1,class:"px-4 py-12 text-center"},Hc={class:"w-10 h-10 mx-auto mb-3 rounded-full flex items-center justify-center",style:{border:"1px dashed #2A2A2D"}},Vc={class:"w-4 h-4",style:{color:"#8B8FA3"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Kc={key:2,class:"px-3 space-y-0.5"},Uc=["onMouseenter","onMouseleave","onClick"],Jc={class:"px-3 py-2.5"},Wc={class:"flex items-center justify-between gap-2"},zc={class:"flex-1 min-w-0"},qc={class:"text-[10px] mt-0.5 truncate font-mono-log",style:{color:"#8B8FA3"}},Gc={key:0,class:"mt-2 h-[2px] rounded-full overflow-hidden",style:{background:"#1C1C1F"}},Xc={class:"relative z-10 px-4 py-2.5",style:{"border-top":"1px solid #1F1F22"}},Yc={class:"flex items-center justify-between"},Qc={class:"text-[10px] font-[JetBrains_Mono,monospace]",style:{color:"#8B8FA3"}},Zc={__name:"ProjectList",props:{projects:{type:Array,default:()=>[]},activeProject:{type:Object,default:null},isLoading:{type:Boolean,default:!1},scanPaths:{type:Array,default:()=>[]}},emits:["select","scan:add-path","scan:remove-path"],setup(e,{emit:t}){const s=e,n=t,o=pe(!1),r=pe(!1),i=pe(""),l=pe(null);at(r,v=>{v&&Ds(()=>{var p;(p=l.value)==null||p.focus()})});function c(v){var p;return((p=s.activeProject)==null?void 0:p.path)===v.path}function f(v){var A,D,T,_;const p=(A=v.state)==null?void 0:A.currentStage;if(!p)return"pending";const y=(_=(T=(D=v.state)==null?void 0:D.progress)==null?void 0:T.stages)==null?void 0:_[p];if(!y)return"pending";const m=y.steps||[];return m.length===0?"pending":m.some(M=>M.status==="failed")?"failed":m.some(M=>M.status==="blocked")?"blocked":m.some(M=>M.status==="in-progress")?"in-progress":m.every(M=>M.status==="completed")?"completed":"pending"}function a(v){var m;const p=(m=v.state)==null?void 0:m.currentStage;return{brainstorm:"头脑风暴",plan:"规划",execute:"执行",verify:"验证"}[p]||p||"未知"}function h(v){var T;const p=(T=v.state)==null?void 0:T.progress;if(!p)return 0;const y=p.stages||{},m=["brainstorm","plan","execute","verify"];let A=0,D=0;for(const _ of m){const M=y[_];M!=null&&M.steps&&(A+=M.steps.length,D+=M.steps.filter(W=>W.status==="completed").length)}return A===0?0:Math.round(D/A*100)}function b(){const v=i.value.trim();v&&(n("scan:add-path",v),i.value="",r.value=!1)}function S(v){n("scan:remove-path",v)}return(v,p)=>(F(),B("div",Bc,[g("div",$c,[g("div",Tc,[p[5]||(p[5]=jl('<div class="w-8 h-8 rounded-md flex items-center justify-center" style="background:linear-gradient(135deg, #FBBF24 0%, #F59E0B 100%);clip-path:polygon(0 0, 100% 0, 85% 100%, 15% 100%);" data-v-bcd9d503><span class="text-[10px] font-bold text-black font-[JetBrains_Mono,monospace]" data-v-bcd9d503>S</span></div><img src="'+Ec+'" style="width:28px;height:28px;border-radius:6px;margin-right:8px;" data-v-bcd9d503><div class="flex-1" data-v-bcd9d503><h1 class="text-[13px] font-semibold tracking-tight font-[JetBrains_Mono,monospace]" style="color:#E4E4E7;" data-v-bcd9d503> SillySpec </h1><p class="text-[10px] tracking-widest uppercase" style="color:#8B8FA3;" data-v-bcd9d503>控制台</p></div>',3)),g("button",{onClick:p[0]||(p[0]=y=>o.value=!o.value),class:"p-1.5 rounded-sm transition-colors duration-100",style:oe({color:o.value?"#FBBF24":"#8B8FA3",background:o.value?"rgba(251,191,36,0.08)":"transparent"}),title:"扫描路径设置"},[...p[4]||(p[4]=[g("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[g("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.066 2.573c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.573 1.066c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.066-2.573c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),g("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})],-1)])],4)]),Y(mn,{name:"slide"},{default:As(()=>[o.value?(F(),B("div",Pc,[p[6]||(p[6]=g("div",{class:"text-[10px] font-semibold uppercase tracking-[0.15em] mb-2 font-[JetBrains_Mono,monospace]",style:{color:"#8B8FA3"}},"扫描路径",-1)),e.scanPaths.length===0?(F(),B("div",Mc,"暂无自定义路径")):(F(),B("div",jc,[(F(!0),B(he,null,qe(e.scanPaths,(y,m)=>(F(),B("div",{key:m,class:"flex items-center gap-2 text-[10px] group"},[g("span",Dc,U(y),1),g("button",{onClick:A=>S(y),class:"opacity-0 group-hover:opacity-100 transition-opacity text-[9px] px-1 rounded-sm",style:{color:"#EF4444",background:"rgba(239,68,68,0.08)"}},"✕",8,Oc)]))),128))])),r.value?(F(),B("div",Lc,[$n(g("input",{ref_key:"pathInput",ref:l,"onUpdate:modelValue":p[1]||(p[1]=y=>i.value=y),type:"text",placeholder:"输入目录路径...",class:"flex-1 px-2 py-1 rounded-sm text-[10px] font-mono-log outline-none",style:{background:"#0A0A0B",border:"1px solid #2A2A2D",color:"#E4E4E7"},onKeydown:[Bo(b,["enter"]),p[2]||(p[2]=Bo(y=>r.value=!1,["escape"]))]},null,544),[[Dn,i.value]]),g("button",{onClick:b,class:"px-2 py-1 text-[10px] rounded-sm",style:{background:"rgba(251,191,36,0.1)",color:"#FBBF24",border:"1px solid rgba(251,191,36,0.2)"}},"添加")])):(F(),B("button",{key:3,onClick:p[3]||(p[3]=y=>r.value=!0),class:"text-[10px] px-2 py-1 rounded-sm transition-colors duration-100",style:{color:"#8B8FA3",border:"1px dashed #2A2A2D"}}," + 添加目录 "))])):J("",!0)]),_:1})]),p[13]||(p[13]=g("div",{class:"mx-4 h-px",style:{background:"linear-gradient(90deg, transparent, #2A2A2D, transparent)"}},null,-1)),g("div",Ic,[e.isLoading?(F(),B("div",Nc,[(F(),B(he,null,qe(4,y=>g("div",{key:y,class:"rounded-lg p-3",style:{background:"#141416"}},[...p[7]||(p[7]=[g("div",{class:"h-3 rounded w-20 skeleton-shimmer mb-2"},null,-1),g("div",{class:"h-2 rounded w-32 skeleton-shimmer"},null,-1)])])),64)),p[8]||(p[8]=g("p",{class:"text-center text-[10px] mt-4 font-[JetBrains_Mono,monospace]",style:{color:"#8B8FA3"}}," 正在扫描项目... ",-1))])):e.projects.length===0?(F(),B("div",Rc,[g("div",Hc,[(F(),B("svg",Vc,[...p[9]||(p[9]=[g("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"},null,-1)])]))]),p[10]||(p[10]=g("p",{class:"text-[11px]",style:{color:"#A0A4B5"}},"未发现 SillySpec 项目",-1)),p[11]||(p[11]=g("p",{class:"text-[10px] mt-1",style:{color:"#8B8FA3"}},"正在扫描项目目录...",-1))])):(F(),B("div",Kc,[(F(!0),B(he,null,qe(e.projects,y=>{var m,A;return F(),B("div",{key:y.path,class:Be(["relative rounded-md cursor-pointer transition-all duration-150 overflow-hidden group"]),style:oe({background:c(y)?"rgba(251,191,36,0.06)":"transparent",borderLeft:c(y)?"2px solid #FBBF24":"2px solid transparent"}),onMouseenter:D=>D.currentTarget.style.background=c(y)?"rgba(251,191,36,0.08)":"rgba(255,255,255,0.02)",onMouseleave:D=>D.currentTarget.style.background=c(y)?"rgba(251,191,36,0.06)":"transparent",onClick:D=>v.$emit("select",y)},[g("div",Jc,[g("div",Wc,[g("div",zc,[g("h3",{class:Be(["text-[12px] font-medium truncate transition-colors duration-150 font-[JetBrains_Mono,monospace]"]),style:oe({color:c(y)?"#FBBF24":"#E4E4E7"})},U(y.name),5),g("p",qc,U(y.path),1)]),(m=y.state)!=null&&m.currentStage?(F(),Ft(jt,{key:0,status:f(y),label:a(y),size:"sm"},null,8,["status","label"])):J("",!0)]),(A=y.state)!=null&&A.progress?(F(),B("div",Gc,[g("div",{class:"h-full rounded-full transition-all duration-500 progress-gradient",style:oe({width:h(y)+"%"})},null,4)])):J("",!0)])],44,Uc)}),128))]))]),g("div",Xc,[g("div",Yc,[g("span",Qc,U(e.projects.length)+" 个项目",1),p[12]||(p[12]=g("kbd",{class:"text-[9px] px-1.5 py-0.5 rounded font-mono-log",style:{color:"#8B8FA3",background:"#141416",border:"1px solid #2A2A2D"}},"⌘K",-1))])])]))}},ea=On(Zc,[["__scopeId","data-v-bcd9d503"]]),ta={class:"pl-3.5 pr-3 py-2.5"},sa={class:"flex items-center gap-2"},na={class:"mt-1.5 text-[11px] line-clamp-2",style:{color:"#A0A4B5"}},oa={key:1,class:"mt-2 space-y-1"},ra={key:0,class:"text-[11px]",style:{color:"#E4E4E7"}},ia={key:1,class:"text-[11px]",style:{color:"#E4E4E7"}},la={key:2,class:"text-[11px] italic",style:{color:"#A0A4B5"}},ca={key:2,class:"mt-1 text-[10px] font-mono-log",style:{color:"#8B8FA3"}},aa={__name:"StepCard",props:{step:{type:Object,required:!0},isActive:{type:Boolean,default:!1},isClickable:{type:Boolean,default:!0}},emits:["select"],setup(e,{emit:t}){const s=e,n=t,o=pe(!1),r=ue(()=>{const f={completed:"#34D399","in-progress":"#FBBF24",blocked:"#FB923C",failed:"#EF4444",pending:"#2A2A2D"};return f[s.step.status]||f.pending}),i=ue(()=>({background:s.isActive?"rgba(251,191,36,0.04)":o.value?"rgba(255,255,255,0.015)":"#141416",border:`1px solid ${s.isActive?"rgba(251,191,36,0.2)":"#1F1F22"}`})),l=ue(()=>({completed:"完成","in-progress":"进行中",blocked:"阻塞",failed:"失败",pending:"待办"})[s.step.status]||"待办");function c(){s.isClickable&&n("select",s.step)}return(f,a)=>(F(),B("div",{class:Be(["group relative rounded-md cursor-pointer overflow-hidden transition-all duration-200"]),style:oe(i.value),onMouseenter:a[0]||(a[0]=h=>o.value=!0),onMouseleave:a[1]||(a[1]=h=>o.value=!1),onClick:c},[g("div",{class:"absolute left-0 top-0 bottom-0 w-[2px]",style:oe({background:r.value})},null,4),g("div",ta,[g("div",sa,[g("h3",{class:"text-[12px] font-medium transition-colors duration-150",style:oe({color:e.isActive?"#FBBF24":"#E4E4E7",fontFamily:"'JetBrains Mono', monospace"})},U(e.step.title||e.step.name),5),e.step.status?(F(),Ft(jt,{key:0,status:e.step.status,label:l.value},null,8,["status","label"])):J("",!0)]),e.step.summary||e.step.description?(F(),B("div",{key:0,class:"overflow-hidden transition-all duration-200",style:oe({maxHeight:o.value?"60px":"0",opacity:o.value?1:0})},[g("p",na,U(e.step.summary||e.step.description),1)],4)):J("",!0),e.isActive?(F(),B("div",oa,[e.step.conclusion?(F(),B("p",ra,[a[2]||(a[2]=g("span",{style:{color:"#FBBF24","font-weight":"600"}},"结论:",-1)),ut(" "+U(e.step.conclusion),1)])):J("",!0),e.step.decision?(F(),B("p",ia,[a[3]||(a[3]=g("span",{style:{color:"#FBBF24","font-weight":"600"}},"决策:",-1)),ut(" "+U(e.step.decision),1)])):J("",!0),e.step.userQuery?(F(),B("p",la,' "'+U(e.step.userQuery)+'" ',1)):J("",!0)])):J("",!0),e.step.duration?(F(),B("div",ca,U(e.step.duration),1)):J("",!0)])],36))}},ua=On(aa,[["__scopeId","data-v-361aba6a"]]),fa={class:"relative"},da={class:"flex items-start gap-3"},pa={class:"flex flex-col items-center flex-shrink-0 pt-1.5"},ha={class:"flex-1 min-w-0 -mt-0.5"},ga={class:"flex items-center gap-2.5 mb-3"},ma={class:"space-y-1"},va={key:0,class:"text-[11px] italic py-1",style:{color:"#8B8FA3"}},ps={__name:"PipelineStage",props:{name:{type:String,required:!0},title:{type:String,required:!0},steps:{type:Array,default:()=>[]},status:{type:String,default:"pending"},isActive:{type:Boolean,default:!1},activeStep:{type:Object,default:null}},emits:["select-step"],setup(e,{emit:t}){const s=e,n=ue(()=>{if(s.isActive)return{background:"#FBBF24",boxShadow:"0 0 8px rgba(251,191,36,0.4)"};const r={completed:"#34D399","in-progress":"#FBBF24",blocked:"#FB923C",failed:"#EF4444",pending:"#2A2A2D"};return{background:r[s.status]||r.pending}});function o(r){var i,l;return((i=s.activeStep)==null?void 0:i.id)===r.id||((l=s.activeStep)==null?void 0:l.name)===r.name}return(r,i)=>(F(),B("div",fa,[g("div",da,[g("div",pa,[g("div",{class:Be(["w-2 h-2 transition-colors duration-200",{"animate-pulse-dot":e.isActive||e.status==="in-progress"}]),style:oe(n.value)},null,6)]),g("div",ha,[g("div",ga,[g("span",{class:"text-[12px] font-semibold font-[JetBrains_Mono,monospace] tracking-tight",style:oe({color:e.isActive?"#FBBF24":"#E4E4E7"})},U(e.title),5),Y(jt,{status:e.status},null,8,["status"])]),g("div",ma,[e.steps.length===0?(F(),B("div",va," No steps yet ")):J("",!0),(F(!0),B(he,null,qe(e.steps,l=>(F(),Ft(ua,{key:l.id||l.name,step:l,"is-active":o(l),onSelect:i[0]||(i[0]=c=>r.$emit("select-step",c))},null,8,["step","is-active"]))),128))])])])]))}},ya={class:"flex flex-col h-full"},xa={key:0,class:"flex items-center justify-center h-full"},ba={key:1,class:"overflow-y-auto px-4 py-3 space-y-4"},_a={class:"text-[10px] font-semibold uppercase tracking-[0.15em] font-[JetBrains_Mono,monospace] mb-2",style:{color:"#8B8FA3"}},Aa={class:"space-y-0.5"},Sa=["onClick"],wa={__name:"DocTree",props:{groups:{type:Array,default:()=>[]},selectedFile:{type:Object,default:null}},emits:["select-file"],setup(e){return(t,s)=>(F(),B("div",ya,[e.groups.length===0?(F(),B("div",xa,[...s[0]||(s[0]=[g("p",{class:"text-[12px] font-[JetBrains_Mono,monospace]",style:{color:"#8B8FA3"}},"暂无文档",-1)])])):(F(),B("div",ba,[(F(!0),B(he,null,qe(e.groups,n=>(F(),B("div",{key:n.key},[g("div",_a,U(n.label),1),g("div",Aa,[(F(!0),B(he,null,qe(n.files,o=>{var r,i;return F(),B("button",{key:o.path,onClick:l=>t.$emit("select-file",o),class:"w-full text-left px-2.5 py-1.5 rounded text-[12px] font-[JetBrains_Mono,monospace] transition-colors",style:oe({color:((r=e.selectedFile)==null?void 0:r.path)===o.path?"#FBBF24":"#A0A4B5",background:((i=e.selectedFile)==null?void 0:i.path)===o.path?"rgba(251,191,36,0.08)":"transparent"})}," 📄 "+U(o.title),13,Sa)}),128))])]))),128))]))]))}},Fa={class:"h-full overflow-y-auto px-6 py-4"},ka={key:0,class:"flex items-center justify-center h-full"},Ca={key:1,class:"flex items-center justify-center h-full"},Ea=["innerHTML"],Ba={__name:"DocPreview",props:{content:{type:String,default:""},loading:{type:Boolean,default:!1}},setup(e){const t=e,s=ue(()=>t.content?n(t.content):"");function n(o){return o.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/^### (.+)$/gm,'<h3 style="color:#FBBF24;font-size:14px;font-weight:600;margin:16px 0 8px;">$1</h3>').replace(/^## (.+)$/gm,'<h2 style="color:#E5E5E5;font-size:15px;font-weight:600;margin:20px 0 10px;">$1</h2>').replace(/^# (.+)$/gm,'<h1 style="color:#FBBF24;font-size:18px;font-weight:700;margin:0 0 16px;">$1</h1>').replace(/```(\w*)\n([\s\S]*?)```/g,'<pre style="background:#0A0A0B;border:1px solid #1F1F22;border-radius:6px;padding:12px;overflow-x:auto;font-size:12px;margin:8px 0;"><code>$2</code></pre>').replace(/`([^`]+)`/g,'<code style="background:#0A0A0B;padding:1px 4px;border-radius:3px;font-size:11px;">$1</code>').replace(/\*\*([^*]+)\*\*/g,'<strong style="color:#E5E5E5;">$1</strong>').replace(/\[([^\]]+)\]\(([^)]+)\)/g,'<a href="$2" style="color:#FBBF24;">$1</a>').replace(/^- \[x\] (.+)$/gm,'<div style="color:#34D399;">☑ $1</div>').replace(/^- \[ \] (.+)$/gm,'<div style="color:#A0A4B5;">☐ $1</div>').replace(/^- (.+)$/gm,'<div style="padding-left:12px;color:#A0A4B5;">• $1</div>').replace(/\n\n/g,"<br/><br/>").replace(/\n/g,"<br/>")}return(o,r)=>(F(),B("div",Fa,[!e.content&&!e.loading?(F(),B("div",ka,[...r[0]||(r[0]=[g("p",{class:"text-[12px] font-[JetBrains_Mono,monospace]",style:{color:"#8B8FA3"}},"选择一个文档查看内容",-1)])])):e.loading?(F(),B("div",Ca,[...r[1]||(r[1]=[g("p",{class:"text-[12px] font-[JetBrains_Mono,monospace]",style:{color:"#8B8FA3"}},"加载中...",-1)])])):(F(),B("div",{key:2,class:"doc-preview",innerHTML:s.value},null,8,Ea))]))}},$a={class:"flex flex-col h-full",style:{background:"#0E0E10"}},Ta={class:"px-6 pt-4 pb-0",style:{"border-bottom":"1px solid #1F1F22"}},Pa={class:"flex items-center gap-6"},Ma={class:"text-[11px] font-semibold uppercase tracking-[0.2em] font-[JetBrains_Mono,monospace]",style:{color:"#8B8FA3"}},ja={class:"flex gap-1"},Da={key:0,class:"flex flex-col flex-1 overflow-hidden"},Oa={class:"px-6 pt-4 pb-2"},La={key:0,class:"text-[12px] font-[JetBrains_Mono,monospace]",style:{color:"#A0A4B5"}},Ia={style:{color:"#FBBF24"}},Na={key:0,class:"flex items-center justify-center flex-1"},Ra={class:"text-center"},Ha={class:"w-14 h-14 mx-auto mb-4 rounded-md flex items-center justify-center",style:{border:"1px dashed #2A2A2D",transform:"rotate(45deg)"}},Va={class:"w-5 h-5",style:{color:"#8B8FA3",transform:"rotate(-45deg)"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ka={key:1,class:"flex-1 overflow-y-auto px-6 pb-5 space-y-5"},Ua={key:0,class:"flex items-center pl-[3px]"},Ja={key:1,class:"flex items-center pl-[3px]"},Wa={key:2,class:"flex items-center pl-[3px]"},za={key:2,style:{"border-top":"1px solid #1F1F22",background:"rgba(10,10,11,0.6)"}},qa={class:"px-6 py-2.5 flex items-center justify-between"},Ga={class:"text-[10px] font-mono-log",style:{color:"#3A3A3D"}},Xa={class:"px-6 pb-3 space-y-0.5 max-h-32 overflow-y-auto"},Ya={class:"w-10 font-mono-log flex-shrink-0",style:{color:"#3A3A3D"}},Qa={style:{color:"#A0A4B5"}},Za={key:0,class:"text-[10px] py-1",style:{color:"#3A3A3D"}},eu={key:1,class:"flex-1 flex overflow-hidden"},tu={class:"w-[200px] flex-shrink-0 overflow-hidden",style:{"border-right":"1px solid #1F1F22"}},su={class:"flex-1 overflow-hidden"},nu={__name:"PipelineView",props:{project:{type:Object,default:null},activeStep:{type:Object,default:null},activeTab:{type:String,default:"pipeline"},docs:{type:Object,default:()=>({groups:[]})},selectedDocFile:{type:Object,default:null},docContent:{type:String,default:""},docLoading:{type:Boolean,default:!1}},emits:["select-step","switch-tab","select-doc-file"],setup(e,{emit:t}){const s=e,n=t,o=ue(()=>{var v,p;return((p=(v=s.project)==null?void 0:v.state)==null?void 0:p.currentStage)||"unknown"}),r=ue(()=>{var v,p;return((p=(v=s.project)==null?void 0:v.state)==null?void 0:p.progress)||{}}),i=ue(()=>r.value.stages||{}),l={brainstorm:"头脑风暴",plan:"规划",execute:"执行",verify:"验证"},c=ue(()=>{var p;if(!((p=s.project)!=null&&p.state))return[];const v=[];for(const[y,m]of Object.entries(r.value.stages||{})){const A=l[y]||y;m.status==="completed"?v.push({time:m.completedAt?f(m.completedAt):"--:--",status:"completed",description:`${A} 已完成`}):m.status==="in-progress"&&v.push({time:"--:--",status:"in-progress",description:`${A} 运行中`})}return v.reverse()});function f(v){try{const p=new Date(v);return`${String(p.getHours()).padStart(2,"0")}:${String(p.getMinutes()).padStart(2,"0")}`}catch{return"--:--"}}function a(v){return!!i.value[v]}function h(v){var p;return((p=i.value[v])==null?void 0:p.steps)||[]}function b(v){const p=i.value[v];if(!p)return"pending";const y=p.steps||[];return y.some(m=>m.status==="failed")?"failed":y.some(m=>m.status==="blocked")?"blocked":y.some(m=>m.status==="in-progress")?"in-progress":y.every(m=>m.status==="completed")?"completed":"pending"}function S(v){n("select-step",v)}return(v,p)=>{var y,m,A;return F(),B("div",$a,[g("div",Ta,[g("div",Pa,[g("h2",Ma,U(((y=e.project)==null?void 0:y.name)||"项目"),1),g("div",ja,[g("button",{onClick:p[0]||(p[0]=D=>v.$emit("switch-tab","pipeline")),class:"px-3 py-1.5 text-[11px] font-[JetBrains_Mono,monospace] transition-colors rounded",style:oe({color:e.activeTab==="pipeline"?"#FBBF24":"#8B8FA3",background:e.activeTab==="pipeline"?"rgba(251,191,36,0.08)":"transparent"})},"流水线",4),g("button",{onClick:p[1]||(p[1]=D=>v.$emit("switch-tab","docs")),class:"px-3 py-1.5 text-[11px] font-[JetBrains_Mono,monospace] transition-colors rounded",style:oe({color:e.activeTab==="docs"?"#FBBF24":"#8B8FA3",background:e.activeTab==="docs"?"rgba(251,191,36,0.08)":"transparent"})},"文档",4)])])]),e.activeTab==="pipeline"?(F(),B("div",Da,[g("div",Oa,[e.project?(F(),B("p",La,[g("span",Ia,U(o.value),1)])):J("",!0)]),!e.project||!e.project.state?(F(),B("div",Na,[g("div",Ra,[g("div",Ha,[(F(),B("svg",Va,[...p[3]||(p[3]=[g("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"},null,-1)])]))]),p[4]||(p[4]=g("p",{class:"text-[12px] font-[JetBrains_Mono,monospace]",style:{color:"#8B8FA3"}},"选择一个项目查看流水线",-1))])])):(F(),B("div",Ka,[Y(ps,{name:"brainstorm",title:"头脑风暴",steps:h("brainstorm"),status:b("brainstorm"),"is-active":o.value==="brainstorm","active-step":e.activeStep,onSelectStep:S},null,8,["steps","status","is-active","active-step"]),a("plan")?(F(),B("div",Ua,[...p[5]||(p[5]=[g("div",{class:"w-px h-4",style:{background:"#1F1F22"}},null,-1)])])):J("",!0),Y(ps,{name:"plan",title:"规划",steps:h("plan"),status:b("plan"),"is-active":o.value==="plan","active-step":e.activeStep,onSelectStep:S},null,8,["steps","status","is-active","active-step"]),a("execute")?(F(),B("div",Ja,[...p[6]||(p[6]=[g("div",{class:"w-px h-4",style:{background:"#1F1F22"}},null,-1)])])):J("",!0),Y(ps,{name:"execute",title:"执行",steps:h("execute"),status:b("execute"),"is-active":o.value==="execute","active-step":e.activeStep,onSelectStep:S},null,8,["steps","status","is-active","active-step"]),a("verify")?(F(),B("div",Wa,[...p[7]||(p[7]=[g("div",{class:"w-px h-4",style:{background:"#1F1F22"}},null,-1)])])):J("",!0),Y(ps,{name:"verify",title:"验证",steps:h("verify"),status:b("verify"),"is-active":o.value==="verify","active-step":e.activeStep,onSelectStep:S},null,8,["steps","status","is-active","active-step"])])),(A=(m=e.project)==null?void 0:m.state)!=null&&A.progress?(F(),B("div",za,[g("div",qa,[p[8]||(p[8]=g("div",{class:"text-[9px] font-semibold uppercase tracking-[0.25em] font-[JetBrains_Mono,monospace]",style:{color:"#8B8FA3"}},"活动日志",-1)),g("div",Ga,U(c.value.length),1)]),g("div",Xa,[(F(!0),B(he,null,qe(c.value,(D,T)=>(F(),B("div",{key:T,class:"flex items-start gap-2.5 text-[11px] py-0.5"},[g("span",Ya,U(D.time),1),g("span",{style:oe({color:D.status==="completed"?"#34D399":"#FBBF24"})},"›",4),g("span",Qa,U(D.description),1)]))),128)),c.value.length===0?(F(),B("div",Za,"暂无活动记录")):J("",!0)])])):J("",!0)])):J("",!0),e.activeTab==="docs"?(F(),B("div",eu,[g("div",tu,[Y(wa,{groups:e.docs.groups,"selected-file":e.selectedDocFile,onSelectFile:p[2]||(p[2]=D=>v.$emit("select-doc-file",D))},null,8,["groups","selected-file"])]),g("div",su,[Y(Ba,{content:e.docContent,loading:e.docLoading},null,8,["content","loading"])])])):J("",!0)])}}},ou={class:"flex flex-col h-full",style:{background:"#0E0E10"}},ru={class:"px-3 py-2 flex items-center gap-2",style:{"border-bottom":"1px solid #1F1F22"}},iu={key:0,class:"flex items-center justify-center h-full"},lu={class:"font-mono-log",style:{color:"#2A2A2D"}},cu={key:1,class:"space-y-px"},au={style:{color:"#3A3A3D"},class:"select-none"},uu={class:"px-3 py-1 flex items-center justify-between text-[9px] font-mono-log",style:{"border-top":"1px solid #1F1F22",background:"#0E0E10",color:"#3A3A3D"}},fu={key:0,style:{color:"#FB923C"}},du={__name:"LogStream",props:{logs:{type:Array,default:()=>[]}},emits:["clear"],setup(e,{emit:t}){const s=e,n=t,o=pe(""),r=pe(!0),i=pe(null),l=ue(()=>{if(!o.value)return s.logs;const y=o.value.toLowerCase();return s.logs.filter(m=>m.content.toLowerCase().includes(y))});function c(y){return y?new Date(y).toLocaleTimeString("zh-CN",{hour12:!1}):""}function f(y){return y?y.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"):""}function a(y){return y==="error"?"rgba(239,68,68,0.05)":y==="warn"?"rgba(251,146,60,0.05)":"transparent"}function h(y){return y==="error"?"#EF4444":y==="warn"?"#FB923C":y==="debug"?"#8B8FA3":"#A0A4B5"}function b(){n("clear")}function S(){r.value=!r.value,r.value&&p()}function v(){if(!i.value)return;const{scrollTop:y,scrollHeight:m,clientHeight:A}=i.value,D=m-y-A<50;!D&&r.value?r.value=!1:D&&!r.value&&(r.value=!0)}function p(){Ds(()=>{i.value&&r.value&&(i.value.scrollTop=i.value.scrollHeight)})}return at(()=>s.logs.length,()=>{p()},{flush:"post"}),at(i,()=>{p()},{once:!0}),(y,m)=>(F(),B("div",ou,[g("div",ru,[$n(g("input",{"onUpdate:modelValue":m[0]||(m[0]=A=>o.value=A),type:"text",placeholder:"过滤日志...",class:"flex-1 px-2 py-1 rounded-sm text-[10px] font-mono-log outline-none transition-colors duration-100",style:{background:"#141416",border:"1px solid #1F1F22",color:"#A0A4B5"}},null,512),[[Dn,o.value]]),g("button",{onClick:b,class:"px-2 py-1 text-[10px] rounded-sm transition-colors duration-100",style:{color:"#8B8FA3",border:"1px solid #1F1F22"}}," 清空 "),g("button",{onClick:S,class:"px-2 py-1 text-[10px] rounded-sm font-mono-log transition-colors duration-100",style:oe({color:r.value?"#FBBF24":"#8B8FA3",background:r.value?"rgba(251,191,36,0.08)":"transparent",border:r.value?"1px solid rgba(251,191,36,0.2)":"1px solid #1F1F22"})},U(r.value?"自动":"暂停"),5)]),g("div",{ref_key:"logContainer",ref:i,class:"flex-1 overflow-y-auto px-2 py-1.5 font-mono-log text-[10px]",style:{background:"#0A0A0B"},onScroll:v},[l.value.length===0?(F(),B("div",iu,[g("span",lu,U(e.logs.length===0?"暂无日志":"无匹配"),1)])):(F(),B("div",cu,[(F(!0),B(he,null,qe(l.value,A=>(F(),B("div",{key:A.id,class:"px-1.5 py-px rounded-sm",style:oe({background:a(A.type)})},[g("span",au,"["+U(c(A.timestamp))+"]",1),g("span",{style:oe({color:h(A.type)})},U(f(A.content)),5)],4))),128))]))],544),g("div",uu,[g("span",null,U(l.value.length)+"/"+U(e.logs.length),1),r.value?J("",!0):(F(),B("span",fu,"已暂停"))])]))}},pu={class:"px-4 py-3 flex items-center justify-between flex-shrink-0",style:{"border-bottom":"1px solid #1F1F22"}},hu={class:"flex-1 overflow-y-auto"},gu={key:0,class:"flex items-center justify-center h-full"},mu={class:"text-center"},vu={class:"w-10 h-10 mx-auto mb-3 rounded-md flex items-center justify-center",style:{border:"1px dashed #2A2A2D",transform:"rotate(45deg)"}},yu={class:"w-4 h-4",style:{color:"#3A3A3D",transform:"rotate(-45deg)"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},xu={key:1},bu={class:"px-4 py-3",style:{"border-bottom":"1px solid #1F1F22"}},_u={class:"text-[13px] font-semibold font-[JetBrains_Mono,monospace]",style:{color:"#FBBF24"}},Au={key:0,class:"mt-2"},Su={key:0,class:"px-4 py-3",style:{"border-bottom":"1px solid #1F1F22"}},wu={class:"text-[11px] leading-relaxed",style:{color:"#A0A4B5"}},Fu={key:1,class:"px-4 py-3",style:{"border-bottom":"1px solid #1F1F22"}},ku={class:"text-[11px] leading-relaxed",style:{color:"#E4E4E7"}},Cu={key:2,class:"px-4 py-3",style:{"border-bottom":"1px solid #1F1F22"}},Eu={class:"text-[11px] leading-relaxed",style:{color:"#E4E4E7"}},Bu={key:3,class:"px-4 py-3",style:{"border-bottom":"1px solid #1F1F22"}},$u={class:"px-3 py-2 rounded-md",style:{background:"#0E0E10",border:"1px solid #1F1F22"}},Tu={class:"text-[11px] italic",style:{color:"#A0A4B5"}},Pu={key:4,class:"px-4 py-3",style:{"border-bottom":"1px solid #1F1F22"}},Mu={class:"space-y-1 text-[11px]",style:{color:"#8B8FA3"}},ju={key:0},Du={key:1},Ou={key:5,class:"px-4 py-3",style:{"border-bottom":"1px solid #1F1F22"}},Lu={key:0,class:"px-3 py-2 rounded-md max-h-40 overflow-y-auto",style:{background:"#0E0E10",border:"1px solid #1F1F22"}},Iu={class:"text-[10px] whitespace-pre-wrap font-mono-log",style:{color:"#A0A4B5"}},Nu={key:1,class:"mt-2 space-y-1"},Ru={class:"truncate"},Hu={class:"flex-shrink-0",style:{height:"200px","border-top":"1px solid #1F1F22"}},Vu={__name:"DetailPanel",props:{isOpen:{type:Boolean,default:!0},activeStep:{type:Object,default:null},logs:{type:Array,default:()=>[]}},emits:["close","clear-logs"],setup(e,{emit:t}){function s(n){return n?new Date(n).toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}):""}return(n,o)=>(F(),B("div",{class:Be(["flex flex-col transition-all duration-300",e.isOpen?"w-[340px]":"w-0 opacity-0 overflow-hidden"]),style:{background:"#111113"}},[g("div",pu,[o[3]||(o[3]=g("h2",{class:"text-[11px] font-semibold uppercase tracking-[0.2em] font-[JetBrains_Mono,monospace]",style:{color:"#8B8FA3"}},"详情",-1)),g("button",{onClick:o[0]||(o[0]=r=>n.$emit("close")),class:"p-1 rounded-sm transition-colors duration-100 hover:bg-white/5",style:{color:"#8B8FA3"}},[...o[2]||(o[2]=[g("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[g("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])]),g("div",hu,[e.activeStep?(F(),B("div",xu,[g("div",bu,[g("h3",_u,U(e.activeStep.title||e.activeStep.name),1),e.activeStep.status?(F(),B("div",Au,[Y(jt,{status:e.activeStep.status},null,8,["status"])])):J("",!0)]),e.activeStep.description||e.activeStep.summary?(F(),B("div",Su,[o[6]||(o[6]=g("h4",{class:"text-[9px] font-semibold uppercase tracking-[0.2em] mb-1.5 font-[JetBrains_Mono,monospace]",style:{color:"#8B8FA3"}},"描述",-1)),g("p",wu,U(e.activeStep.description||e.activeStep.summary),1)])):J("",!0),e.activeStep.conclusion?(F(),B("div",Fu,[o[7]||(o[7]=g("h4",{class:"text-[9px] font-semibold uppercase tracking-[0.2em] mb-1.5 font-[JetBrains_Mono,monospace]",style:{color:"#8B8FA3"}},"结论",-1)),g("p",ku,U(e.activeStep.conclusion),1)])):J("",!0),e.activeStep.decision?(F(),B("div",Cu,[o[8]||(o[8]=g("h4",{class:"text-[9px] font-semibold uppercase tracking-[0.2em] mb-1.5 font-[JetBrains_Mono,monospace]",style:{color:"#8B8FA3"}},"决策",-1)),g("p",Eu,U(e.activeStep.decision),1)])):J("",!0),e.activeStep.userQuery?(F(),B("div",Bu,[o[9]||(o[9]=g("h4",{class:"text-[9px] font-semibold uppercase tracking-[0.2em] mb-1.5 font-[JetBrains_Mono,monospace]",style:{color:"#8B8FA3"}},"用户提问",-1)),g("div",$u,[g("p",Tu,'"'+U(e.activeStep.userQuery)+'"',1)])])):J("",!0),e.activeStep.duration||e.activeStep.timestamp?(F(),B("div",Pu,[o[12]||(o[12]=g("h4",{class:"text-[9px] font-semibold uppercase tracking-[0.2em] mb-1.5 font-[JetBrains_Mono,monospace]",style:{color:"#8B8FA3"}},"元信息",-1)),g("div",Mu,[e.activeStep.duration?(F(),B("div",ju,[o[10]||(o[10]=g("span",{style:{color:"#A0A4B5"}},"耗时:",-1)),ut(" "+U(e.activeStep.duration),1)])):J("",!0),e.activeStep.timestamp?(F(),B("div",Du,[o[11]||(o[11]=g("span",{style:{color:"#A0A4B5"}},"时间:",-1)),ut(" "+U(s(e.activeStep.timestamp)),1)])):J("",!0)])])):J("",!0),e.activeStep.output||e.activeStep.files?(F(),B("div",Ou,[o[14]||(o[14]=g("h4",{class:"text-[9px] font-semibold uppercase tracking-[0.2em] mb-1.5 font-[JetBrains_Mono,monospace]",style:{color:"#8B8FA3"}},"输出",-1)),e.activeStep.output?(F(),B("div",Lu,[g("pre",Iu,U(e.activeStep.output),1)])):J("",!0),e.activeStep.files?(F(),B("div",Nu,[(F(!0),B(he,null,qe(e.activeStep.files,(r,i)=>(F(),B("div",{key:i,class:"flex items-center gap-2 text-[10px]",style:{color:"#8B8FA3"}},[o[13]||(o[13]=g("svg",{class:"w-3 h-3 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[g("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})],-1)),g("span",Ru,U(r),1)]))),128))])):J("",!0)])):J("",!0)])):(F(),B("div",gu,[g("div",mu,[g("div",vu,[(F(),B("svg",yu,[...o[4]||(o[4]=[g("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"},null,-1)])]))]),o[5]||(o[5]=g("p",{class:"text-[11px] font-[JetBrains_Mono,monospace]",style:{color:"#3A3A3D"}},"选择一个步骤",-1))])]))]),g("div",Hu,[Y(du,{logs:e.logs,onClear:o[1]||(o[1]=r=>n.$emit("clear-logs"))},null,8,["logs"])])],2))}},Ku={class:"h-12 flex items-center justify-between px-5 relative",style:{background:"rgba(17,17,19,0.9)","backdrop-filter":"blur(20px)","border-top":"1px solid #1F1F22"}},Uu={class:"flex items-center gap-3"},Ju={key:0,class:"flex items-center gap-2"},Wu={class:"text-[11px] font-[JetBrains_Mono,monospace]",style:{color:"#8B8FA3"}},zu={key:1,class:"text-[10px] font-[JetBrains_Mono,monospace]",style:{color:"#3A3A3D"}},qu={class:"flex items-center gap-2"},Gu={key:0,class:"flex items-center gap-2"},Xu={key:1,class:"flex items-center gap-1.5"},Yu={class:"flex items-center gap-1"},Qu={__name:"ActionBar",props:{project:{type:Object,default:null},isExecuting:{type:Boolean,default:!1},executionResult:{type:Object,default:null},isPanelOpen:{type:Boolean,default:!0}},emits:["execute","kill","toggle-panel","open-palette"],setup(e,{emit:t}){const s=e;function n(){var l,c,f,a;if(!((l=s.project)!=null&&l.state))return"pending";const r=s.project.state.currentStage,i=((a=(f=(c=s.project.state.progress)==null?void 0:c.stages)==null?void 0:f[r])==null?void 0:a.steps)||[];return i.some(h=>h.status==="failed")?"failed":i.some(h=>h.status==="blocked")?"blocked":i.some(h=>h.status==="in-progress")?"in-progress":i.every(h=>h.status==="completed")?"completed":"pending"}function o(){var l,c;const r=(c=(l=s.project)==null?void 0:l.state)==null?void 0:c.currentStage;return{brainstorm:"头脑风暴",plan:"规划",execute:"执行",verify:"验证"}[r]||r||"未知"}return(r,i)=>{var l;return F(),B("div",Ku,[i[11]||(i[11]=g("div",{class:"absolute inset-x-0 top-0 h-px",style:{background:"linear-gradient(90deg, transparent, rgba(251,191,36,0.1), transparent)"}},null,-1)),g("div",Uu,[e.project?(F(),B("div",Ju,[g("span",Wu,U(e.project.name),1),i[7]||(i[7]=g("span",{style:{color:"#1F1F22"}},"|",-1)),(l=e.project.state)!=null&&l.currentStage?(F(),Ft(jt,{key:0,status:n(),label:o()},null,8,["status","label"])):J("",!0)])):(F(),B("div",zu," 未选择项目 "))]),g("div",qu,[e.isExecuting?(F(),B("div",Gu,[...i[8]||(i[8]=[g("div",{class:"w-1 h-1 rounded-full animate-pulse-dot",style:{background:"#FBBF24"}},null,-1),g("span",{class:"text-[10px] font-[JetBrains_Mono,monospace]",style:{color:"#FBBF24"}},"执行中...",-1)])])):e.executionResult?(F(),B("div",Xu,[g("span",{class:"text-[10px] font-[JetBrains_Mono,monospace]",style:oe({color:e.executionResult.exitCode===0?"#34D399":"#EF4444"})},U(e.executionResult.exitCode===0?"● 完成":`● 失败 (${e.executionResult.exitCode})`),5)])):J("",!0)]),g("div",Yu,[g("button",{onClick:i[0]||(i[0]=c=>r.$emit("toggle-panel")),class:"p-1.5 rounded-sm transition-colors duration-100",style:{color:"#8B8FA3"},onMouseenter:i[1]||(i[1]=c=>{c.target.style.color="#FBBF24",c.target.style.background="rgba(251,191,36,0.06)"}),onMouseleave:i[2]||(i[2]=c=>{c.target.style.color="#8B8FA3",c.target.style.background="transparent"}),title:"切换详情面板"},[(F(),B("svg",{class:Be(["w-3.5 h-3.5 transition-transform duration-200",{"rotate-180":!e.isPanelOpen}]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...i[9]||(i[9]=[g("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"},null,-1)])],2))],32),e.isExecuting?(F(),B("button",{key:0,onClick:i[3]||(i[3]=c=>r.$emit("kill")),class:"px-2.5 py-1 rounded-sm text-[10px] font-[JetBrains_Mono,monospace] transition-colors duration-100",style:{background:"rgba(239,68,68,0.08)",border:"1px solid rgba(239,68,68,0.2)",color:"#EF4444"}}," 停止 ")):J("",!0),g("button",{onClick:i[4]||(i[4]=c=>r.$emit("open-palette")),class:"p-1.5 rounded-sm transition-colors duration-100",style:{color:"#8B8FA3"},onMouseenter:i[5]||(i[5]=c=>{c.target.style.color="#FBBF24",c.target.style.background="rgba(251,191,36,0.06)"}),onMouseleave:i[6]||(i[6]=c=>{c.target.style.color="#8B8FA3",c.target.style.background="transparent"}),title:"命令面板 (⌘K)"},[...i[10]||(i[10]=[g("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[g("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)])],32)])])}}},Zu={key:0,class:"fixed left-1/2 top-[18%] -translate-x-1/2 w-full max-w-md z-50"},ef={class:"overflow-hidden rounded-md",style:{background:"#141416",border:"1px solid #2A2A2D","box-shadow":"0 25px 60px rgba(0,0,0,0.5), 0 0 0 1px rgba(251,191,36,0.05)"}},tf={class:"px-4 py-3",style:{"border-bottom":"1px solid #1F1F22"}},sf={class:"flex items-center gap-3"},nf={class:"w-3.5 h-3.5 flex-shrink-0",style:{color:"#8B8FA3"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},of={key:0,class:"text-[9px] px-1 py-0.5 rounded-sm font-mono-log",style:{color:"#8B8FA3",background:"#0A0A0B",border:"1px solid #2A2A2D"}},rf={class:"max-h-72 overflow-y-auto"},lf={key:0,class:"py-10 text-center"},cf={key:1,class:"py-0.5"},af=["onClick","onMouseenter"],uf={class:"w-6 h-6 rounded-sm flex items-center justify-center text-[10px] font-[JetBrains_Mono,monospace] flex-shrink-0",style:{background:"#0A0A0B",border:"1px solid #1F1F22",color:"#8B8FA3"}},ff={class:"flex-1 min-w-0"},df={class:"text-[12px] font-medium truncate font-[JetBrains_Mono,monospace]",style:{color:"#E4E4E7"}},pf={class:"text-[10px] truncate",style:{color:"#8B8FA3"}},hf={__name:"CommandPalette",props:{isOpen:{type:Boolean,default:!1},projects:{type:Array,default:()=>[]}},emits:["close","select-project","select-stage"],setup(e,{emit:t}){const s=e,n=t,o=pe(""),r=pe(null),i=pe(0),l=[{id:"brainstorm",name:"头脑风暴"},{id:"plan",name:"规划"},{id:"execute",name:"执行"},{id:"verify",name:"验证"}],c=ue(()=>{const v=[];for(const p of s.projects){const y=!o.value||p.name.toLowerCase().includes(o.value.toLowerCase())||p.path.toLowerCase().includes(o.value.toLowerCase());y&&v.push({id:`project-${p.name}`,type:"project",title:p.name,subtitle:p.path,data:p,status:f(p)});for(const m of l)(!o.value||m.name.toLowerCase().includes(o.value.toLowerCase())||m.id.toLowerCase().includes(o.value.toLowerCase())||y)&&v.push({id:`stage-${p.name}-${m.id}`,type:"stage",title:`${p.name} / ${m.name}`,subtitle:`Jump to ${m.name}`,data:{project:p,stage:m.id},status:a(p,m.id)})}return v});function f(v){var y,m,A,D,T;const p=((T=(D=(m=(y=v.state)==null?void 0:y.progress)==null?void 0:m.stages)==null?void 0:D[(A=v.state)==null?void 0:A.currentStage])==null?void 0:T.steps)||[];return p.some(_=>_.status==="failed")?"failed":p.some(_=>_.status==="in-progress")?"in-progress":p.every(_=>_.status==="completed")?"completed":"pending"}function a(v,p){var m,A,D,T;const y=((T=(D=(A=(m=v.state)==null?void 0:m.progress)==null?void 0:A.stages)==null?void 0:D[p])==null?void 0:T.steps)||[];return y.length?y.some(_=>_.status==="failed")?"failed":y.some(_=>_.status==="in-progress")?"in-progress":y.every(_=>_.status==="completed")?"completed":"pending":"pending"}function h(){o.value="",i.value=0,n("close")}function b(v){v.type==="project"?n("select-project",v.data):n("select-stage",v.data),h()}function S(v){v.key==="ArrowDown"?(v.preventDefault(),i.value=Math.min(i.value+1,c.value.length-1)):v.key==="ArrowUp"?(v.preventDefault(),i.value=Math.max(i.value-1,0)):v.key==="Enter"?(v.preventDefault(),c.value[i.value]&&b(c.value[i.value])):v.key==="Escape"&&(v.preventDefault(),h())}return at(c,()=>{i.value=0}),at(()=>s.isOpen,v=>{v&&Ds(()=>{var p;(p=r.value)==null||p.focus()})}),(v,p)=>(F(),Ft(Ui,{to:"body"},[Y(mn,{name:"backdrop"},{default:As(()=>[e.isOpen?(F(),B("div",{key:0,class:"fixed inset-0 z-40",style:{background:"rgba(0,0,0,0.7)","backdrop-filter":"blur(4px)"},onClick:h})):J("",!0)]),_:1}),Y(mn,{name:"palette"},{default:As(()=>[e.isOpen?(F(),B("div",Zu,[g("div",ef,[g("div",tf,[g("div",sf,[(F(),B("svg",nf,[...p[1]||(p[1]=[g("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"},null,-1)])])),$n(g("input",{ref_key:"searchInput",ref:r,"onUpdate:modelValue":p[0]||(p[0]=y=>o.value=y),type:"text",placeholder:"搜索项目或命令...",class:"flex-1 bg-transparent border-none outline-none text-[12px] font-[JetBrains_Mono,monospace]",style:{color:"#E4E4E7"},onKeydown:S},null,544),[[Dn,o.value]]),o.value?(F(),B("kbd",of,"ESC")):J("",!0)])]),g("div",rf,[c.value.length===0?(F(),B("div",lf,[...p[2]||(p[2]=[g("p",{class:"text-[11px] font-[JetBrains_Mono,monospace]",style:{color:"#3A3A3D"}},"无结果",-1)])])):(F(),B("div",cf,[(F(!0),B(he,null,qe(c.value,(y,m)=>(F(),B("div",{key:y.id,class:Be(["px-4 py-2.5 cursor-pointer transition-colors duration-100 flex items-center gap-3"]),style:oe({background:i.value===m?"rgba(251,191,36,0.06)":"transparent"}),onClick:A=>b(y),onMouseenter:A=>i.value=m},[g("div",uf,U(y.type==="project"?"□":"◇"),1),g("div",ff,[g("div",df,U(y.title),1),g("div",pf,U(y.subtitle),1)]),y.status?(F(),Ft(jt,{key:0,status:y.status,size:"sm"},null,8,["status"])):J("",!0)],44,af))),128))]))]),p[3]||(p[3]=g("div",{class:"px-4 py-2 flex items-center gap-4 text-[9px] font-mono-log",style:{"border-top":"1px solid #1F1F22",color:"#3A3A3D"}},[g("span",null,[g("kbd",{class:"px-1 rounded-sm",style:{background:"#0A0A0B",border:"1px solid #1F1F22"}},"↑↓"),ut(" 导航")]),g("span",null,[g("kbd",{class:"px-1 rounded-sm",style:{background:"#0A0A0B",border:"1px solid #1F1F22"}},"↵"),ut(" 打开")]),g("span",null,[g("kbd",{class:"px-1 rounded-sm",style:{background:"#0A0A0B",border:"1px solid #1F1F22"}},"esc"),ut(" 关闭")])],-1))])])):J("",!0)]),_:1})]))}},gf=On(hf,[["__scopeId","data-v-f8e1b53e"]]),mf={class:"h-screen w-screen flex flex-col overflow-hidden font-[DM_Sans,sans-serif] relative",style:{"background-color":"#151820"}},vf={class:"flex-1 overflow-hidden accent-stripe",style:{"min-width":"300px"}},To="dashboard-panel-widths",Po=180,Mo=260,yf=240,xf=340,bf={__name:"App",setup(e){const t=wc(),s=Fc(),n=pe(!1),o=pe(null),r=pe([]),i=pe(yf),l=pe(xf),c=pe(!1);try{const _=JSON.parse(localStorage.getItem(To));(_==null?void 0:_.left)>=Po&&(i.value=_.left),(_==null?void 0:_.right)>=Mo&&(l.value=_.right)}catch{}function f(){localStorage.setItem(To,JSON.stringify({left:i.value,right:l.value}))}function a(_){_.preventDefault(),c.value=!0;const M=_.clientX,W=i.value,q=z=>{const Q=z.clientX-M;i.value=Math.max(Po,W+Q)},N=()=>{window.removeEventListener("mousemove",q),window.removeEventListener("mouseup",N),c.value=!1,f()};window.addEventListener("mousemove",q),window.addEventListener("mouseup",N)}function h(_){_.preventDefault(),c.value=!0;const M=_.clientX,W=l.value,q=z=>{const Q=M-z.clientX;l.value=Math.max(Mo,W+Q)},N=()=>{window.removeEventListener("mousemove",q),window.removeEventListener("mouseup",N),c.value=!1,f()};window.addEventListener("mousemove",q),window.addEventListener("mouseup",N)}Cc({onOpenCommandPalette:()=>{n.value=!0},onClose:()=>{n.value?n.value=!1:s.state.activeStep?s.state.activeStep=null:s.closePanel()}}),rs(()=>{t.on("projects:init",_=>{s.updateProjects(_)}),t.on("projects:updated",_=>{s.updateProjects(_)}),t.on("cli:output",_=>{_.projectName===s.activeProjectName.value&&s.appendLog(_.output)}),t.on("cli:complete",_=>{_.projectName===s.activeProjectName.value&&(s.setExecuting(null),o.value={exitCode:_.exitCode,signal:_.signal})}),t.on("cli:started",_=>{_.projectName===s.activeProjectName.value&&(s.setExecuting(_.projectName),o.value=null)}),t.on("cli:killed",_=>{_.projectName===s.activeProjectName.value&&(s.setExecuting(null),o.value={exitCode:-1,signal:"SIGTERM"})}),t.on("scan:paths",_=>{r.value=_}),t.on("docs:tree",_=>{s.updateDocs(_)})});function b(_){s.selectProject(_),s.selectDocFile(null),s.setDocContent(""),_!=null&&_.path&&t.send({type:"docs:get",data:{projectPath:_.path}})}function S({project:_,stage:M}){s.selectProject(_)}function v(_){s.selectStep(_)}function p(_){s.setActiveTab(_)}function y(_){s.selectDocFile(_),s.setDocLoading(!0),fetch(`/api/docs/content?path=${encodeURIComponent(_.path)}`).then(M=>M.ok?M.text():"").then(M=>{s.setDocContent(M),s.setDocLoading(!1)}).catch(()=>{s.setDocContent(""),s.setDocLoading(!1)})}function m(){const _=s.activeProjectName.value;_&&(s.clearLogs(),t.send({type:"cli:execute",data:{projectName:_,command:"next"}}))}function A(){const _=s.activeProjectName.value;_&&t.send({type:"cli:kill",data:{projectName:_}})}function D(_){t.send({type:"scan:add-path",data:{path:_}})}function T(_){t.send({type:"scan:remove-path",data:{path:_}})}return(_,M)=>(F(),B("div",mf,[M[2]||(M[2]=g("div",{class:"absolute inset-0 pointer-events-none",style:{background:"radial-gradient(ellipse 60% 40% at 10% 20%, rgba(251,191,36,0.04) 0%, transparent 70%), radial-gradient(ellipse 50% 50% at 90% 80%, rgba(251,191,36,0.02) 0%, transparent 70%)"}},null,-1)),g("div",{class:"flex-1 flex overflow-hidden relative z-10",style:oe(c.value?"user-select: none":"")},[g("aside",{class:"flex-shrink-0 relative overflow-hidden",style:oe(`width: ${i.value}px; background: #1A1E28; border-right: none;`)},[Y(ea,{projects:ce(s).state.projects,"active-project":ce(s).state.activeProject,"is-loading":ce(s).state.isLoading,"scan-paths":r.value,onSelect:b,"onScan:addPath":D,"onScan:removePath":T},null,8,["projects","active-project","is-loading","scan-paths"])],4),g("div",{class:"w-[2px] flex-shrink-0 cursor-col-resize hover:bg-[#FBBF24] active:bg-[#FBBF24] relative z-20",style:{background:"#2A3040"},onMousedown:a},null,32),g("main",vf,[Y(nu,{project:ce(s).state.activeProject,"active-step":ce(s).state.activeStep,"active-tab":ce(s).state.activeTab,docs:ce(s).state.docs,"selected-doc-file":ce(s).state.selectedDocFile,"doc-content":ce(s).state.docContent,"doc-loading":ce(s).state.docLoading,onSelectStep:v,onSwitchTab:p,onSelectDocFile:y},null,8,["project","active-step","active-tab","docs","selected-doc-file","doc-content","doc-loading"])]),ce(s).state.isPanelOpen?(F(),B("div",{key:0,class:"w-[2px] flex-shrink-0 cursor-col-resize hover:bg-[#FBBF24] active:bg-[#FBBF24] relative z-20",style:{background:"#2A3040"},onMousedown:h},null,32)):J("",!0),g("aside",{class:Be(["flex-shrink-0 relative overflow-hidden",ce(s).state.isPanelOpen?"":"w-0"]),style:oe(ce(s).state.isPanelOpen?`width: ${l.value}px; background: #1A1E28; transition: none;`:"background: #1A1E28;")},[Y(Vu,{"is-open":ce(s).state.isPanelOpen,"active-step":ce(s).state.activeStep,logs:ce(s).state.logs,onClose:ce(s).closePanel,onClearLogs:ce(s).clearLogs},null,8,["is-open","active-step","logs","onClose","onClearLogs"])],6)],4),Y(Qu,{project:ce(s).state.activeProject,"is-executing":ce(s).state.executingProject!==null,"execution-result":o.value,"is-panel-open":ce(s).state.isPanelOpen,onExecute:m,onKill:A,onTogglePanel:ce(s).togglePanel,onOpenPalette:M[0]||(M[0]=W=>n.value=!0)},null,8,["project","is-executing","execution-result","is-panel-open","onTogglePanel"]),Y(gf,{"is-open":n.value,projects:ce(s).state.projects,onClose:M[1]||(M[1]=W=>n.value=!1),onSelectProject:b,onSelectStage:S},null,8,["is-open","projects"])]))}};_c(bf).mount("#app");
|
|
Binary file
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
8
8
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
9
9
|
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700&family=JetBrains+Mono:wght@400;500;600;700&display=swap" rel="stylesheet">
|
|
10
|
-
<script type="module" crossorigin src="/assets/index-
|
|
11
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
10
|
+
<script type="module" crossorigin src="/assets/index-qgPzQGjk.js"></script>
|
|
11
|
+
<link rel="stylesheet" crossorigin href="/assets/index-hNnQCobe.css">
|
|
12
12
|
</head>
|
|
13
13
|
<body style="background-color: #0A0A0B; margin: 0;">
|
|
14
14
|
<div id="app"></div>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createServer } from 'http'
|
|
2
2
|
import { WebSocketServer } from 'ws'
|
|
3
3
|
import { existsSync, readFileSync, readdirSync, realpathSync } from 'fs'
|
|
4
|
-
import { join, dirname, basename, sep } from 'path'
|
|
4
|
+
import { join, dirname, basename, sep, resolve } from 'path'
|
|
5
5
|
import { fileURLToPath } from 'url'
|
|
6
6
|
import { homedir } from 'os'
|
|
7
7
|
import open from 'open'
|
|
@@ -4,9 +4,15 @@
|
|
|
4
4
|
<div class="absolute inset-0 pointer-events-none" style="background: radial-gradient(ellipse 60% 40% at 10% 20%, rgba(251,191,36,0.04) 0%, transparent 70%), radial-gradient(ellipse 50% 50% at 90% 80%, rgba(251,191,36,0.02) 0%, transparent 70%);" />
|
|
5
5
|
|
|
6
6
|
<!-- Main Content -->
|
|
7
|
-
<div
|
|
7
|
+
<div
|
|
8
|
+
class="flex-1 flex overflow-hidden relative z-10"
|
|
9
|
+
:style="isDragging ? 'user-select: none' : ''"
|
|
10
|
+
>
|
|
8
11
|
<!-- Left: Project List -->
|
|
9
|
-
<aside
|
|
12
|
+
<aside
|
|
13
|
+
class="flex-shrink-0 relative overflow-hidden"
|
|
14
|
+
:style="`width: ${leftWidth}px; background: #1A1E28; border-right: none;`"
|
|
15
|
+
>
|
|
10
16
|
<ProjectList
|
|
11
17
|
:projects="dashboard.state.projects"
|
|
12
18
|
:active-project="dashboard.state.activeProject"
|
|
@@ -18,8 +24,15 @@
|
|
|
18
24
|
/>
|
|
19
25
|
</aside>
|
|
20
26
|
|
|
27
|
+
<!-- Left ↔ Center resize handle -->
|
|
28
|
+
<div
|
|
29
|
+
class="w-[2px] flex-shrink-0 cursor-col-resize hover:bg-[#FBBF24] active:bg-[#FBBF24] relative z-20"
|
|
30
|
+
style="background: #2A3040;"
|
|
31
|
+
@mousedown="startDragLeft"
|
|
32
|
+
/>
|
|
33
|
+
|
|
21
34
|
<!-- Center: Pipeline View -->
|
|
22
|
-
<main class="flex-1 overflow-hidden accent-stripe">
|
|
35
|
+
<main class="flex-1 overflow-hidden accent-stripe" style="min-width: 300px;">
|
|
23
36
|
<PipelineView
|
|
24
37
|
:project="dashboard.state.activeProject"
|
|
25
38
|
:active-step="dashboard.state.activeStep"
|
|
@@ -34,13 +47,21 @@
|
|
|
34
47
|
/>
|
|
35
48
|
</main>
|
|
36
49
|
|
|
50
|
+
<!-- Center ↔ Right resize handle -->
|
|
51
|
+
<div
|
|
52
|
+
v-if="dashboard.state.isPanelOpen"
|
|
53
|
+
class="w-[2px] flex-shrink-0 cursor-col-resize hover:bg-[#FBBF24] active:bg-[#FBBF24] relative z-20"
|
|
54
|
+
style="background: #2A3040;"
|
|
55
|
+
@mousedown="startDragRight"
|
|
56
|
+
/>
|
|
57
|
+
|
|
37
58
|
<!-- Right: Detail Panel -->
|
|
38
59
|
<aside
|
|
39
60
|
:class="[
|
|
40
|
-
'flex-shrink-0
|
|
41
|
-
dashboard.state.isPanelOpen ? '
|
|
61
|
+
'flex-shrink-0 relative overflow-hidden',
|
|
62
|
+
dashboard.state.isPanelOpen ? '' : 'w-0'
|
|
42
63
|
]"
|
|
43
|
-
style="background: #1A1E28;
|
|
64
|
+
:style="dashboard.state.isPanelOpen ? `width: ${rightWidth}px; background: #1A1E28; transition: none;` : 'background: #1A1E28;'"
|
|
44
65
|
>
|
|
45
66
|
<DetailPanel
|
|
46
67
|
:is-open="dashboard.state.isPanelOpen"
|
|
@@ -93,6 +114,67 @@ const isCommandPaletteOpen = ref(false)
|
|
|
93
114
|
const executionResult = ref(null)
|
|
94
115
|
const scanPaths = ref([])
|
|
95
116
|
|
|
117
|
+
// Panel resize state
|
|
118
|
+
const STORAGE_KEY = 'dashboard-panel-widths'
|
|
119
|
+
const MIN_LEFT = 180
|
|
120
|
+
const MIN_CENTER = 300
|
|
121
|
+
const MIN_RIGHT = 260
|
|
122
|
+
const DEFAULT_LEFT = 240
|
|
123
|
+
const DEFAULT_RIGHT = 340
|
|
124
|
+
|
|
125
|
+
const leftWidth = ref(DEFAULT_LEFT)
|
|
126
|
+
const rightWidth = ref(DEFAULT_RIGHT)
|
|
127
|
+
const isDragging = ref(false)
|
|
128
|
+
|
|
129
|
+
// Load persisted widths
|
|
130
|
+
try {
|
|
131
|
+
const saved = JSON.parse(localStorage.getItem(STORAGE_KEY))
|
|
132
|
+
if (saved?.left >= MIN_LEFT) leftWidth.value = saved.left
|
|
133
|
+
if (saved?.right >= MIN_RIGHT) rightWidth.value = saved.right
|
|
134
|
+
} catch {}
|
|
135
|
+
|
|
136
|
+
function persistWidths() {
|
|
137
|
+
localStorage.setItem(STORAGE_KEY, JSON.stringify({ left: leftWidth.value, right: rightWidth.value }))
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
function startDragLeft(e) {
|
|
141
|
+
e.preventDefault()
|
|
142
|
+
isDragging.value = true
|
|
143
|
+
const startX = e.clientX
|
|
144
|
+
const startW = leftWidth.value
|
|
145
|
+
const onMove = (ev) => {
|
|
146
|
+
const delta = ev.clientX - startX
|
|
147
|
+
leftWidth.value = Math.max(MIN_LEFT, startW + delta)
|
|
148
|
+
}
|
|
149
|
+
const onUp = () => {
|
|
150
|
+
window.removeEventListener('mousemove', onMove)
|
|
151
|
+
window.removeEventListener('mouseup', onUp)
|
|
152
|
+
isDragging.value = false
|
|
153
|
+
persistWidths()
|
|
154
|
+
}
|
|
155
|
+
window.addEventListener('mousemove', onMove)
|
|
156
|
+
window.addEventListener('mouseup', onUp)
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
function startDragRight(e) {
|
|
160
|
+
e.preventDefault()
|
|
161
|
+
isDragging.value = true
|
|
162
|
+
const startX = e.clientX
|
|
163
|
+
const startW = rightWidth.value
|
|
164
|
+
const onMove = (ev) => {
|
|
165
|
+
const delta = startX - ev.clientX
|
|
166
|
+
rightWidth.value = Math.max(MIN_RIGHT, startW + delta)
|
|
167
|
+
}
|
|
168
|
+
const onUp = () => {
|
|
169
|
+
window.removeEventListener('mousemove', onMove)
|
|
170
|
+
window.removeEventListener('mouseup', onUp)
|
|
171
|
+
isDragging.value = false
|
|
172
|
+
persistWidths()
|
|
173
|
+
}
|
|
174
|
+
window.addEventListener('mousemove', onMove)
|
|
175
|
+
window.addEventListener('mouseup', onUp)
|
|
176
|
+
}
|
|
177
|
+
|
|
96
178
|
// Keyboard shortcuts
|
|
97
179
|
useDashboardKeyboard({
|
|
98
180
|
onOpenCommandPalette: () => { isCommandPaletteOpen.value = true },
|
|
@@ -140,6 +222,8 @@ onMounted(() => {
|
|
|
140
222
|
|
|
141
223
|
function handleSelectProject(project) {
|
|
142
224
|
dashboard.selectProject(project)
|
|
225
|
+
dashboard.selectDocFile(null)
|
|
226
|
+
dashboard.setDocContent('')
|
|
143
227
|
// Request docs for this project
|
|
144
228
|
if (project?.path) {
|
|
145
229
|
ws.send({ type: 'docs:get', data: { projectPath: project.path } })
|