diff --git a/lightrag/api/webui/assets/index-CH-3l4_Z.css b/lightrag/api/webui/assets/index-CH-3l4_Z.css deleted file mode 100644 index a13657ef..00000000 --- a/lightrag/api/webui/assets/index-CH-3l4_Z.css +++ /dev/null @@ -1 +0,0 @@ -/*! tailwindcss v4.0.8 | MIT License | https://tailwindcss.com */@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-100:oklch(.936 .032 17.717);--color-red-400:oklch(.704 .191 22.216);--color-red-500:oklch(.637 .237 25.331);--color-red-600:oklch(.577 .245 27.325);--color-red-700:oklch(.505 .213 27.518);--color-red-950:oklch(.258 .092 26.042);--color-yellow-400:oklch(.852 .199 91.936);--color-yellow-600:oklch(.681 .162 75.834);--color-green-500:oklch(.723 .219 149.579);--color-green-600:oklch(.627 .194 149.214);--color-emerald-400:oklch(.765 .177 163.223);--color-teal-600:oklch(.6 .118 184.704);--color-sky-300:oklch(.828 .111 230.318);--color-blue-600:oklch(.546 .245 262.881);--color-gray-100:oklch(.967 .003 264.542);--color-zinc-50:oklch(.985 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-lg:32rem;--container-xl:36rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-xs:.125rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-lg:16px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-font-feature-settings:var(--font-sans--font-feature-settings);--default-font-variation-settings:var(--font-sans--font-variation-settings);--default-mono-font-family:var(--font-mono);--default-mono-font-feature-settings:var(--font-mono--font-feature-settings);--default-mono-font-variation-settings:var(--font-mono--font-variation-settings)}}@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}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-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;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}:-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}*{border-color:var(--border);outline-color:color-mix(in oklab,var(--ring)50%,transparent)}body{background-color:var(--background);color:var(--foreground)}*{scrollbar-color:initial;scrollbar-width:initial}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.top-12{top:calc(var(--spacing)*12)}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-2{bottom:calc(var(--spacing)*2)}.bottom-4{bottom:calc(var(--spacing)*4)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-\[50\%\]{left:50%}.z-50{z-index:50}.\!m-0{margin:calc(var(--spacing)*0)!important}.m-0{margin:calc(var(--spacing)*0)}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-1{margin-inline:calc(var(--spacing)*1)}.my-1{margin-block:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-4{margin-right:calc(var(--spacing)*4)}.mr-6{margin-right:calc(var(--spacing)*6)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!inline{display:inline!important}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.\!size-full{width:100%!important;height:100%!important}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-full{width:100%;height:100%}.h-1\/2{height:50%}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-24{height:calc(var(--spacing)*24)}.h-52{height:calc(var(--spacing)*52)}.h-\[1px\]{height:1px}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-8{max-height:calc(var(--spacing)*8)}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[300px\]{max-height:300px}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.w-0{width:calc(var(--spacing)*0)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-6{width:calc(var(--spacing)*6)}.w-16{width:calc(var(--spacing)*16)}.w-24{width:calc(var(--spacing)*24)}.w-\[1px\]{width:1px}.w-auto{width:auto}.w-full{width:100%}.w-screen{width:100vw}.max-w-80{max-width:calc(var(--spacing)*80)}.max-w-\[80\%\]{max-width:80%}.max-w-lg{max-width:var(--container-lg)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-24{min-width:calc(var(--spacing)*24)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[300px\]{min-width:300px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.flex-auto{flex:auto}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-20{--tw-translate-y:calc(var(--spacing)*-20);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-125{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x)var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.\[appearance\:textfield\]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-px{gap:1px}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.\!rounded-none{border-radius:0!important}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-tr-none{border-top-right-radius:0}.rounded-br-none{border-bottom-right-radius:0}.border,.border-1{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.\!border-none{--tw-border-style:none;border-style:none!important}.border-dashed{--tw-border-style:dashed;border-style:dashed}.\!border-input{border-color:var(--input)!important}.border-border\/40{border-color:color-mix(in oklab,var(--border)40%,transparent)}.border-destructive\/50{border-color:color-mix(in oklab,var(--destructive)50%,transparent)}.border-input{border-color:var(--input)}.border-muted-foreground\/25{border-color:color-mix(in oklab,var(--muted-foreground)25%,transparent)}.border-muted-foreground\/50{border-color:color-mix(in oklab,var(--muted-foreground)50%,transparent)}.border-primary{border-color:var(--primary)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.\!bg-background{background-color:var(--background)!important}.\!bg-emerald-400{background-color:var(--color-emerald-400)!important}.bg-background{background-color:var(--background)}.bg-background\/60{background-color:color-mix(in oklab,var(--background)60%,transparent)}.bg-background\/80{background-color:color-mix(in oklab,var(--background)80%,transparent)}.bg-background\/90{background-color:color-mix(in oklab,var(--background)90%,transparent)}.bg-background\/95{background-color:color-mix(in oklab,var(--background)95%,transparent)}.bg-black\/10{background-color:color-mix(in oklab,var(--color-black)10%,transparent)}.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-foreground\/10{background-color:color-mix(in oklab,var(--foreground)10%,transparent)}.bg-green-500{background-color:var(--color-green-500)}.bg-muted{background-color:var(--muted)}.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-primary-foreground\/60{background-color:color-mix(in oklab,var(--primary-foreground)60%,transparent)}.bg-primary\/5{background-color:color-mix(in oklab,var(--primary)5%,transparent)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-700{background-color:var(--color-red-700)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.object-cover{object-fit:cover}.\!p-0{padding:calc(var(--spacing)*0)!important}.\!p-2{padding:calc(var(--spacing)*2)!important}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-16{padding:calc(var(--spacing)*16)}.p-\[1px\]{padding:1px}.px-1{padding-inline:calc(var(--spacing)*1)}.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-8{padding-inline:calc(var(--spacing)*8)}.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-6{padding-block:calc(var(--spacing)*6)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-12{padding-bottom:calc(var(--spacing)*12)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-8{padding-left:calc(var(--spacing)*8)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.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-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.\!text-zinc-50{color:var(--color-zinc-50)!important}.text-blue-600{color:var(--color-blue-600)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-emerald-400{color:var(--color-emerald-400)}.text-foreground{color:var(--foreground)}.text-foreground\/80{color:color-mix(in oklab,var(--foreground)80%,transparent)}.text-green-600{color:var(--color-green-600)}.text-muted-foreground{color:var(--muted-foreground)}.text-muted-foreground\/70{color:color-mix(in oklab,var(--muted-foreground)70%,transparent)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-primary\/60{color:color-mix(in oklab,var(--primary)60%,transparent)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sky-300{color:var(--color-sky-300)}.text-teal-600{color:var(--color-teal-600)}.text-teal-600\/90{color:color-mix(in oklab,var(--color-teal-600)90%,transparent)}.text-white{color:var(--color-white)}.text-yellow-400\/90{color:color-mix(in oklab,var(--color-yellow-400)90%,transparent)}.text-yellow-600{color:var(--color-yellow-600)}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#0003);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_rgba\(34\,197\,94\,0\.4\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#22c55e66);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_rgba\(239\,68\,68\,0\.4\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#ef444466);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));-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;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))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-2000{--tw-duration:2s;transition-duration:2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.duration-2000{animation-duration:2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}@media (hover:hover){.hover\:w-fit:hover{width:fit-content}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-background\/60:hover{background-color:color-mix(in oklab,var(--background)60%,transparent)}.hover\:bg-destructive\/80:hover{background-color:color-mix(in oklab,var(--destructive)80%,transparent)}.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}.hover\:bg-muted\/25:hover{background-color:color-mix(in oklab,var(--muted)25%,transparent)}.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}.hover\:bg-primary\/5:hover{background-color:color-mix(in oklab,var(--primary)5%,transparent)}.hover\:bg-primary\/20:hover{background-color:color-mix(in oklab,var(--primary)20%,transparent)}.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab,var(--primary)80%,transparent)}.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-0:focus{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-0:focus{outline-style:var(--tw-outline-style);outline-width:0}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:relative:focus-visible{position:relative}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:right-0:active{right:calc(var(--spacing)*0)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[selected\=\'true\'\]\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-\[backdrop-filter\]\:bg-background\/60{background-color:color-mix(in oklab,var(--background)60%,transparent)}}@media (width>=40rem){.sm\:mt-0{margin-top:calc(var(--spacing)*0)}.sm\:max-w-xl{max-width:var(--container-xl)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:px-5{padding-inline:calc(var(--spacing)*5)}.sm\:text-left{text-align:left}}@media (width>=48rem){.md\:inline-block{display:inline-block}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.dark\:border-destructive:is(.dark *){border-color:var(--destructive)}.dark\:bg-gray-100\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-gray-100)20%,transparent)}.dark\:bg-red-950:is(.dark *){background-color:var(--color-red-950)}.dark\:text-red-400:is(.dark *){color:var(--color-red-400)}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing)*1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing)*0)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing)*5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing)*5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing)*12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing)*3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing)*5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing)*5)}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\[\&\:\:-webkit-inner-spin-button\]\:opacity-100::-webkit-inner-spin-button{opacity:1}.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\[\&\:\:-webkit-outer-spin-button\]\:opacity-100::-webkit-outer-spin-button{opacity:1}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing)*0)}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:top-4>svg{top:calc(var(--spacing)*4)}.\[\&\>svg\]\:left-4>svg{left:calc(var(--spacing)*4)}.\[\&\>svg\]\:text-destructive>svg{color:var(--destructive)}.\[\&\>svg\]\:text-foreground>svg{color:var(--foreground)}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:calc(var(--spacing)*7)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}:root{--background:#fff;--foreground:#09090b;--card:#fff;--card-foreground:#09090b;--popover:#fff;--popover-foreground:#09090b;--primary:#18181b;--primary-foreground:#fafafa;--secondary:#f4f4f5;--secondary-foreground:#18181b;--muted:#f4f4f5;--muted-foreground:#71717a;--accent:#f4f4f5;--accent-foreground:#18181b;--destructive:#ef4444;--destructive-foreground:#fafafa;--border:#e4e4e7;--input:#e4e4e7;--ring:#09090b;--chart-1:#e76e50;--chart-2:#2a9d90;--chart-3:#274754;--chart-4:#e8c468;--chart-5:#f4a462;--radius:.6rem;--sidebar-background:#fafafa;--sidebar-foreground:#3f3f46;--sidebar-primary:#18181b;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#f4f4f5;--sidebar-accent-foreground:#18181b;--sidebar-border:#e5e7eb;--sidebar-ring:#3b82f6}.dark{--background:#09090b;--foreground:#fafafa;--card:#09090b;--card-foreground:#fafafa;--popover:#09090b;--popover-foreground:#fafafa;--primary:#fafafa;--primary-foreground:#18181b;--secondary:#27272a;--secondary-foreground:#fafafa;--muted:#27272a;--muted-foreground:#a1a1aa;--accent:#27272a;--accent-foreground:#fafafa;--destructive:#7f1d1d;--destructive-foreground:#fafafa;--border:#27272a;--input:#27272a;--ring:#d4d4d8;--chart-1:#2662d9;--chart-2:#2eb88a;--chart-3:#e88c30;--chart-4:#af57db;--chart-5:#e23670;--sidebar-background:#18181b;--sidebar-foreground:#f4f4f5;--sidebar-primary:#1d4ed8;--sidebar-primary-foreground:#fff;--sidebar-accent:#27272a;--sidebar-accent-foreground:#f4f4f5;--sidebar-border:#27272a;--sidebar-ring:#3b82f6}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:5px}::-webkit-scrollbar-track{background-color:#f2f2f2}.dark ::-webkit-scrollbar-thumb{background-color:#e6e6e6}.dark ::-webkit-scrollbar-track{background-color:#000}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0))}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}@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-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}:root{--sigma-background-color:#fff;--sigma-controls-background-color:#fff;--sigma-controls-background-color-hover:rgba(0,0,0,.2);--sigma-controls-border-color:rgba(0,0,0,.2);--sigma-controls-color:#000;--sigma-controls-zindex:100;--sigma-controls-margin:5px;--sigma-controls-size:30px}div.react-sigma{height:100%;width:100%;position:relative;background:var(--sigma-background-color)}div.sigma-container{height:100%;width:100%}.react-sigma-controls{position:absolute;z-index:var(--sigma-controls-zindex);border:2px solid var(--sigma-controls-border-color);border-radius:4px;color:var(--sigma-controls-color);background-color:var(--sigma-controls-background-color)}.react-sigma-controls.bottom-right{bottom:var(--sigma-controls-margin);right:var(--sigma-controls-margin)}.react-sigma-controls.bottom-left{bottom:var(--sigma-controls-margin);left:var(--sigma-controls-margin)}.react-sigma-controls.top-right{top:var(--sigma-controls-margin);right:var(--sigma-controls-margin)}.react-sigma-controls.top-left{top:var(--sigma-controls-margin);left:var(--sigma-controls-margin)}.react-sigma-controls:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.react-sigma-controls:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.react-sigma-control{width:var(--sigma-controls-size);height:var(--sigma-controls-size);line-height:var(--sigma-controls-size);background-color:var(--sigma-controls-background-color);border-bottom:1px solid var(--sigma-controls-border-color)}.react-sigma-control:last-child{border-bottom:none}.react-sigma-control>*{box-sizing:border-box}.react-sigma-control>button{display:block;border:none;margin:0;padding:0;width:var(--sigma-controls-size);height:var(--sigma-controls-size);line-height:var(--sigma-controls-size);background-position:center;background-size:50%;background-repeat:no-repeat;background-color:var(--sigma-controls-background-color);clip:rect(0,0,0,0)}.react-sigma-control>button:hover{background-color:var(--sigma-controls-background-color-hover)}.react-sigma-search{background-color:var(--sigma-controls-background-color)}.react-sigma-search label{visibility:hidden}.react-sigma-search input{color:var(--sigma-controls-color);background-color:var(--sigma-controls-background-color);font-size:1em;width:100%;margin:0;border:none;padding:var(--sigma-controls-margin);box-sizing:border-box}:root{--sigma-grey-color:#ccc}.react-sigma .option.hoverable{cursor:pointer!important}.react-sigma .text-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.react-sigma .react-select__clear-indicator{cursor:pointer!important}.react-sigma .text-muted{color:var(--sigma-grey-color)}.react-sigma .text-italic{font-style:italic}.react-sigma .text-center{text-align:center}.react-sigma .graph-search{min-width:250px}.react-sigma .graph-search .option{padding:2px 8px}.react-sigma .graph-search .dropdown-indicator{font-size:1.25em;padding:4px}.react-sigma .graph-search .option.selected{background-color:var(--sigma-grey-color)}.react-sigma .node .render{position:relative;display:inline-block;width:1em;height:1em;border-radius:1em;background-color:var(--sigma-grey-color);margin-right:8px}.react-sigma .node{display:flex;flex-direction:row;align-items:center}.react-sigma .node .render{flex-grow:0;flex-shrink:0;margin-right:0 .25em}.react-sigma .node .label{flex-grow:1;flex-shrink:1}.react-sigma .edge{display:flex;flex-direction:column;align-items:flex-start;flex-grow:0;flex-shrink:0;flex-wrap:nowrap}.react-sigma .edge .node{font-size:.7em}.react-sigma .edge .body{display:flex;flex-direction:row;flex-grow:1;flex-shrink:1;min-height:.6em}.react-sigma .edge .body .render{display:flex;flex-direction:column;margin:0 2px}.react-sigma .edge .body .render .dash,.react-sigma .edge .body .render .dotted{display:inline-block;width:0;margin:0 2px;border:2px solid #ccc;flex-grow:1;flex-shrink:1}.react-sigma .edge .body .render .dotted{border-style:dotted}.react-sigma .edge .body .render .arrow{width:0;height:0;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:.6em solid red;flex-shrink:0;flex-grow:0;border-left-width:.3em;border-right-width:.3em}.react-sigma .edge .body .label{flex-grow:1;flex-shrink:1;text-align:center} diff --git a/lightrag/api/webui/assets/index-BlVvSIic.js b/lightrag/api/webui/assets/index-DB4_OcJk.js similarity index 95% rename from lightrag/api/webui/assets/index-BlVvSIic.js rename to lightrag/api/webui/assets/index-DB4_OcJk.js index 379cdc89..b59f2fc2 100644 --- a/lightrag/api/webui/assets/index-BlVvSIic.js +++ b/lightrag/api/webui/assets/index-DB4_OcJk.js @@ -269,7 +269,7 @@ You can add a description to the \`${dl}\` by passing a \`${XP}\` component as a Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${dl}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component. -For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return k.useEffect(()=>{var r;document.getElementById((r=e.current)==null?void 0:r.getAttribute("aria-describedby"))||console.warn(t)},[t,e]),null},Z7=$P,Q7=qP,tB=VP,nB=WP,rB=QP,aB=eB,oB=KP,iB=ZP;const J7=["top","right","bottom","left"],yo=Math.min,Kn=Math.max,Id=Math.round,Hc=Math.floor,Kr=e=>({x:e,y:e}),eV={left:"right",right:"left",bottom:"top",top:"bottom"},tV={start:"end",end:"start"};function Tx(e,t,n){return Kn(e,yo(t,n))}function Da(e,t){return typeof e=="function"?e(t):e}function Ia(e){return e.split("-")[0]}function Rl(e){return e.split("-")[1]}function $k(e){return e==="x"?"y":"x"}function qk(e){return e==="y"?"height":"width"}function vo(e){return["top","bottom"].includes(Ia(e))?"y":"x"}function Vk(e){return $k(vo(e))}function nV(e,t,n){n===void 0&&(n=!1);const r=Rl(e),a=Vk(e),i=qk(a);let l=a==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[i]>t.floating[i]&&(l=Ld(l)),[l,Ld(l)]}function rV(e){const t=Ld(e);return[_x(e),t,_x(t)]}function _x(e){return e.replace(/start|end/g,t=>tV[t])}function aV(e,t,n){const r=["left","right"],a=["right","left"],i=["top","bottom"],l=["bottom","top"];switch(e){case"top":case"bottom":return n?t?a:r:t?r:a;case"left":case"right":return t?i:l;default:return[]}}function oV(e,t,n,r){const a=Rl(e);let i=aV(Ia(e),n==="start",r);return a&&(i=i.map(l=>l+"-"+a),t&&(i=i.concat(i.map(_x)))),i}function Ld(e){return e.replace(/left|right|bottom|top/g,t=>eV[t])}function iV(e){return{top:0,right:0,bottom:0,left:0,...e}}function lB(e){return typeof e!="number"?iV(e):{top:e,right:e,bottom:e,left:e}}function Md(e){const{x:t,y:n,width:r,height:a}=e;return{width:r,height:a,top:n,left:t,right:t+r,bottom:n+a,x:t,y:n}}function PR(e,t,n){let{reference:r,floating:a}=e;const i=vo(t),l=Vk(t),u=qk(l),c=Ia(t),f=i==="y",p=r.x+r.width/2-a.width/2,g=r.y+r.height/2-a.height/2,b=r[u]/2-a[u]/2;let m;switch(c){case"top":m={x:p,y:r.y-a.height};break;case"bottom":m={x:p,y:r.y+r.height};break;case"right":m={x:r.x+r.width,y:g};break;case"left":m={x:r.x-a.width,y:g};break;default:m={x:r.x,y:r.y}}switch(Rl(t)){case"start":m[l]-=b*(n&&f?-1:1);break;case"end":m[l]+=b*(n&&f?-1:1);break}return m}const lV=async(e,t,n)=>{const{placement:r="bottom",strategy:a="absolute",middleware:i=[],platform:l}=n,u=i.filter(Boolean),c=await(l.isRTL==null?void 0:l.isRTL(t));let f=await l.getElementRects({reference:e,floating:t,strategy:a}),{x:p,y:g}=PR(f,r,c),b=r,m={},S=0;for(let v=0;v({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:a,rects:i,platform:l,elements:u,middlewareData:c}=t,{element:f,padding:p=0}=Da(e,t)||{};if(f==null)return{};const g=lB(p),b={x:n,y:r},m=Vk(a),S=qk(m),v=await l.getDimensions(f),A=m==="y",R=A?"top":"left",x=A?"bottom":"right",T=A?"clientHeight":"clientWidth",C=i.reference[S]+i.reference[m]-b[m]-i.floating[S],N=b[m]-i.reference[m],_=await(l.getOffsetParent==null?void 0:l.getOffsetParent(f));let O=_?_[T]:0;(!O||!await(l.isElement==null?void 0:l.isElement(_)))&&(O=u.floating[T]||i.floating[S]);const z=C/2-N/2,I=O/2-v[S]/2-1,M=yo(g[R],I),H=yo(g[x],I),q=M,P=O-v[S]-H,W=O/2-v[S]/2+z,Z=Tx(q,W,P),j=!c.arrow&&Rl(a)!=null&&W!==Z&&i.reference[S]/2-(WW<=0)){var H,q;const W=(((H=i.flip)==null?void 0:H.index)||0)+1,Z=O[W];if(Z)return{data:{index:W,overflows:M},reset:{placement:Z}};let j=(q=M.filter(G=>G.overflows[0]<=0).sort((G,B)=>G.overflows[1]-B.overflows[1])[0])==null?void 0:q.placement;if(!j)switch(m){case"bestFit":{var P;const G=(P=M.filter(B=>{if(_){const X=vo(B.placement);return X===x||X==="y"}return!0}).map(B=>[B.placement,B.overflows.filter(X=>X>0).reduce((X,D)=>X+D,0)]).sort((B,X)=>B[1]-X[1])[0])==null?void 0:P[0];G&&(j=G);break}case"initialPlacement":j=u;break}if(a!==j)return{reset:{placement:j}}}return{}}}};function BR(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function UR(e){return J7.some(t=>e[t]>=0)}const cV=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:r="referenceHidden",...a}=Da(e,t);switch(r){case"referenceHidden":{const i=await eu(t,{...a,elementContext:"reference"}),l=BR(i,n.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:UR(l)}}}case"escaped":{const i=await eu(t,{...a,altBoundary:!0}),l=BR(i,n.floating);return{data:{escapedOffsets:l,escaped:UR(l)}}}default:return{}}}}};async function dV(e,t){const{placement:n,platform:r,elements:a}=e,i=await(r.isRTL==null?void 0:r.isRTL(a.floating)),l=Ia(n),u=Rl(n),c=vo(n)==="y",f=["left","top"].includes(l)?-1:1,p=i&&c?-1:1,g=Da(t,e);let{mainAxis:b,crossAxis:m,alignmentAxis:S}=typeof g=="number"?{mainAxis:g,crossAxis:0,alignmentAxis:null}:{mainAxis:g.mainAxis||0,crossAxis:g.crossAxis||0,alignmentAxis:g.alignmentAxis};return u&&typeof S=="number"&&(m=u==="end"?S*-1:S),c?{x:m*p,y:b*f}:{x:b*f,y:m*p}}const fV=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,r;const{x:a,y:i,placement:l,middlewareData:u}=t,c=await dV(t,e);return l===((n=u.offset)==null?void 0:n.placement)&&(r=u.arrow)!=null&&r.alignmentOffset?{}:{x:a+c.x,y:i+c.y,data:{...c,placement:l}}}}},pV=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:a}=t,{mainAxis:i=!0,crossAxis:l=!1,limiter:u={fn:A=>{let{x:R,y:x}=A;return{x:R,y:x}}},...c}=Da(e,t),f={x:n,y:r},p=await eu(t,c),g=vo(Ia(a)),b=$k(g);let m=f[b],S=f[g];if(i){const A=b==="y"?"top":"left",R=b==="y"?"bottom":"right",x=m+p[A],T=m-p[R];m=Tx(x,m,T)}if(l){const A=g==="y"?"top":"left",R=g==="y"?"bottom":"right",x=S+p[A],T=S-p[R];S=Tx(x,S,T)}const v=u.fn({...t,[b]:m,[g]:S});return{...v,data:{x:v.x-n,y:v.y-r,enabled:{[b]:i,[g]:l}}}}}},gV=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:a,rects:i,middlewareData:l}=t,{offset:u=0,mainAxis:c=!0,crossAxis:f=!0}=Da(e,t),p={x:n,y:r},g=vo(a),b=$k(g);let m=p[b],S=p[g];const v=Da(u,t),A=typeof v=="number"?{mainAxis:v,crossAxis:0}:{mainAxis:0,crossAxis:0,...v};if(c){const T=b==="y"?"height":"width",C=i.reference[b]-i.floating[T]+A.mainAxis,N=i.reference[b]+i.reference[T]-A.mainAxis;mN&&(m=N)}if(f){var R,x;const T=b==="y"?"width":"height",C=["top","left"].includes(Ia(a)),N=i.reference[g]-i.floating[T]+(C&&((R=l.offset)==null?void 0:R[g])||0)+(C?0:A.crossAxis),_=i.reference[g]+i.reference[T]+(C?0:((x=l.offset)==null?void 0:x[g])||0)-(C?A.crossAxis:0);S_&&(S=_)}return{[b]:m,[g]:S}}}},hV=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,r;const{placement:a,rects:i,platform:l,elements:u}=t,{apply:c=()=>{},...f}=Da(e,t),p=await eu(t,f),g=Ia(a),b=Rl(a),m=vo(a)==="y",{width:S,height:v}=i.floating;let A,R;g==="top"||g==="bottom"?(A=g,R=b===(await(l.isRTL==null?void 0:l.isRTL(u.floating))?"start":"end")?"left":"right"):(R=g,A=b==="end"?"top":"bottom");const x=v-p.top-p.bottom,T=S-p.left-p.right,C=yo(v-p[A],x),N=yo(S-p[R],T),_=!t.middlewareData.shift;let O=C,z=N;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(z=T),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(O=x),_&&!b){const M=Kn(p.left,0),H=Kn(p.right,0),q=Kn(p.top,0),P=Kn(p.bottom,0);m?z=S-2*(M!==0||H!==0?M+H:Kn(p.left,p.right)):O=v-2*(q!==0||P!==0?q+P:Kn(p.top,p.bottom))}await c({...t,availableWidth:z,availableHeight:O});const I=await l.getDimensions(u.floating);return S!==I.width||v!==I.height?{reset:{rects:!0}}:{}}}};function mf(){return typeof window<"u"}function Cl(e){return sB(e)?(e.nodeName||"").toLowerCase():"#document"}function Zn(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Zr(e){var t;return(t=(sB(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function sB(e){return mf()?e instanceof Node||e instanceof Zn(e).Node:!1}function Dr(e){return mf()?e instanceof Element||e instanceof Zn(e).Element:!1}function Xr(e){return mf()?e instanceof HTMLElement||e instanceof Zn(e).HTMLElement:!1}function jR(e){return!mf()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Zn(e).ShadowRoot}function mu(e){const{overflow:t,overflowX:n,overflowY:r,display:a}=Ir(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!["inline","contents"].includes(a)}function mV(e){return["table","td","th"].includes(Cl(e))}function bf(e){return[":popover-open",":modal"].some(t=>{try{return e.matches(t)}catch{return!1}})}function Wk(e){const t=Yk(),n=Dr(e)?Ir(e):e;return["transform","translate","scale","rotate","perspective"].some(r=>n[r]?n[r]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||["transform","translate","scale","rotate","perspective","filter"].some(r=>(n.willChange||"").includes(r))||["paint","layout","strict","content"].some(r=>(n.contain||"").includes(r))}function bV(e){let t=So(e);for(;Xr(t)&&!ml(t);){if(Wk(t))return t;if(bf(t))return null;t=So(t)}return null}function Yk(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function ml(e){return["html","body","#document"].includes(Cl(e))}function Ir(e){return Zn(e).getComputedStyle(e)}function yf(e){return Dr(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function So(e){if(Cl(e)==="html")return e;const t=e.assignedSlot||e.parentNode||jR(e)&&e.host||Zr(e);return jR(t)?t.host:t}function uB(e){const t=So(e);return ml(t)?e.ownerDocument?e.ownerDocument.body:e.body:Xr(t)&&mu(t)?t:uB(t)}function tu(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);const a=uB(e),i=a===((r=e.ownerDocument)==null?void 0:r.body),l=Zn(a);if(i){const u=Rx(l);return t.concat(l,l.visualViewport||[],mu(a)?a:[],u&&n?tu(u):[])}return t.concat(a,tu(a,[],n))}function Rx(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function cB(e){const t=Ir(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const a=Xr(e),i=a?e.offsetWidth:n,l=a?e.offsetHeight:r,u=Id(n)!==i||Id(r)!==l;return u&&(n=i,r=l),{width:n,height:r,$:u}}function Kk(e){return Dr(e)?e:e.contextElement}function fl(e){const t=Kk(e);if(!Xr(t))return Kr(1);const n=t.getBoundingClientRect(),{width:r,height:a,$:i}=cB(t);let l=(i?Id(n.width):n.width)/r,u=(i?Id(n.height):n.height)/a;return(!l||!Number.isFinite(l))&&(l=1),(!u||!Number.isFinite(u))&&(u=1),{x:l,y:u}}const yV=Kr(0);function dB(e){const t=Zn(e);return!Yk()||!t.visualViewport?yV:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function vV(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==Zn(e)?!1:t}function oi(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const a=e.getBoundingClientRect(),i=Kk(e);let l=Kr(1);t&&(r?Dr(r)&&(l=fl(r)):l=fl(e));const u=vV(i,n,r)?dB(i):Kr(0);let c=(a.left+u.x)/l.x,f=(a.top+u.y)/l.y,p=a.width/l.x,g=a.height/l.y;if(i){const b=Zn(i),m=r&&Dr(r)?Zn(r):r;let S=b,v=Rx(S);for(;v&&r&&m!==S;){const A=fl(v),R=v.getBoundingClientRect(),x=Ir(v),T=R.left+(v.clientLeft+parseFloat(x.paddingLeft))*A.x,C=R.top+(v.clientTop+parseFloat(x.paddingTop))*A.y;c*=A.x,f*=A.y,p*=A.x,g*=A.y,c+=T,f+=C,S=Zn(v),v=Rx(S)}}return Md({width:p,height:g,x:c,y:f})}function Xk(e,t){const n=yf(e).scrollLeft;return t?t.left+n:oi(Zr(e)).left+n}function fB(e,t,n){n===void 0&&(n=!1);const r=e.getBoundingClientRect(),a=r.left+t.scrollLeft-(n?0:Xk(e,r)),i=r.top+t.scrollTop;return{x:a,y:i}}function SV(e){let{elements:t,rect:n,offsetParent:r,strategy:a}=e;const i=a==="fixed",l=Zr(r),u=t?bf(t.floating):!1;if(r===l||u&&i)return n;let c={scrollLeft:0,scrollTop:0},f=Kr(1);const p=Kr(0),g=Xr(r);if((g||!g&&!i)&&((Cl(r)!=="body"||mu(l))&&(c=yf(r)),Xr(r))){const m=oi(r);f=fl(r),p.x=m.x+r.clientLeft,p.y=m.y+r.clientTop}const b=l&&!g&&!i?fB(l,c,!0):Kr(0);return{width:n.width*f.x,height:n.height*f.y,x:n.x*f.x-c.scrollLeft*f.x+p.x+b.x,y:n.y*f.y-c.scrollTop*f.y+p.y+b.y}}function EV(e){return Array.from(e.getClientRects())}function wV(e){const t=Zr(e),n=yf(e),r=e.ownerDocument.body,a=Kn(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),i=Kn(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let l=-n.scrollLeft+Xk(e);const u=-n.scrollTop;return Ir(r).direction==="rtl"&&(l+=Kn(t.clientWidth,r.clientWidth)-a),{width:a,height:i,x:l,y:u}}function xV(e,t){const n=Zn(e),r=Zr(e),a=n.visualViewport;let i=r.clientWidth,l=r.clientHeight,u=0,c=0;if(a){i=a.width,l=a.height;const f=Yk();(!f||f&&t==="fixed")&&(u=a.offsetLeft,c=a.offsetTop)}return{width:i,height:l,x:u,y:c}}function kV(e,t){const n=oi(e,!0,t==="fixed"),r=n.top+e.clientTop,a=n.left+e.clientLeft,i=Xr(e)?fl(e):Kr(1),l=e.clientWidth*i.x,u=e.clientHeight*i.y,c=a*i.x,f=r*i.y;return{width:l,height:u,x:c,y:f}}function GR(e,t,n){let r;if(t==="viewport")r=xV(e,n);else if(t==="document")r=wV(Zr(e));else if(Dr(t))r=kV(t,n);else{const a=dB(e);r={x:t.x-a.x,y:t.y-a.y,width:t.width,height:t.height}}return Md(r)}function pB(e,t){const n=So(e);return n===t||!Dr(n)||ml(n)?!1:Ir(n).position==="fixed"||pB(n,t)}function AV(e,t){const n=t.get(e);if(n)return n;let r=tu(e,[],!1).filter(u=>Dr(u)&&Cl(u)!=="body"),a=null;const i=Ir(e).position==="fixed";let l=i?So(e):e;for(;Dr(l)&&!ml(l);){const u=Ir(l),c=Wk(l);!c&&u.position==="fixed"&&(a=null),(i?!c&&!a:!c&&u.position==="static"&&!!a&&["absolute","fixed"].includes(a.position)||mu(l)&&!c&&pB(e,l))?r=r.filter(p=>p!==l):a=u,l=So(l)}return t.set(e,r),r}function TV(e){let{element:t,boundary:n,rootBoundary:r,strategy:a}=e;const l=[...n==="clippingAncestors"?bf(t)?[]:AV(t,this._c):[].concat(n),r],u=l[0],c=l.reduce((f,p)=>{const g=GR(t,p,a);return f.top=Kn(g.top,f.top),f.right=yo(g.right,f.right),f.bottom=yo(g.bottom,f.bottom),f.left=Kn(g.left,f.left),f},GR(t,u,a));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}}function _V(e){const{width:t,height:n}=cB(e);return{width:t,height:n}}function RV(e,t,n){const r=Xr(t),a=Zr(t),i=n==="fixed",l=oi(e,!0,i,t);let u={scrollLeft:0,scrollTop:0};const c=Kr(0);if(r||!r&&!i)if((Cl(t)!=="body"||mu(a))&&(u=yf(t)),r){const b=oi(t,!0,i,t);c.x=b.x+t.clientLeft,c.y=b.y+t.clientTop}else a&&(c.x=Xk(a));const f=a&&!r&&!i?fB(a,u):Kr(0),p=l.left+u.scrollLeft-c.x-f.x,g=l.top+u.scrollTop-c.y-f.y;return{x:p,y:g,width:l.width,height:l.height}}function Sh(e){return Ir(e).position==="static"}function HR(e,t){if(!Xr(e)||Ir(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Zr(e)===n&&(n=n.ownerDocument.body),n}function gB(e,t){const n=Zn(e);if(bf(e))return n;if(!Xr(e)){let a=So(e);for(;a&&!ml(a);){if(Dr(a)&&!Sh(a))return a;a=So(a)}return n}let r=HR(e,t);for(;r&&mV(r)&&Sh(r);)r=HR(r,t);return r&&ml(r)&&Sh(r)&&!Wk(r)?n:r||bV(e)||n}const CV=async function(e){const t=this.getOffsetParent||gB,n=this.getDimensions,r=await n(e.floating);return{reference:RV(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function NV(e){return Ir(e).direction==="rtl"}const OV={convertOffsetParentRelativeRectToViewportRelativeRect:SV,getDocumentElement:Zr,getClippingRect:TV,getOffsetParent:gB,getElementRects:CV,getClientRects:EV,getDimensions:_V,getScale:fl,isElement:Dr,isRTL:NV};function hB(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function DV(e,t){let n=null,r;const a=Zr(e);function i(){var u;clearTimeout(r),(u=n)==null||u.disconnect(),n=null}function l(u,c){u===void 0&&(u=!1),c===void 0&&(c=1),i();const f=e.getBoundingClientRect(),{left:p,top:g,width:b,height:m}=f;if(u||t(),!b||!m)return;const S=Hc(g),v=Hc(a.clientWidth-(p+b)),A=Hc(a.clientHeight-(g+m)),R=Hc(p),T={rootMargin:-S+"px "+-v+"px "+-A+"px "+-R+"px",threshold:Kn(0,yo(1,c))||1};let C=!0;function N(_){const O=_[0].intersectionRatio;if(O!==c){if(!C)return l();O?l(!1,O):r=setTimeout(()=>{l(!1,1e-7)},1e3)}O===1&&!hB(f,e.getBoundingClientRect())&&l(),C=!1}try{n=new IntersectionObserver(N,{...T,root:a.ownerDocument})}catch{n=new IntersectionObserver(N,T)}n.observe(e)}return l(!0),i}function IV(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:a=!0,ancestorResize:i=!0,elementResize:l=typeof ResizeObserver=="function",layoutShift:u=typeof IntersectionObserver=="function",animationFrame:c=!1}=r,f=Kk(e),p=a||i?[...f?tu(f):[],...tu(t)]:[];p.forEach(R=>{a&&R.addEventListener("scroll",n,{passive:!0}),i&&R.addEventListener("resize",n)});const g=f&&u?DV(f,n):null;let b=-1,m=null;l&&(m=new ResizeObserver(R=>{let[x]=R;x&&x.target===f&&m&&(m.unobserve(t),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{var T;(T=m)==null||T.observe(t)})),n()}),f&&!c&&m.observe(f),m.observe(t));let S,v=c?oi(e):null;c&&A();function A(){const R=oi(e);v&&!hB(v,R)&&n(),v=R,S=requestAnimationFrame(A)}return n(),()=>{var R;p.forEach(x=>{a&&x.removeEventListener("scroll",n),i&&x.removeEventListener("resize",n)}),g==null||g(),(R=m)==null||R.disconnect(),m=null,c&&cancelAnimationFrame(S)}}const LV=fV,MV=pV,FV=uV,zV=hV,PV=cV,$R=sV,BV=gV,UV=(e,t,n)=>{const r=new Map,a={platform:OV,...n},i={...a.platform,_c:r};return lV(e,t,{...a,platform:i})};var bd=typeof document<"u"?k.useLayoutEffect:k.useEffect;function Fd(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,a;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!Fd(e[r],t[r]))return!1;return!0}if(a=Object.keys(e),n=a.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,a[r]))return!1;for(r=n;r--!==0;){const i=a[r];if(!(i==="_owner"&&e.$$typeof)&&!Fd(e[i],t[i]))return!1}return!0}return e!==e&&t!==t}function mB(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function qR(e,t){const n=mB(e);return Math.round(t*n)/n}function Eh(e){const t=k.useRef(e);return bd(()=>{t.current=e}),t}function jV(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:a,elements:{reference:i,floating:l}={},transform:u=!0,whileElementsMounted:c,open:f}=e,[p,g]=k.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[b,m]=k.useState(r);Fd(b,r)||m(r);const[S,v]=k.useState(null),[A,R]=k.useState(null),x=k.useCallback(B=>{B!==_.current&&(_.current=B,v(B))},[]),T=k.useCallback(B=>{B!==O.current&&(O.current=B,R(B))},[]),C=i||S,N=l||A,_=k.useRef(null),O=k.useRef(null),z=k.useRef(p),I=c!=null,M=Eh(c),H=Eh(a),q=Eh(f),P=k.useCallback(()=>{if(!_.current||!O.current)return;const B={placement:t,strategy:n,middleware:b};H.current&&(B.platform=H.current),UV(_.current,O.current,B).then(X=>{const D={...X,isPositioned:q.current!==!1};W.current&&!Fd(z.current,D)&&(z.current=D,gu.flushSync(()=>{g(D)}))})},[b,t,n,H,q]);bd(()=>{f===!1&&z.current.isPositioned&&(z.current.isPositioned=!1,g(B=>({...B,isPositioned:!1})))},[f]);const W=k.useRef(!1);bd(()=>(W.current=!0,()=>{W.current=!1}),[]),bd(()=>{if(C&&(_.current=C),N&&(O.current=N),C&&N){if(M.current)return M.current(C,N,P);P()}},[C,N,P,M,I]);const Z=k.useMemo(()=>({reference:_,floating:O,setReference:x,setFloating:T}),[x,T]),j=k.useMemo(()=>({reference:C,floating:N}),[C,N]),G=k.useMemo(()=>{const B={position:n,left:0,top:0};if(!j.floating)return B;const X=qR(j.floating,p.x),D=qR(j.floating,p.y);return u?{...B,transform:"translate("+X+"px, "+D+"px)",...mB(j.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:X,top:D}},[n,u,j.floating,p.x,p.y]);return k.useMemo(()=>({...p,update:P,refs:Z,elements:j,floatingStyles:G}),[p,P,Z,j,G])}const GV=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:r,padding:a}=typeof e=="function"?e(n):e;return r&&t(r)?r.current!=null?$R({element:r.current,padding:a}).fn(n):{}:r?$R({element:r,padding:a}).fn(n):{}}}},HV=(e,t)=>({...LV(e),options:[e,t]}),$V=(e,t)=>({...MV(e),options:[e,t]}),qV=(e,t)=>({...BV(e),options:[e,t]}),VV=(e,t)=>({...FV(e),options:[e,t]}),WV=(e,t)=>({...zV(e),options:[e,t]}),YV=(e,t)=>({...PV(e),options:[e,t]}),KV=(e,t)=>({...GV(e),options:[e,t]});var XV="Arrow",bB=k.forwardRef((e,t)=>{const{children:n,width:r=10,height:a=5,...i}=e;return w.jsx(Xe.svg,{...i,ref:t,width:r,height:a,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:w.jsx("polygon",{points:"0,0 30,0 15,10"})})});bB.displayName=XV;var ZV=bB;function yB(e){const[t,n]=k.useState(void 0);return wn(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(a=>{if(!Array.isArray(a)||!a.length)return;const i=a[0];let l,u;if("borderBoxSize"in i){const c=i.borderBoxSize,f=Array.isArray(c)?c[0]:c;l=f.inlineSize,u=f.blockSize}else l=e.offsetWidth,u=e.offsetHeight;n({width:l,height:u})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}var Zk="Popper",[vB,Nl]=mr(Zk),[QV,SB]=vB(Zk),EB=e=>{const{__scopePopper:t,children:n}=e,[r,a]=k.useState(null);return w.jsx(QV,{scope:t,anchor:r,onAnchorChange:a,children:n})};EB.displayName=Zk;var wB="PopperAnchor",xB=k.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:r,...a}=e,i=SB(wB,n),l=k.useRef(null),u=ft(t,l);return k.useEffect(()=>{i.onAnchorChange((r==null?void 0:r.current)||l.current)}),r?null:w.jsx(Xe.div,{...a,ref:u})});xB.displayName=wB;var Qk="PopperContent",[JV,eW]=vB(Qk),kB=k.forwardRef((e,t)=>{var re,le,Ae,ae,we,xe;const{__scopePopper:n,side:r="bottom",sideOffset:a=0,align:i="center",alignOffset:l=0,arrowPadding:u=0,avoidCollisions:c=!0,collisionBoundary:f=[],collisionPadding:p=0,sticky:g="partial",hideWhenDetached:b=!1,updatePositionStrategy:m="optimized",onPlaced:S,...v}=e,A=SB(Qk,n),[R,x]=k.useState(null),T=ft(t,Ie=>x(Ie)),[C,N]=k.useState(null),_=yB(C),O=(_==null?void 0:_.width)??0,z=(_==null?void 0:_.height)??0,I=r+(i!=="center"?"-"+i:""),M=typeof p=="number"?p:{top:0,right:0,bottom:0,left:0,...p},H=Array.isArray(f)?f:[f],q=H.length>0,P={padding:M,boundary:H.filter(nW),altBoundary:q},{refs:W,floatingStyles:Z,placement:j,isPositioned:G,middlewareData:B}=jV({strategy:"fixed",placement:I,whileElementsMounted:(...Ie)=>IV(...Ie,{animationFrame:m==="always"}),elements:{reference:A.anchor},middleware:[HV({mainAxis:a+z,alignmentAxis:l}),c&&$V({mainAxis:!0,crossAxis:!1,limiter:g==="partial"?qV():void 0,...P}),c&&VV({...P}),WV({...P,apply:({elements:Ie,rects:Ce,availableWidth:Ee,availableHeight:J})=>{const{width:fe,height:ke}=Ce.reference,me=Ie.floating.style;me.setProperty("--radix-popper-available-width",`${Ee}px`),me.setProperty("--radix-popper-available-height",`${J}px`),me.setProperty("--radix-popper-anchor-width",`${fe}px`),me.setProperty("--radix-popper-anchor-height",`${ke}px`)}}),C&&KV({element:C,padding:u}),rW({arrowWidth:O,arrowHeight:z}),b&&YV({strategy:"referenceHidden",...P})]}),[X,D]=_B(j),V=pn(S);wn(()=>{G&&(V==null||V())},[G,V]);const U=(re=B.arrow)==null?void 0:re.x,L=(le=B.arrow)==null?void 0:le.y,Y=((Ae=B.arrow)==null?void 0:Ae.centerOffset)!==0,[Q,se]=k.useState();return wn(()=>{R&&se(window.getComputedStyle(R).zIndex)},[R]),w.jsx("div",{ref:W.setFloating,"data-radix-popper-content-wrapper":"",style:{...Z,transform:G?Z.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Q,"--radix-popper-transform-origin":[(ae=B.transformOrigin)==null?void 0:ae.x,(we=B.transformOrigin)==null?void 0:we.y].join(" "),...((xe=B.hide)==null?void 0:xe.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:w.jsx(JV,{scope:n,placedSide:X,onArrowChange:N,arrowX:U,arrowY:L,shouldHideArrow:Y,children:w.jsx(Xe.div,{"data-side":X,"data-align":D,...v,ref:T,style:{...v.style,animation:G?void 0:"none"}})})})});kB.displayName=Qk;var AB="PopperArrow",tW={top:"bottom",right:"left",bottom:"top",left:"right"},TB=k.forwardRef(function(t,n){const{__scopePopper:r,...a}=t,i=eW(AB,r),l=tW[i.placedSide];return w.jsx("span",{ref:i.onArrowChange,style:{position:"absolute",left:i.arrowX,top:i.arrowY,[l]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[i.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[i.placedSide],visibility:i.shouldHideArrow?"hidden":void 0},children:w.jsx(ZV,{...a,ref:n,style:{...a.style,display:"block"}})})});TB.displayName=AB;function nW(e){return e!==null}var rW=e=>({name:"transformOrigin",options:e,fn(t){var A,R,x;const{placement:n,rects:r,middlewareData:a}=t,l=((A=a.arrow)==null?void 0:A.centerOffset)!==0,u=l?0:e.arrowWidth,c=l?0:e.arrowHeight,[f,p]=_B(n),g={start:"0%",center:"50%",end:"100%"}[p],b=(((R=a.arrow)==null?void 0:R.x)??0)+u/2,m=(((x=a.arrow)==null?void 0:x.y)??0)+c/2;let S="",v="";return f==="bottom"?(S=l?g:`${b}px`,v=`${-c}px`):f==="top"?(S=l?g:`${b}px`,v=`${r.floating.height+c}px`):f==="right"?(S=`${-c}px`,v=l?g:`${m}px`):f==="left"&&(S=`${r.floating.width+c}px`,v=l?g:`${m}px`),{data:{x:S,y:v}}}});function _B(e){const[t,n="center"]=e.split("-");return[t,n]}var Jk=EB,vf=xB,e0=kB,t0=TB,aW="VisuallyHidden",n0=k.forwardRef((e,t)=>w.jsx(Xe.span,{...e,ref:t,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...e.style}}));n0.displayName=aW;var oW=n0,[Sf,Jye]=mr("Tooltip",[Nl]),Ef=Nl(),RB="TooltipProvider",iW=700,Cx="tooltip.open",[lW,r0]=Sf(RB),CB=e=>{const{__scopeTooltip:t,delayDuration:n=iW,skipDelayDuration:r=300,disableHoverableContent:a=!1,children:i}=e,[l,u]=k.useState(!0),c=k.useRef(!1),f=k.useRef(0);return k.useEffect(()=>{const p=f.current;return()=>window.clearTimeout(p)},[]),w.jsx(lW,{scope:t,isOpenDelayed:l,delayDuration:n,onOpen:k.useCallback(()=>{window.clearTimeout(f.current),u(!1)},[]),onClose:k.useCallback(()=>{window.clearTimeout(f.current),f.current=window.setTimeout(()=>u(!0),r)},[r]),isPointerInTransitRef:c,onPointerInTransitChange:k.useCallback(p=>{c.current=p},[]),disableHoverableContent:a,children:i})};CB.displayName=RB;var wf="Tooltip",[sW,xf]=Sf(wf),NB=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:a=!1,onOpenChange:i,disableHoverableContent:l,delayDuration:u}=e,c=r0(wf,e.__scopeTooltip),f=Ef(t),[p,g]=k.useState(null),b=En(),m=k.useRef(0),S=l??c.disableHoverableContent,v=u??c.delayDuration,A=k.useRef(!1),[R=!1,x]=Oa({prop:r,defaultProp:a,onChange:O=>{O?(c.onOpen(),document.dispatchEvent(new CustomEvent(Cx))):c.onClose(),i==null||i(O)}}),T=k.useMemo(()=>R?A.current?"delayed-open":"instant-open":"closed",[R]),C=k.useCallback(()=>{window.clearTimeout(m.current),m.current=0,A.current=!1,x(!0)},[x]),N=k.useCallback(()=>{window.clearTimeout(m.current),m.current=0,x(!1)},[x]),_=k.useCallback(()=>{window.clearTimeout(m.current),m.current=window.setTimeout(()=>{A.current=!0,x(!0),m.current=0},v)},[v,x]);return k.useEffect(()=>()=>{m.current&&(window.clearTimeout(m.current),m.current=0)},[]),w.jsx(Jk,{...f,children:w.jsx(sW,{scope:t,contentId:b,open:R,stateAttribute:T,trigger:p,onTriggerChange:g,onTriggerEnter:k.useCallback(()=>{c.isOpenDelayed?_():C()},[c.isOpenDelayed,_,C]),onTriggerLeave:k.useCallback(()=>{S?N():(window.clearTimeout(m.current),m.current=0)},[N,S]),onOpen:C,onClose:N,disableHoverableContent:S,children:n})})};NB.displayName=wf;var Nx="TooltipTrigger",OB=k.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,a=xf(Nx,n),i=r0(Nx,n),l=Ef(n),u=k.useRef(null),c=ft(t,u,a.onTriggerChange),f=k.useRef(!1),p=k.useRef(!1),g=k.useCallback(()=>f.current=!1,[]);return k.useEffect(()=>()=>document.removeEventListener("pointerup",g),[g]),w.jsx(vf,{asChild:!0,...l,children:w.jsx(Xe.button,{"aria-describedby":a.open?a.contentId:void 0,"data-state":a.stateAttribute,...r,ref:c,onPointerMove:Ye(e.onPointerMove,b=>{b.pointerType!=="touch"&&!p.current&&!i.isPointerInTransitRef.current&&(a.onTriggerEnter(),p.current=!0)}),onPointerLeave:Ye(e.onPointerLeave,()=>{a.onTriggerLeave(),p.current=!1}),onPointerDown:Ye(e.onPointerDown,()=>{f.current=!0,document.addEventListener("pointerup",g,{once:!0})}),onFocus:Ye(e.onFocus,()=>{f.current||a.onOpen()}),onBlur:Ye(e.onBlur,a.onClose),onClick:Ye(e.onClick,a.onClose)})})});OB.displayName=Nx;var uW="TooltipPortal",[eve,cW]=Sf(uW,{forceMount:void 0}),bl="TooltipContent",DB=k.forwardRef((e,t)=>{const n=cW(bl,e.__scopeTooltip),{forceMount:r=n.forceMount,side:a="top",...i}=e,l=xf(bl,e.__scopeTooltip);return w.jsx(Jn,{present:r||l.open,children:l.disableHoverableContent?w.jsx(IB,{side:a,...i,ref:t}):w.jsx(dW,{side:a,...i,ref:t})})}),dW=k.forwardRef((e,t)=>{const n=xf(bl,e.__scopeTooltip),r=r0(bl,e.__scopeTooltip),a=k.useRef(null),i=ft(t,a),[l,u]=k.useState(null),{trigger:c,onClose:f}=n,p=a.current,{onPointerInTransitChange:g}=r,b=k.useCallback(()=>{u(null),g(!1)},[g]),m=k.useCallback((S,v)=>{const A=S.currentTarget,R={x:S.clientX,y:S.clientY},x=hW(R,A.getBoundingClientRect()),T=mW(R,x),C=bW(v.getBoundingClientRect()),N=vW([...T,...C]);u(N),g(!0)},[g]);return k.useEffect(()=>()=>b(),[b]),k.useEffect(()=>{if(c&&p){const S=A=>m(A,p),v=A=>m(A,c);return c.addEventListener("pointerleave",S),p.addEventListener("pointerleave",v),()=>{c.removeEventListener("pointerleave",S),p.removeEventListener("pointerleave",v)}}},[c,p,m,b]),k.useEffect(()=>{if(l){const S=v=>{const A=v.target,R={x:v.clientX,y:v.clientY},x=(c==null?void 0:c.contains(A))||(p==null?void 0:p.contains(A)),T=!yW(R,l);x?b():T&&(b(),f())};return document.addEventListener("pointermove",S),()=>document.removeEventListener("pointermove",S)}},[c,p,l,f,b]),w.jsx(IB,{...e,ref:i})}),[fW,pW]=Sf(wf,{isInside:!1}),IB=k.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":a,onEscapeKeyDown:i,onPointerDownOutside:l,...u}=e,c=xf(bl,n),f=Ef(n),{onClose:p}=c;return k.useEffect(()=>(document.addEventListener(Cx,p),()=>document.removeEventListener(Cx,p)),[p]),k.useEffect(()=>{if(c.trigger){const g=b=>{const m=b.target;m!=null&&m.contains(c.trigger)&&p()};return window.addEventListener("scroll",g,{capture:!0}),()=>window.removeEventListener("scroll",g,{capture:!0})}},[c.trigger,p]),w.jsx(hu,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:l,onFocusOutside:g=>g.preventDefault(),onDismiss:p,children:w.jsxs(e0,{"data-state":c.stateAttribute,...f,...u,ref:t,style:{...u.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[w.jsx(Dk,{children:r}),w.jsx(fW,{scope:n,isInside:!0,children:w.jsx(oW,{id:c.contentId,role:"tooltip",children:a||r})})]})})});DB.displayName=bl;var LB="TooltipArrow",gW=k.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,a=Ef(n);return pW(LB,n).isInside?null:w.jsx(t0,{...a,...r,ref:t})});gW.displayName=LB;function hW(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),a=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(n,r,a,i)){case i:return"left";case a:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function mW(e,t,n=5){const r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function bW(e){const{top:t,right:n,bottom:r,left:a}=e;return[{x:a,y:t},{x:n,y:t},{x:n,y:r},{x:a,y:r}]}function yW(e,t){const{x:n,y:r}=e;let a=!1;for(let i=0,l=t.length-1;ir!=p>r&&n<(f-u)*(r-c)/(p-c)+u&&(a=!a)}return a}function vW(e){const t=e.slice();return t.sort((n,r)=>n.xr.x?1:n.yr.y?1:0),SW(t)}function SW(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r=2;){const i=t[t.length-1],l=t[t.length-2];if((i.x-l.x)*(a.y-l.y)>=(i.y-l.y)*(a.x-l.x))t.pop();else break}t.push(a)}t.pop();const n=[];for(let r=e.length-1;r>=0;r--){const a=e[r];for(;n.length>=2;){const i=n[n.length-1],l=n[n.length-2];if((i.x-l.x)*(a.y-l.y)>=(i.y-l.y)*(a.x-l.x))n.pop();else break}n.push(a)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var EW=CB,wW=NB,xW=OB,MB=DB;const FB=EW,zB=wW,PB=xW,kW=e=>typeof e!="string"?e:e.split("\\n").map((t,n)=>w.jsxs(k.Fragment,{children:[t,nw.jsx(MB,{ref:a,sideOffset:t,className:Me("bg-popover text-popover-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 mx-1 max-w-sm overflow-hidden rounded-md border px-3 py-2 text-sm shadow-md",e),...r,children:typeof n=="string"?kW(n):n}));a0.displayName=MB.displayName;const zd=Nz("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"size-8"}},defaultVariants:{variant:"default",size:"default"}}),Lt=k.forwardRef(({className:e,variant:t,tooltip:n,size:r,side:a="right",asChild:i=!1,...l},u)=>{const c=i?bo:"button";return n?w.jsx(FB,{children:w.jsxs(zB,{children:[w.jsx(PB,{asChild:!0,children:w.jsx(c,{className:Me(zd({variant:t,size:r,className:e}),"cursor-pointer"),ref:u,...l})}),w.jsx(a0,{side:a,children:n})]})}):w.jsx(c,{className:Me(zd({variant:t,size:r,className:e}),"cursor-pointer"),ref:u,...l})});Lt.displayName="Button";const AW=Z7,TW=Q7,BB=k.forwardRef(({className:e,...t},n)=>w.jsx(tB,{className:Me("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80",e),...t,ref:n}));BB.displayName=tB.displayName;const UB=k.forwardRef(({className:e,...t},n)=>w.jsxs(TW,{children:[w.jsx(BB,{}),w.jsx(nB,{ref:n,className:Me("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-top-[48%] fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-200 sm:rounded-lg",e),...t})]}));UB.displayName=nB.displayName;const jB=({className:e,...t})=>w.jsx("div",{className:Me("flex flex-col space-y-2 text-center sm:text-left",e),...t});jB.displayName="AlertDialogHeader";const GB=k.forwardRef(({className:e,...t},n)=>w.jsx(oB,{ref:n,className:Me("text-lg font-semibold",e),...t}));GB.displayName=oB.displayName;const HB=k.forwardRef(({className:e,...t},n)=>w.jsx(iB,{ref:n,className:Me("text-muted-foreground text-sm",e),...t}));HB.displayName=iB.displayName;const _W=k.forwardRef(({className:e,...t},n)=>w.jsx(rB,{ref:n,className:Me(zd(),e),...t}));_W.displayName=rB.displayName;const RW=k.forwardRef(({className:e,...t},n)=>w.jsx(aB,{ref:n,className:Me(zd({variant:"outline"}),"mt-2 sm:mt-0",e),...t}));RW.displayName=aB.displayName;const Eo=k.forwardRef(({className:e,type:t,...n},r)=>w.jsx("input",{type:t,className:Me("border-input file:text-foreground placeholder:text-muted-foreground focus-visible:ring-ring flex h-9 rounded-md border bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:ring-1 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm [&::-webkit-inner-spin-button]:opacity-100 [&::-webkit-outer-spin-button]:opacity-100",e),ref:r,...n}));Eo.displayName="Input";var CW=e=>{switch(e){case"success":return DW;case"info":return LW;case"warning":return IW;case"error":return MW;default:return null}},NW=Array(12).fill(0),OW=({visible:e,className:t})=>ye.createElement("div",{className:["sonner-loading-wrapper",t].filter(Boolean).join(" "),"data-visible":e},ye.createElement("div",{className:"sonner-spinner"},NW.map((n,r)=>ye.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${r}`})))),DW=ye.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},ye.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),IW=ye.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},ye.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),LW=ye.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},ye.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),MW=ye.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},ye.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),FW=ye.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},ye.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),ye.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),zW=()=>{let[e,t]=ye.useState(document.hidden);return ye.useEffect(()=>{let n=()=>{t(document.hidden)};return document.addEventListener("visibilitychange",n),()=>window.removeEventListener("visibilitychange",n)},[]),e},Ox=1,PW=class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var t;let{message:n,...r}=e,a=typeof(e==null?void 0:e.id)=="number"||((t=e.id)==null?void 0:t.length)>0?e.id:Ox++,i=this.toasts.find(u=>u.id===a),l=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(a)&&this.dismissedToasts.delete(a),i?this.toasts=this.toasts.map(u=>u.id===a?(this.publish({...u,...e,id:a,title:n}),{...u,...e,id:a,dismissible:l,title:n}):u):this.addToast({title:n,...r,dismissible:l,id:a}),a},this.dismiss=e=>(this.dismissedToasts.add(e),e||this.toasts.forEach(t=>{this.subscribers.forEach(n=>n({id:t.id,dismiss:!0}))}),this.subscribers.forEach(t=>t({id:e,dismiss:!0})),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:"error"}),this.success=(e,t)=>this.create({...t,type:"success",message:e}),this.info=(e,t)=>this.create({...t,type:"info",message:e}),this.warning=(e,t)=>this.create({...t,type:"warning",message:e}),this.loading=(e,t)=>this.create({...t,type:"loading",message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:"loading",message:t.loading,description:typeof t.description!="function"?t.description:void 0}));let r=e instanceof Promise?e:e(),a=n!==void 0,i,l=r.then(async c=>{if(i=["resolve",c],ye.isValidElement(c))a=!1,this.create({id:n,type:"default",message:c});else if(UW(c)&&!c.ok){a=!1;let f=typeof t.error=="function"?await t.error(`HTTP error! status: ${c.status}`):t.error,p=typeof t.description=="function"?await t.description(`HTTP error! status: ${c.status}`):t.description;this.create({id:n,type:"error",message:f,description:p})}else if(t.success!==void 0){a=!1;let f=typeof t.success=="function"?await t.success(c):t.success,p=typeof t.description=="function"?await t.description(c):t.description;this.create({id:n,type:"success",message:f,description:p})}}).catch(async c=>{if(i=["reject",c],t.error!==void 0){a=!1;let f=typeof t.error=="function"?await t.error(c):t.error,p=typeof t.description=="function"?await t.description(c):t.description;this.create({id:n,type:"error",message:f,description:p})}}).finally(()=>{var c;a&&(this.dismiss(n),n=void 0),(c=t.finally)==null||c.call(t)}),u=()=>new Promise((c,f)=>l.then(()=>i[0]==="reject"?f(i[1]):c(i[1])).catch(f));return typeof n!="string"&&typeof n!="number"?{unwrap:u}:Object.assign(n,{unwrap:u})},this.custom=(e,t)=>{let n=(t==null?void 0:t.id)||Ox++;return this.create({jsx:e(n),id:n,...t}),n},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},Fn=new PW,BW=(e,t)=>{let n=(t==null?void 0:t.id)||Ox++;return Fn.addToast({title:e,...t,id:n}),n},UW=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",jW=BW,GW=()=>Fn.toasts,HW=()=>Fn.getActiveToasts(),vn=Object.assign(jW,{success:Fn.success,info:Fn.info,warning:Fn.warning,error:Fn.error,custom:Fn.custom,message:Fn.message,promise:Fn.promise,dismiss:Fn.dismiss,loading:Fn.loading},{getHistory:GW,getToasts:HW});function $W(e,{insertAt:t}={}){if(typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",t==="top"&&n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}$W(`:where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:var(--offset-right)}:where([data-sonner-toaster][data-x-position="left"]){left:var(--offset-left)}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:var(--offset-top)}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:var(--offset-bottom)}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:-50%;right:-50%;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)} +For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return k.useEffect(()=>{var r;document.getElementById((r=e.current)==null?void 0:r.getAttribute("aria-describedby"))||console.warn(t)},[t,e]),null},Z7=$P,Q7=qP,tB=VP,nB=WP,rB=QP,aB=eB,oB=KP,iB=ZP;const J7=["top","right","bottom","left"],yo=Math.min,Kn=Math.max,Id=Math.round,Hc=Math.floor,Kr=e=>({x:e,y:e}),eV={left:"right",right:"left",bottom:"top",top:"bottom"},tV={start:"end",end:"start"};function Tx(e,t,n){return Kn(e,yo(t,n))}function Da(e,t){return typeof e=="function"?e(t):e}function Ia(e){return e.split("-")[0]}function Rl(e){return e.split("-")[1]}function $k(e){return e==="x"?"y":"x"}function qk(e){return e==="y"?"height":"width"}function vo(e){return["top","bottom"].includes(Ia(e))?"y":"x"}function Vk(e){return $k(vo(e))}function nV(e,t,n){n===void 0&&(n=!1);const r=Rl(e),a=Vk(e),i=qk(a);let l=a==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[i]>t.floating[i]&&(l=Ld(l)),[l,Ld(l)]}function rV(e){const t=Ld(e);return[_x(e),t,_x(t)]}function _x(e){return e.replace(/start|end/g,t=>tV[t])}function aV(e,t,n){const r=["left","right"],a=["right","left"],i=["top","bottom"],l=["bottom","top"];switch(e){case"top":case"bottom":return n?t?a:r:t?r:a;case"left":case"right":return t?i:l;default:return[]}}function oV(e,t,n,r){const a=Rl(e);let i=aV(Ia(e),n==="start",r);return a&&(i=i.map(l=>l+"-"+a),t&&(i=i.concat(i.map(_x)))),i}function Ld(e){return e.replace(/left|right|bottom|top/g,t=>eV[t])}function iV(e){return{top:0,right:0,bottom:0,left:0,...e}}function lB(e){return typeof e!="number"?iV(e):{top:e,right:e,bottom:e,left:e}}function Md(e){const{x:t,y:n,width:r,height:a}=e;return{width:r,height:a,top:n,left:t,right:t+r,bottom:n+a,x:t,y:n}}function PR(e,t,n){let{reference:r,floating:a}=e;const i=vo(t),l=Vk(t),u=qk(l),c=Ia(t),f=i==="y",p=r.x+r.width/2-a.width/2,g=r.y+r.height/2-a.height/2,b=r[u]/2-a[u]/2;let m;switch(c){case"top":m={x:p,y:r.y-a.height};break;case"bottom":m={x:p,y:r.y+r.height};break;case"right":m={x:r.x+r.width,y:g};break;case"left":m={x:r.x-a.width,y:g};break;default:m={x:r.x,y:r.y}}switch(Rl(t)){case"start":m[l]-=b*(n&&f?-1:1);break;case"end":m[l]+=b*(n&&f?-1:1);break}return m}const lV=async(e,t,n)=>{const{placement:r="bottom",strategy:a="absolute",middleware:i=[],platform:l}=n,u=i.filter(Boolean),c=await(l.isRTL==null?void 0:l.isRTL(t));let f=await l.getElementRects({reference:e,floating:t,strategy:a}),{x:p,y:g}=PR(f,r,c),b=r,m={},S=0;for(let v=0;v({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:a,rects:i,platform:l,elements:u,middlewareData:c}=t,{element:f,padding:p=0}=Da(e,t)||{};if(f==null)return{};const g=lB(p),b={x:n,y:r},m=Vk(a),S=qk(m),v=await l.getDimensions(f),A=m==="y",R=A?"top":"left",x=A?"bottom":"right",T=A?"clientHeight":"clientWidth",C=i.reference[S]+i.reference[m]-b[m]-i.floating[S],N=b[m]-i.reference[m],_=await(l.getOffsetParent==null?void 0:l.getOffsetParent(f));let O=_?_[T]:0;(!O||!await(l.isElement==null?void 0:l.isElement(_)))&&(O=u.floating[T]||i.floating[S]);const z=C/2-N/2,I=O/2-v[S]/2-1,M=yo(g[R],I),H=yo(g[x],I),q=M,P=O-v[S]-H,W=O/2-v[S]/2+z,Z=Tx(q,W,P),j=!c.arrow&&Rl(a)!=null&&W!==Z&&i.reference[S]/2-(WW<=0)){var H,q;const W=(((H=i.flip)==null?void 0:H.index)||0)+1,Z=O[W];if(Z)return{data:{index:W,overflows:M},reset:{placement:Z}};let j=(q=M.filter(G=>G.overflows[0]<=0).sort((G,B)=>G.overflows[1]-B.overflows[1])[0])==null?void 0:q.placement;if(!j)switch(m){case"bestFit":{var P;const G=(P=M.filter(B=>{if(_){const X=vo(B.placement);return X===x||X==="y"}return!0}).map(B=>[B.placement,B.overflows.filter(X=>X>0).reduce((X,D)=>X+D,0)]).sort((B,X)=>B[1]-X[1])[0])==null?void 0:P[0];G&&(j=G);break}case"initialPlacement":j=u;break}if(a!==j)return{reset:{placement:j}}}return{}}}};function BR(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function UR(e){return J7.some(t=>e[t]>=0)}const cV=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:r="referenceHidden",...a}=Da(e,t);switch(r){case"referenceHidden":{const i=await eu(t,{...a,elementContext:"reference"}),l=BR(i,n.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:UR(l)}}}case"escaped":{const i=await eu(t,{...a,altBoundary:!0}),l=BR(i,n.floating);return{data:{escapedOffsets:l,escaped:UR(l)}}}default:return{}}}}};async function dV(e,t){const{placement:n,platform:r,elements:a}=e,i=await(r.isRTL==null?void 0:r.isRTL(a.floating)),l=Ia(n),u=Rl(n),c=vo(n)==="y",f=["left","top"].includes(l)?-1:1,p=i&&c?-1:1,g=Da(t,e);let{mainAxis:b,crossAxis:m,alignmentAxis:S}=typeof g=="number"?{mainAxis:g,crossAxis:0,alignmentAxis:null}:{mainAxis:g.mainAxis||0,crossAxis:g.crossAxis||0,alignmentAxis:g.alignmentAxis};return u&&typeof S=="number"&&(m=u==="end"?S*-1:S),c?{x:m*p,y:b*f}:{x:b*f,y:m*p}}const fV=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,r;const{x:a,y:i,placement:l,middlewareData:u}=t,c=await dV(t,e);return l===((n=u.offset)==null?void 0:n.placement)&&(r=u.arrow)!=null&&r.alignmentOffset?{}:{x:a+c.x,y:i+c.y,data:{...c,placement:l}}}}},pV=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:a}=t,{mainAxis:i=!0,crossAxis:l=!1,limiter:u={fn:A=>{let{x:R,y:x}=A;return{x:R,y:x}}},...c}=Da(e,t),f={x:n,y:r},p=await eu(t,c),g=vo(Ia(a)),b=$k(g);let m=f[b],S=f[g];if(i){const A=b==="y"?"top":"left",R=b==="y"?"bottom":"right",x=m+p[A],T=m-p[R];m=Tx(x,m,T)}if(l){const A=g==="y"?"top":"left",R=g==="y"?"bottom":"right",x=S+p[A],T=S-p[R];S=Tx(x,S,T)}const v=u.fn({...t,[b]:m,[g]:S});return{...v,data:{x:v.x-n,y:v.y-r,enabled:{[b]:i,[g]:l}}}}}},gV=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:a,rects:i,middlewareData:l}=t,{offset:u=0,mainAxis:c=!0,crossAxis:f=!0}=Da(e,t),p={x:n,y:r},g=vo(a),b=$k(g);let m=p[b],S=p[g];const v=Da(u,t),A=typeof v=="number"?{mainAxis:v,crossAxis:0}:{mainAxis:0,crossAxis:0,...v};if(c){const T=b==="y"?"height":"width",C=i.reference[b]-i.floating[T]+A.mainAxis,N=i.reference[b]+i.reference[T]-A.mainAxis;mN&&(m=N)}if(f){var R,x;const T=b==="y"?"width":"height",C=["top","left"].includes(Ia(a)),N=i.reference[g]-i.floating[T]+(C&&((R=l.offset)==null?void 0:R[g])||0)+(C?0:A.crossAxis),_=i.reference[g]+i.reference[T]+(C?0:((x=l.offset)==null?void 0:x[g])||0)-(C?A.crossAxis:0);S_&&(S=_)}return{[b]:m,[g]:S}}}},hV=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,r;const{placement:a,rects:i,platform:l,elements:u}=t,{apply:c=()=>{},...f}=Da(e,t),p=await eu(t,f),g=Ia(a),b=Rl(a),m=vo(a)==="y",{width:S,height:v}=i.floating;let A,R;g==="top"||g==="bottom"?(A=g,R=b===(await(l.isRTL==null?void 0:l.isRTL(u.floating))?"start":"end")?"left":"right"):(R=g,A=b==="end"?"top":"bottom");const x=v-p.top-p.bottom,T=S-p.left-p.right,C=yo(v-p[A],x),N=yo(S-p[R],T),_=!t.middlewareData.shift;let O=C,z=N;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(z=T),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(O=x),_&&!b){const M=Kn(p.left,0),H=Kn(p.right,0),q=Kn(p.top,0),P=Kn(p.bottom,0);m?z=S-2*(M!==0||H!==0?M+H:Kn(p.left,p.right)):O=v-2*(q!==0||P!==0?q+P:Kn(p.top,p.bottom))}await c({...t,availableWidth:z,availableHeight:O});const I=await l.getDimensions(u.floating);return S!==I.width||v!==I.height?{reset:{rects:!0}}:{}}}};function mf(){return typeof window<"u"}function Cl(e){return sB(e)?(e.nodeName||"").toLowerCase():"#document"}function Zn(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Zr(e){var t;return(t=(sB(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function sB(e){return mf()?e instanceof Node||e instanceof Zn(e).Node:!1}function Dr(e){return mf()?e instanceof Element||e instanceof Zn(e).Element:!1}function Xr(e){return mf()?e instanceof HTMLElement||e instanceof Zn(e).HTMLElement:!1}function jR(e){return!mf()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Zn(e).ShadowRoot}function mu(e){const{overflow:t,overflowX:n,overflowY:r,display:a}=Ir(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!["inline","contents"].includes(a)}function mV(e){return["table","td","th"].includes(Cl(e))}function bf(e){return[":popover-open",":modal"].some(t=>{try{return e.matches(t)}catch{return!1}})}function Wk(e){const t=Yk(),n=Dr(e)?Ir(e):e;return["transform","translate","scale","rotate","perspective"].some(r=>n[r]?n[r]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||["transform","translate","scale","rotate","perspective","filter"].some(r=>(n.willChange||"").includes(r))||["paint","layout","strict","content"].some(r=>(n.contain||"").includes(r))}function bV(e){let t=So(e);for(;Xr(t)&&!ml(t);){if(Wk(t))return t;if(bf(t))return null;t=So(t)}return null}function Yk(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function ml(e){return["html","body","#document"].includes(Cl(e))}function Ir(e){return Zn(e).getComputedStyle(e)}function yf(e){return Dr(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function So(e){if(Cl(e)==="html")return e;const t=e.assignedSlot||e.parentNode||jR(e)&&e.host||Zr(e);return jR(t)?t.host:t}function uB(e){const t=So(e);return ml(t)?e.ownerDocument?e.ownerDocument.body:e.body:Xr(t)&&mu(t)?t:uB(t)}function tu(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);const a=uB(e),i=a===((r=e.ownerDocument)==null?void 0:r.body),l=Zn(a);if(i){const u=Rx(l);return t.concat(l,l.visualViewport||[],mu(a)?a:[],u&&n?tu(u):[])}return t.concat(a,tu(a,[],n))}function Rx(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function cB(e){const t=Ir(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const a=Xr(e),i=a?e.offsetWidth:n,l=a?e.offsetHeight:r,u=Id(n)!==i||Id(r)!==l;return u&&(n=i,r=l),{width:n,height:r,$:u}}function Kk(e){return Dr(e)?e:e.contextElement}function fl(e){const t=Kk(e);if(!Xr(t))return Kr(1);const n=t.getBoundingClientRect(),{width:r,height:a,$:i}=cB(t);let l=(i?Id(n.width):n.width)/r,u=(i?Id(n.height):n.height)/a;return(!l||!Number.isFinite(l))&&(l=1),(!u||!Number.isFinite(u))&&(u=1),{x:l,y:u}}const yV=Kr(0);function dB(e){const t=Zn(e);return!Yk()||!t.visualViewport?yV:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function vV(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==Zn(e)?!1:t}function oi(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const a=e.getBoundingClientRect(),i=Kk(e);let l=Kr(1);t&&(r?Dr(r)&&(l=fl(r)):l=fl(e));const u=vV(i,n,r)?dB(i):Kr(0);let c=(a.left+u.x)/l.x,f=(a.top+u.y)/l.y,p=a.width/l.x,g=a.height/l.y;if(i){const b=Zn(i),m=r&&Dr(r)?Zn(r):r;let S=b,v=Rx(S);for(;v&&r&&m!==S;){const A=fl(v),R=v.getBoundingClientRect(),x=Ir(v),T=R.left+(v.clientLeft+parseFloat(x.paddingLeft))*A.x,C=R.top+(v.clientTop+parseFloat(x.paddingTop))*A.y;c*=A.x,f*=A.y,p*=A.x,g*=A.y,c+=T,f+=C,S=Zn(v),v=Rx(S)}}return Md({width:p,height:g,x:c,y:f})}function Xk(e,t){const n=yf(e).scrollLeft;return t?t.left+n:oi(Zr(e)).left+n}function fB(e,t,n){n===void 0&&(n=!1);const r=e.getBoundingClientRect(),a=r.left+t.scrollLeft-(n?0:Xk(e,r)),i=r.top+t.scrollTop;return{x:a,y:i}}function SV(e){let{elements:t,rect:n,offsetParent:r,strategy:a}=e;const i=a==="fixed",l=Zr(r),u=t?bf(t.floating):!1;if(r===l||u&&i)return n;let c={scrollLeft:0,scrollTop:0},f=Kr(1);const p=Kr(0),g=Xr(r);if((g||!g&&!i)&&((Cl(r)!=="body"||mu(l))&&(c=yf(r)),Xr(r))){const m=oi(r);f=fl(r),p.x=m.x+r.clientLeft,p.y=m.y+r.clientTop}const b=l&&!g&&!i?fB(l,c,!0):Kr(0);return{width:n.width*f.x,height:n.height*f.y,x:n.x*f.x-c.scrollLeft*f.x+p.x+b.x,y:n.y*f.y-c.scrollTop*f.y+p.y+b.y}}function EV(e){return Array.from(e.getClientRects())}function wV(e){const t=Zr(e),n=yf(e),r=e.ownerDocument.body,a=Kn(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),i=Kn(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let l=-n.scrollLeft+Xk(e);const u=-n.scrollTop;return Ir(r).direction==="rtl"&&(l+=Kn(t.clientWidth,r.clientWidth)-a),{width:a,height:i,x:l,y:u}}function xV(e,t){const n=Zn(e),r=Zr(e),a=n.visualViewport;let i=r.clientWidth,l=r.clientHeight,u=0,c=0;if(a){i=a.width,l=a.height;const f=Yk();(!f||f&&t==="fixed")&&(u=a.offsetLeft,c=a.offsetTop)}return{width:i,height:l,x:u,y:c}}function kV(e,t){const n=oi(e,!0,t==="fixed"),r=n.top+e.clientTop,a=n.left+e.clientLeft,i=Xr(e)?fl(e):Kr(1),l=e.clientWidth*i.x,u=e.clientHeight*i.y,c=a*i.x,f=r*i.y;return{width:l,height:u,x:c,y:f}}function GR(e,t,n){let r;if(t==="viewport")r=xV(e,n);else if(t==="document")r=wV(Zr(e));else if(Dr(t))r=kV(t,n);else{const a=dB(e);r={x:t.x-a.x,y:t.y-a.y,width:t.width,height:t.height}}return Md(r)}function pB(e,t){const n=So(e);return n===t||!Dr(n)||ml(n)?!1:Ir(n).position==="fixed"||pB(n,t)}function AV(e,t){const n=t.get(e);if(n)return n;let r=tu(e,[],!1).filter(u=>Dr(u)&&Cl(u)!=="body"),a=null;const i=Ir(e).position==="fixed";let l=i?So(e):e;for(;Dr(l)&&!ml(l);){const u=Ir(l),c=Wk(l);!c&&u.position==="fixed"&&(a=null),(i?!c&&!a:!c&&u.position==="static"&&!!a&&["absolute","fixed"].includes(a.position)||mu(l)&&!c&&pB(e,l))?r=r.filter(p=>p!==l):a=u,l=So(l)}return t.set(e,r),r}function TV(e){let{element:t,boundary:n,rootBoundary:r,strategy:a}=e;const l=[...n==="clippingAncestors"?bf(t)?[]:AV(t,this._c):[].concat(n),r],u=l[0],c=l.reduce((f,p)=>{const g=GR(t,p,a);return f.top=Kn(g.top,f.top),f.right=yo(g.right,f.right),f.bottom=yo(g.bottom,f.bottom),f.left=Kn(g.left,f.left),f},GR(t,u,a));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}}function _V(e){const{width:t,height:n}=cB(e);return{width:t,height:n}}function RV(e,t,n){const r=Xr(t),a=Zr(t),i=n==="fixed",l=oi(e,!0,i,t);let u={scrollLeft:0,scrollTop:0};const c=Kr(0);if(r||!r&&!i)if((Cl(t)!=="body"||mu(a))&&(u=yf(t)),r){const b=oi(t,!0,i,t);c.x=b.x+t.clientLeft,c.y=b.y+t.clientTop}else a&&(c.x=Xk(a));const f=a&&!r&&!i?fB(a,u):Kr(0),p=l.left+u.scrollLeft-c.x-f.x,g=l.top+u.scrollTop-c.y-f.y;return{x:p,y:g,width:l.width,height:l.height}}function Sh(e){return Ir(e).position==="static"}function HR(e,t){if(!Xr(e)||Ir(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Zr(e)===n&&(n=n.ownerDocument.body),n}function gB(e,t){const n=Zn(e);if(bf(e))return n;if(!Xr(e)){let a=So(e);for(;a&&!ml(a);){if(Dr(a)&&!Sh(a))return a;a=So(a)}return n}let r=HR(e,t);for(;r&&mV(r)&&Sh(r);)r=HR(r,t);return r&&ml(r)&&Sh(r)&&!Wk(r)?n:r||bV(e)||n}const CV=async function(e){const t=this.getOffsetParent||gB,n=this.getDimensions,r=await n(e.floating);return{reference:RV(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function NV(e){return Ir(e).direction==="rtl"}const OV={convertOffsetParentRelativeRectToViewportRelativeRect:SV,getDocumentElement:Zr,getClippingRect:TV,getOffsetParent:gB,getElementRects:CV,getClientRects:EV,getDimensions:_V,getScale:fl,isElement:Dr,isRTL:NV};function hB(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function DV(e,t){let n=null,r;const a=Zr(e);function i(){var u;clearTimeout(r),(u=n)==null||u.disconnect(),n=null}function l(u,c){u===void 0&&(u=!1),c===void 0&&(c=1),i();const f=e.getBoundingClientRect(),{left:p,top:g,width:b,height:m}=f;if(u||t(),!b||!m)return;const S=Hc(g),v=Hc(a.clientWidth-(p+b)),A=Hc(a.clientHeight-(g+m)),R=Hc(p),T={rootMargin:-S+"px "+-v+"px "+-A+"px "+-R+"px",threshold:Kn(0,yo(1,c))||1};let C=!0;function N(_){const O=_[0].intersectionRatio;if(O!==c){if(!C)return l();O?l(!1,O):r=setTimeout(()=>{l(!1,1e-7)},1e3)}O===1&&!hB(f,e.getBoundingClientRect())&&l(),C=!1}try{n=new IntersectionObserver(N,{...T,root:a.ownerDocument})}catch{n=new IntersectionObserver(N,T)}n.observe(e)}return l(!0),i}function IV(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:a=!0,ancestorResize:i=!0,elementResize:l=typeof ResizeObserver=="function",layoutShift:u=typeof IntersectionObserver=="function",animationFrame:c=!1}=r,f=Kk(e),p=a||i?[...f?tu(f):[],...tu(t)]:[];p.forEach(R=>{a&&R.addEventListener("scroll",n,{passive:!0}),i&&R.addEventListener("resize",n)});const g=f&&u?DV(f,n):null;let b=-1,m=null;l&&(m=new ResizeObserver(R=>{let[x]=R;x&&x.target===f&&m&&(m.unobserve(t),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{var T;(T=m)==null||T.observe(t)})),n()}),f&&!c&&m.observe(f),m.observe(t));let S,v=c?oi(e):null;c&&A();function A(){const R=oi(e);v&&!hB(v,R)&&n(),v=R,S=requestAnimationFrame(A)}return n(),()=>{var R;p.forEach(x=>{a&&x.removeEventListener("scroll",n),i&&x.removeEventListener("resize",n)}),g==null||g(),(R=m)==null||R.disconnect(),m=null,c&&cancelAnimationFrame(S)}}const LV=fV,MV=pV,FV=uV,zV=hV,PV=cV,$R=sV,BV=gV,UV=(e,t,n)=>{const r=new Map,a={platform:OV,...n},i={...a.platform,_c:r};return lV(e,t,{...a,platform:i})};var bd=typeof document<"u"?k.useLayoutEffect:k.useEffect;function Fd(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,a;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!Fd(e[r],t[r]))return!1;return!0}if(a=Object.keys(e),n=a.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,a[r]))return!1;for(r=n;r--!==0;){const i=a[r];if(!(i==="_owner"&&e.$$typeof)&&!Fd(e[i],t[i]))return!1}return!0}return e!==e&&t!==t}function mB(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function qR(e,t){const n=mB(e);return Math.round(t*n)/n}function Eh(e){const t=k.useRef(e);return bd(()=>{t.current=e}),t}function jV(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:a,elements:{reference:i,floating:l}={},transform:u=!0,whileElementsMounted:c,open:f}=e,[p,g]=k.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[b,m]=k.useState(r);Fd(b,r)||m(r);const[S,v]=k.useState(null),[A,R]=k.useState(null),x=k.useCallback(B=>{B!==_.current&&(_.current=B,v(B))},[]),T=k.useCallback(B=>{B!==O.current&&(O.current=B,R(B))},[]),C=i||S,N=l||A,_=k.useRef(null),O=k.useRef(null),z=k.useRef(p),I=c!=null,M=Eh(c),H=Eh(a),q=Eh(f),P=k.useCallback(()=>{if(!_.current||!O.current)return;const B={placement:t,strategy:n,middleware:b};H.current&&(B.platform=H.current),UV(_.current,O.current,B).then(X=>{const D={...X,isPositioned:q.current!==!1};W.current&&!Fd(z.current,D)&&(z.current=D,gu.flushSync(()=>{g(D)}))})},[b,t,n,H,q]);bd(()=>{f===!1&&z.current.isPositioned&&(z.current.isPositioned=!1,g(B=>({...B,isPositioned:!1})))},[f]);const W=k.useRef(!1);bd(()=>(W.current=!0,()=>{W.current=!1}),[]),bd(()=>{if(C&&(_.current=C),N&&(O.current=N),C&&N){if(M.current)return M.current(C,N,P);P()}},[C,N,P,M,I]);const Z=k.useMemo(()=>({reference:_,floating:O,setReference:x,setFloating:T}),[x,T]),j=k.useMemo(()=>({reference:C,floating:N}),[C,N]),G=k.useMemo(()=>{const B={position:n,left:0,top:0};if(!j.floating)return B;const X=qR(j.floating,p.x),D=qR(j.floating,p.y);return u?{...B,transform:"translate("+X+"px, "+D+"px)",...mB(j.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:X,top:D}},[n,u,j.floating,p.x,p.y]);return k.useMemo(()=>({...p,update:P,refs:Z,elements:j,floatingStyles:G}),[p,P,Z,j,G])}const GV=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:r,padding:a}=typeof e=="function"?e(n):e;return r&&t(r)?r.current!=null?$R({element:r.current,padding:a}).fn(n):{}:r?$R({element:r,padding:a}).fn(n):{}}}},HV=(e,t)=>({...LV(e),options:[e,t]}),$V=(e,t)=>({...MV(e),options:[e,t]}),qV=(e,t)=>({...BV(e),options:[e,t]}),VV=(e,t)=>({...FV(e),options:[e,t]}),WV=(e,t)=>({...zV(e),options:[e,t]}),YV=(e,t)=>({...PV(e),options:[e,t]}),KV=(e,t)=>({...GV(e),options:[e,t]});var XV="Arrow",bB=k.forwardRef((e,t)=>{const{children:n,width:r=10,height:a=5,...i}=e;return w.jsx(Xe.svg,{...i,ref:t,width:r,height:a,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:w.jsx("polygon",{points:"0,0 30,0 15,10"})})});bB.displayName=XV;var ZV=bB;function yB(e){const[t,n]=k.useState(void 0);return wn(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(a=>{if(!Array.isArray(a)||!a.length)return;const i=a[0];let l,u;if("borderBoxSize"in i){const c=i.borderBoxSize,f=Array.isArray(c)?c[0]:c;l=f.inlineSize,u=f.blockSize}else l=e.offsetWidth,u=e.offsetHeight;n({width:l,height:u})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}var Zk="Popper",[vB,Nl]=mr(Zk),[QV,SB]=vB(Zk),EB=e=>{const{__scopePopper:t,children:n}=e,[r,a]=k.useState(null);return w.jsx(QV,{scope:t,anchor:r,onAnchorChange:a,children:n})};EB.displayName=Zk;var wB="PopperAnchor",xB=k.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:r,...a}=e,i=SB(wB,n),l=k.useRef(null),u=ft(t,l);return k.useEffect(()=>{i.onAnchorChange((r==null?void 0:r.current)||l.current)}),r?null:w.jsx(Xe.div,{...a,ref:u})});xB.displayName=wB;var Qk="PopperContent",[JV,eW]=vB(Qk),kB=k.forwardRef((e,t)=>{var re,le,Ae,ae,we,xe;const{__scopePopper:n,side:r="bottom",sideOffset:a=0,align:i="center",alignOffset:l=0,arrowPadding:u=0,avoidCollisions:c=!0,collisionBoundary:f=[],collisionPadding:p=0,sticky:g="partial",hideWhenDetached:b=!1,updatePositionStrategy:m="optimized",onPlaced:S,...v}=e,A=SB(Qk,n),[R,x]=k.useState(null),T=ft(t,Ie=>x(Ie)),[C,N]=k.useState(null),_=yB(C),O=(_==null?void 0:_.width)??0,z=(_==null?void 0:_.height)??0,I=r+(i!=="center"?"-"+i:""),M=typeof p=="number"?p:{top:0,right:0,bottom:0,left:0,...p},H=Array.isArray(f)?f:[f],q=H.length>0,P={padding:M,boundary:H.filter(nW),altBoundary:q},{refs:W,floatingStyles:Z,placement:j,isPositioned:G,middlewareData:B}=jV({strategy:"fixed",placement:I,whileElementsMounted:(...Ie)=>IV(...Ie,{animationFrame:m==="always"}),elements:{reference:A.anchor},middleware:[HV({mainAxis:a+z,alignmentAxis:l}),c&&$V({mainAxis:!0,crossAxis:!1,limiter:g==="partial"?qV():void 0,...P}),c&&VV({...P}),WV({...P,apply:({elements:Ie,rects:Ce,availableWidth:Ee,availableHeight:J})=>{const{width:fe,height:ke}=Ce.reference,me=Ie.floating.style;me.setProperty("--radix-popper-available-width",`${Ee}px`),me.setProperty("--radix-popper-available-height",`${J}px`),me.setProperty("--radix-popper-anchor-width",`${fe}px`),me.setProperty("--radix-popper-anchor-height",`${ke}px`)}}),C&&KV({element:C,padding:u}),rW({arrowWidth:O,arrowHeight:z}),b&&YV({strategy:"referenceHidden",...P})]}),[X,D]=_B(j),V=pn(S);wn(()=>{G&&(V==null||V())},[G,V]);const U=(re=B.arrow)==null?void 0:re.x,L=(le=B.arrow)==null?void 0:le.y,Y=((Ae=B.arrow)==null?void 0:Ae.centerOffset)!==0,[Q,se]=k.useState();return wn(()=>{R&&se(window.getComputedStyle(R).zIndex)},[R]),w.jsx("div",{ref:W.setFloating,"data-radix-popper-content-wrapper":"",style:{...Z,transform:G?Z.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Q,"--radix-popper-transform-origin":[(ae=B.transformOrigin)==null?void 0:ae.x,(we=B.transformOrigin)==null?void 0:we.y].join(" "),...((xe=B.hide)==null?void 0:xe.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:w.jsx(JV,{scope:n,placedSide:X,onArrowChange:N,arrowX:U,arrowY:L,shouldHideArrow:Y,children:w.jsx(Xe.div,{"data-side":X,"data-align":D,...v,ref:T,style:{...v.style,animation:G?void 0:"none"}})})})});kB.displayName=Qk;var AB="PopperArrow",tW={top:"bottom",right:"left",bottom:"top",left:"right"},TB=k.forwardRef(function(t,n){const{__scopePopper:r,...a}=t,i=eW(AB,r),l=tW[i.placedSide];return w.jsx("span",{ref:i.onArrowChange,style:{position:"absolute",left:i.arrowX,top:i.arrowY,[l]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[i.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[i.placedSide],visibility:i.shouldHideArrow?"hidden":void 0},children:w.jsx(ZV,{...a,ref:n,style:{...a.style,display:"block"}})})});TB.displayName=AB;function nW(e){return e!==null}var rW=e=>({name:"transformOrigin",options:e,fn(t){var A,R,x;const{placement:n,rects:r,middlewareData:a}=t,l=((A=a.arrow)==null?void 0:A.centerOffset)!==0,u=l?0:e.arrowWidth,c=l?0:e.arrowHeight,[f,p]=_B(n),g={start:"0%",center:"50%",end:"100%"}[p],b=(((R=a.arrow)==null?void 0:R.x)??0)+u/2,m=(((x=a.arrow)==null?void 0:x.y)??0)+c/2;let S="",v="";return f==="bottom"?(S=l?g:`${b}px`,v=`${-c}px`):f==="top"?(S=l?g:`${b}px`,v=`${r.floating.height+c}px`):f==="right"?(S=`${-c}px`,v=l?g:`${m}px`):f==="left"&&(S=`${r.floating.width+c}px`,v=l?g:`${m}px`),{data:{x:S,y:v}}}});function _B(e){const[t,n="center"]=e.split("-");return[t,n]}var Jk=EB,vf=xB,e0=kB,t0=TB,aW="VisuallyHidden",n0=k.forwardRef((e,t)=>w.jsx(Xe.span,{...e,ref:t,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...e.style}}));n0.displayName=aW;var oW=n0,[Sf,Jye]=mr("Tooltip",[Nl]),Ef=Nl(),RB="TooltipProvider",iW=700,Cx="tooltip.open",[lW,r0]=Sf(RB),CB=e=>{const{__scopeTooltip:t,delayDuration:n=iW,skipDelayDuration:r=300,disableHoverableContent:a=!1,children:i}=e,[l,u]=k.useState(!0),c=k.useRef(!1),f=k.useRef(0);return k.useEffect(()=>{const p=f.current;return()=>window.clearTimeout(p)},[]),w.jsx(lW,{scope:t,isOpenDelayed:l,delayDuration:n,onOpen:k.useCallback(()=>{window.clearTimeout(f.current),u(!1)},[]),onClose:k.useCallback(()=>{window.clearTimeout(f.current),f.current=window.setTimeout(()=>u(!0),r)},[r]),isPointerInTransitRef:c,onPointerInTransitChange:k.useCallback(p=>{c.current=p},[]),disableHoverableContent:a,children:i})};CB.displayName=RB;var wf="Tooltip",[sW,xf]=Sf(wf),NB=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:a=!1,onOpenChange:i,disableHoverableContent:l,delayDuration:u}=e,c=r0(wf,e.__scopeTooltip),f=Ef(t),[p,g]=k.useState(null),b=En(),m=k.useRef(0),S=l??c.disableHoverableContent,v=u??c.delayDuration,A=k.useRef(!1),[R=!1,x]=Oa({prop:r,defaultProp:a,onChange:O=>{O?(c.onOpen(),document.dispatchEvent(new CustomEvent(Cx))):c.onClose(),i==null||i(O)}}),T=k.useMemo(()=>R?A.current?"delayed-open":"instant-open":"closed",[R]),C=k.useCallback(()=>{window.clearTimeout(m.current),m.current=0,A.current=!1,x(!0)},[x]),N=k.useCallback(()=>{window.clearTimeout(m.current),m.current=0,x(!1)},[x]),_=k.useCallback(()=>{window.clearTimeout(m.current),m.current=window.setTimeout(()=>{A.current=!0,x(!0),m.current=0},v)},[v,x]);return k.useEffect(()=>()=>{m.current&&(window.clearTimeout(m.current),m.current=0)},[]),w.jsx(Jk,{...f,children:w.jsx(sW,{scope:t,contentId:b,open:R,stateAttribute:T,trigger:p,onTriggerChange:g,onTriggerEnter:k.useCallback(()=>{c.isOpenDelayed?_():C()},[c.isOpenDelayed,_,C]),onTriggerLeave:k.useCallback(()=>{S?N():(window.clearTimeout(m.current),m.current=0)},[N,S]),onOpen:C,onClose:N,disableHoverableContent:S,children:n})})};NB.displayName=wf;var Nx="TooltipTrigger",OB=k.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,a=xf(Nx,n),i=r0(Nx,n),l=Ef(n),u=k.useRef(null),c=ft(t,u,a.onTriggerChange),f=k.useRef(!1),p=k.useRef(!1),g=k.useCallback(()=>f.current=!1,[]);return k.useEffect(()=>()=>document.removeEventListener("pointerup",g),[g]),w.jsx(vf,{asChild:!0,...l,children:w.jsx(Xe.button,{"aria-describedby":a.open?a.contentId:void 0,"data-state":a.stateAttribute,...r,ref:c,onPointerMove:Ye(e.onPointerMove,b=>{b.pointerType!=="touch"&&!p.current&&!i.isPointerInTransitRef.current&&(a.onTriggerEnter(),p.current=!0)}),onPointerLeave:Ye(e.onPointerLeave,()=>{a.onTriggerLeave(),p.current=!1}),onPointerDown:Ye(e.onPointerDown,()=>{f.current=!0,document.addEventListener("pointerup",g,{once:!0})}),onFocus:Ye(e.onFocus,()=>{f.current||a.onOpen()}),onBlur:Ye(e.onBlur,a.onClose),onClick:Ye(e.onClick,a.onClose)})})});OB.displayName=Nx;var uW="TooltipPortal",[eve,cW]=Sf(uW,{forceMount:void 0}),bl="TooltipContent",DB=k.forwardRef((e,t)=>{const n=cW(bl,e.__scopeTooltip),{forceMount:r=n.forceMount,side:a="top",...i}=e,l=xf(bl,e.__scopeTooltip);return w.jsx(Jn,{present:r||l.open,children:l.disableHoverableContent?w.jsx(IB,{side:a,...i,ref:t}):w.jsx(dW,{side:a,...i,ref:t})})}),dW=k.forwardRef((e,t)=>{const n=xf(bl,e.__scopeTooltip),r=r0(bl,e.__scopeTooltip),a=k.useRef(null),i=ft(t,a),[l,u]=k.useState(null),{trigger:c,onClose:f}=n,p=a.current,{onPointerInTransitChange:g}=r,b=k.useCallback(()=>{u(null),g(!1)},[g]),m=k.useCallback((S,v)=>{const A=S.currentTarget,R={x:S.clientX,y:S.clientY},x=hW(R,A.getBoundingClientRect()),T=mW(R,x),C=bW(v.getBoundingClientRect()),N=vW([...T,...C]);u(N),g(!0)},[g]);return k.useEffect(()=>()=>b(),[b]),k.useEffect(()=>{if(c&&p){const S=A=>m(A,p),v=A=>m(A,c);return c.addEventListener("pointerleave",S),p.addEventListener("pointerleave",v),()=>{c.removeEventListener("pointerleave",S),p.removeEventListener("pointerleave",v)}}},[c,p,m,b]),k.useEffect(()=>{if(l){const S=v=>{const A=v.target,R={x:v.clientX,y:v.clientY},x=(c==null?void 0:c.contains(A))||(p==null?void 0:p.contains(A)),T=!yW(R,l);x?b():T&&(b(),f())};return document.addEventListener("pointermove",S),()=>document.removeEventListener("pointermove",S)}},[c,p,l,f,b]),w.jsx(IB,{...e,ref:i})}),[fW,pW]=Sf(wf,{isInside:!1}),IB=k.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":a,onEscapeKeyDown:i,onPointerDownOutside:l,...u}=e,c=xf(bl,n),f=Ef(n),{onClose:p}=c;return k.useEffect(()=>(document.addEventListener(Cx,p),()=>document.removeEventListener(Cx,p)),[p]),k.useEffect(()=>{if(c.trigger){const g=b=>{const m=b.target;m!=null&&m.contains(c.trigger)&&p()};return window.addEventListener("scroll",g,{capture:!0}),()=>window.removeEventListener("scroll",g,{capture:!0})}},[c.trigger,p]),w.jsx(hu,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:l,onFocusOutside:g=>g.preventDefault(),onDismiss:p,children:w.jsxs(e0,{"data-state":c.stateAttribute,...f,...u,ref:t,style:{...u.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[w.jsx(Dk,{children:r}),w.jsx(fW,{scope:n,isInside:!0,children:w.jsx(oW,{id:c.contentId,role:"tooltip",children:a||r})})]})})});DB.displayName=bl;var LB="TooltipArrow",gW=k.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,a=Ef(n);return pW(LB,n).isInside?null:w.jsx(t0,{...a,...r,ref:t})});gW.displayName=LB;function hW(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),a=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(n,r,a,i)){case i:return"left";case a:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function mW(e,t,n=5){const r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function bW(e){const{top:t,right:n,bottom:r,left:a}=e;return[{x:a,y:t},{x:n,y:t},{x:n,y:r},{x:a,y:r}]}function yW(e,t){const{x:n,y:r}=e;let a=!1;for(let i=0,l=t.length-1;ir!=p>r&&n<(f-u)*(r-c)/(p-c)+u&&(a=!a)}return a}function vW(e){const t=e.slice();return t.sort((n,r)=>n.xr.x?1:n.yr.y?1:0),SW(t)}function SW(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r=2;){const i=t[t.length-1],l=t[t.length-2];if((i.x-l.x)*(a.y-l.y)>=(i.y-l.y)*(a.x-l.x))t.pop();else break}t.push(a)}t.pop();const n=[];for(let r=e.length-1;r>=0;r--){const a=e[r];for(;n.length>=2;){const i=n[n.length-1],l=n[n.length-2];if((i.x-l.x)*(a.y-l.y)>=(i.y-l.y)*(a.x-l.x))n.pop();else break}n.push(a)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var EW=CB,wW=NB,xW=OB,MB=DB;const FB=EW,zB=wW,PB=xW,kW=e=>typeof e!="string"?e:w.jsx("div",{className:"relative top-0 pt-1 whitespace-pre-wrap break-words",children:e}),a0=k.forwardRef(({className:e,side:t="left",align:n="start",children:r,...a},i)=>{const l=k.useRef(null);return k.useEffect(()=>{l.current&&(l.current.scrollTop=0)},[r]),w.jsx(MB,{ref:i,side:t,align:n,className:Me("bg-popover text-popover-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 max-h-[60vh] overflow-y-auto whitespace-pre-wrap break-words rounded-md border px-3 py-2 text-sm shadow-md",e),...a,children:typeof r=="string"?kW(r):r})});a0.displayName=MB.displayName;const zd=Nz("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"size-8"}},defaultVariants:{variant:"default",size:"default"}}),Lt=k.forwardRef(({className:e,variant:t,tooltip:n,size:r,side:a="right",asChild:i=!1,...l},u)=>{const c=i?bo:"button";return n?w.jsx(FB,{children:w.jsxs(zB,{children:[w.jsx(PB,{asChild:!0,children:w.jsx(c,{className:Me(zd({variant:t,size:r,className:e}),"cursor-pointer"),ref:u,...l})}),w.jsx(a0,{side:a,children:n})]})}):w.jsx(c,{className:Me(zd({variant:t,size:r,className:e}),"cursor-pointer"),ref:u,...l})});Lt.displayName="Button";const AW=Z7,TW=Q7,BB=k.forwardRef(({className:e,...t},n)=>w.jsx(tB,{className:Me("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80",e),...t,ref:n}));BB.displayName=tB.displayName;const UB=k.forwardRef(({className:e,...t},n)=>w.jsxs(TW,{children:[w.jsx(BB,{}),w.jsx(nB,{ref:n,className:Me("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-top-[48%] fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-200 sm:rounded-lg",e),...t})]}));UB.displayName=nB.displayName;const jB=({className:e,...t})=>w.jsx("div",{className:Me("flex flex-col space-y-2 text-center sm:text-left",e),...t});jB.displayName="AlertDialogHeader";const GB=k.forwardRef(({className:e,...t},n)=>w.jsx(oB,{ref:n,className:Me("text-lg font-semibold",e),...t}));GB.displayName=oB.displayName;const HB=k.forwardRef(({className:e,...t},n)=>w.jsx(iB,{ref:n,className:Me("text-muted-foreground text-sm",e),...t}));HB.displayName=iB.displayName;const _W=k.forwardRef(({className:e,...t},n)=>w.jsx(rB,{ref:n,className:Me(zd(),e),...t}));_W.displayName=rB.displayName;const RW=k.forwardRef(({className:e,...t},n)=>w.jsx(aB,{ref:n,className:Me(zd({variant:"outline"}),"mt-2 sm:mt-0",e),...t}));RW.displayName=aB.displayName;const Eo=k.forwardRef(({className:e,type:t,...n},r)=>w.jsx("input",{type:t,className:Me("border-input file:text-foreground placeholder:text-muted-foreground focus-visible:ring-ring flex h-9 rounded-md border bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:ring-1 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm [&::-webkit-inner-spin-button]:opacity-100 [&::-webkit-outer-spin-button]:opacity-100",e),ref:r,...n}));Eo.displayName="Input";var CW=e=>{switch(e){case"success":return DW;case"info":return LW;case"warning":return IW;case"error":return MW;default:return null}},NW=Array(12).fill(0),OW=({visible:e,className:t})=>ye.createElement("div",{className:["sonner-loading-wrapper",t].filter(Boolean).join(" "),"data-visible":e},ye.createElement("div",{className:"sonner-spinner"},NW.map((n,r)=>ye.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${r}`})))),DW=ye.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},ye.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),IW=ye.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},ye.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),LW=ye.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},ye.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),MW=ye.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},ye.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),FW=ye.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},ye.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),ye.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),zW=()=>{let[e,t]=ye.useState(document.hidden);return ye.useEffect(()=>{let n=()=>{t(document.hidden)};return document.addEventListener("visibilitychange",n),()=>window.removeEventListener("visibilitychange",n)},[]),e},Ox=1,PW=class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var t;let{message:n,...r}=e,a=typeof(e==null?void 0:e.id)=="number"||((t=e.id)==null?void 0:t.length)>0?e.id:Ox++,i=this.toasts.find(u=>u.id===a),l=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(a)&&this.dismissedToasts.delete(a),i?this.toasts=this.toasts.map(u=>u.id===a?(this.publish({...u,...e,id:a,title:n}),{...u,...e,id:a,dismissible:l,title:n}):u):this.addToast({title:n,...r,dismissible:l,id:a}),a},this.dismiss=e=>(this.dismissedToasts.add(e),e||this.toasts.forEach(t=>{this.subscribers.forEach(n=>n({id:t.id,dismiss:!0}))}),this.subscribers.forEach(t=>t({id:e,dismiss:!0})),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:"error"}),this.success=(e,t)=>this.create({...t,type:"success",message:e}),this.info=(e,t)=>this.create({...t,type:"info",message:e}),this.warning=(e,t)=>this.create({...t,type:"warning",message:e}),this.loading=(e,t)=>this.create({...t,type:"loading",message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:"loading",message:t.loading,description:typeof t.description!="function"?t.description:void 0}));let r=e instanceof Promise?e:e(),a=n!==void 0,i,l=r.then(async c=>{if(i=["resolve",c],ye.isValidElement(c))a=!1,this.create({id:n,type:"default",message:c});else if(UW(c)&&!c.ok){a=!1;let f=typeof t.error=="function"?await t.error(`HTTP error! status: ${c.status}`):t.error,p=typeof t.description=="function"?await t.description(`HTTP error! status: ${c.status}`):t.description;this.create({id:n,type:"error",message:f,description:p})}else if(t.success!==void 0){a=!1;let f=typeof t.success=="function"?await t.success(c):t.success,p=typeof t.description=="function"?await t.description(c):t.description;this.create({id:n,type:"success",message:f,description:p})}}).catch(async c=>{if(i=["reject",c],t.error!==void 0){a=!1;let f=typeof t.error=="function"?await t.error(c):t.error,p=typeof t.description=="function"?await t.description(c):t.description;this.create({id:n,type:"error",message:f,description:p})}}).finally(()=>{var c;a&&(this.dismiss(n),n=void 0),(c=t.finally)==null||c.call(t)}),u=()=>new Promise((c,f)=>l.then(()=>i[0]==="reject"?f(i[1]):c(i[1])).catch(f));return typeof n!="string"&&typeof n!="number"?{unwrap:u}:Object.assign(n,{unwrap:u})},this.custom=(e,t)=>{let n=(t==null?void 0:t.id)||Ox++;return this.create({jsx:e(n),id:n,...t}),n},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},Fn=new PW,BW=(e,t)=>{let n=(t==null?void 0:t.id)||Ox++;return Fn.addToast({title:e,...t,id:n}),n},UW=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",jW=BW,GW=()=>Fn.toasts,HW=()=>Fn.getActiveToasts(),vn=Object.assign(jW,{success:Fn.success,info:Fn.info,warning:Fn.warning,error:Fn.error,custom:Fn.custom,message:Fn.message,promise:Fn.promise,dismiss:Fn.dismiss,loading:Fn.loading},{getHistory:GW,getToasts:HW});function $W(e,{insertAt:t}={}){if(typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",t==="top"&&n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}$W(`:where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:var(--offset-right)}:where([data-sonner-toaster][data-x-position="left"]){left:var(--offset-left)}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:var(--offset-top)}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:var(--offset-bottom)}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:-50%;right:-50%;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)} `);function $c(e){return e.label!==void 0}var qW=3,VW="32px",WW="16px",VR=4e3,YW=356,KW=14,XW=20,ZW=200;function Ar(...e){return e.filter(Boolean).join(" ")}function QW(e){let[t,n]=e.split("-"),r=[];return t&&r.push(t),n&&r.push(n),r}var JW=e=>{var t,n,r,a,i,l,u,c,f,p,g;let{invert:b,toast:m,unstyled:S,interacting:v,setHeights:A,visibleToasts:R,heights:x,index:T,toasts:C,expanded:N,removeToast:_,defaultRichColors:O,closeButton:z,style:I,cancelButtonStyle:M,actionButtonStyle:H,className:q="",descriptionClassName:P="",duration:W,position:Z,gap:j,loadingIcon:G,expandByDefault:B,classNames:X,icons:D,closeButtonAriaLabel:V="Close toast",pauseWhenPageIsHidden:U}=e,[L,Y]=ye.useState(null),[Q,se]=ye.useState(null),[re,le]=ye.useState(!1),[Ae,ae]=ye.useState(!1),[we,xe]=ye.useState(!1),[Ie,Ce]=ye.useState(!1),[Ee,J]=ye.useState(!1),[fe,ke]=ye.useState(0),[me,ve]=ye.useState(0),ie=ye.useRef(m.duration||W||VR),ze=ye.useRef(null),Pe=ye.useRef(null),he=T===0,Ne=T+1<=R,ee=m.type,ce=m.dismissible!==!1,Re=m.className||"",Fe=m.descriptionClassName||"",qe=ye.useMemo(()=>x.findIndex(Ke=>Ke.toastId===m.id)||0,[x,m.id]),mt=ye.useMemo(()=>{var Ke;return(Ke=m.closeButton)!=null?Ke:z},[m.closeButton,z]),St=ye.useMemo(()=>m.duration||W||VR,[m.duration,W]),pt=ye.useRef(0),Je=ye.useRef(0),wt=ye.useRef(0),rt=ye.useRef(null),[bt,Bt]=Z.split("-"),sn=ye.useMemo(()=>x.reduce((Ke,gt,_t)=>_t>=qe?Ke:Ke+gt.height,0),[x,qe]),Mt=zW(),er=m.invert||b,zr=ee==="loading";Je.current=ye.useMemo(()=>qe*j+sn,[qe,sn]),ye.useEffect(()=>{ie.current=St},[St]),ye.useEffect(()=>{le(!0)},[]),ye.useEffect(()=>{let Ke=Pe.current;if(Ke){let gt=Ke.getBoundingClientRect().height;return ve(gt),A(_t=>[{toastId:m.id,height:gt,position:m.position},..._t]),()=>A(_t=>_t.filter(Rn=>Rn.toastId!==m.id))}},[A,m.id]),ye.useLayoutEffect(()=>{if(!re)return;let Ke=Pe.current,gt=Ke.style.height;Ke.style.height="auto";let _t=Ke.getBoundingClientRect().height;Ke.style.height=gt,ve(_t),A(Rn=>Rn.find(kn=>kn.toastId===m.id)?Rn.map(kn=>kn.toastId===m.id?{...kn,height:_t}:kn):[{toastId:m.id,height:_t,position:m.position},...Rn])},[re,m.title,m.description,A,m.id]);let Kt=ye.useCallback(()=>{ae(!0),ke(Je.current),A(Ke=>Ke.filter(gt=>gt.toastId!==m.id)),setTimeout(()=>{_(m)},ZW)},[m,_,A,Je]);ye.useEffect(()=>{if(m.promise&&ee==="loading"||m.duration===1/0||m.type==="loading")return;let Ke;return N||v||U&&Mt?(()=>{if(wt.current{var gt;(gt=m.onAutoClose)==null||gt.call(m,m),Kt()},ie.current)),()=>clearTimeout(Ke)},[N,v,m,ee,U,Mt,Kt]),ye.useEffect(()=>{m.delete&&Kt()},[Kt,m.delete]);function na(){var Ke,gt,_t;return D!=null&&D.loading?ye.createElement("div",{className:Ar(X==null?void 0:X.loader,(Ke=m==null?void 0:m.classNames)==null?void 0:Ke.loader,"sonner-loader"),"data-visible":ee==="loading"},D.loading):G?ye.createElement("div",{className:Ar(X==null?void 0:X.loader,(gt=m==null?void 0:m.classNames)==null?void 0:gt.loader,"sonner-loader"),"data-visible":ee==="loading"},G):ye.createElement(OW,{className:Ar(X==null?void 0:X.loader,(_t=m==null?void 0:m.classNames)==null?void 0:_t.loader),visible:ee==="loading"})}return ye.createElement("li",{tabIndex:0,ref:Pe,className:Ar(q,Re,X==null?void 0:X.toast,(t=m==null?void 0:m.classNames)==null?void 0:t.toast,X==null?void 0:X.default,X==null?void 0:X[ee],(n=m==null?void 0:m.classNames)==null?void 0:n[ee]),"data-sonner-toast":"","data-rich-colors":(r=m.richColors)!=null?r:O,"data-styled":!(m.jsx||m.unstyled||S),"data-mounted":re,"data-promise":!!m.promise,"data-swiped":Ee,"data-removed":Ae,"data-visible":Ne,"data-y-position":bt,"data-x-position":Bt,"data-index":T,"data-front":he,"data-swiping":we,"data-dismissible":ce,"data-type":ee,"data-invert":er,"data-swipe-out":Ie,"data-swipe-direction":Q,"data-expanded":!!(N||B&&re),style:{"--index":T,"--toasts-before":T,"--z-index":C.length-T,"--offset":`${Ae?fe:Je.current}px`,"--initial-height":B?"auto":`${me}px`,...I,...m.style},onDragEnd:()=>{xe(!1),Y(null),rt.current=null},onPointerDown:Ke=>{zr||!ce||(ze.current=new Date,ke(Je.current),Ke.target.setPointerCapture(Ke.pointerId),Ke.target.tagName!=="BUTTON"&&(xe(!0),rt.current={x:Ke.clientX,y:Ke.clientY}))},onPointerUp:()=>{var Ke,gt,_t,Rn;if(Ie||!ce)return;rt.current=null;let kn=Number(((Ke=Pe.current)==null?void 0:Ke.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),Cn=Number(((gt=Pe.current)==null?void 0:gt.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),ra=new Date().getTime()-((_t=ze.current)==null?void 0:_t.getTime()),Nn=L==="x"?kn:Cn,Sr=Math.abs(Nn)/ra;if(Math.abs(Nn)>=XW||Sr>.11){ke(Je.current),(Rn=m.onDismiss)==null||Rn.call(m,m),se(L==="x"?kn>0?"right":"left":Cn>0?"down":"up"),Kt(),Ce(!0),J(!1);return}xe(!1),Y(null)},onPointerMove:Ke=>{var gt,_t,Rn,kn;if(!rt.current||!ce||((gt=window.getSelection())==null?void 0:gt.toString().length)>0)return;let Cn=Ke.clientY-rt.current.y,ra=Ke.clientX-rt.current.x,Nn=(_t=e.swipeDirections)!=null?_t:QW(Z);!L&&(Math.abs(ra)>1||Math.abs(Cn)>1)&&Y(Math.abs(ra)>Math.abs(Cn)?"x":"y");let Sr={x:0,y:0};L==="y"?(Nn.includes("top")||Nn.includes("bottom"))&&(Nn.includes("top")&&Cn<0||Nn.includes("bottom")&&Cn>0)&&(Sr.y=Cn):L==="x"&&(Nn.includes("left")||Nn.includes("right"))&&(Nn.includes("left")&&ra<0||Nn.includes("right")&&ra>0)&&(Sr.x=ra),(Math.abs(Sr.x)>0||Math.abs(Sr.y)>0)&&J(!0),(Rn=Pe.current)==null||Rn.style.setProperty("--swipe-amount-x",`${Sr.x}px`),(kn=Pe.current)==null||kn.style.setProperty("--swipe-amount-y",`${Sr.y}px`)}},mt&&!m.jsx?ye.createElement("button",{"aria-label":V,"data-disabled":zr,"data-close-button":!0,onClick:zr||!ce?()=>{}:()=>{var Ke;Kt(),(Ke=m.onDismiss)==null||Ke.call(m,m)},className:Ar(X==null?void 0:X.closeButton,(a=m==null?void 0:m.classNames)==null?void 0:a.closeButton)},(i=D==null?void 0:D.close)!=null?i:FW):null,m.jsx||k.isValidElement(m.title)?m.jsx?m.jsx:typeof m.title=="function"?m.title():m.title:ye.createElement(ye.Fragment,null,ee||m.icon||m.promise?ye.createElement("div",{"data-icon":"",className:Ar(X==null?void 0:X.icon,(l=m==null?void 0:m.classNames)==null?void 0:l.icon)},m.promise||m.type==="loading"&&!m.icon?m.icon||na():null,m.type!=="loading"?m.icon||(D==null?void 0:D[ee])||CW(ee):null):null,ye.createElement("div",{"data-content":"",className:Ar(X==null?void 0:X.content,(u=m==null?void 0:m.classNames)==null?void 0:u.content)},ye.createElement("div",{"data-title":"",className:Ar(X==null?void 0:X.title,(c=m==null?void 0:m.classNames)==null?void 0:c.title)},typeof m.title=="function"?m.title():m.title),m.description?ye.createElement("div",{"data-description":"",className:Ar(P,Fe,X==null?void 0:X.description,(f=m==null?void 0:m.classNames)==null?void 0:f.description)},typeof m.description=="function"?m.description():m.description):null),k.isValidElement(m.cancel)?m.cancel:m.cancel&&$c(m.cancel)?ye.createElement("button",{"data-button":!0,"data-cancel":!0,style:m.cancelButtonStyle||M,onClick:Ke=>{var gt,_t;$c(m.cancel)&&ce&&((_t=(gt=m.cancel).onClick)==null||_t.call(gt,Ke),Kt())},className:Ar(X==null?void 0:X.cancelButton,(p=m==null?void 0:m.classNames)==null?void 0:p.cancelButton)},m.cancel.label):null,k.isValidElement(m.action)?m.action:m.action&&$c(m.action)?ye.createElement("button",{"data-button":!0,"data-action":!0,style:m.actionButtonStyle||H,onClick:Ke=>{var gt,_t;$c(m.action)&&((_t=(gt=m.action).onClick)==null||_t.call(gt,Ke),!Ke.defaultPrevented&&Kt())},className:Ar(X==null?void 0:X.actionButton,(g=m==null?void 0:m.classNames)==null?void 0:g.actionButton)},m.action.label):null))};function WR(){if(typeof window>"u"||typeof document>"u")return"ltr";let e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}function eY(e,t){let n={};return[e,t].forEach((r,a)=>{let i=a===1,l=i?"--mobile-offset":"--offset",u=i?WW:VW;function c(f){["top","right","bottom","left"].forEach(p=>{n[`${l}-${p}`]=typeof f=="number"?`${f}px`:f})}typeof r=="number"||typeof r=="string"?c(r):typeof r=="object"?["top","right","bottom","left"].forEach(f=>{r[f]===void 0?n[`${l}-${f}`]=u:n[`${l}-${f}`]=typeof r[f]=="number"?`${r[f]}px`:r[f]}):c(u)}),n}var tY=k.forwardRef(function(e,t){let{invert:n,position:r="bottom-right",hotkey:a=["altKey","KeyT"],expand:i,closeButton:l,className:u,offset:c,mobileOffset:f,theme:p="light",richColors:g,duration:b,style:m,visibleToasts:S=qW,toastOptions:v,dir:A=WR(),gap:R=KW,loadingIcon:x,icons:T,containerAriaLabel:C="Notifications",pauseWhenPageIsHidden:N}=e,[_,O]=ye.useState([]),z=ye.useMemo(()=>Array.from(new Set([r].concat(_.filter(U=>U.position).map(U=>U.position)))),[_,r]),[I,M]=ye.useState([]),[H,q]=ye.useState(!1),[P,W]=ye.useState(!1),[Z,j]=ye.useState(p!=="system"?p:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),G=ye.useRef(null),B=a.join("+").replace(/Key/g,"").replace(/Digit/g,""),X=ye.useRef(null),D=ye.useRef(!1),V=ye.useCallback(U=>{O(L=>{var Y;return(Y=L.find(Q=>Q.id===U.id))!=null&&Y.delete||Fn.dismiss(U.id),L.filter(({id:Q})=>Q!==U.id)})},[]);return ye.useEffect(()=>Fn.subscribe(U=>{if(U.dismiss){O(L=>L.map(Y=>Y.id===U.id?{...Y,delete:!0}:Y));return}setTimeout(()=>{pP.flushSync(()=>{O(L=>{let Y=L.findIndex(Q=>Q.id===U.id);return Y!==-1?[...L.slice(0,Y),{...L[Y],...U},...L.slice(Y+1)]:[U,...L]})})})}),[]),ye.useEffect(()=>{if(p!=="system"){j(p);return}if(p==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?j("dark"):j("light")),typeof window>"u")return;let U=window.matchMedia("(prefers-color-scheme: dark)");try{U.addEventListener("change",({matches:L})=>{j(L?"dark":"light")})}catch{U.addListener(({matches:Y})=>{try{j(Y?"dark":"light")}catch(Q){console.error(Q)}})}},[p]),ye.useEffect(()=>{_.length<=1&&q(!1)},[_]),ye.useEffect(()=>{let U=L=>{var Y,Q;a.every(se=>L[se]||L.code===se)&&(q(!0),(Y=G.current)==null||Y.focus()),L.code==="Escape"&&(document.activeElement===G.current||(Q=G.current)!=null&&Q.contains(document.activeElement))&&q(!1)};return document.addEventListener("keydown",U),()=>document.removeEventListener("keydown",U)},[a]),ye.useEffect(()=>{if(G.current)return()=>{X.current&&(X.current.focus({preventScroll:!0}),X.current=null,D.current=!1)}},[G.current]),ye.createElement("section",{ref:t,"aria-label":`${C} ${B}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},z.map((U,L)=>{var Y;let[Q,se]=U.split("-");return _.length?ye.createElement("ol",{key:U,dir:A==="auto"?WR():A,tabIndex:-1,ref:G,className:u,"data-sonner-toaster":!0,"data-theme":Z,"data-y-position":Q,"data-lifted":H&&_.length>1&&!i,"data-x-position":se,style:{"--front-toast-height":`${((Y=I[0])==null?void 0:Y.height)||0}px`,"--width":`${YW}px`,"--gap":`${R}px`,...m,...eY(c,f)},onBlur:re=>{D.current&&!re.currentTarget.contains(re.relatedTarget)&&(D.current=!1,X.current&&(X.current.focus({preventScroll:!0}),X.current=null))},onFocus:re=>{re.target instanceof HTMLElement&&re.target.dataset.dismissible==="false"||D.current||(D.current=!0,X.current=re.relatedTarget)},onMouseEnter:()=>q(!0),onMouseMove:()=>q(!0),onMouseLeave:()=>{P||q(!1)},onDragEnd:()=>q(!1),onPointerDown:re=>{re.target instanceof HTMLElement&&re.target.dataset.dismissible==="false"||W(!0)},onPointerUp:()=>W(!1)},_.filter(re=>!re.position&&L===0||re.position===U).map((re,le)=>{var Ae,ae;return ye.createElement(JW,{key:re.id,icons:T,index:le,toast:re,defaultRichColors:g,duration:(Ae=v==null?void 0:v.duration)!=null?Ae:b,className:v==null?void 0:v.className,descriptionClassName:v==null?void 0:v.descriptionClassName,invert:n,visibleToasts:S,closeButton:(ae=v==null?void 0:v.closeButton)!=null?ae:l,interacting:P,position:U,style:v==null?void 0:v.style,unstyled:v==null?void 0:v.unstyled,classNames:v==null?void 0:v.classNames,cancelButtonStyle:v==null?void 0:v.cancelButtonStyle,actionButtonStyle:v==null?void 0:v.actionButtonStyle,removeToast:V,toasts:_.filter(we=>we.position==re.position),heights:I.filter(we=>we.position==re.position),setHeights:M,expandByDefault:i,gap:R,loadingIcon:x,expanded:H,pauseWhenPageIsHidden:N,swipeDirections:e.swipeDirections})})):null}))});const nY=()=>{const[e,t]=k.useState(!0),n=We.use.apiKey(),[r,a]=k.useState(""),i=Pn.use.message();k.useEffect(()=>{a(n||"")},[n,e]),k.useEffect(()=>{i&&(i.includes(oP)||i.includes(iP))&&t(!0)},[i,t]);const l=k.useCallback(async()=>{if(We.setState({apiKey:r||null}),await Pn.getState().check()){t(!1);return}vn.error("API Key is invalid")},[r]),u=k.useCallback(c=>{a(c.target.value)},[a]);return w.jsx(AW,{open:e,onOpenChange:t,children:w.jsxs(UB,{children:[w.jsxs(jB,{children:[w.jsx(GB,{children:"API Key is required"}),w.jsx(HB,{children:"Please enter your API key"})]}),w.jsxs("form",{className:"flex gap-2",onSubmit:c=>c.preventDefault(),children:[w.jsx(Eo,{type:"password",value:r,onChange:u,placeholder:"Enter your API key",className:"max-h-full w-full min-w-0",autoComplete:"off"}),w.jsx(Lt,{onClick:l,variant:"outline",size:"sm",children:"Save"})]})]})})};var o0="Popover",[$B,tve]=mr(o0,[Nl]),bu=Nl(),[rY,wo]=$B(o0),qB=e=>{const{__scopePopover:t,children:n,open:r,defaultOpen:a,onOpenChange:i,modal:l=!1}=e,u=bu(t),c=k.useRef(null),[f,p]=k.useState(!1),[g=!1,b]=Oa({prop:r,defaultProp:a,onChange:i});return w.jsx(Jk,{...u,children:w.jsx(rY,{scope:t,contentId:En(),triggerRef:c,open:g,onOpenChange:b,onOpenToggle:k.useCallback(()=>b(m=>!m),[b]),hasCustomAnchor:f,onCustomAnchorAdd:k.useCallback(()=>p(!0),[]),onCustomAnchorRemove:k.useCallback(()=>p(!1),[]),modal:l,children:n})})};qB.displayName=o0;var VB="PopoverAnchor",aY=k.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,a=wo(VB,n),i=bu(n),{onCustomAnchorAdd:l,onCustomAnchorRemove:u}=a;return k.useEffect(()=>(l(),()=>u()),[l,u]),w.jsx(vf,{...i,...r,ref:t})});aY.displayName=VB;var WB="PopoverTrigger",YB=k.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,a=wo(WB,n),i=bu(n),l=ft(t,a.triggerRef),u=w.jsx(Xe.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":JB(a.open),...r,ref:l,onClick:Ye(e.onClick,a.onOpenToggle)});return a.hasCustomAnchor?u:w.jsx(vf,{asChild:!0,...i,children:u})});YB.displayName=WB;var i0="PopoverPortal",[oY,iY]=$B(i0,{forceMount:void 0}),KB=e=>{const{__scopePopover:t,forceMount:n,children:r,container:a}=e,i=wo(i0,t);return w.jsx(oY,{scope:t,forceMount:n,children:w.jsx(Jn,{present:n||i.open,children:w.jsx(df,{asChild:!0,container:a,children:r})})})};KB.displayName=i0;var yl="PopoverContent",XB=k.forwardRef((e,t)=>{const n=iY(yl,e.__scopePopover),{forceMount:r=n.forceMount,...a}=e,i=wo(yl,e.__scopePopover);return w.jsx(Jn,{present:r||i.open,children:i.modal?w.jsx(lY,{...a,ref:t}):w.jsx(sY,{...a,ref:t})})});XB.displayName=yl;var lY=k.forwardRef((e,t)=>{const n=wo(yl,e.__scopePopover),r=k.useRef(null),a=ft(t,r),i=k.useRef(!1);return k.useEffect(()=>{const l=r.current;if(l)return Lk(l)},[]),w.jsx(pf,{as:bo,allowPinchZoom:!0,children:w.jsx(ZB,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Ye(e.onCloseAutoFocus,l=>{var u;l.preventDefault(),i.current||(u=n.triggerRef.current)==null||u.focus()}),onPointerDownOutside:Ye(e.onPointerDownOutside,l=>{const u=l.detail.originalEvent,c=u.button===0&&u.ctrlKey===!0,f=u.button===2||c;i.current=f},{checkForDefaultPrevented:!1}),onFocusOutside:Ye(e.onFocusOutside,l=>l.preventDefault(),{checkForDefaultPrevented:!1})})})}),sY=k.forwardRef((e,t)=>{const n=wo(yl,e.__scopePopover),r=k.useRef(!1),a=k.useRef(!1);return w.jsx(ZB,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:i=>{var l,u;(l=e.onCloseAutoFocus)==null||l.call(e,i),i.defaultPrevented||(r.current||(u=n.triggerRef.current)==null||u.focus(),i.preventDefault()),r.current=!1,a.current=!1},onInteractOutside:i=>{var c,f;(c=e.onInteractOutside)==null||c.call(e,i),i.defaultPrevented||(r.current=!0,i.detail.originalEvent.type==="pointerdown"&&(a.current=!0));const l=i.target;((f=n.triggerRef.current)==null?void 0:f.contains(l))&&i.preventDefault(),i.detail.originalEvent.type==="focusin"&&a.current&&i.preventDefault()}})}),ZB=k.forwardRef((e,t)=>{const{__scopePopover:n,trapFocus:r,onOpenAutoFocus:a,onCloseAutoFocus:i,disableOutsidePointerEvents:l,onEscapeKeyDown:u,onPointerDownOutside:c,onFocusOutside:f,onInteractOutside:p,...g}=e,b=wo(yl,n),m=bu(n);return Ik(),w.jsx(cf,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:a,onUnmountAutoFocus:i,children:w.jsx(hu,{asChild:!0,disableOutsidePointerEvents:l,onInteractOutside:p,onEscapeKeyDown:u,onPointerDownOutside:c,onFocusOutside:f,onDismiss:()=>b.onOpenChange(!1),children:w.jsx(e0,{"data-state":JB(b.open),role:"dialog",id:b.contentId,...m,...g,ref:t,style:{...g.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),QB="PopoverClose",uY=k.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,a=wo(QB,n);return w.jsx(Xe.button,{type:"button",...r,ref:t,onClick:Ye(e.onClick,()=>a.onOpenChange(!1))})});uY.displayName=QB;var cY="PopoverArrow",dY=k.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,a=bu(n);return w.jsx(t0,{...a,...r,ref:t})});dY.displayName=cY;function JB(e){return e?"open":"closed"}var fY=qB,pY=YB,gY=KB,eU=XB;const kf=fY,Af=pY,yu=k.forwardRef(({className:e,align:t="center",sideOffset:n=4,...r},a)=>w.jsx(gY,{children:w.jsx(eU,{ref:a,align:t,sideOffset:n,className:Me("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 rounded-md border p-4 shadow-md outline-none",e),...r})}));yu.displayName=eU.displayName;const hY=({status:e})=>e?w.jsxs("div",{className:"min-w-[300px] space-y-3 text-sm",children:[w.jsxs("div",{className:"space-y-1",children:[w.jsx("h4",{className:"font-medium",children:"Storage Info"}),w.jsxs("div",{className:"text-muted-foreground grid grid-cols-2 gap-1",children:[w.jsx("span",{children:"Working Directory:"}),w.jsx("span",{className:"truncate",children:e.working_directory}),w.jsx("span",{children:"Input Directory:"}),w.jsx("span",{className:"truncate",children:e.input_directory})]})]}),w.jsxs("div",{className:"space-y-1",children:[w.jsx("h4",{className:"font-medium",children:"LLM Configuration"}),w.jsxs("div",{className:"text-muted-foreground grid grid-cols-2 gap-1",children:[w.jsx("span",{children:"LLM Binding:"}),w.jsx("span",{children:e.configuration.llm_binding}),w.jsx("span",{children:"LLM Binding Host:"}),w.jsx("span",{children:e.configuration.llm_binding_host}),w.jsx("span",{children:"LLM Model:"}),w.jsx("span",{children:e.configuration.llm_model}),w.jsx("span",{children:"Max Tokens:"}),w.jsx("span",{children:e.configuration.max_tokens})]})]}),w.jsxs("div",{className:"space-y-1",children:[w.jsx("h4",{className:"font-medium",children:"Embedding Configuration"}),w.jsxs("div",{className:"text-muted-foreground grid grid-cols-2 gap-1",children:[w.jsx("span",{children:"Embedding Binding:"}),w.jsx("span",{children:e.configuration.embedding_binding}),w.jsx("span",{children:"Embedding Binding Host:"}),w.jsx("span",{children:e.configuration.embedding_binding_host}),w.jsx("span",{children:"Embedding Model:"}),w.jsx("span",{children:e.configuration.embedding_model})]})]}),w.jsxs("div",{className:"space-y-1",children:[w.jsx("h4",{className:"font-medium",children:"Storage Configuration"}),w.jsxs("div",{className:"text-muted-foreground grid grid-cols-2 gap-1",children:[w.jsx("span",{children:"KV Storage:"}),w.jsx("span",{children:e.configuration.kv_storage}),w.jsx("span",{children:"Doc Status Storage:"}),w.jsx("span",{children:e.configuration.doc_status_storage}),w.jsx("span",{children:"Graph Storage:"}),w.jsx("span",{children:e.configuration.graph_storage}),w.jsx("span",{children:"Vector Storage:"}),w.jsx("span",{children:e.configuration.vector_storage})]})]})]}):w.jsx("div",{className:"text-muted-foreground text-sm",children:"Status information unavailable"}),mY=()=>{const e=Pn.use.health(),t=Pn.use.lastCheckTime(),n=Pn.use.status(),[r,a]=k.useState(!1);return k.useEffect(()=>{a(!0);const i=setTimeout(()=>a(!1),300);return()=>clearTimeout(i)},[t]),w.jsx("div",{className:"fixed right-4 bottom-4 flex items-center gap-2 opacity-80 select-none",children:w.jsxs(kf,{children:[w.jsx(Af,{asChild:!0,children:w.jsxs("div",{className:"flex cursor-help items-center gap-2",children:[w.jsx("div",{className:Me("h-3 w-3 rounded-full transition-all duration-300","shadow-[0_0_8px_rgba(0,0,0,0.2)]",e?"bg-green-500":"bg-red-500",r&&"scale-125",r&&e&&"shadow-[0_0_12px_rgba(34,197,94,0.4)]",r&&!e&&"shadow-[0_0_12px_rgba(239,68,68,0.4)]")}),w.jsx("span",{className:"text-muted-foreground text-xs",children:e?"Connected":"Disconnected"})]})}),w.jsx(yu,{className:"w-auto",side:"top",align:"end",children:w.jsx(hY,{status:n})})]})})},l0=()=>{const e=k.useContext(Cz);if(e===void 0)throw new Error("useTheme must be used within a ThemeProvider");return e};function bY(){const{theme:e,setTheme:t}=l0(),n=k.useCallback(()=>t("light"),[t]),r=k.useCallback(()=>t("dark"),[t]);return e==="dark"?w.jsx(Lt,{onClick:n,variant:Yr,tooltip:"Switch to light theme",size:"icon",side:"bottom",children:w.jsx(Kq,{})}):w.jsx(Lt,{onClick:r,variant:Yr,tooltip:"Switch to dark theme",size:"icon",side:"bottom",children:w.jsx(u8,{})})}function tU(e){const t=e+"CollectionProvider",[n,r]=mr(t),[a,i]=n(t,{collectionRef:{current:null},itemMap:new Map}),l=m=>{const{scope:S,children:v}=m,A=ye.useRef(null),R=ye.useRef(new Map).current;return w.jsx(a,{scope:S,itemMap:R,collectionRef:A,children:v})};l.displayName=t;const u=e+"CollectionSlot",c=ye.forwardRef((m,S)=>{const{scope:v,children:A}=m,R=i(u,v),x=ft(S,R.collectionRef);return w.jsx(bo,{ref:x,children:A})});c.displayName=u;const f=e+"CollectionItemSlot",p="data-radix-collection-item",g=ye.forwardRef((m,S)=>{const{scope:v,children:A,...R}=m,x=ye.useRef(null),T=ft(S,x),C=i(f,v);return ye.useEffect(()=>(C.itemMap.set(x,{ref:x,...R}),()=>void C.itemMap.delete(x))),w.jsx(bo,{[p]:"",ref:T,children:A})});g.displayName=f;function b(m){const S=i(e+"CollectionConsumer",m);return ye.useCallback(()=>{const A=S.collectionRef.current;if(!A)return[];const R=Array.from(A.querySelectorAll(`[${p}]`));return Array.from(S.itemMap.values()).sort((C,N)=>R.indexOf(C.ref.current)-R.indexOf(N.ref.current))},[S.collectionRef,S.itemMap])}return[{Provider:l,Slot:c,ItemSlot:g},b,r]}var yY=k.createContext(void 0);function Tf(e){const t=k.useContext(yY);return e||t||"ltr"}var wh="rovingFocusGroup.onEntryFocus",vY={bubbles:!1,cancelable:!0},_f="RovingFocusGroup",[Dx,nU,SY]=tU(_f),[EY,rU]=mr(_f,[SY]),[wY,xY]=EY(_f),aU=k.forwardRef((e,t)=>w.jsx(Dx.Provider,{scope:e.__scopeRovingFocusGroup,children:w.jsx(Dx.Slot,{scope:e.__scopeRovingFocusGroup,children:w.jsx(kY,{...e,ref:t})})}));aU.displayName=_f;var kY=k.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:a=!1,dir:i,currentTabStopId:l,defaultCurrentTabStopId:u,onCurrentTabStopIdChange:c,onEntryFocus:f,preventScrollOnEntryFocus:p=!1,...g}=e,b=k.useRef(null),m=ft(t,b),S=Tf(i),[v=null,A]=Oa({prop:l,defaultProp:u,onChange:c}),[R,x]=k.useState(!1),T=pn(f),C=nU(n),N=k.useRef(!1),[_,O]=k.useState(0);return k.useEffect(()=>{const z=b.current;if(z)return z.addEventListener(wh,T),()=>z.removeEventListener(wh,T)},[T]),w.jsx(wY,{scope:n,orientation:r,dir:S,loop:a,currentTabStopId:v,onItemFocus:k.useCallback(z=>A(z),[A]),onItemShiftTab:k.useCallback(()=>x(!0),[]),onFocusableItemAdd:k.useCallback(()=>O(z=>z+1),[]),onFocusableItemRemove:k.useCallback(()=>O(z=>z-1),[]),children:w.jsx(Xe.div,{tabIndex:R||_===0?-1:0,"data-orientation":r,...g,ref:m,style:{outline:"none",...e.style},onMouseDown:Ye(e.onMouseDown,()=>{N.current=!0}),onFocus:Ye(e.onFocus,z=>{const I=!N.current;if(z.target===z.currentTarget&&I&&!R){const M=new CustomEvent(wh,vY);if(z.currentTarget.dispatchEvent(M),!M.defaultPrevented){const H=C().filter(j=>j.focusable),q=H.find(j=>j.active),P=H.find(j=>j.id===v),Z=[q,P,...H].filter(Boolean).map(j=>j.ref.current);lU(Z,p)}}N.current=!1}),onBlur:Ye(e.onBlur,()=>x(!1))})})}),oU="RovingFocusGroupItem",iU=k.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:a=!1,tabStopId:i,...l}=e,u=En(),c=i||u,f=xY(oU,n),p=f.currentTabStopId===c,g=nU(n),{onFocusableItemAdd:b,onFocusableItemRemove:m}=f;return k.useEffect(()=>{if(r)return b(),()=>m()},[r,b,m]),w.jsx(Dx.ItemSlot,{scope:n,id:c,focusable:r,active:a,children:w.jsx(Xe.span,{tabIndex:p?0:-1,"data-orientation":f.orientation,...l,ref:t,onMouseDown:Ye(e.onMouseDown,S=>{r?f.onItemFocus(c):S.preventDefault()}),onFocus:Ye(e.onFocus,()=>f.onItemFocus(c)),onKeyDown:Ye(e.onKeyDown,S=>{if(S.key==="Tab"&&S.shiftKey){f.onItemShiftTab();return}if(S.target!==S.currentTarget)return;const v=_Y(S,f.orientation,f.dir);if(v!==void 0){if(S.metaKey||S.ctrlKey||S.altKey||S.shiftKey)return;S.preventDefault();let R=g().filter(x=>x.focusable).map(x=>x.ref.current);if(v==="last")R.reverse();else if(v==="prev"||v==="next"){v==="prev"&&R.reverse();const x=R.indexOf(S.currentTarget);R=f.loop?RY(R,x+1):R.slice(x+1)}setTimeout(()=>lU(R))}})})})});iU.displayName=oU;var AY={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function TY(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function _Y(e,t,n){const r=TY(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return AY[r]}function lU(e,t=!1){const n=document.activeElement;for(const r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function RY(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var CY=aU,NY=iU,s0="Tabs",[OY,nve]=mr(s0,[rU]),sU=rU(),[DY,u0]=OY(s0),uU=k.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,onValueChange:a,defaultValue:i,orientation:l="horizontal",dir:u,activationMode:c="automatic",...f}=e,p=Tf(u),[g,b]=Oa({prop:r,onChange:a,defaultProp:i});return w.jsx(DY,{scope:n,baseId:En(),value:g,onValueChange:b,orientation:l,dir:p,activationMode:c,children:w.jsx(Xe.div,{dir:p,"data-orientation":l,...f,ref:t})})});uU.displayName=s0;var cU="TabsList",dU=k.forwardRef((e,t)=>{const{__scopeTabs:n,loop:r=!0,...a}=e,i=u0(cU,n),l=sU(n);return w.jsx(CY,{asChild:!0,...l,orientation:i.orientation,dir:i.dir,loop:r,children:w.jsx(Xe.div,{role:"tablist","aria-orientation":i.orientation,...a,ref:t})})});dU.displayName=cU;var fU="TabsTrigger",pU=k.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,disabled:a=!1,...i}=e,l=u0(fU,n),u=sU(n),c=mU(l.baseId,r),f=bU(l.baseId,r),p=r===l.value;return w.jsx(NY,{asChild:!0,...u,focusable:!a,active:p,children:w.jsx(Xe.button,{type:"button",role:"tab","aria-selected":p,"aria-controls":f,"data-state":p?"active":"inactive","data-disabled":a?"":void 0,disabled:a,id:c,...i,ref:t,onMouseDown:Ye(e.onMouseDown,g=>{!a&&g.button===0&&g.ctrlKey===!1?l.onValueChange(r):g.preventDefault()}),onKeyDown:Ye(e.onKeyDown,g=>{[" ","Enter"].includes(g.key)&&l.onValueChange(r)}),onFocus:Ye(e.onFocus,()=>{const g=l.activationMode!=="manual";!p&&!a&&g&&l.onValueChange(r)})})})});pU.displayName=fU;var gU="TabsContent",hU=k.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,forceMount:a,children:i,...l}=e,u=u0(gU,n),c=mU(u.baseId,r),f=bU(u.baseId,r),p=r===u.value,g=k.useRef(p);return k.useEffect(()=>{const b=requestAnimationFrame(()=>g.current=!1);return()=>cancelAnimationFrame(b)},[]),w.jsx(Jn,{present:a||p,children:({present:b})=>w.jsx(Xe.div,{"data-state":p?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":c,hidden:!b,id:f,tabIndex:0,...l,ref:t,style:{...e.style,animationDuration:g.current?"0s":void 0},children:b&&i})})});hU.displayName=gU;function mU(e,t){return`${e}-trigger-${t}`}function bU(e,t){return`${e}-content-${t}`}var IY=uU,yU=dU,vU=pU,SU=hU;const LY=IY,EU=k.forwardRef(({className:e,...t},n)=>w.jsx(yU,{ref:n,className:Me("bg-muted text-muted-foreground inline-flex h-10 items-center justify-center rounded-md p-1",e),...t}));EU.displayName=yU.displayName;const wU=k.forwardRef(({className:e,...t},n)=>w.jsx(vU,{ref:n,className:Me("ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center rounded-sm px-3 py-1.5 text-sm font-medium whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm",e),...t}));wU.displayName=vU.displayName;const Vs=k.forwardRef(({className:e,...t},n)=>w.jsx(SU,{ref:n,className:Me("ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none",e),...t}));Vs.displayName=SU.displayName;function qc({value:e,currentTab:t,children:n}){return w.jsx(wU,{value:e,className:Me("cursor-pointer px-2 py-1 transition-all",t===e?"!bg-emerald-400 !text-zinc-50":"hover:bg-background/60"),children:n})}function MY(){const e=We.use.currentTab();return w.jsx("div",{className:"flex h-8 self-center",children:w.jsxs(EU,{className:"h-full gap-2",children:[w.jsx(qc,{value:"documents",currentTab:e,children:"Documents"}),w.jsx(qc,{value:"knowledge-graph",currentTab:e,children:"Knowledge Graph"}),w.jsx(qc,{value:"retrieval",currentTab:e,children:"Retrieval"}),w.jsx(qc,{value:"api",currentTab:e,children:"API"})]})})}function FY(){return w.jsxs("header",{className:"border-border/40 bg-background/95 supports-[backdrop-filter]:bg-background/60 sticky top-0 z-50 flex h-10 w-full border-b px-4 backdrop-blur",children:[w.jsxs("a",{href:"/",className:"mr-6 flex items-center gap-2",children:[w.jsx(p8,{className:"size-4 text-emerald-400","aria-hidden":"true"}),w.jsx("span",{className:"font-bold md:inline-block",children:sR.name})]}),w.jsx("div",{className:"flex h-10 flex-1 justify-center",children:w.jsx(MY,{})}),w.jsxs("nav",{className:"flex items-center",children:[w.jsx(Lt,{variant:"ghost",size:"icon",side:"bottom",tooltip:"Project Repository",children:w.jsx("a",{href:sR.github,target:"_blank",rel:"noopener noreferrer",children:w.jsx(Pq,{className:"size-4","aria-hidden":"true"})})}),w.jsx(bY,{})]})]})}var Vc={exports:{}},YR;function zY(){if(YR)return Vc.exports;YR=1;var e=typeof Reflect=="object"?Reflect:null,t=e&&typeof e.apply=="function"?e.apply:function(N,_,O){return Function.prototype.apply.call(N,_,O)},n;e&&typeof e.ownKeys=="function"?n=e.ownKeys:Object.getOwnPropertySymbols?n=function(N){return Object.getOwnPropertyNames(N).concat(Object.getOwnPropertySymbols(N))}:n=function(N){return Object.getOwnPropertyNames(N)};function r(C){console&&console.warn&&console.warn(C)}var a=Number.isNaN||function(N){return N!==N};function i(){i.init.call(this)}Vc.exports=i,Vc.exports.once=R,i.EventEmitter=i,i.prototype._events=void 0,i.prototype._eventsCount=0,i.prototype._maxListeners=void 0;var l=10;function u(C){if(typeof C!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof C)}Object.defineProperty(i,"defaultMaxListeners",{enumerable:!0,get:function(){return l},set:function(C){if(typeof C!="number"||C<0||a(C))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+C+".");l=C}}),i.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},i.prototype.setMaxListeners=function(N){if(typeof N!="number"||N<0||a(N))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+N+".");return this._maxListeners=N,this};function c(C){return C._maxListeners===void 0?i.defaultMaxListeners:C._maxListeners}i.prototype.getMaxListeners=function(){return c(this)},i.prototype.emit=function(N){for(var _=[],O=1;O0&&(M=_[0]),M instanceof Error)throw M;var H=new Error("Unhandled error."+(M?" ("+M.message+")":""));throw H.context=M,H}var q=I[N];if(q===void 0)return!1;if(typeof q=="function")t(q,this,_);else for(var P=q.length,W=S(q,P),O=0;O0&&M.length>z&&!M.warned){M.warned=!0;var H=new Error("Possible EventEmitter memory leak detected. "+M.length+" "+String(N)+" listeners added. Use emitter.setMaxListeners() to increase limit");H.name="MaxListenersExceededWarning",H.emitter=C,H.type=N,H.count=M.length,r(H)}return C}i.prototype.addListener=function(N,_){return f(this,N,_,!1)},i.prototype.on=i.prototype.addListener,i.prototype.prependListener=function(N,_){return f(this,N,_,!0)};function p(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function g(C,N,_){var O={fired:!1,wrapFn:void 0,target:C,type:N,listener:_},z=p.bind(O);return z.listener=_,O.wrapFn=z,z}i.prototype.once=function(N,_){return u(_),this.on(N,g(this,N,_)),this},i.prototype.prependOnceListener=function(N,_){return u(_),this.prependListener(N,g(this,N,_)),this},i.prototype.removeListener=function(N,_){var O,z,I,M,H;if(u(_),z=this._events,z===void 0)return this;if(O=z[N],O===void 0)return this;if(O===_||O.listener===_)--this._eventsCount===0?this._events=Object.create(null):(delete z[N],z.removeListener&&this.emit("removeListener",N,O.listener||_));else if(typeof O!="function"){for(I=-1,M=O.length-1;M>=0;M--)if(O[M]===_||O[M].listener===_){H=O[M].listener,I=M;break}if(I<0)return this;I===0?O.shift():v(O,I),O.length===1&&(z[N]=O[0]),z.removeListener!==void 0&&this.emit("removeListener",N,H||_)}return this},i.prototype.off=i.prototype.removeListener,i.prototype.removeAllListeners=function(N){var _,O,z;if(O=this._events,O===void 0)return this;if(O.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):O[N]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete O[N]),this;if(arguments.length===0){var I=Object.keys(O),M;for(z=0;z=0;z--)this.removeListener(N,_[z]);return this};function b(C,N,_){var O=C._events;if(O===void 0)return[];var z=O[N];return z===void 0?[]:typeof z=="function"?_?[z.listener||z]:[z]:_?A(z):S(z,z.length)}i.prototype.listeners=function(N){return b(this,N,!0)},i.prototype.rawListeners=function(N){return b(this,N,!1)},i.listenerCount=function(C,N){return typeof C.listenerCount=="function"?C.listenerCount(N):m.call(C,N)},i.prototype.listenerCount=m;function m(C){var N=this._events;if(N!==void 0){var _=N[C];if(typeof _=="function")return 1;if(_!==void 0)return _.length}return 0}i.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]};function S(C,N){for(var _=new Array(N),O=0;Oe++}function Na(){const e=arguments;let t=null,n=-1;return{[Symbol.iterator](){return this},next(){let r=null;do{if(t===null){if(n++,n>=e.length)return{done:!0};t=e[n][Symbol.iterator]()}if(r=t.next(),r.done){t=null;continue}break}while(!0);return r}}}function Ol(){return{[Symbol.iterator](){return this},next(){return{done:!0}}}}class c0 extends Error{constructor(t){super(),this.name="GraphError",this.message=t}}class Le extends c0{constructor(t){super(t),this.name="InvalidArgumentsGraphError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Le.prototype.constructor)}}class De extends c0{constructor(t){super(t),this.name="NotFoundGraphError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,De.prototype.constructor)}}class Ze extends c0{constructor(t){super(t),this.name="UsageGraphError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Ze.prototype.constructor)}}function AU(e,t){this.key=e,this.attributes=t,this.clear()}AU.prototype.clear=function(){this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.undirectedLoops=0,this.directedLoops=0,this.in={},this.out={},this.undirected={}};function TU(e,t){this.key=e,this.attributes=t,this.clear()}TU.prototype.clear=function(){this.inDegree=0,this.outDegree=0,this.directedLoops=0,this.in={},this.out={}};function _U(e,t){this.key=e,this.attributes=t,this.clear()}_U.prototype.clear=function(){this.undirectedDegree=0,this.undirectedLoops=0,this.undirected={}};function Dl(e,t,n,r,a){this.key=t,this.attributes=a,this.undirected=e,this.source=n,this.target=r}Dl.prototype.attach=function(){let e="out",t="in";this.undirected&&(e=t="undirected");const n=this.source.key,r=this.target.key;this.source[e][r]=this,!(this.undirected&&n===r)&&(this.target[t][n]=this)};Dl.prototype.attachMulti=function(){let e="out",t="in";const n=this.source.key,r=this.target.key;this.undirected&&(e=t="undirected");const a=this.source[e],i=a[r];if(typeof i>"u"){a[r]=this,this.undirected&&n===r||(this.target[t][n]=this);return}i.previous=this,this.next=i,a[r]=this,this.target[t][n]=this};Dl.prototype.detach=function(){const e=this.source.key,t=this.target.key;let n="out",r="in";this.undirected&&(n=r="undirected"),delete this.source[n][t],delete this.target[r][e]};Dl.prototype.detachMulti=function(){const e=this.source.key,t=this.target.key;let n="out",r="in";this.undirected&&(n=r="undirected"),this.previous===void 0?this.next===void 0?(delete this.source[n][t],delete this.target[r][e]):(this.next.previous=void 0,this.source[n][t]=this.next,this.target[r][e]=this.next):(this.previous.next=this.next,this.next!==void 0&&(this.next.previous=this.previous))};const RU=0,CU=1,UY=2,NU=3;function Ma(e,t,n,r,a,i,l){let u,c,f,p;if(r=""+r,n===RU){if(u=e._nodes.get(r),!u)throw new De(`Graph.${t}: could not find the "${r}" node in the graph.`);f=a,p=i}else if(n===NU){if(a=""+a,c=e._edges.get(a),!c)throw new De(`Graph.${t}: could not find the "${a}" edge in the graph.`);const g=c.source.key,b=c.target.key;if(r===g)u=c.target;else if(r===b)u=c.source;else throw new De(`Graph.${t}: the "${r}" node is not attached to the "${a}" edge (${g}, ${b}).`);f=i,p=l}else{if(c=e._edges.get(r),!c)throw new De(`Graph.${t}: could not find the "${r}" edge in the graph.`);n===CU?u=c.source:u=c.target,f=a,p=i}return[u,f,p]}function jY(e,t,n){e.prototype[t]=function(r,a,i){const[l,u]=Ma(this,t,n,r,a,i);return l.attributes[u]}}function GY(e,t,n){e.prototype[t]=function(r,a){const[i]=Ma(this,t,n,r,a);return i.attributes}}function HY(e,t,n){e.prototype[t]=function(r,a,i){const[l,u]=Ma(this,t,n,r,a,i);return l.attributes.hasOwnProperty(u)}}function $Y(e,t,n){e.prototype[t]=function(r,a,i,l){const[u,c,f]=Ma(this,t,n,r,a,i,l);return u.attributes[c]=f,this.emit("nodeAttributesUpdated",{key:u.key,type:"set",attributes:u.attributes,name:c}),this}}function qY(e,t,n){e.prototype[t]=function(r,a,i,l){const[u,c,f]=Ma(this,t,n,r,a,i,l);if(typeof f!="function")throw new Le(`Graph.${t}: updater should be a function.`);const p=u.attributes,g=f(p[c]);return p[c]=g,this.emit("nodeAttributesUpdated",{key:u.key,type:"set",attributes:u.attributes,name:c}),this}}function VY(e,t,n){e.prototype[t]=function(r,a,i){const[l,u]=Ma(this,t,n,r,a,i);return delete l.attributes[u],this.emit("nodeAttributesUpdated",{key:l.key,type:"remove",attributes:l.attributes,name:u}),this}}function WY(e,t,n){e.prototype[t]=function(r,a,i){const[l,u]=Ma(this,t,n,r,a,i);if(!gn(u))throw new Le(`Graph.${t}: provided attributes are not a plain object.`);return l.attributes=u,this.emit("nodeAttributesUpdated",{key:l.key,type:"replace",attributes:l.attributes}),this}}function YY(e,t,n){e.prototype[t]=function(r,a,i){const[l,u]=Ma(this,t,n,r,a,i);if(!gn(u))throw new Le(`Graph.${t}: provided attributes are not a plain object.`);return Qt(l.attributes,u),this.emit("nodeAttributesUpdated",{key:l.key,type:"merge",attributes:l.attributes,data:u}),this}}function KY(e,t,n){e.prototype[t]=function(r,a,i){const[l,u]=Ma(this,t,n,r,a,i);if(typeof u!="function")throw new Le(`Graph.${t}: provided updater is not a function.`);return l.attributes=u(l.attributes),this.emit("nodeAttributesUpdated",{key:l.key,type:"update",attributes:l.attributes}),this}}const XY=[{name:e=>`get${e}Attribute`,attacher:jY},{name:e=>`get${e}Attributes`,attacher:GY},{name:e=>`has${e}Attribute`,attacher:HY},{name:e=>`set${e}Attribute`,attacher:$Y},{name:e=>`update${e}Attribute`,attacher:qY},{name:e=>`remove${e}Attribute`,attacher:VY},{name:e=>`replace${e}Attributes`,attacher:WY},{name:e=>`merge${e}Attributes`,attacher:YY},{name:e=>`update${e}Attributes`,attacher:KY}];function ZY(e){XY.forEach(function({name:t,attacher:n}){n(e,t("Node"),RU),n(e,t("Source"),CU),n(e,t("Target"),UY),n(e,t("Opposite"),NU)})}function QY(e,t,n){e.prototype[t]=function(r,a){let i;if(this.type!=="mixed"&&n!=="mixed"&&n!==this.type)throw new Ze(`Graph.${t}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new Ze(`Graph.${t}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const l=""+r,u=""+a;if(a=arguments[2],i=hr(this,l,u,n),!i)throw new De(`Graph.${t}: could not find an edge for the given path ("${l}" - "${u}").`)}else{if(n!=="mixed")throw new Ze(`Graph.${t}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(r=""+r,i=this._edges.get(r),!i)throw new De(`Graph.${t}: could not find the "${r}" edge in the graph.`)}return i.attributes[a]}}function JY(e,t,n){e.prototype[t]=function(r){let a;if(this.type!=="mixed"&&n!=="mixed"&&n!==this.type)throw new Ze(`Graph.${t}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>1){if(this.multi)throw new Ze(`Graph.${t}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const i=""+r,l=""+arguments[1];if(a=hr(this,i,l,n),!a)throw new De(`Graph.${t}: could not find an edge for the given path ("${i}" - "${l}").`)}else{if(n!=="mixed")throw new Ze(`Graph.${t}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(r=""+r,a=this._edges.get(r),!a)throw new De(`Graph.${t}: could not find the "${r}" edge in the graph.`)}return a.attributes}}function eK(e,t,n){e.prototype[t]=function(r,a){let i;if(this.type!=="mixed"&&n!=="mixed"&&n!==this.type)throw new Ze(`Graph.${t}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new Ze(`Graph.${t}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const l=""+r,u=""+a;if(a=arguments[2],i=hr(this,l,u,n),!i)throw new De(`Graph.${t}: could not find an edge for the given path ("${l}" - "${u}").`)}else{if(n!=="mixed")throw new Ze(`Graph.${t}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(r=""+r,i=this._edges.get(r),!i)throw new De(`Graph.${t}: could not find the "${r}" edge in the graph.`)}return i.attributes.hasOwnProperty(a)}}function tK(e,t,n){e.prototype[t]=function(r,a,i){let l;if(this.type!=="mixed"&&n!=="mixed"&&n!==this.type)throw new Ze(`Graph.${t}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>3){if(this.multi)throw new Ze(`Graph.${t}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const u=""+r,c=""+a;if(a=arguments[2],i=arguments[3],l=hr(this,u,c,n),!l)throw new De(`Graph.${t}: could not find an edge for the given path ("${u}" - "${c}").`)}else{if(n!=="mixed")throw new Ze(`Graph.${t}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(r=""+r,l=this._edges.get(r),!l)throw new De(`Graph.${t}: could not find the "${r}" edge in the graph.`)}return l.attributes[a]=i,this.emit("edgeAttributesUpdated",{key:l.key,type:"set",attributes:l.attributes,name:a}),this}}function nK(e,t,n){e.prototype[t]=function(r,a,i){let l;if(this.type!=="mixed"&&n!=="mixed"&&n!==this.type)throw new Ze(`Graph.${t}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>3){if(this.multi)throw new Ze(`Graph.${t}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const u=""+r,c=""+a;if(a=arguments[2],i=arguments[3],l=hr(this,u,c,n),!l)throw new De(`Graph.${t}: could not find an edge for the given path ("${u}" - "${c}").`)}else{if(n!=="mixed")throw new Ze(`Graph.${t}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(r=""+r,l=this._edges.get(r),!l)throw new De(`Graph.${t}: could not find the "${r}" edge in the graph.`)}if(typeof i!="function")throw new Le(`Graph.${t}: updater should be a function.`);return l.attributes[a]=i(l.attributes[a]),this.emit("edgeAttributesUpdated",{key:l.key,type:"set",attributes:l.attributes,name:a}),this}}function rK(e,t,n){e.prototype[t]=function(r,a){let i;if(this.type!=="mixed"&&n!=="mixed"&&n!==this.type)throw new Ze(`Graph.${t}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new Ze(`Graph.${t}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const l=""+r,u=""+a;if(a=arguments[2],i=hr(this,l,u,n),!i)throw new De(`Graph.${t}: could not find an edge for the given path ("${l}" - "${u}").`)}else{if(n!=="mixed")throw new Ze(`Graph.${t}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(r=""+r,i=this._edges.get(r),!i)throw new De(`Graph.${t}: could not find the "${r}" edge in the graph.`)}return delete i.attributes[a],this.emit("edgeAttributesUpdated",{key:i.key,type:"remove",attributes:i.attributes,name:a}),this}}function aK(e,t,n){e.prototype[t]=function(r,a){let i;if(this.type!=="mixed"&&n!=="mixed"&&n!==this.type)throw new Ze(`Graph.${t}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new Ze(`Graph.${t}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const l=""+r,u=""+a;if(a=arguments[2],i=hr(this,l,u,n),!i)throw new De(`Graph.${t}: could not find an edge for the given path ("${l}" - "${u}").`)}else{if(n!=="mixed")throw new Ze(`Graph.${t}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(r=""+r,i=this._edges.get(r),!i)throw new De(`Graph.${t}: could not find the "${r}" edge in the graph.`)}if(!gn(a))throw new Le(`Graph.${t}: provided attributes are not a plain object.`);return i.attributes=a,this.emit("edgeAttributesUpdated",{key:i.key,type:"replace",attributes:i.attributes}),this}}function oK(e,t,n){e.prototype[t]=function(r,a){let i;if(this.type!=="mixed"&&n!=="mixed"&&n!==this.type)throw new Ze(`Graph.${t}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new Ze(`Graph.${t}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const l=""+r,u=""+a;if(a=arguments[2],i=hr(this,l,u,n),!i)throw new De(`Graph.${t}: could not find an edge for the given path ("${l}" - "${u}").`)}else{if(n!=="mixed")throw new Ze(`Graph.${t}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(r=""+r,i=this._edges.get(r),!i)throw new De(`Graph.${t}: could not find the "${r}" edge in the graph.`)}if(!gn(a))throw new Le(`Graph.${t}: provided attributes are not a plain object.`);return Qt(i.attributes,a),this.emit("edgeAttributesUpdated",{key:i.key,type:"merge",attributes:i.attributes,data:a}),this}}function iK(e,t,n){e.prototype[t]=function(r,a){let i;if(this.type!=="mixed"&&n!=="mixed"&&n!==this.type)throw new Ze(`Graph.${t}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new Ze(`Graph.${t}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const l=""+r,u=""+a;if(a=arguments[2],i=hr(this,l,u,n),!i)throw new De(`Graph.${t}: could not find an edge for the given path ("${l}" - "${u}").`)}else{if(n!=="mixed")throw new Ze(`Graph.${t}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(r=""+r,i=this._edges.get(r),!i)throw new De(`Graph.${t}: could not find the "${r}" edge in the graph.`)}if(typeof a!="function")throw new Le(`Graph.${t}: provided updater is not a function.`);return i.attributes=a(i.attributes),this.emit("edgeAttributesUpdated",{key:i.key,type:"update",attributes:i.attributes}),this}}const lK=[{name:e=>`get${e}Attribute`,attacher:QY},{name:e=>`get${e}Attributes`,attacher:JY},{name:e=>`has${e}Attribute`,attacher:eK},{name:e=>`set${e}Attribute`,attacher:tK},{name:e=>`update${e}Attribute`,attacher:nK},{name:e=>`remove${e}Attribute`,attacher:rK},{name:e=>`replace${e}Attributes`,attacher:aK},{name:e=>`merge${e}Attributes`,attacher:oK},{name:e=>`update${e}Attributes`,attacher:iK}];function sK(e){lK.forEach(function({name:t,attacher:n}){n(e,t("Edge"),"mixed"),n(e,t("DirectedEdge"),"directed"),n(e,t("UndirectedEdge"),"undirected")})}const uK=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function cK(e,t,n,r){let a=!1;for(const i in t){if(i===r)continue;const l=t[i];if(a=n(l.key,l.attributes,l.source.key,l.target.key,l.source.attributes,l.target.attributes,l.undirected),e&&a)return l.key}}function dK(e,t,n,r){let a,i,l,u=!1;for(const c in t)if(c!==r){a=t[c];do{if(i=a.source,l=a.target,u=n(a.key,a.attributes,i.key,l.key,i.attributes,l.attributes,a.undirected),e&&u)return a.key;a=a.next}while(a!==void 0)}}function xh(e,t){const n=Object.keys(e),r=n.length;let a,i=0;return{[Symbol.iterator](){return this},next(){do if(a)a=a.next;else{if(i>=r)return{done:!0};const l=n[i++];if(l===t){a=void 0;continue}a=e[l]}while(!a);return{done:!1,value:{edge:a.key,attributes:a.attributes,source:a.source.key,target:a.target.key,sourceAttributes:a.source.attributes,targetAttributes:a.target.attributes,undirected:a.undirected}}}}}function fK(e,t,n,r){const a=t[n];if(!a)return;const i=a.source,l=a.target;if(r(a.key,a.attributes,i.key,l.key,i.attributes,l.attributes,a.undirected)&&e)return a.key}function pK(e,t,n,r){let a=t[n];if(!a)return;let i=!1;do{if(i=r(a.key,a.attributes,a.source.key,a.target.key,a.source.attributes,a.target.attributes,a.undirected),e&&i)return a.key;a=a.next}while(a!==void 0)}function kh(e,t){let n=e[t];if(n.next!==void 0)return{[Symbol.iterator](){return this},next(){if(!n)return{done:!0};const a={edge:n.key,attributes:n.attributes,source:n.source.key,target:n.target.key,sourceAttributes:n.source.attributes,targetAttributes:n.target.attributes,undirected:n.undirected};return n=n.next,{done:!1,value:a}}};let r=!1;return{[Symbol.iterator](){return this},next(){return r===!0?{done:!0}:(r=!0,{done:!1,value:{edge:n.key,attributes:n.attributes,source:n.source.key,target:n.target.key,sourceAttributes:n.source.attributes,targetAttributes:n.target.attributes,undirected:n.undirected}})}}}function gK(e,t){if(e.size===0)return[];if(t==="mixed"||t===e.type)return Array.from(e._edges.keys());const n=t==="undirected"?e.undirectedSize:e.directedSize,r=new Array(n),a=t==="undirected",i=e._edges.values();let l=0,u,c;for(;u=i.next(),u.done!==!0;)c=u.value,c.undirected===a&&(r[l++]=c.key);return r}function OU(e,t,n,r){if(t.size===0)return;const a=n!=="mixed"&&n!==t.type,i=n==="undirected";let l,u,c=!1;const f=t._edges.values();for(;l=f.next(),l.done!==!0;){if(u=l.value,a&&u.undirected!==i)continue;const{key:p,attributes:g,source:b,target:m}=u;if(c=r(p,g,b.key,m.key,b.attributes,m.attributes,u.undirected),e&&c)return p}}function hK(e,t){if(e.size===0)return Ol();const n=t!=="mixed"&&t!==e.type,r=t==="undirected",a=e._edges.values();return{[Symbol.iterator](){return this},next(){let i,l;for(;;){if(i=a.next(),i.done)return i;if(l=i.value,!(n&&l.undirected!==r))break}return{value:{edge:l.key,attributes:l.attributes,source:l.source.key,target:l.target.key,sourceAttributes:l.source.attributes,targetAttributes:l.target.attributes,undirected:l.undirected},done:!1}}}}function d0(e,t,n,r,a,i){const l=t?dK:cK;let u;if(n!=="undirected"&&(r!=="out"&&(u=l(e,a.in,i),e&&u)||r!=="in"&&(u=l(e,a.out,i,r?void 0:a.key),e&&u))||n!=="directed"&&(u=l(e,a.undirected,i),e&&u))return u}function mK(e,t,n,r){const a=[];return d0(!1,e,t,n,r,function(i){a.push(i)}),a}function bK(e,t,n){let r=Ol();return e!=="undirected"&&(t!=="out"&&typeof n.in<"u"&&(r=Na(r,xh(n.in))),t!=="in"&&typeof n.out<"u"&&(r=Na(r,xh(n.out,t?void 0:n.key)))),e!=="directed"&&typeof n.undirected<"u"&&(r=Na(r,xh(n.undirected))),r}function f0(e,t,n,r,a,i,l){const u=n?pK:fK;let c;if(t!=="undirected"&&(typeof a.in<"u"&&r!=="out"&&(c=u(e,a.in,i,l),e&&c)||typeof a.out<"u"&&r!=="in"&&(r||a.key!==i)&&(c=u(e,a.out,i,l),e&&c))||t!=="directed"&&typeof a.undirected<"u"&&(c=u(e,a.undirected,i,l),e&&c))return c}function yK(e,t,n,r,a){const i=[];return f0(!1,e,t,n,r,a,function(l){i.push(l)}),i}function vK(e,t,n,r){let a=Ol();return e!=="undirected"&&(typeof n.in<"u"&&t!=="out"&&r in n.in&&(a=Na(a,kh(n.in,r))),typeof n.out<"u"&&t!=="in"&&r in n.out&&(t||n.key!==r)&&(a=Na(a,kh(n.out,r)))),e!=="directed"&&typeof n.undirected<"u"&&r in n.undirected&&(a=Na(a,kh(n.undirected,r))),a}function SK(e,t){const{name:n,type:r,direction:a}=t;e.prototype[n]=function(i,l){if(r!=="mixed"&&this.type!=="mixed"&&r!==this.type)return[];if(!arguments.length)return gK(this,r);if(arguments.length===1){i=""+i;const u=this._nodes.get(i);if(typeof u>"u")throw new De(`Graph.${n}: could not find the "${i}" node in the graph.`);return mK(this.multi,r==="mixed"?this.type:r,a,u)}if(arguments.length===2){i=""+i,l=""+l;const u=this._nodes.get(i);if(!u)throw new De(`Graph.${n}: could not find the "${i}" source node in the graph.`);if(!this._nodes.has(l))throw new De(`Graph.${n}: could not find the "${l}" target node in the graph.`);return yK(r,this.multi,a,u,l)}throw new Le(`Graph.${n}: too many arguments (expecting 0, 1 or 2 and got ${arguments.length}).`)}}function EK(e,t){const{name:n,type:r,direction:a}=t,i="forEach"+n[0].toUpperCase()+n.slice(1,-1);e.prototype[i]=function(f,p,g){if(!(r!=="mixed"&&this.type!=="mixed"&&r!==this.type)){if(arguments.length===1)return g=f,OU(!1,this,r,g);if(arguments.length===2){f=""+f,g=p;const b=this._nodes.get(f);if(typeof b>"u")throw new De(`Graph.${i}: could not find the "${f}" node in the graph.`);return d0(!1,this.multi,r==="mixed"?this.type:r,a,b,g)}if(arguments.length===3){f=""+f,p=""+p;const b=this._nodes.get(f);if(!b)throw new De(`Graph.${i}: could not find the "${f}" source node in the graph.`);if(!this._nodes.has(p))throw new De(`Graph.${i}: could not find the "${p}" target node in the graph.`);return f0(!1,r,this.multi,a,b,p,g)}throw new Le(`Graph.${i}: too many arguments (expecting 1, 2 or 3 and got ${arguments.length}).`)}};const l="map"+n[0].toUpperCase()+n.slice(1);e.prototype[l]=function(){const f=Array.prototype.slice.call(arguments),p=f.pop();let g;if(f.length===0){let b=0;r!=="directed"&&(b+=this.undirectedSize),r!=="undirected"&&(b+=this.directedSize),g=new Array(b);let m=0;f.push((S,v,A,R,x,T,C)=>{g[m++]=p(S,v,A,R,x,T,C)})}else g=[],f.push((b,m,S,v,A,R,x)=>{g.push(p(b,m,S,v,A,R,x))});return this[i].apply(this,f),g};const u="filter"+n[0].toUpperCase()+n.slice(1);e.prototype[u]=function(){const f=Array.prototype.slice.call(arguments),p=f.pop(),g=[];return f.push((b,m,S,v,A,R,x)=>{p(b,m,S,v,A,R,x)&&g.push(b)}),this[i].apply(this,f),g};const c="reduce"+n[0].toUpperCase()+n.slice(1);e.prototype[c]=function(){let f=Array.prototype.slice.call(arguments);if(f.length<2||f.length>4)throw new Le(`Graph.${c}: invalid number of arguments (expecting 2, 3 or 4 and got ${f.length}).`);if(typeof f[f.length-1]=="function"&&typeof f[f.length-2]!="function")throw new Le(`Graph.${c}: missing initial value. You must provide it because the callback takes more than one argument and we cannot infer the initial value from the first iteration, as you could with a simple array.`);let p,g;f.length===2?(p=f[0],g=f[1],f=[]):f.length===3?(p=f[1],g=f[2],f=[f[0]]):f.length===4&&(p=f[2],g=f[3],f=[f[0],f[1]]);let b=g;return f.push((m,S,v,A,R,x,T)=>{b=p(b,m,S,v,A,R,x,T)}),this[i].apply(this,f),b}}function wK(e,t){const{name:n,type:r,direction:a}=t,i="find"+n[0].toUpperCase()+n.slice(1,-1);e.prototype[i]=function(c,f,p){if(r!=="mixed"&&this.type!=="mixed"&&r!==this.type)return!1;if(arguments.length===1)return p=c,OU(!0,this,r,p);if(arguments.length===2){c=""+c,p=f;const g=this._nodes.get(c);if(typeof g>"u")throw new De(`Graph.${i}: could not find the "${c}" node in the graph.`);return d0(!0,this.multi,r==="mixed"?this.type:r,a,g,p)}if(arguments.length===3){c=""+c,f=""+f;const g=this._nodes.get(c);if(!g)throw new De(`Graph.${i}: could not find the "${c}" source node in the graph.`);if(!this._nodes.has(f))throw new De(`Graph.${i}: could not find the "${f}" target node in the graph.`);return f0(!0,r,this.multi,a,g,f,p)}throw new Le(`Graph.${i}: too many arguments (expecting 1, 2 or 3 and got ${arguments.length}).`)};const l="some"+n[0].toUpperCase()+n.slice(1,-1);e.prototype[l]=function(){const c=Array.prototype.slice.call(arguments),f=c.pop();return c.push((g,b,m,S,v,A,R)=>f(g,b,m,S,v,A,R)),!!this[i].apply(this,c)};const u="every"+n[0].toUpperCase()+n.slice(1,-1);e.prototype[u]=function(){const c=Array.prototype.slice.call(arguments),f=c.pop();return c.push((g,b,m,S,v,A,R)=>!f(g,b,m,S,v,A,R)),!this[i].apply(this,c)}}function xK(e,t){const{name:n,type:r,direction:a}=t,i=n.slice(0,-1)+"Entries";e.prototype[i]=function(l,u){if(r!=="mixed"&&this.type!=="mixed"&&r!==this.type)return Ol();if(!arguments.length)return hK(this,r);if(arguments.length===1){l=""+l;const c=this._nodes.get(l);if(!c)throw new De(`Graph.${i}: could not find the "${l}" node in the graph.`);return bK(r,a,c)}if(arguments.length===2){l=""+l,u=""+u;const c=this._nodes.get(l);if(!c)throw new De(`Graph.${i}: could not find the "${l}" source node in the graph.`);if(!this._nodes.has(u))throw new De(`Graph.${i}: could not find the "${u}" target node in the graph.`);return vK(r,a,c,u)}throw new Le(`Graph.${i}: too many arguments (expecting 0, 1 or 2 and got ${arguments.length}).`)}}function kK(e){uK.forEach(t=>{SK(e,t),EK(e,t),wK(e,t),xK(e,t)})}const AK=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function Rf(){this.A=null,this.B=null}Rf.prototype.wrap=function(e){this.A===null?this.A=e:this.B===null&&(this.B=e)};Rf.prototype.has=function(e){return this.A!==null&&e in this.A||this.B!==null&&e in this.B};function Fs(e,t,n,r,a){for(const i in r){const l=r[i],u=l.source,c=l.target,f=u===n?c:u;if(t&&t.has(f.key))continue;const p=a(f.key,f.attributes);if(e&&p)return f.key}}function p0(e,t,n,r,a){if(t!=="mixed"){if(t==="undirected")return Fs(e,null,r,r.undirected,a);if(typeof n=="string")return Fs(e,null,r,r[n],a)}const i=new Rf;let l;if(t!=="undirected"){if(n!=="out"){if(l=Fs(e,null,r,r.in,a),e&&l)return l;i.wrap(r.in)}if(n!=="in"){if(l=Fs(e,i,r,r.out,a),e&&l)return l;i.wrap(r.out)}}if(t!=="directed"&&(l=Fs(e,i,r,r.undirected,a),e&&l))return l}function TK(e,t,n){if(e!=="mixed"){if(e==="undirected")return Object.keys(n.undirected);if(typeof t=="string")return Object.keys(n[t])}const r=[];return p0(!1,e,t,n,function(a){r.push(a)}),r}function zs(e,t,n){const r=Object.keys(n),a=r.length;let i=0;return{[Symbol.iterator](){return this},next(){let l=null;do{if(i>=a)return e&&e.wrap(n),{done:!0};const u=n[r[i++]],c=u.source,f=u.target;if(l=c===t?f:c,e&&e.has(l.key)){l=null;continue}}while(l===null);return{done:!1,value:{neighbor:l.key,attributes:l.attributes}}}}}function _K(e,t,n){if(e!=="mixed"){if(e==="undirected")return zs(null,n,n.undirected);if(typeof t=="string")return zs(null,n,n[t])}let r=Ol();const a=new Rf;return e!=="undirected"&&(t!=="out"&&(r=Na(r,zs(a,n,n.in))),t!=="in"&&(r=Na(r,zs(a,n,n.out)))),e!=="directed"&&(r=Na(r,zs(a,n,n.undirected))),r}function RK(e,t){const{name:n,type:r,direction:a}=t;e.prototype[n]=function(i){if(r!=="mixed"&&this.type!=="mixed"&&r!==this.type)return[];i=""+i;const l=this._nodes.get(i);if(typeof l>"u")throw new De(`Graph.${n}: could not find the "${i}" node in the graph.`);return TK(r==="mixed"?this.type:r,a,l)}}function CK(e,t){const{name:n,type:r,direction:a}=t,i="forEach"+n[0].toUpperCase()+n.slice(1,-1);e.prototype[i]=function(f,p){if(r!=="mixed"&&this.type!=="mixed"&&r!==this.type)return;f=""+f;const g=this._nodes.get(f);if(typeof g>"u")throw new De(`Graph.${i}: could not find the "${f}" node in the graph.`);p0(!1,r==="mixed"?this.type:r,a,g,p)};const l="map"+n[0].toUpperCase()+n.slice(1);e.prototype[l]=function(f,p){const g=[];return this[i](f,(b,m)=>{g.push(p(b,m))}),g};const u="filter"+n[0].toUpperCase()+n.slice(1);e.prototype[u]=function(f,p){const g=[];return this[i](f,(b,m)=>{p(b,m)&&g.push(b)}),g};const c="reduce"+n[0].toUpperCase()+n.slice(1);e.prototype[c]=function(f,p,g){if(arguments.length<3)throw new Le(`Graph.${c}: missing initial value. You must provide it because the callback takes more than one argument and we cannot infer the initial value from the first iteration, as you could with a simple array.`);let b=g;return this[i](f,(m,S)=>{b=p(b,m,S)}),b}}function NK(e,t){const{name:n,type:r,direction:a}=t,i=n[0].toUpperCase()+n.slice(1,-1),l="find"+i;e.prototype[l]=function(f,p){if(r!=="mixed"&&this.type!=="mixed"&&r!==this.type)return;f=""+f;const g=this._nodes.get(f);if(typeof g>"u")throw new De(`Graph.${l}: could not find the "${f}" node in the graph.`);return p0(!0,r==="mixed"?this.type:r,a,g,p)};const u="some"+i;e.prototype[u]=function(f,p){return!!this[l](f,p)};const c="every"+i;e.prototype[c]=function(f,p){return!this[l](f,(b,m)=>!p(b,m))}}function OK(e,t){const{name:n,type:r,direction:a}=t,i=n.slice(0,-1)+"Entries";e.prototype[i]=function(l){if(r!=="mixed"&&this.type!=="mixed"&&r!==this.type)return Ol();l=""+l;const u=this._nodes.get(l);if(typeof u>"u")throw new De(`Graph.${i}: could not find the "${l}" node in the graph.`);return _K(r==="mixed"?this.type:r,a,u)}}function DK(e){AK.forEach(t=>{RK(e,t),CK(e,t),NK(e,t),OK(e,t)})}function Wc(e,t,n,r,a){const i=r._nodes.values(),l=r.type;let u,c,f,p,g,b;for(;u=i.next(),u.done!==!0;){let m=!1;if(c=u.value,l!=="undirected"){p=c.out;for(f in p){g=p[f];do b=g.target,m=!0,a(c.key,b.key,c.attributes,b.attributes,g.key,g.attributes,g.undirected),g=g.next;while(g)}}if(l!=="directed"){p=c.undirected;for(f in p)if(!(t&&c.key>f)){g=p[f];do b=g.target,b.key!==f&&(b=g.source),m=!0,a(c.key,b.key,c.attributes,b.attributes,g.key,g.attributes,g.undirected),g=g.next;while(g)}}n&&!m&&a(c.key,null,c.attributes,null,null,null,null)}}function IK(e,t){const n={key:e};return kU(t.attributes)||(n.attributes=Qt({},t.attributes)),n}function LK(e,t,n){const r={key:t,source:n.source.key,target:n.target.key};return kU(n.attributes)||(r.attributes=Qt({},n.attributes)),e==="mixed"&&n.undirected&&(r.undirected=!0),r}function MK(e){if(!gn(e))throw new Le('Graph.import: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if(!("key"in e))throw new Le("Graph.import: serialized node is missing its key.");if("attributes"in e&&(!gn(e.attributes)||e.attributes===null))throw new Le("Graph.import: invalid attributes. Attributes should be a plain object, null or omitted.")}function FK(e){if(!gn(e))throw new Le('Graph.import: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if(!("source"in e))throw new Le("Graph.import: serialized edge is missing its source.");if(!("target"in e))throw new Le("Graph.import: serialized edge is missing its target.");if("attributes"in e&&(!gn(e.attributes)||e.attributes===null))throw new Le("Graph.import: invalid attributes. Attributes should be a plain object, null or omitted.");if("undirected"in e&&typeof e.undirected!="boolean")throw new Le("Graph.import: invalid undirectedness information. Undirected should be boolean or omitted.")}const zK=BY(),PK=new Set(["directed","undirected","mixed"]),XR=new Set(["domain","_events","_eventsCount","_maxListeners"]),BK=[{name:e=>`${e}Edge`,generateKey:!0},{name:e=>`${e}DirectedEdge`,generateKey:!0,type:"directed"},{name:e=>`${e}UndirectedEdge`,generateKey:!0,type:"undirected"},{name:e=>`${e}EdgeWithKey`},{name:e=>`${e}DirectedEdgeWithKey`,type:"directed"},{name:e=>`${e}UndirectedEdgeWithKey`,type:"undirected"}],UK={allowSelfLoops:!0,multi:!1,type:"mixed"};function jK(e,t,n){if(n&&!gn(n))throw new Le(`Graph.addNode: invalid attributes. Expecting an object but got "${n}"`);if(t=""+t,n=n||{},e._nodes.has(t))throw new Ze(`Graph.addNode: the "${t}" node already exist in the graph.`);const r=new e.NodeDataClass(t,n);return e._nodes.set(t,r),e.emit("nodeAdded",{key:t,attributes:n}),r}function ZR(e,t,n){const r=new e.NodeDataClass(t,n);return e._nodes.set(t,r),e.emit("nodeAdded",{key:t,attributes:n}),r}function DU(e,t,n,r,a,i,l,u){if(!r&&e.type==="undirected")throw new Ze(`Graph.${t}: you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead.`);if(r&&e.type==="directed")throw new Ze(`Graph.${t}: you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead.`);if(u&&!gn(u))throw new Le(`Graph.${t}: invalid attributes. Expecting an object but got "${u}"`);if(i=""+i,l=""+l,u=u||{},!e.allowSelfLoops&&i===l)throw new Ze(`Graph.${t}: source & target are the same ("${i}"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false.`);const c=e._nodes.get(i),f=e._nodes.get(l);if(!c)throw new De(`Graph.${t}: source node "${i}" not found.`);if(!f)throw new De(`Graph.${t}: target node "${l}" not found.`);const p={key:null,undirected:r,source:i,target:l,attributes:u};if(n)a=e._edgeKeyGenerator();else if(a=""+a,e._edges.has(a))throw new Ze(`Graph.${t}: the "${a}" edge already exists in the graph.`);if(!e.multi&&(r?typeof c.undirected[l]<"u":typeof c.out[l]<"u"))throw new Ze(`Graph.${t}: an edge linking "${i}" to "${l}" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option.`);const g=new Dl(r,a,c,f,u);e._edges.set(a,g);const b=i===l;return r?(c.undirectedDegree++,f.undirectedDegree++,b&&(c.undirectedLoops++,e._undirectedSelfLoopCount++)):(c.outDegree++,f.inDegree++,b&&(c.directedLoops++,e._directedSelfLoopCount++)),e.multi?g.attachMulti():g.attach(),r?e._undirectedSize++:e._directedSize++,p.key=a,e.emit("edgeAdded",p),a}function GK(e,t,n,r,a,i,l,u,c){if(!r&&e.type==="undirected")throw new Ze(`Graph.${t}: you cannot merge/update a directed edge to an undirected graph. Use the #.mergeEdge/#.updateEdge or #.addUndirectedEdge instead.`);if(r&&e.type==="directed")throw new Ze(`Graph.${t}: you cannot merge/update an undirected edge to a directed graph. Use the #.mergeEdge/#.updateEdge or #.addDirectedEdge instead.`);if(u){if(c){if(typeof u!="function")throw new Le(`Graph.${t}: invalid updater function. Expecting a function but got "${u}"`)}else if(!gn(u))throw new Le(`Graph.${t}: invalid attributes. Expecting an object but got "${u}"`)}i=""+i,l=""+l;let f;if(c&&(f=u,u=void 0),!e.allowSelfLoops&&i===l)throw new Ze(`Graph.${t}: source & target are the same ("${i}"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false.`);let p=e._nodes.get(i),g=e._nodes.get(l),b,m;if(!n&&(b=e._edges.get(a),b)){if((b.source.key!==i||b.target.key!==l)&&(!r||b.source.key!==l||b.target.key!==i))throw new Ze(`Graph.${t}: inconsistency detected when attempting to merge the "${a}" edge with "${i}" source & "${l}" target vs. ("${b.source.key}", "${b.target.key}").`);m=b}if(!m&&!e.multi&&p&&(m=r?p.undirected[l]:p.out[l]),m){const x=[m.key,!1,!1,!1];if(c?!f:!u)return x;if(c){const T=m.attributes;m.attributes=f(T),e.emit("edgeAttributesUpdated",{type:"replace",key:m.key,attributes:m.attributes})}else Qt(m.attributes,u),e.emit("edgeAttributesUpdated",{type:"merge",key:m.key,attributes:m.attributes,data:u});return x}u=u||{},c&&f&&(u=f(u));const S={key:null,undirected:r,source:i,target:l,attributes:u};if(n)a=e._edgeKeyGenerator();else if(a=""+a,e._edges.has(a))throw new Ze(`Graph.${t}: the "${a}" edge already exists in the graph.`);let v=!1,A=!1;p||(p=ZR(e,i,{}),v=!0,i===l&&(g=p,A=!0)),g||(g=ZR(e,l,{}),A=!0),b=new Dl(r,a,p,g,u),e._edges.set(a,b);const R=i===l;return r?(p.undirectedDegree++,g.undirectedDegree++,R&&(p.undirectedLoops++,e._undirectedSelfLoopCount++)):(p.outDegree++,g.inDegree++,R&&(p.directedLoops++,e._directedSelfLoopCount++)),e.multi?b.attachMulti():b.attach(),r?e._undirectedSize++:e._directedSize++,S.key=a,e.emit("edgeAdded",S),[a,!0,v,A]}function Qi(e,t){e._edges.delete(t.key);const{source:n,target:r,attributes:a}=t,i=t.undirected,l=n===r;i?(n.undirectedDegree--,r.undirectedDegree--,l&&(n.undirectedLoops--,e._undirectedSelfLoopCount--)):(n.outDegree--,r.inDegree--,l&&(n.directedLoops--,e._directedSelfLoopCount--)),e.multi?t.detachMulti():t.detach(),i?e._undirectedSize--:e._directedSize--,e.emit("edgeDropped",{key:t.key,attributes:a,source:n.key,target:r.key,undirected:i})}class Tt extends xU.EventEmitter{constructor(t){if(super(),t=Qt({},UK,t),typeof t.multi!="boolean")throw new Le(`Graph.constructor: invalid 'multi' option. Expecting a boolean but got "${t.multi}".`);if(!PK.has(t.type))throw new Le(`Graph.constructor: invalid 'type' option. Should be one of "mixed", "directed" or "undirected" but got "${t.type}".`);if(typeof t.allowSelfLoops!="boolean")throw new Le(`Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got "${t.allowSelfLoops}".`);const n=t.type==="mixed"?AU:t.type==="directed"?TU:_U;pr(this,"NodeDataClass",n);const r="geid_"+zK()+"_";let a=0;const i=()=>{let l;do l=r+a++;while(this._edges.has(l));return l};pr(this,"_attributes",{}),pr(this,"_nodes",new Map),pr(this,"_edges",new Map),pr(this,"_directedSize",0),pr(this,"_undirectedSize",0),pr(this,"_directedSelfLoopCount",0),pr(this,"_undirectedSelfLoopCount",0),pr(this,"_edgeKeyGenerator",i),pr(this,"_options",t),XR.forEach(l=>pr(this,l,this[l])),Tr(this,"order",()=>this._nodes.size),Tr(this,"size",()=>this._edges.size),Tr(this,"directedSize",()=>this._directedSize),Tr(this,"undirectedSize",()=>this._undirectedSize),Tr(this,"selfLoopCount",()=>this._directedSelfLoopCount+this._undirectedSelfLoopCount),Tr(this,"directedSelfLoopCount",()=>this._directedSelfLoopCount),Tr(this,"undirectedSelfLoopCount",()=>this._undirectedSelfLoopCount),Tr(this,"multi",this._options.multi),Tr(this,"type",this._options.type),Tr(this,"allowSelfLoops",this._options.allowSelfLoops),Tr(this,"implementation",()=>"graphology")}_resetInstanceCounters(){this._directedSize=0,this._undirectedSize=0,this._directedSelfLoopCount=0,this._undirectedSelfLoopCount=0}hasNode(t){return this._nodes.has(""+t)}hasDirectedEdge(t,n){if(this.type==="undirected")return!1;if(arguments.length===1){const r=""+t,a=this._edges.get(r);return!!a&&!a.undirected}else if(arguments.length===2){t=""+t,n=""+n;const r=this._nodes.get(t);return r?r.out.hasOwnProperty(n):!1}throw new Le(`Graph.hasDirectedEdge: invalid arity (${arguments.length}, instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target.`)}hasUndirectedEdge(t,n){if(this.type==="directed")return!1;if(arguments.length===1){const r=""+t,a=this._edges.get(r);return!!a&&a.undirected}else if(arguments.length===2){t=""+t,n=""+n;const r=this._nodes.get(t);return r?r.undirected.hasOwnProperty(n):!1}throw new Le(`Graph.hasDirectedEdge: invalid arity (${arguments.length}, instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target.`)}hasEdge(t,n){if(arguments.length===1){const r=""+t;return this._edges.has(r)}else if(arguments.length===2){t=""+t,n=""+n;const r=this._nodes.get(t);return r?typeof r.out<"u"&&r.out.hasOwnProperty(n)||typeof r.undirected<"u"&&r.undirected.hasOwnProperty(n):!1}throw new Le(`Graph.hasEdge: invalid arity (${arguments.length}, instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target.`)}directedEdge(t,n){if(this.type==="undirected")return;if(t=""+t,n=""+n,this.multi)throw new Ze("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");const r=this._nodes.get(t);if(!r)throw new De(`Graph.directedEdge: could not find the "${t}" source node in the graph.`);if(!this._nodes.has(n))throw new De(`Graph.directedEdge: could not find the "${n}" target node in the graph.`);const a=r.out&&r.out[n]||void 0;if(a)return a.key}undirectedEdge(t,n){if(this.type==="directed")return;if(t=""+t,n=""+n,this.multi)throw new Ze("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");const r=this._nodes.get(t);if(!r)throw new De(`Graph.undirectedEdge: could not find the "${t}" source node in the graph.`);if(!this._nodes.has(n))throw new De(`Graph.undirectedEdge: could not find the "${n}" target node in the graph.`);const a=r.undirected&&r.undirected[n]||void 0;if(a)return a.key}edge(t,n){if(this.multi)throw new Ze("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");t=""+t,n=""+n;const r=this._nodes.get(t);if(!r)throw new De(`Graph.edge: could not find the "${t}" source node in the graph.`);if(!this._nodes.has(n))throw new De(`Graph.edge: could not find the "${n}" target node in the graph.`);const a=r.out&&r.out[n]||r.undirected&&r.undirected[n]||void 0;if(a)return a.key}areDirectedNeighbors(t,n){t=""+t,n=""+n;const r=this._nodes.get(t);if(!r)throw new De(`Graph.areDirectedNeighbors: could not find the "${t}" node in the graph.`);return this.type==="undirected"?!1:n in r.in||n in r.out}areOutNeighbors(t,n){t=""+t,n=""+n;const r=this._nodes.get(t);if(!r)throw new De(`Graph.areOutNeighbors: could not find the "${t}" node in the graph.`);return this.type==="undirected"?!1:n in r.out}areInNeighbors(t,n){t=""+t,n=""+n;const r=this._nodes.get(t);if(!r)throw new De(`Graph.areInNeighbors: could not find the "${t}" node in the graph.`);return this.type==="undirected"?!1:n in r.in}areUndirectedNeighbors(t,n){t=""+t,n=""+n;const r=this._nodes.get(t);if(!r)throw new De(`Graph.areUndirectedNeighbors: could not find the "${t}" node in the graph.`);return this.type==="directed"?!1:n in r.undirected}areNeighbors(t,n){t=""+t,n=""+n;const r=this._nodes.get(t);if(!r)throw new De(`Graph.areNeighbors: could not find the "${t}" node in the graph.`);return this.type!=="undirected"&&(n in r.in||n in r.out)||this.type!=="directed"&&n in r.undirected}areInboundNeighbors(t,n){t=""+t,n=""+n;const r=this._nodes.get(t);if(!r)throw new De(`Graph.areInboundNeighbors: could not find the "${t}" node in the graph.`);return this.type!=="undirected"&&n in r.in||this.type!=="directed"&&n in r.undirected}areOutboundNeighbors(t,n){t=""+t,n=""+n;const r=this._nodes.get(t);if(!r)throw new De(`Graph.areOutboundNeighbors: could not find the "${t}" node in the graph.`);return this.type!=="undirected"&&n in r.out||this.type!=="directed"&&n in r.undirected}inDegree(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new De(`Graph.inDegree: could not find the "${t}" node in the graph.`);return this.type==="undirected"?0:n.inDegree}outDegree(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new De(`Graph.outDegree: could not find the "${t}" node in the graph.`);return this.type==="undirected"?0:n.outDegree}directedDegree(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new De(`Graph.directedDegree: could not find the "${t}" node in the graph.`);return this.type==="undirected"?0:n.inDegree+n.outDegree}undirectedDegree(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new De(`Graph.undirectedDegree: could not find the "${t}" node in the graph.`);return this.type==="directed"?0:n.undirectedDegree}inboundDegree(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new De(`Graph.inboundDegree: could not find the "${t}" node in the graph.`);let r=0;return this.type!=="directed"&&(r+=n.undirectedDegree),this.type!=="undirected"&&(r+=n.inDegree),r}outboundDegree(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new De(`Graph.outboundDegree: could not find the "${t}" node in the graph.`);let r=0;return this.type!=="directed"&&(r+=n.undirectedDegree),this.type!=="undirected"&&(r+=n.outDegree),r}degree(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new De(`Graph.degree: could not find the "${t}" node in the graph.`);let r=0;return this.type!=="directed"&&(r+=n.undirectedDegree),this.type!=="undirected"&&(r+=n.inDegree+n.outDegree),r}inDegreeWithoutSelfLoops(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new De(`Graph.inDegreeWithoutSelfLoops: could not find the "${t}" node in the graph.`);return this.type==="undirected"?0:n.inDegree-n.directedLoops}outDegreeWithoutSelfLoops(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new De(`Graph.outDegreeWithoutSelfLoops: could not find the "${t}" node in the graph.`);return this.type==="undirected"?0:n.outDegree-n.directedLoops}directedDegreeWithoutSelfLoops(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new De(`Graph.directedDegreeWithoutSelfLoops: could not find the "${t}" node in the graph.`);return this.type==="undirected"?0:n.inDegree+n.outDegree-n.directedLoops*2}undirectedDegreeWithoutSelfLoops(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new De(`Graph.undirectedDegreeWithoutSelfLoops: could not find the "${t}" node in the graph.`);return this.type==="directed"?0:n.undirectedDegree-n.undirectedLoops*2}inboundDegreeWithoutSelfLoops(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new De(`Graph.inboundDegreeWithoutSelfLoops: could not find the "${t}" node in the graph.`);let r=0,a=0;return this.type!=="directed"&&(r+=n.undirectedDegree,a+=n.undirectedLoops*2),this.type!=="undirected"&&(r+=n.inDegree,a+=n.directedLoops),r-a}outboundDegreeWithoutSelfLoops(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new De(`Graph.outboundDegreeWithoutSelfLoops: could not find the "${t}" node in the graph.`);let r=0,a=0;return this.type!=="directed"&&(r+=n.undirectedDegree,a+=n.undirectedLoops*2),this.type!=="undirected"&&(r+=n.outDegree,a+=n.directedLoops),r-a}degreeWithoutSelfLoops(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new De(`Graph.degreeWithoutSelfLoops: could not find the "${t}" node in the graph.`);let r=0,a=0;return this.type!=="directed"&&(r+=n.undirectedDegree,a+=n.undirectedLoops*2),this.type!=="undirected"&&(r+=n.inDegree+n.outDegree,a+=n.directedLoops*2),r-a}source(t){t=""+t;const n=this._edges.get(t);if(!n)throw new De(`Graph.source: could not find the "${t}" edge in the graph.`);return n.source.key}target(t){t=""+t;const n=this._edges.get(t);if(!n)throw new De(`Graph.target: could not find the "${t}" edge in the graph.`);return n.target.key}extremities(t){t=""+t;const n=this._edges.get(t);if(!n)throw new De(`Graph.extremities: could not find the "${t}" edge in the graph.`);return[n.source.key,n.target.key]}opposite(t,n){t=""+t,n=""+n;const r=this._edges.get(n);if(!r)throw new De(`Graph.opposite: could not find the "${n}" edge in the graph.`);const a=r.source.key,i=r.target.key;if(t===a)return i;if(t===i)return a;throw new De(`Graph.opposite: the "${t}" node is not attached to the "${n}" edge (${a}, ${i}).`)}hasExtremity(t,n){t=""+t,n=""+n;const r=this._edges.get(t);if(!r)throw new De(`Graph.hasExtremity: could not find the "${t}" edge in the graph.`);return r.source.key===n||r.target.key===n}isUndirected(t){t=""+t;const n=this._edges.get(t);if(!n)throw new De(`Graph.isUndirected: could not find the "${t}" edge in the graph.`);return n.undirected}isDirected(t){t=""+t;const n=this._edges.get(t);if(!n)throw new De(`Graph.isDirected: could not find the "${t}" edge in the graph.`);return!n.undirected}isSelfLoop(t){t=""+t;const n=this._edges.get(t);if(!n)throw new De(`Graph.isSelfLoop: could not find the "${t}" edge in the graph.`);return n.source===n.target}addNode(t,n){return jK(this,t,n).key}mergeNode(t,n){if(n&&!gn(n))throw new Le(`Graph.mergeNode: invalid attributes. Expecting an object but got "${n}"`);t=""+t,n=n||{};let r=this._nodes.get(t);return r?(n&&(Qt(r.attributes,n),this.emit("nodeAttributesUpdated",{type:"merge",key:t,attributes:r.attributes,data:n})),[t,!1]):(r=new this.NodeDataClass(t,n),this._nodes.set(t,r),this.emit("nodeAdded",{key:t,attributes:n}),[t,!0])}updateNode(t,n){if(n&&typeof n!="function")throw new Le(`Graph.updateNode: invalid updater function. Expecting a function but got "${n}"`);t=""+t;let r=this._nodes.get(t);if(r){if(n){const i=r.attributes;r.attributes=n(i),this.emit("nodeAttributesUpdated",{type:"replace",key:t,attributes:r.attributes})}return[t,!1]}const a=n?n({}):{};return r=new this.NodeDataClass(t,a),this._nodes.set(t,r),this.emit("nodeAdded",{key:t,attributes:a}),[t,!0]}dropNode(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new De(`Graph.dropNode: could not find the "${t}" node in the graph.`);let r;if(this.type!=="undirected"){for(const a in n.out){r=n.out[a];do Qi(this,r),r=r.next;while(r)}for(const a in n.in){r=n.in[a];do Qi(this,r),r=r.next;while(r)}}if(this.type!=="directed")for(const a in n.undirected){r=n.undirected[a];do Qi(this,r),r=r.next;while(r)}this._nodes.delete(t),this.emit("nodeDropped",{key:t,attributes:n.attributes})}dropEdge(t){let n;if(arguments.length>1){const r=""+arguments[0],a=""+arguments[1];if(n=hr(this,r,a,this.type),!n)throw new De(`Graph.dropEdge: could not find the "${r}" -> "${a}" edge in the graph.`)}else if(t=""+t,n=this._edges.get(t),!n)throw new De(`Graph.dropEdge: could not find the "${t}" edge in the graph.`);return Qi(this,n),this}dropDirectedEdge(t,n){if(arguments.length<2)throw new Ze("Graph.dropDirectedEdge: it does not make sense to try and drop a directed edge by key. What if the edge with this key is undirected? Use #.dropEdge for this purpose instead.");if(this.multi)throw new Ze("Graph.dropDirectedEdge: cannot use a {source,target} combo when dropping an edge in a MultiGraph since we cannot infer the one you want to delete as there could be multiple ones.");t=""+t,n=""+n;const r=hr(this,t,n,"directed");if(!r)throw new De(`Graph.dropDirectedEdge: could not find a "${t}" -> "${n}" edge in the graph.`);return Qi(this,r),this}dropUndirectedEdge(t,n){if(arguments.length<2)throw new Ze("Graph.dropUndirectedEdge: it does not make sense to drop a directed edge by key. What if the edge with this key is undirected? Use #.dropEdge for this purpose instead.");if(this.multi)throw new Ze("Graph.dropUndirectedEdge: cannot use a {source,target} combo when dropping an edge in a MultiGraph since we cannot infer the one you want to delete as there could be multiple ones.");const r=hr(this,t,n,"undirected");if(!r)throw new De(`Graph.dropUndirectedEdge: could not find a "${t}" -> "${n}" edge in the graph.`);return Qi(this,r),this}clear(){this._edges.clear(),this._nodes.clear(),this._resetInstanceCounters(),this.emit("cleared")}clearEdges(){const t=this._nodes.values();let n;for(;n=t.next(),n.done!==!0;)n.value.clear();this._edges.clear(),this._resetInstanceCounters(),this.emit("edgesCleared")}getAttribute(t){return this._attributes[t]}getAttributes(){return this._attributes}hasAttribute(t){return this._attributes.hasOwnProperty(t)}setAttribute(t,n){return this._attributes[t]=n,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:t}),this}updateAttribute(t,n){if(typeof n!="function")throw new Le("Graph.updateAttribute: updater should be a function.");const r=this._attributes[t];return this._attributes[t]=n(r),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:t}),this}removeAttribute(t){return delete this._attributes[t],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:t}),this}replaceAttributes(t){if(!gn(t))throw new Le("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=t,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this}mergeAttributes(t){if(!gn(t))throw new Le("Graph.mergeAttributes: provided attributes are not a plain object.");return Qt(this._attributes,t),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:t}),this}updateAttributes(t){if(typeof t!="function")throw new Le("Graph.updateAttributes: provided updater is not a function.");return this._attributes=t(this._attributes),this.emit("attributesUpdated",{type:"update",attributes:this._attributes}),this}updateEachNodeAttributes(t,n){if(typeof t!="function")throw new Le("Graph.updateEachNodeAttributes: expecting an updater function.");if(n&&!KR(n))throw new Le("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");const r=this._nodes.values();let a,i;for(;a=r.next(),a.done!==!0;)i=a.value,i.attributes=t(i.key,i.attributes);this.emit("eachNodeAttributesUpdated",{hints:n||null})}updateEachEdgeAttributes(t,n){if(typeof t!="function")throw new Le("Graph.updateEachEdgeAttributes: expecting an updater function.");if(n&&!KR(n))throw new Le("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");const r=this._edges.values();let a,i,l,u;for(;a=r.next(),a.done!==!0;)i=a.value,l=i.source,u=i.target,i.attributes=t(i.key,i.attributes,l.key,u.key,l.attributes,u.attributes,i.undirected);this.emit("eachEdgeAttributesUpdated",{hints:n||null})}forEachAdjacencyEntry(t){if(typeof t!="function")throw new Le("Graph.forEachAdjacencyEntry: expecting a callback.");Wc(!1,!1,!1,this,t)}forEachAdjacencyEntryWithOrphans(t){if(typeof t!="function")throw new Le("Graph.forEachAdjacencyEntryWithOrphans: expecting a callback.");Wc(!1,!1,!0,this,t)}forEachAssymetricAdjacencyEntry(t){if(typeof t!="function")throw new Le("Graph.forEachAssymetricAdjacencyEntry: expecting a callback.");Wc(!1,!0,!1,this,t)}forEachAssymetricAdjacencyEntryWithOrphans(t){if(typeof t!="function")throw new Le("Graph.forEachAssymetricAdjacencyEntryWithOrphans: expecting a callback.");Wc(!1,!0,!0,this,t)}nodes(){return Array.from(this._nodes.keys())}forEachNode(t){if(typeof t!="function")throw new Le("Graph.forEachNode: expecting a callback.");const n=this._nodes.values();let r,a;for(;r=n.next(),r.done!==!0;)a=r.value,t(a.key,a.attributes)}findNode(t){if(typeof t!="function")throw new Le("Graph.findNode: expecting a callback.");const n=this._nodes.values();let r,a;for(;r=n.next(),r.done!==!0;)if(a=r.value,t(a.key,a.attributes))return a.key}mapNodes(t){if(typeof t!="function")throw new Le("Graph.mapNode: expecting a callback.");const n=this._nodes.values();let r,a;const i=new Array(this.order);let l=0;for(;r=n.next(),r.done!==!0;)a=r.value,i[l++]=t(a.key,a.attributes);return i}someNode(t){if(typeof t!="function")throw new Le("Graph.someNode: expecting a callback.");const n=this._nodes.values();let r,a;for(;r=n.next(),r.done!==!0;)if(a=r.value,t(a.key,a.attributes))return!0;return!1}everyNode(t){if(typeof t!="function")throw new Le("Graph.everyNode: expecting a callback.");const n=this._nodes.values();let r,a;for(;r=n.next(),r.done!==!0;)if(a=r.value,!t(a.key,a.attributes))return!1;return!0}filterNodes(t){if(typeof t!="function")throw new Le("Graph.filterNodes: expecting a callback.");const n=this._nodes.values();let r,a;const i=[];for(;r=n.next(),r.done!==!0;)a=r.value,t(a.key,a.attributes)&&i.push(a.key);return i}reduceNodes(t,n){if(typeof t!="function")throw new Le("Graph.reduceNodes: expecting a callback.");if(arguments.length<2)throw new Le("Graph.reduceNodes: missing initial value. You must provide it because the callback takes more than one argument and we cannot infer the initial value from the first iteration, as you could with a simple array.");let r=n;const a=this._nodes.values();let i,l;for(;i=a.next(),i.done!==!0;)l=i.value,r=t(r,l.key,l.attributes);return r}nodeEntries(){const t=this._nodes.values();return{[Symbol.iterator](){return this},next(){const n=t.next();if(n.done)return n;const r=n.value;return{value:{node:r.key,attributes:r.attributes},done:!1}}}}export(){const t=new Array(this._nodes.size);let n=0;this._nodes.forEach((a,i)=>{t[n++]=IK(i,a)});const r=new Array(this._edges.size);return n=0,this._edges.forEach((a,i)=>{r[n++]=LK(this.type,i,a)}),{options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops},attributes:this.getAttributes(),nodes:t,edges:r}}import(t,n=!1){if(t instanceof Tt)return t.forEachNode((c,f)=>{n?this.mergeNode(c,f):this.addNode(c,f)}),t.forEachEdge((c,f,p,g,b,m,S)=>{n?S?this.mergeUndirectedEdgeWithKey(c,p,g,f):this.mergeDirectedEdgeWithKey(c,p,g,f):S?this.addUndirectedEdgeWithKey(c,p,g,f):this.addDirectedEdgeWithKey(c,p,g,f)}),this;if(!gn(t))throw new Le("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(t.attributes){if(!gn(t.attributes))throw new Le("Graph.import: invalid attributes. Expecting a plain object.");n?this.mergeAttributes(t.attributes):this.replaceAttributes(t.attributes)}let r,a,i,l,u;if(t.nodes){if(i=t.nodes,!Array.isArray(i))throw new Le("Graph.import: invalid nodes. Expecting an array.");for(r=0,a=i.length;r{const i=Qt({},r.attributes);r=new n.NodeDataClass(a,i),n._nodes.set(a,r)}),n}copy(t){if(t=t||{},typeof t.type=="string"&&t.type!==this.type&&t.type!=="mixed")throw new Ze(`Graph.copy: cannot create an incompatible copy from "${this.type}" type to "${t.type}" because this would mean losing information about the current graph.`);if(typeof t.multi=="boolean"&&t.multi!==this.multi&&t.multi!==!0)throw new Ze("Graph.copy: cannot create an incompatible copy by downgrading a multi graph to a simple one because this would mean losing information about the current graph.");if(typeof t.allowSelfLoops=="boolean"&&t.allowSelfLoops!==this.allowSelfLoops&&t.allowSelfLoops!==!0)throw new Ze("Graph.copy: cannot create an incompatible copy from a graph allowing self loops to one that does not because this would mean losing information about the current graph.");const n=this.emptyCopy(t),r=this._edges.values();let a,i;for(;a=r.next(),a.done!==!0;)i=a.value,DU(n,"copy",!1,i.undirected,i.key,i.source.key,i.target.key,Qt({},i.attributes));return n}toJSON(){return this.export()}toString(){return"[object Graph]"}inspect(){const t={};this._nodes.forEach((i,l)=>{t[l]=i.attributes});const n={},r={};this._edges.forEach((i,l)=>{const u=i.undirected?"--":"->";let c="",f=i.source.key,p=i.target.key,g;i.undirected&&f>p&&(g=f,f=p,p=g);const b=`(${f})${u}(${p})`;l.startsWith("geid_")?this.multi&&(typeof r[b]>"u"?r[b]=0:r[b]++,c+=`${r[b]}. `):c+=`[${l}]: `,c+=b,n[c]=i.attributes});const a={};for(const i in this)this.hasOwnProperty(i)&&!XR.has(i)&&typeof this[i]!="function"&&typeof i!="symbol"&&(a[i]=this[i]);return a.attributes=this._attributes,a.nodes=t,a.edges=n,pr(a,"constructor",this.constructor),a}}typeof Symbol<"u"&&(Tt.prototype[Symbol.for("nodejs.util.inspect.custom")]=Tt.prototype.inspect);BK.forEach(e=>{["add","merge","update"].forEach(t=>{const n=e.name(t),r=t==="add"?DU:GK;e.generateKey?Tt.prototype[n]=function(a,i,l){return r(this,n,!0,(e.type||this.type)==="undirected",null,a,i,l,t==="update")}:Tt.prototype[n]=function(a,i,l,u){return r(this,n,!1,(e.type||this.type)==="undirected",a,i,l,u,t==="update")}})});ZY(Tt);sK(Tt);kK(Tt);DK(Tt);class nu extends Tt{constructor(t){const n=Qt({type:"directed"},t);if("multi"in n&&n.multi!==!1)throw new Le("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if(n.type!=="directed")throw new Le('DirectedGraph.from: inconsistent "'+n.type+'" type in given options!');super(n)}}class IU extends Tt{constructor(t){const n=Qt({type:"undirected"},t);if("multi"in n&&n.multi!==!1)throw new Le("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if(n.type!=="undirected")throw new Le('UndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');super(n)}}class LU extends Tt{constructor(t){const n=Qt({multi:!0},t);if("multi"in n&&n.multi!==!0)throw new Le("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");super(n)}}class MU extends Tt{constructor(t){const n=Qt({type:"directed",multi:!0},t);if("multi"in n&&n.multi!==!0)throw new Le("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if(n.type!=="directed")throw new Le('MultiDirectedGraph.from: inconsistent "'+n.type+'" type in given options!');super(n)}}class FU extends Tt{constructor(t){const n=Qt({type:"undirected",multi:!0},t);if("multi"in n&&n.multi!==!0)throw new Le("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if(n.type!=="undirected")throw new Le('MultiUndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');super(n)}}function Il(e){e.from=function(t,n){const r=Qt({},t.options,n),a=new e(r);return a.import(t),a}}Il(Tt);Il(nu);Il(IU);Il(LU);Il(MU);Il(FU);Tt.Graph=Tt;Tt.DirectedGraph=nu;Tt.UndirectedGraph=IU;Tt.MultiGraph=LU;Tt.MultiDirectedGraph=MU;Tt.MultiUndirectedGraph=FU;Tt.InvalidArgumentsGraphError=Le;Tt.NotFoundGraphError=De;Tt.UsageGraphError=Ze;function HK(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function Ys(e){var t=HK(e,"string");return typeof t=="symbol"?t:t+""}function on(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function QR(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=Array(t);n>8&255,i=n>>16&255,l=n>>24&255;return[r,a,i,l]}var Th={};function GU(e){if(typeof Th[e]<"u")return Th[e];var t=(e&16711680)>>>16,n=(e&65280)>>>8,r=e&255,a=255,i=jU(t,n,r,a);return Th[e]=i,i}function JR(e,t,n,r){return n+(t<<8)+(e<<16)}function eC(e,t,n,r,a,i){var l=Math.floor(n/i*a),u=Math.floor(e.drawingBufferHeight/i-r/i*a),c=new Uint8Array(4);e.bindFramebuffer(e.FRAMEBUFFER,t),e.readPixels(l,u,1,1,e.RGBA,e.UNSIGNED_BYTE,c);var f=Sl(c,4),p=f[0],g=f[1],b=f[2],m=f[3];return[p,g,b,m]}function _e(e,t,n){return(t=Ys(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function tC(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function Be(e){for(var t=1;t"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?f:u;return am.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:p,am}var oN;function cJ(){return oN||(oN=1,rm.exports=uJ()),rm.exports}var dJ=cJ(),Hs='[cmdk-group=""]',om='[cmdk-group-items=""]',fJ='[cmdk-group-heading=""]',w0='[cmdk-item=""]',iN=`${w0}:not([aria-disabled="true"])`,$x="cmdk-item-select",Qo="data-value",pJ=(e,t,n)=>sJ(e,t,n),O3=k.createContext(void 0),ku=()=>k.useContext(O3),D3=k.createContext(void 0),x0=()=>k.useContext(D3),I3=k.createContext(void 0),L3=k.forwardRef((e,t)=>{let n=ol(()=>{var U,L;return{search:"",value:(L=(U=e.value)!=null?U:e.defaultValue)!=null?L:"",filtered:{count:0,items:new Map,groups:new Set}}}),r=ol(()=>new Set),a=ol(()=>new Map),i=ol(()=>new Map),l=ol(()=>new Set),u=M3(e),{label:c,children:f,value:p,onValueChange:g,filter:b,shouldFilter:m,loop:S,disablePointerSelection:v=!1,vimBindings:A=!0,...R}=e,x=En(),T=En(),C=En(),N=k.useRef(null),_=kJ();ii(()=>{if(p!==void 0){let U=p.trim();n.current.value=U,O.emit()}},[p]),ii(()=>{_(6,P)},[]);let O=k.useMemo(()=>({subscribe:U=>(l.current.add(U),()=>l.current.delete(U)),snapshot:()=>n.current,setState:(U,L,Y)=>{var Q,se,re;if(!Object.is(n.current[U],L)){if(n.current[U]=L,U==="search")q(),M(),_(1,H);else if(U==="value"&&(Y||_(5,P),((Q=u.current)==null?void 0:Q.value)!==void 0)){let le=L??"";(re=(se=u.current).onValueChange)==null||re.call(se,le);return}O.emit()}},emit:()=>{l.current.forEach(U=>U())}}),[]),z=k.useMemo(()=>({value:(U,L,Y)=>{var Q;L!==((Q=i.current.get(U))==null?void 0:Q.value)&&(i.current.set(U,{value:L,keywords:Y}),n.current.filtered.items.set(U,I(L,Y)),_(2,()=>{M(),O.emit()}))},item:(U,L)=>(r.current.add(U),L&&(a.current.has(L)?a.current.get(L).add(U):a.current.set(L,new Set([U]))),_(3,()=>{q(),M(),n.current.value||H(),O.emit()}),()=>{i.current.delete(U),r.current.delete(U),n.current.filtered.items.delete(U);let Y=W();_(4,()=>{q(),(Y==null?void 0:Y.getAttribute("id"))===U&&H(),O.emit()})}),group:U=>(a.current.has(U)||a.current.set(U,new Set),()=>{i.current.delete(U),a.current.delete(U)}),filter:()=>u.current.shouldFilter,label:c||e["aria-label"],getDisablePointerSelection:()=>u.current.disablePointerSelection,listId:x,inputId:C,labelId:T,listInnerRef:N}),[]);function I(U,L){var Y,Q;let se=(Q=(Y=u.current)==null?void 0:Y.filter)!=null?Q:pJ;return U?se(U,n.current.search,L):0}function M(){if(!n.current.search||u.current.shouldFilter===!1)return;let U=n.current.filtered.items,L=[];n.current.filtered.groups.forEach(Q=>{let se=a.current.get(Q),re=0;se.forEach(le=>{let Ae=U.get(le);re=Math.max(Ae,re)}),L.push([Q,re])});let Y=N.current;Z().sort((Q,se)=>{var re,le;let Ae=Q.getAttribute("id"),ae=se.getAttribute("id");return((re=U.get(ae))!=null?re:0)-((le=U.get(Ae))!=null?le:0)}).forEach(Q=>{let se=Q.closest(om);se?se.appendChild(Q.parentElement===se?Q:Q.closest(`${om} > *`)):Y.appendChild(Q.parentElement===Y?Q:Q.closest(`${om} > *`))}),L.sort((Q,se)=>se[1]-Q[1]).forEach(Q=>{var se;let re=(se=N.current)==null?void 0:se.querySelector(`${Hs}[${Qo}="${encodeURIComponent(Q[0])}"]`);re==null||re.parentElement.appendChild(re)})}function H(){let U=Z().find(Y=>Y.getAttribute("aria-disabled")!=="true"),L=U==null?void 0:U.getAttribute(Qo);O.setState("value",L||void 0)}function q(){var U,L,Y,Q;if(!n.current.search||u.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let se=0;for(let re of r.current){let le=(L=(U=i.current.get(re))==null?void 0:U.value)!=null?L:"",Ae=(Q=(Y=i.current.get(re))==null?void 0:Y.keywords)!=null?Q:[],ae=I(le,Ae);n.current.filtered.items.set(re,ae),ae>0&&se++}for(let[re,le]of a.current)for(let Ae of le)if(n.current.filtered.items.get(Ae)>0){n.current.filtered.groups.add(re);break}n.current.filtered.count=se}function P(){var U,L,Y;let Q=W();Q&&(((U=Q.parentElement)==null?void 0:U.firstChild)===Q&&((Y=(L=Q.closest(Hs))==null?void 0:L.querySelector(fJ))==null||Y.scrollIntoView({block:"nearest"})),Q.scrollIntoView({block:"nearest"}))}function W(){var U;return(U=N.current)==null?void 0:U.querySelector(`${w0}[aria-selected="true"]`)}function Z(){var U;return Array.from(((U=N.current)==null?void 0:U.querySelectorAll(iN))||[])}function j(U){let L=Z()[U];L&&O.setState("value",L.getAttribute(Qo))}function G(U){var L;let Y=W(),Q=Z(),se=Q.findIndex(le=>le===Y),re=Q[se+U];(L=u.current)!=null&&L.loop&&(re=se+U<0?Q[Q.length-1]:se+U===Q.length?Q[0]:Q[se+U]),re&&O.setState("value",re.getAttribute(Qo))}function B(U){let L=W(),Y=L==null?void 0:L.closest(Hs),Q;for(;Y&&!Q;)Y=U>0?wJ(Y,Hs):xJ(Y,Hs),Q=Y==null?void 0:Y.querySelector(iN);Q?O.setState("value",Q.getAttribute(Qo)):G(U)}let X=()=>j(Z().length-1),D=U=>{U.preventDefault(),U.metaKey?X():U.altKey?B(1):G(1)},V=U=>{U.preventDefault(),U.metaKey?j(0):U.altKey?B(-1):G(-1)};return k.createElement(Xe.div,{ref:t,tabIndex:-1,...R,"cmdk-root":"",onKeyDown:U=>{var L;if((L=R.onKeyDown)==null||L.call(R,U),!U.defaultPrevented)switch(U.key){case"n":case"j":{A&&U.ctrlKey&&D(U);break}case"ArrowDown":{D(U);break}case"p":case"k":{A&&U.ctrlKey&&V(U);break}case"ArrowUp":{V(U);break}case"Home":{U.preventDefault(),j(0);break}case"End":{U.preventDefault(),X();break}case"Enter":if(!U.nativeEvent.isComposing&&U.keyCode!==229){U.preventDefault();let Y=W();if(Y){let Q=new Event($x);Y.dispatchEvent(Q)}}}}},k.createElement("label",{"cmdk-label":"",htmlFor:z.inputId,id:z.labelId,style:TJ},c),Nf(e,U=>k.createElement(D3.Provider,{value:O},k.createElement(O3.Provider,{value:z},U))))}),gJ=k.forwardRef((e,t)=>{var n,r;let a=En(),i=k.useRef(null),l=k.useContext(I3),u=ku(),c=M3(e),f=(r=(n=c.current)==null?void 0:n.forceMount)!=null?r:l==null?void 0:l.forceMount;ii(()=>{if(!f)return u.item(a,l==null?void 0:l.id)},[f]);let p=F3(a,i,[e.value,e.children,i],e.keywords),g=x0(),b=li(_=>_.value&&_.value===p.current),m=li(_=>f||u.filter()===!1?!0:_.search?_.filtered.items.get(a)>0:!0);k.useEffect(()=>{let _=i.current;if(!(!_||e.disabled))return _.addEventListener($x,S),()=>_.removeEventListener($x,S)},[m,e.onSelect,e.disabled]);function S(){var _,O;v(),(O=(_=c.current).onSelect)==null||O.call(_,p.current)}function v(){g.setState("value",p.current,!0)}if(!m)return null;let{disabled:A,value:R,onSelect:x,forceMount:T,keywords:C,...N}=e;return k.createElement(Xe.div,{ref:ru([i,t]),...N,id:a,"cmdk-item":"",role:"option","aria-disabled":!!A,"aria-selected":!!b,"data-disabled":!!A,"data-selected":!!b,onPointerMove:A||u.getDisablePointerSelection()?void 0:v,onClick:A?void 0:S},e.children)}),hJ=k.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:a,...i}=e,l=En(),u=k.useRef(null),c=k.useRef(null),f=En(),p=ku(),g=li(m=>a||p.filter()===!1?!0:m.search?m.filtered.groups.has(l):!0);ii(()=>p.group(l),[]),F3(l,u,[e.value,e.heading,c]);let b=k.useMemo(()=>({id:l,forceMount:a}),[a]);return k.createElement(Xe.div,{ref:ru([u,t]),...i,"cmdk-group":"",role:"presentation",hidden:g?void 0:!0},n&&k.createElement("div",{ref:c,"cmdk-group-heading":"","aria-hidden":!0,id:f},n),Nf(e,m=>k.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?f:void 0},k.createElement(I3.Provider,{value:b},m))))}),mJ=k.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,a=k.useRef(null),i=li(l=>!l.search);return!n&&!i?null:k.createElement(Xe.div,{ref:ru([a,t]),...r,"cmdk-separator":"",role:"separator"})}),bJ=k.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,a=e.value!=null,i=x0(),l=li(p=>p.search),u=li(p=>p.value),c=ku(),f=k.useMemo(()=>{var p;let g=(p=c.listInnerRef.current)==null?void 0:p.querySelector(`${w0}[${Qo}="${encodeURIComponent(u)}"]`);return g==null?void 0:g.getAttribute("id")},[]);return k.useEffect(()=>{e.value!=null&&i.setState("search",e.value)},[e.value]),k.createElement(Xe.input,{ref:t,...r,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":c.listId,"aria-labelledby":c.labelId,"aria-activedescendant":f,id:c.inputId,type:"text",value:a?e.value:l,onChange:p=>{a||i.setState("search",p.target.value),n==null||n(p.target.value)}})}),yJ=k.forwardRef((e,t)=>{let{children:n,label:r="Suggestions",...a}=e,i=k.useRef(null),l=k.useRef(null),u=ku();return k.useEffect(()=>{if(l.current&&i.current){let c=l.current,f=i.current,p,g=new ResizeObserver(()=>{p=requestAnimationFrame(()=>{let b=c.offsetHeight;f.style.setProperty("--cmdk-list-height",b.toFixed(1)+"px")})});return g.observe(c),()=>{cancelAnimationFrame(p),g.unobserve(c)}}},[]),k.createElement(Xe.div,{ref:ru([i,t]),...a,"cmdk-list":"",role:"listbox","aria-label":r,id:u.listId},Nf(e,c=>k.createElement("div",{ref:ru([l,u.listInnerRef]),"cmdk-list-sizer":""},c)))}),vJ=k.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:a,contentClassName:i,container:l,...u}=e;return k.createElement(Bk,{open:n,onOpenChange:r},k.createElement(Uk,{container:l},k.createElement(gf,{"cmdk-overlay":"",className:a}),k.createElement(hf,{"aria-label":e.label,"cmdk-dialog":"",className:i},k.createElement(L3,{ref:t,...u}))))}),SJ=k.forwardRef((e,t)=>li(n=>n.filtered.count===0)?k.createElement(Xe.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),EJ=k.forwardRef((e,t)=>{let{progress:n,children:r,label:a="Loading...",...i}=e;return k.createElement(Xe.div,{ref:t,...i,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":a},Nf(e,l=>k.createElement("div",{"aria-hidden":!0},l)))}),jn=Object.assign(L3,{List:yJ,Item:gJ,Input:bJ,Group:hJ,Separator:mJ,Dialog:vJ,Empty:SJ,Loading:EJ});function wJ(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function xJ(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function M3(e){let t=k.useRef(e);return ii(()=>{t.current=e}),t}var ii=typeof window>"u"?k.useEffect:k.useLayoutEffect;function ol(e){let t=k.useRef();return t.current===void 0&&(t.current=e()),t}function ru(e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}}function li(e){let t=x0(),n=()=>e(t.snapshot());return dJ.useSyncExternalStore(t.subscribe,n,n)}function F3(e,t,n,r=[]){let a=k.useRef(),i=ku();return ii(()=>{var l;let u=(()=>{var f;for(let p of n){if(typeof p=="string")return p.trim();if(typeof p=="object"&&"current"in p)return p.current?(f=p.current.textContent)==null?void 0:f.trim():a.current}})(),c=r.map(f=>f.trim());i.value(e,u,c),(l=t.current)==null||l.setAttribute(Qo,u),a.current=u}),a}var kJ=()=>{let[e,t]=k.useState(),n=ol(()=>new Map);return ii(()=>{n.current.forEach(r=>r()),n.current=new Map},[e]),(r,a)=>{n.current.set(r,a),t({})}};function AJ(e){let t=e.type;return typeof t=="function"?t(e.props):"render"in t?t.render(e.props):e}function Nf({asChild:e,children:t},n){return e&&k.isValidElement(t)?k.cloneElement(AJ(t),{ref:t.ref},n(t.props.children)):n(t)}var TJ={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};const z3=Bk,P3=GP,_J=Uk,B3=k.forwardRef(({className:e,...t},n)=>w.jsx(gf,{ref:n,className:Me("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80",e),...t}));B3.displayName=gf.displayName;const k0=k.forwardRef(({className:e,children:t,...n},r)=>w.jsxs(_J,{children:[w.jsx(B3,{}),w.jsxs(hf,{ref:r,className:Me("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-top-[48%] fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-200 sm:rounded-lg",e),...n,children:[t,w.jsxs(Hk,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[w.jsx(dP,{className:"h-4 w-4"}),w.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));k0.displayName=hf.displayName;const A0=({className:e,...t})=>w.jsx("div",{className:Me("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});A0.displayName="DialogHeader";const T0=k.forwardRef(({className:e,...t},n)=>w.jsx(jk,{ref:n,className:Me("text-lg leading-none font-semibold tracking-tight",e),...t}));T0.displayName=jk.displayName;const _0=k.forwardRef(({className:e,...t},n)=>w.jsx(Gk,{ref:n,className:Me("text-muted-foreground text-sm",e),...t}));_0.displayName=Gk.displayName;const Of=k.forwardRef(({className:e,...t},n)=>w.jsx(jn,{ref:n,className:Me("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e),...t}));Of.displayName=jn.displayName;const R0=k.forwardRef(({className:e,...t},n)=>w.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[w.jsx(r8,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),w.jsx(jn.Input,{ref:n,className:Me("placeholder:text-muted-foreground flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));R0.displayName=jn.Input.displayName;const Df=k.forwardRef(({className:e,...t},n)=>w.jsx(jn.List,{ref:n,className:Me("max-h-[300px] overflow-x-hidden overflow-y-auto",e),...t}));Df.displayName=jn.List.displayName;const C0=k.forwardRef((e,t)=>w.jsx(jn.Empty,{ref:t,className:"py-6 text-center text-sm",...e}));C0.displayName=jn.Empty.displayName;const Ml=k.forwardRef(({className:e,...t},n)=>w.jsx(jn.Group,{ref:n,className:Me("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",e),...t}));Ml.displayName=jn.Group.displayName;const RJ=k.forwardRef(({className:e,...t},n)=>w.jsx(jn.Separator,{ref:n,className:Me("bg-border -mx-1 h-px",e),...t}));RJ.displayName=jn.Separator.displayName;const Fl=k.forwardRef(({className:e,...t},n)=>w.jsx(jn.Item,{ref:n,className:Me("data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e),...t}));Fl.displayName=jn.Item.displayName;const CJ=({layout:e,autoRunFor:t})=>{const n=br(),{stop:r,start:a,isRunning:i}=e;return k.useEffect(()=>{if(!n)return;let l=null;return t!==void 0&&t>-1&&n.getGraph().order>0&&(a(),l=t>0?window.setTimeout(()=>{r()},t):null),()=>{r(),l&&clearTimeout(l)}},[t,a,r,n]),w.jsx(Lt,{size:"icon",onClick:()=>i?r():a(),tooltip:i?"Stop the layout animation":"Start the layout animation",variant:Yr,children:i?w.jsx(Zq,{}):w.jsx(Jq,{})})},NJ=()=>{const e=br(),[t,n]=k.useState("Circular"),[r,a]=k.useState(!1),i=We.use.graphLayoutMaxIterations(),l=wQ(),u=yQ(),c=JQ(),f=YQ({settings:{margin:1}}),p=CQ({maxIterations:i}),g=_3({iterations:i}),b=KQ(),m=NQ(),S=BQ(),v=k.useMemo(()=>({Circular:{layout:l},Circlepack:{layout:u},Random:{layout:c},Noverlaps:{layout:f,worker:b},"Force Directed":{layout:p,worker:m},"Force Atlas":{layout:g,worker:S}}),[u,l,p,g,f,c,m,b,S]),A=k.useCallback(R=>{console.debug(R);const{positions:x}=v[R].layout;zX(e.getGraph(),x(),{duration:500}),n(R)},[v,e]);return w.jsxs(w.Fragment,{children:[w.jsx("div",{children:v[t]&&"worker"in v[t]&&w.jsx(CJ,{layout:v[t].worker})}),w.jsx("div",{children:w.jsxs(kf,{open:r,onOpenChange:a,children:[w.jsx(Af,{asChild:!0,children:w.jsx(Lt,{size:"icon",variant:Yr,onClick:()=>a(R=>!R),tooltip:"Layout Graph",children:w.jsx(Uq,{})})}),w.jsx(yu,{side:"right",align:"center",className:"p-1",children:w.jsx(Of,{children:w.jsx(Df,{children:w.jsx(Ml,{children:Object.keys(v).map(R=>w.jsx(Fl,{onSelect:()=>{A(R)},className:"cursor-pointer text-xs",children:R},R))})})})})]})})]})};var Sd={exports:{}},OJ=Sd.exports,lN;function DJ(){return lN||(lN=1,function(e){(function(t,n,r){function a(c){var f=this,p=u();f.next=function(){var g=2091639*f.s0+f.c*23283064365386963e-26;return f.s0=f.s1,f.s1=f.s2,f.s2=g-(f.c=g|0)},f.c=1,f.s0=p(" "),f.s1=p(" "),f.s2=p(" "),f.s0-=p(c),f.s0<0&&(f.s0+=1),f.s1-=p(c),f.s1<0&&(f.s1+=1),f.s2-=p(c),f.s2<0&&(f.s2+=1),p=null}function i(c,f){return f.c=c.c,f.s0=c.s0,f.s1=c.s1,f.s2=c.s2,f}function l(c,f){var p=new a(c),g=f&&f.state,b=p.next;return b.int32=function(){return p.next()*4294967296|0},b.double=function(){return b()+(b()*2097152|0)*11102230246251565e-32},b.quick=b,g&&(typeof g=="object"&&i(g,p),b.state=function(){return i(p,{})}),b}function u(){var c=4022871197,f=function(p){p=String(p);for(var g=0;g>>0,b-=c,b*=c,c=b>>>0,b-=c,c+=b*4294967296}return(c>>>0)*23283064365386963e-26};return f}n&&n.exports?n.exports=l:this.alea=l})(OJ,e)}(Sd)),Sd.exports}var Ed={exports:{}},IJ=Ed.exports,sN;function LJ(){return sN||(sN=1,function(e){(function(t,n,r){function a(u){var c=this,f="";c.x=0,c.y=0,c.z=0,c.w=0,c.next=function(){var g=c.x^c.x<<11;return c.x=c.y,c.y=c.z,c.z=c.w,c.w^=c.w>>>19^g^g>>>8},u===(u|0)?c.x=u:f+=u;for(var p=0;p>>0)/4294967296};return g.double=function(){do var b=f.next()>>>11,m=(f.next()>>>0)/4294967296,S=(b+m)/(1<<21);while(S===0);return S},g.int32=f.next,g.quick=g,p&&(typeof p=="object"&&i(p,f),g.state=function(){return i(f,{})}),g}n&&n.exports?n.exports=l:this.xor128=l})(IJ,e)}(Ed)),Ed.exports}var wd={exports:{}},MJ=wd.exports,uN;function FJ(){return uN||(uN=1,function(e){(function(t,n,r){function a(u){var c=this,f="";c.next=function(){var g=c.x^c.x>>>2;return c.x=c.y,c.y=c.z,c.z=c.w,c.w=c.v,(c.d=c.d+362437|0)+(c.v=c.v^c.v<<4^(g^g<<1))|0},c.x=0,c.y=0,c.z=0,c.w=0,c.v=0,u===(u|0)?c.x=u:f+=u;for(var p=0;p>>4),c.next()}function i(u,c){return c.x=u.x,c.y=u.y,c.z=u.z,c.w=u.w,c.v=u.v,c.d=u.d,c}function l(u,c){var f=new a(u),p=c&&c.state,g=function(){return(f.next()>>>0)/4294967296};return g.double=function(){do var b=f.next()>>>11,m=(f.next()>>>0)/4294967296,S=(b+m)/(1<<21);while(S===0);return S},g.int32=f.next,g.quick=g,p&&(typeof p=="object"&&i(p,f),g.state=function(){return i(f,{})}),g}n&&n.exports?n.exports=l:this.xorwow=l})(MJ,e)}(wd)),wd.exports}var xd={exports:{}},zJ=xd.exports,cN;function PJ(){return cN||(cN=1,function(e){(function(t,n,r){function a(u){var c=this;c.next=function(){var p=c.x,g=c.i,b,m;return b=p[g],b^=b>>>7,m=b^b<<24,b=p[g+1&7],m^=b^b>>>10,b=p[g+3&7],m^=b^b>>>3,b=p[g+4&7],m^=b^b<<7,b=p[g+7&7],b=b^b<<13,m^=b^b<<9,p[g]=m,c.i=g+1&7,m};function f(p,g){var b,m=[];if(g===(g|0))m[0]=g;else for(g=""+g,b=0;b0;--b)p.next()}f(c,u)}function i(u,c){return c.x=u.x.slice(),c.i=u.i,c}function l(u,c){u==null&&(u=+new Date);var f=new a(u),p=c&&c.state,g=function(){return(f.next()>>>0)/4294967296};return g.double=function(){do var b=f.next()>>>11,m=(f.next()>>>0)/4294967296,S=(b+m)/(1<<21);while(S===0);return S},g.int32=f.next,g.quick=g,p&&(p.x&&i(p,f),g.state=function(){return i(f,{})}),g}n&&n.exports?n.exports=l:this.xorshift7=l})(zJ,e)}(xd)),xd.exports}var kd={exports:{}},BJ=kd.exports,dN;function UJ(){return dN||(dN=1,function(e){(function(t,n,r){function a(u){var c=this;c.next=function(){var p=c.w,g=c.X,b=c.i,m,S;return c.w=p=p+1640531527|0,S=g[b+34&127],m=g[b=b+1&127],S^=S<<13,m^=m<<17,S^=S>>>15,m^=m>>>12,S=g[b]=S^m,c.i=b,S+(p^p>>>16)|0};function f(p,g){var b,m,S,v,A,R=[],x=128;for(g===(g|0)?(m=g,g=null):(g=g+"\0",m=0,x=Math.max(x,g.length)),S=0,v=-32;v>>15,m^=m<<4,m^=m>>>13,v>=0&&(A=A+1640531527|0,b=R[v&127]^=m+A,S=b==0?S+1:0);for(S>=128&&(R[(g&&g.length||0)&127]=-1),S=127,v=4*128;v>0;--v)m=R[S+34&127],b=R[S=S+1&127],m^=m<<13,b^=b<<17,m^=m>>>15,b^=b>>>12,R[S]=m^b;p.w=A,p.X=R,p.i=S}f(c,u)}function i(u,c){return c.i=u.i,c.w=u.w,c.X=u.X.slice(),c}function l(u,c){u==null&&(u=+new Date);var f=new a(u),p=c&&c.state,g=function(){return(f.next()>>>0)/4294967296};return g.double=function(){do var b=f.next()>>>11,m=(f.next()>>>0)/4294967296,S=(b+m)/(1<<21);while(S===0);return S},g.int32=f.next,g.quick=g,p&&(p.X&&i(p,f),g.state=function(){return i(f,{})}),g}n&&n.exports?n.exports=l:this.xor4096=l})(BJ,e)}(kd)),kd.exports}var Ad={exports:{}},jJ=Ad.exports,fN;function GJ(){return fN||(fN=1,function(e){(function(t,n,r){function a(u){var c=this,f="";c.next=function(){var g=c.b,b=c.c,m=c.d,S=c.a;return g=g<<25^g>>>7^b,b=b-m|0,m=m<<24^m>>>8^S,S=S-g|0,c.b=g=g<<20^g>>>12^b,c.c=b=b-m|0,c.d=m<<16^b>>>16^S,c.a=S-g|0},c.a=0,c.b=0,c.c=-1640531527,c.d=1367130551,u===Math.floor(u)?(c.a=u/4294967296|0,c.b=u|0):f+=u;for(var p=0;p>>0)/4294967296};return g.double=function(){do var b=f.next()>>>11,m=(f.next()>>>0)/4294967296,S=(b+m)/(1<<21);while(S===0);return S},g.int32=f.next,g.quick=g,p&&(typeof p=="object"&&i(p,f),g.state=function(){return i(f,{})}),g}n&&n.exports?n.exports=l:this.tychei=l})(jJ,e)}(Ad)),Ad.exports}var Td={exports:{}};const HJ={},$J=Object.freeze(Object.defineProperty({__proto__:null,default:HJ},Symbol.toStringTag,{value:"Module"})),qJ=pH($J);var VJ=Td.exports,pN;function WJ(){return pN||(pN=1,function(e){(function(t,n,r){var a=256,i=6,l=52,u="random",c=r.pow(a,i),f=r.pow(2,l),p=f*2,g=a-1,b;function m(C,N,_){var O=[];N=N==!0?{entropy:!0}:N||{};var z=R(A(N.entropy?[C,T(n)]:C??x(),3),O),I=new S(O),M=function(){for(var H=I.g(i),q=c,P=0;H=p;)H/=2,q/=2,P>>>=1;return(H+P)/q};return M.int32=function(){return I.g(4)|0},M.quick=function(){return I.g(4)/4294967296},M.double=M,R(T(I.S),n),(N.pass||_||function(H,q,P,W){return W&&(W.S&&v(W,I),H.state=function(){return v(I,{})}),P?(r[u]=H,q):H})(M,z,"global"in N?N.global:this==r,N.state)}function S(C){var N,_=C.length,O=this,z=0,I=O.i=O.j=0,M=O.S=[];for(_||(C=[_++]);z{if(!e||!Array.isArray(e.nodes)||!Array.isArray(e.edges))return!1;for(const t of e.nodes)if(!t.id||!t.labels||!t.properties)return!1;for(const t of e.edges)if(!t.id||!t.source||!t.target)return!1;for(const t of e.edges){const n=e.getNode(t.source),r=e.getNode(t.target);if(n==null||r==null)return!1}return!0},QJ=async(e,t,n)=>{let r=null;try{r=await sq(e,t,n)}catch(i){return Pn.getState().setErrorMessage(Nr(i),"Query Graphs Error!"),null}let a=null;if(r){const i={},l={};for(let p=0;p0){const p=A9-iR;for(const g of r.nodes)g.size=Math.round(iR+p*Math.pow((g.degree-u)/f,.5))}a=new cQ,a.nodes=r.nodes,a.edges=r.edges,a.nodeIdMap=i,a.edgeIdMap=l,ZJ(a)||(a=null,console.error("Invalid graph data")),console.log("Graph data loaded")}return a},JJ=e=>{const t=new nu;for(const n of(e==null?void 0:e.nodes)??[])t.addNode(n.id,{label:n.labels.join(", "),color:n.color,x:n.x,y:n.y,size:n.size,borderColor:E9,borderSize:.2});for(const n of(e==null?void 0:e.edges)??[])n.dynamicId=t.addDirectedEdge(n.source,n.target,{label:n.type||void 0});return t},Ji={label:"",maxQueryDepth:0,minDegree:0},U3=()=>{const e=We.use.queryLabel(),t=Et.use.rawGraph(),n=Et.use.sigmaGraph(),r=We.use.graphQueryMaxDepth(),a=We.use.graphMinDegree(),i=k.useCallback(c=>(t==null?void 0:t.getNode(c))||null,[t]),l=k.useCallback((c,f=!0)=>(t==null?void 0:t.getEdge(c,f))||null,[t]);return k.useEffect(()=>{if(e){if(Ji.label!==e||Ji.maxQueryDepth!==r||Ji.minDegree!==a){Ji.label=e,Ji.maxQueryDepth=r,Ji.minDegree=a;const c=Et.getState();c.reset(),QJ(e,r,a).then(f=>{c.setSigmaGraph(JJ(f)),f==null||f.buildDynamicMap(),c.setRawGraph(f)})}}else{const c=Et.getState();c.reset(),c.setSigmaGraph(new nu)}},[e,r,a]),{lightrageGraph:k.useCallback(()=>{if(n)return n;const c=new nu;return Et.getState().setSigmaGraph(c),c},[n]),getNode:i,getEdge:l}},ed=e=>!!(e.type.startsWith("mouse")&&e.buttons!==0),eee=({disableHoverEffect:e})=>{const{lightrageGraph:t}=U3(),n=br(),r=i3(),a=o3(),i=dZ(),l=We.use.graphLayoutMaxIterations(),{assign:u}=_3({iterations:l}),{theme:c}=l0(),f=We.use.enableHideUnselectedEdges(),p=Et.use.selectedNode(),g=Et.use.focusedNode(),b=Et.use.selectedEdge(),m=Et.use.focusedEdge();return k.useEffect(()=>{const S=t();i(S),u()},[u,i,t,l]),k.useEffect(()=>{const{setFocusedNode:S,setSelectedNode:v,setFocusedEdge:A,setSelectedEdge:R,clearSelection:x}=Et.getState();r({enterNode:T=>{ed(T.event.original)||S(T.node)},leaveNode:T=>{ed(T.event.original)||S(null)},clickNode:T=>{v(T.node),R(null)},clickEdge:T=>{R(T.edge),v(null)},enterEdge:T=>{ed(T.event.original)||A(T.edge)},leaveEdge:T=>{ed(T.event.original)||A(null)},clickStage:()=>x()})},[r]),k.useEffect(()=>{const S=c==="dark",v=S?y9:void 0,A=S?x9:void 0;a({nodeReducer:(R,x)=>{const T=n.getGraph(),C={...x,highlighted:x.highlighted||!1,labelColor:v};if(!e){C.highlighted=!1;const N=g||p,_=m||b;if(N)(R===N||T.neighbors(N).includes(R))&&(C.highlighted=!0,R===p&&(C.borderColor=w9));else if(_)T.extremities(_).includes(R)&&(C.highlighted=!0,C.size=3);else return C;C.highlighted?S&&(C.labelColor=v9):C.color=S9}return C},edgeReducer:(R,x)=>{const T=n.getGraph(),C={...x,hidden:!1,labelColor:v,color:A};if(!e){const N=g||p;N?f?T.extremities(R).includes(N)||(C.hidden=!0):T.extremities(R).includes(N)&&(C.color=oR):(m||b)&&(R===b?C.color=k9:R===m?C.color=oR:f&&(C.hidden=!0))}return C}})},[p,g,b,m,a,n,e,c,f]),null},tee=()=>{const{zoomIn:e,zoomOut:t,reset:n}=l3({duration:200,factor:1.5}),r=k.useCallback(()=>e(),[e]),a=k.useCallback(()=>t(),[t]),i=k.useCallback(()=>n(),[n]);return w.jsxs(w.Fragment,{children:[w.jsx(Lt,{variant:Yr,onClick:r,tooltip:"Zoom In",size:"icon",children:w.jsx(h8,{})}),w.jsx(Lt,{variant:Yr,onClick:a,tooltip:"Zoom Out",size:"icon",children:w.jsx(b8,{})}),w.jsx(Lt,{variant:Yr,onClick:i,tooltip:"Reset Zoom",size:"icon",children:w.jsx(Fq,{})})]})},nee=()=>{const{isFullScreen:e,toggle:t}=fZ();return w.jsx(w.Fragment,{children:e?w.jsx(Lt,{variant:Yr,onClick:t,tooltip:"Windowed",size:"icon",children:w.jsx(Wq,{})}):w.jsx(Lt,{variant:Yr,onClick:t,tooltip:"Full Screen",size:"icon",children:w.jsx(qq,{})})})};function j3(e){const t=k.useRef({value:e,previous:e});return k.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var N0="Checkbox",[ree,rve]=mr(N0),[aee,oee]=ree(N0),G3=k.forwardRef((e,t)=>{const{__scopeCheckbox:n,name:r,checked:a,defaultChecked:i,required:l,disabled:u,value:c="on",onCheckedChange:f,form:p,...g}=e,[b,m]=k.useState(null),S=ft(t,C=>m(C)),v=k.useRef(!1),A=b?p||!!b.closest("form"):!0,[R=!1,x]=Oa({prop:a,defaultProp:i,onChange:f}),T=k.useRef(R);return k.useEffect(()=>{const C=b==null?void 0:b.form;if(C){const N=()=>x(T.current);return C.addEventListener("reset",N),()=>C.removeEventListener("reset",N)}},[b,x]),w.jsxs(aee,{scope:n,state:R,disabled:u,children:[w.jsx(Xe.button,{type:"button",role:"checkbox","aria-checked":ho(R)?"mixed":R,"aria-required":l,"data-state":q3(R),"data-disabled":u?"":void 0,disabled:u,value:c,...g,ref:S,onKeyDown:Ye(e.onKeyDown,C=>{C.key==="Enter"&&C.preventDefault()}),onClick:Ye(e.onClick,C=>{x(N=>ho(N)?!0:!N),A&&(v.current=C.isPropagationStopped(),v.current||C.stopPropagation())})}),A&&w.jsx(iee,{control:b,bubbles:!v.current,name:r,value:c,checked:R,required:l,disabled:u,form:p,style:{transform:"translateX(-100%)"},defaultChecked:ho(i)?!1:i})]})});G3.displayName=N0;var H3="CheckboxIndicator",$3=k.forwardRef((e,t)=>{const{__scopeCheckbox:n,forceMount:r,...a}=e,i=oee(H3,n);return w.jsx(Jn,{present:r||ho(i.state)||i.state===!0,children:w.jsx(Xe.span,{"data-state":q3(i.state),"data-disabled":i.disabled?"":void 0,...a,ref:t,style:{pointerEvents:"none",...e.style}})})});$3.displayName=H3;var iee=e=>{const{control:t,checked:n,bubbles:r=!0,defaultChecked:a,...i}=e,l=k.useRef(null),u=j3(n),c=yB(t);k.useEffect(()=>{const p=l.current,g=window.HTMLInputElement.prototype,m=Object.getOwnPropertyDescriptor(g,"checked").set;if(u!==n&&m){const S=new Event("click",{bubbles:r});p.indeterminate=ho(n),m.call(p,ho(n)?!1:n),p.dispatchEvent(S)}},[u,n,r]);const f=k.useRef(ho(n)?!1:n);return w.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:a??f.current,...i,tabIndex:-1,ref:l,style:{...e.style,...c,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function ho(e){return e==="indeterminate"}function q3(e){return ho(e)?"indeterminate":e?"checked":"unchecked"}var V3=G3,lee=$3;const Ks=k.forwardRef(({className:e,...t},n)=>w.jsx(V3,{ref:n,className:Me("peer border-primary ring-offset-background focus-visible:ring-ring data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground h-4 w-4 shrink-0 rounded-sm border focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:w.jsx(lee,{className:Me("flex items-center justify-center text-current"),children:w.jsx(Nk,{className:"h-4 w-4"})})}));Ks.displayName=V3.displayName;var see="Separator",hN="horizontal",uee=["horizontal","vertical"],W3=k.forwardRef((e,t)=>{const{decorative:n,orientation:r=hN,...a}=e,i=cee(r)?r:hN,u=n?{role:"none"}:{"aria-orientation":i==="vertical"?i:void 0,role:"separator"};return w.jsx(Xe.div,{"data-orientation":i,...u,...a,ref:t})});W3.displayName=see;function cee(e){return uee.includes(e)}var Y3=W3;const il=k.forwardRef(({className:e,orientation:t="horizontal",decorative:n=!0,...r},a)=>w.jsx(Y3,{ref:a,decorative:n,orientation:t,className:Me("bg-border shrink-0",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...r}));il.displayName=Y3.displayName;const so=({checked:e,onCheckedChange:t,label:n})=>w.jsxs("div",{className:"flex items-center gap-2",children:[w.jsx(Ks,{checked:e,onCheckedChange:t}),w.jsx("label",{htmlFor:"terms",className:"text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:n})]}),lm=({value:e,onEditFinished:t,label:n,min:r,max:a})=>{const[i,l]=k.useState(e),u=k.useCallback(f=>{const p=f.target.value.trim();if(p.length===0){l(null);return}const g=Number.parseInt(p);if(!isNaN(g)&&g!==i){if(r!==void 0&&ga)return;l(g)}},[i,r,a]),c=k.useCallback(()=>{i!==null&&e!==i&&t(i)},[e,i,t]);return w.jsxs("div",{className:"flex flex-col gap-2",children:[w.jsx("label",{htmlFor:"terms",className:"text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:n}),w.jsx(Eo,{type:"number",value:i===null?"":i,onChange:u,className:"h-6 w-full min-w-0 pr-1",min:r,max:a,onBlur:c,onKeyDown:f=>{f.key==="Enter"&&c()}})]})};function dee(){const[e,t]=k.useState(!1),[n,r]=k.useState(""),a=We.use.showPropertyPanel(),i=We.use.showNodeSearchBar(),l=We.use.showNodeLabel(),u=We.use.enableEdgeEvents(),c=We.use.enableNodeDrag(),f=We.use.enableHideUnselectedEdges(),p=We.use.showEdgeLabel(),g=We.use.graphQueryMaxDepth(),b=We.use.graphMinDegree(),m=We.use.graphLayoutMaxIterations(),S=We.use.enableHealthCheck(),v=We.use.apiKey();k.useEffect(()=>{r(v||"")},[v,e]);const A=k.useCallback(()=>We.setState(P=>({enableNodeDrag:!P.enableNodeDrag})),[]),R=k.useCallback(()=>We.setState(P=>({enableEdgeEvents:!P.enableEdgeEvents})),[]),x=k.useCallback(()=>We.setState(P=>({enableHideUnselectedEdges:!P.enableHideUnselectedEdges})),[]),T=k.useCallback(()=>We.setState(P=>({showEdgeLabel:!P.showEdgeLabel})),[]),C=k.useCallback(()=>We.setState(P=>({showPropertyPanel:!P.showPropertyPanel})),[]),N=k.useCallback(()=>We.setState(P=>({showNodeSearchBar:!P.showNodeSearchBar})),[]),_=k.useCallback(()=>We.setState(P=>({showNodeLabel:!P.showNodeLabel})),[]),O=k.useCallback(()=>We.setState(P=>({enableHealthCheck:!P.enableHealthCheck})),[]),z=k.useCallback(P=>{P<1||We.setState({graphQueryMaxDepth:P})},[]),I=k.useCallback(P=>{P<0||We.setState({graphMinDegree:P})},[]),M=k.useCallback(P=>{P<1||We.setState({graphLayoutMaxIterations:P})},[]),H=k.useCallback(async()=>{We.setState({apiKey:n||null}),await Pn.getState().check(),t(!1)},[n]),q=k.useCallback(P=>{r(P.target.value)},[r]);return w.jsxs(kf,{open:e,onOpenChange:t,children:[w.jsx(Af,{asChild:!0,children:w.jsx(Lt,{variant:Yr,tooltip:"Settings",size:"icon",children:w.jsx(l8,{})})}),w.jsx(yu,{side:"right",align:"start",className:"mb-2 p-2",onCloseAutoFocus:P=>P.preventDefault(),children:w.jsxs("div",{className:"flex flex-col gap-2",children:[w.jsx(so,{checked:S,onCheckedChange:O,label:"Health Check"}),w.jsx(il,{}),w.jsx(so,{checked:a,onCheckedChange:C,label:"Show Property Panel"}),w.jsx(so,{checked:i,onCheckedChange:N,label:"Show Search Bar"}),w.jsx(il,{}),w.jsx(so,{checked:l,onCheckedChange:_,label:"Show Node Label"}),w.jsx(so,{checked:c,onCheckedChange:A,label:"Node Draggable"}),w.jsx(il,{}),w.jsx(so,{checked:p,onCheckedChange:T,label:"Show Edge Label"}),w.jsx(so,{checked:f,onCheckedChange:x,label:"Hide Unselected Edges"}),w.jsx(so,{checked:u,onCheckedChange:R,label:"Edge Events"}),w.jsx(il,{}),w.jsx(lm,{label:"Max Query Depth",min:1,value:g,onEditFinished:z}),w.jsx(lm,{label:"Minimum Degree",min:0,value:b,onEditFinished:I}),w.jsx(lm,{label:"Max Layout Iterations",min:1,max:20,value:m,onEditFinished:M}),w.jsx(il,{}),w.jsxs("div",{className:"flex flex-col gap-2",children:[w.jsx("label",{className:"text-sm font-medium",children:"API Key"}),w.jsxs("form",{className:"flex h-6 gap-2",onSubmit:P=>P.preventDefault(),children:[w.jsx("div",{className:"w-0 flex-1",children:w.jsx(Eo,{type:"password",value:n,onChange:q,placeholder:"Enter your API key",className:"max-h-full w-full min-w-0",autoComplete:"off"})}),w.jsx(Lt,{onClick:H,variant:"outline",size:"sm",className:"max-h-full shrink-0",children:"Save"})]})]})]})})]})}const fee="ENTRIES",K3="KEYS",X3="VALUES",fn="";class sm{constructor(t,n){const r=t._tree,a=Array.from(r.keys());this.set=t,this._type=n,this._path=a.length>0?[{node:r,keys:a}]:[]}next(){const t=this.dive();return this.backtrack(),t}dive(){if(this._path.length===0)return{done:!0,value:void 0};const{node:t,keys:n}=el(this._path);if(el(n)===fn)return{done:!1,value:this.result()};const r=t.get(el(n));return this._path.push({node:r,keys:Array.from(r.keys())}),this.dive()}backtrack(){if(this._path.length===0)return;const t=el(this._path).keys;t.pop(),!(t.length>0)&&(this._path.pop(),this.backtrack())}key(){return this.set._prefix+this._path.map(({keys:t})=>el(t)).filter(t=>t!==fn).join("")}value(){return el(this._path).node.get(fn)}result(){switch(this._type){case X3:return this.value();case K3:return this.key();default:return[this.key(),this.value()]}}[Symbol.iterator](){return this}}const el=e=>e[e.length-1],pee=(e,t,n)=>{const r=new Map;if(t===void 0)return r;const a=t.length+1,i=a+n,l=new Uint8Array(i*a).fill(n+1);for(let u=0;u{const c=i*l;e:for(const f of e.keys())if(f===fn){const p=a[c-1];p<=n&&r.set(u,[e.get(f),p])}else{let p=i;for(let g=0;gn)continue e}Z3(e.get(f),t,n,r,a,p,l,u+f)}};class po{constructor(t=new Map,n=""){this._size=void 0,this._tree=t,this._prefix=n}atPrefix(t){if(!t.startsWith(this._prefix))throw new Error("Mismatched prefix");const[n,r]=Gd(this._tree,t.slice(this._prefix.length));if(n===void 0){const[a,i]=O0(r);for(const l of a.keys())if(l!==fn&&l.startsWith(i)){const u=new Map;return u.set(l.slice(i.length),a.get(l)),new po(u,t)}}return new po(n,t)}clear(){this._size=void 0,this._tree.clear()}delete(t){return this._size=void 0,gee(this._tree,t)}entries(){return new sm(this,fee)}forEach(t){for(const[n,r]of this)t(n,r,this)}fuzzyGet(t,n){return pee(this._tree,t,n)}get(t){const n=qx(this._tree,t);return n!==void 0?n.get(fn):void 0}has(t){const n=qx(this._tree,t);return n!==void 0&&n.has(fn)}keys(){return new sm(this,K3)}set(t,n){if(typeof t!="string")throw new Error("key must be a string");return this._size=void 0,um(this._tree,t).set(fn,n),this}get size(){if(this._size)return this._size;this._size=0;const t=this.entries();for(;!t.next().done;)this._size+=1;return this._size}update(t,n){if(typeof t!="string")throw new Error("key must be a string");this._size=void 0;const r=um(this._tree,t);return r.set(fn,n(r.get(fn))),this}fetch(t,n){if(typeof t!="string")throw new Error("key must be a string");this._size=void 0;const r=um(this._tree,t);let a=r.get(fn);return a===void 0&&r.set(fn,a=n()),a}values(){return new sm(this,X3)}[Symbol.iterator](){return this.entries()}static from(t){const n=new po;for(const[r,a]of t)n.set(r,a);return n}static fromObject(t){return po.from(Object.entries(t))}}const Gd=(e,t,n=[])=>{if(t.length===0||e==null)return[e,n];for(const r of e.keys())if(r!==fn&&t.startsWith(r))return n.push([e,r]),Gd(e.get(r),t.slice(r.length),n);return n.push([e,t]),Gd(void 0,"",n)},qx=(e,t)=>{if(t.length===0||e==null)return e;for(const n of e.keys())if(n!==fn&&t.startsWith(n))return qx(e.get(n),t.slice(n.length))},um=(e,t)=>{const n=t.length;e:for(let r=0;e&&r{const[n,r]=Gd(e,t);if(n!==void 0){if(n.delete(fn),n.size===0)Q3(r);else if(n.size===1){const[a,i]=n.entries().next().value;J3(r,a,i)}}},Q3=e=>{if(e.length===0)return;const[t,n]=O0(e);if(t.delete(n),t.size===0)Q3(e.slice(0,-1));else if(t.size===1){const[r,a]=t.entries().next().value;r!==fn&&J3(e.slice(0,-1),r,a)}},J3=(e,t,n)=>{if(e.length===0)return;const[r,a]=O0(e);r.set(a+t,n),r.delete(a)},O0=e=>e[e.length-1],D0="or",e4="and",hee="and_not";class mo{constructor(t){if((t==null?void 0:t.fields)==null)throw new Error('MiniSearch: option "fields" must be provided');const n=t.autoVacuum==null||t.autoVacuum===!0?fm:t.autoVacuum;this._options={...dm,...t,autoVacuum:n,searchOptions:{...mN,...t.searchOptions||{}},autoSuggestOptions:{...See,...t.autoSuggestOptions||{}}},this._index=new po,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=Wx,this.addFields(this._options.fields)}add(t){const{extractField:n,tokenize:r,processTerm:a,fields:i,idField:l}=this._options,u=n(t,l);if(u==null)throw new Error(`MiniSearch: document does not have ID field "${l}"`);if(this._idToShortId.has(u))throw new Error(`MiniSearch: duplicate ID ${u}`);const c=this.addDocumentId(u);this.saveStoredFields(c,t);for(const f of i){const p=n(t,f);if(p==null)continue;const g=r(p.toString(),f),b=this._fieldIds[f],m=new Set(g).size;this.addFieldLength(c,b,this._documentCount-1,m);for(const S of g){const v=a(S,f);if(Array.isArray(v))for(const A of v)this.addTerm(b,c,A);else v&&this.addTerm(b,c,v)}}}addAll(t){for(const n of t)this.add(n)}addAllAsync(t,n={}){const{chunkSize:r=10}=n,a={chunk:[],promise:Promise.resolve()},{chunk:i,promise:l}=t.reduce(({chunk:u,promise:c},f,p)=>(u.push(f),(p+1)%r===0?{chunk:[],promise:c.then(()=>new Promise(g=>setTimeout(g,0))).then(()=>this.addAll(u))}:{chunk:u,promise:c}),a);return l.then(()=>this.addAll(i))}remove(t){const{tokenize:n,processTerm:r,extractField:a,fields:i,idField:l}=this._options,u=a(t,l);if(u==null)throw new Error(`MiniSearch: document does not have ID field "${l}"`);const c=this._idToShortId.get(u);if(c==null)throw new Error(`MiniSearch: cannot remove document with ID ${u}: it is not in the index`);for(const f of i){const p=a(t,f);if(p==null)continue;const g=n(p.toString(),f),b=this._fieldIds[f],m=new Set(g).size;this.removeFieldLength(c,b,this._documentCount,m);for(const S of g){const v=r(S,f);if(Array.isArray(v))for(const A of v)this.removeTerm(b,c,A);else v&&this.removeTerm(b,c,v)}}this._storedFields.delete(c),this._documentIds.delete(c),this._idToShortId.delete(u),this._fieldLength.delete(c),this._documentCount-=1}removeAll(t){if(t)for(const n of t)this.remove(n);else{if(arguments.length>0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new po,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}}discard(t){const n=this._idToShortId.get(t);if(n==null)throw new Error(`MiniSearch: cannot discard document with ID ${t}: it is not in the index`);this._idToShortId.delete(t),this._documentIds.delete(n),this._storedFields.delete(n),(this._fieldLength.get(n)||[]).forEach((r,a)=>{this.removeFieldLength(n,a,this._documentCount,r)}),this._fieldLength.delete(n),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()}maybeAutoVacuum(){if(this._options.autoVacuum===!1)return;const{minDirtFactor:t,minDirtCount:n,batchSize:r,batchWait:a}=this._options.autoVacuum;this.conditionalVacuum({batchSize:r,batchWait:a},{minDirtCount:n,minDirtFactor:t})}discardAll(t){const n=this._options.autoVacuum;try{this._options.autoVacuum=!1;for(const r of t)this.discard(r)}finally{this._options.autoVacuum=n}this.maybeAutoVacuum()}replace(t){const{idField:n,extractField:r}=this._options,a=r(t,n);this.discard(a),this.add(t)}vacuum(t={}){return this.conditionalVacuum(t)}conditionalVacuum(t,n){return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&n,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(()=>{const r=this._enqueuedVacuumConditions;return this._enqueuedVacuumConditions=Wx,this.performVacuuming(t,r)}),this._enqueuedVacuum)):this.vacuumConditionsMet(n)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(t),this._currentVacuum)}async performVacuuming(t,n){const r=this._dirtCount;if(this.vacuumConditionsMet(n)){const a=t.batchSize||Vx.batchSize,i=t.batchWait||Vx.batchWait;let l=1;for(const[u,c]of this._index){for(const[f,p]of c)for(const[g]of p)this._documentIds.has(g)||(p.size<=1?c.delete(f):p.delete(g));this._index.get(u).size===0&&this._index.delete(u),l%a===0&&await new Promise(f=>setTimeout(f,i)),l+=1}this._dirtCount-=r}await null,this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null}vacuumConditionsMet(t){if(t==null)return!0;let{minDirtCount:n,minDirtFactor:r}=t;return n=n||fm.minDirtCount,r=r||fm.minDirtFactor,this.dirtCount>=n&&this.dirtFactor>=r}get isVacuuming(){return this._currentVacuum!=null}get dirtCount(){return this._dirtCount}get dirtFactor(){return this._dirtCount/(1+this._documentCount+this._dirtCount)}has(t){return this._idToShortId.has(t)}getStoredFields(t){const n=this._idToShortId.get(t);if(n!=null)return this._storedFields.get(n)}search(t,n={}){const{searchOptions:r}=this._options,a={...r,...n},i=this.executeQuery(t,n),l=[];for(const[u,{score:c,terms:f,match:p}]of i){const g=f.length||1,b={id:this._documentIds.get(u),score:c*g,terms:Object.keys(p),queryTerms:f,match:p};Object.assign(b,this._storedFields.get(u)),(a.filter==null||a.filter(b))&&l.push(b)}return t===mo.wildcard&&a.boostDocument==null||l.sort(yN),l}autoSuggest(t,n={}){n={...this._options.autoSuggestOptions,...n};const r=new Map;for(const{score:i,terms:l}of this.search(t,n)){const u=l.join(" "),c=r.get(u);c!=null?(c.score+=i,c.count+=1):r.set(u,{score:i,terms:l,count:1})}const a=[];for(const[i,{score:l,terms:u,count:c}]of r)a.push({suggestion:i,terms:u,score:l/c});return a.sort(yN),a}get documentCount(){return this._documentCount}get termCount(){return this._index.size}static loadJSON(t,n){if(n==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(t),n)}static async loadJSONAsync(t,n){if(n==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJSAsync(JSON.parse(t),n)}static getDefault(t){if(dm.hasOwnProperty(t))return cm(dm,t);throw new Error(`MiniSearch: unknown option "${t}"`)}static loadJS(t,n){const{index:r,documentIds:a,fieldLength:i,storedFields:l,serializationVersion:u}=t,c=this.instantiateMiniSearch(t,n);c._documentIds=td(a),c._fieldLength=td(i),c._storedFields=td(l);for(const[f,p]of c._documentIds)c._idToShortId.set(p,f);for(const[f,p]of r){const g=new Map;for(const b of Object.keys(p)){let m=p[b];u===1&&(m=m.ds),g.set(parseInt(b,10),td(m))}c._index.set(f,g)}return c}static async loadJSAsync(t,n){const{index:r,documentIds:a,fieldLength:i,storedFields:l,serializationVersion:u}=t,c=this.instantiateMiniSearch(t,n);c._documentIds=await nd(a),c._fieldLength=await nd(i),c._storedFields=await nd(l);for(const[p,g]of c._documentIds)c._idToShortId.set(g,p);let f=0;for(const[p,g]of r){const b=new Map;for(const m of Object.keys(g)){let S=g[m];u===1&&(S=S.ds),b.set(parseInt(m,10),await nd(S))}++f%1e3===0&&await t4(0),c._index.set(p,b)}return c}static instantiateMiniSearch(t,n){const{documentCount:r,nextId:a,fieldIds:i,averageFieldLength:l,dirtCount:u,serializationVersion:c}=t;if(c!==1&&c!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");const f=new mo(n);return f._documentCount=r,f._nextId=a,f._idToShortId=new Map,f._fieldIds=i,f._avgFieldLength=l,f._dirtCount=u||0,f._index=new po,f}executeQuery(t,n={}){if(t===mo.wildcard)return this.executeWildcardQuery(n);if(typeof t!="string"){const b={...n,...t,queries:void 0},m=t.queries.map(S=>this.executeQuery(S,b));return this.combineResults(m,b.combineWith)}const{tokenize:r,processTerm:a,searchOptions:i}=this._options,l={tokenize:r,processTerm:a,...i,...n},{tokenize:u,processTerm:c}=l,g=u(t).flatMap(b=>c(b)).filter(b=>!!b).map(vee(l)).map(b=>this.executeQuerySpec(b,l));return this.combineResults(g,l.combineWith)}executeQuerySpec(t,n){const r={...this._options.searchOptions,...n},a=(r.fields||this._options.fields).reduce((v,A)=>({...v,[A]:cm(r.boost,A)||1}),{}),{boostDocument:i,weights:l,maxFuzzy:u,bm25:c}=r,{fuzzy:f,prefix:p}={...mN.weights,...l},g=this._index.get(t.term),b=this.termResults(t.term,t.term,1,t.termBoost,g,a,i,c);let m,S;if(t.prefix&&(m=this._index.atPrefix(t.term)),t.fuzzy){const v=t.fuzzy===!0?.2:t.fuzzy,A=v<1?Math.min(u,Math.round(t.term.length*v)):v;A&&(S=this._index.fuzzyGet(t.term,A))}if(m)for(const[v,A]of m){const R=v.length-t.term.length;if(!R)continue;S==null||S.delete(v);const x=p*v.length/(v.length+.3*R);this.termResults(t.term,v,x,t.termBoost,A,a,i,c,b)}if(S)for(const v of S.keys()){const[A,R]=S.get(v);if(!R)continue;const x=f*v.length/(v.length+R);this.termResults(t.term,v,x,t.termBoost,A,a,i,c,b)}return b}executeWildcardQuery(t){const n=new Map,r={...this._options.searchOptions,...t};for(const[a,i]of this._documentIds){const l=r.boostDocument?r.boostDocument(i,"",this._storedFields.get(a)):1;n.set(a,{score:l,terms:[],match:{}})}return n}combineResults(t,n=D0){if(t.length===0)return new Map;const r=n.toLowerCase(),a=mee[r];if(!a)throw new Error(`Invalid combination operator: ${n}`);return t.reduce(a)||new Map}toJSON(){const t=[];for(const[n,r]of this._index){const a={};for(const[i,l]of r)a[i]=Object.fromEntries(l);t.push([n,a])}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:t,serializationVersion:2}}termResults(t,n,r,a,i,l,u,c,f=new Map){if(i==null)return f;for(const p of Object.keys(l)){const g=l[p],b=this._fieldIds[p],m=i.get(b);if(m==null)continue;let S=m.size;const v=this._avgFieldLength[b];for(const A of m.keys()){if(!this._documentIds.has(A)){this.removeTerm(b,A,n),S-=1;continue}const R=u?u(this._documentIds.get(A),n,this._storedFields.get(A)):1;if(!R)continue;const x=m.get(A),T=this._fieldLength.get(A)[b],C=yee(x,S,this._documentCount,T,v,c),N=r*a*g*R*C,_=f.get(A);if(_){_.score+=N,Eee(_.terms,t);const O=cm(_.match,n);O?O.push(p):_.match[n]=[p]}else f.set(A,{score:N,terms:[t],match:{[n]:[p]}})}}return f}addTerm(t,n,r){const a=this._index.fetch(r,vN);let i=a.get(t);if(i==null)i=new Map,i.set(n,1),a.set(t,i);else{const l=i.get(n);i.set(n,(l||0)+1)}}removeTerm(t,n,r){if(!this._index.has(r)){this.warnDocumentChanged(n,t,r);return}const a=this._index.fetch(r,vN),i=a.get(t);i==null||i.get(n)==null?this.warnDocumentChanged(n,t,r):i.get(n)<=1?i.size<=1?a.delete(t):i.delete(n):i.set(n,i.get(n)-1),this._index.get(r).size===0&&this._index.delete(r)}warnDocumentChanged(t,n,r){for(const a of Object.keys(this._fieldIds))if(this._fieldIds[a]===n){this._options.logger("warn",`MiniSearch: document with ID ${this._documentIds.get(t)} has changed before removal: term "${r}" was not present in field "${a}". Removing a document after it has changed can corrupt the index!`,"version_conflict");return}}addDocumentId(t){const n=this._nextId;return this._idToShortId.set(t,n),this._documentIds.set(n,t),this._documentCount+=1,this._nextId+=1,n}addFields(t){for(let n=0;nObject.prototype.hasOwnProperty.call(e,t)?e[t]:void 0,mee={[D0]:(e,t)=>{for(const n of t.keys()){const r=e.get(n);if(r==null)e.set(n,t.get(n));else{const{score:a,terms:i,match:l}=t.get(n);r.score=r.score+a,r.match=Object.assign(r.match,l),bN(r.terms,i)}}return e},[e4]:(e,t)=>{const n=new Map;for(const r of t.keys()){const a=e.get(r);if(a==null)continue;const{score:i,terms:l,match:u}=t.get(r);bN(a.terms,l),n.set(r,{score:a.score+i,terms:a.terms,match:Object.assign(a.match,u)})}return n},[hee]:(e,t)=>{for(const n of t.keys())e.delete(n);return e}},bee={k:1.2,b:.7,d:.5},yee=(e,t,n,r,a,i)=>{const{k:l,b:u,d:c}=i;return Math.log(1+(n-t+.5)/(t+.5))*(c+e*(l+1)/(e+l*(1-u+u*r/a)))},vee=e=>(t,n,r)=>{const a=typeof e.fuzzy=="function"?e.fuzzy(t,n,r):e.fuzzy||!1,i=typeof e.prefix=="function"?e.prefix(t,n,r):e.prefix===!0,l=typeof e.boostTerm=="function"?e.boostTerm(t,n,r):1;return{term:t,fuzzy:a,prefix:i,termBoost:l}},dm={idField:"id",extractField:(e,t)=>e[t],tokenize:e=>e.split(wee),processTerm:e=>e.toLowerCase(),fields:void 0,searchOptions:void 0,storeFields:[],logger:(e,t)=>{typeof(console==null?void 0:console[e])=="function"&&console[e](t)},autoVacuum:!0},mN={combineWith:D0,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:bee},See={combineWith:e4,prefix:(e,t,n)=>t===n.length-1},Vx={batchSize:1e3,batchWait:10},Wx={minDirtFactor:.1,minDirtCount:20},fm={...Vx,...Wx},Eee=(e,t)=>{e.includes(t)||e.push(t)},bN=(e,t)=>{for(const n of t)e.includes(n)||e.push(n)},yN=({score:e},{score:t})=>t-e,vN=()=>new Map,td=e=>{const t=new Map;for(const n of Object.keys(e))t.set(parseInt(n,10),e[n]);return t},nd=async e=>{const t=new Map;let n=0;for(const r of Object.keys(e))t.set(parseInt(r,10),e[r]),++n%1e3===0&&await t4(0);return t},t4=e=>new Promise(t=>setTimeout(t,e)),wee=/[\n\r\p{Z}\p{P}]+/u;function Yx(){return Yx=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);nye.createElement("div",{className:"node"},ye.createElement("span",{className:"render "+(n?"circle":"disc"),style:{backgroundColor:t||"#000"}}),ye.createElement("span",{className:`label ${n?"text-muted":""} ${e?"":"text-italic"}`},e||r.no_label||"No label")),Dee=({id:e,labels:t})=>{const n=br(),r=k.useMemo(()=>{const a=n.getGraph().getNodeAttributes(e),i=n.getSetting("nodeReducer");return Object.assign(Object.assign({color:n.getSetting("defaultNodeColor")},a),i?i(e,a):{})},[n,e]);return ye.createElement(Zx,Object.assign({},r,{labels:t}))},Iee=({label:e,color:t,source:n,target:r,hidden:a,directed:i,labels:l={}})=>ye.createElement("div",{className:"edge"},ye.createElement(Zx,Object.assign({},n,{labels:l})),ye.createElement("div",{className:"body"},ye.createElement("div",{className:"render"},ye.createElement("span",{className:a?"dotted":"dash",style:{borderColor:t||"#000"}})," ",i&&ye.createElement("span",{className:"arrow",style:{borderTopColor:t||"#000"}})),ye.createElement("span",{className:`label ${a?"text-muted":""} ${e?"":"fst-italic"}`},e||l.no_label||"No label")),ye.createElement(Zx,Object.assign({},r,{labels:l}))),Lee=({id:e,labels:t})=>{const n=br(),r=k.useMemo(()=>{const a=n.getGraph().getEdgeAttributes(e),i=n.getSetting("nodeReducer"),l=n.getSetting("edgeReducer"),u=n.getGraph().getNodeAttributes(n.getGraph().source(e)),c=n.getGraph().getNodeAttributes(n.getGraph().target(e));return Object.assign(Object.assign(Object.assign({color:n.getSetting("defaultEdgeColor"),directed:n.getGraph().isDirected(e)},a),l?l(e,a):{}),{source:Object.assign(Object.assign({color:n.getSetting("defaultNodeColor")},u),i?i(e,u):{}),target:Object.assign(Object.assign({color:n.getSetting("defaultNodeColor")},c),i?i(e,c):{})})},[n,e]);return ye.createElement(Iee,Object.assign({},r,{labels:t}))};function I0(e,t){const[n,r]=k.useState(e);return k.useEffect(()=>{const a=setTimeout(()=>{r(e)},t);return()=>{clearTimeout(a)}},[e,t]),n}function Mee({fetcher:e,preload:t,filterFn:n,renderOption:r,getOptionValue:a,notFound:i,loadingSkeleton:l,label:u,placeholder:c="Select...",value:f,onChange:p,onFocus:g,disabled:b=!1,className:m,noResultsMessage:S}){const[v,A]=k.useState(!1),[R,x]=k.useState(!1),[T,C]=k.useState([]),[N,_]=k.useState(!1),[O,z]=k.useState(null),[I,M]=k.useState(f),[H,q]=k.useState(null),[P,W]=k.useState(""),Z=I0(P,t?0:150),[j,G]=k.useState([]);k.useEffect(()=>{A(!0),M(f)},[f]),k.useEffect(()=>{v||(async()=>{try{_(!0),z(null);const V=f!==null?await e(f):[];G(V),C(V)}catch(V){z(V instanceof Error?V.message:"Failed to fetch options")}finally{_(!1)}})()},[v,e,f]),k.useEffect(()=>{const D=async()=>{try{_(!0),z(null);const V=await e(Z);G(V),C(V)}catch(V){z(V instanceof Error?V.message:"Failed to fetch options")}finally{_(!1)}};v&&t?t&&C(Z?j.filter(V=>n?n(V,Z):!0):j):D()},[e,Z,v,t,n]);const B=k.useCallback(D=>{D!==I&&(M(D),p(D)),x(!1)},[I,M,x,p]),X=k.useCallback(D=>{D!==H&&(q(D),g(D))},[H,q,g]);return w.jsx("div",{className:Me(b&&"cursor-not-allowed opacity-50",m),onFocus:()=>{x(!0)},onBlur:()=>x(!1),children:w.jsxs(Of,{shouldFilter:!1,className:"bg-transparent",children:[w.jsxs("div",{children:[w.jsx(R0,{placeholder:c,value:P,className:"max-h-8",onValueChange:D=>{W(D),D&&!R&&x(!0)}}),N&&T.length>0&&w.jsx("div",{className:"absolute top-1/2 right-2 flex -translate-y-1/2 transform items-center",children:w.jsx(cP,{className:"h-4 w-4 animate-spin"})})]}),w.jsxs(Df,{hidden:!R||Z.length===0,children:[O&&w.jsx("div",{className:"text-destructive p-4 text-center",children:O}),N&&T.length===0&&(l||w.jsx(Fee,{})),!N&&!O&&T.length===0&&(i||w.jsx(C0,{children:S??`No ${u.toLowerCase()} found.`})),w.jsx(Ml,{children:T.map((D,V)=>w.jsxs(w.Fragment,{children:[w.jsx(Fl,{value:a(D),onSelect:B,onMouseEnter:()=>X(a(D)),className:"truncate",children:r(D)},a(D)+`${V}`),V!==T.length-1&&w.jsx("div",{className:"bg-foreground/10 h-[1px]"},V)]}))})]})]})})}function Fee(){return w.jsx(Ml,{children:w.jsx(Fl,{disabled:!0,children:w.jsxs("div",{className:"flex w-full items-center gap-2",children:[w.jsx("div",{className:"bg-muted h-6 w-6 animate-pulse rounded-full"}),w.jsxs("div",{className:"flex flex-1 flex-col gap-1",children:[w.jsx("div",{className:"bg-muted h-4 w-24 animate-pulse rounded"}),w.jsx("div",{className:"bg-muted h-3 w-16 animate-pulse rounded"})]})]})})})}function zee(e){return w.jsxs("div",{children:[e.type==="nodes"&&w.jsx(Dee,{id:e.id}),e.type==="edges"&&w.jsx(Lee,{id:e.id}),e.type==="message"&&w.jsx("div",{children:e.message})]})}const pm="__message_item",rd={graph:null,searchEngine:null},Pee=({onChange:e,onFocus:t,value:n})=>{const r=Et.use.sigmaGraph(),a=k.useMemo(()=>{if(rd.graph==r)return rd.searchEngine;if(!r||r.nodes().length==0)return;rd.graph=r;const l=new mo({idField:"id",fields:["label"],searchOptions:{prefix:!0,fuzzy:.2,boost:{label:2}}}),u=r.nodes().map(c=>({id:c,label:r.getNodeAttribute(c,"label")}));return l.addAll(u),rd.searchEngine=l,l},[r]),i=k.useCallback(async l=>{if(t&&t(null),!l||!a)return[];const u=a.search(l).map(c=>({id:c.id,type:"nodes"}));return u.length<=lh?u:[...u.slice(0,lh),{type:"message",id:pm,message:`And ${u.length-lh} others`}]},[a,t]);return w.jsx(Mee,{className:"bg-background/60 w-24 rounded-xl border-1 opacity-60 backdrop-blur-lg transition-all hover:w-fit hover:opacity-100",fetcher:i,renderOption:zee,getOptionValue:l=>l.id,value:n&&n.type!=="message"?n.id:null,onChange:l=>{l!==pm&&e(l?{id:l,type:"nodes"}:null)},onFocus:l=>{l!==pm&&t&&t(l?{id:l,type:"nodes"}:null)},label:"item",placeholder:"Search nodes..."})},Bee=({...e})=>w.jsx(Pee,{...e});function Uee({fetcher:e,preload:t,filterFn:n,renderOption:r,getOptionValue:a,getDisplayValue:i,notFound:l,loadingSkeleton:u,label:c,placeholder:f="Select...",value:p,onChange:g,disabled:b=!1,className:m,triggerClassName:S,searchInputClassName:v,noResultsMessage:A,triggerTooltip:R,clearable:x=!0}){const[T,C]=k.useState(!1),[N,_]=k.useState(!1),[O,z]=k.useState([]),[I,M]=k.useState(!1),[H,q]=k.useState(null),[P,W]=k.useState(p),[Z,j]=k.useState(null),[G,B]=k.useState(""),X=I0(G,t?0:150),[D,V]=k.useState([]);k.useEffect(()=>{C(!0),W(p)},[p]),k.useEffect(()=>{if(p&&O.length>0){const L=O.find(Y=>a(Y)===p);L&&j(L)}},[p,O,a]),k.useEffect(()=>{T||(async()=>{try{M(!0),q(null);const Y=await e(p);V(Y),z(Y)}catch(Y){q(Y instanceof Error?Y.message:"Failed to fetch options")}finally{M(!1)}})()},[T,e,p]),k.useEffect(()=>{const L=async()=>{try{M(!0),q(null);const Y=await e(X);V(Y),z(Y)}catch(Y){q(Y instanceof Error?Y.message:"Failed to fetch options")}finally{M(!1)}};T&&t?t&&z(X?D.filter(Y=>n?n(Y,X):!0):D):L()},[e,X,T,t,n]);const U=k.useCallback(L=>{const Y=x&&L===P?"":L;W(Y),j(O.find(Q=>a(Q)===Y)||null),g(Y),_(!1)},[P,g,x,O,a]);return w.jsxs(kf,{open:N,onOpenChange:_,children:[w.jsx(Af,{asChild:!0,children:w.jsxs(Lt,{variant:"outline",role:"combobox","aria-expanded":N,className:Me("justify-between",b&&"cursor-not-allowed opacity-50",S),disabled:b,tooltip:R,side:"bottom",children:[Z?i(Z):f,w.jsx(Aq,{className:"opacity-50",size:10})]})}),w.jsx(yu,{className:Me("p-0",m),onCloseAutoFocus:L=>L.preventDefault(),children:w.jsxs(Of,{shouldFilter:!1,children:[w.jsxs("div",{className:"relative w-full border-b",children:[w.jsx(R0,{placeholder:`Search ${c.toLowerCase()}...`,value:G,onValueChange:L=>{B(L)},className:v}),I&&O.length>0&&w.jsx("div",{className:"absolute top-1/2 right-2 flex -translate-y-1/2 transform items-center",children:w.jsx(cP,{className:"h-4 w-4 animate-spin"})})]}),w.jsxs(Df,{children:[H&&w.jsx("div",{className:"text-destructive p-4 text-center",children:H}),I&&O.length===0&&(u||w.jsx(jee,{})),!I&&!H&&O.length===0&&(l||w.jsx(C0,{children:A??`No ${c.toLowerCase()} found.`})),w.jsx(Ml,{children:O.map(L=>w.jsxs(Fl,{value:a(L),onSelect:U,className:"truncate",children:[r(L),w.jsx(Nk,{className:Me("ml-auto h-3 w-3",P===a(L)?"opacity-100":"opacity-0")})]},a(L)))})]})]})})]})}function jee(){return w.jsx(Ml,{children:w.jsx(Fl,{disabled:!0,children:w.jsxs("div",{className:"flex w-full items-center gap-2",children:[w.jsx("div",{className:"bg-muted h-6 w-6 animate-pulse rounded-full"}),w.jsxs("div",{className:"flex flex-1 flex-col gap-1",children:[w.jsx("div",{className:"bg-muted h-4 w-24 animate-pulse rounded"}),w.jsx("div",{className:"bg-muted h-3 w-16 animate-pulse rounded"})]})]})})})}const tl={graph:null,searchEngine:null,labels:[]},Gee=()=>{const e=We.use.queryLabel(),t=Et.use.sigmaGraph(),n=k.useCallback(async()=>{if(tl.graph==t)return{labels:tl.labels,searchEngine:tl.searchEngine};const i=["*"].concat(await uq());i.includes(We.getState().queryLabel)||We.getState().setQueryLabel(i[0]);const l=new mo({idField:"id",fields:["value"],searchOptions:{prefix:!0,fuzzy:.2,boost:{label:2}}}),u=i.map((c,f)=>({id:f,value:c}));return l.addAll(u),tl.graph=t,tl.searchEngine=l,tl.labels=i,{labels:i,searchEngine:l}},[t]),r=k.useCallback(async i=>{const{labels:l,searchEngine:u}=await n();let c=l;return i&&(c=u.search(i).map(f=>l[f.id])),c.length<=sh?c:[...c.slice(0,sh),`And ${c.length-sh} others`]},[n]),a=k.useCallback(i=>{i.startsWith("And ")&&i.endsWith(" others")||We.getState().setQueryLabel(i)},[]);return w.jsx(Uee,{className:"ml-2",triggerClassName:"max-h-8",searchInputClassName:"max-h-8",triggerTooltip:"Select query label",fetcher:r,renderOption:i=>w.jsx("div",{children:i}),getOptionValue:i=>i,getDisplayValue:i=>w.jsx("div",{children:i}),notFound:w.jsx("div",{className:"py-6 text-center text-sm",children:"No labels found"}),label:"Label",placeholder:"Search labels...",value:e!==null?e:"",onChange:a})},Mn=({text:e,className:t,tooltipClassName:n,tooltip:r,side:a,onClick:i})=>r?w.jsx(FB,{delayDuration:200,children:w.jsxs(zB,{children:[w.jsx(PB,{asChild:!0,children:w.jsx("label",{className:Me(t,i!==void 0?"cursor-pointer":void 0),onClick:i,children:e})}),w.jsx(a0,{side:a,className:n,children:r})]})}):w.jsx("label",{className:Me(t,i!==void 0?"cursor-pointer":void 0),onClick:i,children:e}),Hee=()=>{const{getNode:e,getEdge:t}=U3(),n=Et.use.selectedNode(),r=Et.use.focusedNode(),a=Et.use.selectedEdge(),i=Et.use.focusedEdge(),[l,u]=k.useState(null),[c,f]=k.useState(null);return k.useEffect(()=>{let p=null,g=null;r?(p="node",g=e(r)):n?(p="node",g=e(n)):i?(p="edge",g=t(i,!0)):a&&(p="edge",g=t(a,!0)),g?(p=="node"?u($ee(g)):u(qee(g)),f(p)):(u(null),f(null))},[r,n,i,a,u,f,e,t]),l?w.jsx("div",{className:"bg-background/80 max-w-xs rounded-lg border-2 p-2 text-xs backdrop-blur-lg",children:c=="node"?w.jsx(Vee,{node:l}):w.jsx(Wee,{edge:l})}):w.jsx(w.Fragment,{})},$ee=e=>{const t=Et.getState(),n=[];if(t.sigmaGraph&&t.rawGraph)for(const r of t.sigmaGraph.edges(e.id)){const a=t.rawGraph.getEdge(r,!0);if(a){const l=e.id===a.source?a.target:a.source,u=t.rawGraph.getNode(l);u&&n.push({type:"Neighbour",id:l,label:u.properties.entity_id?u.properties.entity_id:u.labels.join(", ")})}}return{...e,relationships:n}},qee=e=>{var a,i;const t=Et.getState(),n=(a=t.rawGraph)==null?void 0:a.getNode(e.source),r=(i=t.rawGraph)==null?void 0:i.getNode(e.target);return{...e,sourceNode:n,targetNode:r}},Wr=({name:e,value:t,onClick:n,tooltip:r})=>w.jsxs("div",{className:"flex items-center gap-2",children:[w.jsx("label",{className:"text-primary/60 tracking-wide",children:e}),":",w.jsx(Mn,{className:"hover:bg-primary/20 rounded p-1 text-ellipsis",tooltipClassName:"max-w-80",text:t,tooltip:r||t,side:"left",onClick:n})]}),Vee=({node:e})=>w.jsxs("div",{className:"flex flex-col gap-2",children:[w.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-sky-300",children:"Node"}),w.jsxs("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:[w.jsx(Wr,{name:"Id",value:e.id}),w.jsx(Wr,{name:"Labels",value:e.labels.join(", "),onClick:()=>{Et.getState().setSelectedNode(e.id,!0)}}),w.jsx(Wr,{name:"Degree",value:e.degree})]}),w.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-yellow-400/90",children:"Properties"}),w.jsx("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:Object.keys(e.properties).sort().map(t=>w.jsx(Wr,{name:t,value:e.properties[t]},t))}),e.relationships.length>0&&w.jsxs(w.Fragment,{children:[w.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-teal-600/90",children:"Relationships"}),w.jsx("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:e.relationships.map(({type:t,id:n,label:r})=>w.jsx(Wr,{name:t,value:r,onClick:()=>{Et.getState().setSelectedNode(n,!0)}},n))})]})]}),Wee=({edge:e})=>w.jsxs("div",{className:"flex flex-col gap-2",children:[w.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-teal-600",children:"Relationship"}),w.jsxs("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:[w.jsx(Wr,{name:"Id",value:e.id}),e.type&&w.jsx(Wr,{name:"Type",value:e.type}),w.jsx(Wr,{name:"Source",value:e.sourceNode?e.sourceNode.labels.join(", "):e.source,onClick:()=>{Et.getState().setSelectedNode(e.source,!0)}}),w.jsx(Wr,{name:"Target",value:e.targetNode?e.targetNode.labels.join(", "):e.target,onClick:()=>{Et.getState().setSelectedNode(e.target,!0)}})]}),w.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-yellow-400/90",children:"Properties"}),w.jsx("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:Object.keys(e.properties).sort().map(t=>w.jsx(Wr,{name:t,value:e.properties[t]},t))})]}),SN={allowInvalidContainer:!0,defaultNodeType:"default",defaultEdgeType:"curvedArrow",renderEdgeLabels:!1,edgeProgramClasses:{arrow:QU,curvedArrow:uQ,curvedNoArrow:sQ},nodeProgramClasses:{default:qZ,circel:Su,point:vZ},labelGridCellSize:60,labelRenderedSizeThreshold:12,enableEdgeEvents:!0,labelColor:{color:"#000",attribute:"labelColor"},edgeLabelColor:{color:"#000",attribute:"labelColor"},edgeLabelSize:8,labelSize:12},Yee=()=>{const e=i3(),t=br(),[n,r]=k.useState(null);return k.useEffect(()=>{e({downNode:a=>{r(a.node),t.getGraph().setNodeAttribute(a.node,"highlighted",!0)},mousemovebody:a=>{if(!n)return;const i=t.viewportToGraph(a);t.getGraph().setNodeAttribute(n,"x",i.x),t.getGraph().setNodeAttribute(n,"y",i.y),a.preventSigmaDefault(),a.original.preventDefault(),a.original.stopPropagation()},mouseup:()=>{n&&(r(null),t.getGraph().removeNodeAttribute(n,"highlighted"))},mousedown:()=>{t.getCustomBBox()||t.setCustomBBox(t.getBBox())}})},[e,t,n]),null},Kee=()=>{const[e,t]=k.useState(SN),n=Et.use.selectedNode(),r=Et.use.focusedNode(),a=Et.use.moveToSelectedNode(),i=We.use.showPropertyPanel(),l=We.use.showNodeSearchBar(),u=We.use.showNodeLabel(),c=We.use.enableEdgeEvents(),f=We.use.enableNodeDrag(),p=We.use.showEdgeLabel();k.useEffect(()=>{t({...SN,enableEdgeEvents:c,renderEdgeLabels:p,renderLabels:u})},[u,c,p]);const g=k.useCallback(v=>{v===null?Et.getState().setFocusedNode(null):v.type==="nodes"&&Et.getState().setFocusedNode(v.id)},[]),b=k.useCallback(v=>{v===null?Et.getState().setSelectedNode(null):v.type==="nodes"&&Et.getState().setSelectedNode(v.id,!0)},[]),m=k.useMemo(()=>r??n,[r,n]),S=k.useMemo(()=>n?{type:"nodes",id:n}:null,[n]);return w.jsxs(pZ,{settings:e,className:"!bg-background !size-full overflow-hidden",children:[w.jsx(eee,{}),f&&w.jsx(Yee,{}),w.jsx(fQ,{node:m,move:a}),w.jsxs("div",{className:"absolute top-2 left-2 flex items-start gap-2",children:[w.jsx(Gee,{}),l&&w.jsx(Bee,{value:S,onFocus:g,onChange:b})]}),w.jsxs("div",{className:"bg-background/60 absolute bottom-2 left-2 flex flex-col rounded-xl border-2 backdrop-blur-lg",children:[w.jsx(dee,{}),w.jsx(tee,{}),w.jsx(NJ,{}),w.jsx(nee,{})]}),i&&w.jsx("div",{className:"absolute top-2 right-2",children:w.jsx(Hee,{})})]})},r4=k.forwardRef(({className:e,...t},n)=>w.jsx("div",{className:"relative w-full overflow-auto",children:w.jsx("table",{ref:n,className:Me("w-full caption-bottom text-sm",e),...t})}));r4.displayName="Table";const a4=k.forwardRef(({className:e,...t},n)=>w.jsx("thead",{ref:n,className:Me("[&_tr]:border-b",e),...t}));a4.displayName="TableHeader";const o4=k.forwardRef(({className:e,...t},n)=>w.jsx("tbody",{ref:n,className:Me("[&_tr:last-child]:border-0",e),...t}));o4.displayName="TableBody";const Xee=k.forwardRef(({className:e,...t},n)=>w.jsx("tfoot",{ref:n,className:Me("bg-muted/50 border-t font-medium [&>tr]:last:border-b-0",e),...t}));Xee.displayName="TableFooter";const Qx=k.forwardRef(({className:e,...t},n)=>w.jsx("tr",{ref:n,className:Me("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",e),...t}));Qx.displayName="TableRow";const Ta=k.forwardRef(({className:e,...t},n)=>w.jsx("th",{ref:n,className:Me("text-muted-foreground h-10 px-2 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));Ta.displayName="TableHead";const _a=k.forwardRef(({className:e,...t},n)=>w.jsx("td",{ref:n,className:Me("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));_a.displayName="TableCell";const Zee=k.forwardRef(({className:e,...t},n)=>w.jsx("caption",{ref:n,className:Me("text-muted-foreground mt-4 text-sm",e),...t}));Zee.displayName="TableCaption";const ou=k.forwardRef(({className:e,...t},n)=>w.jsx("div",{ref:n,className:Me("bg-card text-card-foreground rounded-xl border shadow",e),...t}));ou.displayName="Card";const Hd=k.forwardRef(({className:e,...t},n)=>w.jsx("div",{ref:n,className:Me("flex flex-col space-y-1.5 p-6",e),...t}));Hd.displayName="CardHeader";const iu=k.forwardRef(({className:e,...t},n)=>w.jsx("div",{ref:n,className:Me("leading-none font-semibold tracking-tight",e),...t}));iu.displayName="CardTitle";const If=k.forwardRef(({className:e,...t},n)=>w.jsx("div",{ref:n,className:Me("text-muted-foreground text-sm",e),...t}));If.displayName="CardDescription";const $d=k.forwardRef(({className:e,...t},n)=>w.jsx("div",{ref:n,className:Me("p-6 pt-0",e),...t}));$d.displayName="CardContent";const Qee=k.forwardRef(({className:e,...t},n)=>w.jsx("div",{ref:n,className:Me("flex items-center p-6 pt-0",e),...t}));Qee.displayName="CardFooter";function Jee({title:e,description:t,icon:n=Lq,action:r,className:a,...i}){return w.jsxs(ou,{className:Me("flex w-full flex-col items-center justify-center space-y-6 bg-transparent p-16",a),...i,children:[w.jsx("div",{className:"mr-4 shrink-0 rounded-full border border-dashed p-4",children:w.jsx(n,{className:"text-muted-foreground size-8","aria-hidden":"true"})}),w.jsxs("div",{className:"flex flex-col items-center gap-1.5 text-center",children:[w.jsx(iu,{children:e}),t?w.jsx(If,{children:t}):null]}),r||null]})}var gm={exports:{}},hm,EN;function ete(){if(EN)return hm;EN=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return hm=e,hm}var mm,wN;function tte(){if(wN)return mm;wN=1;var e=ete();function t(){}function n(){}return n.resetWarningCache=t,mm=function(){function r(l,u,c,f,p,g){if(g!==e){var b=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw b.name="Invariant Violation",b}}r.isRequired=r;function a(){return r}var i={array:r,bigint:r,bool:r,func:r,number:r,object:r,string:r,symbol:r,any:r,arrayOf:a,element:r,elementType:r,instanceOf:a,node:r,objectOf:a,oneOf:a,oneOfType:a,shape:a,exact:a,checkPropTypes:n,resetWarningCache:t};return i.PropTypes=i,i},mm}var xN;function nte(){return xN||(xN=1,gm.exports=tte()()),gm.exports}var rte=nte();const Ct=an(rte),ate=new Map([["1km","application/vnd.1000minds.decision-model+xml"],["3dml","text/vnd.in3d.3dml"],["3ds","image/x-3ds"],["3g2","video/3gpp2"],["3gp","video/3gp"],["3gpp","video/3gpp"],["3mf","model/3mf"],["7z","application/x-7z-compressed"],["7zip","application/x-7z-compressed"],["123","application/vnd.lotus-1-2-3"],["aab","application/x-authorware-bin"],["aac","audio/x-acc"],["aam","application/x-authorware-map"],["aas","application/x-authorware-seg"],["abw","application/x-abiword"],["ac","application/vnd.nokia.n-gage.ac+xml"],["ac3","audio/ac3"],["acc","application/vnd.americandynamics.acc"],["ace","application/x-ace-compressed"],["acu","application/vnd.acucobol"],["acutc","application/vnd.acucorp"],["adp","audio/adpcm"],["aep","application/vnd.audiograph"],["afm","application/x-font-type1"],["afp","application/vnd.ibm.modcap"],["ahead","application/vnd.ahead.space"],["ai","application/pdf"],["aif","audio/x-aiff"],["aifc","audio/x-aiff"],["aiff","audio/x-aiff"],["air","application/vnd.adobe.air-application-installer-package+zip"],["ait","application/vnd.dvb.ait"],["ami","application/vnd.amiga.ami"],["amr","audio/amr"],["apk","application/vnd.android.package-archive"],["apng","image/apng"],["appcache","text/cache-manifest"],["application","application/x-ms-application"],["apr","application/vnd.lotus-approach"],["arc","application/x-freearc"],["arj","application/x-arj"],["asc","application/pgp-signature"],["asf","video/x-ms-asf"],["asm","text/x-asm"],["aso","application/vnd.accpac.simply.aso"],["asx","video/x-ms-asf"],["atc","application/vnd.acucorp"],["atom","application/atom+xml"],["atomcat","application/atomcat+xml"],["atomdeleted","application/atomdeleted+xml"],["atomsvc","application/atomsvc+xml"],["atx","application/vnd.antix.game-component"],["au","audio/x-au"],["avi","video/x-msvideo"],["avif","image/avif"],["aw","application/applixware"],["azf","application/vnd.airzip.filesecure.azf"],["azs","application/vnd.airzip.filesecure.azs"],["azv","image/vnd.airzip.accelerator.azv"],["azw","application/vnd.amazon.ebook"],["b16","image/vnd.pco.b16"],["bat","application/x-msdownload"],["bcpio","application/x-bcpio"],["bdf","application/x-font-bdf"],["bdm","application/vnd.syncml.dm+wbxml"],["bdoc","application/x-bdoc"],["bed","application/vnd.realvnc.bed"],["bh2","application/vnd.fujitsu.oasysprs"],["bin","application/octet-stream"],["blb","application/x-blorb"],["blorb","application/x-blorb"],["bmi","application/vnd.bmi"],["bmml","application/vnd.balsamiq.bmml+xml"],["bmp","image/bmp"],["book","application/vnd.framemaker"],["box","application/vnd.previewsystems.box"],["boz","application/x-bzip2"],["bpk","application/octet-stream"],["bpmn","application/octet-stream"],["bsp","model/vnd.valve.source.compiled-map"],["btif","image/prs.btif"],["buffer","application/octet-stream"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["c","text/x-c"],["c4d","application/vnd.clonk.c4group"],["c4f","application/vnd.clonk.c4group"],["c4g","application/vnd.clonk.c4group"],["c4p","application/vnd.clonk.c4group"],["c4u","application/vnd.clonk.c4group"],["c11amc","application/vnd.cluetrust.cartomobile-config"],["c11amz","application/vnd.cluetrust.cartomobile-config-pkg"],["cab","application/vnd.ms-cab-compressed"],["caf","audio/x-caf"],["cap","application/vnd.tcpdump.pcap"],["car","application/vnd.curl.car"],["cat","application/vnd.ms-pki.seccat"],["cb7","application/x-cbr"],["cba","application/x-cbr"],["cbr","application/x-cbr"],["cbt","application/x-cbr"],["cbz","application/x-cbr"],["cc","text/x-c"],["cco","application/x-cocoa"],["cct","application/x-director"],["ccxml","application/ccxml+xml"],["cdbcmsg","application/vnd.contact.cmsg"],["cda","application/x-cdf"],["cdf","application/x-netcdf"],["cdfx","application/cdfx+xml"],["cdkey","application/vnd.mediastation.cdkey"],["cdmia","application/cdmi-capability"],["cdmic","application/cdmi-container"],["cdmid","application/cdmi-domain"],["cdmio","application/cdmi-object"],["cdmiq","application/cdmi-queue"],["cdr","application/cdr"],["cdx","chemical/x-cdx"],["cdxml","application/vnd.chemdraw+xml"],["cdy","application/vnd.cinderella"],["cer","application/pkix-cert"],["cfs","application/x-cfs-compressed"],["cgm","image/cgm"],["chat","application/x-chat"],["chm","application/vnd.ms-htmlhelp"],["chrt","application/vnd.kde.kchart"],["cif","chemical/x-cif"],["cii","application/vnd.anser-web-certificate-issue-initiation"],["cil","application/vnd.ms-artgalry"],["cjs","application/node"],["cla","application/vnd.claymore"],["class","application/octet-stream"],["clkk","application/vnd.crick.clicker.keyboard"],["clkp","application/vnd.crick.clicker.palette"],["clkt","application/vnd.crick.clicker.template"],["clkw","application/vnd.crick.clicker.wordbank"],["clkx","application/vnd.crick.clicker"],["clp","application/x-msclip"],["cmc","application/vnd.cosmocaller"],["cmdf","chemical/x-cmdf"],["cml","chemical/x-cml"],["cmp","application/vnd.yellowriver-custom-menu"],["cmx","image/x-cmx"],["cod","application/vnd.rim.cod"],["coffee","text/coffeescript"],["com","application/x-msdownload"],["conf","text/plain"],["cpio","application/x-cpio"],["cpp","text/x-c"],["cpt","application/mac-compactpro"],["crd","application/x-mscardfile"],["crl","application/pkix-crl"],["crt","application/x-x509-ca-cert"],["crx","application/x-chrome-extension"],["cryptonote","application/vnd.rig.cryptonote"],["csh","application/x-csh"],["csl","application/vnd.citationstyles.style+xml"],["csml","chemical/x-csml"],["csp","application/vnd.commonspace"],["csr","application/octet-stream"],["css","text/css"],["cst","application/x-director"],["csv","text/csv"],["cu","application/cu-seeme"],["curl","text/vnd.curl"],["cww","application/prs.cww"],["cxt","application/x-director"],["cxx","text/x-c"],["dae","model/vnd.collada+xml"],["daf","application/vnd.mobius.daf"],["dart","application/vnd.dart"],["dataless","application/vnd.fdsn.seed"],["davmount","application/davmount+xml"],["dbf","application/vnd.dbf"],["dbk","application/docbook+xml"],["dcr","application/x-director"],["dcurl","text/vnd.curl.dcurl"],["dd2","application/vnd.oma.dd2+xml"],["ddd","application/vnd.fujixerox.ddd"],["ddf","application/vnd.syncml.dmddf+xml"],["dds","image/vnd.ms-dds"],["deb","application/x-debian-package"],["def","text/plain"],["deploy","application/octet-stream"],["der","application/x-x509-ca-cert"],["dfac","application/vnd.dreamfactory"],["dgc","application/x-dgc-compressed"],["dic","text/x-c"],["dir","application/x-director"],["dis","application/vnd.mobius.dis"],["disposition-notification","message/disposition-notification"],["dist","application/octet-stream"],["distz","application/octet-stream"],["djv","image/vnd.djvu"],["djvu","image/vnd.djvu"],["dll","application/octet-stream"],["dmg","application/x-apple-diskimage"],["dmn","application/octet-stream"],["dmp","application/vnd.tcpdump.pcap"],["dms","application/octet-stream"],["dna","application/vnd.dna"],["doc","application/msword"],["docm","application/vnd.ms-word.template.macroEnabled.12"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["dot","application/msword"],["dotm","application/vnd.ms-word.template.macroEnabled.12"],["dotx","application/vnd.openxmlformats-officedocument.wordprocessingml.template"],["dp","application/vnd.osgi.dp"],["dpg","application/vnd.dpgraph"],["dra","audio/vnd.dra"],["drle","image/dicom-rle"],["dsc","text/prs.lines.tag"],["dssc","application/dssc+der"],["dtb","application/x-dtbook+xml"],["dtd","application/xml-dtd"],["dts","audio/vnd.dts"],["dtshd","audio/vnd.dts.hd"],["dump","application/octet-stream"],["dvb","video/vnd.dvb.file"],["dvi","application/x-dvi"],["dwd","application/atsc-dwd+xml"],["dwf","model/vnd.dwf"],["dwg","image/vnd.dwg"],["dxf","image/vnd.dxf"],["dxp","application/vnd.spotfire.dxp"],["dxr","application/x-director"],["ear","application/java-archive"],["ecelp4800","audio/vnd.nuera.ecelp4800"],["ecelp7470","audio/vnd.nuera.ecelp7470"],["ecelp9600","audio/vnd.nuera.ecelp9600"],["ecma","application/ecmascript"],["edm","application/vnd.novadigm.edm"],["edx","application/vnd.novadigm.edx"],["efif","application/vnd.picsel"],["ei6","application/vnd.pg.osasli"],["elc","application/octet-stream"],["emf","image/emf"],["eml","message/rfc822"],["emma","application/emma+xml"],["emotionml","application/emotionml+xml"],["emz","application/x-msmetafile"],["eol","audio/vnd.digital-winds"],["eot","application/vnd.ms-fontobject"],["eps","application/postscript"],["epub","application/epub+zip"],["es","application/ecmascript"],["es3","application/vnd.eszigno3+xml"],["esa","application/vnd.osgi.subsystem"],["esf","application/vnd.epson.esf"],["et3","application/vnd.eszigno3+xml"],["etx","text/x-setext"],["eva","application/x-eva"],["evy","application/x-envoy"],["exe","application/octet-stream"],["exi","application/exi"],["exp","application/express"],["exr","image/aces"],["ext","application/vnd.novadigm.ext"],["ez","application/andrew-inset"],["ez2","application/vnd.ezpix-album"],["ez3","application/vnd.ezpix-package"],["f","text/x-fortran"],["f4v","video/mp4"],["f77","text/x-fortran"],["f90","text/x-fortran"],["fbs","image/vnd.fastbidsheet"],["fcdt","application/vnd.adobe.formscentral.fcdt"],["fcs","application/vnd.isac.fcs"],["fdf","application/vnd.fdf"],["fdt","application/fdt+xml"],["fe_launch","application/vnd.denovo.fcselayout-link"],["fg5","application/vnd.fujitsu.oasysgp"],["fgd","application/x-director"],["fh","image/x-freehand"],["fh4","image/x-freehand"],["fh5","image/x-freehand"],["fh7","image/x-freehand"],["fhc","image/x-freehand"],["fig","application/x-xfig"],["fits","image/fits"],["flac","audio/x-flac"],["fli","video/x-fli"],["flo","application/vnd.micrografx.flo"],["flv","video/x-flv"],["flw","application/vnd.kde.kivio"],["flx","text/vnd.fmi.flexstor"],["fly","text/vnd.fly"],["fm","application/vnd.framemaker"],["fnc","application/vnd.frogans.fnc"],["fo","application/vnd.software602.filler.form+xml"],["for","text/x-fortran"],["fpx","image/vnd.fpx"],["frame","application/vnd.framemaker"],["fsc","application/vnd.fsc.weblaunch"],["fst","image/vnd.fst"],["ftc","application/vnd.fluxtime.clip"],["fti","application/vnd.anser-web-funds-transfer-initiation"],["fvt","video/vnd.fvt"],["fxp","application/vnd.adobe.fxp"],["fxpl","application/vnd.adobe.fxp"],["fzs","application/vnd.fuzzysheet"],["g2w","application/vnd.geoplan"],["g3","image/g3fax"],["g3w","application/vnd.geospace"],["gac","application/vnd.groove-account"],["gam","application/x-tads"],["gbr","application/rpki-ghostbusters"],["gca","application/x-gca-compressed"],["gdl","model/vnd.gdl"],["gdoc","application/vnd.google-apps.document"],["geo","application/vnd.dynageo"],["geojson","application/geo+json"],["gex","application/vnd.geometry-explorer"],["ggb","application/vnd.geogebra.file"],["ggt","application/vnd.geogebra.tool"],["ghf","application/vnd.groove-help"],["gif","image/gif"],["gim","application/vnd.groove-identity-message"],["glb","model/gltf-binary"],["gltf","model/gltf+json"],["gml","application/gml+xml"],["gmx","application/vnd.gmx"],["gnumeric","application/x-gnumeric"],["gpg","application/gpg-keys"],["gph","application/vnd.flographit"],["gpx","application/gpx+xml"],["gqf","application/vnd.grafeq"],["gqs","application/vnd.grafeq"],["gram","application/srgs"],["gramps","application/x-gramps-xml"],["gre","application/vnd.geometry-explorer"],["grv","application/vnd.groove-injector"],["grxml","application/srgs+xml"],["gsf","application/x-font-ghostscript"],["gsheet","application/vnd.google-apps.spreadsheet"],["gslides","application/vnd.google-apps.presentation"],["gtar","application/x-gtar"],["gtm","application/vnd.groove-tool-message"],["gtw","model/vnd.gtw"],["gv","text/vnd.graphviz"],["gxf","application/gxf"],["gxt","application/vnd.geonext"],["gz","application/gzip"],["gzip","application/gzip"],["h","text/x-c"],["h261","video/h261"],["h263","video/h263"],["h264","video/h264"],["hal","application/vnd.hal+xml"],["hbci","application/vnd.hbci"],["hbs","text/x-handlebars-template"],["hdd","application/x-virtualbox-hdd"],["hdf","application/x-hdf"],["heic","image/heic"],["heics","image/heic-sequence"],["heif","image/heif"],["heifs","image/heif-sequence"],["hej2","image/hej2k"],["held","application/atsc-held+xml"],["hh","text/x-c"],["hjson","application/hjson"],["hlp","application/winhlp"],["hpgl","application/vnd.hp-hpgl"],["hpid","application/vnd.hp-hpid"],["hps","application/vnd.hp-hps"],["hqx","application/mac-binhex40"],["hsj2","image/hsj2"],["htc","text/x-component"],["htke","application/vnd.kenameaapp"],["htm","text/html"],["html","text/html"],["hvd","application/vnd.yamaha.hv-dic"],["hvp","application/vnd.yamaha.hv-voice"],["hvs","application/vnd.yamaha.hv-script"],["i2g","application/vnd.intergeo"],["icc","application/vnd.iccprofile"],["ice","x-conference/x-cooltalk"],["icm","application/vnd.iccprofile"],["ico","image/x-icon"],["ics","text/calendar"],["ief","image/ief"],["ifb","text/calendar"],["ifm","application/vnd.shana.informed.formdata"],["iges","model/iges"],["igl","application/vnd.igloader"],["igm","application/vnd.insors.igm"],["igs","model/iges"],["igx","application/vnd.micrografx.igx"],["iif","application/vnd.shana.informed.interchange"],["img","application/octet-stream"],["imp","application/vnd.accpac.simply.imp"],["ims","application/vnd.ms-ims"],["in","text/plain"],["ini","text/plain"],["ink","application/inkml+xml"],["inkml","application/inkml+xml"],["install","application/x-install-instructions"],["iota","application/vnd.astraea-software.iota"],["ipfix","application/ipfix"],["ipk","application/vnd.shana.informed.package"],["irm","application/vnd.ibm.rights-management"],["irp","application/vnd.irepository.package+xml"],["iso","application/x-iso9660-image"],["itp","application/vnd.shana.informed.formtemplate"],["its","application/its+xml"],["ivp","application/vnd.immervision-ivp"],["ivu","application/vnd.immervision-ivu"],["jad","text/vnd.sun.j2me.app-descriptor"],["jade","text/jade"],["jam","application/vnd.jam"],["jar","application/java-archive"],["jardiff","application/x-java-archive-diff"],["java","text/x-java-source"],["jhc","image/jphc"],["jisp","application/vnd.jisp"],["jls","image/jls"],["jlt","application/vnd.hp-jlyt"],["jng","image/x-jng"],["jnlp","application/x-java-jnlp-file"],["joda","application/vnd.joost.joda-archive"],["jp2","image/jp2"],["jpe","image/jpeg"],["jpeg","image/jpeg"],["jpf","image/jpx"],["jpg","image/jpeg"],["jpg2","image/jp2"],["jpgm","video/jpm"],["jpgv","video/jpeg"],["jph","image/jph"],["jpm","video/jpm"],["jpx","image/jpx"],["js","application/javascript"],["json","application/json"],["json5","application/json5"],["jsonld","application/ld+json"],["jsonl","application/jsonl"],["jsonml","application/jsonml+json"],["jsx","text/jsx"],["jxr","image/jxr"],["jxra","image/jxra"],["jxrs","image/jxrs"],["jxs","image/jxs"],["jxsc","image/jxsc"],["jxsi","image/jxsi"],["jxss","image/jxss"],["kar","audio/midi"],["karbon","application/vnd.kde.karbon"],["kdb","application/octet-stream"],["kdbx","application/x-keepass2"],["key","application/x-iwork-keynote-sffkey"],["kfo","application/vnd.kde.kformula"],["kia","application/vnd.kidspiration"],["kml","application/vnd.google-earth.kml+xml"],["kmz","application/vnd.google-earth.kmz"],["kne","application/vnd.kinar"],["knp","application/vnd.kinar"],["kon","application/vnd.kde.kontour"],["kpr","application/vnd.kde.kpresenter"],["kpt","application/vnd.kde.kpresenter"],["kpxx","application/vnd.ds-keypoint"],["ksp","application/vnd.kde.kspread"],["ktr","application/vnd.kahootz"],["ktx","image/ktx"],["ktx2","image/ktx2"],["ktz","application/vnd.kahootz"],["kwd","application/vnd.kde.kword"],["kwt","application/vnd.kde.kword"],["lasxml","application/vnd.las.las+xml"],["latex","application/x-latex"],["lbd","application/vnd.llamagraphics.life-balance.desktop"],["lbe","application/vnd.llamagraphics.life-balance.exchange+xml"],["les","application/vnd.hhe.lesson-player"],["less","text/less"],["lgr","application/lgr+xml"],["lha","application/octet-stream"],["link66","application/vnd.route66.link66+xml"],["list","text/plain"],["list3820","application/vnd.ibm.modcap"],["listafp","application/vnd.ibm.modcap"],["litcoffee","text/coffeescript"],["lnk","application/x-ms-shortcut"],["log","text/plain"],["lostxml","application/lost+xml"],["lrf","application/octet-stream"],["lrm","application/vnd.ms-lrm"],["ltf","application/vnd.frogans.ltf"],["lua","text/x-lua"],["luac","application/x-lua-bytecode"],["lvp","audio/vnd.lucent.voice"],["lwp","application/vnd.lotus-wordpro"],["lzh","application/octet-stream"],["m1v","video/mpeg"],["m2a","audio/mpeg"],["m2v","video/mpeg"],["m3a","audio/mpeg"],["m3u","text/plain"],["m3u8","application/vnd.apple.mpegurl"],["m4a","audio/x-m4a"],["m4p","application/mp4"],["m4s","video/iso.segment"],["m4u","application/vnd.mpegurl"],["m4v","video/x-m4v"],["m13","application/x-msmediaview"],["m14","application/x-msmediaview"],["m21","application/mp21"],["ma","application/mathematica"],["mads","application/mads+xml"],["maei","application/mmt-aei+xml"],["mag","application/vnd.ecowin.chart"],["maker","application/vnd.framemaker"],["man","text/troff"],["manifest","text/cache-manifest"],["map","application/json"],["mar","application/octet-stream"],["markdown","text/markdown"],["mathml","application/mathml+xml"],["mb","application/mathematica"],["mbk","application/vnd.mobius.mbk"],["mbox","application/mbox"],["mc1","application/vnd.medcalcdata"],["mcd","application/vnd.mcd"],["mcurl","text/vnd.curl.mcurl"],["md","text/markdown"],["mdb","application/x-msaccess"],["mdi","image/vnd.ms-modi"],["mdx","text/mdx"],["me","text/troff"],["mesh","model/mesh"],["meta4","application/metalink4+xml"],["metalink","application/metalink+xml"],["mets","application/mets+xml"],["mfm","application/vnd.mfmp"],["mft","application/rpki-manifest"],["mgp","application/vnd.osgeo.mapguide.package"],["mgz","application/vnd.proteus.magazine"],["mid","audio/midi"],["midi","audio/midi"],["mie","application/x-mie"],["mif","application/vnd.mif"],["mime","message/rfc822"],["mj2","video/mj2"],["mjp2","video/mj2"],["mjs","application/javascript"],["mk3d","video/x-matroska"],["mka","audio/x-matroska"],["mkd","text/x-markdown"],["mks","video/x-matroska"],["mkv","video/x-matroska"],["mlp","application/vnd.dolby.mlp"],["mmd","application/vnd.chipnuts.karaoke-mmd"],["mmf","application/vnd.smaf"],["mml","text/mathml"],["mmr","image/vnd.fujixerox.edmics-mmr"],["mng","video/x-mng"],["mny","application/x-msmoney"],["mobi","application/x-mobipocket-ebook"],["mods","application/mods+xml"],["mov","video/quicktime"],["movie","video/x-sgi-movie"],["mp2","audio/mpeg"],["mp2a","audio/mpeg"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mp4a","audio/mp4"],["mp4s","application/mp4"],["mp4v","video/mp4"],["mp21","application/mp21"],["mpc","application/vnd.mophun.certificate"],["mpd","application/dash+xml"],["mpe","video/mpeg"],["mpeg","video/mpeg"],["mpg","video/mpeg"],["mpg4","video/mp4"],["mpga","audio/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["mpm","application/vnd.blueice.multipass"],["mpn","application/vnd.mophun.application"],["mpp","application/vnd.ms-project"],["mpt","application/vnd.ms-project"],["mpy","application/vnd.ibm.minipay"],["mqy","application/vnd.mobius.mqy"],["mrc","application/marc"],["mrcx","application/marcxml+xml"],["ms","text/troff"],["mscml","application/mediaservercontrol+xml"],["mseed","application/vnd.fdsn.mseed"],["mseq","application/vnd.mseq"],["msf","application/vnd.epson.msf"],["msg","application/vnd.ms-outlook"],["msh","model/mesh"],["msi","application/x-msdownload"],["msl","application/vnd.mobius.msl"],["msm","application/octet-stream"],["msp","application/octet-stream"],["msty","application/vnd.muvee.style"],["mtl","model/mtl"],["mts","model/vnd.mts"],["mus","application/vnd.musician"],["musd","application/mmt-usd+xml"],["musicxml","application/vnd.recordare.musicxml+xml"],["mvb","application/x-msmediaview"],["mvt","application/vnd.mapbox-vector-tile"],["mwf","application/vnd.mfer"],["mxf","application/mxf"],["mxl","application/vnd.recordare.musicxml"],["mxmf","audio/mobile-xmf"],["mxml","application/xv+xml"],["mxs","application/vnd.triscape.mxs"],["mxu","video/vnd.mpegurl"],["n-gage","application/vnd.nokia.n-gage.symbian.install"],["n3","text/n3"],["nb","application/mathematica"],["nbp","application/vnd.wolfram.player"],["nc","application/x-netcdf"],["ncx","application/x-dtbncx+xml"],["nfo","text/x-nfo"],["ngdat","application/vnd.nokia.n-gage.data"],["nitf","application/vnd.nitf"],["nlu","application/vnd.neurolanguage.nlu"],["nml","application/vnd.enliven"],["nnd","application/vnd.noblenet-directory"],["nns","application/vnd.noblenet-sealer"],["nnw","application/vnd.noblenet-web"],["npx","image/vnd.net-fpx"],["nq","application/n-quads"],["nsc","application/x-conference"],["nsf","application/vnd.lotus-notes"],["nt","application/n-triples"],["ntf","application/vnd.nitf"],["numbers","application/x-iwork-numbers-sffnumbers"],["nzb","application/x-nzb"],["oa2","application/vnd.fujitsu.oasys2"],["oa3","application/vnd.fujitsu.oasys3"],["oas","application/vnd.fujitsu.oasys"],["obd","application/x-msbinder"],["obgx","application/vnd.openblox.game+xml"],["obj","model/obj"],["oda","application/oda"],["odb","application/vnd.oasis.opendocument.database"],["odc","application/vnd.oasis.opendocument.chart"],["odf","application/vnd.oasis.opendocument.formula"],["odft","application/vnd.oasis.opendocument.formula-template"],["odg","application/vnd.oasis.opendocument.graphics"],["odi","application/vnd.oasis.opendocument.image"],["odm","application/vnd.oasis.opendocument.text-master"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogex","model/vnd.opengex"],["ogg","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["omdoc","application/omdoc+xml"],["onepkg","application/onenote"],["onetmp","application/onenote"],["onetoc","application/onenote"],["onetoc2","application/onenote"],["opf","application/oebps-package+xml"],["opml","text/x-opml"],["oprc","application/vnd.palm"],["opus","audio/ogg"],["org","text/x-org"],["osf","application/vnd.yamaha.openscoreformat"],["osfpvg","application/vnd.yamaha.openscoreformat.osfpvg+xml"],["osm","application/vnd.openstreetmap.data+xml"],["otc","application/vnd.oasis.opendocument.chart-template"],["otf","font/otf"],["otg","application/vnd.oasis.opendocument.graphics-template"],["oth","application/vnd.oasis.opendocument.text-web"],["oti","application/vnd.oasis.opendocument.image-template"],["otp","application/vnd.oasis.opendocument.presentation-template"],["ots","application/vnd.oasis.opendocument.spreadsheet-template"],["ott","application/vnd.oasis.opendocument.text-template"],["ova","application/x-virtualbox-ova"],["ovf","application/x-virtualbox-ovf"],["owl","application/rdf+xml"],["oxps","application/oxps"],["oxt","application/vnd.openofficeorg.extension"],["p","text/x-pascal"],["p7a","application/x-pkcs7-signature"],["p7b","application/x-pkcs7-certificates"],["p7c","application/pkcs7-mime"],["p7m","application/pkcs7-mime"],["p7r","application/x-pkcs7-certreqresp"],["p7s","application/pkcs7-signature"],["p8","application/pkcs8"],["p10","application/x-pkcs10"],["p12","application/x-pkcs12"],["pac","application/x-ns-proxy-autoconfig"],["pages","application/x-iwork-pages-sffpages"],["pas","text/x-pascal"],["paw","application/vnd.pawaafile"],["pbd","application/vnd.powerbuilder6"],["pbm","image/x-portable-bitmap"],["pcap","application/vnd.tcpdump.pcap"],["pcf","application/x-font-pcf"],["pcl","application/vnd.hp-pcl"],["pclxl","application/vnd.hp-pclxl"],["pct","image/x-pict"],["pcurl","application/vnd.curl.pcurl"],["pcx","image/x-pcx"],["pdb","application/x-pilot"],["pde","text/x-processing"],["pdf","application/pdf"],["pem","application/x-x509-user-cert"],["pfa","application/x-font-type1"],["pfb","application/x-font-type1"],["pfm","application/x-font-type1"],["pfr","application/font-tdpfr"],["pfx","application/x-pkcs12"],["pgm","image/x-portable-graymap"],["pgn","application/x-chess-pgn"],["pgp","application/pgp"],["php","application/x-httpd-php"],["php3","application/x-httpd-php"],["php4","application/x-httpd-php"],["phps","application/x-httpd-php-source"],["phtml","application/x-httpd-php"],["pic","image/x-pict"],["pkg","application/octet-stream"],["pki","application/pkixcmp"],["pkipath","application/pkix-pkipath"],["pkpass","application/vnd.apple.pkpass"],["pl","application/x-perl"],["plb","application/vnd.3gpp.pic-bw-large"],["plc","application/vnd.mobius.plc"],["plf","application/vnd.pocketlearn"],["pls","application/pls+xml"],["pm","application/x-perl"],["pml","application/vnd.ctc-posml"],["png","image/png"],["pnm","image/x-portable-anymap"],["portpkg","application/vnd.macports.portpkg"],["pot","application/vnd.ms-powerpoint"],["potm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"],["potx","application/vnd.openxmlformats-officedocument.presentationml.template"],["ppa","application/vnd.ms-powerpoint"],["ppam","application/vnd.ms-powerpoint.addin.macroEnabled.12"],["ppd","application/vnd.cups-ppd"],["ppm","image/x-portable-pixmap"],["pps","application/vnd.ms-powerpoint"],["ppsm","application/vnd.ms-powerpoint.slideshow.macroEnabled.12"],["ppsx","application/vnd.openxmlformats-officedocument.presentationml.slideshow"],["ppt","application/powerpoint"],["pptm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["pqa","application/vnd.palm"],["prc","application/x-pilot"],["pre","application/vnd.lotus-freelance"],["prf","application/pics-rules"],["provx","application/provenance+xml"],["ps","application/postscript"],["psb","application/vnd.3gpp.pic-bw-small"],["psd","application/x-photoshop"],["psf","application/x-font-linux-psf"],["pskcxml","application/pskc+xml"],["pti","image/prs.pti"],["ptid","application/vnd.pvi.ptid1"],["pub","application/x-mspublisher"],["pvb","application/vnd.3gpp.pic-bw-var"],["pwn","application/vnd.3m.post-it-notes"],["pya","audio/vnd.ms-playready.media.pya"],["pyv","video/vnd.ms-playready.media.pyv"],["qam","application/vnd.epson.quickanime"],["qbo","application/vnd.intu.qbo"],["qfx","application/vnd.intu.qfx"],["qps","application/vnd.publishare-delta-tree"],["qt","video/quicktime"],["qwd","application/vnd.quark.quarkxpress"],["qwt","application/vnd.quark.quarkxpress"],["qxb","application/vnd.quark.quarkxpress"],["qxd","application/vnd.quark.quarkxpress"],["qxl","application/vnd.quark.quarkxpress"],["qxt","application/vnd.quark.quarkxpress"],["ra","audio/x-realaudio"],["ram","audio/x-pn-realaudio"],["raml","application/raml+yaml"],["rapd","application/route-apd+xml"],["rar","application/x-rar"],["ras","image/x-cmu-raster"],["rcprofile","application/vnd.ipunplugged.rcprofile"],["rdf","application/rdf+xml"],["rdz","application/vnd.data-vision.rdz"],["relo","application/p2p-overlay+xml"],["rep","application/vnd.businessobjects"],["res","application/x-dtbresource+xml"],["rgb","image/x-rgb"],["rif","application/reginfo+xml"],["rip","audio/vnd.rip"],["ris","application/x-research-info-systems"],["rl","application/resource-lists+xml"],["rlc","image/vnd.fujixerox.edmics-rlc"],["rld","application/resource-lists-diff+xml"],["rm","audio/x-pn-realaudio"],["rmi","audio/midi"],["rmp","audio/x-pn-realaudio-plugin"],["rms","application/vnd.jcp.javame.midlet-rms"],["rmvb","application/vnd.rn-realmedia-vbr"],["rnc","application/relax-ng-compact-syntax"],["rng","application/xml"],["roa","application/rpki-roa"],["roff","text/troff"],["rp9","application/vnd.cloanto.rp9"],["rpm","audio/x-pn-realaudio-plugin"],["rpss","application/vnd.nokia.radio-presets"],["rpst","application/vnd.nokia.radio-preset"],["rq","application/sparql-query"],["rs","application/rls-services+xml"],["rsa","application/x-pkcs7"],["rsat","application/atsc-rsat+xml"],["rsd","application/rsd+xml"],["rsheet","application/urc-ressheet+xml"],["rss","application/rss+xml"],["rtf","text/rtf"],["rtx","text/richtext"],["run","application/x-makeself"],["rusd","application/route-usd+xml"],["rv","video/vnd.rn-realvideo"],["s","text/x-asm"],["s3m","audio/s3m"],["saf","application/vnd.yamaha.smaf-audio"],["sass","text/x-sass"],["sbml","application/sbml+xml"],["sc","application/vnd.ibm.secure-container"],["scd","application/x-msschedule"],["scm","application/vnd.lotus-screencam"],["scq","application/scvp-cv-request"],["scs","application/scvp-cv-response"],["scss","text/x-scss"],["scurl","text/vnd.curl.scurl"],["sda","application/vnd.stardivision.draw"],["sdc","application/vnd.stardivision.calc"],["sdd","application/vnd.stardivision.impress"],["sdkd","application/vnd.solent.sdkm+xml"],["sdkm","application/vnd.solent.sdkm+xml"],["sdp","application/sdp"],["sdw","application/vnd.stardivision.writer"],["sea","application/octet-stream"],["see","application/vnd.seemail"],["seed","application/vnd.fdsn.seed"],["sema","application/vnd.sema"],["semd","application/vnd.semd"],["semf","application/vnd.semf"],["senmlx","application/senml+xml"],["sensmlx","application/sensml+xml"],["ser","application/java-serialized-object"],["setpay","application/set-payment-initiation"],["setreg","application/set-registration-initiation"],["sfd-hdstx","application/vnd.hydrostatix.sof-data"],["sfs","application/vnd.spotfire.sfs"],["sfv","text/x-sfv"],["sgi","image/sgi"],["sgl","application/vnd.stardivision.writer-global"],["sgm","text/sgml"],["sgml","text/sgml"],["sh","application/x-sh"],["shar","application/x-shar"],["shex","text/shex"],["shf","application/shf+xml"],["shtml","text/html"],["sid","image/x-mrsid-image"],["sieve","application/sieve"],["sig","application/pgp-signature"],["sil","audio/silk"],["silo","model/mesh"],["sis","application/vnd.symbian.install"],["sisx","application/vnd.symbian.install"],["sit","application/x-stuffit"],["sitx","application/x-stuffitx"],["siv","application/sieve"],["skd","application/vnd.koan"],["skm","application/vnd.koan"],["skp","application/vnd.koan"],["skt","application/vnd.koan"],["sldm","application/vnd.ms-powerpoint.slide.macroenabled.12"],["sldx","application/vnd.openxmlformats-officedocument.presentationml.slide"],["slim","text/slim"],["slm","text/slim"],["sls","application/route-s-tsid+xml"],["slt","application/vnd.epson.salt"],["sm","application/vnd.stepmania.stepchart"],["smf","application/vnd.stardivision.math"],["smi","application/smil"],["smil","application/smil"],["smv","video/x-smv"],["smzip","application/vnd.stepmania.package"],["snd","audio/basic"],["snf","application/x-font-snf"],["so","application/octet-stream"],["spc","application/x-pkcs7-certificates"],["spdx","text/spdx"],["spf","application/vnd.yamaha.smaf-phrase"],["spl","application/x-futuresplash"],["spot","text/vnd.in3d.spot"],["spp","application/scvp-vp-response"],["spq","application/scvp-vp-request"],["spx","audio/ogg"],["sql","application/x-sql"],["src","application/x-wais-source"],["srt","application/x-subrip"],["sru","application/sru+xml"],["srx","application/sparql-results+xml"],["ssdl","application/ssdl+xml"],["sse","application/vnd.kodak-descriptor"],["ssf","application/vnd.epson.ssf"],["ssml","application/ssml+xml"],["sst","application/octet-stream"],["st","application/vnd.sailingtracker.track"],["stc","application/vnd.sun.xml.calc.template"],["std","application/vnd.sun.xml.draw.template"],["stf","application/vnd.wt.stf"],["sti","application/vnd.sun.xml.impress.template"],["stk","application/hyperstudio"],["stl","model/stl"],["stpx","model/step+xml"],["stpxz","model/step-xml+zip"],["stpz","model/step+zip"],["str","application/vnd.pg.format"],["stw","application/vnd.sun.xml.writer.template"],["styl","text/stylus"],["stylus","text/stylus"],["sub","text/vnd.dvb.subtitle"],["sus","application/vnd.sus-calendar"],["susp","application/vnd.sus-calendar"],["sv4cpio","application/x-sv4cpio"],["sv4crc","application/x-sv4crc"],["svc","application/vnd.dvb.service"],["svd","application/vnd.svd"],["svg","image/svg+xml"],["svgz","image/svg+xml"],["swa","application/x-director"],["swf","application/x-shockwave-flash"],["swi","application/vnd.aristanetworks.swi"],["swidtag","application/swid+xml"],["sxc","application/vnd.sun.xml.calc"],["sxd","application/vnd.sun.xml.draw"],["sxg","application/vnd.sun.xml.writer.global"],["sxi","application/vnd.sun.xml.impress"],["sxm","application/vnd.sun.xml.math"],["sxw","application/vnd.sun.xml.writer"],["t","text/troff"],["t3","application/x-t3vm-image"],["t38","image/t38"],["taglet","application/vnd.mynfc"],["tao","application/vnd.tao.intent-module-archive"],["tap","image/vnd.tencent.tap"],["tar","application/x-tar"],["tcap","application/vnd.3gpp2.tcap"],["tcl","application/x-tcl"],["td","application/urc-targetdesc+xml"],["teacher","application/vnd.smart.teacher"],["tei","application/tei+xml"],["teicorpus","application/tei+xml"],["tex","application/x-tex"],["texi","application/x-texinfo"],["texinfo","application/x-texinfo"],["text","text/plain"],["tfi","application/thraud+xml"],["tfm","application/x-tex-tfm"],["tfx","image/tiff-fx"],["tga","image/x-tga"],["tgz","application/x-tar"],["thmx","application/vnd.ms-officetheme"],["tif","image/tiff"],["tiff","image/tiff"],["tk","application/x-tcl"],["tmo","application/vnd.tmobile-livetv"],["toml","application/toml"],["torrent","application/x-bittorrent"],["tpl","application/vnd.groove-tool-template"],["tpt","application/vnd.trid.tpt"],["tr","text/troff"],["tra","application/vnd.trueapp"],["trig","application/trig"],["trm","application/x-msterminal"],["ts","video/mp2t"],["tsd","application/timestamped-data"],["tsv","text/tab-separated-values"],["ttc","font/collection"],["ttf","font/ttf"],["ttl","text/turtle"],["ttml","application/ttml+xml"],["twd","application/vnd.simtech-mindmapper"],["twds","application/vnd.simtech-mindmapper"],["txd","application/vnd.genomatix.tuxedo"],["txf","application/vnd.mobius.txf"],["txt","text/plain"],["u8dsn","message/global-delivery-status"],["u8hdr","message/global-headers"],["u8mdn","message/global-disposition-notification"],["u8msg","message/global"],["u32","application/x-authorware-bin"],["ubj","application/ubjson"],["udeb","application/x-debian-package"],["ufd","application/vnd.ufdl"],["ufdl","application/vnd.ufdl"],["ulx","application/x-glulx"],["umj","application/vnd.umajin"],["unityweb","application/vnd.unity"],["uoml","application/vnd.uoml+xml"],["uri","text/uri-list"],["uris","text/uri-list"],["urls","text/uri-list"],["usdz","model/vnd.usdz+zip"],["ustar","application/x-ustar"],["utz","application/vnd.uiq.theme"],["uu","text/x-uuencode"],["uva","audio/vnd.dece.audio"],["uvd","application/vnd.dece.data"],["uvf","application/vnd.dece.data"],["uvg","image/vnd.dece.graphic"],["uvh","video/vnd.dece.hd"],["uvi","image/vnd.dece.graphic"],["uvm","video/vnd.dece.mobile"],["uvp","video/vnd.dece.pd"],["uvs","video/vnd.dece.sd"],["uvt","application/vnd.dece.ttml+xml"],["uvu","video/vnd.uvvu.mp4"],["uvv","video/vnd.dece.video"],["uvva","audio/vnd.dece.audio"],["uvvd","application/vnd.dece.data"],["uvvf","application/vnd.dece.data"],["uvvg","image/vnd.dece.graphic"],["uvvh","video/vnd.dece.hd"],["uvvi","image/vnd.dece.graphic"],["uvvm","video/vnd.dece.mobile"],["uvvp","video/vnd.dece.pd"],["uvvs","video/vnd.dece.sd"],["uvvt","application/vnd.dece.ttml+xml"],["uvvu","video/vnd.uvvu.mp4"],["uvvv","video/vnd.dece.video"],["uvvx","application/vnd.dece.unspecified"],["uvvz","application/vnd.dece.zip"],["uvx","application/vnd.dece.unspecified"],["uvz","application/vnd.dece.zip"],["vbox","application/x-virtualbox-vbox"],["vbox-extpack","application/x-virtualbox-vbox-extpack"],["vcard","text/vcard"],["vcd","application/x-cdlink"],["vcf","text/x-vcard"],["vcg","application/vnd.groove-vcard"],["vcs","text/x-vcalendar"],["vcx","application/vnd.vcx"],["vdi","application/x-virtualbox-vdi"],["vds","model/vnd.sap.vds"],["vhd","application/x-virtualbox-vhd"],["vis","application/vnd.visionary"],["viv","video/vnd.vivo"],["vlc","application/videolan"],["vmdk","application/x-virtualbox-vmdk"],["vob","video/x-ms-vob"],["vor","application/vnd.stardivision.writer"],["vox","application/x-authorware-bin"],["vrml","model/vrml"],["vsd","application/vnd.visio"],["vsf","application/vnd.vsf"],["vss","application/vnd.visio"],["vst","application/vnd.visio"],["vsw","application/vnd.visio"],["vtf","image/vnd.valve.source.texture"],["vtt","text/vtt"],["vtu","model/vnd.vtu"],["vxml","application/voicexml+xml"],["w3d","application/x-director"],["wad","application/x-doom"],["wadl","application/vnd.sun.wadl+xml"],["war","application/java-archive"],["wasm","application/wasm"],["wav","audio/x-wav"],["wax","audio/x-ms-wax"],["wbmp","image/vnd.wap.wbmp"],["wbs","application/vnd.criticaltools.wbs+xml"],["wbxml","application/wbxml"],["wcm","application/vnd.ms-works"],["wdb","application/vnd.ms-works"],["wdp","image/vnd.ms-photo"],["weba","audio/webm"],["webapp","application/x-web-app-manifest+json"],["webm","video/webm"],["webmanifest","application/manifest+json"],["webp","image/webp"],["wg","application/vnd.pmi.widget"],["wgt","application/widget"],["wks","application/vnd.ms-works"],["wm","video/x-ms-wm"],["wma","audio/x-ms-wma"],["wmd","application/x-ms-wmd"],["wmf","image/wmf"],["wml","text/vnd.wap.wml"],["wmlc","application/wmlc"],["wmls","text/vnd.wap.wmlscript"],["wmlsc","application/vnd.wap.wmlscriptc"],["wmv","video/x-ms-wmv"],["wmx","video/x-ms-wmx"],["wmz","application/x-msmetafile"],["woff","font/woff"],["woff2","font/woff2"],["word","application/msword"],["wpd","application/vnd.wordperfect"],["wpl","application/vnd.ms-wpl"],["wps","application/vnd.ms-works"],["wqd","application/vnd.wqd"],["wri","application/x-mswrite"],["wrl","model/vrml"],["wsc","message/vnd.wfa.wsc"],["wsdl","application/wsdl+xml"],["wspolicy","application/wspolicy+xml"],["wtb","application/vnd.webturbo"],["wvx","video/x-ms-wvx"],["x3d","model/x3d+xml"],["x3db","model/x3d+fastinfoset"],["x3dbz","model/x3d+binary"],["x3dv","model/x3d-vrml"],["x3dvz","model/x3d+vrml"],["x3dz","model/x3d+xml"],["x32","application/x-authorware-bin"],["x_b","model/vnd.parasolid.transmit.binary"],["x_t","model/vnd.parasolid.transmit.text"],["xaml","application/xaml+xml"],["xap","application/x-silverlight-app"],["xar","application/vnd.xara"],["xav","application/xcap-att+xml"],["xbap","application/x-ms-xbap"],["xbd","application/vnd.fujixerox.docuworks.binder"],["xbm","image/x-xbitmap"],["xca","application/xcap-caps+xml"],["xcs","application/calendar+xml"],["xdf","application/xcap-diff+xml"],["xdm","application/vnd.syncml.dm+xml"],["xdp","application/vnd.adobe.xdp+xml"],["xdssc","application/dssc+xml"],["xdw","application/vnd.fujixerox.docuworks"],["xel","application/xcap-el+xml"],["xenc","application/xenc+xml"],["xer","application/patch-ops-error+xml"],["xfdf","application/vnd.adobe.xfdf"],["xfdl","application/vnd.xfdl"],["xht","application/xhtml+xml"],["xhtml","application/xhtml+xml"],["xhvml","application/xv+xml"],["xif","image/vnd.xiff"],["xl","application/excel"],["xla","application/vnd.ms-excel"],["xlam","application/vnd.ms-excel.addin.macroEnabled.12"],["xlc","application/vnd.ms-excel"],["xlf","application/xliff+xml"],["xlm","application/vnd.ms-excel"],["xls","application/vnd.ms-excel"],["xlsb","application/vnd.ms-excel.sheet.binary.macroEnabled.12"],["xlsm","application/vnd.ms-excel.sheet.macroEnabled.12"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xlt","application/vnd.ms-excel"],["xltm","application/vnd.ms-excel.template.macroEnabled.12"],["xltx","application/vnd.openxmlformats-officedocument.spreadsheetml.template"],["xlw","application/vnd.ms-excel"],["xm","audio/xm"],["xml","application/xml"],["xns","application/xcap-ns+xml"],["xo","application/vnd.olpc-sugar"],["xop","application/xop+xml"],["xpi","application/x-xpinstall"],["xpl","application/xproc+xml"],["xpm","image/x-xpixmap"],["xpr","application/vnd.is-xpr"],["xps","application/vnd.ms-xpsdocument"],["xpw","application/vnd.intercon.formnet"],["xpx","application/vnd.intercon.formnet"],["xsd","application/xml"],["xsl","application/xml"],["xslt","application/xslt+xml"],["xsm","application/vnd.syncml+xml"],["xspf","application/xspf+xml"],["xul","application/vnd.mozilla.xul+xml"],["xvm","application/xv+xml"],["xvml","application/xv+xml"],["xwd","image/x-xwindowdump"],["xyz","chemical/x-xyz"],["xz","application/x-xz"],["yaml","text/yaml"],["yang","application/yang"],["yin","application/yin+xml"],["yml","text/yaml"],["ymp","text/x-suse-ymp"],["z","application/x-compress"],["z1","application/x-zmachine"],["z2","application/x-zmachine"],["z3","application/x-zmachine"],["z4","application/x-zmachine"],["z5","application/x-zmachine"],["z6","application/x-zmachine"],["z7","application/x-zmachine"],["z8","application/x-zmachine"],["zaz","application/vnd.zzazz.deck+xml"],["zip","application/zip"],["zir","application/vnd.zul"],["zirz","application/vnd.zul"],["zmm","application/vnd.handheld-entertainment+xml"],["zsh","text/x-scriptzsh"]]);function El(e,t,n){const r=ote(e),{webkitRelativePath:a}=e,i=typeof t=="string"?t:typeof a=="string"&&a.length>0?a:`./${e.name}`;return typeof r.path!="string"&&kN(r,"path",i),kN(r,"relativePath",i),r}function ote(e){const{name:t}=e;if(t&&t.lastIndexOf(".")!==-1&&!e.type){const r=t.split(".").pop().toLowerCase(),a=ate.get(r);a&&Object.defineProperty(e,"type",{value:a,writable:!1,configurable:!1,enumerable:!0})}return e}function kN(e,t,n){Object.defineProperty(e,t,{value:n,writable:!1,configurable:!1,enumerable:!0})}const ite=[".DS_Store","Thumbs.db"];function lte(e){return ci(this,void 0,void 0,function*(){return qd(e)&&ste(e.dataTransfer)?fte(e.dataTransfer,e.type):ute(e)?cte(e):Array.isArray(e)&&e.every(t=>"getFile"in t&&typeof t.getFile=="function")?dte(e):[]})}function ste(e){return qd(e)}function ute(e){return qd(e)&&qd(e.target)}function qd(e){return typeof e=="object"&&e!==null}function cte(e){return Jx(e.target.files).map(t=>El(t))}function dte(e){return ci(this,void 0,void 0,function*(){return(yield Promise.all(e.map(n=>n.getFile()))).map(n=>El(n))})}function fte(e,t){return ci(this,void 0,void 0,function*(){if(e.items){const n=Jx(e.items).filter(a=>a.kind==="file");if(t!=="drop")return n;const r=yield Promise.all(n.map(pte));return AN(i4(r))}return AN(Jx(e.files).map(n=>El(n)))})}function AN(e){return e.filter(t=>ite.indexOf(t.name)===-1)}function Jx(e){if(e===null)return[];const t=[];for(let n=0;n[...t,...Array.isArray(n)?i4(n):[n]],[])}function TN(e,t){return ci(this,void 0,void 0,function*(){var n;if(globalThis.isSecureContext&&typeof e.getAsFileSystemHandle=="function"){const i=yield e.getAsFileSystemHandle();if(i===null)throw new Error(`${e} is not a File`);if(i!==void 0){const l=yield i.getFile();return l.handle=i,El(l)}}const r=e.getAsFile();if(!r)throw new Error(`${e} is not a File`);return El(r,(n=t==null?void 0:t.fullPath)!==null&&n!==void 0?n:void 0)})}function gte(e){return ci(this,void 0,void 0,function*(){return e.isDirectory?l4(e):hte(e)})}function l4(e){const t=e.createReader();return new Promise((n,r)=>{const a=[];function i(){t.readEntries(l=>ci(this,void 0,void 0,function*(){if(l.length){const u=Promise.all(l.map(gte));a.push(u),i()}else try{const u=yield Promise.all(a);n(u)}catch(u){r(u)}}),l=>{r(l)})}i()})}function hte(e){return ci(this,void 0,void 0,function*(){return new Promise((t,n)=>{e.file(r=>{const a=El(r,e.fullPath);t(a)},r=>{n(r)})})})}var ad={},_N;function mte(){return _N||(_N=1,ad.__esModule=!0,ad.default=function(e,t){if(e&&t){var n=Array.isArray(t)?t:t.split(",");if(n.length===0)return!0;var r=e.name||"",a=(e.type||"").toLowerCase(),i=a.replace(/\/.*$/,"");return n.some(function(l){var u=l.trim().toLowerCase();return u.charAt(0)==="."?r.toLowerCase().endsWith(u):u.endsWith("/*")?i===u.replace(/\/.*$/,""):a===u})}return!0}),ad}var bte=mte();const bm=an(bte);function RN(e){return Ste(e)||vte(e)||u4(e)||yte()}function yte(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Xx(e){return Aee(e)||Tee(e)||_ee(e)||Ree()}function Cee(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function Nee(e,t){if(e==null)return{};var n,r,a=Cee(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;rye.createElement("div",{className:"node"},ye.createElement("span",{className:"render "+(n?"circle":"disc"),style:{backgroundColor:t||"#000"}}),ye.createElement("span",{className:`label ${n?"text-muted":""} ${e?"":"text-italic"}`},e||r.no_label||"No label")),Dee=({id:e,labels:t})=>{const n=br(),r=k.useMemo(()=>{const a=n.getGraph().getNodeAttributes(e),i=n.getSetting("nodeReducer");return Object.assign(Object.assign({color:n.getSetting("defaultNodeColor")},a),i?i(e,a):{})},[n,e]);return ye.createElement(Zx,Object.assign({},r,{labels:t}))},Iee=({label:e,color:t,source:n,target:r,hidden:a,directed:i,labels:l={}})=>ye.createElement("div",{className:"edge"},ye.createElement(Zx,Object.assign({},n,{labels:l})),ye.createElement("div",{className:"body"},ye.createElement("div",{className:"render"},ye.createElement("span",{className:a?"dotted":"dash",style:{borderColor:t||"#000"}})," ",i&&ye.createElement("span",{className:"arrow",style:{borderTopColor:t||"#000"}})),ye.createElement("span",{className:`label ${a?"text-muted":""} ${e?"":"fst-italic"}`},e||l.no_label||"No label")),ye.createElement(Zx,Object.assign({},r,{labels:l}))),Lee=({id:e,labels:t})=>{const n=br(),r=k.useMemo(()=>{const a=n.getGraph().getEdgeAttributes(e),i=n.getSetting("nodeReducer"),l=n.getSetting("edgeReducer"),u=n.getGraph().getNodeAttributes(n.getGraph().source(e)),c=n.getGraph().getNodeAttributes(n.getGraph().target(e));return Object.assign(Object.assign(Object.assign({color:n.getSetting("defaultEdgeColor"),directed:n.getGraph().isDirected(e)},a),l?l(e,a):{}),{source:Object.assign(Object.assign({color:n.getSetting("defaultNodeColor")},u),i?i(e,u):{}),target:Object.assign(Object.assign({color:n.getSetting("defaultNodeColor")},c),i?i(e,c):{})})},[n,e]);return ye.createElement(Iee,Object.assign({},r,{labels:t}))};function I0(e,t){const[n,r]=k.useState(e);return k.useEffect(()=>{const a=setTimeout(()=>{r(e)},t);return()=>{clearTimeout(a)}},[e,t]),n}function Mee({fetcher:e,preload:t,filterFn:n,renderOption:r,getOptionValue:a,notFound:i,loadingSkeleton:l,label:u,placeholder:c="Select...",value:f,onChange:p,onFocus:g,disabled:b=!1,className:m,noResultsMessage:S}){const[v,A]=k.useState(!1),[R,x]=k.useState(!1),[T,C]=k.useState([]),[N,_]=k.useState(!1),[O,z]=k.useState(null),[I,M]=k.useState(f),[H,q]=k.useState(null),[P,W]=k.useState(""),Z=I0(P,t?0:150),[j,G]=k.useState([]);k.useEffect(()=>{A(!0),M(f)},[f]),k.useEffect(()=>{v||(async()=>{try{_(!0),z(null);const V=f!==null?await e(f):[];G(V),C(V)}catch(V){z(V instanceof Error?V.message:"Failed to fetch options")}finally{_(!1)}})()},[v,e,f]),k.useEffect(()=>{const D=async()=>{try{_(!0),z(null);const V=await e(Z);G(V),C(V)}catch(V){z(V instanceof Error?V.message:"Failed to fetch options")}finally{_(!1)}};v&&t?t&&C(Z?j.filter(V=>n?n(V,Z):!0):j):D()},[e,Z,v,t,n]);const B=k.useCallback(D=>{D!==I&&(M(D),p(D)),x(!1)},[I,M,x,p]),X=k.useCallback(D=>{D!==H&&(q(D),g(D))},[H,q,g]);return w.jsx("div",{className:Me(b&&"cursor-not-allowed opacity-50",m),onFocus:()=>{x(!0)},onBlur:()=>x(!1),children:w.jsxs(Of,{shouldFilter:!1,className:"bg-transparent",children:[w.jsxs("div",{children:[w.jsx(R0,{placeholder:c,value:P,className:"max-h-8",onValueChange:D=>{W(D),D&&!R&&x(!0)}}),N&&T.length>0&&w.jsx("div",{className:"absolute top-1/2 right-2 flex -translate-y-1/2 transform items-center",children:w.jsx(cP,{className:"h-4 w-4 animate-spin"})})]}),w.jsxs(Df,{hidden:!R||Z.length===0,children:[O&&w.jsx("div",{className:"text-destructive p-4 text-center",children:O}),N&&T.length===0&&(l||w.jsx(Fee,{})),!N&&!O&&T.length===0&&(i||w.jsx(C0,{children:S??`No ${u.toLowerCase()} found.`})),w.jsx(Ml,{children:T.map((D,V)=>w.jsxs(w.Fragment,{children:[w.jsx(Fl,{value:a(D),onSelect:B,onMouseEnter:()=>X(a(D)),className:"truncate",children:r(D)},a(D)+`${V}`),V!==T.length-1&&w.jsx("div",{className:"bg-foreground/10 h-[1px]"},V)]}))})]})]})})}function Fee(){return w.jsx(Ml,{children:w.jsx(Fl,{disabled:!0,children:w.jsxs("div",{className:"flex w-full items-center gap-2",children:[w.jsx("div",{className:"bg-muted h-6 w-6 animate-pulse rounded-full"}),w.jsxs("div",{className:"flex flex-1 flex-col gap-1",children:[w.jsx("div",{className:"bg-muted h-4 w-24 animate-pulse rounded"}),w.jsx("div",{className:"bg-muted h-3 w-16 animate-pulse rounded"})]})]})})})}function zee(e){return w.jsxs("div",{children:[e.type==="nodes"&&w.jsx(Dee,{id:e.id}),e.type==="edges"&&w.jsx(Lee,{id:e.id}),e.type==="message"&&w.jsx("div",{children:e.message})]})}const pm="__message_item",rd={graph:null,searchEngine:null},Pee=({onChange:e,onFocus:t,value:n})=>{const r=Et.use.sigmaGraph(),a=k.useMemo(()=>{if(rd.graph==r)return rd.searchEngine;if(!r||r.nodes().length==0)return;rd.graph=r;const l=new mo({idField:"id",fields:["label"],searchOptions:{prefix:!0,fuzzy:.2,boost:{label:2}}}),u=r.nodes().map(c=>({id:c,label:r.getNodeAttribute(c,"label")}));return l.addAll(u),rd.searchEngine=l,l},[r]),i=k.useCallback(async l=>{if(t&&t(null),!l||!a)return[];const u=a.search(l).map(c=>({id:c.id,type:"nodes"}));return u.length<=lh?u:[...u.slice(0,lh),{type:"message",id:pm,message:`And ${u.length-lh} others`}]},[a,t]);return w.jsx(Mee,{className:"bg-background/60 w-24 rounded-xl border-1 opacity-60 backdrop-blur-lg transition-all hover:w-fit hover:opacity-100",fetcher:i,renderOption:zee,getOptionValue:l=>l.id,value:n&&n.type!=="message"?n.id:null,onChange:l=>{l!==pm&&e(l?{id:l,type:"nodes"}:null)},onFocus:l=>{l!==pm&&t&&t(l?{id:l,type:"nodes"}:null)},label:"item",placeholder:"Search nodes..."})},Bee=({...e})=>w.jsx(Pee,{...e});function Uee({fetcher:e,preload:t,filterFn:n,renderOption:r,getOptionValue:a,getDisplayValue:i,notFound:l,loadingSkeleton:u,label:c,placeholder:f="Select...",value:p,onChange:g,disabled:b=!1,className:m,triggerClassName:S,searchInputClassName:v,noResultsMessage:A,triggerTooltip:R,clearable:x=!0}){const[T,C]=k.useState(!1),[N,_]=k.useState(!1),[O,z]=k.useState([]),[I,M]=k.useState(!1),[H,q]=k.useState(null),[P,W]=k.useState(p),[Z,j]=k.useState(null),[G,B]=k.useState(""),X=I0(G,t?0:150),[D,V]=k.useState([]);k.useEffect(()=>{C(!0),W(p)},[p]),k.useEffect(()=>{if(p&&O.length>0){const L=O.find(Y=>a(Y)===p);L&&j(L)}},[p,O,a]),k.useEffect(()=>{T||(async()=>{try{M(!0),q(null);const Y=await e(p);V(Y),z(Y)}catch(Y){q(Y instanceof Error?Y.message:"Failed to fetch options")}finally{M(!1)}})()},[T,e,p]),k.useEffect(()=>{const L=async()=>{try{M(!0),q(null);const Y=await e(X);V(Y),z(Y)}catch(Y){q(Y instanceof Error?Y.message:"Failed to fetch options")}finally{M(!1)}};T&&t?t&&z(X?D.filter(Y=>n?n(Y,X):!0):D):L()},[e,X,T,t,n]);const U=k.useCallback(L=>{const Y=x&&L===P?"":L;W(Y),j(O.find(Q=>a(Q)===Y)||null),g(Y),_(!1)},[P,g,x,O,a]);return w.jsxs(kf,{open:N,onOpenChange:_,children:[w.jsx(Af,{asChild:!0,children:w.jsxs(Lt,{variant:"outline",role:"combobox","aria-expanded":N,className:Me("justify-between",b&&"cursor-not-allowed opacity-50",S),disabled:b,tooltip:R,side:"bottom",children:[Z?i(Z):f,w.jsx(Aq,{className:"opacity-50",size:10})]})}),w.jsx(yu,{className:Me("p-0",m),onCloseAutoFocus:L=>L.preventDefault(),children:w.jsxs(Of,{shouldFilter:!1,children:[w.jsxs("div",{className:"relative w-full border-b",children:[w.jsx(R0,{placeholder:`Search ${c.toLowerCase()}...`,value:G,onValueChange:L=>{B(L)},className:v}),I&&O.length>0&&w.jsx("div",{className:"absolute top-1/2 right-2 flex -translate-y-1/2 transform items-center",children:w.jsx(cP,{className:"h-4 w-4 animate-spin"})})]}),w.jsxs(Df,{children:[H&&w.jsx("div",{className:"text-destructive p-4 text-center",children:H}),I&&O.length===0&&(u||w.jsx(jee,{})),!I&&!H&&O.length===0&&(l||w.jsx(C0,{children:A??`No ${c.toLowerCase()} found.`})),w.jsx(Ml,{children:O.map(L=>w.jsxs(Fl,{value:a(L),onSelect:U,className:"truncate",children:[r(L),w.jsx(Nk,{className:Me("ml-auto h-3 w-3",P===a(L)?"opacity-100":"opacity-0")})]},a(L)))})]})]})})]})}function jee(){return w.jsx(Ml,{children:w.jsx(Fl,{disabled:!0,children:w.jsxs("div",{className:"flex w-full items-center gap-2",children:[w.jsx("div",{className:"bg-muted h-6 w-6 animate-pulse rounded-full"}),w.jsxs("div",{className:"flex flex-1 flex-col gap-1",children:[w.jsx("div",{className:"bg-muted h-4 w-24 animate-pulse rounded"}),w.jsx("div",{className:"bg-muted h-3 w-16 animate-pulse rounded"})]})]})})})}const tl={graph:null,searchEngine:null,labels:[]},Gee=()=>{const e=We.use.queryLabel(),t=Et.use.sigmaGraph(),n=k.useCallback(async()=>{if(tl.graph==t)return{labels:tl.labels,searchEngine:tl.searchEngine};const i=["*"].concat(await uq());i.includes(We.getState().queryLabel)||We.getState().setQueryLabel(i[0]);const l=new mo({idField:"id",fields:["value"],searchOptions:{prefix:!0,fuzzy:.2,boost:{label:2}}}),u=i.map((c,f)=>({id:f,value:c}));return l.addAll(u),tl.graph=t,tl.searchEngine=l,tl.labels=i,{labels:i,searchEngine:l}},[t]),r=k.useCallback(async i=>{const{labels:l,searchEngine:u}=await n();let c=l;return i&&(c=u.search(i).map(f=>l[f.id])),c.length<=sh?c:[...c.slice(0,sh),`And ${c.length-sh} others`]},[n]),a=k.useCallback(i=>{i.startsWith("And ")&&i.endsWith(" others")||We.getState().setQueryLabel(i)},[]);return w.jsx(Uee,{className:"ml-2",triggerClassName:"max-h-8",searchInputClassName:"max-h-8",triggerTooltip:"Select query label",fetcher:r,renderOption:i=>w.jsx("div",{children:i}),getOptionValue:i=>i,getDisplayValue:i=>w.jsx("div",{children:i}),notFound:w.jsx("div",{className:"py-6 text-center text-sm",children:"No labels found"}),label:"Label",placeholder:"Search labels...",value:e!==null?e:"",onChange:a})},Mn=({text:e,className:t,tooltipClassName:n,tooltip:r,side:a,onClick:i})=>r?w.jsx(FB,{delayDuration:200,children:w.jsxs(zB,{children:[w.jsx(PB,{asChild:!0,children:w.jsx("label",{className:Me(t,i!==void 0?"cursor-pointer":void 0),onClick:i,children:e})}),w.jsx(a0,{side:a,className:n,children:r})]})}):w.jsx("label",{className:Me(t,i!==void 0?"cursor-pointer":void 0),onClick:i,children:e}),Hee=()=>{const{getNode:e,getEdge:t}=U3(),n=Et.use.selectedNode(),r=Et.use.focusedNode(),a=Et.use.selectedEdge(),i=Et.use.focusedEdge(),[l,u]=k.useState(null),[c,f]=k.useState(null);return k.useEffect(()=>{let p=null,g=null;r?(p="node",g=e(r)):n?(p="node",g=e(n)):i?(p="edge",g=t(i,!0)):a&&(p="edge",g=t(a,!0)),g?(p=="node"?u($ee(g)):u(qee(g)),f(p)):(u(null),f(null))},[r,n,i,a,u,f,e,t]),l?w.jsx("div",{className:"bg-background/80 max-w-xs rounded-lg border-2 p-2 text-xs backdrop-blur-lg",children:c=="node"?w.jsx(Vee,{node:l}):w.jsx(Wee,{edge:l})}):w.jsx(w.Fragment,{})},$ee=e=>{const t=Et.getState(),n=[];if(t.sigmaGraph&&t.rawGraph)for(const r of t.sigmaGraph.edges(e.id)){const a=t.rawGraph.getEdge(r,!0);if(a){const l=e.id===a.source?a.target:a.source,u=t.rawGraph.getNode(l);u&&n.push({type:"Neighbour",id:l,label:u.properties.entity_id?u.properties.entity_id:u.labels.join(", ")})}}return{...e,relationships:n}},qee=e=>{var a,i;const t=Et.getState(),n=(a=t.rawGraph)==null?void 0:a.getNode(e.source),r=(i=t.rawGraph)==null?void 0:i.getNode(e.target);return{...e,sourceNode:n,targetNode:r}},Wr=({name:e,value:t,onClick:n,tooltip:r})=>w.jsxs("div",{className:"flex items-center gap-2",children:[w.jsx("label",{className:"text-primary/60 tracking-wide",children:e}),":",w.jsx(Mn,{className:"hover:bg-primary/20 rounded p-1 text-ellipsis",tooltipClassName:"max-w-80",text:t,tooltip:r||(typeof t=="string"?t:JSON.stringify(t,null,2)),side:"left",onClick:n})]}),Vee=({node:e})=>w.jsxs("div",{className:"flex flex-col gap-2",children:[w.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-sky-300",children:"Node"}),w.jsxs("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:[w.jsx(Wr,{name:"Id",value:e.id}),w.jsx(Wr,{name:"Labels",value:e.labels.join(", "),onClick:()=>{Et.getState().setSelectedNode(e.id,!0)}}),w.jsx(Wr,{name:"Degree",value:e.degree})]}),w.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-yellow-400/90",children:"Properties"}),w.jsx("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:Object.keys(e.properties).sort().map(t=>w.jsx(Wr,{name:t,value:e.properties[t]},t))}),e.relationships.length>0&&w.jsxs(w.Fragment,{children:[w.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-teal-600/90",children:"Relationships"}),w.jsx("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:e.relationships.map(({type:t,id:n,label:r})=>w.jsx(Wr,{name:t,value:r,onClick:()=>{Et.getState().setSelectedNode(n,!0)}},n))})]})]}),Wee=({edge:e})=>w.jsxs("div",{className:"flex flex-col gap-2",children:[w.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-teal-600",children:"Relationship"}),w.jsxs("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:[w.jsx(Wr,{name:"Id",value:e.id}),e.type&&w.jsx(Wr,{name:"Type",value:e.type}),w.jsx(Wr,{name:"Source",value:e.sourceNode?e.sourceNode.labels.join(", "):e.source,onClick:()=>{Et.getState().setSelectedNode(e.source,!0)}}),w.jsx(Wr,{name:"Target",value:e.targetNode?e.targetNode.labels.join(", "):e.target,onClick:()=>{Et.getState().setSelectedNode(e.target,!0)}})]}),w.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-yellow-400/90",children:"Properties"}),w.jsx("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:Object.keys(e.properties).sort().map(t=>w.jsx(Wr,{name:t,value:e.properties[t]},t))})]}),SN={allowInvalidContainer:!0,defaultNodeType:"default",defaultEdgeType:"curvedArrow",renderEdgeLabels:!1,edgeProgramClasses:{arrow:QU,curvedArrow:uQ,curvedNoArrow:sQ},nodeProgramClasses:{default:qZ,circel:Su,point:vZ},labelGridCellSize:60,labelRenderedSizeThreshold:12,enableEdgeEvents:!0,labelColor:{color:"#000",attribute:"labelColor"},edgeLabelColor:{color:"#000",attribute:"labelColor"},edgeLabelSize:8,labelSize:12},Yee=()=>{const e=i3(),t=br(),[n,r]=k.useState(null);return k.useEffect(()=>{e({downNode:a=>{r(a.node),t.getGraph().setNodeAttribute(a.node,"highlighted",!0)},mousemovebody:a=>{if(!n)return;const i=t.viewportToGraph(a);t.getGraph().setNodeAttribute(n,"x",i.x),t.getGraph().setNodeAttribute(n,"y",i.y),a.preventSigmaDefault(),a.original.preventDefault(),a.original.stopPropagation()},mouseup:()=>{n&&(r(null),t.getGraph().removeNodeAttribute(n,"highlighted"))},mousedown:()=>{t.getCustomBBox()||t.setCustomBBox(t.getBBox())}})},[e,t,n]),null},Kee=()=>{const[e,t]=k.useState(SN),n=Et.use.selectedNode(),r=Et.use.focusedNode(),a=Et.use.moveToSelectedNode(),i=We.use.showPropertyPanel(),l=We.use.showNodeSearchBar(),u=We.use.showNodeLabel(),c=We.use.enableEdgeEvents(),f=We.use.enableNodeDrag(),p=We.use.showEdgeLabel();k.useEffect(()=>{t({...SN,enableEdgeEvents:c,renderEdgeLabels:p,renderLabels:u})},[u,c,p]);const g=k.useCallback(v=>{v===null?Et.getState().setFocusedNode(null):v.type==="nodes"&&Et.getState().setFocusedNode(v.id)},[]),b=k.useCallback(v=>{v===null?Et.getState().setSelectedNode(null):v.type==="nodes"&&Et.getState().setSelectedNode(v.id,!0)},[]),m=k.useMemo(()=>r??n,[r,n]),S=k.useMemo(()=>n?{type:"nodes",id:n}:null,[n]);return w.jsxs(pZ,{settings:e,className:"!bg-background !size-full overflow-hidden",children:[w.jsx(eee,{}),f&&w.jsx(Yee,{}),w.jsx(fQ,{node:m,move:a}),w.jsxs("div",{className:"absolute top-2 left-2 flex items-start gap-2",children:[w.jsx(Gee,{}),l&&w.jsx(Bee,{value:S,onFocus:g,onChange:b})]}),w.jsxs("div",{className:"bg-background/60 absolute bottom-2 left-2 flex flex-col rounded-xl border-2 backdrop-blur-lg",children:[w.jsx(dee,{}),w.jsx(tee,{}),w.jsx(NJ,{}),w.jsx(nee,{})]}),i&&w.jsx("div",{className:"absolute top-2 right-2",children:w.jsx(Hee,{})})]})},r4=k.forwardRef(({className:e,...t},n)=>w.jsx("div",{className:"relative w-full overflow-auto",children:w.jsx("table",{ref:n,className:Me("w-full caption-bottom text-sm",e),...t})}));r4.displayName="Table";const a4=k.forwardRef(({className:e,...t},n)=>w.jsx("thead",{ref:n,className:Me("[&_tr]:border-b",e),...t}));a4.displayName="TableHeader";const o4=k.forwardRef(({className:e,...t},n)=>w.jsx("tbody",{ref:n,className:Me("[&_tr:last-child]:border-0",e),...t}));o4.displayName="TableBody";const Xee=k.forwardRef(({className:e,...t},n)=>w.jsx("tfoot",{ref:n,className:Me("bg-muted/50 border-t font-medium [&>tr]:last:border-b-0",e),...t}));Xee.displayName="TableFooter";const Qx=k.forwardRef(({className:e,...t},n)=>w.jsx("tr",{ref:n,className:Me("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",e),...t}));Qx.displayName="TableRow";const Ta=k.forwardRef(({className:e,...t},n)=>w.jsx("th",{ref:n,className:Me("text-muted-foreground h-10 px-2 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));Ta.displayName="TableHead";const _a=k.forwardRef(({className:e,...t},n)=>w.jsx("td",{ref:n,className:Me("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));_a.displayName="TableCell";const Zee=k.forwardRef(({className:e,...t},n)=>w.jsx("caption",{ref:n,className:Me("text-muted-foreground mt-4 text-sm",e),...t}));Zee.displayName="TableCaption";const ou=k.forwardRef(({className:e,...t},n)=>w.jsx("div",{ref:n,className:Me("bg-card text-card-foreground rounded-xl border shadow",e),...t}));ou.displayName="Card";const Hd=k.forwardRef(({className:e,...t},n)=>w.jsx("div",{ref:n,className:Me("flex flex-col space-y-1.5 p-6",e),...t}));Hd.displayName="CardHeader";const iu=k.forwardRef(({className:e,...t},n)=>w.jsx("div",{ref:n,className:Me("leading-none font-semibold tracking-tight",e),...t}));iu.displayName="CardTitle";const If=k.forwardRef(({className:e,...t},n)=>w.jsx("div",{ref:n,className:Me("text-muted-foreground text-sm",e),...t}));If.displayName="CardDescription";const $d=k.forwardRef(({className:e,...t},n)=>w.jsx("div",{ref:n,className:Me("p-6 pt-0",e),...t}));$d.displayName="CardContent";const Qee=k.forwardRef(({className:e,...t},n)=>w.jsx("div",{ref:n,className:Me("flex items-center p-6 pt-0",e),...t}));Qee.displayName="CardFooter";function Jee({title:e,description:t,icon:n=Lq,action:r,className:a,...i}){return w.jsxs(ou,{className:Me("flex w-full flex-col items-center justify-center space-y-6 bg-transparent p-16",a),...i,children:[w.jsx("div",{className:"mr-4 shrink-0 rounded-full border border-dashed p-4",children:w.jsx(n,{className:"text-muted-foreground size-8","aria-hidden":"true"})}),w.jsxs("div",{className:"flex flex-col items-center gap-1.5 text-center",children:[w.jsx(iu,{children:e}),t?w.jsx(If,{children:t}):null]}),r||null]})}var gm={exports:{}},hm,EN;function ete(){if(EN)return hm;EN=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return hm=e,hm}var mm,wN;function tte(){if(wN)return mm;wN=1;var e=ete();function t(){}function n(){}return n.resetWarningCache=t,mm=function(){function r(l,u,c,f,p,g){if(g!==e){var b=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw b.name="Invariant Violation",b}}r.isRequired=r;function a(){return r}var i={array:r,bigint:r,bool:r,func:r,number:r,object:r,string:r,symbol:r,any:r,arrayOf:a,element:r,elementType:r,instanceOf:a,node:r,objectOf:a,oneOf:a,oneOfType:a,shape:a,exact:a,checkPropTypes:n,resetWarningCache:t};return i.PropTypes=i,i},mm}var xN;function nte(){return xN||(xN=1,gm.exports=tte()()),gm.exports}var rte=nte();const Ct=an(rte),ate=new Map([["1km","application/vnd.1000minds.decision-model+xml"],["3dml","text/vnd.in3d.3dml"],["3ds","image/x-3ds"],["3g2","video/3gpp2"],["3gp","video/3gp"],["3gpp","video/3gpp"],["3mf","model/3mf"],["7z","application/x-7z-compressed"],["7zip","application/x-7z-compressed"],["123","application/vnd.lotus-1-2-3"],["aab","application/x-authorware-bin"],["aac","audio/x-acc"],["aam","application/x-authorware-map"],["aas","application/x-authorware-seg"],["abw","application/x-abiword"],["ac","application/vnd.nokia.n-gage.ac+xml"],["ac3","audio/ac3"],["acc","application/vnd.americandynamics.acc"],["ace","application/x-ace-compressed"],["acu","application/vnd.acucobol"],["acutc","application/vnd.acucorp"],["adp","audio/adpcm"],["aep","application/vnd.audiograph"],["afm","application/x-font-type1"],["afp","application/vnd.ibm.modcap"],["ahead","application/vnd.ahead.space"],["ai","application/pdf"],["aif","audio/x-aiff"],["aifc","audio/x-aiff"],["aiff","audio/x-aiff"],["air","application/vnd.adobe.air-application-installer-package+zip"],["ait","application/vnd.dvb.ait"],["ami","application/vnd.amiga.ami"],["amr","audio/amr"],["apk","application/vnd.android.package-archive"],["apng","image/apng"],["appcache","text/cache-manifest"],["application","application/x-ms-application"],["apr","application/vnd.lotus-approach"],["arc","application/x-freearc"],["arj","application/x-arj"],["asc","application/pgp-signature"],["asf","video/x-ms-asf"],["asm","text/x-asm"],["aso","application/vnd.accpac.simply.aso"],["asx","video/x-ms-asf"],["atc","application/vnd.acucorp"],["atom","application/atom+xml"],["atomcat","application/atomcat+xml"],["atomdeleted","application/atomdeleted+xml"],["atomsvc","application/atomsvc+xml"],["atx","application/vnd.antix.game-component"],["au","audio/x-au"],["avi","video/x-msvideo"],["avif","image/avif"],["aw","application/applixware"],["azf","application/vnd.airzip.filesecure.azf"],["azs","application/vnd.airzip.filesecure.azs"],["azv","image/vnd.airzip.accelerator.azv"],["azw","application/vnd.amazon.ebook"],["b16","image/vnd.pco.b16"],["bat","application/x-msdownload"],["bcpio","application/x-bcpio"],["bdf","application/x-font-bdf"],["bdm","application/vnd.syncml.dm+wbxml"],["bdoc","application/x-bdoc"],["bed","application/vnd.realvnc.bed"],["bh2","application/vnd.fujitsu.oasysprs"],["bin","application/octet-stream"],["blb","application/x-blorb"],["blorb","application/x-blorb"],["bmi","application/vnd.bmi"],["bmml","application/vnd.balsamiq.bmml+xml"],["bmp","image/bmp"],["book","application/vnd.framemaker"],["box","application/vnd.previewsystems.box"],["boz","application/x-bzip2"],["bpk","application/octet-stream"],["bpmn","application/octet-stream"],["bsp","model/vnd.valve.source.compiled-map"],["btif","image/prs.btif"],["buffer","application/octet-stream"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["c","text/x-c"],["c4d","application/vnd.clonk.c4group"],["c4f","application/vnd.clonk.c4group"],["c4g","application/vnd.clonk.c4group"],["c4p","application/vnd.clonk.c4group"],["c4u","application/vnd.clonk.c4group"],["c11amc","application/vnd.cluetrust.cartomobile-config"],["c11amz","application/vnd.cluetrust.cartomobile-config-pkg"],["cab","application/vnd.ms-cab-compressed"],["caf","audio/x-caf"],["cap","application/vnd.tcpdump.pcap"],["car","application/vnd.curl.car"],["cat","application/vnd.ms-pki.seccat"],["cb7","application/x-cbr"],["cba","application/x-cbr"],["cbr","application/x-cbr"],["cbt","application/x-cbr"],["cbz","application/x-cbr"],["cc","text/x-c"],["cco","application/x-cocoa"],["cct","application/x-director"],["ccxml","application/ccxml+xml"],["cdbcmsg","application/vnd.contact.cmsg"],["cda","application/x-cdf"],["cdf","application/x-netcdf"],["cdfx","application/cdfx+xml"],["cdkey","application/vnd.mediastation.cdkey"],["cdmia","application/cdmi-capability"],["cdmic","application/cdmi-container"],["cdmid","application/cdmi-domain"],["cdmio","application/cdmi-object"],["cdmiq","application/cdmi-queue"],["cdr","application/cdr"],["cdx","chemical/x-cdx"],["cdxml","application/vnd.chemdraw+xml"],["cdy","application/vnd.cinderella"],["cer","application/pkix-cert"],["cfs","application/x-cfs-compressed"],["cgm","image/cgm"],["chat","application/x-chat"],["chm","application/vnd.ms-htmlhelp"],["chrt","application/vnd.kde.kchart"],["cif","chemical/x-cif"],["cii","application/vnd.anser-web-certificate-issue-initiation"],["cil","application/vnd.ms-artgalry"],["cjs","application/node"],["cla","application/vnd.claymore"],["class","application/octet-stream"],["clkk","application/vnd.crick.clicker.keyboard"],["clkp","application/vnd.crick.clicker.palette"],["clkt","application/vnd.crick.clicker.template"],["clkw","application/vnd.crick.clicker.wordbank"],["clkx","application/vnd.crick.clicker"],["clp","application/x-msclip"],["cmc","application/vnd.cosmocaller"],["cmdf","chemical/x-cmdf"],["cml","chemical/x-cml"],["cmp","application/vnd.yellowriver-custom-menu"],["cmx","image/x-cmx"],["cod","application/vnd.rim.cod"],["coffee","text/coffeescript"],["com","application/x-msdownload"],["conf","text/plain"],["cpio","application/x-cpio"],["cpp","text/x-c"],["cpt","application/mac-compactpro"],["crd","application/x-mscardfile"],["crl","application/pkix-crl"],["crt","application/x-x509-ca-cert"],["crx","application/x-chrome-extension"],["cryptonote","application/vnd.rig.cryptonote"],["csh","application/x-csh"],["csl","application/vnd.citationstyles.style+xml"],["csml","chemical/x-csml"],["csp","application/vnd.commonspace"],["csr","application/octet-stream"],["css","text/css"],["cst","application/x-director"],["csv","text/csv"],["cu","application/cu-seeme"],["curl","text/vnd.curl"],["cww","application/prs.cww"],["cxt","application/x-director"],["cxx","text/x-c"],["dae","model/vnd.collada+xml"],["daf","application/vnd.mobius.daf"],["dart","application/vnd.dart"],["dataless","application/vnd.fdsn.seed"],["davmount","application/davmount+xml"],["dbf","application/vnd.dbf"],["dbk","application/docbook+xml"],["dcr","application/x-director"],["dcurl","text/vnd.curl.dcurl"],["dd2","application/vnd.oma.dd2+xml"],["ddd","application/vnd.fujixerox.ddd"],["ddf","application/vnd.syncml.dmddf+xml"],["dds","image/vnd.ms-dds"],["deb","application/x-debian-package"],["def","text/plain"],["deploy","application/octet-stream"],["der","application/x-x509-ca-cert"],["dfac","application/vnd.dreamfactory"],["dgc","application/x-dgc-compressed"],["dic","text/x-c"],["dir","application/x-director"],["dis","application/vnd.mobius.dis"],["disposition-notification","message/disposition-notification"],["dist","application/octet-stream"],["distz","application/octet-stream"],["djv","image/vnd.djvu"],["djvu","image/vnd.djvu"],["dll","application/octet-stream"],["dmg","application/x-apple-diskimage"],["dmn","application/octet-stream"],["dmp","application/vnd.tcpdump.pcap"],["dms","application/octet-stream"],["dna","application/vnd.dna"],["doc","application/msword"],["docm","application/vnd.ms-word.template.macroEnabled.12"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["dot","application/msword"],["dotm","application/vnd.ms-word.template.macroEnabled.12"],["dotx","application/vnd.openxmlformats-officedocument.wordprocessingml.template"],["dp","application/vnd.osgi.dp"],["dpg","application/vnd.dpgraph"],["dra","audio/vnd.dra"],["drle","image/dicom-rle"],["dsc","text/prs.lines.tag"],["dssc","application/dssc+der"],["dtb","application/x-dtbook+xml"],["dtd","application/xml-dtd"],["dts","audio/vnd.dts"],["dtshd","audio/vnd.dts.hd"],["dump","application/octet-stream"],["dvb","video/vnd.dvb.file"],["dvi","application/x-dvi"],["dwd","application/atsc-dwd+xml"],["dwf","model/vnd.dwf"],["dwg","image/vnd.dwg"],["dxf","image/vnd.dxf"],["dxp","application/vnd.spotfire.dxp"],["dxr","application/x-director"],["ear","application/java-archive"],["ecelp4800","audio/vnd.nuera.ecelp4800"],["ecelp7470","audio/vnd.nuera.ecelp7470"],["ecelp9600","audio/vnd.nuera.ecelp9600"],["ecma","application/ecmascript"],["edm","application/vnd.novadigm.edm"],["edx","application/vnd.novadigm.edx"],["efif","application/vnd.picsel"],["ei6","application/vnd.pg.osasli"],["elc","application/octet-stream"],["emf","image/emf"],["eml","message/rfc822"],["emma","application/emma+xml"],["emotionml","application/emotionml+xml"],["emz","application/x-msmetafile"],["eol","audio/vnd.digital-winds"],["eot","application/vnd.ms-fontobject"],["eps","application/postscript"],["epub","application/epub+zip"],["es","application/ecmascript"],["es3","application/vnd.eszigno3+xml"],["esa","application/vnd.osgi.subsystem"],["esf","application/vnd.epson.esf"],["et3","application/vnd.eszigno3+xml"],["etx","text/x-setext"],["eva","application/x-eva"],["evy","application/x-envoy"],["exe","application/octet-stream"],["exi","application/exi"],["exp","application/express"],["exr","image/aces"],["ext","application/vnd.novadigm.ext"],["ez","application/andrew-inset"],["ez2","application/vnd.ezpix-album"],["ez3","application/vnd.ezpix-package"],["f","text/x-fortran"],["f4v","video/mp4"],["f77","text/x-fortran"],["f90","text/x-fortran"],["fbs","image/vnd.fastbidsheet"],["fcdt","application/vnd.adobe.formscentral.fcdt"],["fcs","application/vnd.isac.fcs"],["fdf","application/vnd.fdf"],["fdt","application/fdt+xml"],["fe_launch","application/vnd.denovo.fcselayout-link"],["fg5","application/vnd.fujitsu.oasysgp"],["fgd","application/x-director"],["fh","image/x-freehand"],["fh4","image/x-freehand"],["fh5","image/x-freehand"],["fh7","image/x-freehand"],["fhc","image/x-freehand"],["fig","application/x-xfig"],["fits","image/fits"],["flac","audio/x-flac"],["fli","video/x-fli"],["flo","application/vnd.micrografx.flo"],["flv","video/x-flv"],["flw","application/vnd.kde.kivio"],["flx","text/vnd.fmi.flexstor"],["fly","text/vnd.fly"],["fm","application/vnd.framemaker"],["fnc","application/vnd.frogans.fnc"],["fo","application/vnd.software602.filler.form+xml"],["for","text/x-fortran"],["fpx","image/vnd.fpx"],["frame","application/vnd.framemaker"],["fsc","application/vnd.fsc.weblaunch"],["fst","image/vnd.fst"],["ftc","application/vnd.fluxtime.clip"],["fti","application/vnd.anser-web-funds-transfer-initiation"],["fvt","video/vnd.fvt"],["fxp","application/vnd.adobe.fxp"],["fxpl","application/vnd.adobe.fxp"],["fzs","application/vnd.fuzzysheet"],["g2w","application/vnd.geoplan"],["g3","image/g3fax"],["g3w","application/vnd.geospace"],["gac","application/vnd.groove-account"],["gam","application/x-tads"],["gbr","application/rpki-ghostbusters"],["gca","application/x-gca-compressed"],["gdl","model/vnd.gdl"],["gdoc","application/vnd.google-apps.document"],["geo","application/vnd.dynageo"],["geojson","application/geo+json"],["gex","application/vnd.geometry-explorer"],["ggb","application/vnd.geogebra.file"],["ggt","application/vnd.geogebra.tool"],["ghf","application/vnd.groove-help"],["gif","image/gif"],["gim","application/vnd.groove-identity-message"],["glb","model/gltf-binary"],["gltf","model/gltf+json"],["gml","application/gml+xml"],["gmx","application/vnd.gmx"],["gnumeric","application/x-gnumeric"],["gpg","application/gpg-keys"],["gph","application/vnd.flographit"],["gpx","application/gpx+xml"],["gqf","application/vnd.grafeq"],["gqs","application/vnd.grafeq"],["gram","application/srgs"],["gramps","application/x-gramps-xml"],["gre","application/vnd.geometry-explorer"],["grv","application/vnd.groove-injector"],["grxml","application/srgs+xml"],["gsf","application/x-font-ghostscript"],["gsheet","application/vnd.google-apps.spreadsheet"],["gslides","application/vnd.google-apps.presentation"],["gtar","application/x-gtar"],["gtm","application/vnd.groove-tool-message"],["gtw","model/vnd.gtw"],["gv","text/vnd.graphviz"],["gxf","application/gxf"],["gxt","application/vnd.geonext"],["gz","application/gzip"],["gzip","application/gzip"],["h","text/x-c"],["h261","video/h261"],["h263","video/h263"],["h264","video/h264"],["hal","application/vnd.hal+xml"],["hbci","application/vnd.hbci"],["hbs","text/x-handlebars-template"],["hdd","application/x-virtualbox-hdd"],["hdf","application/x-hdf"],["heic","image/heic"],["heics","image/heic-sequence"],["heif","image/heif"],["heifs","image/heif-sequence"],["hej2","image/hej2k"],["held","application/atsc-held+xml"],["hh","text/x-c"],["hjson","application/hjson"],["hlp","application/winhlp"],["hpgl","application/vnd.hp-hpgl"],["hpid","application/vnd.hp-hpid"],["hps","application/vnd.hp-hps"],["hqx","application/mac-binhex40"],["hsj2","image/hsj2"],["htc","text/x-component"],["htke","application/vnd.kenameaapp"],["htm","text/html"],["html","text/html"],["hvd","application/vnd.yamaha.hv-dic"],["hvp","application/vnd.yamaha.hv-voice"],["hvs","application/vnd.yamaha.hv-script"],["i2g","application/vnd.intergeo"],["icc","application/vnd.iccprofile"],["ice","x-conference/x-cooltalk"],["icm","application/vnd.iccprofile"],["ico","image/x-icon"],["ics","text/calendar"],["ief","image/ief"],["ifb","text/calendar"],["ifm","application/vnd.shana.informed.formdata"],["iges","model/iges"],["igl","application/vnd.igloader"],["igm","application/vnd.insors.igm"],["igs","model/iges"],["igx","application/vnd.micrografx.igx"],["iif","application/vnd.shana.informed.interchange"],["img","application/octet-stream"],["imp","application/vnd.accpac.simply.imp"],["ims","application/vnd.ms-ims"],["in","text/plain"],["ini","text/plain"],["ink","application/inkml+xml"],["inkml","application/inkml+xml"],["install","application/x-install-instructions"],["iota","application/vnd.astraea-software.iota"],["ipfix","application/ipfix"],["ipk","application/vnd.shana.informed.package"],["irm","application/vnd.ibm.rights-management"],["irp","application/vnd.irepository.package+xml"],["iso","application/x-iso9660-image"],["itp","application/vnd.shana.informed.formtemplate"],["its","application/its+xml"],["ivp","application/vnd.immervision-ivp"],["ivu","application/vnd.immervision-ivu"],["jad","text/vnd.sun.j2me.app-descriptor"],["jade","text/jade"],["jam","application/vnd.jam"],["jar","application/java-archive"],["jardiff","application/x-java-archive-diff"],["java","text/x-java-source"],["jhc","image/jphc"],["jisp","application/vnd.jisp"],["jls","image/jls"],["jlt","application/vnd.hp-jlyt"],["jng","image/x-jng"],["jnlp","application/x-java-jnlp-file"],["joda","application/vnd.joost.joda-archive"],["jp2","image/jp2"],["jpe","image/jpeg"],["jpeg","image/jpeg"],["jpf","image/jpx"],["jpg","image/jpeg"],["jpg2","image/jp2"],["jpgm","video/jpm"],["jpgv","video/jpeg"],["jph","image/jph"],["jpm","video/jpm"],["jpx","image/jpx"],["js","application/javascript"],["json","application/json"],["json5","application/json5"],["jsonld","application/ld+json"],["jsonl","application/jsonl"],["jsonml","application/jsonml+json"],["jsx","text/jsx"],["jxr","image/jxr"],["jxra","image/jxra"],["jxrs","image/jxrs"],["jxs","image/jxs"],["jxsc","image/jxsc"],["jxsi","image/jxsi"],["jxss","image/jxss"],["kar","audio/midi"],["karbon","application/vnd.kde.karbon"],["kdb","application/octet-stream"],["kdbx","application/x-keepass2"],["key","application/x-iwork-keynote-sffkey"],["kfo","application/vnd.kde.kformula"],["kia","application/vnd.kidspiration"],["kml","application/vnd.google-earth.kml+xml"],["kmz","application/vnd.google-earth.kmz"],["kne","application/vnd.kinar"],["knp","application/vnd.kinar"],["kon","application/vnd.kde.kontour"],["kpr","application/vnd.kde.kpresenter"],["kpt","application/vnd.kde.kpresenter"],["kpxx","application/vnd.ds-keypoint"],["ksp","application/vnd.kde.kspread"],["ktr","application/vnd.kahootz"],["ktx","image/ktx"],["ktx2","image/ktx2"],["ktz","application/vnd.kahootz"],["kwd","application/vnd.kde.kword"],["kwt","application/vnd.kde.kword"],["lasxml","application/vnd.las.las+xml"],["latex","application/x-latex"],["lbd","application/vnd.llamagraphics.life-balance.desktop"],["lbe","application/vnd.llamagraphics.life-balance.exchange+xml"],["les","application/vnd.hhe.lesson-player"],["less","text/less"],["lgr","application/lgr+xml"],["lha","application/octet-stream"],["link66","application/vnd.route66.link66+xml"],["list","text/plain"],["list3820","application/vnd.ibm.modcap"],["listafp","application/vnd.ibm.modcap"],["litcoffee","text/coffeescript"],["lnk","application/x-ms-shortcut"],["log","text/plain"],["lostxml","application/lost+xml"],["lrf","application/octet-stream"],["lrm","application/vnd.ms-lrm"],["ltf","application/vnd.frogans.ltf"],["lua","text/x-lua"],["luac","application/x-lua-bytecode"],["lvp","audio/vnd.lucent.voice"],["lwp","application/vnd.lotus-wordpro"],["lzh","application/octet-stream"],["m1v","video/mpeg"],["m2a","audio/mpeg"],["m2v","video/mpeg"],["m3a","audio/mpeg"],["m3u","text/plain"],["m3u8","application/vnd.apple.mpegurl"],["m4a","audio/x-m4a"],["m4p","application/mp4"],["m4s","video/iso.segment"],["m4u","application/vnd.mpegurl"],["m4v","video/x-m4v"],["m13","application/x-msmediaview"],["m14","application/x-msmediaview"],["m21","application/mp21"],["ma","application/mathematica"],["mads","application/mads+xml"],["maei","application/mmt-aei+xml"],["mag","application/vnd.ecowin.chart"],["maker","application/vnd.framemaker"],["man","text/troff"],["manifest","text/cache-manifest"],["map","application/json"],["mar","application/octet-stream"],["markdown","text/markdown"],["mathml","application/mathml+xml"],["mb","application/mathematica"],["mbk","application/vnd.mobius.mbk"],["mbox","application/mbox"],["mc1","application/vnd.medcalcdata"],["mcd","application/vnd.mcd"],["mcurl","text/vnd.curl.mcurl"],["md","text/markdown"],["mdb","application/x-msaccess"],["mdi","image/vnd.ms-modi"],["mdx","text/mdx"],["me","text/troff"],["mesh","model/mesh"],["meta4","application/metalink4+xml"],["metalink","application/metalink+xml"],["mets","application/mets+xml"],["mfm","application/vnd.mfmp"],["mft","application/rpki-manifest"],["mgp","application/vnd.osgeo.mapguide.package"],["mgz","application/vnd.proteus.magazine"],["mid","audio/midi"],["midi","audio/midi"],["mie","application/x-mie"],["mif","application/vnd.mif"],["mime","message/rfc822"],["mj2","video/mj2"],["mjp2","video/mj2"],["mjs","application/javascript"],["mk3d","video/x-matroska"],["mka","audio/x-matroska"],["mkd","text/x-markdown"],["mks","video/x-matroska"],["mkv","video/x-matroska"],["mlp","application/vnd.dolby.mlp"],["mmd","application/vnd.chipnuts.karaoke-mmd"],["mmf","application/vnd.smaf"],["mml","text/mathml"],["mmr","image/vnd.fujixerox.edmics-mmr"],["mng","video/x-mng"],["mny","application/x-msmoney"],["mobi","application/x-mobipocket-ebook"],["mods","application/mods+xml"],["mov","video/quicktime"],["movie","video/x-sgi-movie"],["mp2","audio/mpeg"],["mp2a","audio/mpeg"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mp4a","audio/mp4"],["mp4s","application/mp4"],["mp4v","video/mp4"],["mp21","application/mp21"],["mpc","application/vnd.mophun.certificate"],["mpd","application/dash+xml"],["mpe","video/mpeg"],["mpeg","video/mpeg"],["mpg","video/mpeg"],["mpg4","video/mp4"],["mpga","audio/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["mpm","application/vnd.blueice.multipass"],["mpn","application/vnd.mophun.application"],["mpp","application/vnd.ms-project"],["mpt","application/vnd.ms-project"],["mpy","application/vnd.ibm.minipay"],["mqy","application/vnd.mobius.mqy"],["mrc","application/marc"],["mrcx","application/marcxml+xml"],["ms","text/troff"],["mscml","application/mediaservercontrol+xml"],["mseed","application/vnd.fdsn.mseed"],["mseq","application/vnd.mseq"],["msf","application/vnd.epson.msf"],["msg","application/vnd.ms-outlook"],["msh","model/mesh"],["msi","application/x-msdownload"],["msl","application/vnd.mobius.msl"],["msm","application/octet-stream"],["msp","application/octet-stream"],["msty","application/vnd.muvee.style"],["mtl","model/mtl"],["mts","model/vnd.mts"],["mus","application/vnd.musician"],["musd","application/mmt-usd+xml"],["musicxml","application/vnd.recordare.musicxml+xml"],["mvb","application/x-msmediaview"],["mvt","application/vnd.mapbox-vector-tile"],["mwf","application/vnd.mfer"],["mxf","application/mxf"],["mxl","application/vnd.recordare.musicxml"],["mxmf","audio/mobile-xmf"],["mxml","application/xv+xml"],["mxs","application/vnd.triscape.mxs"],["mxu","video/vnd.mpegurl"],["n-gage","application/vnd.nokia.n-gage.symbian.install"],["n3","text/n3"],["nb","application/mathematica"],["nbp","application/vnd.wolfram.player"],["nc","application/x-netcdf"],["ncx","application/x-dtbncx+xml"],["nfo","text/x-nfo"],["ngdat","application/vnd.nokia.n-gage.data"],["nitf","application/vnd.nitf"],["nlu","application/vnd.neurolanguage.nlu"],["nml","application/vnd.enliven"],["nnd","application/vnd.noblenet-directory"],["nns","application/vnd.noblenet-sealer"],["nnw","application/vnd.noblenet-web"],["npx","image/vnd.net-fpx"],["nq","application/n-quads"],["nsc","application/x-conference"],["nsf","application/vnd.lotus-notes"],["nt","application/n-triples"],["ntf","application/vnd.nitf"],["numbers","application/x-iwork-numbers-sffnumbers"],["nzb","application/x-nzb"],["oa2","application/vnd.fujitsu.oasys2"],["oa3","application/vnd.fujitsu.oasys3"],["oas","application/vnd.fujitsu.oasys"],["obd","application/x-msbinder"],["obgx","application/vnd.openblox.game+xml"],["obj","model/obj"],["oda","application/oda"],["odb","application/vnd.oasis.opendocument.database"],["odc","application/vnd.oasis.opendocument.chart"],["odf","application/vnd.oasis.opendocument.formula"],["odft","application/vnd.oasis.opendocument.formula-template"],["odg","application/vnd.oasis.opendocument.graphics"],["odi","application/vnd.oasis.opendocument.image"],["odm","application/vnd.oasis.opendocument.text-master"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogex","model/vnd.opengex"],["ogg","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["omdoc","application/omdoc+xml"],["onepkg","application/onenote"],["onetmp","application/onenote"],["onetoc","application/onenote"],["onetoc2","application/onenote"],["opf","application/oebps-package+xml"],["opml","text/x-opml"],["oprc","application/vnd.palm"],["opus","audio/ogg"],["org","text/x-org"],["osf","application/vnd.yamaha.openscoreformat"],["osfpvg","application/vnd.yamaha.openscoreformat.osfpvg+xml"],["osm","application/vnd.openstreetmap.data+xml"],["otc","application/vnd.oasis.opendocument.chart-template"],["otf","font/otf"],["otg","application/vnd.oasis.opendocument.graphics-template"],["oth","application/vnd.oasis.opendocument.text-web"],["oti","application/vnd.oasis.opendocument.image-template"],["otp","application/vnd.oasis.opendocument.presentation-template"],["ots","application/vnd.oasis.opendocument.spreadsheet-template"],["ott","application/vnd.oasis.opendocument.text-template"],["ova","application/x-virtualbox-ova"],["ovf","application/x-virtualbox-ovf"],["owl","application/rdf+xml"],["oxps","application/oxps"],["oxt","application/vnd.openofficeorg.extension"],["p","text/x-pascal"],["p7a","application/x-pkcs7-signature"],["p7b","application/x-pkcs7-certificates"],["p7c","application/pkcs7-mime"],["p7m","application/pkcs7-mime"],["p7r","application/x-pkcs7-certreqresp"],["p7s","application/pkcs7-signature"],["p8","application/pkcs8"],["p10","application/x-pkcs10"],["p12","application/x-pkcs12"],["pac","application/x-ns-proxy-autoconfig"],["pages","application/x-iwork-pages-sffpages"],["pas","text/x-pascal"],["paw","application/vnd.pawaafile"],["pbd","application/vnd.powerbuilder6"],["pbm","image/x-portable-bitmap"],["pcap","application/vnd.tcpdump.pcap"],["pcf","application/x-font-pcf"],["pcl","application/vnd.hp-pcl"],["pclxl","application/vnd.hp-pclxl"],["pct","image/x-pict"],["pcurl","application/vnd.curl.pcurl"],["pcx","image/x-pcx"],["pdb","application/x-pilot"],["pde","text/x-processing"],["pdf","application/pdf"],["pem","application/x-x509-user-cert"],["pfa","application/x-font-type1"],["pfb","application/x-font-type1"],["pfm","application/x-font-type1"],["pfr","application/font-tdpfr"],["pfx","application/x-pkcs12"],["pgm","image/x-portable-graymap"],["pgn","application/x-chess-pgn"],["pgp","application/pgp"],["php","application/x-httpd-php"],["php3","application/x-httpd-php"],["php4","application/x-httpd-php"],["phps","application/x-httpd-php-source"],["phtml","application/x-httpd-php"],["pic","image/x-pict"],["pkg","application/octet-stream"],["pki","application/pkixcmp"],["pkipath","application/pkix-pkipath"],["pkpass","application/vnd.apple.pkpass"],["pl","application/x-perl"],["plb","application/vnd.3gpp.pic-bw-large"],["plc","application/vnd.mobius.plc"],["plf","application/vnd.pocketlearn"],["pls","application/pls+xml"],["pm","application/x-perl"],["pml","application/vnd.ctc-posml"],["png","image/png"],["pnm","image/x-portable-anymap"],["portpkg","application/vnd.macports.portpkg"],["pot","application/vnd.ms-powerpoint"],["potm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"],["potx","application/vnd.openxmlformats-officedocument.presentationml.template"],["ppa","application/vnd.ms-powerpoint"],["ppam","application/vnd.ms-powerpoint.addin.macroEnabled.12"],["ppd","application/vnd.cups-ppd"],["ppm","image/x-portable-pixmap"],["pps","application/vnd.ms-powerpoint"],["ppsm","application/vnd.ms-powerpoint.slideshow.macroEnabled.12"],["ppsx","application/vnd.openxmlformats-officedocument.presentationml.slideshow"],["ppt","application/powerpoint"],["pptm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["pqa","application/vnd.palm"],["prc","application/x-pilot"],["pre","application/vnd.lotus-freelance"],["prf","application/pics-rules"],["provx","application/provenance+xml"],["ps","application/postscript"],["psb","application/vnd.3gpp.pic-bw-small"],["psd","application/x-photoshop"],["psf","application/x-font-linux-psf"],["pskcxml","application/pskc+xml"],["pti","image/prs.pti"],["ptid","application/vnd.pvi.ptid1"],["pub","application/x-mspublisher"],["pvb","application/vnd.3gpp.pic-bw-var"],["pwn","application/vnd.3m.post-it-notes"],["pya","audio/vnd.ms-playready.media.pya"],["pyv","video/vnd.ms-playready.media.pyv"],["qam","application/vnd.epson.quickanime"],["qbo","application/vnd.intu.qbo"],["qfx","application/vnd.intu.qfx"],["qps","application/vnd.publishare-delta-tree"],["qt","video/quicktime"],["qwd","application/vnd.quark.quarkxpress"],["qwt","application/vnd.quark.quarkxpress"],["qxb","application/vnd.quark.quarkxpress"],["qxd","application/vnd.quark.quarkxpress"],["qxl","application/vnd.quark.quarkxpress"],["qxt","application/vnd.quark.quarkxpress"],["ra","audio/x-realaudio"],["ram","audio/x-pn-realaudio"],["raml","application/raml+yaml"],["rapd","application/route-apd+xml"],["rar","application/x-rar"],["ras","image/x-cmu-raster"],["rcprofile","application/vnd.ipunplugged.rcprofile"],["rdf","application/rdf+xml"],["rdz","application/vnd.data-vision.rdz"],["relo","application/p2p-overlay+xml"],["rep","application/vnd.businessobjects"],["res","application/x-dtbresource+xml"],["rgb","image/x-rgb"],["rif","application/reginfo+xml"],["rip","audio/vnd.rip"],["ris","application/x-research-info-systems"],["rl","application/resource-lists+xml"],["rlc","image/vnd.fujixerox.edmics-rlc"],["rld","application/resource-lists-diff+xml"],["rm","audio/x-pn-realaudio"],["rmi","audio/midi"],["rmp","audio/x-pn-realaudio-plugin"],["rms","application/vnd.jcp.javame.midlet-rms"],["rmvb","application/vnd.rn-realmedia-vbr"],["rnc","application/relax-ng-compact-syntax"],["rng","application/xml"],["roa","application/rpki-roa"],["roff","text/troff"],["rp9","application/vnd.cloanto.rp9"],["rpm","audio/x-pn-realaudio-plugin"],["rpss","application/vnd.nokia.radio-presets"],["rpst","application/vnd.nokia.radio-preset"],["rq","application/sparql-query"],["rs","application/rls-services+xml"],["rsa","application/x-pkcs7"],["rsat","application/atsc-rsat+xml"],["rsd","application/rsd+xml"],["rsheet","application/urc-ressheet+xml"],["rss","application/rss+xml"],["rtf","text/rtf"],["rtx","text/richtext"],["run","application/x-makeself"],["rusd","application/route-usd+xml"],["rv","video/vnd.rn-realvideo"],["s","text/x-asm"],["s3m","audio/s3m"],["saf","application/vnd.yamaha.smaf-audio"],["sass","text/x-sass"],["sbml","application/sbml+xml"],["sc","application/vnd.ibm.secure-container"],["scd","application/x-msschedule"],["scm","application/vnd.lotus-screencam"],["scq","application/scvp-cv-request"],["scs","application/scvp-cv-response"],["scss","text/x-scss"],["scurl","text/vnd.curl.scurl"],["sda","application/vnd.stardivision.draw"],["sdc","application/vnd.stardivision.calc"],["sdd","application/vnd.stardivision.impress"],["sdkd","application/vnd.solent.sdkm+xml"],["sdkm","application/vnd.solent.sdkm+xml"],["sdp","application/sdp"],["sdw","application/vnd.stardivision.writer"],["sea","application/octet-stream"],["see","application/vnd.seemail"],["seed","application/vnd.fdsn.seed"],["sema","application/vnd.sema"],["semd","application/vnd.semd"],["semf","application/vnd.semf"],["senmlx","application/senml+xml"],["sensmlx","application/sensml+xml"],["ser","application/java-serialized-object"],["setpay","application/set-payment-initiation"],["setreg","application/set-registration-initiation"],["sfd-hdstx","application/vnd.hydrostatix.sof-data"],["sfs","application/vnd.spotfire.sfs"],["sfv","text/x-sfv"],["sgi","image/sgi"],["sgl","application/vnd.stardivision.writer-global"],["sgm","text/sgml"],["sgml","text/sgml"],["sh","application/x-sh"],["shar","application/x-shar"],["shex","text/shex"],["shf","application/shf+xml"],["shtml","text/html"],["sid","image/x-mrsid-image"],["sieve","application/sieve"],["sig","application/pgp-signature"],["sil","audio/silk"],["silo","model/mesh"],["sis","application/vnd.symbian.install"],["sisx","application/vnd.symbian.install"],["sit","application/x-stuffit"],["sitx","application/x-stuffitx"],["siv","application/sieve"],["skd","application/vnd.koan"],["skm","application/vnd.koan"],["skp","application/vnd.koan"],["skt","application/vnd.koan"],["sldm","application/vnd.ms-powerpoint.slide.macroenabled.12"],["sldx","application/vnd.openxmlformats-officedocument.presentationml.slide"],["slim","text/slim"],["slm","text/slim"],["sls","application/route-s-tsid+xml"],["slt","application/vnd.epson.salt"],["sm","application/vnd.stepmania.stepchart"],["smf","application/vnd.stardivision.math"],["smi","application/smil"],["smil","application/smil"],["smv","video/x-smv"],["smzip","application/vnd.stepmania.package"],["snd","audio/basic"],["snf","application/x-font-snf"],["so","application/octet-stream"],["spc","application/x-pkcs7-certificates"],["spdx","text/spdx"],["spf","application/vnd.yamaha.smaf-phrase"],["spl","application/x-futuresplash"],["spot","text/vnd.in3d.spot"],["spp","application/scvp-vp-response"],["spq","application/scvp-vp-request"],["spx","audio/ogg"],["sql","application/x-sql"],["src","application/x-wais-source"],["srt","application/x-subrip"],["sru","application/sru+xml"],["srx","application/sparql-results+xml"],["ssdl","application/ssdl+xml"],["sse","application/vnd.kodak-descriptor"],["ssf","application/vnd.epson.ssf"],["ssml","application/ssml+xml"],["sst","application/octet-stream"],["st","application/vnd.sailingtracker.track"],["stc","application/vnd.sun.xml.calc.template"],["std","application/vnd.sun.xml.draw.template"],["stf","application/vnd.wt.stf"],["sti","application/vnd.sun.xml.impress.template"],["stk","application/hyperstudio"],["stl","model/stl"],["stpx","model/step+xml"],["stpxz","model/step-xml+zip"],["stpz","model/step+zip"],["str","application/vnd.pg.format"],["stw","application/vnd.sun.xml.writer.template"],["styl","text/stylus"],["stylus","text/stylus"],["sub","text/vnd.dvb.subtitle"],["sus","application/vnd.sus-calendar"],["susp","application/vnd.sus-calendar"],["sv4cpio","application/x-sv4cpio"],["sv4crc","application/x-sv4crc"],["svc","application/vnd.dvb.service"],["svd","application/vnd.svd"],["svg","image/svg+xml"],["svgz","image/svg+xml"],["swa","application/x-director"],["swf","application/x-shockwave-flash"],["swi","application/vnd.aristanetworks.swi"],["swidtag","application/swid+xml"],["sxc","application/vnd.sun.xml.calc"],["sxd","application/vnd.sun.xml.draw"],["sxg","application/vnd.sun.xml.writer.global"],["sxi","application/vnd.sun.xml.impress"],["sxm","application/vnd.sun.xml.math"],["sxw","application/vnd.sun.xml.writer"],["t","text/troff"],["t3","application/x-t3vm-image"],["t38","image/t38"],["taglet","application/vnd.mynfc"],["tao","application/vnd.tao.intent-module-archive"],["tap","image/vnd.tencent.tap"],["tar","application/x-tar"],["tcap","application/vnd.3gpp2.tcap"],["tcl","application/x-tcl"],["td","application/urc-targetdesc+xml"],["teacher","application/vnd.smart.teacher"],["tei","application/tei+xml"],["teicorpus","application/tei+xml"],["tex","application/x-tex"],["texi","application/x-texinfo"],["texinfo","application/x-texinfo"],["text","text/plain"],["tfi","application/thraud+xml"],["tfm","application/x-tex-tfm"],["tfx","image/tiff-fx"],["tga","image/x-tga"],["tgz","application/x-tar"],["thmx","application/vnd.ms-officetheme"],["tif","image/tiff"],["tiff","image/tiff"],["tk","application/x-tcl"],["tmo","application/vnd.tmobile-livetv"],["toml","application/toml"],["torrent","application/x-bittorrent"],["tpl","application/vnd.groove-tool-template"],["tpt","application/vnd.trid.tpt"],["tr","text/troff"],["tra","application/vnd.trueapp"],["trig","application/trig"],["trm","application/x-msterminal"],["ts","video/mp2t"],["tsd","application/timestamped-data"],["tsv","text/tab-separated-values"],["ttc","font/collection"],["ttf","font/ttf"],["ttl","text/turtle"],["ttml","application/ttml+xml"],["twd","application/vnd.simtech-mindmapper"],["twds","application/vnd.simtech-mindmapper"],["txd","application/vnd.genomatix.tuxedo"],["txf","application/vnd.mobius.txf"],["txt","text/plain"],["u8dsn","message/global-delivery-status"],["u8hdr","message/global-headers"],["u8mdn","message/global-disposition-notification"],["u8msg","message/global"],["u32","application/x-authorware-bin"],["ubj","application/ubjson"],["udeb","application/x-debian-package"],["ufd","application/vnd.ufdl"],["ufdl","application/vnd.ufdl"],["ulx","application/x-glulx"],["umj","application/vnd.umajin"],["unityweb","application/vnd.unity"],["uoml","application/vnd.uoml+xml"],["uri","text/uri-list"],["uris","text/uri-list"],["urls","text/uri-list"],["usdz","model/vnd.usdz+zip"],["ustar","application/x-ustar"],["utz","application/vnd.uiq.theme"],["uu","text/x-uuencode"],["uva","audio/vnd.dece.audio"],["uvd","application/vnd.dece.data"],["uvf","application/vnd.dece.data"],["uvg","image/vnd.dece.graphic"],["uvh","video/vnd.dece.hd"],["uvi","image/vnd.dece.graphic"],["uvm","video/vnd.dece.mobile"],["uvp","video/vnd.dece.pd"],["uvs","video/vnd.dece.sd"],["uvt","application/vnd.dece.ttml+xml"],["uvu","video/vnd.uvvu.mp4"],["uvv","video/vnd.dece.video"],["uvva","audio/vnd.dece.audio"],["uvvd","application/vnd.dece.data"],["uvvf","application/vnd.dece.data"],["uvvg","image/vnd.dece.graphic"],["uvvh","video/vnd.dece.hd"],["uvvi","image/vnd.dece.graphic"],["uvvm","video/vnd.dece.mobile"],["uvvp","video/vnd.dece.pd"],["uvvs","video/vnd.dece.sd"],["uvvt","application/vnd.dece.ttml+xml"],["uvvu","video/vnd.uvvu.mp4"],["uvvv","video/vnd.dece.video"],["uvvx","application/vnd.dece.unspecified"],["uvvz","application/vnd.dece.zip"],["uvx","application/vnd.dece.unspecified"],["uvz","application/vnd.dece.zip"],["vbox","application/x-virtualbox-vbox"],["vbox-extpack","application/x-virtualbox-vbox-extpack"],["vcard","text/vcard"],["vcd","application/x-cdlink"],["vcf","text/x-vcard"],["vcg","application/vnd.groove-vcard"],["vcs","text/x-vcalendar"],["vcx","application/vnd.vcx"],["vdi","application/x-virtualbox-vdi"],["vds","model/vnd.sap.vds"],["vhd","application/x-virtualbox-vhd"],["vis","application/vnd.visionary"],["viv","video/vnd.vivo"],["vlc","application/videolan"],["vmdk","application/x-virtualbox-vmdk"],["vob","video/x-ms-vob"],["vor","application/vnd.stardivision.writer"],["vox","application/x-authorware-bin"],["vrml","model/vrml"],["vsd","application/vnd.visio"],["vsf","application/vnd.vsf"],["vss","application/vnd.visio"],["vst","application/vnd.visio"],["vsw","application/vnd.visio"],["vtf","image/vnd.valve.source.texture"],["vtt","text/vtt"],["vtu","model/vnd.vtu"],["vxml","application/voicexml+xml"],["w3d","application/x-director"],["wad","application/x-doom"],["wadl","application/vnd.sun.wadl+xml"],["war","application/java-archive"],["wasm","application/wasm"],["wav","audio/x-wav"],["wax","audio/x-ms-wax"],["wbmp","image/vnd.wap.wbmp"],["wbs","application/vnd.criticaltools.wbs+xml"],["wbxml","application/wbxml"],["wcm","application/vnd.ms-works"],["wdb","application/vnd.ms-works"],["wdp","image/vnd.ms-photo"],["weba","audio/webm"],["webapp","application/x-web-app-manifest+json"],["webm","video/webm"],["webmanifest","application/manifest+json"],["webp","image/webp"],["wg","application/vnd.pmi.widget"],["wgt","application/widget"],["wks","application/vnd.ms-works"],["wm","video/x-ms-wm"],["wma","audio/x-ms-wma"],["wmd","application/x-ms-wmd"],["wmf","image/wmf"],["wml","text/vnd.wap.wml"],["wmlc","application/wmlc"],["wmls","text/vnd.wap.wmlscript"],["wmlsc","application/vnd.wap.wmlscriptc"],["wmv","video/x-ms-wmv"],["wmx","video/x-ms-wmx"],["wmz","application/x-msmetafile"],["woff","font/woff"],["woff2","font/woff2"],["word","application/msword"],["wpd","application/vnd.wordperfect"],["wpl","application/vnd.ms-wpl"],["wps","application/vnd.ms-works"],["wqd","application/vnd.wqd"],["wri","application/x-mswrite"],["wrl","model/vrml"],["wsc","message/vnd.wfa.wsc"],["wsdl","application/wsdl+xml"],["wspolicy","application/wspolicy+xml"],["wtb","application/vnd.webturbo"],["wvx","video/x-ms-wvx"],["x3d","model/x3d+xml"],["x3db","model/x3d+fastinfoset"],["x3dbz","model/x3d+binary"],["x3dv","model/x3d-vrml"],["x3dvz","model/x3d+vrml"],["x3dz","model/x3d+xml"],["x32","application/x-authorware-bin"],["x_b","model/vnd.parasolid.transmit.binary"],["x_t","model/vnd.parasolid.transmit.text"],["xaml","application/xaml+xml"],["xap","application/x-silverlight-app"],["xar","application/vnd.xara"],["xav","application/xcap-att+xml"],["xbap","application/x-ms-xbap"],["xbd","application/vnd.fujixerox.docuworks.binder"],["xbm","image/x-xbitmap"],["xca","application/xcap-caps+xml"],["xcs","application/calendar+xml"],["xdf","application/xcap-diff+xml"],["xdm","application/vnd.syncml.dm+xml"],["xdp","application/vnd.adobe.xdp+xml"],["xdssc","application/dssc+xml"],["xdw","application/vnd.fujixerox.docuworks"],["xel","application/xcap-el+xml"],["xenc","application/xenc+xml"],["xer","application/patch-ops-error+xml"],["xfdf","application/vnd.adobe.xfdf"],["xfdl","application/vnd.xfdl"],["xht","application/xhtml+xml"],["xhtml","application/xhtml+xml"],["xhvml","application/xv+xml"],["xif","image/vnd.xiff"],["xl","application/excel"],["xla","application/vnd.ms-excel"],["xlam","application/vnd.ms-excel.addin.macroEnabled.12"],["xlc","application/vnd.ms-excel"],["xlf","application/xliff+xml"],["xlm","application/vnd.ms-excel"],["xls","application/vnd.ms-excel"],["xlsb","application/vnd.ms-excel.sheet.binary.macroEnabled.12"],["xlsm","application/vnd.ms-excel.sheet.macroEnabled.12"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xlt","application/vnd.ms-excel"],["xltm","application/vnd.ms-excel.template.macroEnabled.12"],["xltx","application/vnd.openxmlformats-officedocument.spreadsheetml.template"],["xlw","application/vnd.ms-excel"],["xm","audio/xm"],["xml","application/xml"],["xns","application/xcap-ns+xml"],["xo","application/vnd.olpc-sugar"],["xop","application/xop+xml"],["xpi","application/x-xpinstall"],["xpl","application/xproc+xml"],["xpm","image/x-xpixmap"],["xpr","application/vnd.is-xpr"],["xps","application/vnd.ms-xpsdocument"],["xpw","application/vnd.intercon.formnet"],["xpx","application/vnd.intercon.formnet"],["xsd","application/xml"],["xsl","application/xml"],["xslt","application/xslt+xml"],["xsm","application/vnd.syncml+xml"],["xspf","application/xspf+xml"],["xul","application/vnd.mozilla.xul+xml"],["xvm","application/xv+xml"],["xvml","application/xv+xml"],["xwd","image/x-xwindowdump"],["xyz","chemical/x-xyz"],["xz","application/x-xz"],["yaml","text/yaml"],["yang","application/yang"],["yin","application/yin+xml"],["yml","text/yaml"],["ymp","text/x-suse-ymp"],["z","application/x-compress"],["z1","application/x-zmachine"],["z2","application/x-zmachine"],["z3","application/x-zmachine"],["z4","application/x-zmachine"],["z5","application/x-zmachine"],["z6","application/x-zmachine"],["z7","application/x-zmachine"],["z8","application/x-zmachine"],["zaz","application/vnd.zzazz.deck+xml"],["zip","application/zip"],["zir","application/vnd.zul"],["zirz","application/vnd.zul"],["zmm","application/vnd.handheld-entertainment+xml"],["zsh","text/x-scriptzsh"]]);function El(e,t,n){const r=ote(e),{webkitRelativePath:a}=e,i=typeof t=="string"?t:typeof a=="string"&&a.length>0?a:`./${e.name}`;return typeof r.path!="string"&&kN(r,"path",i),kN(r,"relativePath",i),r}function ote(e){const{name:t}=e;if(t&&t.lastIndexOf(".")!==-1&&!e.type){const r=t.split(".").pop().toLowerCase(),a=ate.get(r);a&&Object.defineProperty(e,"type",{value:a,writable:!1,configurable:!1,enumerable:!0})}return e}function kN(e,t,n){Object.defineProperty(e,t,{value:n,writable:!1,configurable:!1,enumerable:!0})}const ite=[".DS_Store","Thumbs.db"];function lte(e){return ci(this,void 0,void 0,function*(){return qd(e)&&ste(e.dataTransfer)?fte(e.dataTransfer,e.type):ute(e)?cte(e):Array.isArray(e)&&e.every(t=>"getFile"in t&&typeof t.getFile=="function")?dte(e):[]})}function ste(e){return qd(e)}function ute(e){return qd(e)&&qd(e.target)}function qd(e){return typeof e=="object"&&e!==null}function cte(e){return Jx(e.target.files).map(t=>El(t))}function dte(e){return ci(this,void 0,void 0,function*(){return(yield Promise.all(e.map(n=>n.getFile()))).map(n=>El(n))})}function fte(e,t){return ci(this,void 0,void 0,function*(){if(e.items){const n=Jx(e.items).filter(a=>a.kind==="file");if(t!=="drop")return n;const r=yield Promise.all(n.map(pte));return AN(i4(r))}return AN(Jx(e.files).map(n=>El(n)))})}function AN(e){return e.filter(t=>ite.indexOf(t.name)===-1)}function Jx(e){if(e===null)return[];const t=[];for(let n=0;n[...t,...Array.isArray(n)?i4(n):[n]],[])}function TN(e,t){return ci(this,void 0,void 0,function*(){var n;if(globalThis.isSecureContext&&typeof e.getAsFileSystemHandle=="function"){const i=yield e.getAsFileSystemHandle();if(i===null)throw new Error(`${e} is not a File`);if(i!==void 0){const l=yield i.getFile();return l.handle=i,El(l)}}const r=e.getAsFile();if(!r)throw new Error(`${e} is not a File`);return El(r,(n=t==null?void 0:t.fullPath)!==null&&n!==void 0?n:void 0)})}function gte(e){return ci(this,void 0,void 0,function*(){return e.isDirectory?l4(e):hte(e)})}function l4(e){const t=e.createReader();return new Promise((n,r)=>{const a=[];function i(){t.readEntries(l=>ci(this,void 0,void 0,function*(){if(l.length){const u=Promise.all(l.map(gte));a.push(u),i()}else try{const u=yield Promise.all(a);n(u)}catch(u){r(u)}}),l=>{r(l)})}i()})}function hte(e){return ci(this,void 0,void 0,function*(){return new Promise((t,n)=>{e.file(r=>{const a=El(r,e.fullPath);t(a)},r=>{n(r)})})})}var ad={},_N;function mte(){return _N||(_N=1,ad.__esModule=!0,ad.default=function(e,t){if(e&&t){var n=Array.isArray(t)?t:t.split(",");if(n.length===0)return!0;var r=e.name||"",a=(e.type||"").toLowerCase(),i=a.replace(/\/.*$/,"");return n.some(function(l){var u=l.trim().toLowerCase();return u.charAt(0)==="."?r.toLowerCase().endsWith(u):u.endsWith("/*")?i===u.replace(/\/.*$/,""):a===u})}return!0}),ad}var bte=mte();const bm=an(bte);function RN(e){return Ste(e)||vte(e)||u4(e)||yte()}function yte(){throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function vte(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Ste(e){if(Array.isArray(e))return ek(e)}function CN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function NN(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:"",n=t.split(","),r=n.length>1?"one of ".concat(n.join(", ")):n[0];return{code:Ate,message:"File type must be ".concat(r)}},ON=function(t){return{code:Tte,message:"File is larger than ".concat(t," ").concat(t===1?"byte":"bytes")}},DN=function(t){return{code:_te,message:"File is smaller than ".concat(t," ").concat(t===1?"byte":"bytes")}},Nte={code:Rte,message:"Too many files"};function c4(e,t){var n=e.type==="application/x-moz-file"||kte(e,t);return[n,n?null:Cte(t)]}function d4(e,t,n){if(Jo(e.size))if(Jo(t)&&Jo(n)){if(e.size>n)return[!1,ON(n)];if(e.sizen)return[!1,ON(n)]}return[!0,null]}function Jo(e){return e!=null}function Ote(e){var t=e.files,n=e.accept,r=e.minSize,a=e.maxSize,i=e.multiple,l=e.maxFiles,u=e.validator;return!i&&t.length>1||i&&l>=1&&t.length>l?!1:t.every(function(c){var f=c4(c,n),p=lu(f,1),g=p[0],b=d4(c,r,a),m=lu(b,1),S=m[0],v=u?u(c):null;return g&&S&&!v})}function Vd(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function od(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!e.target&&!!e.target.files}function IN(e){e.preventDefault()}function Dte(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function Ite(e){return e.indexOf("Edge/")!==-1}function Lte(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return Dte(e)||Ite(e)}function $r(){for(var e=arguments.length,t=new Array(e),n=0;n1?a-1:0),l=1;l:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.\!rounded-none{border-radius:0!important}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-tr-none{border-top-right-radius:0}.rounded-br-none{border-bottom-right-radius:0}.border,.border-1{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.\!border-none{--tw-border-style:none;border-style:none!important}.border-dashed{--tw-border-style:dashed;border-style:dashed}.\!border-input{border-color:var(--input)!important}.border-border\/40{border-color:color-mix(in oklab,var(--border)40%,transparent)}.border-destructive\/50{border-color:color-mix(in oklab,var(--destructive)50%,transparent)}.border-input{border-color:var(--input)}.border-muted-foreground\/25{border-color:color-mix(in oklab,var(--muted-foreground)25%,transparent)}.border-muted-foreground\/50{border-color:color-mix(in oklab,var(--muted-foreground)50%,transparent)}.border-primary{border-color:var(--primary)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.\!bg-background{background-color:var(--background)!important}.\!bg-emerald-400{background-color:var(--color-emerald-400)!important}.bg-background{background-color:var(--background)}.bg-background\/60{background-color:color-mix(in oklab,var(--background)60%,transparent)}.bg-background\/80{background-color:color-mix(in oklab,var(--background)80%,transparent)}.bg-background\/90{background-color:color-mix(in oklab,var(--background)90%,transparent)}.bg-background\/95{background-color:color-mix(in oklab,var(--background)95%,transparent)}.bg-black\/10{background-color:color-mix(in oklab,var(--color-black)10%,transparent)}.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-foreground\/10{background-color:color-mix(in oklab,var(--foreground)10%,transparent)}.bg-green-500{background-color:var(--color-green-500)}.bg-muted{background-color:var(--muted)}.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-primary-foreground\/60{background-color:color-mix(in oklab,var(--primary-foreground)60%,transparent)}.bg-primary\/5{background-color:color-mix(in oklab,var(--primary)5%,transparent)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-700{background-color:var(--color-red-700)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.object-cover{object-fit:cover}.\!p-0{padding:calc(var(--spacing)*0)!important}.\!p-2{padding:calc(var(--spacing)*2)!important}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-16{padding:calc(var(--spacing)*16)}.p-\[1px\]{padding:1px}.px-1{padding-inline:calc(var(--spacing)*1)}.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-8{padding-inline:calc(var(--spacing)*8)}.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-6{padding-block:calc(var(--spacing)*6)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-12{padding-bottom:calc(var(--spacing)*12)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-8{padding-left:calc(var(--spacing)*8)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.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-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.\!text-zinc-50{color:var(--color-zinc-50)!important}.text-blue-600{color:var(--color-blue-600)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-emerald-400{color:var(--color-emerald-400)}.text-foreground{color:var(--foreground)}.text-foreground\/80{color:color-mix(in oklab,var(--foreground)80%,transparent)}.text-green-600{color:var(--color-green-600)}.text-muted-foreground{color:var(--muted-foreground)}.text-muted-foreground\/70{color:color-mix(in oklab,var(--muted-foreground)70%,transparent)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-primary\/60{color:color-mix(in oklab,var(--primary)60%,transparent)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sky-300{color:var(--color-sky-300)}.text-teal-600{color:var(--color-teal-600)}.text-teal-600\/90{color:color-mix(in oklab,var(--color-teal-600)90%,transparent)}.text-white{color:var(--color-white)}.text-yellow-400\/90{color:color-mix(in oklab,var(--color-yellow-400)90%,transparent)}.text-yellow-600{color:var(--color-yellow-600)}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#0003);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_rgba\(34\,197\,94\,0\.4\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#22c55e66);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_rgba\(239\,68\,68\,0\.4\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#ef444466);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));-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;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))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-2000{--tw-duration:2s;transition-duration:2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.duration-2000{animation-duration:2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}@media (hover:hover){.hover\:w-fit:hover{width:fit-content}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-background\/60:hover{background-color:color-mix(in oklab,var(--background)60%,transparent)}.hover\:bg-destructive\/80:hover{background-color:color-mix(in oklab,var(--destructive)80%,transparent)}.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}.hover\:bg-muted\/25:hover{background-color:color-mix(in oklab,var(--muted)25%,transparent)}.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}.hover\:bg-primary\/5:hover{background-color:color-mix(in oklab,var(--primary)5%,transparent)}.hover\:bg-primary\/20:hover{background-color:color-mix(in oklab,var(--primary)20%,transparent)}.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab,var(--primary)80%,transparent)}.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-0:focus{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-0:focus{outline-style:var(--tw-outline-style);outline-width:0}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:relative:focus-visible{position:relative}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:right-0:active{right:calc(var(--spacing)*0)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[selected\=\'true\'\]\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-\[backdrop-filter\]\:bg-background\/60{background-color:color-mix(in oklab,var(--background)60%,transparent)}}@media (width>=40rem){.sm\:mt-0{margin-top:calc(var(--spacing)*0)}.sm\:max-w-xl{max-width:var(--container-xl)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:px-5{padding-inline:calc(var(--spacing)*5)}.sm\:text-left{text-align:left}}@media (width>=48rem){.md\:inline-block{display:inline-block}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.dark\:border-destructive:is(.dark *){border-color:var(--destructive)}.dark\:bg-gray-100\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-gray-100)20%,transparent)}.dark\:bg-red-950:is(.dark *){background-color:var(--color-red-950)}.dark\:text-red-400:is(.dark *){color:var(--color-red-400)}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing)*1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing)*0)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing)*5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing)*5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing)*12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing)*3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing)*5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing)*5)}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\[\&\:\:-webkit-inner-spin-button\]\:opacity-100::-webkit-inner-spin-button{opacity:1}.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\[\&\:\:-webkit-outer-spin-button\]\:opacity-100::-webkit-outer-spin-button{opacity:1}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing)*0)}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:top-4>svg{top:calc(var(--spacing)*4)}.\[\&\>svg\]\:left-4>svg{left:calc(var(--spacing)*4)}.\[\&\>svg\]\:text-destructive>svg{color:var(--destructive)}.\[\&\>svg\]\:text-foreground>svg{color:var(--foreground)}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:calc(var(--spacing)*7)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}:root{--background:#fff;--foreground:#09090b;--card:#fff;--card-foreground:#09090b;--popover:#fff;--popover-foreground:#09090b;--primary:#18181b;--primary-foreground:#fafafa;--secondary:#f4f4f5;--secondary-foreground:#18181b;--muted:#f4f4f5;--muted-foreground:#71717a;--accent:#f4f4f5;--accent-foreground:#18181b;--destructive:#ef4444;--destructive-foreground:#fafafa;--border:#e4e4e7;--input:#e4e4e7;--ring:#09090b;--chart-1:#e76e50;--chart-2:#2a9d90;--chart-3:#274754;--chart-4:#e8c468;--chart-5:#f4a462;--radius:.6rem;--sidebar-background:#fafafa;--sidebar-foreground:#3f3f46;--sidebar-primary:#18181b;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#f4f4f5;--sidebar-accent-foreground:#18181b;--sidebar-border:#e5e7eb;--sidebar-ring:#3b82f6}.dark{--background:#09090b;--foreground:#fafafa;--card:#09090b;--card-foreground:#fafafa;--popover:#09090b;--popover-foreground:#fafafa;--primary:#fafafa;--primary-foreground:#18181b;--secondary:#27272a;--secondary-foreground:#fafafa;--muted:#27272a;--muted-foreground:#a1a1aa;--accent:#27272a;--accent-foreground:#fafafa;--destructive:#7f1d1d;--destructive-foreground:#fafafa;--border:#27272a;--input:#27272a;--ring:#d4d4d8;--chart-1:#2662d9;--chart-2:#2eb88a;--chart-3:#e88c30;--chart-4:#af57db;--chart-5:#e23670;--sidebar-background:#18181b;--sidebar-foreground:#f4f4f5;--sidebar-primary:#1d4ed8;--sidebar-primary-foreground:#fff;--sidebar-accent:#27272a;--sidebar-accent-foreground:#f4f4f5;--sidebar-border:#27272a;--sidebar-ring:#3b82f6}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:5px}::-webkit-scrollbar-track{background-color:#f2f2f2}.dark ::-webkit-scrollbar-thumb{background-color:#e6e6e6}.dark ::-webkit-scrollbar-track{background-color:#000}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0))}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}@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-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}:root{--sigma-background-color:#fff;--sigma-controls-background-color:#fff;--sigma-controls-background-color-hover:rgba(0,0,0,.2);--sigma-controls-border-color:rgba(0,0,0,.2);--sigma-controls-color:#000;--sigma-controls-zindex:100;--sigma-controls-margin:5px;--sigma-controls-size:30px}div.react-sigma{height:100%;width:100%;position:relative;background:var(--sigma-background-color)}div.sigma-container{height:100%;width:100%}.react-sigma-controls{position:absolute;z-index:var(--sigma-controls-zindex);border:2px solid var(--sigma-controls-border-color);border-radius:4px;color:var(--sigma-controls-color);background-color:var(--sigma-controls-background-color)}.react-sigma-controls.bottom-right{bottom:var(--sigma-controls-margin);right:var(--sigma-controls-margin)}.react-sigma-controls.bottom-left{bottom:var(--sigma-controls-margin);left:var(--sigma-controls-margin)}.react-sigma-controls.top-right{top:var(--sigma-controls-margin);right:var(--sigma-controls-margin)}.react-sigma-controls.top-left{top:var(--sigma-controls-margin);left:var(--sigma-controls-margin)}.react-sigma-controls:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.react-sigma-controls:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.react-sigma-control{width:var(--sigma-controls-size);height:var(--sigma-controls-size);line-height:var(--sigma-controls-size);background-color:var(--sigma-controls-background-color);border-bottom:1px solid var(--sigma-controls-border-color)}.react-sigma-control:last-child{border-bottom:none}.react-sigma-control>*{box-sizing:border-box}.react-sigma-control>button{display:block;border:none;margin:0;padding:0;width:var(--sigma-controls-size);height:var(--sigma-controls-size);line-height:var(--sigma-controls-size);background-position:center;background-size:50%;background-repeat:no-repeat;background-color:var(--sigma-controls-background-color);clip:rect(0,0,0,0)}.react-sigma-control>button:hover{background-color:var(--sigma-controls-background-color-hover)}.react-sigma-search{background-color:var(--sigma-controls-background-color)}.react-sigma-search label{visibility:hidden}.react-sigma-search input{color:var(--sigma-controls-color);background-color:var(--sigma-controls-background-color);font-size:1em;width:100%;margin:0;border:none;padding:var(--sigma-controls-margin);box-sizing:border-box}:root{--sigma-grey-color:#ccc}.react-sigma .option.hoverable{cursor:pointer!important}.react-sigma .text-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.react-sigma .react-select__clear-indicator{cursor:pointer!important}.react-sigma .text-muted{color:var(--sigma-grey-color)}.react-sigma .text-italic{font-style:italic}.react-sigma .text-center{text-align:center}.react-sigma .graph-search{min-width:250px}.react-sigma .graph-search .option{padding:2px 8px}.react-sigma .graph-search .dropdown-indicator{font-size:1.25em;padding:4px}.react-sigma .graph-search .option.selected{background-color:var(--sigma-grey-color)}.react-sigma .node .render{position:relative;display:inline-block;width:1em;height:1em;border-radius:1em;background-color:var(--sigma-grey-color);margin-right:8px}.react-sigma .node{display:flex;flex-direction:row;align-items:center}.react-sigma .node .render{flex-grow:0;flex-shrink:0;margin-right:0 .25em}.react-sigma .node .label{flex-grow:1;flex-shrink:1}.react-sigma .edge{display:flex;flex-direction:column;align-items:flex-start;flex-grow:0;flex-shrink:0;flex-wrap:nowrap}.react-sigma .edge .node{font-size:.7em}.react-sigma .edge .body{display:flex;flex-direction:row;flex-grow:1;flex-shrink:1;min-height:.6em}.react-sigma .edge .body .render{display:flex;flex-direction:column;margin:0 2px}.react-sigma .edge .body .render .dash,.react-sigma .edge .body .render .dotted{display:inline-block;width:0;margin:0 2px;border:2px solid #ccc;flex-grow:1;flex-shrink:1}.react-sigma .edge .body .render .dotted{border-style:dotted}.react-sigma .edge .body .render .arrow{width:0;height:0;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:.6em solid red;flex-shrink:0;flex-grow:0;border-left-width:.3em;border-right-width:.3em}.react-sigma .edge .body .label{flex-grow:1;flex-shrink:1;text-align:center} diff --git a/lightrag/api/webui/index.html b/lightrag/api/webui/index.html index 1f4401db..e4b728e2 100644 --- a/lightrag/api/webui/index.html +++ b/lightrag/api/webui/index.html @@ -5,8 +5,8 @@ Lightrag - - + +
diff --git a/lightrag_webui/src/components/graph/PropertiesView.tsx b/lightrag_webui/src/components/graph/PropertiesView.tsx index c765276d..325f9ff1 100644 --- a/lightrag_webui/src/components/graph/PropertiesView.tsx +++ b/lightrag_webui/src/components/graph/PropertiesView.tsx @@ -138,7 +138,7 @@ const PropertyRow = ({ className="hover:bg-primary/20 rounded p-1 text-ellipsis" tooltipClassName="max-w-80" text={value} - tooltip={tooltip || value} + tooltip={tooltip || (typeof value === 'string' ? value : JSON.stringify(value, null, 2))} side="left" onClick={onClick} /> diff --git a/lightrag_webui/src/components/ui/Tooltip.tsx b/lightrag_webui/src/components/ui/Tooltip.tsx index 674ddd50..cdec63a9 100644 --- a/lightrag_webui/src/components/ui/Tooltip.tsx +++ b/lightrag_webui/src/components/ui/Tooltip.tsx @@ -10,30 +10,43 @@ const TooltipTrigger = TooltipPrimitive.Trigger const processTooltipContent = (content: string) => { if (typeof content !== 'string') return content - return content.split('\\n').map((line, i) => ( - - {line} - {i < content.split('\\n').length - 1 &&
} -
- )) + return ( +
+ {content} +
+ ) } const TooltipContent = React.forwardRef< React.ComponentRef, - React.ComponentPropsWithoutRef ->(({ className, sideOffset = 4, children, ...props }, ref) => ( - - {typeof children === 'string' ? processTooltipContent(children) : children} - -)) + React.ComponentPropsWithoutRef & { + side?: 'top' | 'right' | 'bottom' | 'left' + align?: 'start' | 'center' | 'end' + } +>(({ className, side = 'left', align = 'start', children, ...props }, ref) => { + const contentRef = React.useRef(null); + + React.useEffect(() => { + if (contentRef.current) { + contentRef.current.scrollTop = 0; + } + }, [children]); + + return ( + + {typeof children === 'string' ? processTooltipContent(children) : children} + + ); +}) TooltipContent.displayName = TooltipPrimitive.Content.displayName export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }