@graphql-hive/laboratory
Version:
7,110 lines • 1.07 MB
JavaScript
const e=require(`./editor.api-hvIwRq58.cjs`),t=require(`./monaco-editor-BqEPzFim.cjs`);require(`./monaco.contribution-CDB7N45b.cjs`),require(`./monaco.contribution-B6kCIPZ2.cjs`);let n=require(`react-dom/client`);n=e.__toESM(n);let r=require(`react`);r=e.__toESM(r);let i=require(`react-dom`);i=e.__toESM(i);let a=require(`lucide-react`);a=e.__toESM(a);let o=require(`zod`);o=e.__toESM(o);let s=require(`@tanstack/react-form`);s=e.__toESM(s);let c=require(`date-fns`);c=e.__toESM(c);let l=require(`graphql-ws`);l=e.__toESM(l);let u=require(`lz-string`);u=e.__toESM(u);let d=require(`react/jsx-runtime`);d=e.__toESM(d);let f=require(`tslib`);f=e.__toESM(f);var p=`/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-400:#ff6568;--color-red-500:#fb2c36;--color-orange-400:#ff8b1a;--color-amber-400:#fcbb00;--color-yellow-400:#fac800;--color-yellow-500:#edb200;--color-lime-400:#9de500;--color-green-400:#05df72;--color-green-500:#00c758;--color-teal-400:#00d3bd;--color-blue-400:#54a2ff;--color-indigo-400:#7d87ff;--color-pink-500:#f6339a;--color-rose-400:#ff667f;--color-gray-400:#99a1af;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-lg:32rem;--container-2xl:42rem;--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:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xs:.125rem;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-accent:hsl(var(--accent));--color-ring:hsl(var(--ring))}@supports (color:lab(0% 0 0)){:root,:host{--color-red-400:lab(63.7053% 60.745 31.3109);--color-red-500:lab(55.4814% 75.0732 48.8528);--color-orange-400:lab(70.0429% 42.5156 75.8207);--color-amber-400:lab(80.1641% 16.6016 99.2089);--color-yellow-400:lab(83.2664% 8.65132 106.895);--color-yellow-500:lab(76.3898% 14.5258 98.4589);--color-lime-400:lab(83.7876% -45.0447 88.4738);--color-green-400:lab(78.503% -64.9264 39.7492);--color-green-500:lab(70.5521% -66.5147 45.8073);--color-teal-400:lab(76.0109% -53.3483 -2.27906);--color-blue-400:lab(65.0361% -1.42065 -56.9802);--color-indigo-400:lab(59.866% 22.4834 -64.4485);--color-pink-500:lab(56.9303% 76.8162 -8.07021);--color-rose-400:lab(64.4124% 63.0291 19.2068);--color-gray-400:lab(65.9269% -.832677 -8.17474)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{*{--tw-border-style:solid;--tw-translate-x:0;--tw-translate-y:0;outline-color:hsl(var(--ring))}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab,hsl(var(--ring))50%,transparent)}}*,:after,:before,::backdrop{border:0 solid hsl(var(--border))}}@layer utilities{.pointer-events-none{pointer-events:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\\/2{top:50%}.top-4{top:calc(var(--spacing)*4)}.top-\\[50\\%\\]{top:50%}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.right-5{right:calc(var(--spacing)*5)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.left-2{left:calc(var(--spacing)*2)}.left-5{left:calc(var(--spacing)*5)}.left-\\[50\\%\\]{left:50%}.-z-10{z-index:calc(10*-1)}.-z-20{z-index:calc(20*-1)}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.order-first{order:-9999}.order-last{order:9999}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0\\!{margin:calc(var(--spacing)*0)!important}.-mx-0\\.5{margin-inline:calc(var(--spacing)*-.5)}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-auto{margin-inline:auto}.-my-2{margin-block:calc(var(--spacing)*-2)}.my-1{margin-block:calc(var(--spacing)*1)}.mt-auto{margin-top:auto}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-px{margin-bottom:1px}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.size-2\\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-3\\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-full{width:100%;height:100%}.h-2\\.5{height:calc(var(--spacing)*2.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-96{height:calc(var(--spacing)*96)}.h-\\[1\\.15rem\\]{height:1.15rem}.h-\\[49\\.5px\\]{height:49.5px}.h-\\[calc\\(100\\%-1px\\)\\]{height:calc(100% - 1px)}.h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\\(--radix-context-menu-content-available-height\\){max-height:var(--radix-context-menu-content-available-height)}.max-h-\\[300px\\]{max-height:300px}.max-h-\\[var\\(--radix-select-content-available-height\\)\\]{max-height:var(--radix-select-content-available-height)}.min-h-16{min-height:calc(var(--spacing)*16)}.w-2\\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-8{width:calc(var(--spacing)*8)}.w-12{width:calc(var(--spacing)*12)}.w-56{width:calc(var(--spacing)*56)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\\[calc\\(100\\%-2rem\\)\\]{max-width:calc(100% - 2rem)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-8{min-width:calc(var(--spacing)*8)}.min-w-9{min-width:calc(var(--spacing)*9)}.min-w-10{min-width:calc(var(--spacing)*10)}.min-w-\\[8rem\\]{min-width:8rem}.min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow-0{flex-grow:0}.origin-\\(--radix-context-menu-content-transform-origin\\){transform-origin:var(--radix-context-menu-content-transform-origin)}.origin-\\[var\\(--radix-dropdown-menu-content-transform-origin\\)\\]{transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\\[var\\(--radix-select-content-transform-origin\\)\\]{transform-origin:var(--radix-select-content-transform-origin)}.origin-\\[var\\(--radix-tooltip-content-transform-origin\\)\\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.translate-x-\\[-50\\%\\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);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)}.translate-y-\\[calc\\(-50\\%_-_2px\\)\\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x)var(--tw-translate-y)}.-rotate-90{rotate:-90deg}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.touch-none{touch-action:none}.resize-none{resize:none}.scroll-my-1{scroll-margin-block:calc(var(--spacing)*1)}.scroll-py-1{scroll-padding-block:calc(var(--spacing)*1)}.list-disc{list-style-type:disc}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-\\[1fr_auto\\]{grid-template-columns:1fr auto}.grid-rows-\\[auto_1fr\\]{grid-template-rows:auto 1fr}.grid-rows-\\[auto_auto\\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.place-content-center{place-content:center}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing)*0)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-7{gap:calc(var(--spacing)*7)}.gap-\\[--spacing\\(var\\(--gap\\)\\)\\]{gap:calc(var(--spacing)*var(--gap))}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded-\\[2px\\]{border-radius:2px}.rounded-\\[4px\\]{border-radius:4px}.rounded-\\[calc\\(var\\(--radius\\)-5px\\)\\]{border-radius:calc(var(--radius) - 5px)}.rounded-\\[inherit\\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.\\!rounded-l-none{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.\\!rounded-l-sm{border-top-left-radius:calc(var(--radius) - 4px)!important;border-bottom-left-radius:calc(var(--radius) - 4px)!important}.\\!rounded-r-none{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.\\!rounded-r-sm{border-top-right-radius:calc(var(--radius) - 4px)!important;border-bottom-right-radius:calc(var(--radius) - 4px)!important}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-border{border-color:hsl(var(--border))}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-accent\\/50{background-color:hsl(var(--accent))}@supports (color:color-mix(in lab, red, red)){.bg-accent\\/50{background-color:color-mix(in oklab,hsl(var(--accent))50%,transparent)}}.bg-background{background-color:hsl(var(--background))}.bg-black\\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive\\/60{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab, red, red)){.bg-destructive\\/60{background-color:color-mix(in oklab,hsl(var(--destructive))60%,transparent)}}.bg-foreground{background-color:hsl(var(--foreground))}.bg-green-400\\/10{background-color:#05df721a}@supports (color:color-mix(in lab, red, red)){.bg-green-400\\/10{background-color:color-mix(in oklab,var(--color-green-400)10%,transparent)}}.bg-input,.bg-input\\/30{background-color:hsl(var(--input))}@supports (color:color-mix(in lab, red, red)){.bg-input\\/30{background-color:color-mix(in oklab,hsl(var(--input))30%,transparent)}}.bg-muted{background-color:hsl(var(--muted))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-red-400\\/10{background-color:#ff65681a}@supports (color:color-mix(in lab, red, red)){.bg-red-400\\/10{background-color:color-mix(in oklab,var(--color-red-400)10%,transparent)}}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:#0000}.fill-current{fill:currentColor}.fill-foreground{fill:hsl(var(--foreground))}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-1\\!{padding:calc(var(--spacing)*1)!important}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-6{padding:calc(var(--spacing)*6)}.p-\\[3px\\]{padding:3px}.p-px{padding:1px}.px-0\\!{padding-inline:calc(var(--spacing)*0)!important}.px-0\\.5{padding-inline:calc(var(--spacing)*.5)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-7{padding-inline:calc(var(--spacing)*7)}.py-0{padding-block:calc(var(--spacing)*0)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-6{padding-block:calc(var(--spacing)*6)}.pt-3{padding-top:calc(var(--spacing)*3)}.pr-0{padding-right:calc(var(--spacing)*0)}.pr-0\\!{padding-right:calc(var(--spacing)*0)!important}.pr-1\\.5{padding-right:calc(var(--spacing)*1.5)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-8{padding-right:calc(var(--spacing)*8)}.pb-0{padding-bottom:calc(var(--spacing)*0)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-8{padding-left:calc(var(--spacing)*8)}.text-center{text-align:center}.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-sm\\/relaxed{font-size:var(--text-sm);line-height:var(--leading-relaxed)}.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}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.\\!text-white{color:var(--color-white)!important}.text-amber-400{color:var(--color-amber-400)}.text-background{color:hsl(var(--background))}.text-blue-400{color:var(--color-blue-400)}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-foreground{color:hsl(var(--foreground))}.text-gray-400{color:var(--color-gray-400)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-indigo-400{color:var(--color-indigo-400)}.text-lime-400{color:var(--color-lime-400)}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\\!{color:hsl(var(--muted-foreground))!important}.text-orange-400{color:var(--color-orange-400)}.text-pink-500{color:var(--color-pink-500)}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-rose-400{color:var(--color-rose-400)}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-teal-400{color:var(--color-teal-400)}.text-white{color:var(--color-white)}.text-yellow-400{color:var(--color-yellow-400)}.capitalize{text-transform:capitalize}.italic{font-style:italic}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-\\[color\\,box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-200{--tw-duration:.2s;transition-duration:.2s}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.running{animation-play-state:running}@media (hover:hover){.group-hover\\:bg-accent\\/50:is(:where(.group):hover *){background-color:hsl(var(--accent))}@supports (color:color-mix(in lab, red, red)){.group-hover\\:bg-accent\\/50:is(:where(.group):hover *){background-color:color-mix(in oklab,hsl(var(--accent))50%,transparent)}}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-has-\\[\\[data-orientation\\=horizontal\\]\\]\\/field\\:text-balance:is(:where(.group\\/field):has([data-orientation=horizontal]) *){text-wrap:balance}.group-has-\\[\\>input\\]\\/input-group\\:pt-2\\.5:is(:where(.group\\/input-group):has(>input) *){padding-top:calc(var(--spacing)*2.5)}.group-has-\\[\\>input\\]\\/input-group\\:pb-2\\.5:is(:where(.group\\/input-group):has(>input) *){padding-bottom:calc(var(--spacing)*2.5)}.group-data-\\[disabled\\=true\\]\\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\\[disabled\\=true\\]\\:opacity-50:is(:where(.group)[data-disabled=true] *),.group-data-\\[disabled\\=true\\]\\/field\\:opacity-50:is(:where(.group\\/field)[data-disabled=true] *),.group-data-\\[disabled\\=true\\]\\/input-group\\:opacity-50:is(:where(.group\\/input-group)[data-disabled=true] *){opacity:.5}.group-data-\\[variant\\=outline\\]\\/field-group\\:-mb-2:is(:where(.group\\/field-group)[data-variant=outline] *){margin-bottom:calc(var(--spacing)*-2)}.peer-disabled\\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\\:bg-primary ::selection,.selection\\:bg-primary::selection{background-color:hsl(var(--primary))}.selection\\:text-primary-foreground ::selection,.selection\\:text-primary-foreground::selection{color:hsl(var(--primary-foreground))}.file\\:inline-flex::file-selector-button{display:inline-flex}.file\\:h-7::file-selector-button{height:calc(var(--spacing)*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:hsl(var(--foreground))}.placeholder\\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.after\\:left-1\\/2:after{content:var(--tw-content);left:50%}.after\\:w-1:after{content:var(--tw-content);width:calc(var(--spacing)*1)}.after\\:-translate-x-1\\/2:after{content:var(--tw-content);--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.last\\:mt-0:last-child{margin-top:calc(var(--spacing)*0)}@media (hover:hover){.hover\\:bg-accent:hover,.hover\\:bg-accent\\/50:hover{background-color:hsl(var(--accent))}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/50:hover{background-color:color-mix(in oklab,hsl(var(--accent))50%,transparent)}}.hover\\:bg-destructive\\/90:hover{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-destructive\\/90:hover{background-color:color-mix(in oklab,hsl(var(--destructive))90%,transparent)}}.hover\\:bg-input\\/50:hover{background-color:hsl(var(--input))}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-input\\/50:hover{background-color:color-mix(in oklab,hsl(var(--input))50%,transparent)}}.hover\\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\\:bg-primary\\/90:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab,hsl(var(--primary))90%,transparent)}}.hover\\:bg-secondary\\/80:hover{background-color:hsl(var(--secondary))}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-secondary\\/80:hover{background-color:color-mix(in oklab,hsl(var(--secondary))80%,transparent)}}.hover\\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\\:text-destructive:hover{color:hsl(var(--destructive))}.hover\\:text-foreground:hover{color:hsl(var(--foreground))}.hover\\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\\:text-primary:hover{color:hsl(var(--primary))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-100:hover{opacity:1}}.focus\\:z-10:focus{z-index:10}.focus\\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.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:hsl(var(--ring))}.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-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\\:z-10:focus-visible{z-index:10}.focus-visible\\:border-ring:focus-visible{border-color:hsl(var(--ring))}.focus-visible\\:ring-0:focus-visible{--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-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-\\[3px\\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-destructive\\/40:focus-visible{--tw-ring-color:hsl(var(--destructive))}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-destructive\\/40:focus-visible{--tw-ring-color:color-mix(in oklab,hsl(var(--destructive))40%,transparent)}}.focus-visible\\:ring-ring:focus-visible,.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:hsl(var(--ring))}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:color-mix(in oklab,hsl(var(--ring))50%,transparent)}}.focus-visible\\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus-visible\\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.focus-visible\\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\\:outline-ring:focus-visible{outline-color:hsl(var(--ring))}:is(.\\*\\:focus-visible\\:relative>*):focus-visible{position:relative}:is(.\\*\\:focus-visible\\:z-10>*):focus-visible{z-index:10}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-50:disabled{opacity:.5}.has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:border-ring:has([data-slot=input-group-control]:focus-visible){border-color:hsl(var(--ring))}.has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-\\[3px\\]:has([data-slot=input-group-control]:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-ring\\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:hsl(var(--ring))}@supports (color:color-mix(in lab, red, red)){.has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-ring\\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:color-mix(in oklab,hsl(var(--ring))50%,transparent)}}.has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:border-destructive:has([data-slot][aria-invalid=true]){border-color:hsl(var(--destructive))}.has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:hsl(var(--destructive))}@supports (color:color-mix(in lab, red, red)){.has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab,hsl(var(--destructive))20%,transparent)}}.has-\\[\\>\\[data-align\\=block-end\\]\\]\\:h-auto:has(>[data-align=block-end]){height:auto}.has-\\[\\>\\[data-align\\=block-end\\]\\]\\:flex-col:has(>[data-align=block-end]){flex-direction:column}.has-\\[\\>\\[data-align\\=block-start\\]\\]\\:h-auto:has(>[data-align=block-start]){height:auto}.has-\\[\\>\\[data-align\\=block-start\\]\\]\\:flex-col:has(>[data-align=block-start]){flex-direction:column}.has-\\[\\>\\[data-slot\\=button-group\\]\\]\\:gap-2:has(>[data-slot=button-group]){gap:calc(var(--spacing)*2)}.has-\\[\\>\\[data-slot\\=card-action\\]\\]\\:grid-cols-\\[1fr_auto\\]:has(>[data-slot=card-action]){grid-template-columns:1fr auto}.has-\\[\\>\\[data-slot\\=checkbox-group\\]\\]\\:gap-3:has(>[data-slot=checkbox-group]){gap:calc(var(--spacing)*3)}.has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:items-start:has(>[data-slot=field-content]){align-items:flex-start}.has-\\[\\>\\[data-slot\\=field\\]\\]\\:w-full:has(>[data-slot=field]){width:100%}.has-\\[\\>\\[data-slot\\=field\\]\\]\\:flex-col:has(>[data-slot=field]){flex-direction:column}.has-\\[\\>\\[data-slot\\=field\\]\\]\\:rounded-md:has(>[data-slot=field]){border-radius:calc(var(--radius) - 2px)}.has-\\[\\>\\[data-slot\\=field\\]\\]\\:border:has(>[data-slot=field]){border-style:var(--tw-border-style);border-width:1px}.has-\\[\\>\\[data-slot\\=radio-group\\]\\]\\:gap-3:has(>[data-slot=radio-group]){gap:calc(var(--spacing)*3)}.has-\\[\\>\\[data-state\\=checked\\]\\]\\:border-primary:has(>[data-state=checked]){border-color:hsl(var(--primary))}.has-\\[\\>\\[data-state\\=checked\\]\\]\\:bg-primary\\/10:has(>[data-state=checked]){background-color:hsl(var(--primary))}@supports (color:color-mix(in lab, red, red)){.has-\\[\\>\\[data-state\\=checked\\]\\]\\:bg-primary\\/10:has(>[data-state=checked]){background-color:color-mix(in oklab,hsl(var(--primary))10%,transparent)}}.has-\\[\\>button\\]\\:mr-\\[-0\\.45rem\\]:has(>button){margin-right:-.45rem}.has-\\[\\>button\\]\\:ml-\\[-0\\.45rem\\]:has(>button){margin-left:-.45rem}.has-\\[\\>kbd\\]\\:mr-\\[-0\\.35rem\\]:has(>kbd){margin-right:-.35rem}.has-\\[\\>kbd\\]\\:ml-\\[-0\\.35rem\\]:has(>kbd){margin-left:-.35rem}.has-\\[\\>svg\\]\\:p-0:has(>svg){padding:calc(var(--spacing)*0)}.has-\\[\\>svg\\]\\:px-2:has(>svg){padding-inline:calc(var(--spacing)*2)}.has-\\[\\>svg\\]\\:px-2\\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\\[\\>svg\\]\\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\\[\\>svg\\]\\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.has-\\[\\>textarea\\]\\:h-auto:has(>textarea){height:auto}.aria-invalid\\:border-destructive[aria-invalid=true]{border-color:hsl(var(--destructive))}.aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:hsl(var(--destructive))}@supports (color:color-mix(in lab, red, red)){.aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,hsl(var(--destructive))20%,transparent)}}.aria-invalid\\:ring-destructive\\/40[aria-invalid=true]{--tw-ring-color:hsl(var(--destructive))}@supports (color:color-mix(in lab, red, red)){.aria-invalid\\:ring-destructive\\/40[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,hsl(var(--destructive))40%,transparent)}}.data-disabled\\:pointer-events-none[data-disabled]{pointer-events:none}.data-disabled\\:opacity-50[data-disabled]{opacity:.5}.data-dragging\\:cursor-grabbing[data-dragging]{cursor:grabbing}.data-dragging\\:opacity-0[data-dragging]{opacity:0}.data-inset\\:pl-8[data-inset]{padding-left:calc(var(--spacing)*8)}.data-placeholder\\:text-muted-foreground[data-placeholder]{color:hsl(var(--muted-foreground))}.data-\\[disabled\\=true\\]\\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\\[disabled\\=true\\]\\:opacity-50[data-disabled=true]{opacity:.5}.data-\\[invalid\\=true\\]\\:text-destructive[data-invalid=true]{color:hsl(var(--destructive))}.data-\\[orientation\\=horizontal\\]\\:h-px[data-orientation=horizontal]{height:1px}.data-\\[orientation\\=horizontal\\]\\:w-full[data-orientation=horizontal]{width:100%}.data-\\[orientation\\=vertical\\]\\:h-auto[data-orientation=vertical]{height:auto}.data-\\[orientation\\=vertical\\]\\:h-full[data-orientation=vertical]{height:100%}.data-\\[orientation\\=vertical\\]\\:w-px[data-orientation=vertical]{width:1px}.data-\\[panel-group-direction\\=vertical\\]\\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\\[panel-group-direction\\=vertical\\]\\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\\[panel-group-direction\\=vertical\\]\\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\\[panel-group-direction\\=vertical\\]\\:after\\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:calc(var(--spacing)*0)}.data-\\[panel-group-direction\\=vertical\\]\\:after\\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:calc(var(--spacing)*1)}.data-\\[panel-group-direction\\=vertical\\]\\:after\\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\\[panel-group-direction\\=vertical\\]\\:after\\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\\[panel-group-direction\\=vertical\\]\\:after\\:-translate-y-1\\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\\[selected\\=true\\]\\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\\[selected\\=true\\]\\:text-accent-foreground[data-selected=true]{color:hsl(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:calc(2*var(--spacing)*-1)}.data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.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:calc(2*var(--spacing)*-1)}.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:calc(2*var(--spacing))}.data-\\[size\\=default\\]\\:h-9[data-size=default]{height:calc(var(--spacing)*9)}.data-\\[size\\=sm\\]\\:h-8[data-size=sm]{height:calc(var(--spacing)*8)}.data-\\[slot\\=checkbox-group\\]\\:gap-3[data-slot=checkbox-group]{gap:calc(var(--spacing)*3)}:is(.\\*\\*\\:data-\\[slot\\=command-input-wrapper\\]\\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing)*12)}:is(.\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\\*\\:data-\\[slot\\=select-value\\]\\:flex>*)[data-slot=select-value]{display:flex}:is(.\\*\\:data-\\[slot\\=select-value\\]\\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\\*\\:data-\\[slot\\=select-value\\]\\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing)*2)}.data-\\[spacing\\=0\\]\\:rounded-none[data-spacing="0"]{border-radius:0}.data-\\[spacing\\=0\\]\\:shadow-none[data-spacing="0"]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\\[spacing\\=0\\]\\:first\\:rounded-l-md[data-spacing="0"]:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.data-\\[spacing\\=0\\]\\:last\\:rounded-r-md[data-spacing="0"]:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.data-\\[state\\=active\\]\\:border-input[data-state=active]{border-color:hsl(var(--input))}.data-\\[state\\=active\\]\\:bg-input\\/30[data-state=active]{background-color:hsl(var(--input))}@supports (color:color-mix(in lab, red, red)){.data-\\[state\\=active\\]\\:bg-input\\/30[data-state=active]{background-color:color-mix(in oklab,hsl(var(--input))30%,transparent)}}.data-\\[state\\=active\\]\\:text-foreground[data-state=active]{color:hsl(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\\]\\:translate-x-\\[calc\\(100\\%-2px\\)\\][data-state=checked]{--tw-translate-x:calc(100% - 2px);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\\[state\\=checked\\]\\:border-primary[data-state=checked]{border-color:hsl(var(--primary))}.data-\\[state\\=checked\\]\\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\\[state\\=checked\\]\\:bg-primary-foreground[data-state=checked]{background-color:hsl(var(--primary-foreground))}.data-\\[state\\=checked\\]\\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\\[state\\=closed\\]\\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\\[state\\=closed\\]\\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\\[state\\=closed\\]\\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\\[state\\=on\\]\\:bg-accent[data-state=on]{background-color:hsl(var(--accent))}.data-\\[state\\=on\\]\\:bg-transparent[data-state=on]{background-color:#0000}.data-\\[state\\=on\\]\\:text-accent-foreground[data-state=on]{color:hsl(var(--accent-foreground))}.data-\\[state\\=open\\]\\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\\[state\\=open\\]\\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\\[state\\=open\\]\\:text-accent-foreground[data-state=open]{color:hsl(var(--accent-foreground))}.data-\\[state\\=open\\]\\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\\[state\\=open\\]\\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\\[state\\=open\\]\\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\\[state\\=unchecked\\]\\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\\[state\\=unchecked\\]\\:bg-foreground[data-state=unchecked]{background-color:hsl(var(--foreground))}.data-\\[state\\=unchecked\\]\\:bg-input\\/80[data-state=unchecked]{background-color:hsl(var(--input))}@supports (color:color-mix(in lab, red, red)){.data-\\[state\\=unchecked\\]\\:bg-input\\/80[data-state=unchecked]{background-color:color-mix(in oklab,hsl(var(--input))80%,transparent)}}.data-\\[variant\\=destructive\\]\\:text-destructive[data-variant=destructive]{color:hsl(var(--destructive))}.data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20[data-variant=destructive]:focus{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab, red, red)){.data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20[data-variant=destructive]:focus{background-color:color-mix(in oklab,hsl(var(--destructive))20%,transparent)}}.data-\\[variant\\=destructive\\]\\:focus\\:text-destructive[data-variant=destructive]:focus{color:hsl(var(--destructive))}.data-\\[variant\\=label\\]\\:text-sm[data-variant=label]{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.data-\\[variant\\=legend\\]\\:text-base[data-variant=legend]{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:border-l-0[data-spacing="0"][data-variant=outline]{border-left-style:var(--tw-border-style);border-left-width:0}.data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:first\\:border-l[data-spacing="0"][data-variant=outline]:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\\[spacing\\=default\\]\\:data-\\[variant\\=outline\\]\\:shadow-xs[data-spacing=default][data-variant=outline]{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.nth-last-2\\:-mt-1:nth-last-child(2){margin-top:calc(var(--spacing)*-1)}@media (min-width:40rem){.sm\\:max-w-\\[425px\\]{max-width:425px}.sm\\:max-w-lg{max-width:var(--container-lg)}.sm\\:flex-row{flex-direction:row}.sm\\:justify-end{justify-content:flex-end}.sm\\:text-left{text-align:left}}@media (min-width:48rem){.md\\:p-12{padding:calc(var(--spacing)*12)}.md\\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@container field-group (width>=28rem){.\\@md\\/field-group\\:flex-row{flex-direction:row}.\\@md\\/field-group\\:items-center{align-items:center}.\\@md\\/field-group\\:has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:items-start:has(>[data-slot=field-content]){align-items:flex-start}}@media (prefers-color-scheme:dark){.dark\\:bg-input\\/30{background-color:hsl(var(--input))}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-input\\/30{background-color:color-mix(in oklab,hsl(var(--input))30%,transparent)}}.dark\\:bg-transparent{background-color:#0000}.dark\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/40:has([data-slot][aria-invalid=true]){--tw-ring-color:hsl(var(--destructive))}@supports (color:color-mix(in lab, red, red)){.dark\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/40:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab,hsl(var(--destructive))40%,transparent)}}.dark\\:aria-invalid\\:ring-destructive\\/40[aria-invalid=true]{--tw-ring-color:hsl(var(--destructive))}@supports (color:color-mix(in lab, red, red)){.dark\\:aria-invalid\\:ring-destructive\\/40[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,hsl(var(--destructive))40%,transparent)}}}.\\[\\&_\\[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:hsl(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\\]\\:size-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing)*5);height: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\\]\\:size-5 [cmdk-item] svg{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-6 svg:not([class*=size-]){width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'text-\\'\\]\\)\\]\\:text-muted-foreground svg:not([class*=text-]){color:hsl(var(--muted-foreground))}.\\[\\.border-b\\]\\:pb-3.border-b{padding-bottom:calc(var(--spacing)*3)}.\\[\\.border-b\\]\\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\\[\\.border-t\\]\\:pt-3.border-t{padding-top:calc(var(--spacing)*3)}.\\[\\.border-t\\]\\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}:is(.\\*\\:\\[span\\]\\:last\\:flex>*):is(span):last-child{display:flex}:is(.\\*\\:\\[span\\]\\:last\\:items-center>*):is(span):last-child{align-items:center}:is(.\\*\\:\\[span\\]\\:last\\:gap-2>*):is(span):last-child{gap:calc(var(--spacing)*2)}:is(.data-\\[state\\=on\\]\\:\\*\\:\\[svg\\]\\:fill-yellow-500[data-state=on]>*):is(svg){fill:var(--color-yellow-500)}:is(.data-\\[state\\=on\\]\\:\\*\\:\\[svg\\]\\:stroke-yellow-500[data-state=on]>*):is(svg){stroke:var(--color-yellow-500)}:is(.data-\\[variant\\=destructive\\]\\:\\*\\:\\[svg\\]\\:text-destructive\\![data-variant=destructive]>*):is(svg){color:hsl(var(--destructive))!important}.\\[\\&\\>\\*\\]\\:w-full>*{width:100%}.\\[\\&\\>\\*\\]\\:data-\\[slot\\=field\\]\\:p-4>[data-slot=field]{padding:calc(var(--spacing)*4)}@container field-group (width>=28rem){.\\@md\\/field-group\\:\\[\\&\\>\\*\\]\\:w-auto>*{width:auto}}.\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-t-none>:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-l-none>:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-t-0>:not(:first-child){border-top-style:var(--tw-border-style);border-top-width:0}.\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-l-0>:not(:first-child){border-left-style:var(--tw-border-style);border-left-width:0}.\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-r-none>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-b-none>:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.\\[\\&\\>\\.sr-only\\]\\:w-auto>.sr-only{width:auto}.\\[\\&\\>\\[data-slot\\=field-group\\]\\]\\:gap-4>[data-slot=field-group]{gap:calc(var(--spacing)*4)}.\\[\\&\\>\\[data-slot\\=field-label\\]\\]\\:flex-auto>[data-slot=field-label]{flex:auto}@container field-group (width>=28rem){.\\@md\\/field-group\\:\\[\\&\\>\\[data-slot\\=field-label\\]\\]\\:flex-auto>[data-slot=field-label]{flex:auto}}.has-\\[select\\[aria-hidden\\=true\\]\\:last-child\\]\\:\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:last-of-type\\]\\:rounded-r-md:has(:is(select[aria-hidden=true]:last-child))>[data-slot=select-trigger]:last-of-type{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:not\\(\\[class\\*\\=\\'w-\\'\\]\\)\\]\\:w-fit>[data-slot=select-trigger]:not([class*=w-]){width:fit-content}:is(.has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:\\[\\&\\>\\[role\\=checkbox\\]\\,\\[role\\=radio\\]\\]\\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:\\[\\&\\>\\[role\\=checkbox\\]\\,\\[role\\=radio\\]\\]\\:mt-px:has(>[data-slot=field-content]) [role=radio]){margin-top:1px}@container field-group (width>=28rem){:is(.\\@md\\/field-group\\:has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:\\[\\&\\>\\[role\\=checkbox\\]\\,\\[role\\=radio\\]\\]\\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.\\@md\\/field-group\\:has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:\\[\\&\\>\\[role\\=checkbox\\]\\,\\[role\\=radio\\]\\]\\:mt-px:has(>[data-slot=field-content]) [role=radio]){margin-top:1px}}.\\[\\&\\>a\\]\\:underline>a{text-decoration-line:underline}.\\[\\&\\>a\\]\\:underline-offset-4>a{text-underline-offset:4px}.\\[\\&\\>a\\:hover\\]\\:text-primary>a:hover{color:hsl(var(--primary))}.\\[\\&\\>input\\]\\:flex-1>input{flex:1}.has-\\[\\>\\[data-align\\=block-end\\]\\]\\:\\[\\&\\>input\\]\\:pt-3:has(>[data-align=block-end])>input{padding-top:calc(var(--spacing)*3)}.has-\\[\\>\\[data-align\\=block-start\\]\\]\\:\\[\\&\\>input\\]\\:pb-3:has(>[data-align=block-start])>input{padding-bottom:calc(var(--spacing)*3)}.has-\\[\\>\\[data-align\\=inline-end\\]\\]\\:\\[\\&\\>input\\]\\:pr-2:has(>[data-align=inline-end])>input{padding-right:calc(var(--spacing)*2)}.has-\\[\\>\\[data-align\\=inline-start\\]\\]\\:\\[\\&\\>input\\]\\:pl-2:has(>[data-align=inline-start])>input{padding-left:calc(var(--spacing)*2)}.\\[\\&\\>kbd\\]\\:rounded-\\[calc\\(var\\(--radius\\)-5px\\)\\]>kbd{border-radius:calc(var(--radius) - 5px)}.\\[\\&\\>svg\\]\\:pointer-events-none>svg{pointer-events:none}.\\[\\&\\>svg\\]\\:size-3>svg{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\\[\\&\\>svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-3\\.5>svg:not([class*=size-]){width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.\\[\\&\\>svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4>svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\\[\\&\\[data-panel-group-direction\\=vertical\\]\\>div\\]\\:rotate-90[data-panel-group-direction=vertical]>div{rotate:90deg}[data-variant=legend]+.\\[\\[data-variant\\=legend\\]\\+\\&\\]\\:-mt-1\\.5{margin-top:calc(var(--spacing)*-1.5)}@media (hover:hover){a.\\[a\\&\\]\\:hover\\:bg-accent:hover{background-color:hsl(var(--accent))}a.\\[a\\&\\]\\:hover\\:bg-destructive\\/90:hover{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab, red, red)){a.\\[a\\&\\]\\:hover\\:bg-destructive\\/90:hover{background-color:color-mix(in oklab,hsl(var(--destructive))90%,transparent)}}a.\\[a\\&\\]\\:hover\\:bg-primary\\/90:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab, red, red)){a.\\[a\\&\\]\\:hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab,hsl(var(--primary))90%,transparent)}}a.\\[a\\&\\]\\:hover\\:bg-secondary\\/90:hover{background-color:hsl(var(--secondary))}@supports (color:color-mix(in lab, red, red)){a.\\[a\\&\\]\\:hover\\:bg-secondary\\/90:hover{background-color:color-mix(in oklab,hsl(var(--secondary))90%,transparent)}}a.\\[a\\&\\]\\:hover\\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:host,.hive-laboratory{width:100%;height:100%;display:block}.hive-laboratory{--color-neutral-1:0 0% 99%;--color-neutral-2:180 9% 97%;--color-neutral-3:210 7% 95%;--color-neutral-4:200 6% 92%;--color-neutral-5:210 6% 89%;--color-neutral-6:204 5% 79%;--color-neutral-7:197 4% 67%;--color-neutral-8:196 4% 51%;--color-neutral-9:193 9% 32%;--color-neutral-10:188 15% 21%;--color-neutral-11:188 19% 15%;--color-neutral-12:175 23% 10%;--color-accent:206 96% 35%;--color-ring:216 58% 49%;--radius:var(--hive-laboratory-radius,.5rem);--background:var(--hive-laboratory-background,var(--color-neutral-2));--foreground:var(--hive-laboratory-foreground,var(--color-neutral-11));--muted:var(--hive-laboratory-muted,24 9.8% 10%);--muted-foreground:var(--hive-laboratory-muted-foreground,var(--color-neutral-11));--popover:var(--hive-laboratory-popover,var(--color-neutral-3));--popover-foreground:var(--hive-laboratory-popover-foreground,var(--color-neutral-11));--card:var(--hive-laboratory-card,var(--color-neutral-1));--card-foreground:var(--hive-laboratory-card-foreground,var(--color-neutral-11));--border:var(--hive-laboratory-border,var(--color-neutral-5));--input:var(--hive-laboratory-input,var(--color-neutral-5));--primary:var(--hive-laboratory-primary,var(--color-accent));--primary-foreground:var(--hive-laboratory-primary-foreground,var(--color-neutral-1));--secondary:var(--hive-laboratory-secondary,var(--color-neutral-3));--secondary-foreground:var(--hive-laboratory-secondary-foreground,var(--color-neutral-11));--accent:var(--hive-laboratory-accent,var(--color-neutral-4));--accent-foreground:var(--hive-laboratory-accent-foreground,var(--color-neutral-11));--destructive:var(--hive-laboratory-destructive,var(--red-500));--destructive-foreground:var(--hive-laboratory-destructive-foreground,var(--color-neutral-1));--ring:var(--hive-laboratory-ring,var(--color-ring))}.hive-laboratory.dark{--color-neutral-1:210 21% 5%;--color-neutral-2:210 16% 7%;--color-neutral-3:214 14% 10%;--color-neutral-4:210 13% 13%;--color-neutral-5:210 12% 16%;--color-neutral-6:210 11% 21%;--color-neutral-7:210 12% 27%;--color-neutral-8:210 11% 34%;--color-neutral-9:210 10% 43%;--color-neutral-10:213 9% 58%;--color-neutral-11:210 11% 75%;--color-neutral-12:204 14% 93%;--color-accent:48 100% 83%;--radius:var(--hive-laboratory-radius,.5rem);--background:var(--hive-laboratory-background,var(--color-neutral-1));--foreground:var(--hive-laboratory-foreground,var(--color-neutral-11));--muted:var(--hive-laboratory-muted,var(--color-neutral-3));--muted-foreground:var(--hive-laboratory-muted-foreground,var(--color-neutral-11));--popover:var(--hive-laboratory-popover,var(--color-neutral-3));--popover-foreground:var(--hive-laboratory-popover-foreground,var(--color-neutral-11));--card:var(--hive-laboratory-card,var(--color-neutral-2));--card-foreground:var(--hive-laboratory-card-foreground,var(--color-neutral-11));--border:var(--hive-laboratory-border,var(--color-neutral-5));--input:var(--hive-laboratory-input,var(--color-neutral-5));--primary:var(--hive-laboratory-primary,var(--color-accent));--primary-foreground:var(--hive-laboratory-primary-foreground,var(--color-neutral-1));--secondary:var(--hive-laboratory-secondary,var(--color-neutral-3));--secondary-foreground:var(--hive-laboratory-secondary-foreground,var(--color-neutral-11));--accent:var(--hive-laboratory-accent,var(--color-neutral-6));--accent-foreground:var(--hive-laboratory-accent-foreground,var(--color-neutral-11));--destructive:var(--hive-laboratory-destructive,var(--red-500));--destructive-foreground:var(--hive-laboratory-destructive-foreground,var(--color-neutral-1));--ring:var(--hive-laboratory-ring,var(--color-ring))}@layer color{.hive-laboratory{background-color:hsl(var(--background));color:hsl(var(--foreground))}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-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-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}`,m=`/*!-----------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
* Released under the MIT license
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
*-----------------------------------------------------------*/
.monaco-action-bar{white-space:nowrap;height:100%}.monaco-action-bar .actions-container{align-items:center;width:100%;height:100%;margin:0 auto;padding:0;display:flex}.monaco-action-bar.vertical .actions-container{display:inline-block}.monaco-action-bar .action-item{cursor:pointer;justify-content:center;align-items:center;display:block;position:relative}.monaco-action-bar .action-item.disabled{cursor:default}.monaco-action-bar .action-item .codicon,.monaco-action-bar .action-item .icon{display:block}.monaco-action-bar .action-item .codicon{align-items:center;width:16px;height:16px;display:flex}.monaco-action-bar .action-label{border-radius:5px;padding:3px;font-size:11px;display:flex}.monaco-action-bar .action-item.disabled .action-label,.monaco-action-bar .action-item.disabled .action-label:before,.monaco-action-bar .action-item.disabled .action-label:hover{color:var(--vscode-disabledForeground)}.monaco-action-bar.vertical{text-align:left}.monaco-action-bar.vertical .action-item{display:block}.monaco-action-bar.vertical .action-label.separator{border-bottom:1px solid #bbb;margin-left:.8em;margin-right:.8em;padding-top:1px;display:block}.monaco-action-bar .action-item .action-label.separator{cursor:default;background-color:#bbb;width:1px;min-width:1px;height:16px;padding:0;margin:5px 4px!important}.secondary-actions .monaco-action-bar .action-label{margin-left:6px}.monaco-action-bar .action-item.select-container{flex:1;justify-content:center;align-items:center;min-width:60px;max-width:170px;margin-right:10px;display:flex;overflow:hidden}.monaco-action-bar .action-item.action-dropdown-item{display:flex}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator{cursor:default;align-items:center;display:flex}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator>div{width:1px}.monaco-aria-container{position:absolute;left:-999em}.monaco-text-button{border:1px solid var(--vscode-button-border,transparent);box-sizing:border-box;cursor:pointer;text-align:center;border-radius:2px;justify-content:center;align-items:center;width:100%;padding:4px;line-height:18px;display:flex}.monaco-text-button:focus{outline-offset:2px!important}.monaco-text-button:hover{text-decoration:none!important}.monaco-button.disabled,.monaco-button.disabled:focus{cursor:default;opacity:.4!important}.monaco-text-button .codicon{margin:0 .2em;color:inherit!important}.monaco-text-button.monaco-text-button-with-short-label{flex-flow:wrap;height:28px;padding:0 4px;overflow:hidden}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label{flex-basis:100%}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{flex-grow:1;width:0;overflow:hidden}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label,.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{font-style:inherit;justify-content:center;align-items:center;padding:4px 0;font-weight:400;display:flex}.monaco-button-dropdown{cursor:pointer;display:flex}.monaco-button-dropdown.disabled{cursor:default}.monaco-button-dropdown>.monaco-button:focus{outline-offset:-1px!important}.monaco-button-dropdown.disabled>.monaco-button-dropdown-separator,.monaco-button-dropdown.disabled>.monaco-button.disabled,.monaco-button-dropdown.disabled>.monaco-button.disabled:focus{opacity:.4!important}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-right-width:0!important}.monaco-button-dropdown .monaco-button-dropdown-separator{cursor:default;padding:4px 0}.monaco-button-dropdown .monaco-button-dropdown-separator>div{width:1px;height:100%}.monaco-button-dropdown>.monaco-button.monaco-dropdown-button{border:1px solid var(--vscode-button-border,transparent);border-radius:0 2px 2px 0;align-items:center;display:flex;border-left-width:0!important}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-radius:2px 0 0 2px}.monaco-description-button{flex-direction:column;align-items:center;margin:4px 5px;display:flex}.monaco-description-button .monaco-button-description{padding:4px 20px;font-size:11px;font-style:italic}.monaco-description-button .monaco-button-description,.monaco-description-button .monaco-button-label{justify-content:center;align-items:center;display:flex}.monaco-description-button .monaco-button-description>.codicon,.monaco-description-button .monaco-button-label>.codicon{margin:0 .2em;color:inherit!important}.monaco-button-dropdown.default-colors>.monaco-button,.monaco-button.default-colors{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground)}.monaco-button-dropdown.default-colors>.monaco-button:hover,.monaco-button.default-colors:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-button-dropdown.default-colors>.monaco-button.secondary,.monaco-button.default-colors.secondary{background-color:var(--vscode-button-secondaryBackground);color:var(--vscode-button-secondaryForeground)}.monaco-button-dropdown.default-colors>.monaco-button.secondary:hover,.monaco-button.default-colors.secondary:hover{background-color:var(--vscode-button-secondaryHoverBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator{background-color:var(--vscode-button-background);border-bottom:1px solid var(--vscode-button-border);border-top:1px solid var(--vscode-button-border)}.monaco-button-dropdown.default-colors .monaco-button.secondary+.monaco-button-dropdown-separator{background-color:var(--vscode-button-secondaryBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator>div{background-color:var(--vscode-button-separator)}@font-face{font-display:block;font-family:codicon;src:url(data:font/ttf;base64,AAEAAAALAIAAAwAwR1NVQiCLJXoAAAE4AAAAVE9TLzI3T0tHAAABjAAAAGBjbWFwQ5s/ewAACSQAABreZ2x5ZvJtKHkAACekAAD3FGhlYWRYl6BTAAAA4AAAADZoaGVhAlsC+QAAALwAAAAkaG10eBxB//oAAAHsAAAHOGxvY2EFi8dWAAAkBAAAA55tYXhwAu8BgQAAARgAAAAgbmFtZZP3uUsAAR64AAAB+HBvc3RjGEbCAAEgsAAAGSQAAQAAASwAAAAAASz////+AS4AAQAAAAAAAAAAAAAAAAAAAc4AAQAAAAEAAFT7+XFfDzz1AAsBLAAAAAB8JbCAAAAAAHwlsID////9AS4BLQAAAAgAAgAAAAAAAAABAAABzgF1ABcAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKADAAPgACREZMVAAObGF0bgAaAAQAAAAAAAAAAQAAAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAQBKwGQAAUAAADLANIAAAAqAMsA0gAAAJAADgBNAAACAAUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBmRWQAwOpg8QEBLAAAABsBRwADAAAAAQAAAAAAAAAAAAAAAAACAAAAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEs//8BLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLP//ASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEs//8BLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASz//wEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASz//wEsAAABLAAAASwAAAEs//8BLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAAAAABQAAAAMAAAAsAAAABAAABSYAAQAAAAAEIAADAAEAAAAsAAMACgAABSYABAP0AAAAEgAQAAMAAuqI6ozqx+rJ6wnrTuw08QH//wAA6mDqiuqP6snqzOsL61DxAf//AAAAAAAAAAAAAAAAAAAAAAABABIAYgBmANYA1gFQAdYDngAAAAMA8QFKAUcAtAE3AZUBJQFuAQ4BdABOAcMBYAFqAWkAkQA2ATAAhgDPAP4AQQGTAHkAFwG+AJsAiAFDAR0BFAEVAagAyQCmALwBoAGAAIsBkQF5AYgBhgF6AYkBkAGLAYQAvgF/AY0AAgAEAAUACgALAAwADQAOAA8AEAASABsAHQAeAB8AXABdAF4AXwBiAGMAIgAjACQAJQAmACkAKwAsAC0ALgAvADAAMgAzADQANQA8ADkAPQA+AD8AQABCAEMARgBIAEkASwBVAFYAVwBYAGcAaQBrAG4AcgB0AHUAdgB3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AKIAAOr2AADq9gAAAKMAAOr3AADq9wAAAKUAAOr4AADq+AAAAKgAAOr5AADq+QAAAKkAAOr6AADq+gAAAKoAAOr7AADq+wAAAJQAAOr8AADq/AAAAKsAAOr9AADq/QAAAKwAAOr+AADq/gAAAK4AAOr/AADq/wAAALgAAOsAAADrAAAAALkAAOsBAADrAQAAAL0AAOsCAADrAgAAAMAAAOsDAADrAwAAAMQAAOsEAADrBAAAAMUAAOsFAADrBQAAAMgAAOsGAADrBgAAAMoAAOsHAADrBwAAAMsAAOsIAADrCAAAAMwAAOsJAADrCQAAAM0AAOsLAADrCwAAANMAAOsMAADrDAAAANQAAOsNAADrDQAAANUAAOsOAADrDgAAANYAAOsPAADrDwAAANcAAOsQAADrEAAAANgAAOsRAADrEQAAANkAAOsSAADrEgAAANoAAOsTAADrEwAAAO8AAOsUAADrFAAAAPIAAOsVAADrFQAAAPMAAOsWAADrFgAAAPYAAOsXAADrFwAAAPkAAOsYAADrGAAAAPoAAOsZAADrGQAAAPsAAOsaAADrGgAAAPwAAOsbAADrGwAAAQAAAOscAADrHAAAAQEAAOsdAADrHQAAAQYAAOseAADrHgAAAQcAAOsfAADrHwAAAQgAAOsgAADrIAAAAQ0AAOshAADrIQAAAQ8AAOsiAADrIgAAARAAAOsjAADrIwAAAREAAOskAADrJAAAARMAAOslAADrJQAAARcAAOsmAADrJgAAARgAAOsnAADrJwAAARsAAOsoAADrKAAAARwAAOspAADrKQAAAR8AAOsqAADrKgAAASAAAOsrAADrKwAAASgAAOssAADrLAAAASwAAOstAADrLQAAAS0AAOsuAADrLgAAAS4AAOsvAADrLwAAAS8AAOswAADrMAAAATEAAOsxAADrMQAAATIAAOsyAADrMgAAATMAAOszAADrMwAAATQAAOs0AADrNAAAATUAAOs1AADrNQAAATYAAOs2AADrNgAAATsAAOs3AADrNwAAATwAAOs4AADrOAAAAT0AAOs5AADrOQAAAT4AAOs6AADrOgAAAT8AAOs7AADrOwAAAUAAAOs8AADrPAAAAUEAAOs9AADrPQAAAUIAAOs+AADrPgAAAUQAAOs/AADrPwAAAUYAAOtAAADrQAAAAUgAAOtBAADrQQAAAUkAAOtCAADrQgAAAUsAAOtDAADrQwAAAUwAAOtEAADrRAAAAU4AAOtFAADrRQAAAU8AAOtGAADrRgAAAVAAAOtHAADrRwAAAVEAAOtIAADrSAAAAVIAAOtJAADrSQAAAVkAAOtKAADrSgAAAVoAAOtLAADrSwAAAVsAAOtMAADrTAAAAVwAAOtNAADrTQAAAV0AAOtOAADrTgAAAV8AAOtQAADrUAAAAWQAAOtRAADrUQAAAWUAAOtSAADrUgAAAWYAAOtTAADrUwAAAWgAAOtUAADrVAAAAWsAAOtVAADrVQAAAW0AAOtWAADrVgAAAXEAAOtXAADrVwAAAXIAAOtYAADrWAAAAXMAAOtZAADrWQAAAXUAAOtaAADrWgAAAXYAAOtbAADrWwAAAXsAAOtcAADrXAAAAXwAAOtdAADrXQAAAX0AAOteAADrXgAAAX4AAOtfAADrXwAAAYEAAOtgAADrYAAAAYIAAOthAADrYQAAAYMAAOtiAADrYgAAAYUAAOtjAADrYwAAAYcAAOtkAADrZAAAAYoAAOtlAADrZQAAAYwAAOtmAADrZgAAAY4AAOtnAADrZwAAAZcAAOtoAADraAAAAZgAAOtpAADraQAAAaEAAOtqAADragAAAaIAAOtrAADrawAAAaQAAOtsAADrbAAAAaYAAOttAADrbQAAAacAAOtuAADrbgAAAakAAOtvAADrbwAAAaoAAOtwAADrcAAAAasAAOtxAADrcQAAAawAAOtyAADrcgAAAa0AAOtzAADrcwAAAbEAAOt0AADrdAAAAbMAAOt1AADrdQAAAbQAAOt2AADrdgAAAbUAAOt3AADrdwAAAbgAAOt4AADreAAAAbkAAOt5AADreQAAAboAAOt6AADregAAAbwAAOt7AADrewAAAb0AAOt8AADrfAAAAcQAAOt9AADrfQAAAcUAAOt+AADrfgAAAcYAAOt/AADrfwAAAccAAOuAAADrgAAAAcgAAOuBAADrgQAAAcwAAOuCAADrggAAAc0AAOuDAADrgwAAAPQAAOuEAADrhAAAAPUAAOuFAADrhQAAAPcAAOuGAADrhgAAAPgAAOuHAADrhwAAAGAAAOuIAADriAAAAGEAAOuJAADriQAAAHAAAOuKAADrigAAADoAAOuLAADriwAAAHEAAOuMAADrjAAAAGQAAOuNAADrjQAAAY8AAOuOAADrjgAAAG8AAOuPAADrjwAAAHMAAOuQAADrkAAAAG0AAOuRAADrkQAAAFsAAOuSAADrkgAAACcAAOuTAADrkwAAACgAAOuUAADrlAAAAQkAAOuVAADrlQAAAI0AAOuWAADrlgAAAJIAAOuXAADrlwAAAMYAAOuYAADrmAAAAbIAAOuZAADrmQAAAAEAAOuaAADrmgAAABgAAOubAADrmwAAAGUAAOucAADrnAAAAO4AAOudAADrnQAAAR4AAOueAADrngAAAVUAAOufAADrnwAAAZIAAOugAADroAAAASoAAOuhAADroQAAALoAAOuiAADrogAAAWMAAOujAADrowAAAWIAAOukAADrpAAAASIAAOulAADrpQAAAXcAAOumAADrpgAAASsAAOunAADrpwAAATkAAOuoAADrqAAAAFoAAOupAADrqQAAAbsAAOuqAADrqgAAAEQAAOurAADrqwAAAQoAAOusAADrrAAAAI4AAOutAADrrQAAAMEAAOuuAADrrgAAAP8AAOuvAADrrwAAARoAAOuwAADrsAAAAToAAOuxAADrsQAAACoAAOuyAADrsgAAASkAAOuzAADrswAAASEAAOu0AADrtAAAADcAAOu1AADrtQAAADgAAOu2AADrtgAAAEoAAOu3AADrtwAAAZQAAOu4AADruAAAAbYAAOu5AADruQAAAbAAAOu6AADrugAAAa4AAOu7AADruwAAAa8AAOu8AADrvAAAALAAAOu9AADrvQAAAVMAAOu+AADrvgAAAVYAAOu/AADrvwAAARkAAOvAAADrwAAAAGwAAOvBAADrwQAAAckAAOvCAADrwgAAAcsAAOvDAADrwwAAAcoAAOvEAADrxAAAAZoAAOvFAADrxQAAAZsAAOvGAADrxgAAAZwAAOvHAADrxwAAAZ0AAOvIAADryAAAAZ4AAOvJAADryQAAAZ8AAOvKAADrygAAAZkAAOvLAADrywAAABEAAOvMAADrzAAAAFMAAOvNAADrzQAAASQAAOvOAADrzgAAAJ0AAOvPAADrzwAAAcIAAOvQAADr0AAAAGoAAOvRAADr0QAAANEAAOvSAADr0gAAAN0AAOvTAADr0wAAANwAAOvUAADr1AAAANsAAOvVAADr1QAAAFEAAOvWAADr1gAAAFAAAOvXAADr1wAAAE8AAOvYAADr2AAA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ACAAaQBjAG8AbgAgAGYAbwBuAHQAIABmAG8AcgAgAFYAaQBzAHUAYQBsACAAUwB0AHUAZABpAG8AIABDAG8AZABlAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAgAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHOAQIBAwEEAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgETARQBFQEWARcBGAEZARoBGwEcAR0BHgEfASABIQEiASMBJAElASYBJwEoASkBKgErASwBLQEuAS8BMAExATIBMwE0ATUBNgE3ATgBOQE6ATsBPAE9AT4BPwFAAUEBQgFDAUQBRQFGAUcBSAFJAUoBSwFMAU0BTgFPAVABUQFSAVMBVAFVAVYBVwFYAVkBWgFbAVwBXQFeAV8BYAFhAWIBYwFkAWUBZgFnAWgBaQFqAWsBbAFtAW4BbwFwAXEBcgFzAXQBdQF2AXcBeAF5AXoBewF8AX0BfgF/AYABgQGCAYMBhAGFAYYBhwGIAYkBigGLAYwBjQGOAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwG4AbkBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNAc4BzwHQAdEB0gHTAdQB1QHWAdcB2AHZAdoB2wHcAd0B3gHfAeAB4QHiAeMB5AHlAeYB5wHoAekB6gHrAewB7QHuAe8B8AHxAfIB8wH0AfUB9gH3AfgB+QH6AfsB/AH9Af4B/wIAAgECAgIDAgQCBQIGAgcCCAIJAgoCCwIMAg0CDgIPAhACEQISAhMCFAIVAhYCFwIYAhkCGgIbAhwCHQIeAh8CIAIhAiICIwIkAiUCJgInAigCKQIqAisCLAItAi4CLwIwAjECMgIzAjQCNQI2AjcCOAI5AjoCOwI8Aj0CPgI/AkACQQJCAkMCRAJFAkYCRwJIAkkCSgJLAkwCTQJOAk8CUAJRAlICUwJUAlUCVgJXAlgCWQJaAlsCXAJdAl4CXwJgAmECYgJjAmQCZQJmAmcCaAJpAmoCawJsAm0CbgJvAnACcQJyAnMCdAJ1AnYCdwJ4AnkCegJ7AnwCfQJ+An8CgAKBAoICgwKEAoUChgKHAogCiQKKAosCjAKNAo4CjwKQApECkgKTApQClQKWApcCmAKZApoCmwKcAp0CngKfAqACoQKiAqMCpAKlAqYCpwKoAqkCqgKrAqwCrQKuAq8CsAKxArICswK0ArUCtgK3ArgCuQK6ArsCvAK9Ar4CvwLAAsECwgLDAsQCxQLGAscCyALJAsoCywLMAs0CzgLPAAdhY2NvdW50FGFjdGl2YXRlLWJyZWFrcG9pbnRzA2FkZAdhcmNoaXZlCmFycm93LWJvdGgRYXJyb3ctY2lyY2xlLWRvd24RYXJyb3ctY2lyY2xlLWxlZnQSYXJyb3ctY2lyY2xlLXJpZ2h0D2Fycm93LWNpcmNsZS11cAphcnJvdy1kb3duCmFycm93LWxlZnQLYXJyb3ctcmlnaHQQYXJyb3ctc21hbGwtZG93bhBhcnJvdy1zbWFsbC1sZWZ0EWFycm93LXNtYWxsLXJpZ2h0DmFycm93LXNtYWxsLXVwCmFycm93LXN3YXAIYXJyb3ctdXAGYXR0YWNoDGF6dXJlLWRldm9wcwVhenVyZQtiZWFrZXItc3RvcAZiZWFrZXIIYmVsbC1kb3QOYmVsbC1zbGFzaC1kb3QKYmVsbC1zbGFzaARiZWxsBWJsYW5rBGJvbGQEYm9vawhib29rbWFyawticmFja2V0LWRvdA1icmFja2V0LWVycm9yCWJyaWVmY2FzZQlicm9hZGNhc3QHYnJvd3NlcgNidWcIY2FsZW5kYXINY2FsbC1pbmNvbWluZw1jYWxsLW91dGdvaW5nDmNhc2Utc2Vuc2l0aXZlCWNoZWNrLWFsbAVjaGVjawljaGVja2xpc3QMY2hldnJvbi1kb3duDGNoZXZyb24tbGVmdA1jaGV2cm9uLXJpZ2h0CmNoZXZyb24tdXAEY2hpcAxjaHJvbWUtY2xvc2UPY2hyb21lLW1heGltaXplD2Nocm9tZS1taW5pbWl6ZQ5jaHJvbWUtcmVzdG9yZQ1jaXJjbGUtZmlsbGVkE2NpcmNsZS1sYXJnZS1maWxsZWQMY2lyY2xlLWxhcmdlDGNpcmNsZS1zbGFzaBNjaXJjbGUtc21hbGwtZmlsbGVkDGNpcmNsZS1zbWFsbAZjaXJjbGUNY2lyY3VpdC1ib2FyZAljbGVhci1hbGwGY2xpcHB5CWNsb3NlLWFsbAVjbG9zZQ5jbG91ZC1kb3dubG9hZAxjbG91ZC11cGxvYWQFY2xvdWQIY29kZS1vc3MEY29kZQZjb2ZmZWUMY29sbGFwc2UtYWxsCmNvbG9yLW1vZGUHY29tYmluZRJjb21tZW50LWRpc2N1c3Npb24NY29tbWVudC1kcmFmdBJjb21tZW50LXVucmVzb2x2ZWQHY29tbWVudA5jb21wYXNzLWFjdGl2ZQtjb21wYXNzLWRvdAdjb21wYXNzB2NvcGlsb3QEY29weQhjb3ZlcmFnZQtjcmVkaXQtY2FyZARkYXNoCWRhc2hib2FyZAhkYXRhYmFzZQlkZWJ1Zy1hbGwPZGVidWctYWx0LXNtYWxsCWRlYnVnLWFsdCdkZWJ1Zy1icmVha3BvaW50LWNvbmRpdGlvbmFsLXVudmVyaWZpZWQcZGVidWctYnJlYWtwb2ludC1jb25kaXRpb25hbCBkZWJ1Zy1icmVha3BvaW50LWRhdGEtdW52ZXJpZmllZBVkZWJ1Zy1icmVha3BvaW50LWRhdGEkZGVidWctYnJlYWtwb2ludC1mdW5jdGlvbi11bnZlcmlmaWVkGWRlYnVnLWJyZWFrcG9pbnQtZnVuY3Rpb24fZGVidWctYnJlYWtwb2ludC1sb2ctdW52ZXJpZmllZBRkZWJ1Zy1icmVha3BvaW50LWxvZxxkZWJ1Zy1icmVha3BvaW50LXVuc3VwcG9ydGVkDWRlYnVnLWNvbnNvbGUUZGVidWctY29udGludWUtc21hbGwOZGVidWctY29udGludWUOZGVidWctY292ZXJhZ2UQZGVidWctZGlzY29ubmVjdBJkZWJ1Zy1saW5lLWJ5LWxpbmULZGVidWctcGF1c2ULZGVidWctcmVydW4TZGVidWctcmVzdGFydC1mcmFtZQ1kZWJ1Zy1yZXN0YXJ0FmRlYnVnLXJldmVyc2UtY29udGludWUXZGVidWctc3RhY2tmcmFtZS1hY3RpdmUQZGVidWctc3RhY2tmcmFtZQtkZWJ1Zy1zdGFydA9kZWJ1Zy1zdGVwLWJhY2sPZGVidWctc3RlcC1pbnRvDmRlYnVnLXN0ZXAtb3V0D2RlYnVnLXN0ZXAtb3ZlcgpkZWJ1Zy1zdG9wBWRlYnVnEGRlc2t0b3AtZG93bmxvYWQTZGV2aWNlLWNhbWVyYS12aWRlbw1kZXZpY2UtY2FtZXJhDWRldmljZS1tb2JpbGUKZGlmZi1hZGRlZAxkaWZmLWlnbm9yZWQNZGlmZi1tb2RpZmllZA1kaWZmLW11bHRpcGxlDGRpZmYtcmVtb3ZlZAxkaWZmLXJlbmFtZWQLZGlmZi1zaW5nbGUEZGlmZgdkaXNjYXJkBGVkaXQNZWRpdG9yLWxheW91dAhlbGxpcHNpcwxlbXB0eS13aW5kb3cLZXJyb3Itc21hbGwFZXJyb3IHZXhjbHVkZQpleHBhbmQtYWxsBmV4cG9ydApleHRlbnNpb25zCmV5ZS1jbG9zZWQDZXllCGZlZWRiYWNrC2ZpbGUtYmluYXJ5CWZpbGUtY29kZQpmaWxlLW1lZGlhCGZpbGUtcGRmDmZpbGUtc3VibW9kdWxlFmZpbGUtc3ltbGluay1kaXJlY3RvcnkRZmlsZS1zeW1saW5rLWZpbGUIZmlsZS16aXAEZmlsZQVmaWxlcw1maWx0ZXItZmlsbGVkBmZpbHRlcgVmbGFtZQlmb2xkLWRvd24HZm9sZC11cARmb2xkDWZvbGRlci1hY3RpdmUOZm9sZGVyLWxpYnJhcnkNZm9sZGVyLW9wZW5lZAZmb2xkZXIEZ2FtZQRnZWFyBGdpZnQLZ2lzdC1zZWNyZXQKZ2l0LWNvbW1pdAtnaXQtY29tcGFyZQlnaXQtZmV0Y2gJZ2l0LW1lcmdlF2dpdC1wdWxsLXJlcXVlc3QtY2xvc2VkF2dpdC1wdWxsLXJlcXVlc3QtY3JlYXRlFmdpdC1wdWxsLXJlcXVlc3QtZHJhZnQeZ2l0LXB1bGwtcmVxdWVzdC1nby10by1jaGFuZ2VzHGdpdC1wdWxsLXJlcXVlc3QtbmV3LWNoYW5nZXMQZ2l0LXB1bGwtcmVxdWVzdA9naXQtc3Rhc2gtYXBwbHkNZ2l0LXN0YXNoLXBvcAlnaXQtc3Rhc2gNZ2l0aHViLWFjdGlvbgpnaXRodWItYWx0D2dpdGh1Yi1pbnZlcnRlZA5naXRodWItcHJvamVjdAZnaXRodWIFZ2xvYmUKZ28tdG8tZmlsZQxnby10by1zZWFyY2gHZ3JhYmJlcgpncmFwaC1sZWZ0CmdyYXBoLWxpbmUNZ3JhcGgtc2NhdHRlcgVncmFwaAdncmlwcGVyEWdyb3VwLWJ5LXJlZi10eXBlDGhlYXJ0LWZpbGxlZAVoZWFydAdoaXN0b3J5BGhvbWUPaG9yaXpvbnRhbC1ydWxlBWh1Ym90BWluYm94BmluZGVudARpbmZvBmluc2VydAdpbnNwZWN0C2lzc3VlLWRyYWZ0Dmlzc3VlLXJlb3BlbmVkBmlzc3VlcwZpdGFsaWMGamVyc2V5BGpzb24Oa2ViYWItdmVydGljYWwDa2V5A2xhdw1sYXllcnMtYWN0aXZlCmxheWVycy1kb3QGbGF5ZXJzF2xheW91dC1hY3Rpdml0eWJhci1sZWZ0GGxheW91dC1hY3Rpdml0eWJhci1yaWdodA9sYXlvdXQtY2VudGVyZWQObGF5b3V0LW1lbnViYXITbGF5b3V0LXBhbmVsLWNlbnRlchRsYXlvdXQtcGFuZWwtanVzdGlmeRFsYXlvdXQtcGFuZWwtbGVmdBBsYXlvdXQtcGFuZWwtb2ZmEmxheW91dC1wYW5lbC1yaWdodAxsYXlvdXQtcGFuZWwXbGF5b3V0LXNpZGViYXItbGVmdC1vZmYTbGF5b3V0LXNpZGViYXItbGVmdBhsYXlvdXQtc2lkZWJhci1yaWdodC1vZmYUbGF5b3V0LXNpZGViYXItcmlnaHQQbGF5b3V0LXN0YXR1c2JhcgZsYXlvdXQHbGlicmFyeRFsaWdodGJ1bGItYXV0b2ZpeBFsaWdodGJ1bGItc3BhcmtsZQlsaWdodGJ1bGINbGluay1leHRlcm5hbARsaW5rC2xpc3QtZmlsdGVyCWxpc3QtZmxhdAxsaXN0LW9yZGVyZWQObGlzdC1zZWxlY3Rpb24JbGlzdC10cmVlDmxpc3QtdW5vcmRlcmVkCmxpdmUtc2hhcmUHbG9hZGluZwhsb2NhdGlvbgpsb2NrLXNtYWxsBGxvY2sGbWFnbmV0CW1haWwtcmVhZARtYWlsCm1hcC1maWxsZWQTbWFwLXZlcnRpY2FsLWZpbGxlZAxtYXAtdmVydGljYWwDbWFwCG1hcmtkb3duCW1lZ2FwaG9uZQdtZW50aW9uBG1lbnUFbWVyZ2UKbWljLWZpbGxlZANtaWMJbWlsZXN0b25lBm1pcnJvcgxtb3J0YXItYm9hcmQEbW92ZRBtdWx0aXBsZS13aW5kb3dzBW11c2ljBG11dGUIbmV3LWZpbGUKbmV3LWZvbGRlcgduZXdsaW5lCm5vLW5ld2xpbmUEbm90ZRFub3RlYm9vay10ZW1wbGF0ZQhub3RlYm9vawhvY3RvZmFjZQxvcGVuLXByZXZpZXcMb3JnYW5pemF0aW9uBm91dHB1dAdwYWNrYWdlCHBhaW50Y2FuC3Bhc3MtZmlsbGVkBHBhc3MKcGVyY2VudGFnZQpwZXJzb24tYWRkBnBlcnNvbgVwaWFubwlwaWUtY2hhcnQDcGluDHBpbm5lZC1kaXJ0eQZwaW5uZWQLcGxheS1jaXJjbGUEcGxheQRwbHVnDXByZXNlcnZlLWNhc2UHcHJldmlldxBwcmltaXRpdmUtc3F1YXJlB3Byb2plY3QFcHVsc2UIcXVlc3Rpb24FcXVvdGULcmFkaW8tdG93ZXIJcmVhY3Rpb25zC3JlY29yZC1rZXlzDHJlY29yZC1zbWFsbAZyZWNvcmQEcmVkbwpyZWZlcmVuY2VzB3JlZnJlc2gFcmVnZXgPcmVtb3RlLWV4cGxvcmVyBnJlbW90ZQZyZW1vdmULcmVwbGFjZS1hbGwHcmVwbGFjZQVyZXBseQpyZXBvLWNsb25lCnJlcG8tZmV0Y2gPcmVwby1mb3JjZS1wdXNoC3JlcG8tZm9ya2VkCXJlcG8tcHVsbAlyZXBvLXB1c2gEcmVwbwZyZXBvcnQPcmVxdWVzdC1jaGFuZ2VzBXJvYm90BnJvY2tldBJyb290LWZvbGRlci1vcGVuZWQLcm9vdC1mb2xkZXIDcnNzBHJ1YnkJcnVuLWFib3ZlEHJ1bi1hbGwtY292ZXJhZ2UHcnVuLWFsbAlydW4tYmVsb3cMcnVuLWNvdmVyYWdlCnJ1bi1lcnJvcnMIc2F2ZS1hbGwHc2F2ZS1hcwRzYXZlC3NjcmVlbi1mdWxsDXNjcmVlbi1ub3JtYWwMc2VhcmNoLWZ1enp5C3NlYXJjaC1zdG9wBnNlYXJjaARzZW5kEnNlcnZlci1lbnZpcm9ubWVudA5zZXJ2ZXItcHJvY2VzcwZzZXJ2ZXINc2V0dGluZ3MtZ2VhcghzZXR0aW5ncwVzaGFyZQZzaGllbGQHc2lnbi1pbghzaWduLW91dAZzbWlsZXkFc25ha2UPc29ydC1wcmVjZWRlbmNlDnNvdXJjZS1jb250cm9sDnNwYXJrbGUtZmlsbGVkB3NwYXJrbGUQc3BsaXQtaG9yaXpvbnRhbA5zcGxpdC12ZXJ0aWNhbAhzcXVpcnJlbApzdGFyLWVtcHR5CXN0YXItZnVsbAlzdGFyLWhhbGYLc3RvcC1jaXJjbGUNc3Vycm91bmQtd2l0aAxzeW1ib2wtYXJyYXkOc3ltYm9sLWJvb2xlYW4Mc3ltYm9sLWNsYXNzDHN5bWJvbC1jb2xvcg9zeW1ib2wtY29uc3RhbnQSc3ltYm9sLWVudW0tbWVtYmVyC3N5bWJvbC1lbnVtDHN5bWJvbC1ldmVudAxzeW1ib2wtZmllbGQLc3ltYm9sLWZpbGUQc3ltYm9sLWludGVyZmFjZQpzeW1ib2wta2V5DnN5bWJvbC1rZXl3b3JkDXN5bWJvbC1tZXRob2QLc3ltYm9sLW1pc2MQc3ltYm9sLW5hbWVzcGFjZQ5zeW1ib2wtbnVtZXJpYw9zeW1ib2wtb3BlcmF0b3IQc3ltYm9sLXBhcmFtZXRlcg9zeW1ib2wtcHJvcGVydHkMc3ltYm9sLXJ1bGVyDnN5bWJvbC1zbmlwcGV0DXN5bWJvbC1zdHJpbmcQc3ltYm9sLXN0cnVjdHVyZQ9zeW1ib2wtdmFyaWFibGUMc3luYy1pZ25vcmVkBHN5bmMFdGFibGUDdGFnBnRhcmdldAh0YXNrbGlzdAl0ZWxlc2NvcGUNdGVybWluYWwtYmFzaAx0ZXJtaW5hbC1jbWQPdGVybWluYWwtZGViaWFuDnRlcm1pbmFsLWxpbnV4E3Rlcm1pbmFsLXBvd2Vyc2hlbGwNdGVybWluYWwtdG11eA90ZXJtaW5hbC11YnVudHUIdGVybWluYWwJdGV4dC1zaXplCnRocmVlLWJhcnMRdGh1bWJzZG93bi1maWxsZWQKdGh1bWJzZG93bg90aHVtYnN1cC1maWxsZWQIdGh1bWJzdXAFdG9vbHMFdHJhc2gNdHJpYW5nbGUtZG93bg10cmlhbmdsZS1sZWZ0DnRyaWFuZ2xlLXJpZ2h0C3RyaWFuZ2xlLXVwB3R3aXR0ZXISdHlwZS1oaWVyYXJjaHktc3ViFHR5cGUtaGllcmFyY2h5LXN1cGVyDnR5cGUtaGllcmFyY2h5BnVuZm9sZBN1bmdyb3VwLWJ5LXJlZi10eXBlBnVubG9jawZ1bm11dGUKdW52ZXJpZmllZA52YXJpYWJsZS1ncm91cA92ZXJpZmllZC1maWxsZWQIdmVyaWZpZWQIdmVyc2lvbnMJdm0tYWN0aXZlCnZtLWNvbm5lY3QKdm0tb3V0bGluZQp2bS1ydW5uaW5nAnZtAnZyD3ZzY29kZS1pbnNpZGVycwZ2c2NvZGUEd2FuZAd3YXJuaW5nBXdhdGNoCndoaXRlc3BhY2UKd2hvbGUtd29yZAZ3aW5kb3cJd29yZC13cmFwEXdvcmtzcGFjZS10cnVzdGVkEXdvcmtzcGFjZS11bmtub3duE3dvcmtzcGFjZS11bnRydXN0ZWQHem9vbS1pbgh6b29tLW91dAAA)format("truetype")}.codicon[class*=codicon-]{text-align:center;text-rendering:auto;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;user-select:none;font:16px/1 codicon;text-decoration:none;display:inline-block}.codicon-wrench-subaction{opacity:.5}@keyframes codicon-spin{to{transform:rotate(1turn)}}.codicon-gear.codicon-modifier-spin,.codicon-loading.codicon-modifier-spin,.codicon-notebook-state-executing.codicon-modifier-spin,.codicon-sync.codicon-modifier-spin{animation:1.5s steps(30,end) infinite codicon-spin}.codicon-modifier-disabled{opacity:.4}.codicon-loading,.codicon-tree-item-loading:before{animation-duration:1s!important;animation-timing-function:cubic-bezier(.53,.21,.29,.67)!important}.context-view{position:absolute}.context-view.fixed{all:initial;color:inherit;font-family:inherit;font-size:13px;position:fixed}.monaco-count-badge{box-sizing:border-box;text-align:center;border-radius:11px;min-width:18px;min-height:18px;padding:3px 6px;font-size:11px;font-weight:400;line-height:11px;display:inline-block}.monaco-count-badge.long{border-radius:2px;min-height:auto;padding:2px 3px;line-height:normal}.monaco-dropdown{height:100%;padding:0}.monaco-dropdown>.dropdown-label{cursor:pointer;justify-content:center;align-items:center;height:100%;display:flex}.monaco-dropdown>.dropdown-label>.action-label.disabled{cursor:default}.monaco-dropdown-with-primary{border-radius:5px;flex-direction:row;display:flex!important}.monaco-dropdown-with-primary>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{margin-left:-3px;padding-left:0;padding-right:0;font-size:12px;line-height:16px}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{background-position:50%;background-repeat:no-repeat;background-size:16px;display:block}.monaco-findInput{position:relative}.monaco-findInput .monaco-inputbox{width:100%;font-size:13px}.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.vs .monaco-findInput.disabled{background-color:#e1e1e1}.vs-dark .monaco-findInput.disabled{background-color:#333}.hc-light .monaco-findInput.highlight-0 .controls,.monaco-findInput.highlight-0 .controls{animation:.1s linear monaco-findInput-highlight-0}.hc-light .monaco-findInput.highlight-1 .controls,.monaco-findInput.highlight-1 .controls{animation:.1s linear monaco-findInput-highlight-1}.hc-black .monaco-findInput.highlight-0 .controls,.vs-dark .monaco-findInput.highlight-0 .controls{animation:.1s linear monaco-findInput-highlight-dark-0}.hc-black .monaco-findInput.highlight-1 .controls,.vs-dark .monaco-findInput.highlight-1 .controls{animation:.1s linear monaco-findInput-highlight-dark-1}@keyframes monaco-findInput-highlight-0{0%{background:#fdff00cc}to{background:0 0}}@keyframes monaco-findInput-highlight-1{0%{background:#fdff00cc}99%{background:0 0}}@keyframes monaco-findInput-highlight-dark-0{0%{background:#ffffff70}to{background:0 0}}@keyframes monaco-findInput-highlight-dark-1{0%{background:#ffffff70}99%{background:0 0}}.monaco-hover{box-sizing:border-box;cursor:default;-webkit-user-select:text;user-select:text;white-space:var(--vscode-hover-whiteSpace,normal);line-height:1.5em;animation:.1s linear fadein;position:absolute;overflow:hidden}.monaco-hover.hidden{display:none}.monaco-hover a:hover:not(.disabled){cursor:pointer}.monaco-hover .hover-contents:not(.html-hover-contents){padding:4px 8px}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents){max-width:var(--vscode-hover-maxWidth,500px);word-wrap:break-word}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents) hr{min-width:100%}.monaco-hover .code,.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6,.monaco-hover p,.monaco-hover ul{margin:8px 0}.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{line-height:1.1}.monaco-hover code{font-family:var(--monaco-monospace-font)}.monaco-hover hr{box-sizing:border-box;border-left:0;border-right:0;height:1px;margin:4px -8px -4px}.monaco-hover .code:first-child,.monaco-hover p:first-child,.monaco-hover ul:first-child{margin-top:0}.monaco-hover .code:last-child,.monaco-hover p:last-child,.monaco-hover ul:last-child{margin-bottom:0}.monaco-hover ol,.monaco-hover ul{padding-left:20px}.monaco-hover li>p{margin-bottom:0}.monaco-hover li>ul{margin-top:0}.monaco-hover code{border-radius:3px;padding:0 .4em}.monaco-hover .monaco-tokenized-source{white-space:var(--vscode-hover-sourceWhiteSpace,pre-wrap)}.monaco-hover .hover-row.status-bar{font-size:12px;line-height:22px}.monaco-hover .hover-row.status-bar .info{padding:0 8px;font-style:italic}.monaco-hover .hover-row.status-bar .actions{width:100%;padding:0 8px;display:flex}.monaco-hover .hover-row.status-bar .actions .action-container{cursor:pointer;margin-right:16px}.monaco-hover .hover-row.status-bar .actions .action-container .action .icon{padding-right:4px}.monaco-hover .hover-row.status-bar .actions .action-container a{color:var(--vscode-textLink-foreground);-webkit-text-decoration:var(--text-link-decoration);text-decoration:var(--text-link-decoration)}.monaco-hover .markdown-hover .hover-contents .codicon{color:inherit;font-size:inherit;vertical-align:middle}.monaco-hover .hover-contents a.code-link,.monaco-hover .hover-contents a.code-link:hover{color:inherit}.monaco-hover .hover-contents a.code-link:before{content:"("}.monaco-hover .hover-contents a.code-link:after{content:")"}.monaco-hover .hover-contents a.code-link>span{color:var(--vscode-textLink-foreground);text-underline-position:under;border-bottom:1px solid #0000;text-decoration:underline}.monaco-hover .hover-contents a.code-link>span:hover{color:var(--vscode-textLink-activeForeground)}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span{margin-bottom:4px;display:inline-block}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span.codicon{margin-bottom:2px}.monaco-hover-content .action-container a{-webkit-user-select:none;user-select:none}.monaco-hover-content .action-container.disabled{cursor:default;opacity:.4;pointer-events:none}.monaco-icon-label{text-overflow:ellipsis;display:flex;overflow:hidden}.monaco-icon-label:before{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top;background-position:0;background-repeat:no-repeat;background-size:16px;flex-shrink:0;width:16px;height:22px;padding-right:6px;display:inline-block;line-height:inherit!important}.monaco-icon-label-iconpath{width:16px;height:16px;margin-top:2px;padding-left:2px;display:flex}.monaco-icon-label-container.disabled{color:var(--vscode-disabledForeground)}.monaco-icon-label>.monaco-icon-label-container{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{color:inherit;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name>.label-separator{opacity:.5;margin:0 2px}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-suffix-container>.label-suffix{opacity:.7;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.7;white-space:pre;margin-left:.5em;font-size:.9em}.monaco-icon-label.nowrap>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{white-space:nowrap}.vs .monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.95}.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-description-container>.label-description,.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{font-style:italic}.monaco-icon-label.deprecated{opacity:.66;text-decoration:line-through}.monaco-icon-label.italic:after{font-style:italic}.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-description-container>.label-description,.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{text-decoration:line-through}.monaco-icon-label:after{opacity:.75;text-align:center;margin:auto 16px 0 5px;font-size:90%;font-weight:600}.monaco-list:focus .selected .monaco-icon-label,.monaco-list:focus .selected .monaco-icon-label:after{color:inherit!important}.monaco-list-row.focused.selected .label-description,.monaco-list-row.selected .label-description{opacity:.8}.monaco-inputbox{box-sizing:border-box;font-size:inherit;border-radius:2px;padding:0;display:block;position:relative}.monaco-inputbox>.ibwrapper>.input,.monaco-inputbox>.ibwrapper>.mirror{padding:4px 6px}.monaco-inputbox>.ibwrapper{width:100%;height:100%;position:relative}.monaco-inputbox>.ibwrapper>.input{box-sizing:border-box;color:inherit;font-family:inherit;font-size:inherit;height:100%;line-height:inherit;resize:none;border:none;width:100%;display:inline-block}.monaco-inputbox>.ibwrapper>input{text-overflow:ellipsis}.monaco-inputbox>.ibwrapper>textarea.input{scrollbar-width:none;outline:none;display:block}.monaco-inputbox>.ibwrapper>textarea.input::-webkit-scrollbar{display:none}.monaco-inputbox>.ibwrapper>textarea.input.empty{white-space:nowrap}.monaco-inputbox>.ibwrapper>.mirror{box-sizing:border-box;visibility:hidden;white-space:pre-wrap;word-wrap:break-word;width:100%;display:inline-block;position:absolute;top:0;left:0}.monaco-inputbox-container{text-align:right}.monaco-inputbox-container .monaco-inputbox-message{box-sizing:border-box;text-align:left;word-wrap:break-word;width:100%;margin-top:-1px;padding:.4em;font-size:12px;line-height:17px;display:inline-block;overflow:hidden}.monaco-inputbox .monaco-action-bar{position:absolute;top:4px;right:2px}.monaco-inputbox .monaco-action-bar .action-item{margin-left:2px}.monaco-inputbox .monaco-action-bar .action-item .codicon{background-repeat:no-repeat;width:16px;height:16px}.monaco-keybinding{align-items:center;line-height:10px;display:flex}.monaco-keybinding>.monaco-keybinding-key{vertical-align:middle;border-style:solid;border-width:1px;border-radius:3px;margin:0 2px;padding:3px 5px;font-size:11px;display:inline-block}.monaco-keybinding>.monaco-keybinding-key:first-child{margin-left:0}.monaco-keybinding>.monaco-keybinding-key:last-child{margin-right:0}.monaco-keybinding>.monaco-keybinding-key-separator{display:inline-block}.monaco-keybinding>.monaco-keybinding-key-chord-separator{width:6px}.monaco-list{white-space:nowrap;width:100%;height:100%;position:relative}.monaco-list.mouse-support{-webkit-user-select:none;user-select:none}.monaco-list>.monaco-scrollable-element{height:100%}.monaco-list-rows{width:100%;height:100%;position:relative}.monaco-list.horizontal-scrolling .monaco-list-rows{width:auto;min-width:100%}.monaco-list-row{box-sizing:border-box;width:100%;position:absolute;overflow:hidden}.monaco-list.mouse-support .monaco-list-row{cursor:pointer;touch-action:none}.monaco-list .monaco-scrollable-element>.scrollbar.vertical,.monaco-pane-view>.monaco-split-view2.vertical>.monaco-scrollable-element>.scrollbar.vertical{z-index:14}.monaco-list-row.scrolling{display:none!important}.monaco-list.element-focused,.monaco-list.selection-multiple,.monaco-list.selection-single{outline:0!important}.monaco-drag-image{z-index:1000;border-radius:10px;padding:1px 7px;font-size:12px;display:inline-block;position:absolute}.monaco-list-type-filter-message{box-sizing:border-box;opacity:.7;pointer-events:none;text-align:center;white-space:normal;width:100%;height:100%;padding:40px 1em 1em;position:absolute;top:0;left:0}.monaco-list-type-filter-message:empty{display:none}.monaco-mouse-cursor-text{cursor:text}.monaco-progress-container{width:100%;height:2px;overflow:hidden}.monaco-progress-container .progress-bit{width:2%;height:2px;display:none;position:absolute;left:0}.monaco-progress-container.active .progress-bit{display:inherit}.monaco-progress-container.discrete .progress-bit{transition:width .1s linear;left:0}.monaco-progress-container.discrete.done .progress-bit{width:100%}.monaco-progress-container.infinite .progress-bit{animation-name:progress;animation-duration:4s;animation-timing-function:linear;animation-iteration-count:infinite;transform:translateZ(0)}.monaco-progress-container.infinite.infinite-long-running .progress-bit{animation-timing-function:steps(100,end)}@keyframes progress{0%{transform:translate(0)scaleX(1)}50%{transform:translate(2500%)scaleX(3)}to{transform:translate(4900%)scaleX(1)}}:root{--vscode-sash-size:4px;--vscode-sash-hover-size:4px}.monaco-sash{touch-action:none;z-index:35;position:absolute}.monaco-sash.disabled{pointer-events:none}.monaco-sash.mac.vertical{cursor:col-resize}.monaco-sash.vertical.minimum{cursor:e-resize}.monaco-sash.vertical.maximum{cursor:w-resize}.monaco-sash.mac.horizontal{cursor:row-resize}.monaco-sash.horizontal.minimum{cursor:s-resize}.monaco-sash.horizontal.maximum{cursor:n-resize}.monaco-sash.disabled{cursor:default!important;pointer-events:none!important}.monaco-sash.vertical{cursor:ew-resize;height:100%;width:var(--vscode-sash-size);top:0}.monaco-sash.horizontal{cursor:ns-resize;height:var(--vscode-sash-size);width:100%;left:0}.monaco-sash:not(.disabled)>.orthogonal-drag-handle{content:" ";cursor:all-scroll;height:calc(var(--vscode-sash-size)*2);width:calc(var(--vscode-sash-size)*2);z-index:100;display:block;position:absolute}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.start,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.end{cursor:nwse-resize}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.end,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.start{cursor:nesw-resize}.monaco-sash.vertical>.orthogonal-drag-handle.start{left:calc(var(--vscode-sash-size)*-.5);top:calc(var(--vscode-sash-size)*-1)}.monaco-sash.vertical>.orthogonal-drag-handle.end{bottom:calc(var(--vscode-sash-size)*-1);left:calc(var(--vscode-sash-size)*-.5)}.monaco-sash.horizontal>.orthogonal-drag-handle.start{left:calc(var(--vscode-sash-size)*-1);top:calc(var(--vscode-sash-size)*-.5)}.monaco-sash.horizontal>.orthogonal-drag-handle.end{right:calc(var(--vscode-sash-size)*-1);top:calc(var(--vscode-sash-size)*-.5)}.monaco-sash:before{content:"";pointer-events:none;background:0 0;width:100%;height:100%;position:absolute}.monaco-workbench:not(.reduce-motion) .monaco-sash:before{transition:background-color .1s ease-out}.monaco-sash.active:before,.monaco-sash.hover:before{background:var(--vscode-sash-hoverBorder)}.monaco-sash.vertical:before{left:calc(50% - var(--vscode-sash-hover-size)/2);width:var(--vscode-sash-hover-size)}.monaco-sash.horizontal:before{height:var(--vscode-sash-hover-size);top:calc(50% - var(--vscode-sash-hover-size)/2)}.pointer-events-disabled{pointer-events:none!important}.monaco-sash.debug{background:#0ff}.monaco-sash.debug.disabled{background:#0ff3}.monaco-sash.debug:not(.disabled)>.orthogonal-drag-handle{background:red}.monaco-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.monaco-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.monaco-scrollable-element>.invisible{opacity:0;pointer-events:none}.monaco-scrollable-element>.invisible.fade{transition:opacity .8s linear}.monaco-scrollable-element>.shadow{display:none;position:absolute}.monaco-scrollable-element>.shadow.top{box-shadow:var(--vscode-scrollbar-shadow)0 6px 6px -6px inset;width:100%;height:3px;display:block;top:0;left:3px}.monaco-scrollable-element>.shadow.left{box-shadow:var(--vscode-scrollbar-shadow)6px 0 6px -6px inset;width:3px;height:100%;display:block;top:3px;left:0}.monaco-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.monaco-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow)6px 0 6px -6px inset}.monaco-scrollable-element>.scrollbar>.slider{background:var(--vscode-scrollbarSlider-background)}.monaco-scrollable-element>.scrollbar>.slider:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-scrollable-element>.scrollbar>.slider.active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-select-box{cursor:pointer;border-radius:2px;width:100%}.monaco-select-box-dropdown-container{text-transform:none;font-size:13px;font-weight:400}.monaco-action-bar .action-item.select-container{cursor:default}.monaco-action-bar .action-item .monaco-select-box{cursor:pointer;min-width:100px;min-height:18px;padding:2px 23px 2px 8px}.mac .monaco-action-bar .action-item .monaco-select-box{border-radius:5px;font-size:11px}.monaco-select-box-dropdown-padding{--dropdown-padding-top:1px;--dropdown-padding-bottom:1px}.hc-black .monaco-select-box-dropdown-padding,.hc-light .monaco-select-box-dropdown-padding{--dropdown-padding-top:3px;--dropdown-padding-bottom:4px}.monaco-select-box-dropdown-container{box-sizing:border-box;display:none}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown *{margin:0}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown a:focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown code{font-family:var(--monaco-monospace-font);line-height:15px}.monaco-select-box-dropdown-container.visible{text-align:left;border-bottom-right-radius:3px;border-bottom-left-radius:3px;flex-direction:column;width:1px;display:flex;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container{box-sizing:border-box;padding-bottom:var(--dropdown-padding-bottom);padding-left:1px;padding-right:1px;padding-top:var(--dropdown-padding-top);flex:none;align-self:flex-start;width:100%;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-details-pane{padding:5px}.hc-black .monaco-select-box-dropdown-container>.select-box-dropdown-list-container{padding-bottom:var(--dropdown-padding-bottom);padding-top:var(--dropdown-padding-top)}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row{cursor:pointer}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-text{float:left;text-overflow:ellipsis;white-space:nowrap;padding-left:3.5px;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-detail{float:left;opacity:.7;text-overflow:ellipsis;white-space:nowrap;padding-left:3.5px;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-decorator-right{float:right;text-overflow:ellipsis;white-space:nowrap;padding-right:10px;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.visually-hidden{width:1px;height:1px;position:absolute;top:auto;left:-10000px;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control{opacity:0;flex:auto;align-self:flex-start}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div{max-height:0;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div>.option-text-width-control{white-space:nowrap;padding-left:4px;padding-right:8px}.monaco-split-view2{width:100%;height:100%;position:relative}.monaco-split-view2>.sash-container{pointer-events:none;width:100%;height:100%;position:absolute}.monaco-split-view2>.sash-container>.monaco-sash{pointer-events:auto}.monaco-split-view2>.monaco-scrollable-element{width:100%;height:100%}.monaco-split-view2>.monaco-scrollable-element>.split-view-container{white-space:nowrap;width:100%;height:100%;position:relative}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view{white-space:normal;position:absolute}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view:not(.visible){display:none}.monaco-split-view2.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view{width:100%}.monaco-split-view2.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view{height:100%}.monaco-split-view2.separator-border>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{background-color:var(--separator-border);content:" ";pointer-events:none;z-index:5;position:absolute;top:0;left:0}.monaco-split-view2.separator-border.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{width:1px;height:100%}.monaco-split-view2.separator-border.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{width:100%;height:1px}.monaco-table{white-space:nowrap;flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.monaco-table>.monaco-split-view2{border-bottom:1px solid #0000}.monaco-table>.monaco-list{flex:1}.monaco-table-tr{height:100%;display:flex}.monaco-table-th{text-overflow:ellipsis;width:100%;height:100%;font-weight:700;overflow:hidden}.monaco-table-td,.monaco-table-th{box-sizing:border-box;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;overflow:hidden}.monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{content:"";left:calc(var(--vscode-sash-size)/2);border-left:1px solid #0000;width:0;position:absolute}.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2,.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{transition:border-color .2s ease-out}.monaco-custom-toggle{box-sizing:border-box;cursor:pointer;float:left;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:3px;width:20px;height:20px;margin-left:2px;padding:1px;overflow:hidden}.monaco-custom-toggle:hover{background-color:var(--vscode-inputOption-hoverBackground)}.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{border:1px dashed var(--vscode-focusBorder)}.hc-black .monaco-custom-toggle,.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle,.hc-light .monaco-custom-toggle:hover{background:0 0}.monaco-custom-toggle.monaco-checkbox{opacity:1;border:1px solid #0000;border-radius:3px;width:18px;height:18px;margin-left:0;margin-right:9px;padding:0;background-size:16px!important}.monaco-action-bar .checkbox-action-item{border-radius:2px;align-items:center;padding-right:2px;display:flex}.monaco-action-bar .checkbox-action-item:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-action-bar .checkbox-action-item>.monaco-custom-toggle.monaco-checkbox{margin-right:4px}.monaco-action-bar .checkbox-action-item>.checkbox-label{font-size:12px}.monaco-custom-toggle.monaco-checkbox:not(.checked):before{visibility:hidden}.monaco-toolbar{height:100%}.monaco-toolbar .toolbar-toggle-more{padding:0;display:inline-block}.monaco-tl-row{align-items:center;height:100%;display:flex;position:relative}.monaco-tl-row.disabled{cursor:default}.monaco-tl-indent{pointer-events:none;height:100%;position:absolute;top:0;left:16px}.hide-arrows .monaco-tl-indent{left:12px}.monaco-tl-indent>.indent-guide{box-sizing:border-box;border-left:1px solid #0000;height:100%;display:inline-block}.monaco-workbench:not(.reduce-motion) .monaco-tl-indent>.indent-guide{transition:border-color .1s linear}.monaco-tl-contents,.monaco-tl-twistie{height:100%}.monaco-tl-twistie{text-align:right;flex-shrink:0;justify-content:center;align-items:center;width:16px;padding-right:6px;font-size:10px;transform:translate(3px);display:flex!important}.monaco-tl-contents{flex:1;overflow:hidden}.monaco-tl-twistie:before{border-radius:20px}.monaco-tl-twistie.collapsed:before{transform:rotate(-90deg)}.monaco-tl-twistie.codicon-tree-item-loading:before{animation:1.25s steps(30,end) infinite codicon-spin}.monaco-tree-type-filter{border:1px solid var(--vscode-widget-border);z-index:100;border-bottom-right-radius:4px;border-bottom-left-radius:4px;max-width:200px;margin:0 6px;padding:3px;display:flex;position:absolute;top:0}.monaco-workbench:not(.reduce-motion) .monaco-tree-type-filter{transition:top .3s}.monaco-tree-type-filter.disabled{top:-40px!important}.monaco-tree-type-filter-grab{cursor:grab;justify-content:center;align-items:center;margin-right:2px;display:flex!important}.monaco-tree-type-filter-grab.grabbing{cursor:grabbing}.monaco-tree-type-filter-input{flex:1}.monaco-tree-type-filter-input .monaco-inputbox{height:23px}.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.input,.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.mirror{padding:2px 4px}.monaco-tree-type-filter-input .monaco-findInput>.controls{top:2px}.monaco-tree-type-filter-actionbar{margin-left:4px}.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label{padding:2px}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{background-color:var(--vscode-sideBar-background);z-index:13;width:100%;height:0;position:absolute;top:0;left:0}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{background-color:var(--vscode-sideBar-background);width:100%;position:absolute;overflow:hidden;opacity:1!important}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{cursor:pointer;background-color:var(--vscode-list-hoverBackground)!important}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty,.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty .monaco-tree-sticky-container-shadow{display:none}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow{width:100%;height:0;position:absolute;bottom:-3px;left:0}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container[tabindex="0"]:focus{outline:none}.monaco-editor .inputarea{color:#0000;resize:none;z-index:-10;background-color:#0000;border:none;min-width:0;min-height:0;margin:0;padding:0;position:absolute;overflow:hidden;outline:none!important}.monaco-editor .inputarea.ime-input{caret-color:var(--vscode-editorCursor-foreground);color:var(--vscode-editor-foreground);z-index:10}.monaco-workbench .workbench-hover{background:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);box-shadow:0 2px 8px var(--vscode-widget-shadow);color:var(--vscode-editorHoverWidget-foreground);z-index:40;border-radius:3px;max-width:700px;font-size:13px;line-height:19px;position:relative;overflow:hidden}.monaco-workbench .workbench-hover hr{border-bottom:none}.monaco-workbench .workbench-hover:not(.skip-fade-in){animation:.1s linear fadein}.monaco-workbench .workbench-hover.compact{font-size:12px}.monaco-workbench .workbench-hover.compact .hover-contents{padding:2px 8px}.monaco-workbench .workbench-hover-container.locked .workbench-hover{outline:1px solid var(--vscode-editorHoverWidget-border)}.monaco-workbench .workbench-hover-container.locked .workbench-hover:focus,.monaco-workbench .workbench-hover-lock:focus{outline:1px solid var(--vscode-focusBorder)}.monaco-workbench .workbench-hover-container.locked .workbench-hover-lock:hover{background:var(--vscode-toolbar-hoverBackground)}.monaco-workbench .workbench-hover-pointer{pointer-events:none;z-index:41;position:absolute}.monaco-workbench .workbench-hover-pointer:after{background-color:var(--vscode-editorHoverWidget-background);border-bottom:1px solid var(--vscode-editorHoverWidget-border);border-right:1px solid var(--vscode-editorHoverWidget-border);content:"";width:5px;height:5px;position:absolute}.monaco-workbench .locked .workbench-hover-pointer:after{border-bottom-width:2px;border-right-width:2px;width:4px;height:4px}.monaco-workbench .workbench-hover-pointer.left{left:-3px}.monaco-workbench .workbench-hover-pointer.right{right:3px}.monaco-workbench .workbench-hover-pointer.top{top:-3px}.monaco-workbench .workbench-hover-pointer.bottom{bottom:3px}.monaco-workbench .workbench-hover-pointer.left:after{transform:rotate(135deg)}.monaco-workbench .workbench-hover-pointer.right:after{transform:rotate(315deg)}.monaco-workbench .workbench-hover-pointer.top:after{transform:rotate(225deg)}.monaco-workbench .workbench-hover-pointer.bottom:after{transform:rotate(45deg)}.monaco-workbench .workbench-hover a{color:var(--vscode-textLink-foreground)}.monaco-workbench .workbench-hover a:focus{outline:1px solid;outline-color:var(--vscode-focusBorder);outline-offset:-1px;text-decoration:underline}.monaco-workbench .workbench-hover a:active,.monaco-workbench .workbench-hover a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-workbench .workbench-hover code{background:var(--vscode-textCodeBlock-background)}.monaco-workbench .workbench-hover .hover-row .actions{background:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-workbench .workbench-hover.right-aligned{left:1px}.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions{flex-direction:row-reverse}.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions .action-container{margin-left:16px;margin-right:0}.monaco-editor .blockDecorations-container{pointer-events:none;position:absolute;top:0}.monaco-editor .blockDecorations-block{box-sizing:border-box;position:absolute}.monaco-editor .margin-view-overlays .current-line,.monaco-editor .view-overlays .current-line{box-sizing:border-box;height:100%;display:block;position:absolute;top:0;left:0}.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both{border-right:0}.monaco-editor .lines-content .cdr{height:100%;position:absolute}.monaco-editor .glyph-margin{position:absolute;top:0}.monaco-editor .glyph-margin-widgets .cgmr{justify-content:center;align-items:center;display:flex;position:absolute}.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin:before{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.monaco-editor .lines-content .core-guide{box-sizing:border-box;height:100%;position:absolute}.monaco-editor .margin-view-overlays .line-numbers{box-sizing:border-box;cursor:default;font-variant-numeric:tabular-nums;text-align:right;vertical-align:middle;display:inline-block;position:absolute;bottom:0}.monaco-editor .relative-current-line-number{text-align:left;width:100%;display:inline-block}.monaco-editor .margin-view-overlays .line-numbers.lh-odd{margin-top:1px}.monaco-editor .line-numbers{color:var(--vscode-editorLineNumber-foreground)}.monaco-editor .line-numbers.active-line-number{color:var(--vscode-editorLineNumber-activeForeground)}.mtkcontrol{color:#fff!important;background:#960000!important}.mtkoverflow{background-color:var(--vscode-button-background,var(--vscode-editor-background));border-color:var(--vscode-contrastBorder);color:var(--vscode-button-foreground,var(--vscode-editor-foreground));cursor:pointer;border-style:solid;border-width:1px;border-radius:2px;padding:4px}.mtkoverflow:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-editor.no-user-select .lines-content,.monaco-editor.no-user-select .view-line,.monaco-editor.no-user-select .view-lines{-webkit-user-select:none;user-select:none}.monaco-editor.mac .lines-content:hover,.monaco-editor.mac .view-line:hover,.monaco-editor.mac .view-lines:hover{-webkit-user-select:text;user-select:text}.monaco-editor.enable-user-select{-webkit-user-select:auto;user-select:auto;-webkit-user-select:initial}.monaco-editor .view-lines{white-space:nowrap}.monaco-editor .view-line{width:100%;position:absolute}.monaco-editor .lines-content>.view-lines>.view-line>span{position:absolute;top:0;bottom:0}.monaco-editor .mtkw,.monaco-editor .mtkz{color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .mtkz{display:inline-block}.monaco-editor .lines-decorations{background:#fff;position:absolute;top:0}.monaco-editor .margin-view-overlays .cldr{height:100%;position:absolute}.monaco-editor .margin{background-color:var(--vscode-editorGutter-background)}.monaco-editor .margin-view-overlays .cmdr{width:100%;height:100%;position:absolute;left:0}.monaco-editor .minimap.slider-mouseover .minimap-slider{opacity:0;transition:opacity .1s linear}.monaco-editor .minimap.slider-mouseover .minimap-slider.active,.monaco-editor .minimap.slider-mouseover:hover .minimap-slider{opacity:1}.monaco-editor .minimap-slider .minimap-slider-horizontal{background:var(--vscode-minimapSlider-background)}.monaco-editor .minimap-slider:hover .minimap-slider-horizontal{background:var(--vscode-minimapSlider-hoverBackground)}.monaco-editor .minimap-slider.active .minimap-slider-horizontal{background:var(--vscode-minimapSlider-activeBackground)}.monaco-editor .minimap-shadow-visible{box-shadow:var(--vscode-scrollbar-shadow)-6px 0 6px -6px inset}.monaco-editor .minimap-shadow-hidden{width:0;position:absolute}.monaco-editor .minimap-shadow-visible{width:6px;position:absolute;left:-6px}.monaco-editor.no-minimap-shadow .minimap-shadow-visible{width:1px;position:absolute;left:-1px}.minimap.autohide{opacity:0;transition:opacity .5s}.minimap.autohide:hover{opacity:1}.monaco-editor .minimap{z-index:5}.monaco-editor .overlayWidgets{position:absolute;top:0;left:0}.monaco-editor .view-ruler{box-shadow:1px 0 0 0 var(--vscode-editorRuler-foreground)inset;position:absolute;top:0}.monaco-editor .scroll-decoration{box-shadow:var(--vscode-scrollbar-shadow)0 6px 6px -6px inset;height:6px;position:absolute;top:0;left:0}.monaco-editor .lines-content .cslr{position:absolute}.monaco-editor .focused .selected-text{background-color:var(--vscode-editor-selectionBackground)}.monaco-editor .selected-text{background-color:var(--vscode-editor-inactiveSelectionBackground)}.monaco-editor .top-left-radius{border-top-left-radius:3px}.monaco-editor .bottom-left-radius{border-bottom-left-radius:3px}.monaco-editor .top-right-radius{border-top-right-radius:3px}.monaco-editor .bottom-right-radius{border-bottom-right-radius:3px}.monaco-editor.hc-black .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-black .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-black .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-black .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor.hc-light .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-light .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-light .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-light .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor .cursors-layer{position:absolute;top:0}.monaco-editor .cursors-layer>.cursor{box-sizing:border-box;position:absolute;overflow:hidden}.monaco-editor .cursors-layer.cursor-smooth-caret-animation>.cursor{transition:all 80ms}.monaco-editor .cursors-layer.cursor-block-outline-style>.cursor{border-style:solid;border-width:1px;background:0 0!important}.monaco-editor .cursors-layer.cursor-underline-style>.cursor{border-bottom-style:solid;border-bottom-width:2px;background:0 0!important}.monaco-editor .cursors-layer.cursor-underline-thin-style>.cursor{border-bottom-style:solid;border-bottom-width:1px;background:0 0!important}@keyframes monaco-cursor-smooth{0%,20%{opacity:1}60%,to{opacity:0}}@keyframes monaco-cursor-phase{0%,20%{opacity:1}90%,to{opacity:0}}@keyframes monaco-cursor-expand{0%,20%{transform:scaleY(1)}80%,to{transform:scaleY(0)}}.cursor-smooth{animation:.5s ease-in-out 20 alternate monaco-cursor-smooth}.cursor-phase{animation:.5s ease-in-out 20 alternate monaco-cursor-phase}.cursor-expand>.cursor{animation:.5s ease-in-out 20 alternate monaco-cursor-expand}.monaco-editor .mwh{position:absolute;color:var(--vscode-editorWhitespace-foreground)!important}::-ms-clear{display:none}.monaco-editor .editor-widget input{color:inherit}.monaco-editor{-webkit-text-size-adjust:100%;color:var(--vscode-editor-foreground);overflow-wrap:normal;position:relative;overflow:visible}.monaco-editor,.monaco-editor-background{background-color:var(--vscode-editor-background)}.monaco-editor .rangeHighlight{background-color:var(--vscode-editor-rangeHighlightBackground);border:1px solid var(--vscode-editor-rangeHighlightBorder);box-sizing:border-box}.monaco-editor.hc-black .rangeHighlight,.monaco-editor.hc-light .rangeHighlight{border-style:dotted}.monaco-editor .symbolHighlight{background-color:var(--vscode-editor-symbolHighlightBackground);border:1px solid var(--vscode-editor-symbolHighlightBorder);box-sizing:border-box}.monaco-editor.hc-black .symbolHighlight,.monaco-editor.hc-light .symbolHighlight{border-style:dotted}.monaco-editor .overflow-guard{position:relative;overflow:hidden}.monaco-editor .view-overlays{position:absolute;top:0}.monaco-editor .margin-view-overlays>div,.monaco-editor .view-overlays>div{width:100%;position:absolute}.monaco-editor .squiggly-error{border-bottom:4px double var(--vscode-editorError-border)}.monaco-editor .squiggly-error:before{background:var(--vscode-editorError-background);content:"";width:100%;height:100%;display:block}.monaco-editor .squiggly-warning{border-bottom:4px double var(--vscode-editorWarning-border)}.monaco-editor .squiggly-warning:before{background:var(--vscode-editorWarning-background);content:"";width:100%;height:100%;display:block}.monaco-editor .squiggly-info{border-bottom:4px double var(--vscode-editorInfo-border)}.monaco-editor .squiggly-info:before{background:var(--vscode-editorInfo-background);content:"";width:100%;height:100%;display:block}.monaco-editor .squiggly-hint{border-bottom:2px dotted var(--vscode-editorHint-border)}.monaco-editor.showUnused .squiggly-unnecessary{border-bottom:2px dashed var(--vscode-editorUnnecessaryCode-border)}.monaco-editor.showDeprecated .squiggly-inline-deprecated{text-decoration:line-through;-webkit-text-decoration-color:var(--vscode-editor-foreground,inherit);text-decoration-color:var(--vscode-editor-foreground,inherit)}.monaco-component.diff-review{-webkit-user-select:none;user-select:none;z-index:99}.monaco-diff-editor .diff-review{position:absolute}.monaco-component.diff-review .diff-review-line-number{color:var(--vscode-editorLineNumber-foreground);text-align:right;display:inline-block}.monaco-component.diff-review .diff-review-summary{padding-left:10px}.monaco-component.diff-review .diff-review-shadow{box-shadow:var(--vscode-scrollbar-shadow)0 -6px 6px -6px inset;position:absolute}.monaco-component.diff-review .diff-review-row{white-space:pre}.monaco-component.diff-review .diff-review-table{min-width:100%;display:table}.monaco-component.diff-review .diff-review-row{width:100%;display:table-row}.monaco-component.diff-review .diff-review-spacer{vertical-align:middle;width:10px;display:inline-block}.monaco-component.diff-review .diff-review-spacer>.codicon{font-size:9px!important}.monaco-component.diff-review .diff-review-actions{z-index:100;display:inline-block;position:absolute;top:2px;right:10px}.monaco-component.diff-review .diff-review-actions .action-label{width:16px;height:16px;margin:2px 0}.monaco-component.diff-review .revertButton{cursor:pointer}.monaco-editor .diff-hidden-lines-widget{width:100%}.monaco-editor .diff-hidden-lines{height:0;font-size:13px;line-height:14px;transform:translateY(-10px)}.monaco-editor .diff-hidden-lines .bottom.dragging,.monaco-editor .diff-hidden-lines .top.dragging,.monaco-editor .diff-hidden-lines:not(.dragging) .bottom:hover,.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover{background-color:var(--vscode-focusBorder)}.monaco-editor .diff-hidden-lines .bottom,.monaco-editor .diff-hidden-lines .top{background-color:#0000;background-clip:padding-box;border-top:4px solid #0000;border-bottom:2px solid #0000;height:4px;transition:background-color .1s ease-out}.monaco-editor .diff-hidden-lines .bottom.canMoveTop:not(.canMoveBottom),.monaco-editor .diff-hidden-lines .top.canMoveTop:not(.canMoveBottom),.monaco-editor.draggingUnchangedRegion.canMoveTop:not(.canMoveBottom) *{cursor:n-resize!important}.monaco-editor .diff-hidden-lines .bottom:not(.canMoveTop).canMoveBottom,.monaco-editor .diff-hidden-lines .top:not(.canMoveTop).canMoveBottom,.monaco-editor.draggingUnchangedRegion:not(.canMoveTop).canMoveBottom *{cursor:s-resize!important}.monaco-editor .diff-hidden-lines .bottom.canMoveTop.canMoveBottom,.monaco-editor .diff-hidden-lines .top.canMoveTop.canMoveBottom,.monaco-editor.draggingUnchangedRegion.canMoveTop.canMoveBottom *{cursor:ns-resize!important}.monaco-editor .diff-hidden-lines .top{transform:translateY(4px)}.monaco-editor .diff-hidden-lines .bottom{transform:translateY(-6px)}.monaco-editor .diff-unchanged-lines{background:var(--vscode-diffEditor-unchangedCodeBackground)}.monaco-editor .noModificationsOverlay{background:var(--vscode-editor-background);z-index:1;justify-content:center;align-items:center;display:flex}.monaco-editor .diff-hidden-lines .center{background:var(--vscode-diffEditor-unchangedRegionBackground);box-shadow:inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow),inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow);color:var(--vscode-diffEditor-unchangedRegionForeground);text-overflow:ellipsis;white-space:nowrap;height:24px;display:block;overflow:hidden}.monaco-editor .diff-hidden-lines .center span.codicon{vertical-align:middle}.monaco-editor .diff-hidden-lines .center a:hover .codicon{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .diff-hidden-lines div.breadcrumb-item{cursor:pointer}.monaco-editor .diff-hidden-lines div.breadcrumb-item:hover{color:var(--vscode-editorLink-activeForeground)}.monaco-editor .movedModified,.monaco-editor .movedOriginal{border:2px solid var(--vscode-diffEditor-move-border)}.monaco-editor .movedModified.currentMove,.monaco-editor .movedOriginal.currentMove{border:2px solid var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path.currentMove{stroke:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path{pointer-events:visiblestroke}.monaco-diff-editor .moved-blocks-lines .arrow{fill:var(--vscode-diffEditor-move-border)}.monaco-diff-editor .moved-blocks-lines .arrow.currentMove{fill:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines .arrow-rectangle{fill:var(--vscode-editor-background)}.monaco-diff-editor .moved-blocks-lines{pointer-events:none;position:absolute}.monaco-diff-editor .moved-blocks-lines path{fill:none;stroke:var(--vscode-diffEditor-move-border);stroke-width:2px}.monaco-editor .char-delete.diff-range-empty{border-left:3px solid var(--vscode-diffEditor-removedTextBackground);margin-left:-1px}.monaco-editor .char-insert.diff-range-empty{border-left:3px solid var(--vscode-diffEditor-insertedTextBackground)}.monaco-editor .fold-unchanged{cursor:pointer}.monaco-diff-editor .diff-moved-code-block{justify-content:flex-end;margin-top:-4px;display:flex}.monaco-diff-editor .diff-moved-code-block .action-bar .action-label.codicon{width:12px;height:12px;font-size:12px}.monaco-diff-editor .diffOverview{z-index:9}.monaco-diff-editor .diffOverview .diffViewport{z-index:10}.monaco-diff-editor.vs .diffOverview{background:#00000008}.monaco-diff-editor.vs-dark .diffOverview{background:#ffffff03}.monaco-scrollable-element.modified-in-monaco-diff-editor.vs .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light .scrollbar{background:0 0}.monaco-scrollable-element.modified-in-monaco-diff-editor .slider{z-index:10}.modified-in-monaco-diff-editor .slider.active{background:#ababab66}.modified-in-monaco-diff-editor.hc-black .slider.active,.modified-in-monaco-diff-editor.hc-light .slider.active{background:0 0}.monaco-diff-editor .delete-sign,.monaco-diff-editor .insert-sign,.monaco-editor .delete-sign,.monaco-editor .insert-sign{align-items:center;opacity:.7!important;font-size:11px!important;display:flex!important}.monaco-diff-editor.hc-black .delete-sign,.monaco-diff-editor.hc-black .insert-sign,.monaco-diff-editor.hc-light .delete-sign,.monaco-diff-editor.hc-light .insert-sign,.monaco-editor.hc-black .delete-sign,.monaco-editor.hc-black .insert-sign,.monaco-editor.hc-light .delete-sign,.monaco-editor.hc-light .insert-sign{opacity:1}.monaco-editor .inline-added-margin-view-zone,.monaco-editor .inline-deleted-margin-view-zone{text-align:right}.monaco-editor .arrow-revert-change{z-index:10;position:absolute}.monaco-editor .arrow-revert-change:hover{cursor:pointer}.monaco-editor .view-zones .view-lines .view-line span{display:inline-block}.monaco-editor .margin-view-zones .lightbulb-glyph:hover{cursor:pointer}.monaco-diff-editor .char-insert,.monaco-editor .char-insert{background-color:var(--vscode-diffEditor-insertedTextBackground)}.monaco-diff-editor .line-insert,.monaco-editor .line-insert{background-color:var(--vscode-diffEditor-insertedLineBackground,var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .char-insert,.monaco-editor .line-insert{border:1px solid var(--vscode-diffEditor-insertedTextBorder);box-sizing:border-box}.monaco-editor.hc-black .char-insert,.monaco-editor.hc-black .line-insert,.monaco-editor.hc-light .char-insert,.monaco-editor.hc-light .line-insert{border-style:dashed}.monaco-editor .char-delete,.monaco-editor .line-delete{border:1px solid var(--vscode-diffEditor-removedTextBorder);box-sizing:border-box}.monaco-editor.hc-black .char-delete,.monaco-editor.hc-black .line-delete,.monaco-editor.hc-light .char-delete,.monaco-editor.hc-light .line-delete{border-style:dashed}.monaco-diff-editor .gutter-insert,.monaco-editor .gutter-insert,.monaco-editor .inline-added-margin-view-zone{background-color:var(--vscode-diffEditorGutter-insertedLineBackground,var(--vscode-diffEditor-insertedLineBackground),var(--vscode-diffEditor-insertedTextBackground))}.monaco-diff-editor .char-delete,.monaco-editor .char-delete,.monaco-editor .inline-deleted-text{background-color:var(--vscode-diffEditor-removedTextBackground)}.monaco-editor .inline-deleted-text{text-decoration:line-through}.monaco-diff-editor .line-delete,.monaco-editor .line-delete{background-color:var(--vscode-diffEditor-removedLineBackground,var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor .gutter-delete,.monaco-editor .gutter-delete,.monaco-editor .inline-deleted-margin-view-zone{background-color:var(--vscode-diffEditorGutter-removedLineBackground,var(--vscode-diffEditor-removedLineBackground),var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor.side-by-side .editor.modified{border-left:1px solid var(--vscode-diffEditor-border);box-shadow:-6px 0 5px -5px var(--vscode-scrollbar-shadow)}.monaco-diff-editor.side-by-side .editor.original{border-right:1px solid var(--vscode-diffEditor-border);box-shadow:6px 0 5px -5px var(--vscode-scrollbar-shadow)}.monaco-diff-editor .diffViewport{background:var(--vscode-scrollbarSlider-background)}.monaco-diff-editor .diffViewport:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-diff-editor .diffViewport:active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .diagonal-fill{background-image:linear-gradient(-45deg,var(--vscode-diffEditor-diagonalFill)12.5%,#0000 12.5%,#0000 50%,var(--vscode-diffEditor-diagonalFill)50%,var(--vscode-diffEditor-diagonalFill)62.5%,#0000 62.5%,#0000 100%);background-size:8px 8px}.monaco-diff-editor .gutter{flex-grow:0;flex-shrink:0;position:relative;overflow:hidden}.monaco-diff-editor .gutter>div{position:absolute}.monaco-diff-editor .gutter .gutterItem{opacity:0;transition:opacity .7s}.monaco-diff-editor .gutter .gutterItem.showAlways{opacity:1;transition:none}.monaco-diff-editor .gutter .gutterItem.noTransition{transition:none}.monaco-diff-editor .gutter:hover .gutterItem{opacity:1;transition:opacity .1s ease-in-out}.monaco-diff-editor .gutter .gutterItem .background{border-left:2px solid var(--vscode-menu-border);width:1px;height:100%;position:absolute;left:50%}.monaco-diff-editor .gutter .gutterItem .buttons{justify-content:center;align-items:center;width:100%;display:flex;position:absolute}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar{height:fit-content}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar{line-height:1}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container{background:var(--vscode-editorGutter-commentRangeForeground);border-radius:4px;width:fit-content}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container .action-item:hover{background:var(--vscode-toolbar-hoverBackground)}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container .action-item .action-label{padding:1px 2px}.monaco-diff-editor .diff-hidden-lines-compact{height:11px;display:flex}.monaco-diff-editor .diff-hidden-lines-compact .line-left,.monaco-diff-editor .diff-hidden-lines-compact .line-right{border-top:1px solid;border-color:var(--vscode-editorCodeLens-foreground);opacity:.5;width:100%;height:1px;margin:auto}.monaco-diff-editor .diff-hidden-lines-compact .line-left{width:20px}.monaco-diff-editor .diff-hidden-lines-compact .text{color:var(--vscode-editorCodeLens-foreground);text-wrap:nowrap;margin:0 4px;font-size:11px;line-height:11px}.monaco-editor .rendered-markdown kbd{background-color:var(--vscode-keybindingLabel-background);border-color:var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow);color:var(--vscode-keybindingLabel-foreground);vertical-align:middle;border-style:solid;border-width:1px;border-radius:3px;padding:1px 3px}.rendered-markdown li:has(input[type=checkbox]){list-style-type:none}.monaco-component.multiDiffEditor{background:var(--vscode-multiDiffEditor-background);width:100%;height:100%;position:relative;overflow-y:hidden}.monaco-component.multiDiffEditor>div{width:100%;height:100%;position:absolute;top:0;left:0}.monaco-component.multiDiffEditor>div.placeholder{visibility:hidden;place-content:center;place-items:center;display:grid}.monaco-component.multiDiffEditor>div.placeholder.visible{visibility:visible}.monaco-component.multiDiffEditor .active{--vscode-multiDiffEditor-border:var(--vscode-focusBorder)}.monaco-component.multiDiffEditor .multiDiffEntry{flex-direction:column;flex:1;display:flex;overflow:hidden}.monaco-component.multiDiffEditor .multiDiffEntry .collapse-button{cursor:pointer;margin:0 5px}.monaco-component.multiDiffEditor .multiDiffEntry .collapse-button a{display:block}.monaco-component.multiDiffEditor .multiDiffEntry .header{background:var(--vscode-editor-background);z-index:1000}.monaco-component.multiDiffEditor .multiDiffEntry .header:not(.collapsed) .header-content{border-bottom:1px solid var(--vscode-sideBarSectionHeader-border)}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content{background:var(--vscode-multiDiffEditor-headerBackground);border-top:1px solid var(--vscode-multiDiffEditor-border);color:var(--vscode-foreground);align-items:center;margin:8px 0 0;padding:4px 5px;display:flex}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content.shadow{box-shadow:var(--vscode-scrollbar-shadow)0 6px 6px -6px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path{flex:1;min-width:0;display:flex}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .title{font-size:14px;line-height:22px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .title.original{text-overflow:ellipsis;flex:1;min-width:0}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .status{opacity:.75;margin:0 10px;font-weight:600;line-height:22px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .actions{padding:0 8px}.monaco-component.multiDiffEditor .multiDiffEntry .editorParent{border-bottom:1px solid var(--vscode-multiDiffEditor-border);flex-direction:column;flex:1;display:flex;overflow:hidden}.monaco-component.multiDiffEditor .multiDiffEntry .editorContainer{flex:1}.monaco-editor .selection-anchor{background-color:#007acc;width:2px!important}.monaco-editor .bracket-match{background-color:var(--vscode-editorBracketMatch-background);border:1px solid var(--vscode-editorBracketMatch-border);box-sizing:border-box}.monaco-editor .lightBulbWidget{justify-content:center;align-items:center;display:flex}.monaco-editor .lightBulbWidget:hover{cursor:pointer}.monaco-editor .lightBulbWidget.codicon-light-bulb,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle{color:var(--vscode-editorLightBulb-foreground)}.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle-autofix{color:var(--vscode-editorLightBulbAutoFix-foreground,var(--vscode-editorLightBulb-foreground))}.monaco-editor .lightBulbWidget.codicon-sparkle-filled{color:var(--vscode-editorLightBulbAi-foreground,var(--vscode-icon-foreground))}.monaco-editor .lightBulbWidget:before{z-index:2;position:relative}.monaco-editor .lightBulbWidget:after{content:"";opacity:.3;z-index:1;width:100%;height:100%;display:block;position:absolute;top:0;left:0}.monaco-editor .glyph-margin-widgets .cgmr[class*=codicon-gutter-lightbulb]{cursor:pointer;display:block}.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb,.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-sparkle{color:var(--vscode-editorLightBulb-foreground)}.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-aifix-auto-fix,.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-auto-fix{color:var(--vscode-editorLightBulbAutoFix-foreground,var(--vscode-editorLightBulb-foreground))}.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-sparkle-filled{color:var(--vscode-editorLightBulbAi-foreground,var(--vscode-icon-foreground))}.monaco-editor .codelens-decoration{color:var(--vscode-editorCodeLens-foreground);font-family:var(--vscode-editorCodeLens-fontFamily),var(--vscode-editorCodeLens-fontFamilyDefault);font-feature-settings:var(--vscode-editorCodeLens-fontFeatureSettings);font-size:var(--vscode-editorCodeLens-fontSize);line-height:var(--vscode-editorCodeLens-lineHeight);padding-right:calc(var(--vscode-editorCodeLens-fontSize)*.5);text-overflow:ellipsis;white-space:nowrap;display:inline-block;overflow:hidden}.monaco-editor .codelens-decoration>a,.monaco-editor .codelens-decoration>span{-webkit-user-select:none;user-select:none;vertical-align:sub;white-space:nowrap}.monaco-editor .codelens-decoration>a{text-decoration:none}.monaco-editor .codelens-decoration>a:hover{cursor:pointer}.monaco-editor .codelens-decoration>a:hover,.monaco-editor .codelens-decoration>a:hover .codicon{color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration .codicon{color:var(--vscode-editorCodeLens-foreground);font-size:var(--vscode-editorCodeLens-fontSize);line-height:var(--vscode-editorCodeLens-lineHeight);vertical-align:middle;color:currentColor!important}.monaco-editor .codelens-decoration>a:hover .codicon:before{cursor:pointer}@keyframes fadein{0%{opacity:0;visibility:visible}to{opacity:1}}.monaco-editor .codelens-decoration.fadein{animation:.1s linear fadein}.colorpicker-widget{-webkit-user-select:none;user-select:none;height:190px}.colorpicker-color-decoration,.hc-light .colorpicker-color-decoration{box-sizing:border-box;cursor:pointer;border:.1em solid #000;width:.8em;height:.8em;margin:.1em .2em 0;line-height:.8em;display:inline-block}.hc-black .colorpicker-color-decoration,.vs-dark .colorpicker-color-decoration{border:.1em solid #eee}.colorpicker-header{height:24px;image-rendering:pixelated;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=) 0 0/9px 9px;display:flex;position:relative}.colorpicker-header .picked-color{color:#fff;cursor:pointer;white-space:nowrap;flex:1;justify-content:center;align-items:center;width:240px;line-height:24px;display:flex;overflow:hidden}.colorpicker-header .picked-color .picked-color-presentation{white-space:nowrap;margin-left:5px;margin-right:5px}.colorpicker-header .picked-color .codicon{color:inherit;font-size:14px}.colorpicker-header .picked-color.light{color:#000}.colorpicker-header .original-color{cursor:pointer;width:74px;z-index:inherit}.standalone-colorpicker{background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);color:var(--vscode-editorHoverWidget-foreground)}.colorpicker-header.standalone-colorpicker{border-bottom:none}.colorpicker-header .close-button{background-color:var(--vscode-editorHoverWidget-background);border-left:1px solid var(--vscode-editorHoverWidget-border);cursor:pointer}.colorpicker-header .close-button-inner-div{text-align:center;width:100%;height:100%}.colorpicker-header .close-button-inner-div:hover{background-color:var(--vscode-toolbar-hoverBackground)}.colorpicker-header .close-icon{padding:3px}.colorpicker-body{padding:8px;display:flex;position:relative}.colorpicker-body .saturation-wrap{flex:1;min-width:220px;height:150px;position:relative;overflow:hidden}.colorpicker-body .saturation-box{height:150px;position:absolute}.colorpicker-body .saturation-selection{border:1px solid #fff;border-radius:100%;width:9px;height:9px;margin:-5px 0 0 -5px;position:absolute;box-shadow:0 0 2px #000c}.colorpicker-body .strip{width:25px;height:150px}.colorpicker-body .standalone-strip{width:25px;height:122px}.colorpicker-body .hue-strip{cursor:grab;background:linear-gradient(red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red);margin-left:8px;position:relative}.colorpicker-body .opacity-strip{cursor:grab;image-rendering:pixelated;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=) 0 0/9px 9px;margin-left:8px;position:relative}.colorpicker-body .strip.grabbing{cursor:grabbing}.colorpicker-body .slider{box-sizing:border-box;border:1px solid #ffffffb5;width:calc(100% + 4px);height:4px;position:absolute;top:0;left:-2px;box-shadow:0 0 1px #000000d9}.colorpicker-body .strip .overlay{pointer-events:none;height:150px}.colorpicker-body .standalone-strip .standalone-overlay{pointer-events:none;height:122px}.standalone-colorpicker-body{border:1px solid #0000;border-bottom:1px solid var(--vscode-editorHoverWidget-border);display:block;overflow:hidden}.colorpicker-body .insert-button{background:var(--vscode-button-background);color:var(--vscode-button-foreground);cursor:pointer;border:none;border-radius:2px;width:58px;height:20px;padding:0;position:absolute;bottom:8px;right:8px}.colorpicker-body .insert-button:hover{background:var(--vscode-button-hoverBackground)}.monaco-editor.hc-light .dnd-target,.monaco-editor.vs .dnd-target{color:#fff;border-right:2px dotted #000}.monaco-editor.vs-dark .dnd-target{color:#51504f;border-right:2px dotted #aeafad}.monaco-editor.hc-black .dnd-target{color:#000;border-right:2px dotted #fff}.monaco-editor.hc-black.mac.mouse-default .view-lines,.monaco-editor.hc-light.mac.mouse-default .view-lines,.monaco-editor.mouse-default .view-lines,.monaco-editor.vs-dark.mac.mouse-default .view-lines{cursor:default}.monaco-editor.hc-black.mac.mouse-copy .view-lines,.monaco-editor.hc-light.mac.mouse-copy .view-lines,.monaco-editor.mouse-copy .view-lines,.monaco-editor.vs-dark.mac.mouse-copy .view-lines{cursor:copy}.post-edit-widget{background-color:var(--vscode-editorWidget-background);border:1px solid var(--vscode-widget-border,transparent);box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border-radius:4px;overflow:hidden}.post-edit-widget .monaco-button{border:none;border-radius:0;padding:2px}.post-edit-widget .monaco-button:hover{background-color:var(--vscode-button-secondaryHoverBackground)!important}.post-edit-widget .monaco-button .codicon{margin:0}.monaco-editor .findOptionsWidget{border:2px solid var(--vscode-contrastBorder)}.monaco-editor .find-widget,.monaco-editor .findOptionsWidget{background-color:var(--vscode-editorWidget-background);box-shadow:0 0 8px 2px var(--vscode-widget-shadow);color:var(--vscode-editorWidget-foreground)}.monaco-editor .find-widget{border-bottom:1px solid var(--vscode-widget-border);border-left:1px solid var(--vscode-widget-border);border-right:1px solid var(--vscode-widget-border);box-sizing:border-box;z-index:35;border-bottom-right-radius:4px;border-bottom-left-radius:4px;height:33px;padding:0 4px;line-height:19px;transition:transform .2s linear;position:absolute;overflow:hidden;transform:translateY(calc(-100% - 10px))}.monaco-workbench.reduce-motion .monaco-editor .find-widget{transition:transform linear}.monaco-editor .find-widget textarea{margin:0}.monaco-editor .find-widget.hiddenEditor{display:none}.monaco-editor .find-widget.replaceToggled>.replace-part{display:flex}.monaco-editor .find-widget.visible{transform:translateY(0)}.monaco-editor .find-widget .monaco-inputbox.synthetic-focus{outline:1px solid -webkit-focus-ring-color;outline-color:var(--vscode-focusBorder);outline-offset:-1px}.monaco-editor .find-widget .monaco-inputbox .input{background-color:#0000;min-height:0}.monaco-editor .find-widget .monaco-findInput .input{font-size:13px}.monaco-editor .find-widget>.find-part,.monaco-editor .find-widget>.replace-part{margin:3px 25px 0 17px;font-size:12px;display:flex}.monaco-editor .find-widget>.find-part .monaco-inputbox,.monaco-editor .find-widget>.replace-part .monaco-inputbox{min-height:25px}.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-right:22px}.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.mirror,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-top:2px;padding-bottom:2px}.monaco-editor .find-widget>.find-part .find-actions,.monaco-editor .find-widget>.replace-part .replace-actions{align-items:center;height:25px;display:flex}.monaco-editor .find-widget .monaco-findInput{vertical-align:middle;flex:1;display:flex}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element{width:100%}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical{opacity:0}.monaco-editor .find-widget .matchesCount{box-sizing:border-box;flex:initial;text-align:center;vertical-align:middle;height:25px;margin:0 0 0 3px;padding:2px 0 0 2px;line-height:23px;display:flex}.monaco-editor .find-widget .button{cursor:pointer;flex:initial;background-position:50%;background-repeat:no-repeat;border-radius:5px;justify-content:center;align-items:center;width:16px;height:16px;margin-left:3px;padding:3px;display:flex}.monaco-editor .find-widget .codicon-find-selection{border-radius:5px;width:22px;height:22px;padding:3px}.monaco-editor .find-widget .button.left{margin-left:0;margin-right:3px}.monaco-editor .find-widget .button.wide{width:auto;padding:1px 6px;top:-1px}.monaco-editor .find-widget .button.toggle{box-sizing:border-box;border-radius:0;width:18px;height:100%;position:absolute;top:0;left:3px}.monaco-editor .find-widget .button.toggle.disabled{display:none}.monaco-editor .find-widget .disabled{color:var(--vscode-disabledForeground);cursor:default}.monaco-editor .find-widget>.replace-part{display:none}.monaco-editor .find-widget>.replace-part>.monaco-findInput{vertical-align:middle;flex:none;display:flex;position:relative}.monaco-editor .find-widget>.replace-part>.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.monaco-editor .find-widget.reduced-find-widget .matchesCount{display:none}.monaco-editor .find-widget.narrow-find-widget{max-width:257px!important}.monaco-editor .find-widget.collapsed-find-widget{max-width:170px!important}.monaco-editor .find-widget.collapsed-find-widget .button.next,.monaco-editor .find-widget.collapsed-find-widget .button.previous,.monaco-editor .find-widget.collapsed-find-widget .button.replace,.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,.monaco-editor .find-widget.collapsed-find-widget>.find-part .monaco-findInput .controls{display:none}.monaco-editor .find-widget.no-results .matchesCount{color:var(--vscode-errorForeground)}.monaco-editor .findMatch{animation-duration:0;background-color:var(--vscode-editor-findMatchHighlightBackground);animation-name:inherit!important}.monaco-editor .currentFindMatch{background-color:var(--vscode-editor-findMatchBackground);border:2px solid var(--vscode-editor-findMatchBorder);box-sizing:border-box;padding:1px}.monaco-editor .findScope{background-color:var(--vscode-editor-findRangeHighlightBackground)}.monaco-editor .find-widget .monaco-sash{background-color:var(--vscode-editorWidget-resizeBorder,var(--vscode-editorWidget-border));left:0!important}.monaco-editor.hc-black .find-widget .button:before{position:relative;top:1px;left:2px}.monaco-editor .find-widget .button:not(.disabled):hover,.monaco-editor .find-widget .codicon-find-selection:hover{background-color:var(--vscode-toolbar-hoverBackground)!important}.monaco-editor.currentFindMatch{background-color:var(--vscode-editor-findMatchBackground)}.monaco-editor.findScope{background-color:var(--vscode-editor-findRangeHighlightBackground)}.monaco-editor.findMatch{background-color:var(--vscode-editorWidget-background)}.monaco-editor .find-widget>.button.codicon-widget-close{position:absolute;top:5px;right:4px}.monaco-editor .margin-view-overlays .codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded{cursor:pointer;opacity:0;justify-content:center;align-items:center;margin-left:2px;font-size:140%;transition:opacity .5s;display:flex}.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded{transition:initial}.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons,.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon.codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays:hover .codicon{opacity:1}.monaco-editor .inline-folded:after{color:var(--vscode-editor-foldPlaceholderForeground);content:"⋯";cursor:pointer;margin:.1em .2em 0;line-height:1em;display:inline}.monaco-editor .folded-background{background-color:var(--vscode-editor-foldBackground)}.monaco-editor .cldr.codicon.codicon-folding-collapsed,.monaco-editor .cldr.codicon.codicon-folding-expanded,.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed,.monaco-editor .cldr.codicon.codicon-folding-manual-expanded{color:var(--vscode-editorGutter-foldingControlForeground)!important}.monaco-editor .peekview-widget .head .peekview-title .severity-icon{vertical-align:text-top;margin-right:4px;display:inline-block}.monaco-editor .marker-widget{text-overflow:ellipsis;white-space:nowrap}.monaco-editor .marker-widget>.stale{opacity:.6;font-style:italic}.monaco-editor .marker-widget .title{padding-right:5px;display:inline-block}.monaco-editor .marker-widget .descriptioncontainer{-webkit-user-select:text;user-select:text;white-space:pre;padding:8px 12px 0 20px;position:absolute}.monaco-editor .marker-widget .descriptioncontainer .message{flex-direction:column;display:flex}.monaco-editor .marker-widget .descriptioncontainer .message .details{padding-left:6px}.monaco-editor .marker-widget .descriptioncontainer .message .source,.monaco-editor .marker-widget .descriptioncontainer .message span.code{opacity:.6}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link{color:inherit;opacity:.6}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before{content:"("}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after{content:")"}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link>span{color:var(--vscode-textLink-activeForeground);text-underline-position:under;border-bottom:1px solid #0000;text-decoration:underline}.monaco-editor .marker-widget .descriptioncontainer .filename{color:var(--vscode-textLink-activeForeground);cursor:pointer}.monaco-editor .goto-definition-link{cursor:pointer;text-decoration:underline;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget{border-top-width:1px;border-bottom-width:1px}.monaco-editor .reference-zone-widget .inline{vertical-align:top;display:inline-block}.monaco-editor .reference-zone-widget .messages{text-align:center;width:100%;height:100%;padding:3em 0}.monaco-editor .reference-zone-widget .ref-tree{background-color:var(--vscode-peekViewResult-background);color:var(--vscode-peekViewResult-lineForeground);line-height:23px}.monaco-editor .reference-zone-widget .ref-tree .reference{text-overflow:ellipsis;overflow:hidden}.monaco-editor .reference-zone-widget .ref-tree .reference-file{color:var(--vscode-peekViewResult-fileForeground);width:100%;height:100%;display:inline-flex}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file{color:inherit!important}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows>.monaco-list-row.selected:not(.highlighted){background-color:var(--vscode-peekViewResult-selectionBackground);color:var(--vscode-peekViewResult-selectionForeground)!important}.monaco-editor .reference-zone-widget .ref-tree .reference-file .count{margin-left:auto;margin-right:12px}.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight{background-color:var(--vscode-peekViewResult-matchHighlightBackground)}.monaco-editor .reference-zone-widget .preview .reference-decoration{background-color:var(--vscode-peekViewEditor-matchHighlightBackground);border:2px solid var(--vscode-peekViewEditor-matchHighlightBorder);box-sizing:border-box}.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input,.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background{background-color:var(--vscode-peekViewEditor-background)}.monaco-editor .reference-zone-widget .preview .monaco-editor .margin{background-color:var(--vscode-peekViewEditorGutter-background)}.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file,.monaco-editor.hc-light .reference-zone-widget .ref-tree .reference-file{font-weight:700}.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight,.monaco-editor.hc-light .reference-zone-widget .ref-tree .referenceMatch .highlight{border:1px dotted var(--vscode-contrastActiveBorder,transparent);box-sizing:border-box}.monaco-editor .hoverHighlight{background-color:var(--vscode-editor-hoverHighlightBackground)}.monaco-editor .monaco-hover-content{box-sizing:border-box;padding-bottom:2px;padding-right:2px}.monaco-editor .monaco-hover{background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);color:var(--vscode-editorHoverWidget-foreground);border-radius:3px}.monaco-editor .monaco-hover a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-hover a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .monaco-hover .hover-row{display:flex}.monaco-editor .monaco-hover .hover-row .hover-row-contents{flex-direction:column;min-width:0;display:flex}.monaco-editor .monaco-hover .hover-row .verbosity-actions{border-right:1px solid var(--vscode-editorHoverWidget-border);flex-direction:column;justify-content:end;padding-left:5px;padding-right:5px;display:flex}.monaco-editor .monaco-hover .hover-row .verbosity-actions .codicon{cursor:pointer;font-size:11px}.monaco-editor .monaco-hover .hover-row .verbosity-actions .codicon.enabled{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-hover .hover-row .verbosity-actions .codicon.disabled{opacity:.6}.monaco-editor .monaco-hover .hover-row .actions{background-color:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-editor .monaco-hover code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor.vs .valueSetReplacement{outline:solid 2px var(--vscode-editorBracketMatch-border)}.monaco-editor .inlineSuggestionsHints.withBorder{background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);color:var(--vscode-editorHoverWidget-foreground);z-index:39}.monaco-editor .inlineSuggestionsHints a,.monaco-editor .inlineSuggestionsHints a:hover{color:var(--vscode-foreground)}.monaco-editor .inlineSuggestionsHints .keybinding{opacity:.6;margin-left:4px;display:flex}.monaco-editor .inlineSuggestionsHints .keybinding .monaco-keybinding-key{padding:2px 3px;font-size:8px}.monaco-editor .inlineSuggestionsHints .availableSuggestionCount a{justify-content:center;min-width:19px;display:flex}.monaco-editor .inlineSuggestionStatusBarItemLabel{margin-right:2px}.monaco-editor .suggest-preview-additional-widget{white-space:nowrap}.monaco-editor .suggest-preview-additional-widget .content-spacer{color:#0000;white-space:pre}.monaco-editor .suggest-preview-additional-widget .button{cursor:pointer;text-underline-position:under;text-decoration:underline;display:inline-block}.monaco-editor .ghost-text-hidden{opacity:0;font-size:0}.monaco-editor .ghost-text-decoration,.monaco-editor .suggest-preview-text .ghost-text{font-style:italic}.monaco-editor .ghost-text-decoration,.monaco-editor .ghost-text-decoration-preview,.monaco-editor .suggest-preview-text .ghost-text{background-color:var(--vscode-editorGhostText-background);border:1px solid var(--vscode-editorGhostText-border);color:var(--vscode-editorGhostText-foreground)!important}.monaco-editor .inline-edit-remove{background-color:var(--vscode-editorGhostText-background);font-style:italic}.monaco-editor .inline-edit-hidden{opacity:0;font-size:0}.monaco-editor .inline-edit-decoration,.monaco-editor .suggest-preview-text .inline-edit{font-style:italic}.monaco-editor .inline-completion-text-to-replace{text-underline-position:under;text-decoration:underline}.monaco-editor .inline-edit-decoration,.monaco-editor .inline-edit-decoration-preview,.monaco-editor .suggest-preview-text .inline-edit{background-color:var(--vscode-editorGhostText-background);border:1px solid var(--vscode-editorGhostText-border);color:var(--vscode-editorGhostText-foreground)!important}.monaco-editor .inlineEditHints.withBorder{background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);color:var(--vscode-editorHoverWidget-foreground);z-index:39}.monaco-editor .inlineEditHints a,.monaco-editor .inlineEditHints a:hover{color:var(--vscode-foreground)}.monaco-editor .inlineEditHints .keybinding{opacity:.6;margin-left:4px;display:flex}.monaco-editor .inlineEditHints .keybinding .monaco-keybinding-key{padding:2px 3px;font-size:8px}.monaco-editor .inlineEditStatusBarItemLabel{margin-right:2px}.monaco-editor .inlineEditSideBySide{background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);color:var(--vscode-editorHoverWidget-foreground);white-space:pre;z-index:39}.monaco-editor div.inline-edits-widget{--widget-color:var(--vscode-notifications-background)}.monaco-editor div.inline-edits-widget .promptEditor .monaco-editor{--vscode-editor-placeholder-foreground:var(--vscode-editorGhostText-foreground)}.monaco-editor div.inline-edits-widget .promptEditor,.monaco-editor div.inline-edits-widget .toolbar{opacity:0;transition:opacity .2s ease-in-out}.monaco-editor div.inline-edits-widget.focused .promptEditor,.monaco-editor div.inline-edits-widget.focused .toolbar,.monaco-editor div.inline-edits-widget:hover .promptEditor,.monaco-editor div.inline-edits-widget:hover .toolbar{opacity:1}.monaco-editor div.inline-edits-widget .preview .monaco-editor{--vscode-editor-background:var(--widget-color)}.monaco-editor div.inline-edits-widget .preview .monaco-editor .mtk1{color:var(--vscode-editorGhostText-foreground)}.monaco-editor div.inline-edits-widget .preview .monaco-editor .current-line-margin,.monaco-editor div.inline-edits-widget .preview .monaco-editor .view-overlays .current-line-exact{border:none}.monaco-editor div.inline-edits-widget svg .gradient-start{stop-color:var(--vscode-editor-background)}.monaco-editor div.inline-edits-widget svg .gradient-stop{stop-color:var(--widget-color)}.inline-editor-progress-decoration{width:1em;height:1em;display:inline-block}.inline-progress-widget{justify-content:center;align-items:center;display:flex!important}.inline-progress-widget .icon{font-size:80%!important}.inline-progress-widget:hover .icon{animation:none;font-size:90%!important}.inline-progress-widget:hover .icon:before{content:var(--vscode-icon-x-content);font-family:var(--vscode-icon-x-font-family)}.monaco-editor .linked-editing-decoration{background-color:var(--vscode-editor-linkedEditingBackground);min-width:1px}.monaco-editor .detected-link,.monaco-editor .detected-link-active{text-underline-position:under;text-decoration:underline}.monaco-editor .detected-link-active{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .monaco-editor-overlaymessage{z-index:10000;padding-bottom:8px}.monaco-editor .monaco-editor-overlaymessage.below{z-index:10000;padding-top:8px;padding-bottom:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.monaco-editor .monaco-editor-overlaymessage.fadeIn{animation:.15s ease-out fadeIn}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.monaco-editor .monaco-editor-overlaymessage.fadeOut{animation:.1s ease-out fadeOut}.monaco-editor .monaco-editor-overlaymessage .message{background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-inputValidation-infoBorder);color:var(--vscode-editorHoverWidget-foreground);border-radius:3px;padding:2px 4px}.monaco-editor .monaco-editor-overlaymessage .message p{margin-block:0}.monaco-editor .monaco-editor-overlaymessage .message a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-editor-overlaymessage .message a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor.hc-black .monaco-editor-overlaymessage .message,.monaco-editor.hc-light .monaco-editor-overlaymessage .message{border-width:2px}.monaco-editor .monaco-editor-overlaymessage .anchor{z-index:1000;border:8px solid #0000;position:absolute;left:2px;width:0!important;height:0!important}.monaco-editor .monaco-editor-overlaymessage .anchor.top{border-bottom-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage .anchor.below{border-top-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage.below .anchor.below,.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top{display:none}.monaco-editor .monaco-editor-overlaymessage.below .anchor.top{display:inherit;top:-8px}.monaco-editor .parameter-hints-widget{background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);color:var(--vscode-editorHoverWidget-foreground);cursor:default;z-index:39;flex-direction:column;line-height:1.5em;display:flex}.hc-black .monaco-editor .parameter-hints-widget,.hc-light .monaco-editor .parameter-hints-widget{border-width:2px}.monaco-editor .parameter-hints-widget>.phwrapper{flex-direction:row;max-width:440px;display:flex}.monaco-editor .parameter-hints-widget.multiple{min-height:3.3em;padding:0}.monaco-editor .parameter-hints-widget.multiple .body:before{border-left:1px solid var(--vscode-editorHoverWidget-border);content:"";opacity:.5;height:100%;display:block;position:absolute}.monaco-editor .parameter-hints-widget p,.monaco-editor .parameter-hints-widget ul{margin:8px 0}.monaco-editor .parameter-hints-widget .body,.monaco-editor .parameter-hints-widget .monaco-scrollable-element{flex-direction:column;flex:1;min-height:100%;display:flex}.monaco-editor .parameter-hints-widget .signature{padding:4px 5px;position:relative}.monaco-editor .parameter-hints-widget .signature.has-docs:after{border-bottom:1px solid var(--vscode-editorHoverWidget-border);content:"";opacity:.5;width:100%;padding-top:4px;display:block;position:absolute;left:0}.monaco-editor .parameter-hints-widget .code{font-family:var(--vscode-parameterHintsWidget-editorFontFamily),var(--vscode-parameterHintsWidget-editorFontFamilyDefault)}.monaco-editor .parameter-hints-widget .docs{white-space:pre-wrap;padding:0 10px 0 5px}.monaco-editor .parameter-hints-widget .docs.empty{display:none}.monaco-editor .parameter-hints-widget .docs a{color:var(--vscode-textLink-foreground)}.monaco-editor .parameter-hints-widget .docs a:hover{color:var(--vscode-textLink-activeForeground);cursor:pointer}.monaco-editor .parameter-hints-widget .docs .markdown-docs{white-space:normal}.monaco-editor .parameter-hints-widget .docs code{background-color:var(--vscode-textCodeBlock-background);font-family:var(--monaco-monospace-font);border-radius:3px;padding:0 .4em}.monaco-editor .parameter-hints-widget .docs .code,.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source{white-space:pre-wrap}.monaco-editor .parameter-hints-widget .controls{flex-direction:column;justify-content:flex-end;align-items:center;min-width:22px;display:none}.monaco-editor .parameter-hints-widget.multiple .controls{padding:0 2px;display:flex}.monaco-editor .parameter-hints-widget.multiple .button{cursor:pointer;background-repeat:no-repeat;width:16px;height:16px}.monaco-editor .parameter-hints-widget .button.previous{bottom:24px}.monaco-editor .parameter-hints-widget .overloads{font-family:var(--monaco-monospace-font);text-align:center;height:12px;line-height:12px}.monaco-editor .parameter-hints-widget .signature .parameter.active{color:var(--vscode-editorHoverWidget-highlightForeground);font-weight:700}.monaco-editor .parameter-hints-widget .documentation-parameter>.parameter{margin-right:.5em;font-weight:700}.monaco-editor .peekview-widget .head{box-sizing:border-box;flex-wrap:nowrap;justify-content:space-between;display:flex}.monaco-editor .peekview-widget .head .peekview-title{text-overflow:ellipsis;align-items:baseline;min-width:0;margin-left:20px;font-size:13px;display:flex;overflow:hidden}.monaco-editor .peekview-widget .head .peekview-title.clickable{cursor:pointer}.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty){margin-left:.5em;font-size:.9em}.monaco-editor .peekview-widget .head .peekview-title .dirname,.monaco-editor .peekview-widget .head .peekview-title .filename,.monaco-editor .peekview-widget .head .peekview-title .meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty):before{content:"-";padding:0 .3em}.monaco-editor .peekview-widget .head .peekview-actions{text-align:right;flex:1;padding-right:2px}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar{display:inline-block}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar,.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar>.actions-container{height:100%}.monaco-editor .peekview-widget>.body{border-top:1px solid;position:relative}.monaco-editor .peekview-widget .head .peekview-title .codicon{align-self:center;margin-right:4px}.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon{color:inherit!important}.monaco-editor{--vscode-editor-placeholder-foreground:var(--vscode-editorGhostText-foreground)}.monaco-editor .editorPlaceholder{text-overflow:ellipsis;text-wrap:nowrap;color:var(--vscode-editor-placeholder-foreground);pointer-events:none;position:absolute;top:0;overflow:hidden}.monaco-editor .rename-box{color:inherit;z-index:100;border-radius:4px}.monaco-editor .rename-box.preview{padding:4px 4px 0}.monaco-editor .rename-box .rename-input-with-button{border-radius:2px;width:calc(100% - 8px);padding:3px}.monaco-editor .rename-box .rename-input{width:calc(100% - 8px);padding:0}.monaco-editor .rename-box .rename-input:focus{outline:none}.monaco-editor .rename-box .rename-suggestions-button{cursor:pointer;background-color:#0000;border:none;border-radius:5px;align-items:center;padding:3px;display:flex}.monaco-editor .rename-box .rename-suggestions-button:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-editor .rename-box .rename-candidate-list-container .monaco-list-row{border-radius:2px}.monaco-editor .rename-box .rename-label{opacity:.8;display:none}.monaco-editor .rename-box.preview .rename-label{display:inherit}.monaco-editor .snippet-placeholder{background-color:var(--vscode-editor-snippetTabstopHighlightBackground,transparent);outline-color:var(--vscode-editor-snippetTabstopHighlightBorder,transparent);outline-width:1px;outline-style:solid;min-width:2px}.monaco-editor .finish-snippet-placeholder{background-color:var(--vscode-editor-snippetFinalTabstopHighlightBackground,transparent);outline-color:var(--vscode-editor-snippetFinalTabstopHighlightBorder,transparent);outline-width:1px;outline-style:solid}.monaco-editor .sticky-widget{overflow:hidden}.monaco-editor .sticky-widget-line-numbers{background-color:inherit;float:left}.monaco-editor .sticky-widget-lines-scrollable{background-color:inherit;width:var(--vscode-editorStickyScroll-scrollableWidth);display:inline-block;position:absolute;overflow:hidden}.monaco-editor .sticky-widget-lines{background-color:inherit;position:absolute}.monaco-editor .sticky-line-content,.monaco-editor .sticky-line-number{background-color:inherit;color:var(--vscode-editorLineNumber-foreground);white-space:nowrap;display:inline-block;position:absolute}.monaco-editor .sticky-line-number .codicon-folding-collapsed,.monaco-editor .sticky-line-number .codicon-folding-expanded{float:right;transition:var(--vscode-editorStickyScroll-foldingOpacityTransition)}.monaco-editor .sticky-line-content{background-color:inherit;white-space:nowrap;width:var(--vscode-editorStickyScroll-scrollableWidth)}.monaco-editor .sticky-line-number-inner{text-align:right;display:inline-block}.monaco-editor .sticky-widget{border-bottom:1px solid var(--vscode-editorStickyScroll-border)}.monaco-editor .sticky-line-content:hover{background-color:var(--vscode-editorStickyScrollHover-background);cursor:pointer}.monaco-editor .sticky-widget{background-color:var(--vscode-editorStickyScroll-background);box-shadow:var(--vscode-editorStickyScroll-shadow)0 4px 2px -2px;z-index:4;width:100%;right:auto!important}.monaco-editor .sticky-widget.peek{background-color:var(--vscode-peekViewEditorStickyScroll-background)}.monaco-editor .suggest-widget{z-index:40;border-radius:3px;flex-direction:column;width:430px;display:flex}.monaco-editor .suggest-widget.message{flex-direction:row;align-items:center}.monaco-editor .suggest-details,.monaco-editor .suggest-widget{background-color:var(--vscode-editorSuggestWidget-background);border-color:var(--vscode-editorSuggestWidget-border);border-style:solid;border-width:1px;flex:0 auto;width:100%}.monaco-editor.hc-black .suggest-details,.monaco-editor.hc-black .suggest-widget,.monaco-editor.hc-light .suggest-details,.monaco-editor.hc-light .suggest-widget{border-width:2px}.monaco-editor .suggest-widget .suggest-status-bar{border-top:1px solid var(--vscode-editorSuggestWidget-border);box-sizing:border-box;flex-flow:row;justify-content:space-between;width:100%;padding:0 4px;font-size:80%;display:none;overflow:hidden}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar{display:flex}.monaco-editor .suggest-widget .suggest-status-bar .left{padding-right:8px}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label{color:var(--vscode-editorSuggestWidgetStatus-foreground)}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label{margin-right:0}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label:after{content:", ";margin-right:.3em}.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore,.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover>.contents>.main>.right.can-expand-details>.details-label{width:100%}.monaco-editor .suggest-widget>.message{padding-left:22px}.monaco-editor .suggest-widget>.tree{width:100%;height:100%}.monaco-editor .suggest-widget .monaco-list{-webkit-user-select:none;user-select:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row{-mox-box-sizing:border-box;box-sizing:border-box;cursor:pointer;touch-action:none;white-space:nowrap;background-position:2px 2px;background-repeat:no-repeat;padding-right:10px;display:flex}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused{color:var(--vscode-editorSuggestWidget-selectedForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon{color:var(--vscode-editorSuggestWidget-selectedIconForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents{flex:1;height:100%;padding-left:2px;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main{text-overflow:ellipsis;white-space:pre;justify-content:space-between;display:flex;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{display:flex}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused)>.contents>.main .monaco-icon-label{color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight{font-weight:700}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-highlightForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-focusHighlightForeground)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:before{color:inherit;cursor:pointer;opacity:1;font-size:14px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close{position:absolute;top:6px;right:2px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close:hover,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:hover{opacity:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{opacity:.7}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.signature-label{opacity:.6;text-overflow:ellipsis;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.qualifier-label{opacity:.4;text-overflow:ellipsis;align-self:center;margin-left:12px;font-size:85%;line-height:normal;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{text-overflow:ellipsis;white-space:nowrap;margin-left:1.1em;font-size:85%;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label>.monaco-tokenized-source{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right.can-expand-details>.details-label{width:calc(100% - 26px)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left{flex-grow:1;flex-shrink:1;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.monaco-icon-label{flex-shrink:0}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.left>.monaco-icon-label{max-width:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.left>.monaco-icon-label{flex-shrink:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{flex-shrink:4;max-width:70%;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{visibility:hidden;width:18px;height:18px;display:inline-block;position:absolute;right:10px}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:inline-block}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right>.readMore{visibility:visible}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated{opacity:.66;-webkit-text-decoration:unset;text-decoration:unset}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated>.monaco-icon-label-container>.monaco-icon-name-container{text-decoration:line-through}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label:before{height:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon{background-position:50%;background-repeat:no-repeat;background-size:80%;width:16px;height:16px;margin-left:2px;display:block}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon{align-items:center;margin-right:4px;display:flex}.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon:before{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan{border:.1em solid #000;width:.7em;height:.7em;margin:0 0 0 .3em;display:inline-block}.monaco-editor .suggest-details-container{z-index:41}.monaco-editor .suggest-details{color:var(--vscode-editorSuggestWidget-foreground);cursor:default;flex-direction:column;display:flex}.monaco-editor .suggest-details.focused{border-color:var(--vscode-focusBorder)}.monaco-editor .suggest-details a{color:var(--vscode-textLink-foreground)}.monaco-editor .suggest-details a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .suggest-details code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .suggest-details.no-docs{display:none}.monaco-editor .suggest-details>.monaco-scrollable-element{flex:1}.monaco-editor .suggest-details>.monaco-scrollable-element>.body{box-sizing:border-box;width:100%;height:100%}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type{opacity:.7;text-overflow:ellipsis;white-space:pre;flex:2;margin:0 24px 0 0;padding:4px 0 12px 5px;overflow:hidden}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type.auto-wrap{white-space:normal;word-break:break-all}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs{white-space:pre-wrap;margin:0;padding:4px 5px}.monaco-editor .suggest-details.no-type>.monaco-scrollable-element>.body>.docs{margin-right:24px;overflow:hidden}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs{white-space:normal;min-height:calc(1rem + 8px);padding:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div,.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>span:not(:empty){padding:4px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:first-child{margin-top:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:last-child{margin-bottom:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .monaco-tokenized-source{white-space:pre}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs .code{white-space:pre-wrap;word-wrap:break-word}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .codicon{vertical-align:sub}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>p:empty{display:none}.monaco-editor .suggest-details code{border-radius:3px;padding:0 .4em}.monaco-editor .suggest-details ol,.monaco-editor .suggest-details ul{padding-left:20px}.monaco-editor .suggest-details p code{font-family:var(--monaco-monospace-font)}.monaco-editor .codicon.codicon-symbol-array,.monaco-workbench .codicon.codicon-symbol-array{color:var(--vscode-symbolIcon-arrayForeground)}.monaco-editor .codicon.codicon-symbol-boolean,.monaco-workbench .codicon.codicon-symbol-boolean{color:var(--vscode-symbolIcon-booleanForeground)}.monaco-editor .codicon.codicon-symbol-class,.monaco-workbench .codicon.codicon-symbol-class{color:var(--vscode-symbolIcon-classForeground)}.monaco-editor .codicon.codicon-symbol-method,.monaco-workbench .codicon.codicon-symbol-method{color:var(--vscode-symbolIcon-methodForeground)}.monaco-editor .codicon.codicon-symbol-color,.monaco-workbench .codicon.codicon-symbol-color{color:var(--vscode-symbolIcon-colorForeground)}.monaco-editor .codicon.codicon-symbol-constant,.monaco-workbench .codicon.codicon-symbol-constant{color:var(--vscode-symbolIcon-constantForeground)}.monaco-editor .codicon.codicon-symbol-constructor,.monaco-workbench .codicon.codicon-symbol-constructor{color:var(--vscode-symbolIcon-constructorForeground)}.monaco-editor .codicon.codicon-symbol-enum,.monaco-editor .codicon.codicon-symbol-value,.monaco-workbench .codicon.codicon-symbol-enum,.monaco-workbench .codicon.codicon-symbol-value{color:var(--vscode-symbolIcon-enumeratorForeground)}.monaco-editor .codicon.codicon-symbol-enum-member,.monaco-workbench .codicon.codicon-symbol-enum-member{color:var(--vscode-symbolIcon-enumeratorMemberForeground)}.monaco-editor .codicon.codicon-symbol-event,.monaco-workbench .codicon.codicon-symbol-event{color:var(--vscode-symbolIcon-eventForeground)}.monaco-editor .codicon.codicon-symbol-field,.monaco-workbench .codicon.codicon-symbol-field{color:var(--vscode-symbolIcon-fieldForeground)}.monaco-editor .codicon.codicon-symbol-file,.monaco-workbench .codicon.codicon-symbol-file{color:var(--vscode-symbolIcon-fileForeground)}.monaco-editor .codicon.codicon-symbol-folder,.monaco-workbench .codicon.codicon-symbol-folder{color:var(--vscode-symbolIcon-folderForeground)}.monaco-editor .codicon.codicon-symbol-function,.monaco-workbench .codicon.codicon-symbol-function{color:var(--vscode-symbolIcon-functionForeground)}.monaco-editor .codicon.codicon-symbol-interface,.monaco-workbench .codicon.codicon-symbol-interface{color:var(--vscode-symbolIcon-interfaceForeground)}.monaco-editor .codicon.codicon-symbol-key,.monaco-workbench .codicon.codicon-symbol-key{color:var(--vscode-symbolIcon-keyForeground)}.monaco-editor .codicon.codicon-symbol-keyword,.monaco-workbench .codicon.codicon-symbol-keyword{color:var(--vscode-symbolIcon-keywordForeground)}.monaco-editor .codicon.codicon-symbol-module,.monaco-workbench .codicon.codicon-symbol-module{color:var(--vscode-symbolIcon-moduleForeground)}.monaco-editor .codicon.codicon-symbol-namespace,.monaco-workbench .codicon.codicon-symbol-namespace{color:var(--vscode-symbolIcon-namespaceForeground)}.monaco-editor .codicon.codicon-symbol-null,.monaco-workbench .codicon.codicon-symbol-null{color:var(--vscode-symbolIcon-nullForeground)}.monaco-editor .codicon.codicon-symbol-number,.monaco-workbench .codicon.codicon-symbol-number{color:var(--vscode-symbolIcon-numberForeground)}.monaco-editor .codicon.codicon-symbol-object,.monaco-workbench .codicon.codicon-symbol-object{color:var(--vscode-symbolIcon-objectForeground)}.monaco-editor .codicon.codicon-symbol-operator,.monaco-workbench .codicon.codicon-symbol-operator{color:var(--vscode-symbolIcon-operatorForeground)}.monaco-editor .codicon.codicon-symbol-package,.monaco-workbench .codicon.codicon-symbol-package{color:var(--vscode-symbolIcon-packageForeground)}.monaco-editor .codicon.codicon-symbol-property,.monaco-workbench .codicon.codicon-symbol-property{color:var(--vscode-symbolIcon-propertyForeground)}.monaco-editor .codicon.codicon-symbol-reference,.monaco-workbench .codicon.codicon-symbol-reference{color:var(--vscode-symbolIcon-referenceForeground)}.monaco-editor .codicon.codicon-symbol-snippet,.monaco-workbench .codicon.codicon-symbol-snippet{color:var(--vscode-symbolIcon-snippetForeground)}.monaco-editor .codicon.codicon-symbol-string,.monaco-workbench .codicon.codicon-symbol-string{color:var(--vscode-symbolIcon-stringForeground)}.monaco-editor .codicon.codicon-symbol-struct,.monaco-workbench .codicon.codicon-symbol-struct{color:var(--vscode-symbolIcon-structForeground)}.monaco-editor .codicon.codicon-symbol-text,.monaco-workbench .codicon.codicon-symbol-text{color:var(--vscode-symbolIcon-textForeground)}.monaco-editor .codicon.codicon-symbol-type-parameter,.monaco-workbench .codicon.codicon-symbol-type-parameter{color:var(--vscode-symbolIcon-typeParameterForeground)}.monaco-editor .codicon.codicon-symbol-unit,.monaco-workbench .codicon.codicon-symbol-unit{color:var(--vscode-symbolIcon-unitForeground)}.monaco-editor .codicon.codicon-symbol-variable,.monaco-workbench .codicon.codicon-symbol-variable{color:var(--vscode-symbolIcon-variableForeground)}.editor-banner{background:var(--vscode-banner-background);box-sizing:border-box;cursor:default;width:100%;height:26px;font-size:12px;display:flex;overflow:visible}.editor-banner .icon-container{flex-shrink:0;align-items:center;padding:0 6px 0 10px;display:flex}.editor-banner .icon-container.custom-icon{background-position:50%;background-repeat:no-repeat;background-size:16px;width:16px;margin:0 6px 0 10px;padding:0}.editor-banner .message-container{text-overflow:ellipsis;white-space:nowrap;align-items:center;line-height:26px;display:flex;overflow:hidden}.editor-banner .message-container p{margin-block:0}.editor-banner .message-actions-container{flex-grow:1;flex-shrink:0;margin:0 4px;line-height:26px}.editor-banner .message-actions-container a.monaco-button{width:inherit;margin:2px 8px;padding:0 12px}.editor-banner .message-actions-container a{margin-left:12px;padding:3px;text-decoration:underline}.editor-banner .action-container{padding:0 10px 0 6px}.editor-banner{background-color:var(--vscode-banner-background)}.editor-banner,.editor-banner .action-container .codicon,.editor-banner .message-actions-container .monaco-link{color:var(--vscode-banner-foreground)}.editor-banner .icon-container .codicon{color:var(--vscode-banner-iconForeground)}.monaco-editor .unicode-highlight{background-color:var(--vscode-editorUnicodeHighlight-background);border:1px solid var(--vscode-editorUnicodeHighlight-border);box-sizing:border-box}.monaco-editor .focused .selectionHighlight{background-color:var(--vscode-editor-selectionHighlightBackground);border:1px solid var(--vscode-editor-selectionHighlightBorder);box-sizing:border-box}.monaco-editor.hc-black .focused .selectionHighlight,.monaco-editor.hc-light .focused .selectionHighlight{border-style:dotted}.monaco-editor .wordHighlight{background-color:var(--vscode-editor-wordHighlightBackground);border:1px solid var(--vscode-editor-wordHighlightBorder);box-sizing:border-box}.monaco-editor.hc-black .wordHighlight,.monaco-editor.hc-light .wordHighlight{border-style:dotted}.monaco-editor .wordHighlightStrong{background-color:var(--vscode-editor-wordHighlightStrongBackground);border:1px solid var(--vscode-editor-wordHighlightStrongBorder);box-sizing:border-box}.monaco-editor.hc-black .wordHighlightStrong,.monaco-editor.hc-light .wordHighlightStrong{border-style:dotted}.monaco-editor .wordHighlightText{background-color:var(--vscode-editor-wordHighlightTextBackground);border:1px solid var(--vscode-editor-wordHighlightTextBorder);box-sizing:border-box}.monaco-editor.hc-black .wordHighlightText,.monaco-editor.hc-light .wordHighlightText{border-style:dotted}.monaco-editor .zone-widget{z-index:10;position:absolute}.monaco-editor .zone-widget .zone-widget-container{border-top-style:solid;border-top-width:0;border-bottom-style:solid;border-bottom-width:0;position:relative}.monaco-editor .iPadShowKeyboard{resize:none;background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MyIgaGVpZ2h0PSIzNiIgZmlsbD0ibm9uZSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBmaWxsPSIjNDI0MjQyIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OC4wMzYgNC4wMUg0LjAwOFYzMi4wM2g0NC4wMjh6TTQuMDA4LjAwOEE0LjAwMyA0LjAwMyAwIDAgMCAuMDA1IDQuMDFWMzIuMDNhNC4wMDMgNC4wMDMgMCAwIDAgNC4wMDMgNC4wMDJoNDQuMDI4YTQuMDAzIDQuMDAzIDAgMCAwIDQuMDAzLTQuMDAyVjQuMDFBNC4wMDMgNC4wMDMgMCAwIDAgNDguMDM2LjAwOHpNOC4wMSA4LjAxM2g0LjAwM3Y0LjAwM0g4LjAxem0xMi4wMDggMGgtNC4wMDJ2NC4wMDNoNC4wMDJ6bTQuMDAzIDBoNC4wMDJ2NC4wMDNoLTQuMDAyem0xMi4wMDggMGgtNC4wMDN2NC4wMDNoNC4wMDN6bTQuMDAyIDBoNC4wMDN2NC4wMDNINDAuMDN6bS0yNC4wMTUgOC4wMDVIOC4wMXY0LjAwM2g4LjAwNnptNC4wMDIgMGg0LjAwM3Y0LjAwM2gtNC4wMDN6bTEyLjAwOCAwaC00LjAwM3Y0LjAwM2g0LjAwM3ptMTIuMDA4IDB2NC4wMDNoLTguMDA1di00LjAwM3ptLTMyLjAyMSA4LjAwNUg4LjAxdjQuMDAzaDQuMDAzem00LjAwMyAwaDIwLjAxM3Y0LjAwM0gxNi4wMTZ6bTI4LjAxOCAwSDQwLjAzdjQuMDAzaDQuMDAzeiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGg1M3YzNkgweiIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==) 50% no-repeat;border:4px solid #f6f6f6;border-radius:4px;width:58px;min-width:0;height:36px;min-height:0;margin:0;padding:0;position:absolute;overflow:hidden}.monaco-editor.vs-dark .iPadShowKeyboard{background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MyIgaGVpZ2h0PSIzNiIgZmlsbD0ibm9uZSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBmaWxsPSIjQzVDNUM1IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OC4wMzYgNC4wMUg0LjAwOFYzMi4wM2g0NC4wMjh6TTQuMDA4LjAwOEE0LjAwMyA0LjAwMyAwIDAgMCAuMDA1IDQuMDFWMzIuMDNhNC4wMDMgNC4wMDMgMCAwIDAgNC4wMDMgNC4wMDJoNDQuMDI4YTQuMDAzIDQuMDAzIDAgMCAwIDQuMDAzLTQuMDAyVjQuMDFBNC4wMDMgNC4wMDMgMCAwIDAgNDguMDM2LjAwOHpNOC4wMSA4LjAxM2g0LjAwM3Y0LjAwM0g4LjAxem0xMi4wMDggMGgtNC4wMDJ2NC4wMDNoNC4wMDJ6bTQuMDAzIDBoNC4wMDJ2NC4wMDNoLTQuMDAyem0xMi4wMDggMGgtNC4wMDN2NC4wMDNoNC4wMDN6bTQuMDAyIDBoNC4wMDN2NC4wMDNINDAuMDN6bS0yNC4wMTUgOC4wMDVIOC4wMXY0LjAwM2g4LjAwNnptNC4wMDIgMGg0LjAwM3Y0LjAwM2gtNC4wMDN6bTEyLjAwOCAwaC00LjAwM3Y0LjAwM2g0LjAwM3ptMTIuMDA4IDB2NC4wMDNoLTguMDA1di00LjAwM3ptLTMyLjAyMSA4LjAwNUg4LjAxdjQuMDAzaDQuMDAzem00LjAwMyAwaDIwLjAxM3Y0LjAwM0gxNi4wMTZ6bTI4LjAxOCAwSDQwLjAzdjQuMDAzaDQuMDAzeiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGg1M3YzNkgweiIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==) 50% no-repeat;border:4px solid #252526}.monaco-editor .tokens-inspect-widget{background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);color:var(--vscode-editorHoverWidget-foreground);-webkit-user-select:text;user-select:text;z-index:50;padding:10px}.monaco-editor.hc-black .tokens-inspect-widget,.monaco-editor.hc-light .tokens-inspect-widget{border-width:2px}.monaco-editor .tokens-inspect-widget .tokens-inspect-separator{background-color:var(--vscode-editorHoverWidget-border);border:0;height:1px}.monaco-editor .tokens-inspect-widget .tm-token{font-family:var(--monaco-monospace-font)}.monaco-editor .tokens-inspect-widget .tm-token-length{float:right;font-size:60%;font-weight:400}.monaco-editor .tokens-inspect-widget .tm-metadata-table{width:100%}.monaco-editor .tokens-inspect-widget .tm-metadata-value{font-family:var(--monaco-monospace-font);text-align:right}.monaco-editor .tokens-inspect-widget .tm-token-type{font-family:var(--monaco-monospace-font)}.quick-input-widget{font-size:13px}.quick-input-widget .monaco-highlighted-label .highlight{color:#0066bf}.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight{color:#9dddff}.vs-dark .quick-input-widget .monaco-highlighted-label .highlight{color:#0097fb}.hc-black .quick-input-widget .monaco-highlighted-label .highlight{color:#f38518}.hc-light .quick-input-widget .monaco-highlighted-label .highlight{color:#0f4a85}.monaco-keybinding>.monaco-keybinding-key{color:#555;background-color:#dedede66;border:1px solid #ccc6;border-bottom-color:#bababa66;box-shadow:inset 0 -1px #bababa66}.hc-black .monaco-keybinding>.monaco-keybinding-key{box-shadow:none;color:#fff;background-color:#0000;border:1px solid #6fc3df}.hc-light .monaco-keybinding>.monaco-keybinding-key{box-shadow:none;color:#292929;background-color:#0000;border:1px solid #0f4a85}.vs-dark .monaco-keybinding>.monaco-keybinding-key{color:#ccc;background-color:#8080802b;border:1px solid #3339;border-bottom-color:#4449;box-shadow:inset 0 -1px #4449}.monaco-editor{--monaco-monospace-font:"SF Mono",Monaco,Menlo,Consolas,"Ubuntu Mono","Liberation Mono","DejaVu Sans Mono","Courier New",monospace;font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,system-ui,Ubuntu,Droid Sans,sans-serif}.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-hover p{margin:0}.monaco-aria-container{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);width:1px;height:1px;margin:-1px;padding:0;top:0;overflow:hidden;position:absolute!important}.monaco-diff-editor .synthetic-focus,.monaco-diff-editor [tabindex="-1"]:focus,.monaco-diff-editor [tabindex="0"]:focus,.monaco-diff-editor button:focus,.monaco-diff-editor input[type=button]:focus,.monaco-diff-editor input[type=checkbox]:focus,.monaco-diff-editor input[type=search]:focus,.monaco-diff-editor input[type=text]:focus,.monaco-diff-editor select:focus,.monaco-diff-editor textarea:focus,.monaco-editor{opacity:1;outline-color:var(--vscode-focusBorder);outline-offset:-1px;outline-width:1px;outline-style:solid}.action-widget{background-color:var(--vscode-editorActionList-background);box-shadow:0 2px 8px var(--vscode-widget-shadow);color:var(--vscode-editorActionList-foreground);z-index:40;border-radius:5px;width:100%;min-width:160px;max-width:80vw;padding:4px;font-size:13px;display:block;border:1px solid var(--vscode-editorWidget-border)!important}.context-view-block{z-index:-1}.context-view-block,.context-view-pointerBlock{cursor:auto;width:100%;height:100%;position:fixed;top:0;left:0}.context-view-pointerBlock{z-index:2}.action-widget .monaco-list{-webkit-user-select:none;user-select:none;border:0!important}.action-widget .monaco-list:focus:before{outline:0!important}.action-widget .monaco-list .monaco-scrollable-element{overflow:visible}.action-widget .monaco-list .monaco-list-row{cursor:pointer;touch-action:none;white-space:nowrap;border-radius:4px;width:100%;padding:0 10px}.action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled){color:var(--vscode-editorActionList-focusForeground);outline:1px solid var(--vscode-menu-selectionBorder,transparent);outline-offset:-1px;background-color:var(--vscode-editorActionList-focusBackground)!important}.action-widget .monaco-list-row.group-header{font-size:12px;font-weight:600;color:var(--vscode-descriptionForeground)!important}.action-widget .monaco-list-row.group-header:not(:first-of-type){margin-top:2px}.action-widget .monaco-list .group-header,.action-widget .monaco-list .option-disabled,.action-widget .monaco-list .option-disabled .focused,.action-widget .monaco-list .option-disabled .focused:before,.action-widget .monaco-list .option-disabled:before{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:default!important;background-color:#0000!important;outline:0 solid!important}.action-widget .monaco-list-row.action{align-items:center;gap:8px;display:flex}.action-widget .monaco-list-row.action.option-disabled,.action-widget .monaco-list-row.action.option-disabled .codicon,.action-widget .monaco-list:focus .monaco-list-row.focused.action.option-disabled,.action-widget .monaco-list:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused).option-disabled{color:var(--vscode-disabledForeground)}.action-widget .monaco-list-row.action:not(.option-disabled) .codicon{color:inherit}.action-widget .monaco-list-row.action .title{text-overflow:ellipsis;flex:1;overflow:hidden}.action-widget .monaco-list-row.action .monaco-keybinding>.monaco-keybinding-key{background-color:var(--vscode-keybindingLabel-background);border-color:var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow);color:var(--vscode-keybindingLabel-foreground);border-style:solid;border-width:1px;border-radius:3px}.action-widget .action-widget-action-bar{background-color:var(--vscode-editorActionList-background);border-top:1px solid var(--vscode-editorHoverWidget-border);margin-top:2px}.action-widget .action-widget-action-bar:before{content:"";width:100%;display:block}.action-widget .action-widget-action-bar .actions-container{padding:3px 8px 0}.action-widget-action-bar .action-label{color:var(--vscode-textLink-activeForeground);pointer-events:all;padding:0;font-size:12px;line-height:22px}.action-widget-action-bar .action-item{pointer-events:none;margin-right:16px}.action-widget-action-bar .action-label:hover{background-color:#0000!important}.monaco-action-bar .actions-container.highlight-toggled .action-label.checked{background:var(--vscode-actionBar-toggledBackground)!important}.monaco-action-bar .action-item.menu-entry .action-label.icon{background-position:50%;background-repeat:no-repeat;background-size:16px;width:16px;height:16px}.monaco-action-bar .action-item.menu-entry.text-only .action-label{color:var(--vscode-descriptionForeground);border-radius:2px;overflow:hidden}.monaco-action-bar .action-item.menu-entry.text-only.use-comma:not(:last-of-type) .action-label:after{content:", "}.monaco-action-bar .action-item.menu-entry.text-only+.action-item:not(.text-only)>.monaco-dropdown .action-label{color:var(--vscode-descriptionForeground)}.monaco-dropdown-with-default{border-radius:5px;flex-direction:row;display:flex!important}.monaco-dropdown-with-default>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label.icon{background-position:50%;background-repeat:no-repeat;background-size:16px;width:16px;height:16px}.monaco-dropdown-with-default:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{margin-left:-3px;padding-left:0;padding-right:0;font-size:12px;line-height:16px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{background-position:50%;background-repeat:no-repeat;background-size:16px;display:block}.monaco-link{color:var(--vscode-textLink-foreground)}.monaco-link:hover{color:var(--vscode-textLink-activeForeground)}.quick-input-widget{z-index:2550;-webkit-app-region:no-drag;border-radius:6px;width:600px;margin-left:-300px;position:absolute;left:50%}.quick-input-titlebar{border-top-left-radius:5px;border-top-right-radius:5px;align-items:center;display:flex}.quick-input-left-action-bar{flex:1;margin-left:4px;display:flex}.quick-input-inline-action-bar{margin:2px 0 0 5px}.quick-input-title{text-align:center;text-overflow:ellipsis;padding:3px 0;overflow:hidden}.quick-input-right-action-bar{flex:1;margin-right:4px;display:flex}.quick-input-right-action-bar>.actions-container{justify-content:flex-end}.quick-input-titlebar .monaco-action-bar .action-label.codicon{background-position:50%;background-repeat:no-repeat;padding:2px}.quick-input-description{margin:6px 6px 6px 11px}.quick-input-header .quick-input-description{flex:1;margin:4px 2px}.quick-input-header{padding:8px 6px 2px;display:flex}.quick-input-widget.hidden-input .quick-input-header{margin-bottom:0;padding:0}.quick-input-and-message{flex-direction:column;flex-grow:1;min-width:0;display:flex;position:relative}.quick-input-check-all{align-self:center;margin:0}.quick-input-filter{flex-grow:1;display:flex;position:relative}.quick-input-box{flex-grow:1}.quick-input-widget.show-checkboxes .quick-input-box,.quick-input-widget.show-checkboxes .quick-input-message{margin-left:5px}.quick-input-visible-count{position:absolute;left:-10000px}.quick-input-count{align-self:center;align-items:center;display:flex;position:absolute;right:4px}.quick-input-count .monaco-count-badge{vertical-align:middle;border-radius:2px;min-height:auto;padding:2px 4px;line-height:normal}.quick-input-action{margin-left:6px}.quick-input-action .monaco-text-button{align-items:center;height:25px;padding:0 6px;font-size:11px;display:flex}.quick-input-message{overflow-wrap:break-word;margin-top:-1px;padding:5px}.quick-input-message>.codicon{vertical-align:text-bottom;margin:0 .2em}.quick-input-message a{color:inherit}.quick-input-progress.monaco-progress-container{position:relative}.quick-input-list{line-height:22px}.quick-input-widget.hidden-input .quick-input-list{margin-top:4px;padding-bottom:4px}.quick-input-list .monaco-list{max-height:440px;padding-bottom:5px;overflow:hidden}.quick-input-list .monaco-scrollable-element{padding:0 5px}.quick-input-list .quick-input-list-entry{box-sizing:border-box;padding:0 6px;display:flex;overflow:hidden}.quick-input-list .quick-input-list-entry.quick-input-list-separator-border{border-top-style:solid;border-top-width:1px}.quick-input-list .monaco-list-row{border-radius:3px}.quick-input-list .monaco-list-row[data-index="0"] .quick-input-list-entry.quick-input-list-separator-border{border-top-style:none}.quick-input-list .quick-input-list-label{flex:1;height:100%;display:flex;overflow:hidden}.quick-input-list .quick-input-list-checkbox{align-self:center;margin:0}.quick-input-list .quick-input-list-icon{background-position:0;background-repeat:no-repeat;background-size:16px;justify-content:center;align-items:center;width:16px;height:22px;padding-right:6px;display:flex}.quick-input-list .quick-input-list-rows{text-overflow:ellipsis;flex-direction:column;flex:1;height:100%;margin-left:5px;display:flex;overflow:hidden}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows{margin-left:10px}.quick-input-widget .quick-input-list .quick-input-list-checkbox{display:none}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox{display:inline}.quick-input-list .quick-input-list-rows>.quick-input-list-row{align-items:center;display:flex}.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label,.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-list .quick-input-list-rows>.quick-input-list-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-list .quick-input-list-rows .monaco-highlighted-label>span{opacity:1}.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding{margin-right:8px}.quick-input-list .quick-input-list-label-meta{opacity:.7;text-overflow:ellipsis;line-height:normal;overflow:hidden}.quick-input-list .monaco-list .monaco-list-row .monaco-highlighted-label .highlight{background-color:unset;font-weight:700;color:var(--vscode-list-highlightForeground)!important}.quick-input-list .monaco-list .monaco-list-row.focused .monaco-highlighted-label .highlight{color:var(--vscode-list-focusHighlightForeground)!important}.quick-input-list .quick-input-list-entry .quick-input-list-separator{margin-right:4px}.quick-input-list .quick-input-list-entry-action-bar{flex:0;display:flex;overflow:visible}.quick-input-list .quick-input-list-entry-action-bar .action-label{display:none}.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon{margin-right:4px;padding:2px}.quick-input-list .quick-input-list-entry-action-bar{margin-top:1px;margin-right:4px}.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label,.quick-input-list .monaco-list-row.passive-focused .quick-input-list-entry-action-bar .action-label,.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,.quick-input-list .quick-input-list-entry.focus-inside .quick-input-list-entry-action-bar .action-label,.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label{display:flex}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator{color:inherit}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key{background:0 0}.quick-input-list .quick-input-list-separator-as-item{padding:4px 6px;font-size:12px}.quick-input-list .quick-input-list-separator-as-item .label-name{font-weight:600}.quick-input-list .quick-input-list-separator-as-item .label-description{opacity:1!important}.quick-input-list .monaco-tree-sticky-row .quick-input-list-entry.quick-input-list-separator-as-item.quick-input-list-separator-border{border-top-style:none}.quick-input-list .monaco-tree-sticky-row{padding:0 5px}.quick-input-list .monaco-tl-twistie{display:none!important}.extension-editor .codicon.codicon-error,.extensions-viewlet>.extensions .codicon.codicon-error,.markers-panel .marker-icon .codicon.codicon-error,.markers-panel .marker-icon.error,.monaco-editor .zone-widget .codicon.codicon-error,.preferences-editor .codicon.codicon-error,.text-search-provider-messages .providerMessage .codicon.codicon-error{color:var(--vscode-problemsErrorIcon-foreground)}.extension-editor .codicon.codicon-warning,.extensions-viewlet>.extensions .codicon.codicon-warning,.markers-panel .marker-icon .codicon.codicon-warning,.markers-panel .marker-icon.warning,.monaco-editor .zone-widget .codicon.codicon-warning,.preferences-editor .codicon.codicon-warning,.text-search-provider-messages .providerMessage .codicon.codicon-warning{color:var(--vscode-problemsWarningIcon-foreground)}.extension-editor .codicon.codicon-info,.extensions-viewlet>.extensions .codicon.codicon-info,.markers-panel .marker-icon .codicon.codicon-info,.markers-panel .marker-icon.info,.monaco-editor .zone-widget .codicon.codicon-info,.preferences-editor .codicon.codicon-info,.text-search-provider-messages .providerMessage .codicon.codicon-info{color:var(--vscode-problemsInfoIcon-foreground)}`,h=[];for(let e=0;e<256;++e)h.push((e+256).toString(16).slice(1));function g(e,t=0){return(h[e[t+0]]+h[e[t+1]]+h[e[t+2]]+h[e[t+3]]+`-`+h[e[t+4]]+h[e[t+5]]+`-`+h[e[t+6]]+h[e[t+7]]+`-`+h[e[t+8]]+h[e[t+9]]+`-`+h[e[t+10]]+h[e[t+11]]+h[e[t+12]]+h[e[t+13]]+h[e[t+14]]+h[e[t+15]]).toLowerCase()}var _,v=new Uint8Array(16);function y(){if(!_){if(typeof crypto>`u`||!crypto.getRandomValues)throw Error(`crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported`);_=crypto.getRandomValues.bind(crypto)}return _(v)}var b=typeof crypto<`u`&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),x={randomUUID:b};function S(e,t,n){e||={};let r=e.random??e.rng?.()??y();if(r.length<16)throw Error(`Random bytes length must be >= 16`);if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){if(n||=0,n<0||n+16>t.length)throw RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[n+e]=r[e];return t}return g(r)}function C(e,t,n){return x.randomUUID&&!t&&!e?x.randomUUID():S(e,t,n)}var w=C;const T=e=>{let[t,n]=(0,r.useState)(e.defaultCollections??[]),i=(0,r.useCallback)(r=>{let i={...r,id:w(),createdAt:new Date().toISOString(),operations:[]},a=[...t,i];n(a),e.onCollectionsChange?.(a),e.onCollectionCreate?.(i)},[t,e]),a=(0,r.useCallback)((r,i)=>{let a={...i,createdAt:new Date().toISOString()},o=t.map(e=>e.id===r?{...e,operations:[...e.operations,a]}:e);n(o),e.onCollectionsChange?.(o);let s=o.find(e=>e.id===r);s&&(e.onCollectionUpdate?.(s),e.onCollectionOperationCreate?.(s,a))},[t,e]),o=(0,r.useCallback)(r=>{let i=t.find(e=>e.id===r),a=t.filter(e=>e.id!==r);n(a),e.onCollectionsChange?.(a),i&&e.onCollectionDelete?.(i)},[t,e]),s=(0,r.useCallback)((r,i)=>{let a,o=t.map(e=>e.id===r?{...e,operations:e.operations.filter(e=>e.id===i?(a=e,!1):!0)}:e);n(o),e.onCollectionsChange?.(o);let s=o.find(e=>e.id===r);s&&(e.onCollectionUpdate?.(s),a&&e.onCollectionOperationDelete?.(s,a))},[t,e]),c=(0,r.useCallback)((r,i)=>{let a=t.map(e=>e.id===r?{...e,...i}:e);n(a),e.onCollectionsChange?.(a);let o=a.find(e=>e.id===r);o&&e.onCollectionUpdate?.(o)},[t,e]),l=(0,r.useCallback)((r,i,a)=>{let o,s=t.map(e=>e.id===r?{...e,operations:e.operations.map(e=>e.id===i?(o={...e,...a},o):e)}:e);n(s),e.onCollectionsChange?.(s);let c=s.find(e=>e.id===r);c&&(e.onCollectionUpdate?.(c),o&&e.onCollectionOperationUpdate?.(c,o))},[t,e]);return{collections:t,addCollection:i,addOperationToCollection:a,deleteCollection:o,deleteOperationFromCollection:s,updateCollection:c,updateOperationInCollection:l}};function E(e){let t={descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,oneOf:!1,...e},n=t.descriptions?`description`:``,r=t.specifiedByUrl?`specifiedByURL`:``,i=t.directiveIsRepeatable?`isRepeatable`:``,a=t.schemaDescription?n:``;function o(e){return t.inputValueDeprecation?e:``}let s=t.oneOf?`isOneOf`:``;return`
query IntrospectionQuery {
__schema {
${a}
queryType { name kind }
mutationType { name kind }
subscriptionType { name kind }
types {
...FullType
}
directives {
name
${n}
${i}
locations
args${o(`(includeDeprecated: true)`)} {
...InputValue
}
}
}
}
fragment FullType on __Type {
kind
name
${n}
${r}
${s}
fields(includeDeprecated: true) {
name
${n}
args${o(`(includeDeprecated: true)`)} {
...InputValue
}
type {
...TypeRef
}
isDeprecated
deprecationReason
}
inputFields${o(`(includeDeprecated: true)`)} {
...InputValue
}
interfaces {
...TypeRef
}
enumValues(includeDeprecated: true) {
name
${n}
isDeprecated
deprecationReason
}
possibleTypes {
...TypeRef
}
}
fragment InputValue on __InputValue {
name
${n}
type { ...TypeRef }
defaultValue
${o(`isDeprecated`)}
${o(`deprecationReason`)}
}
fragment TypeRef on __Type {
kind
name
ofType {
kind
name
ofType {
kind
name
ofType {
kind
name
ofType {
kind
name
ofType {
kind
name
ofType {
kind
name
ofType {
kind
name
ofType {
kind
name
ofType {
kind
name
}
}
}
}
}
}
}
}
}
}
`}function D(e,n){t.isObjectLike(e)&&t.isObjectLike(e.__schema)||t.devAssert(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${t.inspect(e)}.`);let r=e.__schema,i=t.keyValMap(r.types,e=>e.name,e=>p(e));for(let e of[...t.specifiedScalarTypes,...t.introspectionTypes])i[e.name]&&(i[e.name]=e);let a=r.queryType?d(r.queryType):null,o=r.mutationType?d(r.mutationType):null,s=r.subscriptionType?d(r.subscriptionType):null,c=r.directives?r.directives.map(T):[];return new t.GraphQLSchema({description:r.description,query:a,mutation:o,subscription:s,types:Object.values(i),directives:c,assumeValid:n?.assumeValid});function l(e){if(e.kind===t.TypeKind.LIST){let n=e.ofType;if(!n)throw Error(`Decorated type deeper than introspection query.`);return new t.GraphQLList(l(n))}if(e.kind===t.TypeKind.NON_NULL){let n=e.ofType;if(!n)throw Error(`Decorated type deeper than introspection query.`);let r=l(n);return new t.GraphQLNonNull(t.assertNullableType(r))}return u(e)}function u(e){let n=e.name;if(!n)throw Error(`Unknown type reference: ${t.inspect(e)}.`);let r=i[n];if(!r)throw Error(`Invalid or incomplete schema, unknown type: ${n}. Ensure that a full introspection query is used in order to build a client schema.`);return r}function d(e){return t.assertObjectType(u(e))}function f(e){return t.assertInterfaceType(u(e))}function p(e){if(e!=null&&e.name!=null&&e.kind!=null)switch(e.kind){case t.TypeKind.SCALAR:return m(e);case t.TypeKind.OBJECT:return g(e);case t.TypeKind.INTERFACE:return _(e);case t.TypeKind.UNION:return v(e);case t.TypeKind.ENUM:return y(e);case t.TypeKind.INPUT_OBJECT:return b(e)}let n=t.inspect(e);throw Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${n}.`)}function m(e){return new t.GraphQLScalarType({name:e.name,description:e.description,specifiedByURL:e.specifiedByURL})}function h(e){if(e.interfaces===null&&e.kind===t.TypeKind.INTERFACE)return[];if(!e.interfaces){let n=t.inspect(e);throw Error(`Introspection result missing interfaces: ${n}.`)}return e.interfaces.map(f)}function g(e){return new t.GraphQLObjectType({name:e.name,description:e.description,interfaces:()=>h(e),fields:()=>x(e)})}function _(e){return new t.GraphQLInterfaceType({name:e.name,description:e.description,interfaces:()=>h(e),fields:()=>x(e)})}function v(e){if(!e.possibleTypes){let n=t.inspect(e);throw Error(`Introspection result missing possibleTypes: ${n}.`)}return new t.GraphQLUnionType({name:e.name,description:e.description,types:()=>e.possibleTypes.map(d)})}function y(e){if(!e.enumValues){let n=t.inspect(e);throw Error(`Introspection result missing enumValues: ${n}.`)}return new t.GraphQLEnumType({name:e.name,description:e.description,values:t.keyValMap(e.enumValues,e=>e.name,e=>({description:e.description,deprecationReason:e.deprecationReason}))})}function b(e){if(!e.inputFields){let n=t.inspect(e);throw Error(`Introspection result missing inputFields: ${n}.`)}return new t.GraphQLInputObjectType({name:e.name,description:e.description,fields:()=>C(e.inputFields),isOneOf:e.isOneOf})}function x(e){if(!e.fields)throw Error(`Introspection result missing fields: ${t.inspect(e)}.`);return t.keyValMap(e.fields,e=>e.name,S)}function S(e){let n=l(e.type);if(!t.isOutputType(n)){let e=t.inspect(n);throw Error(`Introspection must provide output type for fields, but received: ${e}.`)}if(!e.args){let n=t.inspect(e);throw Error(`Introspection result missing field args: ${n}.`)}return{description:e.description,deprecationReason:e.deprecationReason,type:n,args:C(e.args)}}function C(e){return t.keyValMap(e,e=>e.name,w)}function w(e){let n=l(e.type);if(!t.isInputType(n)){let e=t.inspect(n);throw Error(`Introspection must provide input type for arguments, but received: ${e}.`)}let r=e.defaultValue==null?void 0:t.valueFromAST(t.parseValue(e.defaultValue),n);return{description:e.description,type:n,defaultValue:r,deprecationReason:e.deprecationReason}}function T(e){if(!e.args){let n=t.inspect(e);throw Error(`Introspection result missing directive args: ${n}.`)}if(!e.locations){let n=t.inspect(e);throw Error(`Introspection result missing directive locations: ${n}.`)}return new t.GraphQLDirective({name:e.name,description:e.description,isRepeatable:e.isRepeatable,locations:e.locations.slice(),args:C(e.args)})}}function O(e){if(!e||typeof document>`u`)return;let t=document.head||document.getElementsByTagName(`head`)[0],n=document.createElement(`style`);n.type=`text/css`,t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}var k=e=>{switch(e){case`success`:return M;case`info`:return P;case`warning`:return N;case`error`:return F;default:return null}},A=Array(12).fill(0),j=({visible:e,className:t})=>r.default.createElement(`div`,{className:[`sonner-loading-wrapper`,t].filter(Boolean).join(` `),"data-visible":e},r.default.createElement(`div`,{className:`sonner-spinner`},A.map((e,t)=>r.default.createElement(`div`,{className:`sonner-loading-bar`,key:`spinner-bar-${t}`})))),M=r.default.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},r.default.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`})),N=r.default.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,height:`20`,width:`20`},r.default.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`})),P=r.default.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},r.default.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`})),F=r.default.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},r.default.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`})),I=r.default.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`},r.default.createElement(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),r.default.createElement(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})),L=()=>{let[e,t]=r.default.useState(document.hidden);return r.default.useEffect(()=>{let e=()=>{t(document.hidden)};return document.addEventListener(`visibilitychange`,e),()=>window.removeEventListener(`visibilitychange`,e)},[]),e},ee=1,te=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=>{let{message:t,...n}=e,r=typeof e?.id==`number`||e.id?.length>0?e.id:ee++,i=this.toasts.find(e=>e.id===r),a=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),i?this.toasts=this.toasts.map(n=>n.id===r?(this.publish({...n,...e,id:r,title:t}),{...n,...e,id:r,dismissible:a,title:t}):n):this.addToast({title:t,...n,dismissible:a,id:r}),r},this.dismiss=e=>(e?(this.dismissedToasts.add(e),requestAnimationFrame(()=>this.subscribers.forEach(t=>t({id:e,dismiss:!0})))):this.toasts.forEach(e=>{this.subscribers.forEach(t=>t({id:e.id,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`?void 0:t.description}));let i=Promise.resolve(e instanceof Function?e():e),a=n!==void 0,o,s=i.then(async e=>{if(o=[`resolve`,e],r.default.isValidElement(e))a=!1,this.create({id:n,type:`default`,message:e});else if(re(e)&&!e.ok){a=!1;let i=typeof t.error==`function`?await t.error(`HTTP error! status: ${e.status}`):t.error,o=typeof t.description==`function`?await t.description(`HTTP error! status: ${e.status}`):t.description,s=typeof i==`object`&&!r.default.isValidElement(i)?i:{message:i};this.create({id:n,type:`error`,description:o,...s})}else if(e instanceof Error){a=!1;let i=typeof t.error==`function`?await t.error(e):t.error,o=typeof t.description==`function`?await t.description(e):t.description,s=typeof i==`object`&&!r.default.isValidElement(i)?i:{message:i};this.create({id:n,type:`error`,description:o,...s})}else if(t.success!==void 0){a=!1;let i=typeof t.success==`function`?await t.success(e):t.success,o=typeof t.description==`function`?await t.description(e):t.description,s=typeof i==`object`&&!r.default.isValidElement(i)?i:{message:i};this.create({id:n,type:`success`,description:o,...s})}}).catch(async e=>{if(o=[`reject`,e],t.error!==void 0){a=!1;let i=typeof t.error==`function`?await t.error(e):t.error,o=typeof t.description==`function`?await t.description(e):t.description,s=typeof i==`object`&&!r.default.isValidElement(i)?i:{message:i};this.create({id:n,type:`error`,description:o,...s})}}).finally(()=>{a&&(this.dismiss(n),n=void 0),t.finally==null||t.finally.call(t)}),c=()=>new Promise((e,t)=>s.then(()=>o[0]===`reject`?t(o[1]):e(o[1])).catch(t));return typeof n!=`string`&&typeof n!=`number`?{unwrap:c}:Object.assign(n,{unwrap:c})},this.custom=(e,t)=>{let n=t?.id||ee++;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}},R=new te,ne=(e,t)=>{let n=t?.id||ee++;return R.addToast({title:e,...t,id:n}),n},re=e=>e&&typeof e==`object`&&`ok`in e&&typeof e.ok==`boolean`&&`status`in e&&typeof e.status==`number`,ie=ne,ae=()=>R.toasts,oe=()=>R.getActiveToasts(),se=Object.assign(ie,{success:R.success,info:R.info,warning:R.warning,error:R.error,custom:R.custom,message:R.message,promise:R.promise,dismiss:R.dismiss,loading:R.loading},{getHistory:ae,getToasts:oe});O(`[data-sonner-toaster][dir=ltr],html[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%)}[data-sonner-toaster][dir=rtl],html[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%)}[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:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[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);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[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 rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [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)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [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;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [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);background:var(--normal-bg);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-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[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}[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}[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,0)) translateX(var(--swipe-amount-x,0));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{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{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{from{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-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--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-sonner-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-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-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, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--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-sonner-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-sonner-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]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[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]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[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]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[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]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[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:first-child{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)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{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 ce(e){return e.label!==void 0}var le=3,ue=`24px`,de=`16px`,fe=4e3,pe=356,me=14,he=45,ge=200;function _e(...e){return e.filter(Boolean).join(` `)}function ve(e){let[t,n]=e.split(`-`),r=[];return t&&r.push(t),n&&r.push(n),r}var ye=e=>{let{invert:t,toast:n,unstyled:i,interacting:a,setHeights:o,visibleToasts:s,heights:c,index:l,toasts:u,expanded:d,removeToast:f,defaultRichColors:p,closeButton:m,style:h,cancelButtonStyle:g,actionButtonStyle:_,className:v=``,descriptionClassName:y=``,duration:b,position:x,gap:S,expandByDefault:C,classNames:w,icons:T,closeButtonAriaLabel:E=`Close toast`}=e,[D,O]=r.default.useState(null),[A,M]=r.default.useState(null),[N,P]=r.default.useState(!1),[F,ee]=r.default.useState(!1),[te,R]=r.default.useState(!1),[ne,re]=r.default.useState(!1),[ie,ae]=r.default.useState(!1),[oe,se]=r.default.useState(0),[le,ue]=r.default.useState(0),de=r.default.useRef(n.duration||b||fe),pe=r.default.useRef(null),me=r.default.useRef(null),ye=l===0,be=l+1<=s,xe=n.type,Se=n.dismissible!==!1,Ce=n.className||``,we=n.descriptionClassName||``,Te=r.default.useMemo(()=>c.findIndex(e=>e.toastId===n.id)||0,[c,n.id]),Ee=r.default.useMemo(()=>n.closeButton??m,[n.closeButton,m]),De=r.default.useMemo(()=>n.duration||b||fe,[n.duration,b]),Oe=r.default.useRef(0),ke=r.default.useRef(0),Ae=r.default.useRef(0),je=r.default.useRef(null),[Me,Ne]=x.split(`-`),Pe=r.default.useMemo(()=>c.reduce((e,t,n)=>n>=Te?e:e+t.height,0),[c,Te]),Fe=L(),Ie=n.invert||t,Le=xe===`loading`;ke.current=r.default.useMemo(()=>Te*S+Pe,[Te,Pe]),r.default.useEffect(()=>{de.current=De},[De]),r.default.useEffect(()=>{P(!0)},[]),r.default.useEffect(()=>{let e=me.current;if(e){let t=e.getBoundingClientRect().height;return ue(t),o(e=>[{toastId:n.id,height:t,position:n.position},...e]),()=>o(e=>e.filter(e=>e.toastId!==n.id))}},[o,n.id]),r.default.useLayoutEffect(()=>{if(!N)return;let e=me.current,t=e.style.height;e.style.height=`auto`;let r=e.getBoundingClientRect().height;e.style.height=t,ue(r),o(e=>e.find(e=>e.toastId===n.id)?e.map(e=>e.toastId===n.id?{...e,height:r}:e):[{toastId:n.id,height:r,position:n.position},...e])},[N,n.title,n.description,o,n.id,n.jsx,n.action,n.cancel]);let Re=r.default.useCallback(()=>{ee(!0),se(ke.current),o(e=>e.filter(e=>e.toastId!==n.id)),setTimeout(()=>{f(n)},ge)},[n,f,o,ke]);r.default.useEffect(()=>{if(n.promise&&xe===`loading`||n.duration===1/0||n.type===`loading`)return;let e;return d||a||Fe?(()=>{if(Ae.current<Oe.current){let e=new Date().getTime()-Oe.current;de.current-=e}Ae.current=new Date().getTime()})():de.current!==1/0&&(Oe.current=new Date().getTime(),e=setTimeout(()=>{n.onAutoClose==null||n.onAutoClose.call(n,n),Re()},de.current)),()=>clearTimeout(e)},[d,a,n,xe,Fe,Re]),r.default.useEffect(()=>{n.delete&&(Re(),n.onDismiss==null||n.onDismiss.call(n,n))},[Re,n.delete]);function ze(){return T?.loading?r.default.createElement(`div`,{className:_e(w?.loader,n?.classNames?.loader,`sonner-loader`),"data-visible":xe===`loading`},T.loading):r.default.createElement(j,{className:_e(w?.loader,n?.classNames?.loader),visible:xe===`loading`})}let Be=n.icon||T?.[xe]||k(xe);return r.default.createElement(`li`,{tabIndex:0,ref:me,className:_e(v,Ce,w?.toast,n?.classNames?.toast,w?.default,w?.[xe],n?.classNames?.[xe]),"data-sonner-toast":``,"data-rich-colors":n.richColors??p,"data-styled":!(n.jsx||n.unstyled||i),"data-mounted":N,"data-promise":!!n.promise,"data-swiped":ie,"data-removed":F,"data-visible":be,"data-y-position":Me,"data-x-position":Ne,"data-index":l,"data-front":ye,"data-swiping":te,"data-dismissible":Se,"data-type":xe,"data-invert":Ie,"data-swipe-out":ne,"data-swipe-direction":A,"data-expanded":!!(d||C&&N),"data-testid":n.testId,style:{"--index":l,"--toasts-before":l,"--z-index":u.length-l,"--offset":`${F?oe:ke.current}px`,"--initial-height":C?`auto`:`${le}px`,...h,...n.style},onDragEnd:()=>{R(!1),O(null),je.current=null},onPointerDown:e=>{e.button!==2&&(Le||!Se||(pe.current=new Date,se(ke.current),e.target.setPointerCapture(e.pointerId),e.target.tagName!==`BUTTON`&&(R(!0),je.current={x:e.clientX,y:e.clientY})))},onPointerUp:()=>{if(ne||!Se)return;je.current=null;let e=Number(me.current?.style.getPropertyValue(`--swipe-amount-x`).replace(`px`,``)||0),t=Number(me.current?.style.getPropertyValue(`--swipe-amount-y`).replace(`px`,``)||0),r=new Date().getTime()-pe.current?.getTime(),i=D===`x`?e:t,a=Math.abs(i)/r;if(Math.abs(i)>=he||a>.11){se(ke.current),n.onDismiss==null||n.onDismiss.call(n,n),M(D===`x`?e>0?`right`:`left`:t>0?`down`:`up`),Re(),re(!0);return}else{var o,s;(o=me.current)==null||o.style.setProperty(`--swipe-amount-x`,`0px`),(s=me.current)==null||s.style.setProperty(`--swipe-amount-y`,`0px`)}ae(!1),R(!1),O(null)},onPointerMove:t=>{var n,r;if(!je.current||!Se||window.getSelection()?.toString().length>0)return;let i=t.clientY-je.current.y,a=t.clientX-je.current.x,o=e.swipeDirections??ve(x);!D&&(Math.abs(a)>1||Math.abs(i)>1)&&O(Math.abs(a)>Math.abs(i)?`x`:`y`);let s={x:0,y:0},c=e=>1/(1.5+Math.abs(e)/20);if(D===`y`){if(o.includes(`top`)||o.includes(`bottom`))if(o.includes(`top`)&&i<0||o.includes(`bottom`)&&i>0)s.y=i;else{let e=i*c(i);s.y=Math.abs(e)<Math.abs(i)?e:i}}else if(D===`x`&&(o.includes(`left`)||o.includes(`right`)))if(o.includes(`left`)&&a<0||o.includes(`right`)&&a>0)s.x=a;else{let e=a*c(a);s.x=Math.abs(e)<Math.abs(a)?e:a}(Math.abs(s.x)>0||Math.abs(s.y)>0)&&ae(!0),(n=me.current)==null||n.style.setProperty(`--swipe-amount-x`,`${s.x}px`),(r=me.current)==null||r.style.setProperty(`--swipe-amount-y`,`${s.y}px`)}},Ee&&!n.jsx&&xe!==`loading`?r.default.createElement(`button`,{"aria-label":E,"data-disabled":Le,"data-close-button":!0,onClick:Le||!Se?()=>{}:()=>{Re(),n.onDismiss==null||n.onDismiss.call(n,n)},className:_e(w?.closeButton,n?.classNames?.closeButton)},T?.close??I):null,(xe||n.icon||n.promise)&&n.icon!==null&&(T?.[xe]!==null||n.icon)?r.default.createElement(`div`,{"data-icon":``,className:_e(w?.icon,n?.classNames?.icon)},n.promise||n.type===`loading`&&!n.icon?n.icon||ze():null,n.type===`loading`?null:Be):null,r.default.createElement(`div`,{"data-content":``,className:_e(w?.content,n?.classNames?.content)},r.default.createElement(`div`,{"data-title":``,className:_e(w?.title,n?.classNames?.title)},n.jsx?n.jsx:typeof n.title==`function`?n.title():n.title),n.description?r.default.createElement(`div`,{"data-description":``,className:_e(y,we,w?.description,n?.classNames?.description)},typeof n.description==`function`?n.description():n.description):null),r.default.isValidElement(n.cancel)?n.cancel:n.cancel&&ce(n.cancel)?r.default.createElement(`button`,{"data-button":!0,"data-cancel":!0,style:n.cancelButtonStyle||g,onClick:e=>{ce(n.cancel)&&Se&&(n.cancel.onClick==null||n.cancel.onClick.call(n.cancel,e),Re())},className:_e(w?.cancelButton,n?.classNames?.cancelButton)},n.cancel.label):null,r.default.isValidElement(n.action)?n.action:n.action&&ce(n.action)?r.default.createElement(`button`,{"data-button":!0,"data-action":!0,style:n.actionButtonStyle||_,onClick:e=>{ce(n.action)&&(n.action.onClick==null||n.action.onClick.call(n.action,e),!e.defaultPrevented&&Re())},className:_e(w?.actionButton,n?.classNames?.actionButton)},n.action.label):null)};function be(){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 xe(e,t){let n={};return[e,t].forEach((e,t)=>{let r=t===1,i=r?`--mobile-offset`:`--offset`,a=r?de:ue;function o(e){[`top`,`right`,`bottom`,`left`].forEach(t=>{n[`${i}-${t}`]=typeof e==`number`?`${e}px`:e})}typeof e==`number`||typeof e==`string`?o(e):typeof e==`object`?[`top`,`right`,`bottom`,`left`].forEach(t=>{e[t]===void 0?n[`${i}-${t}`]=a:n[`${i}-${t}`]=typeof e[t]==`number`?`${e[t]}px`:e[t]}):o(a)}),n}var Se=r.default.forwardRef(function(e,t){let{id:n,invert:a,position:o=`bottom-right`,hotkey:s=[`altKey`,`KeyT`],expand:c,closeButton:l,className:u,offset:d,mobileOffset:f,theme:p=`light`,richColors:m,duration:h,style:g,visibleToasts:_=le,toastOptions:v,dir:y=be(),gap:b=me,icons:x,containerAriaLabel:S=`Notifications`}=e,[C,w]=r.default.useState([]),T=r.default.useMemo(()=>n?C.filter(e=>e.toasterId===n):C.filter(e=>!e.toasterId),[C,n]),E=r.default.useMemo(()=>Array.from(new Set([o].concat(T.filter(e=>e.position).map(e=>e.position)))),[T,o]),[D,O]=r.default.useState([]),[k,A]=r.default.useState(!1),[j,M]=r.default.useState(!1),[N,P]=r.default.useState(p===`system`?typeof window<`u`&&window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:p),F=r.default.useRef(null),I=s.join(`+`).replace(/Key/g,``).replace(/Digit/g,``),L=r.default.useRef(null),ee=r.default.useRef(!1),te=r.default.useCallback(e=>{w(t=>(t.find(t=>t.id===e.id)?.delete||R.dismiss(e.id),t.filter(({id:t})=>t!==e.id)))},[]);return r.default.useEffect(()=>R.subscribe(e=>{if(e.dismiss){requestAnimationFrame(()=>{w(t=>t.map(t=>t.id===e.id?{...t,delete:!0}:t))});return}setTimeout(()=>{i.default.flushSync(()=>{w(t=>{let n=t.findIndex(t=>t.id===e.id);return n===-1?[e,...t]:[...t.slice(0,n),{...t[n],...e},...t.slice(n+1)]})})})}),[C]),r.default.useEffect(()=>{if(p!==`system`){P(p);return}if(p===`system`&&(window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?P(`dark`):P(`light`)),typeof window>`u`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`);try{e.addEventListener(`change`,({matches:e})=>{P(e?`dark`:`light`)})}catch{e.addListener(({matches:e})=>{try{P(e?`dark`:`light`)}catch(e){console.error(e)}})}},[p]),r.default.useEffect(()=>{C.length<=1&&A(!1)},[C]),r.default.useEffect(()=>{let e=e=>{if(s.every(t=>e[t]||e.code===t)){var t;A(!0),(t=F.current)==null||t.focus()}e.code===`Escape`&&(document.activeElement===F.current||F.current?.contains(document.activeElement))&&A(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[s]),r.default.useEffect(()=>{if(F.current)return()=>{L.current&&(L.current.focus({preventScroll:!0}),L.current=null,ee.current=!1)}},[F.current]),r.default.createElement(`section`,{ref:t,"aria-label":`${S} ${I}`,tabIndex:-1,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-atomic":`false`,suppressHydrationWarning:!0},E.map((t,n)=>{let[i,o]=t.split(`-`);return T.length?r.default.createElement(`ol`,{key:t,dir:y===`auto`?be():y,tabIndex:-1,ref:F,className:u,"data-sonner-toaster":!0,"data-sonner-theme":N,"data-y-position":i,"data-x-position":o,style:{"--front-toast-height":`${D[0]?.height||0}px`,"--width":`${pe}px`,"--gap":`${b}px`,...g,...xe(d,f)},onBlur:e=>{ee.current&&!e.currentTarget.contains(e.relatedTarget)&&(ee.current=!1,L.current&&=(L.current.focus({preventScroll:!0}),null))},onFocus:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||ee.current||(ee.current=!0,L.current=e.relatedTarget)},onMouseEnter:()=>A(!0),onMouseMove:()=>A(!0),onMouseLeave:()=>{j||A(!1)},onDragEnd:()=>A(!1),onPointerDown:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||M(!0)},onPointerUp:()=>M(!1)},T.filter(e=>!e.position&&n===0||e.position===t).map((n,i)=>r.default.createElement(ye,{key:n.id,icons:x,index:i,toast:n,defaultRichColors:m,duration:v?.duration??h,className:v?.className,descriptionClassName:v?.descriptionClassName,invert:a,visibleToasts:_,closeButton:v?.closeButton??l,interacting:j,position:t,style:v?.style,unstyled:v?.unstyled,classNames:v?.classNames,cancelButtonStyle:v?.cancelButtonStyle,actionButtonStyle:v?.actionButtonStyle,closeButtonAriaLabel:v?.closeButtonAriaLabel,removeToast:te,toasts:T.filter(e=>e.position==n.position),heights:D.filter(e=>e.position==n.position),setHeights:O,expandByDefault:c,gap:b,expanded:k,swipeDirections:e.swipeDirections}))):null}))});const Ce=e=>{let[t,n]=(0,r.useState)(e.defaultEndpoint??null),[i,a]=(0,r.useState)(null),o=(0,r.useCallback)(t=>{n(t),e.onEndpointChange?.(t)},[e]),s=(0,r.useMemo)(()=>i?D(i):null,[i]),c=(0,r.useCallback)(async()=>{if(t===e.defaultEndpoint&&e.defaultSchemaIntrospection){a(e.defaultSchemaIntrospection);return}if(!t){a(null);return}try{let e=await fetch(t,{method:`POST`,body:JSON.stringify({query:E()}),headers:{"Content-Type":`application/json`}}).then(e=>e.json());a(e.data)}catch{se.error(`Failed to fetch schema`),a(null);return}},[t]),l=(0,r.useCallback)(()=>{e.defaultEndpoint&&o(e.defaultEndpoint)},[e.defaultEndpoint]);return(0,r.useEffect)(()=>{t&&c()},[t,c]),{endpoint:t,setEndpoint:o,schema:s,introspection:i,fetchSchema:c,restoreDefaultEndpoint:l,defaultEndpoint:e.defaultEndpoint??null}},we=e=>{let[t,n]=(0,r.useState)(e.defaultEnv??{variables:{}}),i=(0,r.useCallback)(t=>{n(t),e.onEnvChange?.(t)},[e]);return{env:t,setEnv:i}},Te=e=>{let[t,n]=(0,r.useState)(e.defaultHistory??[]),i=(0,r.useRef)(t);(0,r.useEffect)(()=>{i.current=t},[t]);let a=(0,r.useCallback)(r=>{let i={...r,id:w()},a=[...t,i];return n(a),e.onHistoryChange?.(a),e.onHistoryCreate?.(i),i},[t,e]),o=(0,r.useCallback)((t,r)=>{let a=i.current.find(e=>e.id===t);if(a&&`responses`in a){let o=[...a.responses,{createdAt:new Date().toISOString(),data:r}],s={...a,responses:o},c=i.current.map(e=>e.id===t?s:e);n(c),e.onHistoryChange?.(c),e.onHistoryUpdate?.(s)}},[e]),s=(0,r.useCallback)(t=>{let r=i.current.find(e=>e.id===t),a=i.current.filter(e=>e.id!==t);n(a),e.onHistoryChange?.(a),r&&e.onHistoryDelete?.(r)},[e]),l=(0,r.useCallback)(()=>{let t=[...i.current];if(n([]),e.onHistoryChange?.([]),e.onHistoryDelete)for(let n of t)e.onHistoryDelete(n)},[e]),u=(0,r.useCallback)(t=>{let r=i.current.filter(e=>(0,c.format)(new Date(e.createdAt),`dd MMM yyyy`)===t),a=i.current.filter(e=>(0,c.format)(new Date(e.createdAt),`dd MMM yyyy`)!==t);if(n(a),e.onHistoryChange?.(a),e.onHistoryDelete)for(let t of r)e.onHistoryDelete(t)},[e]);return{history:t,addHistory:a,addResponseToHistory:o,deleteHistory:s,deleteAllHistory:l,deleteHistoryByDay:u}};var Ee=e.__commonJSMin(((e,t)=>{(function(){var n,r=`4.17.23`,i=200,a=`Unsupported core-js use. Try https://npms.io/search?q=ponyfill.`,o=`Expected a function`,s="Invalid `variable` option passed into `_.template`",c=`__lodash_hash_undefined__`,l=500,u=`__lodash_placeholder__`,d=1,f=2,p=4,m=1,h=2,g=1,_=2,v=4,y=8,b=16,x=32,S=64,C=128,w=256,T=512,E=30,D=`...`,O=800,k=16,A=1,j=2,M=3,N=1/0,P=9007199254740991,F=17976931348623157e292,I=NaN,L=4294967295,ee=L-1,te=L>>>1,R=[[`ary`,C],[`bind`,g],[`bindKey`,_],[`curry`,y],[`curryRight`,b],[`flip`,T],[`partial`,x],[`partialRight`,S],[`rearg`,w]],ne=`[object Arguments]`,re=`[object Array]`,ie=`[object AsyncFunction]`,ae=`[object Boolean]`,oe=`[object Date]`,se=`[object DOMException]`,ce=`[object Error]`,le=`[object Function]`,ue=`[object GeneratorFunction]`,de=`[object Map]`,fe=`[object Number]`,pe=`[object Null]`,me=`[object Object]`,he=`[object Promise]`,ge=`[object Proxy]`,_e=`[object RegExp]`,ve=`[object Set]`,ye=`[object String]`,be=`[object Symbol]`,xe=`[object Undefined]`,Se=`[object WeakMap]`,Ce=`[object WeakSet]`,we=`[object ArrayBuffer]`,Te=`[object DataView]`,Ee=`[object Float32Array]`,De=`[object Float64Array]`,Oe=`[object Int8Array]`,ke=`[object Int16Array]`,Ae=`[object Int32Array]`,je=`[object Uint8Array]`,Me=`[object Uint8ClampedArray]`,Ne=`[object Uint16Array]`,Pe=`[object Uint32Array]`,Fe=/\b__p \+= '';/g,Ie=/\b(__p \+=) '' \+/g,Le=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Re=/&(?:amp|lt|gt|quot|#39);/g,ze=/[&<>"']/g,Be=RegExp(Re.source),Ve=RegExp(ze.source),He=/<%-([\s\S]+?)%>/g,Ue=/<%([\s\S]+?)%>/g,We=/<%=([\s\S]+?)%>/g,Ge=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ke=/^\w*$/,qe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Je=/[\\^$.*+?()[\]{}|]/g,Ye=RegExp(Je.source),Xe=/^\s+/,Ze=/\s/,Qe=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,$e=/\{\n\/\* \[wrapped with (.+)\] \*/,et=/,? & /,tt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,nt=/[()=,{}\[\]\/\s]/,rt=/\\(\\)?/g,it=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,at=/\w*$/,ot=/^[-+]0x[0-9a-f]+$/i,st=/^0b[01]+$/i,ct=/^\[object .+?Constructor\]$/,lt=/^0o[0-7]+$/i,ut=/^(?:0|[1-9]\d*)$/,dt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ft=/($^)/,pt=/['\n\r\u2028\u2029\\]/g,mt=`\\ud800-\\udfff`,ht=`\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff`,gt=`\\u2700-\\u27bf`,_t=`a-z\\xdf-\\xf6\\xf8-\\xff`,vt=`\\xac\\xb1\\xd7\\xf7`,yt=`\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf`,bt=`\\u2000-\\u206f`,xt=` \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000`,St=`A-Z\\xc0-\\xd6\\xd8-\\xde`,Ct=`\\ufe0e\\ufe0f`,wt=vt+yt+bt+xt,Tt=`['’]`,Et=`[`+mt+`]`,Dt=`[`+wt+`]`,Ot=`[`+ht+`]`,kt=`\\d+`,At=`[`+gt+`]`,jt=`[`+_t+`]`,Mt=`[^`+mt+wt+kt+gt+_t+St+`]`,Nt=`\\ud83c[\\udffb-\\udfff]`,Pt=`(?:`+Ot+`|`+Nt+`)`,Ft=`[^`+mt+`]`,It=`(?:\\ud83c[\\udde6-\\uddff]){2}`,Lt=`[\\ud800-\\udbff][\\udc00-\\udfff]`,Rt=`[`+St+`]`,zt=`\\u200d`,Bt=`(?:`+jt+`|`+Mt+`)`,Vt=`(?:`+Rt+`|`+Mt+`)`,Ht=`(?:`+Tt+`(?:d|ll|m|re|s|t|ve))?`,Ut=`(?:`+Tt+`(?:D|LL|M|RE|S|T|VE))?`,Wt=Pt+`?`,z=`[`+Ct+`]?`,Gt=`(?:`+zt+`(?:`+[Ft,It,Lt].join(`|`)+`)`+z+Wt+`)*`,Kt=`\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])`,qt=`\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])`,Jt=z+Wt+Gt,Yt=`(?:`+[At,It,Lt].join(`|`)+`)`+Jt,Xt=`(?:`+[Ft+Ot+`?`,Ot,It,Lt,Et].join(`|`)+`)`,Zt=RegExp(Tt,`g`),Qt=RegExp(Ot,`g`),$t=RegExp(Nt+`(?=`+Nt+`)|`+Xt+Jt,`g`),en=RegExp([Rt+`?`+jt+`+`+Ht+`(?=`+[Dt,Rt,`$`].join(`|`)+`)`,Vt+`+`+Ut+`(?=`+[Dt,Rt+Bt,`$`].join(`|`)+`)`,Rt+`?`+Bt+`+`+Ht,Rt+`+`+Ut,qt,Kt,kt,Yt].join(`|`),`g`),B=RegExp(`[`+zt+mt+ht+Ct+`]`),tn=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,nn=`Array.Buffer.DataView.Date.Error.Float32Array.Float64Array.Function.Int8Array.Int16Array.Int32Array.Map.Math.Object.Promise.RegExp.Set.String.Symbol.TypeError.Uint8Array.Uint8ClampedArray.Uint16Array.Uint32Array.WeakMap._.clearTimeout.isFinite.parseInt.setTimeout`.split(`.`),rn=-1,an={};an[Ee]=an[De]=an[Oe]=an[ke]=an[Ae]=an[je]=an[Me]=an[Ne]=an[Pe]=!0,an[ne]=an[re]=an[we]=an[ae]=an[Te]=an[oe]=an[ce]=an[le]=an[de]=an[fe]=an[me]=an[_e]=an[ve]=an[ye]=an[Se]=!1;var on={};on[ne]=on[re]=on[we]=on[Te]=on[ae]=on[oe]=on[Ee]=on[De]=on[Oe]=on[ke]=on[Ae]=on[de]=on[fe]=on[me]=on[_e]=on[ve]=on[ye]=on[be]=on[je]=on[Me]=on[Ne]=on[Pe]=!0,on[ce]=on[le]=on[Se]=!1;var V={À:`A`,Á:`A`,Â:`A`,Ã:`A`,Ä:`A`,Å:`A`,à:`a`,á:`a`,â:`a`,ã:`a`,ä:`a`,å:`a`,Ç:`C`,ç:`c`,Ð:`D`,ð:`d`,È:`E`,É:`E`,Ê:`E`,Ë:`E`,è:`e`,é:`e`,ê:`e`,ë:`e`,Ì:`I`,Í:`I`,Î:`I`,Ï:`I`,ì:`i`,í:`i`,î:`i`,ï:`i`,Ñ:`N`,ñ:`n`,Ò:`O`,Ó:`O`,Ô:`O`,Õ:`O`,Ö:`O`,Ø:`O`,ò:`o`,ó:`o`,ô:`o`,õ:`o`,ö:`o`,ø:`o`,Ù:`U`,Ú:`U`,Û:`U`,Ü:`U`,ù:`u`,ú:`u`,û:`u`,ü:`u`,Ý:`Y`,ý:`y`,ÿ:`y`,Æ:`Ae`,æ:`ae`,Þ:`Th`,þ:`th`,ß:`ss`,Ā:`A`,Ă:`A`,Ą:`A`,ā:`a`,ă:`a`,ą:`a`,Ć:`C`,Ĉ:`C`,Ċ:`C`,Č:`C`,ć:`c`,ĉ:`c`,ċ:`c`,č:`c`,Ď:`D`,Đ:`D`,ď:`d`,đ:`d`,Ē:`E`,Ĕ:`E`,Ė:`E`,Ę:`E`,Ě:`E`,ē:`e`,ĕ:`e`,ė:`e`,ę:`e`,ě:`e`,Ĝ:`G`,Ğ:`G`,Ġ:`G`,Ģ:`G`,ĝ:`g`,ğ:`g`,ġ:`g`,ģ:`g`,Ĥ:`H`,Ħ:`H`,ĥ:`h`,ħ:`h`,Ĩ:`I`,Ī:`I`,Ĭ:`I`,Į:`I`,İ:`I`,ĩ:`i`,ī:`i`,ĭ:`i`,į:`i`,ı:`i`,Ĵ:`J`,ĵ:`j`,Ķ:`K`,ķ:`k`,ĸ:`k`,Ĺ:`L`,Ļ:`L`,Ľ:`L`,Ŀ:`L`,Ł:`L`,ĺ:`l`,ļ:`l`,ľ:`l`,ŀ:`l`,ł:`l`,Ń:`N`,Ņ:`N`,Ň:`N`,Ŋ:`N`,ń:`n`,ņ:`n`,ň:`n`,ŋ:`n`,Ō:`O`,Ŏ:`O`,Ő:`O`,ō:`o`,ŏ:`o`,ő:`o`,Ŕ:`R`,Ŗ:`R`,Ř:`R`,ŕ:`r`,ŗ:`r`,ř:`r`,Ś:`S`,Ŝ:`S`,Ş:`S`,Š:`S`,ś:`s`,ŝ:`s`,ş:`s`,š:`s`,Ţ:`T`,Ť:`T`,Ŧ:`T`,ţ:`t`,ť:`t`,ŧ:`t`,Ũ:`U`,Ū:`U`,Ŭ:`U`,Ů:`U`,Ű:`U`,Ų:`U`,ũ:`u`,ū:`u`,ŭ:`u`,ů:`u`,ű:`u`,ų:`u`,Ŵ:`W`,ŵ:`w`,Ŷ:`Y`,ŷ:`y`,Ÿ:`Y`,Ź:`Z`,Ż:`Z`,Ž:`Z`,ź:`z`,ż:`z`,ž:`z`,IJ:`IJ`,ij:`ij`,Œ:`Oe`,œ:`oe`,ʼn:`'n`,ſ:`s`},sn={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`},cn={"&":`&`,"<":`<`,">":`>`,""":`"`,"'":`'`},ln={"\\":`\\`,"'":`'`,"\n":`n`,"\r":`r`,"\u2028":`u2028`,"\u2029":`u2029`},un=parseFloat,dn=parseInt,fn=typeof global==`object`&&global&&global.Object===Object&&global,pn=typeof self==`object`&&self&&self.Object===Object&&self,mn=fn||pn||Function(`return this`)(),hn=typeof e==`object`&&e&&!e.nodeType&&e,gn=hn&&typeof t==`object`&&t&&!t.nodeType&&t,_n=gn&&gn.exports===hn,vn=_n&&fn.process,yn=function(){try{return gn&&gn.require&&gn.require(`util`).types||vn&&vn.binding&&vn.binding(`util`)}catch{}}(),bn=yn&&yn.isArrayBuffer,xn=yn&&yn.isDate,Sn=yn&&yn.isMap,Cn=yn&&yn.isRegExp,H=yn&&yn.isSet,wn=yn&&yn.isTypedArray;function Tn(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function En(e,t,n,r){for(var i=-1,a=e==null?0:e.length;++i<a;){var o=e[i];t(r,o,n(o),e)}return r}function Dn(e,t){for(var n=-1,r=e==null?0:e.length;++n<r&&t(e[n],n,e)!==!1;);return e}function On(e,t){for(var n=e==null?0:e.length;n--&&t(e[n],n,e)!==!1;);return e}function kn(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(!t(e[n],n,e))return!1;return!0}function U(e,t){for(var n=-1,r=e==null?0:e.length,i=0,a=[];++n<r;){var o=e[n];t(o,n,e)&&(a[i++]=o)}return a}function An(e,t){return!!(e!=null&&e.length)&&W(e,t,0)>-1}function jn(e,t,n){for(var r=-1,i=e==null?0:e.length;++r<i;)if(n(t,e[r]))return!0;return!1}function Mn(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}function Nn(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}function Pn(e,t,n,r){var i=-1,a=e==null?0:e.length;for(r&&a&&(n=e[++i]);++i<a;)n=t(n,e[i],i,e);return n}function Fn(e,t,n,r){var i=e==null?0:e.length;for(r&&i&&(n=e[--i]);i--;)n=t(n,e[i],i,e);return n}function In(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}var Ln=Wn(`length`);function Rn(e){return e.split(``)}function zn(e){return e.match(tt)||[]}function Bn(e,t,n){var r;return n(e,function(e,n,i){if(t(e,n,i))return r=n,!1}),r}function Vn(e,t,n,r){for(var i=e.length,a=n+(r?1:-1);r?a--:++a<i;)if(t(e[a],a,e))return a;return-1}function W(e,t,n){return t===t?hr(e,t,n):Vn(e,G,n)}function Hn(e,t,n,r){for(var i=n-1,a=e.length;++i<a;)if(r(e[i],t))return i;return-1}function G(e){return e!==e}function Un(e,t){var n=e==null?0:e.length;return n?Jn(e,t)/n:I}function Wn(e){return function(t){return t==null?n:t[e]}}function Gn(e){return function(t){return e==null?n:e[t]}}function Kn(e,t,n,r,i){return i(e,function(e,i,a){n=r?(r=!1,e):t(n,e,i,a)}),n}function qn(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}function Jn(e,t){for(var r,i=-1,a=e.length;++i<a;){var o=t(e[i]);o!==n&&(r=r===n?o:r+o)}return r}function Yn(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function Xn(e,t){return Mn(t,function(t){return[t,e[t]]})}function Zn(e){return e&&e.slice(0,yr(e)+1).replace(Xe,``)}function Qn(e){return function(t){return e(t)}}function $n(e,t){return Mn(t,function(t){return e[t]})}function er(e,t){return e.has(t)}function tr(e,t){for(var n=-1,r=e.length;++n<r&&W(t,e[n],0)>-1;);return n}function nr(e,t){for(var n=e.length;n--&&W(t,e[n],0)>-1;);return n}function rr(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}var ir=Gn(V),ar=Gn(sn);function or(e){return`\\`+ln[e]}function sr(e,t){return e==null?n:e[t]}function K(e){return B.test(e)}function cr(e){return tn.test(e)}function lr(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}function ur(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function dr(e,t){return function(n){return e(t(n))}}function fr(e,t){for(var n=-1,r=e.length,i=0,a=[];++n<r;){var o=e[n];(o===t||o===u)&&(e[n]=u,a[i++]=n)}return a}function pr(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}function mr(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=[e,e]}),n}function hr(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}function gr(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}function _r(e){return K(e)?xr(e):Ln(e)}function vr(e){return K(e)?Sr(e):Rn(e)}function yr(e){for(var t=e.length;t--&&Ze.test(e.charAt(t)););return t}var br=Gn(cn);function xr(e){for(var t=$t.lastIndex=0;$t.test(e);)++t;return t}function Sr(e){return e.match($t)||[]}function Cr(e){return e.match(en)||[]}var wr=(function e(t){t=t==null?mn:wr.defaults(mn.Object(),t,wr.pick(mn,nn));var Ze=t.Array,tt=t.Date,mt=t.Error,ht=t.Function,gt=t.Math,_t=t.Object,vt=t.RegExp,yt=t.String,bt=t.TypeError,xt=Ze.prototype,St=ht.prototype,Ct=_t.prototype,wt=t[`__core-js_shared__`],Tt=St.toString,Et=Ct.hasOwnProperty,Dt=0,Ot=function(){var e=/[^.]+$/.exec(wt&&wt.keys&&wt.keys.IE_PROTO||``);return e?`Symbol(src)_1.`+e:``}(),kt=Ct.toString,At=Tt.call(_t),jt=mn._,Mt=vt(`^`+Tt.call(Et).replace(Je,`\\$&`).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,`$1.*?`)+`$`),Nt=_n?t.Buffer:n,Pt=t.Symbol,Ft=t.Uint8Array,It=Nt?Nt.allocUnsafe:n,Lt=dr(_t.getPrototypeOf,_t),Rt=_t.create,zt=Ct.propertyIsEnumerable,Bt=xt.splice,Vt=Pt?Pt.isConcatSpreadable:n,Ht=Pt?Pt.iterator:n,Ut=Pt?Pt.toStringTag:n,Wt=function(){try{var e=Xo(_t,`defineProperty`);return e({},``,{}),e}catch{}}(),z=t.clearTimeout!==mn.clearTimeout&&t.clearTimeout,Gt=tt&&tt.now!==mn.Date.now&&tt.now,Kt=t.setTimeout!==mn.setTimeout&&t.setTimeout,qt=gt.ceil,Jt=gt.floor,Yt=_t.getOwnPropertySymbols,Xt=Nt?Nt.isBuffer:n,$t=t.isFinite,en=xt.join,B=dr(_t.keys,_t),tn=gt.max,V=gt.min,sn=tt.now,cn=t.parseInt,ln=gt.random,fn=xt.reverse,pn=Xo(t,`DataView`),hn=Xo(t,`Map`),gn=Xo(t,`Promise`),vn=Xo(t,`Set`),yn=Xo(t,`WeakMap`),Ln=Xo(_t,`create`),Rn=yn&&new yn,Gn={},hr=Ls(pn),xr=Ls(hn),Sr=Ls(gn),Tr=Ls(vn),Er=Ls(yn),Dr=Pt?Pt.prototype:n,Or=Dr?Dr.valueOf:n,kr=Dr?Dr.toString:n;function q(e){if(ku(e)&&!Z(e)&&!(e instanceof J)){if(e instanceof Mr)return e;if(Et.call(e,`__wrapped__`))return zs(e)}return new Mr(e)}var Ar=function(){function e(){}return function(t){if(!Ou(t))return{};if(Rt)return Rt(t);e.prototype=t;var r=new e;return e.prototype=n,r}}();function jr(){}function Mr(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=n}q.templateSettings={escape:He,evaluate:Ue,interpolate:We,variable:``,imports:{_:q}},q.prototype=jr.prototype,q.prototype.constructor=q,Mr.prototype=Ar(jr.prototype),Mr.prototype.constructor=Mr;function J(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=L,this.__views__=[]}function Nr(){var e=new J(this.__wrapped__);return e.__actions__=so(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=so(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=so(this.__views__),e}function Pr(){if(this.__filtered__){var e=new J(this);e.__dir__=-1,e.__filtered__=!0}else e=this.clone(),e.__dir__*=-1;return e}function Fr(){var e=this.__wrapped__.value(),t=this.__dir__,n=Z(e),r=t<0,i=n?e.length:0,a=ts(0,i,this.__views__),o=a.start,s=a.end,c=s-o,l=r?s:o-1,u=this.__iteratees__,d=u.length,f=0,p=V(c,this.__takeCount__);if(!n||!r&&i==c&&p==c)return Ha(e,this.__actions__);var m=[];outer:for(;c--&&f<p;){l+=t;for(var h=-1,g=e[l];++h<d;){var _=u[h],v=_.iteratee,y=_.type,b=v(g);if(y==j)g=b;else if(!b){if(y==A)continue outer;break outer}}m[f++]=g}return m}J.prototype=Ar(jr.prototype),J.prototype.constructor=J;function Ir(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Lr(){this.__data__=Ln?Ln(null):{},this.size=0}function Rr(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}function zr(e){var t=this.__data__;if(Ln){var r=t[e];return r===c?n:r}return Et.call(t,e)?t[e]:n}function Br(e){var t=this.__data__;return Ln?t[e]!==n:Et.call(t,e)}function Vr(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Ln&&t===n?c:t,this}Ir.prototype.clear=Lr,Ir.prototype.delete=Rr,Ir.prototype.get=zr,Ir.prototype.has=Br,Ir.prototype.set=Vr;function Hr(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Ur(){this.__data__=[],this.size=0}function Wr(e){var t=this.__data__,n=hi(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():Bt.call(t,n,1),--this.size,!0}function Gr(e){var t=this.__data__,r=hi(t,e);return r<0?n:t[r][1]}function Kr(e){return hi(this.__data__,e)>-1}function qr(e,t){var n=this.__data__,r=hi(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}Hr.prototype.clear=Ur,Hr.prototype.delete=Wr,Hr.prototype.get=Gr,Hr.prototype.has=Kr,Hr.prototype.set=qr;function Jr(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Yr(){this.size=0,this.__data__={hash:new Ir,map:new(hn||Hr),string:new Ir}}function Xr(e){var t=Jo(this,e).delete(e);return this.size-=t?1:0,t}function Zr(e){return Jo(this,e).get(e)}function Qr(e){return Jo(this,e).has(e)}function $r(e,t){var n=Jo(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}Jr.prototype.clear=Yr,Jr.prototype.delete=Xr,Jr.prototype.get=Zr,Jr.prototype.has=Qr,Jr.prototype.set=$r;function ei(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new Jr;++t<n;)this.add(e[t])}function ti(e){return this.__data__.set(e,c),this}function ni(e){return this.__data__.has(e)}ei.prototype.add=ei.prototype.push=ti,ei.prototype.has=ni;function ri(e){this.size=(this.__data__=new Hr(e)).size}function ii(){this.__data__=new Hr,this.size=0}function ai(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function oi(e){return this.__data__.get(e)}function si(e){return this.__data__.has(e)}function ci(e,t){var n=this.__data__;if(n instanceof Hr){var r=n.__data__;if(!hn||r.length<i-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Jr(r)}return n.set(e,t),this.size=n.size,this}ri.prototype.clear=ii,ri.prototype.delete=ai,ri.prototype.get=oi,ri.prototype.has=si,ri.prototype.set=ci;function li(e,t){var n=Z(e),r=!n&&fu(e),i=!n&&!r&&_u(e),a=!n&&!r&&!i&&Wu(e),o=n||r||i||a,s=o?Yn(e.length,yt):[],c=s.length;for(var l in e)(t||Et.call(e,l))&&!(o&&(l==`length`||i&&(l==`offset`||l==`parent`)||a&&(l==`buffer`||l==`byteLength`||l==`byteOffset`)||ds(l,c)))&&s.push(l);return s}function ui(e){var t=e.length;return t?e[Sa(0,t-1)]:n}function di(e,t){return Ps(so(e),xi(t,0,e.length))}function fi(e){return Ps(so(e))}function pi(e,t,r){(r!==n&&!lu(e[t],r)||r===n&&!(t in e))&&yi(e,t,r)}function mi(e,t,r){var i=e[t];(!(Et.call(e,t)&&lu(i,r))||r===n&&!(t in e))&&yi(e,t,r)}function hi(e,t){for(var n=e.length;n--;)if(lu(e[n][0],t))return n;return-1}function gi(e,t,n,r){return Di(e,function(e,i,a){t(r,e,n(e),a)}),r}function _i(e,t){return e&&co(t,Td(t),e)}function vi(e,t){return e&&co(t,Ed(t),e)}function yi(e,t,n){t==`__proto__`&&Wt?Wt(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function bi(e,t){for(var r=-1,i=t.length,a=Ze(i),o=e==null;++r<i;)a[r]=o?n:yd(e,t[r]);return a}function xi(e,t,r){return e===e&&(r!==n&&(e=e<=r?e:r),t!==n&&(e=e>=t?e:t)),e}function Si(e,t,r,i,a,o){var s,c=t&d,l=t&f,u=t&p;if(r&&(s=a?r(e,i,a,o):r(e)),s!==n)return s;if(!Ou(e))return e;var m=Z(e);if(m){if(s=os(e),!c)return so(e,s)}else{var h=es(e),g=h==le||h==ue;if(_u(e))return Za(e,c);if(h==me||h==ne||g&&!a){if(s=l||g?{}:ss(e),!c)return l?uo(e,vi(s,e)):lo(e,_i(s,e))}else{if(!on[h])return a?e:{};s=cs(e,h,c)}}o||=new ri;var _=o.get(e);if(_)return _;o.set(e,s),Vu(e)?e.forEach(function(n){s.add(Si(n,t,r,n,e,o))}):Au(e)&&e.forEach(function(n,i){s.set(i,Si(n,t,r,i,e,o))});var v=m?n:(u?l?Wo:Uo:l?Ed:Td)(e);return Dn(v||e,function(n,i){v&&(i=n,n=e[i]),mi(s,i,Si(n,t,r,i,e,o))}),s}function Ci(e){var t=Td(e);return function(n){return wi(n,e,t)}}function wi(e,t,r){var i=r.length;if(e==null)return!i;for(e=_t(e);i--;){var a=r[i],o=t[a],s=e[a];if(s===n&&!(a in e)||!o(s))return!1}return!0}function Ti(e,t,r){if(typeof e!=`function`)throw new bt(o);return As(function(){e.apply(n,r)},t)}function Ei(e,t,n,r){var a=-1,o=An,s=!0,c=e.length,l=[],u=t.length;if(!c)return l;n&&(t=Mn(t,Qn(n))),r?(o=jn,s=!1):t.length>=i&&(o=er,s=!1,t=new ei(t));outer:for(;++a<c;){var d=e[a],f=n==null?d:n(d);if(d=r||d!==0?d:0,s&&f===f){for(var p=u;p--;)if(t[p]===f)continue outer;l.push(d)}else o(t,f,r)||l.push(d)}return l}var Di=mo(Ii),Oi=mo(Li,!0);function ki(e,t){var n=!0;return Di(e,function(e,r,i){return n=!!t(e,r,i),n}),n}function Ai(e,t,r){for(var i=-1,a=e.length;++i<a;){var o=e[i],s=t(o);if(s!=null&&(c===n?s===s&&!Uu(s):r(s,c)))var c=s,l=o}return l}function ji(e,t,r,i){var a=e.length;for(r=Q(r),r<0&&(r=-r>a?0:a+r),i=i===n||i>a?a:Q(i),i<0&&(i+=a),i=r>i?0:Qu(i);r<i;)e[r++]=t;return e}function Mi(e,t){var n=[];return Di(e,function(e,r,i){t(e,r,i)&&n.push(e)}),n}function Ni(e,t,n,r,i){var a=-1,o=e.length;for(n||=us,i||=[];++a<o;){var s=e[a];t>0&&n(s)?t>1?Ni(s,t-1,n,r,i):Nn(i,s):r||(i[i.length]=s)}return i}var Pi=ho(),Fi=ho(!0);function Ii(e,t){return e&&Pi(e,t,Td)}function Li(e,t){return e&&Fi(e,t,Td)}function Ri(e,t){return U(t,function(t){return Tu(e[t])})}function zi(e,t){t=qa(t,e);for(var r=0,i=t.length;e!=null&&r<i;)e=e[Is(t[r++])];return r&&r==i?e:n}function Bi(e,t,n){var r=t(e);return Z(e)?r:Nn(r,n(e))}function Vi(e){return e==null?e===n?xe:pe:Ut&&Ut in _t(e)?Zo(e):ws(e)}function Hi(e,t){return e>t}function Ui(e,t){return e!=null&&Et.call(e,t)}function Wi(e,t){return e!=null&&t in _t(e)}function Gi(e,t,n){return e>=V(t,n)&&e<tn(t,n)}function Ki(e,t,r){for(var i=r?jn:An,a=e[0].length,o=e.length,s=o,c=Ze(o),l=1/0,u=[];s--;){var d=e[s];s&&t&&(d=Mn(d,Qn(t))),l=V(d.length,l),c[s]=!r&&(t||a>=120&&d.length>=120)?new ei(s&&d):n}d=e[0];var f=-1,p=c[0];outer:for(;++f<a&&u.length<l;){var m=d[f],h=t?t(m):m;if(m=r||m!==0?m:0,!(p?er(p,h):i(u,h,r))){for(s=o;--s;){var g=c[s];if(!(g?er(g,h):i(e[s],h,r)))continue outer}p&&p.push(h),u.push(m)}}return u}function qi(e,t,n,r){return Ii(e,function(e,i,a){t(r,n(e),i,a)}),r}function Ji(e,t,r){t=qa(t,e),e=Es(e,t);var i=e==null?e:e[Is(uc(t))];return i==null?n:Tn(i,e,r)}function Yi(e){return ku(e)&&Vi(e)==ne}function Xi(e){return ku(e)&&Vi(e)==we}function Zi(e){return ku(e)&&Vi(e)==oe}function Qi(e,t,n,r,i){return e===t?!0:e==null||t==null||!ku(e)&&!ku(t)?e!==e&&t!==t:$i(e,t,n,r,Qi,i)}function $i(e,t,n,r,i,a){var o=Z(e),s=Z(t),c=o?re:es(e),l=s?re:es(t);c=c==ne?me:c,l=l==ne?me:l;var u=c==me,d=l==me,f=c==l;if(f&&_u(e)){if(!_u(t))return!1;o=!0,u=!1}if(f&&!u)return a||=new ri,o||Wu(e)?zo(e,t,n,r,i,a):Bo(e,t,c,n,r,i,a);if(!(n&m)){var p=u&&Et.call(e,`__wrapped__`),h=d&&Et.call(t,`__wrapped__`);if(p||h){var g=p?e.value():e,_=h?t.value():t;return a||=new ri,i(g,_,n,r,a)}}return f?(a||=new ri,Vo(e,t,n,r,i,a)):!1}function ea(e){return ku(e)&&es(e)==de}function ta(e,t,r,i){var a=r.length,o=a,s=!i;if(e==null)return!o;for(e=_t(e);a--;){var c=r[a];if(s&&c[2]?c[1]!==e[c[0]]:!(c[0]in e))return!1}for(;++a<o;){c=r[a];var l=c[0],u=e[l],d=c[1];if(s&&c[2]){if(u===n&&!(l in e))return!1}else{var f=new ri;if(i)var p=i(u,d,l,e,t,f);if(!(p===n?Qi(d,u,m|h,i,f):p))return!1}}return!0}function na(e){return!Ou(e)||gs(e)?!1:(Tu(e)?Mt:ct).test(Ls(e))}function ra(e){return ku(e)&&Vi(e)==_e}function ia(e){return ku(e)&&es(e)==ve}function aa(e){return ku(e)&&Du(e.length)&&!!an[Vi(e)]}function oa(e){return typeof e==`function`?e:e==null?Ff:typeof e==`object`?Z(e)?fa(e[0],e[1]):da(e):Jf(e)}function sa(e){if(!vs(e))return B(e);var t=[];for(var n in _t(e))Et.call(e,n)&&n!=`constructor`&&t.push(n);return t}function ca(e){if(!Ou(e))return Cs(e);var t=vs(e),n=[];for(var r in e)r==`constructor`&&(t||!Et.call(e,r))||n.push(r);return n}function la(e,t){return e<t}function ua(e,t){var n=-1,r=mu(e)?Ze(e.length):[];return Di(e,function(e,i,a){r[++n]=t(e,i,a)}),r}function da(e){var t=Yo(e);return t.length==1&&t[0][2]?bs(t[0][0],t[0][1]):function(n){return n===e||ta(n,e,t)}}function fa(e,t){return ps(e)&&ys(t)?bs(Is(e),t):function(r){var i=yd(r,e);return i===n&&i===t?xd(r,e):Qi(t,i,m|h)}}function pa(e,t,r,i,a){e!==t&&Pi(t,function(o,s){if(a||=new ri,Ou(o))ma(e,t,s,r,pa,i,a);else{var c=i?i(Os(e,s),o,s+``,e,t,a):n;c===n&&(c=o),pi(e,s,c)}},Ed)}function ma(e,t,r,i,a,o,s){var c=Os(e,r),l=Os(t,r),u=s.get(l);if(u){pi(e,r,u);return}var d=o?o(c,l,r+``,e,t,s):n,f=d===n;if(f){var p=Z(l),m=!p&&_u(l),h=!p&&!m&&Wu(l);d=l,p||m||h?Z(c)?d=c:hu(c)?d=so(c):m?(f=!1,d=Za(l,!0)):h?(f=!1,d=no(l,!0)):d=[]:Ru(l)||fu(l)?(d=c,fu(c)?d=ed(c):(!Ou(c)||Tu(c))&&(d=ss(l))):f=!1}f&&(s.set(l,d),a(d,l,i,o,s),s.delete(l)),pi(e,r,d)}function ha(e,t){var r=e.length;if(r)return t+=t<0?r:0,ds(t,r)?e[t]:n}function ga(e,t,n){t=t.length?Mn(t,function(e){return Z(e)?function(t){return zi(t,e.length===1?e[0]:e)}:e}):[Ff];var r=-1;t=Mn(t,Qn(X()));var i=ua(e,function(e,n,i){return{criteria:Mn(t,function(t){return t(e)}),index:++r,value:e}});return qn(i,function(e,t){return io(e,t,n)})}function _a(e,t){return va(e,t,function(t,n){return xd(e,n)})}function va(e,t,n){for(var r=-1,i=t.length,a={};++r<i;){var o=t[r],s=zi(e,o);n(s,o)&&Da(a,qa(o,e),s)}return a}function ya(e){return function(t){return zi(t,e)}}function ba(e,t,n,r){var i=r?Hn:W,a=-1,o=t.length,s=e;for(e===t&&(t=so(t)),n&&(s=Mn(e,Qn(n)));++a<o;)for(var c=0,l=t[a],u=n?n(l):l;(c=i(s,u,c,r))>-1;)s!==e&&Bt.call(s,c,1),Bt.call(e,c,1);return e}function xa(e,t){for(var n=e?t.length:0,r=n-1;n--;){var i=t[n];if(n==r||i!==a){var a=i;ds(i)?Bt.call(e,i,1):za(e,i)}}return e}function Sa(e,t){return e+Jt(ln()*(t-e+1))}function Ca(e,t,n,r){for(var i=-1,a=tn(qt((t-e)/(n||1)),0),o=Ze(a);a--;)o[r?a:++i]=e,e+=n;return o}function wa(e,t){var n=``;if(!e||t<1||t>P)return n;do t%2&&(n+=e),t=Jt(t/2),t&&(e+=e);while(t);return n}function Y(e,t){return js(Ts(e,t,Ff),e+``)}function Ta(e){return ui(Wd(e))}function Ea(e,t){var n=Wd(e);return Ps(n,xi(t,0,n.length))}function Da(e,t,r,i){if(!Ou(e))return e;t=qa(t,e);for(var a=-1,o=t.length,s=o-1,c=e;c!=null&&++a<o;){var l=Is(t[a]),u=r;if(l===`__proto__`||l===`constructor`||l===`prototype`)return e;if(a!=s){var d=c[l];u=i?i(d,l,c):n,u===n&&(u=Ou(d)?d:ds(t[a+1])?[]:{})}mi(c,l,u),c=c[l]}return e}var Oa=Rn?function(e,t){return Rn.set(e,t),e}:Ff,ka=Wt?function(e,t){return Wt(e,`toString`,{configurable:!0,enumerable:!1,value:jf(t),writable:!0})}:Ff;function Aa(e){return Ps(Wd(e))}function ja(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var a=Ze(i);++r<i;)a[r]=e[r+t];return a}function Ma(e,t){var n;return Di(e,function(e,r,i){return n=t(e,r,i),!n}),!!n}function Na(e,t,n){var r=0,i=e==null?r:e.length;if(typeof t==`number`&&t===t&&i<=te){for(;r<i;){var a=r+i>>>1,o=e[a];o!==null&&!Uu(o)&&(n?o<=t:o<t)?r=a+1:i=a}return i}return Pa(e,t,Ff,n)}function Pa(e,t,r,i){var a=0,o=e==null?0:e.length;if(o===0)return 0;t=r(t);for(var s=t!==t,c=t===null,l=Uu(t),u=t===n;a<o;){var d=Jt((a+o)/2),f=r(e[d]),p=f!==n,m=f===null,h=f===f,g=Uu(f);if(s)var _=i||h;else _=u?h&&(i||p):c?h&&p&&(i||!m):l?h&&p&&!m&&(i||!g):m||g?!1:i?f<=t:f<t;_?a=d+1:o=d}return V(o,ee)}function Fa(e,t){for(var n=-1,r=e.length,i=0,a=[];++n<r;){var o=e[n],s=t?t(o):o;if(!n||!lu(s,c)){var c=s;a[i++]=o===0?0:o}}return a}function Ia(e){return typeof e==`number`?e:Uu(e)?I:+e}function La(e){if(typeof e==`string`)return e;if(Z(e))return Mn(e,La)+``;if(Uu(e))return kr?kr.call(e):``;var t=e+``;return t==`0`&&1/e==-N?`-0`:t}function Ra(e,t,n){var r=-1,a=An,o=e.length,s=!0,c=[],l=c;if(n)s=!1,a=jn;else if(o>=i){var u=t?null:No(e);if(u)return pr(u);s=!1,a=er,l=new ei}else l=t?[]:c;outer:for(;++r<o;){var d=e[r],f=t?t(d):d;if(d=n||d!==0?d:0,s&&f===f){for(var p=l.length;p--;)if(l[p]===f)continue outer;t&&l.push(f),c.push(d)}else a(l,f,n)||(l!==c&&l.push(f),c.push(d))}return c}function za(e,t){t=qa(t,e);var n=-1,r=t.length;if(!r)return!0;for(var i=e==null||typeof e!=`object`&&typeof e!=`function`;++n<r;){var a=t[n];if(typeof a==`string`){if(a===`__proto__`&&!Et.call(e,`__proto__`))return!1;if(a===`constructor`&&n+1<r&&typeof t[n+1]==`string`&&t[n+1]===`prototype`){if(i&&n===0)continue;return!1}}}var o=Es(e,t);return o==null||delete o[Is(uc(t))]}function Ba(e,t,n,r){return Da(e,t,n(zi(e,t)),r)}function Va(e,t,n,r){for(var i=e.length,a=r?i:-1;(r?a--:++a<i)&&t(e[a],a,e););return n?ja(e,r?0:a,r?a+1:i):ja(e,r?a+1:0,r?i:a)}function Ha(e,t){var n=e;return n instanceof J&&(n=n.value()),Pn(t,function(e,t){return t.func.apply(t.thisArg,Nn([e],t.args))},n)}function Ua(e,t,n){var r=e.length;if(r<2)return r?Ra(e[0]):[];for(var i=-1,a=Ze(r);++i<r;)for(var o=e[i],s=-1;++s<r;)s!=i&&(a[i]=Ei(a[i]||o,e[s],t,n));return Ra(Ni(a,1),t,n)}function Wa(e,t,r){for(var i=-1,a=e.length,o=t.length,s={};++i<a;){var c=i<o?t[i]:n;r(s,e[i],c)}return s}function Ga(e){return hu(e)?e:[]}function Ka(e){return typeof e==`function`?e:Ff}function qa(e,t){return Z(e)?e:ps(e,t)?[e]:Fs(nd(e))}var Ja=Y;function Ya(e,t,r){var i=e.length;return r=r===n?i:r,!t&&r>=i?e:ja(e,t,r)}var Xa=z||function(e){return mn.clearTimeout(e)};function Za(e,t){if(t)return e.slice();var n=e.length,r=It?It(n):new e.constructor(n);return e.copy(r),r}function Qa(e){var t=new e.constructor(e.byteLength);return new Ft(t).set(new Ft(e)),t}function $a(e,t){var n=t?Qa(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}function eo(e){var t=new e.constructor(e.source,at.exec(e));return t.lastIndex=e.lastIndex,t}function to(e){return Or?_t(Or.call(e)):{}}function no(e,t){var n=t?Qa(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function ro(e,t){if(e!==t){var r=e!==n,i=e===null,a=e===e,o=Uu(e),s=t!==n,c=t===null,l=t===t,u=Uu(t);if(!c&&!u&&!o&&e>t||o&&s&&l&&!c&&!u||i&&s&&l||!r&&l||!a)return 1;if(!i&&!o&&!u&&e<t||u&&r&&a&&!i&&!o||c&&r&&a||!s&&a||!l)return-1}return 0}function io(e,t,n){for(var r=-1,i=e.criteria,a=t.criteria,o=i.length,s=n.length;++r<o;){var c=ro(i[r],a[r]);if(c){if(r>=s)return c;var l=n[r];return c*(l==`desc`?-1:1)}}return e.index-t.index}function ao(e,t,n,r){for(var i=-1,a=e.length,o=n.length,s=-1,c=t.length,l=tn(a-o,0),u=Ze(c+l),d=!r;++s<c;)u[s]=t[s];for(;++i<o;)(d||i<a)&&(u[n[i]]=e[i]);for(;l--;)u[s++]=e[i++];return u}function oo(e,t,n,r){for(var i=-1,a=e.length,o=-1,s=n.length,c=-1,l=t.length,u=tn(a-s,0),d=Ze(u+l),f=!r;++i<u;)d[i]=e[i];for(var p=i;++c<l;)d[p+c]=t[c];for(;++o<s;)(f||i<a)&&(d[p+n[o]]=e[i++]);return d}function so(e,t){var n=-1,r=e.length;for(t||=Ze(r);++n<r;)t[n]=e[n];return t}function co(e,t,r,i){var a=!r;r||={};for(var o=-1,s=t.length;++o<s;){var c=t[o],l=i?i(r[c],e[c],c,r,e):n;l===n&&(l=e[c]),a?yi(r,c,l):mi(r,c,l)}return r}function lo(e,t){return co(e,Qo(e),t)}function uo(e,t){return co(e,$o(e),t)}function fo(e,t){return function(n,r){var i=Z(n)?En:gi,a=t?t():{};return i(n,e,X(r,2),a)}}function po(e){return Y(function(t,r){var i=-1,a=r.length,o=a>1?r[a-1]:n,s=a>2?r[2]:n;for(o=e.length>3&&typeof o==`function`?(a--,o):n,s&&fs(r[0],r[1],s)&&(o=a<3?n:o,a=1),t=_t(t);++i<a;){var c=r[i];c&&e(t,c,i,o)}return t})}function mo(e,t){return function(n,r){if(n==null)return n;if(!mu(n))return e(n,r);for(var i=n.length,a=t?i:-1,o=_t(n);(t?a--:++a<i)&&r(o[a],a,o)!==!1;);return n}}function ho(e){return function(t,n,r){for(var i=-1,a=_t(t),o=r(t),s=o.length;s--;){var c=o[e?s:++i];if(n(a[c],c,a)===!1)break}return t}}function go(e,t,n){var r=t&g,i=yo(e);function a(){return(this&&this!==mn&&this instanceof a?i:e).apply(r?n:this,arguments)}return a}function _o(e){return function(t){t=nd(t);var r=K(t)?vr(t):n,i=r?r[0]:t.charAt(0),a=r?Ya(r,1).join(``):t.slice(1);return i[e]()+a}}function vo(e){return function(t){return Pn(Ef(Zd(t).replace(Zt,``)),e,``)}}function yo(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var n=Ar(e.prototype),r=e.apply(n,t);return Ou(r)?r:n}}function bo(e,t,r){var i=yo(e);function a(){for(var o=arguments.length,s=Ze(o),c=o,l=qo(a);c--;)s[c]=arguments[c];var u=o<3&&s[0]!==l&&s[o-1]!==l?[]:fr(s,l);if(o-=u.length,o<r)return jo(e,t,Co,a.placeholder,n,s,u,n,n,r-o);var d=this&&this!==mn&&this instanceof a?i:e;return Tn(d,this,s)}return a}function xo(e){return function(t,r,i){var a=_t(t);if(!mu(t)){var o=X(r,3);t=Td(t),r=function(e){return o(a[e],e,a)}}var s=e(t,r,i);return s>-1?a[o?t[s]:s]:n}}function So(e){return Ho(function(t){var r=t.length,i=r,a=Mr.prototype.thru;for(e&&t.reverse();i--;){var s=t[i];if(typeof s!=`function`)throw new bt(o);if(a&&!c&&Ko(s)==`wrapper`)var c=new Mr([],!0)}for(i=c?i:r;++i<r;){s=t[i];var l=Ko(s),u=l==`wrapper`?Go(s):n;c=u&&hs(u[0])&&u[1]==(C|y|x|w)&&!u[4].length&&u[9]==1?c[Ko(u[0])].apply(c,u[3]):s.length==1&&hs(s)?c[l]():c.thru(s)}return function(){var e=arguments,n=e[0];if(c&&e.length==1&&Z(n))return c.plant(n).value();for(var i=0,a=r?t[i].apply(this,e):n;++i<r;)a=t[i].call(this,a);return a}})}function Co(e,t,r,i,a,o,s,c,l,u){var d=t&C,f=t&g,p=t&_,m=t&(y|b),h=t&T,v=p?n:yo(e);function x(){for(var n=arguments.length,g=Ze(n),_=n;_--;)g[_]=arguments[_];if(m)var y=qo(x),b=rr(g,y);if(i&&(g=ao(g,i,a,m)),o&&(g=oo(g,o,s,m)),n-=b,m&&n<u){var S=fr(g,y);return jo(e,t,Co,x.placeholder,r,g,S,c,l,u-n)}var C=f?r:this,w=p?C[e]:e;return n=g.length,c?g=Ds(g,c):h&&n>1&&g.reverse(),d&&l<n&&(g.length=l),this&&this!==mn&&this instanceof x&&(w=v||yo(w)),w.apply(C,g)}return x}function wo(e,t){return function(n,r){return qi(n,e,t(r),{})}}function To(e,t){return function(r,i){var a;if(r===n&&i===n)return t;if(r!==n&&(a=r),i!==n){if(a===n)return i;typeof r==`string`||typeof i==`string`?(r=La(r),i=La(i)):(r=Ia(r),i=Ia(i)),a=e(r,i)}return a}}function Eo(e){return Ho(function(t){return t=Mn(t,Qn(X())),Y(function(n){var r=this;return e(t,function(e){return Tn(e,r,n)})})})}function Do(e,t){t=t===n?` `:La(t);var r=t.length;if(r<2)return r?wa(t,e):t;var i=wa(t,qt(e/_r(t)));return K(t)?Ya(vr(i),0,e).join(``):i.slice(0,e)}function Oo(e,t,n,r){var i=t&g,a=yo(e);function o(){for(var t=-1,s=arguments.length,c=-1,l=r.length,u=Ze(l+s),d=this&&this!==mn&&this instanceof o?a:e;++c<l;)u[c]=r[c];for(;s--;)u[c++]=arguments[++t];return Tn(d,i?n:this,u)}return o}function ko(e){return function(t,r,i){return i&&typeof i!=`number`&&fs(t,r,i)&&(r=i=n),t=Zu(t),r===n?(r=t,t=0):r=Zu(r),i=i===n?t<r?1:-1:Zu(i),Ca(t,r,i,e)}}function Ao(e){return function(t,n){return typeof t==`string`&&typeof n==`string`||(t=$u(t),n=$u(n)),e(t,n)}}function jo(e,t,r,i,a,o,s,c,l,u){var d=t&y,f=d?s:n,p=d?n:s,m=d?o:n,h=d?n:o;t|=d?x:S,t&=~(d?S:x),t&v||(t&=~(g|_));var b=[e,t,a,m,f,h,p,c,l,u],C=r.apply(n,b);return hs(e)&&ks(C,b),C.placeholder=i,Ms(C,e,t)}function Mo(e){var t=gt[e];return function(e,n){if(e=$u(e),n=n==null?0:V(Q(n),292),n&&$t(e)){var r=(nd(e)+`e`).split(`e`),i=t(r[0]+`e`+(+r[1]+n));return r=(nd(i)+`e`).split(`e`),+(r[0]+`e`+(+r[1]-n))}return t(e)}}var No=vn&&1/pr(new vn([,-0]))[1]==N?function(e){return new vn(e)}:Uf;function Po(e){return function(t){var n=es(t);return n==de?ur(t):n==ve?mr(t):Xn(t,e(t))}}function Fo(e,t,r,i,a,s,c,l){var u=t&_;if(!u&&typeof e!=`function`)throw new bt(o);var d=i?i.length:0;if(d||(t&=~(x|S),i=a=n),c=c===n?c:tn(Q(c),0),l=l===n?l:Q(l),d-=a?a.length:0,t&S){var f=i,p=a;i=a=n}var m=u?n:Go(e),h=[e,t,r,i,a,f,p,s,c,l];if(m&&Ss(h,m),e=h[0],t=h[1],r=h[2],i=h[3],a=h[4],l=h[9]=h[9]===n?u?0:e.length:tn(h[9]-d,0),!l&&t&(y|b)&&(t&=~(y|b)),!t||t==g)var v=go(e,t,r);else v=t==y||t==b?bo(e,t,l):(t==x||t==(g|x))&&!a.length?Oo(e,t,r,i):Co.apply(n,h);return Ms((m?Oa:ks)(v,h),e,t)}function Io(e,t,r,i){return e===n||lu(e,Ct[r])&&!Et.call(i,r)?t:e}function Lo(e,t,r,i,a,o){return Ou(e)&&Ou(t)&&(o.set(t,e),pa(e,t,n,Lo,o),o.delete(t)),e}function Ro(e){return Ru(e)?n:e}function zo(e,t,r,i,a,o){var s=r&m,c=e.length,l=t.length;if(c!=l&&!(s&&l>c))return!1;var u=o.get(e),d=o.get(t);if(u&&d)return u==t&&d==e;var f=-1,p=!0,g=r&h?new ei:n;for(o.set(e,t),o.set(t,e);++f<c;){var _=e[f],v=t[f];if(i)var y=s?i(v,_,f,t,e,o):i(_,v,f,e,t,o);if(y!==n){if(y)continue;p=!1;break}if(g){if(!In(t,function(e,t){if(!er(g,t)&&(_===e||a(_,e,r,i,o)))return g.push(t)})){p=!1;break}}else if(!(_===v||a(_,v,r,i,o))){p=!1;break}}return o.delete(e),o.delete(t),p}function Bo(e,t,n,r,i,a,o){switch(n){case Te:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case we:return!(e.byteLength!=t.byteLength||!a(new Ft(e),new Ft(t)));case ae:case oe:case fe:return lu(+e,+t);case ce:return e.name==t.name&&e.message==t.message;case _e:case ye:return e==t+``;case de:var s=ur;case ve:var c=r&m;if(s||=pr,e.size!=t.size&&!c)return!1;var l=o.get(e);if(l)return l==t;r|=h,o.set(e,t);var u=zo(s(e),s(t),r,i,a,o);return o.delete(e),u;case be:if(Or)return Or.call(e)==Or.call(t)}return!1}function Vo(e,t,r,i,a,o){var s=r&m,c=Uo(e),l=c.length,u=Uo(t).length;if(l!=u&&!s)return!1;for(var d=l;d--;){var f=c[d];if(!(s?f in t:Et.call(t,f)))return!1}var p=o.get(e),h=o.get(t);if(p&&h)return p==t&&h==e;var g=!0;o.set(e,t),o.set(t,e);for(var _=s;++d<l;){f=c[d];var v=e[f],y=t[f];if(i)var b=s?i(y,v,f,t,e,o):i(v,y,f,e,t,o);if(!(b===n?v===y||a(v,y,r,i,o):b)){g=!1;break}_||=f==`constructor`}if(g&&!_){var x=e.constructor,S=t.constructor;x!=S&&`constructor`in e&&`constructor`in t&&!(typeof x==`function`&&x instanceof x&&typeof S==`function`&&S instanceof S)&&(g=!1)}return o.delete(e),o.delete(t),g}function Ho(e){return js(Ts(e,n,$s),e+``)}function Uo(e){return Bi(e,Td,Qo)}function Wo(e){return Bi(e,Ed,$o)}var Go=Rn?function(e){return Rn.get(e)}:Uf;function Ko(e){for(var t=e.name+``,n=Gn[t],r=Et.call(Gn,t)?n.length:0;r--;){var i=n[r],a=i.func;if(a==null||a==e)return i.name}return t}function qo(e){return(Et.call(q,`placeholder`)?q:e).placeholder}function X(){var e=q.iteratee||If;return e=e===If?oa:e,arguments.length?e(arguments[0],arguments[1]):e}function Jo(e,t){var n=e.__data__;return ms(t)?n[typeof t==`string`?`string`:`hash`]:n.map}function Yo(e){for(var t=Td(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,ys(i)]}return t}function Xo(e,t){var r=sr(e,t);return na(r)?r:n}function Zo(e){var t=Et.call(e,Ut),r=e[Ut];try{e[Ut]=n;var i=!0}catch{}var a=kt.call(e);return i&&(t?e[Ut]=r:delete e[Ut]),a}var Qo=Yt?function(e){return e==null?[]:(e=_t(e),U(Yt(e),function(t){return zt.call(e,t)}))}:Qf,$o=Yt?function(e){for(var t=[];e;)Nn(t,Qo(e)),e=Lt(e);return t}:Qf,es=Vi;(pn&&es(new pn(new ArrayBuffer(1)))!=Te||hn&&es(new hn)!=de||gn&&es(gn.resolve())!=he||vn&&es(new vn)!=ve||yn&&es(new yn)!=Se)&&(es=function(e){var t=Vi(e),r=t==me?e.constructor:n,i=r?Ls(r):``;if(i)switch(i){case hr:return Te;case xr:return de;case Sr:return he;case Tr:return ve;case Er:return Se}return t});function ts(e,t,n){for(var r=-1,i=n.length;++r<i;){var a=n[r],o=a.size;switch(a.type){case`drop`:e+=o;break;case`dropRight`:t-=o;break;case`take`:t=V(t,e+o);break;case`takeRight`:e=tn(e,t-o);break}}return{start:e,end:t}}function ns(e){var t=e.match($e);return t?t[1].split(et):[]}function rs(e,t,n){t=qa(t,e);for(var r=-1,i=t.length,a=!1;++r<i;){var o=Is(t[r]);if(!(a=e!=null&&n(e,o)))break;e=e[o]}return a||++r!=i?a:(i=e==null?0:e.length,!!i&&Du(i)&&ds(o,i)&&(Z(e)||fu(e)))}function os(e){var t=e.length,n=new e.constructor(t);return t&&typeof e[0]==`string`&&Et.call(e,`index`)&&(n.index=e.index,n.input=e.input),n}function ss(e){return typeof e.constructor==`function`&&!vs(e)?Ar(Lt(e)):{}}function cs(e,t,n){var r=e.constructor;switch(t){case we:return Qa(e);case ae:case oe:return new r(+e);case Te:return $a(e,n);case Ee:case De:case Oe:case ke:case Ae:case je:case Me:case Ne:case Pe:return no(e,n);case de:return new r;case fe:case ye:return new r(e);case _e:return eo(e);case ve:return new r;case be:return to(e)}}function ls(e,t){var n=t.length;if(!n)return e;var r=n-1;return t[r]=(n>1?`& `:``)+t[r],t=t.join(n>2?`, `:` `),e.replace(Qe,`{
/* [wrapped with `+t+`] */
`)}function us(e){return Z(e)||fu(e)||!!(Vt&&e&&e[Vt])}function ds(e,t){var n=typeof e;return t??=P,!!t&&(n==`number`||n!=`symbol`&&ut.test(e))&&e>-1&&e%1==0&&e<t}function fs(e,t,n){if(!Ou(n))return!1;var r=typeof t;return(r==`number`?mu(n)&&ds(t,n.length):r==`string`&&t in n)?lu(n[t],e):!1}function ps(e,t){if(Z(e))return!1;var n=typeof e;return n==`number`||n==`symbol`||n==`boolean`||e==null||Uu(e)?!0:Ke.test(e)||!Ge.test(e)||t!=null&&e in _t(t)}function ms(e){var t=typeof e;return t==`string`||t==`number`||t==`symbol`||t==`boolean`?e!==`__proto__`:e===null}function hs(e){var t=Ko(e),n=q[t];if(typeof n!=`function`||!(t in J.prototype))return!1;if(e===n)return!0;var r=Go(n);return!!r&&e===r[0]}function gs(e){return!!Ot&&Ot in e}var _s=wt?Tu:$f;function vs(e){var t=e&&e.constructor,n=typeof t==`function`&&t.prototype||Ct;return e===n}function ys(e){return e===e&&!Ou(e)}function bs(e,t){return function(r){return r==null?!1:r[e]===t&&(t!==n||e in _t(r))}}function xs(e){var t=Gl(e,function(e){return n.size===l&&n.clear(),e}),n=t.cache;return t}function Ss(e,t){var n=e[1],r=t[1],i=n|r,a=i<(g|_|C),o=r==C&&n==y||r==C&&n==w&&e[7].length<=t[8]||r==(C|w)&&t[7].length<=t[8]&&n==y;if(!(a||o))return e;r&g&&(e[2]=t[2],i|=n&g?0:v);var s=t[3];if(s){var c=e[3];e[3]=c?ao(c,s,t[4]):s,e[4]=c?fr(e[3],u):t[4]}return s=t[5],s&&(c=e[5],e[5]=c?oo(c,s,t[6]):s,e[6]=c?fr(e[5],u):t[6]),s=t[7],s&&(e[7]=s),r&C&&(e[8]=e[8]==null?t[8]:V(e[8],t[8])),e[9]??=t[9],e[0]=t[0],e[1]=i,e}function Cs(e){var t=[];if(e!=null)for(var n in _t(e))t.push(n);return t}function ws(e){return kt.call(e)}function Ts(e,t,r){return t=tn(t===n?e.length-1:t,0),function(){for(var n=arguments,i=-1,a=tn(n.length-t,0),o=Ze(a);++i<a;)o[i]=n[t+i];i=-1;for(var s=Ze(t+1);++i<t;)s[i]=n[i];return s[t]=r(o),Tn(e,this,s)}}function Es(e,t){return t.length<2?e:zi(e,ja(t,0,-1))}function Ds(e,t){for(var r=e.length,i=V(t.length,r),a=so(e);i--;){var o=t[i];e[i]=ds(o,r)?a[o]:n}return e}function Os(e,t){if(!(t===`constructor`&&typeof e[t]==`function`)&&t!=`__proto__`)return e[t]}var ks=Ns(Oa),As=Kt||function(e,t){return mn.setTimeout(e,t)},js=Ns(ka);function Ms(e,t,n){var r=t+``;return js(e,ls(r,Rs(ns(r),n)))}function Ns(e){var t=0,r=0;return function(){var i=sn(),a=k-(i-r);if(r=i,a>0){if(++t>=O)return arguments[0]}else t=0;return e.apply(n,arguments)}}function Ps(e,t){var r=-1,i=e.length,a=i-1;for(t=t===n?i:t;++r<t;){var o=Sa(r,a),s=e[o];e[o]=e[r],e[r]=s}return e.length=t,e}var Fs=xs(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(``),e.replace(qe,function(e,n,r,i){t.push(r?i.replace(rt,`$1`):n||e)}),t});function Is(e){if(typeof e==`string`||Uu(e))return e;var t=e+``;return t==`0`&&1/e==-N?`-0`:t}function Ls(e){if(e!=null){try{return Tt.call(e)}catch{}try{return e+``}catch{}}return``}function Rs(e,t){return Dn(R,function(n){var r=`_.`+n[0];t&n[1]&&!An(e,r)&&e.push(r)}),e.sort()}function zs(e){if(e instanceof J)return e.clone();var t=new Mr(e.__wrapped__,e.__chain__);return t.__actions__=so(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}function Bs(e,t,r){t=(r?fs(e,t,r):t===n)?1:tn(Q(t),0);var i=e==null?0:e.length;if(!i||t<1)return[];for(var a=0,o=0,s=Ze(qt(i/t));a<i;)s[o++]=ja(e,a,a+=t);return s}function Vs(e){for(var t=-1,n=e==null?0:e.length,r=0,i=[];++t<n;){var a=e[t];a&&(i[r++]=a)}return i}function Hs(){var e=arguments.length;if(!e)return[];for(var t=Ze(e-1),n=arguments[0],r=e;r--;)t[r-1]=arguments[r];return Nn(Z(n)?so(n):[n],Ni(t,1))}var Us=Y(function(e,t){return hu(e)?Ei(e,Ni(t,1,hu,!0)):[]}),Ws=Y(function(e,t){var r=uc(t);return hu(r)&&(r=n),hu(e)?Ei(e,Ni(t,1,hu,!0),X(r,2)):[]}),Gs=Y(function(e,t){var r=uc(t);return hu(r)&&(r=n),hu(e)?Ei(e,Ni(t,1,hu,!0),n,r):[]});function Ks(e,t,r){var i=e==null?0:e.length;return i?(t=r||t===n?1:Q(t),ja(e,t<0?0:t,i)):[]}function qs(e,t,r){var i=e==null?0:e.length;return i?(t=r||t===n?1:Q(t),t=i-t,ja(e,0,t<0?0:t)):[]}function Js(e,t){return e&&e.length?Va(e,X(t,3),!0,!0):[]}function Ys(e,t){return e&&e.length?Va(e,X(t,3),!0):[]}function Xs(e,t,n,r){var i=e==null?0:e.length;return i?(n&&typeof n!=`number`&&fs(e,t,n)&&(n=0,r=i),ji(e,t,n,r)):[]}function Zs(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var i=n==null?0:Q(n);return i<0&&(i=tn(r+i,0)),Vn(e,X(t,3),i)}function Qs(e,t,r){var i=e==null?0:e.length;if(!i)return-1;var a=i-1;return r!==n&&(a=Q(r),a=r<0?tn(i+a,0):V(a,i-1)),Vn(e,X(t,3),a,!0)}function $s(e){return e!=null&&e.length?Ni(e,1):[]}function ec(e){return e!=null&&e.length?Ni(e,N):[]}function tc(e,t){return e!=null&&e.length?(t=t===n?1:Q(t),Ni(e,t)):[]}function nc(e){for(var t=-1,n=e==null?0:e.length,r={};++t<n;){var i=e[t];r[i[0]]=i[1]}return r}function rc(e){return e&&e.length?e[0]:n}function ic(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var i=n==null?0:Q(n);return i<0&&(i=tn(r+i,0)),W(e,t,i)}function ac(e){return e!=null&&e.length?ja(e,0,-1):[]}var oc=Y(function(e){var t=Mn(e,Ga);return t.length&&t[0]===e[0]?Ki(t):[]}),sc=Y(function(e){var t=uc(e),r=Mn(e,Ga);return t===uc(r)?t=n:r.pop(),r.length&&r[0]===e[0]?Ki(r,X(t,2)):[]}),cc=Y(function(e){var t=uc(e),r=Mn(e,Ga);return t=typeof t==`function`?t:n,t&&r.pop(),r.length&&r[0]===e[0]?Ki(r,n,t):[]});function lc(e,t){return e==null?``:en.call(e,t)}function uc(e){var t=e==null?0:e.length;return t?e[t-1]:n}function dc(e,t,r){var i=e==null?0:e.length;if(!i)return-1;var a=i;return r!==n&&(a=Q(r),a=a<0?tn(i+a,0):V(a,i-1)),t===t?gr(e,t,a):Vn(e,G,a,!0)}function fc(e,t){return e&&e.length?ha(e,Q(t)):n}var pc=Y(mc);function mc(e,t){return e&&e.length&&t&&t.length?ba(e,t):e}function hc(e,t,n){return e&&e.length&&t&&t.length?ba(e,t,X(n,2)):e}function gc(e,t,r){return e&&e.length&&t&&t.length?ba(e,t,n,r):e}var _c=Ho(function(e,t){var n=e==null?0:e.length,r=bi(e,t);return xa(e,Mn(t,function(e){return ds(e,n)?+e:e}).sort(ro)),r});function vc(e,t){var n=[];if(!(e&&e.length))return n;var r=-1,i=[],a=e.length;for(t=X(t,3);++r<a;){var o=e[r];t(o,r,e)&&(n.push(o),i.push(r))}return xa(e,i),n}function yc(e){return e==null?e:fn.call(e)}function bc(e,t,r){var i=e==null?0:e.length;return i?(r&&typeof r!=`number`&&fs(e,t,r)?(t=0,r=i):(t=t==null?0:Q(t),r=r===n?i:Q(r)),ja(e,t,r)):[]}function xc(e,t){return Na(e,t)}function Sc(e,t,n){return Pa(e,t,X(n,2))}function Cc(e,t){var n=e==null?0:e.length;if(n){var r=Na(e,t);if(r<n&&lu(e[r],t))return r}return-1}function wc(e,t){return Na(e,t,!0)}function Tc(e,t,n){return Pa(e,t,X(n,2),!0)}function Ec(e,t){if(e!=null&&e.length){var n=Na(e,t,!0)-1;if(lu(e[n],t))return n}return-1}function Dc(e){return e&&e.length?Fa(e):[]}function Oc(e,t){return e&&e.length?Fa(e,X(t,2)):[]}function kc(e){var t=e==null?0:e.length;return t?ja(e,1,t):[]}function Ac(e,t,r){return e&&e.length?(t=r||t===n?1:Q(t),ja(e,0,t<0?0:t)):[]}function jc(e,t,r){var i=e==null?0:e.length;return i?(t=r||t===n?1:Q(t),t=i-t,ja(e,t<0?0:t,i)):[]}function Mc(e,t){return e&&e.length?Va(e,X(t,3),!1,!0):[]}function Nc(e,t){return e&&e.length?Va(e,X(t,3)):[]}var Pc=Y(function(e){return Ra(Ni(e,1,hu,!0))}),Fc=Y(function(e){var t=uc(e);return hu(t)&&(t=n),Ra(Ni(e,1,hu,!0),X(t,2))}),Ic=Y(function(e){var t=uc(e);return t=typeof t==`function`?t:n,Ra(Ni(e,1,hu,!0),n,t)});function Lc(e){return e&&e.length?Ra(e):[]}function Rc(e,t){return e&&e.length?Ra(e,X(t,2)):[]}function zc(e,t){return t=typeof t==`function`?t:n,e&&e.length?Ra(e,n,t):[]}function Bc(e){if(!(e&&e.length))return[];var t=0;return e=U(e,function(e){if(hu(e))return t=tn(e.length,t),!0}),Yn(t,function(t){return Mn(e,Wn(t))})}function Vc(e,t){if(!(e&&e.length))return[];var r=Bc(e);return t==null?r:Mn(r,function(e){return Tn(t,n,e)})}var Hc=Y(function(e,t){return hu(e)?Ei(e,t):[]}),Uc=Y(function(e){return Ua(U(e,hu))}),Wc=Y(function(e){var t=uc(e);return hu(t)&&(t=n),Ua(U(e,hu),X(t,2))}),Gc=Y(function(e){var t=uc(e);return t=typeof t==`function`?t:n,Ua(U(e,hu),n,t)}),Kc=Y(Bc);function qc(e,t){return Wa(e||[],t||[],mi)}function Jc(e,t){return Wa(e||[],t||[],Da)}var Yc=Y(function(e){var t=e.length,r=t>1?e[t-1]:n;return r=typeof r==`function`?(e.pop(),r):n,Vc(e,r)});function Xc(e){var t=q(e);return t.__chain__=!0,t}function Zc(e,t){return t(e),e}function Qc(e,t){return t(e)}var $c=Ho(function(e){var t=e.length,r=t?e[0]:0,i=this.__wrapped__,a=function(t){return bi(t,e)};return t>1||this.__actions__.length||!(i instanceof J)||!ds(r)?this.thru(a):(i=i.slice(r,+r+(t?1:0)),i.__actions__.push({func:Qc,args:[a],thisArg:n}),new Mr(i,this.__chain__).thru(function(e){return t&&!e.length&&e.push(n),e}))});function el(){return Xc(this)}function tl(){return new Mr(this.value(),this.__chain__)}function nl(){this.__values__===n&&(this.__values__=Xu(this.value()));var e=this.__index__>=this.__values__.length,t=e?n:this.__values__[this.__index__++];return{done:e,value:t}}function rl(){return this}function il(e){for(var t,r=this;r instanceof jr;){var i=zs(r);i.__index__=0,i.__values__=n,t?a.__wrapped__=i:t=i;var a=i;r=r.__wrapped__}return a.__wrapped__=e,t}function al(){var e=this.__wrapped__;if(e instanceof J){var t=e;return this.__actions__.length&&(t=new J(this)),t=t.reverse(),t.__actions__.push({func:Qc,args:[yc],thisArg:n}),new Mr(t,this.__chain__)}return this.thru(yc)}function ol(){return Ha(this.__wrapped__,this.__actions__)}var sl=fo(function(e,t,n){Et.call(e,n)?++e[n]:yi(e,n,1)});function cl(e,t,r){var i=Z(e)?kn:ki;return r&&fs(e,t,r)&&(t=n),i(e,X(t,3))}function ll(e,t){return(Z(e)?U:Mi)(e,X(t,3))}var ul=xo(Zs),dl=xo(Qs);function fl(e,t){return Ni(xl(e,t),1)}function pl(e,t){return Ni(xl(e,t),N)}function ml(e,t,r){return r=r===n?1:Q(r),Ni(xl(e,t),r)}function hl(e,t){return(Z(e)?Dn:Di)(e,X(t,3))}function gl(e,t){return(Z(e)?On:Oi)(e,X(t,3))}var _l=fo(function(e,t,n){Et.call(e,n)?e[n].push(t):yi(e,n,[t])});function vl(e,t,n,r){e=mu(e)?e:Wd(e),n=n&&!r?Q(n):0;var i=e.length;return n<0&&(n=tn(i+n,0)),Hu(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&W(e,t,n)>-1}var yl=Y(function(e,t,n){var r=-1,i=typeof t==`function`,a=mu(e)?Ze(e.length):[];return Di(e,function(e){a[++r]=i?Tn(t,e,n):Ji(e,t,n)}),a}),bl=fo(function(e,t,n){yi(e,n,t)});function xl(e,t){return(Z(e)?Mn:ua)(e,X(t,3))}function Sl(e,t,r,i){return e==null?[]:(Z(t)||(t=t==null?[]:[t]),r=i?n:r,Z(r)||(r=r==null?[]:[r]),ga(e,t,r))}var Cl=fo(function(e,t,n){e[n?0:1].push(t)},function(){return[[],[]]});function wl(e,t,n){var r=Z(e)?Pn:Kn,i=arguments.length<3;return r(e,X(t,4),n,i,Di)}function Tl(e,t,n){var r=Z(e)?Fn:Kn,i=arguments.length<3;return r(e,X(t,4),n,i,Oi)}function El(e,t){return(Z(e)?U:Mi)(e,Kl(X(t,3)))}function Dl(e){return(Z(e)?ui:Ta)(e)}function Ol(e,t,r){return t=(r?fs(e,t,r):t===n)?1:Q(t),(Z(e)?di:Ea)(e,t)}function kl(e){return(Z(e)?fi:Aa)(e)}function Al(e){if(e==null)return 0;if(mu(e))return Hu(e)?_r(e):e.length;var t=es(e);return t==de||t==ve?e.size:sa(e).length}function jl(e,t,r){var i=Z(e)?In:Ma;return r&&fs(e,t,r)&&(t=n),i(e,X(t,3))}var Ml=Y(function(e,t){if(e==null)return[];var n=t.length;return n>1&&fs(e,t[0],t[1])?t=[]:n>2&&fs(t[0],t[1],t[2])&&(t=[t[0]]),ga(e,Ni(t,1),[])}),Nl=Gt||function(){return mn.Date.now()};function Pl(e,t){if(typeof t!=`function`)throw new bt(o);return e=Q(e),function(){if(--e<1)return t.apply(this,arguments)}}function Fl(e,t,r){return t=r?n:t,t=e&&t==null?e.length:t,Fo(e,C,n,n,n,n,t)}function Il(e,t){var r;if(typeof t!=`function`)throw new bt(o);return e=Q(e),function(){return--e>0&&(r=t.apply(this,arguments)),e<=1&&(t=n),r}}var Ll=Y(function(e,t,n){var r=g;if(n.length){var i=fr(n,qo(Ll));r|=x}return Fo(e,r,t,n,i)}),Rl=Y(function(e,t,n){var r=g|_;if(n.length){var i=fr(n,qo(Rl));r|=x}return Fo(t,r,e,n,i)});function zl(e,t,r){t=r?n:t;var i=Fo(e,y,n,n,n,n,n,t);return i.placeholder=zl.placeholder,i}function Bl(e,t,r){t=r?n:t;var i=Fo(e,b,n,n,n,n,n,t);return i.placeholder=Bl.placeholder,i}function Vl(e,t,r){var i,a,s,c,l,u,d=0,f=!1,p=!1,m=!0;if(typeof e!=`function`)throw new bt(o);t=$u(t)||0,Ou(r)&&(f=!!r.leading,p=`maxWait`in r,s=p?tn($u(r.maxWait)||0,t):s,m=`trailing`in r?!!r.trailing:m);function h(t){var r=i,o=a;return i=a=n,d=t,c=e.apply(o,r),c}function g(e){return d=e,l=As(y,t),f?h(e):c}function _(e){var n=e-u,r=e-d,i=t-n;return p?V(i,s-r):i}function v(e){var r=e-u,i=e-d;return u===n||r>=t||r<0||p&&i>=s}function y(){var e=Nl();if(v(e))return b(e);l=As(y,_(e))}function b(e){return l=n,m&&i?h(e):(i=a=n,c)}function x(){l!==n&&Xa(l),d=0,i=u=a=l=n}function S(){return l===n?c:b(Nl())}function C(){var e=Nl(),r=v(e);if(i=arguments,a=this,u=e,r){if(l===n)return g(u);if(p)return Xa(l),l=As(y,t),h(u)}return l===n&&(l=As(y,t)),c}return C.cancel=x,C.flush=S,C}var Hl=Y(function(e,t){return Ti(e,1,t)}),Ul=Y(function(e,t,n){return Ti(e,$u(t)||0,n)});function Wl(e){return Fo(e,T)}function Gl(e,t){if(typeof e!=`function`||t!=null&&typeof t!=`function`)throw new bt(o);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=e.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(Gl.Cache||Jr),n}Gl.Cache=Jr;function Kl(e){if(typeof e!=`function`)throw new bt(o);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function ql(e){return Il(2,e)}var Jl=Ja(function(e,t){t=t.length==1&&Z(t[0])?Mn(t[0],Qn(X())):Mn(Ni(t,1),Qn(X()));var n=t.length;return Y(function(r){for(var i=-1,a=V(r.length,n);++i<a;)r[i]=t[i].call(this,r[i]);return Tn(e,this,r)})}),Yl=Y(function(e,t){var r=fr(t,qo(Yl));return Fo(e,x,n,t,r)}),Xl=Y(function(e,t){var r=fr(t,qo(Xl));return Fo(e,S,n,t,r)}),Zl=Ho(function(e,t){return Fo(e,w,n,n,n,t)});function Ql(e,t){if(typeof e!=`function`)throw new bt(o);return t=t===n?t:Q(t),Y(e,t)}function $l(e,t){if(typeof e!=`function`)throw new bt(o);return t=t==null?0:tn(Q(t),0),Y(function(n){var r=n[t],i=Ya(n,0,t);return r&&Nn(i,r),Tn(e,this,i)})}function eu(e,t,n){var r=!0,i=!0;if(typeof e!=`function`)throw new bt(o);return Ou(n)&&(r=`leading`in n?!!n.leading:r,i=`trailing`in n?!!n.trailing:i),Vl(e,t,{leading:r,maxWait:t,trailing:i})}function tu(e){return Fl(e,1)}function nu(e,t){return Yl(Ka(t),e)}function ru(){if(!arguments.length)return[];var e=arguments[0];return Z(e)?e:[e]}function iu(e){return Si(e,p)}function au(e,t){return t=typeof t==`function`?t:n,Si(e,p,t)}function ou(e){return Si(e,d|p)}function su(e,t){return t=typeof t==`function`?t:n,Si(e,d|p,t)}function cu(e,t){return t==null||wi(e,t,Td(t))}function lu(e,t){return e===t||e!==e&&t!==t}var uu=Ao(Hi),du=Ao(function(e,t){return e>=t}),fu=Yi(function(){return arguments}())?Yi:function(e){return ku(e)&&Et.call(e,`callee`)&&!zt.call(e,`callee`)},Z=Ze.isArray,pu=bn?Qn(bn):Xi;function mu(e){return e!=null&&Du(e.length)&&!Tu(e)}function hu(e){return ku(e)&&mu(e)}function gu(e){return e===!0||e===!1||ku(e)&&Vi(e)==ae}var _u=Xt||$f,vu=xn?Qn(xn):Zi;function yu(e){return ku(e)&&e.nodeType===1&&!Ru(e)}function bu(e){if(e==null)return!0;if(mu(e)&&(Z(e)||typeof e==`string`||typeof e.splice==`function`||_u(e)||Wu(e)||fu(e)))return!e.length;var t=es(e);if(t==de||t==ve)return!e.size;if(vs(e))return!sa(e).length;for(var n in e)if(Et.call(e,n))return!1;return!0}function xu(e,t){return Qi(e,t)}function Su(e,t,r){r=typeof r==`function`?r:n;var i=r?r(e,t):n;return i===n?Qi(e,t,n,r):!!i}function Cu(e){if(!ku(e))return!1;var t=Vi(e);return t==ce||t==se||typeof e.message==`string`&&typeof e.name==`string`&&!Ru(e)}function wu(e){return typeof e==`number`&&$t(e)}function Tu(e){if(!Ou(e))return!1;var t=Vi(e);return t==le||t==ue||t==ie||t==ge}function Eu(e){return typeof e==`number`&&e==Q(e)}function Du(e){return typeof e==`number`&&e>-1&&e%1==0&&e<=P}function Ou(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}function ku(e){return typeof e==`object`&&!!e}var Au=Sn?Qn(Sn):ea;function ju(e,t){return e===t||ta(e,t,Yo(t))}function Mu(e,t,r){return r=typeof r==`function`?r:n,ta(e,t,Yo(t),r)}function Nu(e){return Lu(e)&&e!=+e}function Pu(e){if(_s(e))throw new mt(a);return na(e)}function Fu(e){return e===null}function Iu(e){return e==null}function Lu(e){return typeof e==`number`||ku(e)&&Vi(e)==fe}function Ru(e){if(!ku(e)||Vi(e)!=me)return!1;var t=Lt(e);if(t===null)return!0;var n=Et.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n instanceof n&&Tt.call(n)==At}var zu=Cn?Qn(Cn):ra;function Bu(e){return Eu(e)&&e>=-P&&e<=P}var Vu=H?Qn(H):ia;function Hu(e){return typeof e==`string`||!Z(e)&&ku(e)&&Vi(e)==ye}function Uu(e){return typeof e==`symbol`||ku(e)&&Vi(e)==be}var Wu=wn?Qn(wn):aa;function Gu(e){return e===n}function Ku(e){return ku(e)&&es(e)==Se}function qu(e){return ku(e)&&Vi(e)==Ce}var Ju=Ao(la),Yu=Ao(function(e,t){return e<=t});function Xu(e){if(!e)return[];if(mu(e))return Hu(e)?vr(e):so(e);if(Ht&&e[Ht])return lr(e[Ht]());var t=es(e);return(t==de?ur:t==ve?pr:Wd)(e)}function Zu(e){return e?(e=$u(e),e===N||e===-N?(e<0?-1:1)*F:e===e?e:0):e===0?e:0}function Q(e){var t=Zu(e),n=t%1;return t===t?n?t-n:t:0}function Qu(e){return e?xi(Q(e),0,L):0}function $u(e){if(typeof e==`number`)return e;if(Uu(e))return I;if(Ou(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=Ou(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=Zn(e);var n=st.test(e);return n||lt.test(e)?dn(e.slice(2),n?2:8):ot.test(e)?I:+e}function ed(e){return co(e,Ed(e))}function td(e){return e?xi(Q(e),-P,P):e===0?e:0}function nd(e){return e==null?``:La(e)}var rd=po(function(e,t){if(vs(t)||mu(t)){co(t,Td(t),e);return}for(var n in t)Et.call(t,n)&&mi(e,n,t[n])}),id=po(function(e,t){co(t,Ed(t),e)}),ad=po(function(e,t,n,r){co(t,Ed(t),e,r)}),od=po(function(e,t,n,r){co(t,Td(t),e,r)}),sd=Ho(bi);function cd(e,t){var n=Ar(e);return t==null?n:_i(n,t)}var ld=Y(function(e,t){e=_t(e);var r=-1,i=t.length,a=i>2?t[2]:n;for(a&&fs(t[0],t[1],a)&&(i=1);++r<i;)for(var o=t[r],s=Ed(o),c=-1,l=s.length;++c<l;){var u=s[c],d=e[u];(d===n||lu(d,Ct[u])&&!Et.call(e,u))&&(e[u]=o[u])}return e}),ud=Y(function(e){return e.push(n,Lo),Tn(Ad,n,e)});function dd(e,t){return Bn(e,X(t,3),Ii)}function fd(e,t){return Bn(e,X(t,3),Li)}function pd(e,t){return e==null?e:Pi(e,X(t,3),Ed)}function md(e,t){return e==null?e:Fi(e,X(t,3),Ed)}function hd(e,t){return e&&Ii(e,X(t,3))}function gd(e,t){return e&&Li(e,X(t,3))}function _d(e){return e==null?[]:Ri(e,Td(e))}function vd(e){return e==null?[]:Ri(e,Ed(e))}function yd(e,t,r){var i=e==null?n:zi(e,t);return i===n?r:i}function bd(e,t){return e!=null&&rs(e,t,Ui)}function xd(e,t){return e!=null&&rs(e,t,Wi)}var Sd=wo(function(e,t,n){t!=null&&typeof t.toString!=`function`&&(t=kt.call(t)),e[t]=n},jf(Ff)),Cd=wo(function(e,t,n){t!=null&&typeof t.toString!=`function`&&(t=kt.call(t)),Et.call(e,t)?e[t].push(n):e[t]=[n]},X),wd=Y(Ji);function Td(e){return mu(e)?li(e):sa(e)}function Ed(e){return mu(e)?li(e,!0):ca(e)}function Dd(e,t){var n={};return t=X(t,3),Ii(e,function(e,r,i){yi(n,t(e,r,i),e)}),n}function Od(e,t){var n={};return t=X(t,3),Ii(e,function(e,r,i){yi(n,r,t(e,r,i))}),n}var kd=po(function(e,t,n){pa(e,t,n)}),Ad=po(function(e,t,n,r){pa(e,t,n,r)}),jd=Ho(function(e,t){var n={};if(e==null)return n;var r=!1;t=Mn(t,function(t){return t=qa(t,e),r||=t.length>1,t}),co(e,Wo(e),n),r&&(n=Si(n,d|f|p,Ro));for(var i=t.length;i--;)za(n,t[i]);return n});function Md(e,t){return Pd(e,Kl(X(t)))}var Nd=Ho(function(e,t){return e==null?{}:_a(e,t)});function Pd(e,t){if(e==null)return{};var n=Mn(Wo(e),function(e){return[e]});return t=X(t),va(e,n,function(e,n){return t(e,n[0])})}function Fd(e,t,r){t=qa(t,e);var i=-1,a=t.length;for(a||(a=1,e=n);++i<a;){var o=e==null?n:e[Is(t[i])];o===n&&(i=a,o=r),e=Tu(o)?o.call(e):o}return e}function Id(e,t,n){return e==null?e:Da(e,t,n)}function Ld(e,t,r,i){return i=typeof i==`function`?i:n,e==null?e:Da(e,t,r,i)}var Rd=Po(Td),zd=Po(Ed);function Bd(e,t,n){var r=Z(e),i=r||_u(e)||Wu(e);if(t=X(t,4),n==null){var a=e&&e.constructor;n=i?r?new a:[]:Ou(e)&&Tu(a)?Ar(Lt(e)):{}}return(i?Dn:Ii)(e,function(e,r,i){return t(n,e,r,i)}),n}function Vd(e,t){return e==null?!0:za(e,t)}function Hd(e,t,n){return e==null?e:Ba(e,t,Ka(n))}function Ud(e,t,r,i){return i=typeof i==`function`?i:n,e==null?e:Ba(e,t,Ka(r),i)}function Wd(e){return e==null?[]:$n(e,Td(e))}function Gd(e){return e==null?[]:$n(e,Ed(e))}function Kd(e,t,r){return r===n&&(r=t,t=n),r!==n&&(r=$u(r),r=r===r?r:0),t!==n&&(t=$u(t),t=t===t?t:0),xi($u(e),t,r)}function qd(e,t,r){return t=Zu(t),r===n?(r=t,t=0):r=Zu(r),e=$u(e),Gi(e,t,r)}function Jd(e,t,r){if(r&&typeof r!=`boolean`&&fs(e,t,r)&&(t=r=n),r===n&&(typeof t==`boolean`?(r=t,t=n):typeof e==`boolean`&&(r=e,e=n)),e===n&&t===n?(e=0,t=1):(e=Zu(e),t===n?(t=e,e=0):t=Zu(t)),e>t){var i=e;e=t,t=i}if(r||e%1||t%1){var a=ln();return V(e+a*(t-e+un(`1e-`+((a+``).length-1))),t)}return Sa(e,t)}var Yd=vo(function(e,t,n){return t=t.toLowerCase(),e+(n?Xd(t):t)});function Xd(e){return Tf(nd(e).toLowerCase())}function Zd(e){return e=nd(e),e&&e.replace(dt,ir).replace(Qt,``)}function Qd(e,t,r){e=nd(e),t=La(t);var i=e.length;r=r===n?i:xi(Q(r),0,i);var a=r;return r-=t.length,r>=0&&e.slice(r,a)==t}function $d(e){return e=nd(e),e&&Ve.test(e)?e.replace(ze,ar):e}function ef(e){return e=nd(e),e&&Ye.test(e)?e.replace(Je,`\\$&`):e}var tf=vo(function(e,t,n){return e+(n?`-`:``)+t.toLowerCase()}),nf=vo(function(e,t,n){return e+(n?` `:``)+t.toLowerCase()}),rf=_o(`toLowerCase`);function af(e,t,n){e=nd(e),t=Q(t);var r=t?_r(e):0;if(!t||r>=t)return e;var i=(t-r)/2;return Do(Jt(i),n)+e+Do(qt(i),n)}function sf(e,t,n){e=nd(e),t=Q(t);var r=t?_r(e):0;return t&&r<t?e+Do(t-r,n):e}function cf(e,t,n){e=nd(e),t=Q(t);var r=t?_r(e):0;return t&&r<t?Do(t-r,n)+e:e}function lf(e,t,n){return n||t==null?t=0:t&&=+t,cn(nd(e).replace(Xe,``),t||0)}function uf(e,t,r){return t=(r?fs(e,t,r):t===n)?1:Q(t),wa(nd(e),t)}function df(){var e=arguments,t=nd(e[0]);return e.length<3?t:t.replace(e[1],e[2])}var ff=vo(function(e,t,n){return e+(n?`_`:``)+t.toLowerCase()});function pf(e,t,r){return r&&typeof r!=`number`&&fs(e,t,r)&&(t=r=n),r=r===n?L:r>>>0,r?(e=nd(e),e&&(typeof t==`string`||t!=null&&!zu(t))&&(t=La(t),!t&&K(e))?Ya(vr(e),0,r):e.split(t,r)):[]}var mf=vo(function(e,t,n){return e+(n?` `:``)+Tf(t)});function hf(e,t,n){return e=nd(e),n=n==null?0:xi(Q(n),0,e.length),t=La(t),e.slice(n,n+t.length)==t}function gf(e,t,r){var i=q.templateSettings;r&&fs(e,t,r)&&(t=n),e=nd(e),t=ad({},t,i,Io);var a=ad({},t.imports,i.imports,Io),o=Td(a),c=$n(a,o),l,u,d=0,f=t.interpolate||ft,p=`__p += '`,m=vt((t.escape||ft).source+`|`+f.source+`|`+(f===We?it:ft).source+`|`+(t.evaluate||ft).source+`|$`,`g`),h=`//# sourceURL=`+(Et.call(t,`sourceURL`)?(t.sourceURL+``).replace(/\s/g,` `):`lodash.templateSources[`+ ++rn+`]`)+`
`;e.replace(m,function(t,n,r,i,a,o){return r||=i,p+=e.slice(d,o).replace(pt,or),n&&(l=!0,p+=`' +
__e(`+n+`) +
'`),a&&(u=!0,p+=`';
`+a+`;
__p += '`),r&&(p+=`' +
((__t = (`+r+`)) == null ? '' : __t) +
'`),d=o+t.length,t}),p+=`';
`;var g=Et.call(t,`variable`)&&t.variable;if(!g)p=`with (obj) {
`+p+`
}
`;else if(nt.test(g))throw new mt(s);p=(u?p.replace(Fe,``):p).replace(Ie,`$1`).replace(Le,`$1;`),p=`function(`+(g||`obj`)+`) {
`+(g?``:`obj || (obj = {});
`)+`var __t, __p = ''`+(l?`, __e = _.escape`:``)+(u?`, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
`:`;
`)+p+`return __p
}`;var _=Df(function(){return ht(o,h+`return `+p).apply(n,c)});if(_.source=p,Cu(_))throw _;return _}function _f(e){return nd(e).toLowerCase()}function vf(e){return nd(e).toUpperCase()}function yf(e,t,r){if(e=nd(e),e&&(r||t===n))return Zn(e);if(!e||!(t=La(t)))return e;var i=vr(e),a=vr(t),o=tr(i,a),s=nr(i,a)+1;return Ya(i,o,s).join(``)}function bf(e,t,r){if(e=nd(e),e&&(r||t===n))return e.slice(0,yr(e)+1);if(!e||!(t=La(t)))return e;var i=vr(e),a=nr(i,vr(t))+1;return Ya(i,0,a).join(``)}function xf(e,t,r){if(e=nd(e),e&&(r||t===n))return e.replace(Xe,``);if(!e||!(t=La(t)))return e;var i=vr(e),a=tr(i,vr(t));return Ya(i,a).join(``)}function Sf(e,t){var r=E,i=D;if(Ou(t)){var a=`separator`in t?t.separator:a;r=`length`in t?Q(t.length):r,i=`omission`in t?La(t.omission):i}e=nd(e);var o=e.length;if(K(e)){var s=vr(e);o=s.length}if(r>=o)return e;var c=r-_r(i);if(c<1)return i;var l=s?Ya(s,0,c).join(``):e.slice(0,c);if(a===n)return l+i;if(s&&(c+=l.length-c),zu(a)){if(e.slice(c).search(a)){var u,d=l;for(a.global||(a=vt(a.source,nd(at.exec(a))+`g`)),a.lastIndex=0;u=a.exec(d);)var f=u.index;l=l.slice(0,f===n?c:f)}}else if(e.indexOf(La(a),c)!=c){var p=l.lastIndexOf(a);p>-1&&(l=l.slice(0,p))}return l+i}function Cf(e){return e=nd(e),e&&Be.test(e)?e.replace(Re,br):e}var wf=vo(function(e,t,n){return e+(n?` `:``)+t.toUpperCase()}),Tf=_o(`toUpperCase`);function Ef(e,t,r){return e=nd(e),t=r?n:t,t===n?cr(e)?Cr(e):zn(e):e.match(t)||[]}var Df=Y(function(e,t){try{return Tn(e,n,t)}catch(e){return Cu(e)?e:new mt(e)}}),Of=Ho(function(e,t){return Dn(t,function(t){t=Is(t),yi(e,t,Ll(e[t],e))}),e});function kf(e){var t=e==null?0:e.length,n=X();return e=t?Mn(e,function(e){if(typeof e[1]!=`function`)throw new bt(o);return[n(e[0]),e[1]]}):[],Y(function(n){for(var r=-1;++r<t;){var i=e[r];if(Tn(i[0],this,n))return Tn(i[1],this,n)}})}function Af(e){return Ci(Si(e,d))}function jf(e){return function(){return e}}function Mf(e,t){return e==null||e!==e?t:e}var Nf=So(),Pf=So(!0);function Ff(e){return e}function If(e){return oa(typeof e==`function`?e:Si(e,d))}function Lf(e){return da(Si(e,d))}function Rf(e,t){return fa(e,Si(t,d))}var zf=Y(function(e,t){return function(n){return Ji(n,e,t)}}),Bf=Y(function(e,t){return function(n){return Ji(e,n,t)}});function Vf(e,t,n){var r=Td(t),i=Ri(t,r);n==null&&!(Ou(t)&&(i.length||!r.length))&&(n=t,t=e,e=this,i=Ri(t,Td(t)));var a=!(Ou(n)&&`chain`in n)||!!n.chain,o=Tu(e);return Dn(i,function(n){var r=t[n];e[n]=r,o&&(e.prototype[n]=function(){var t=this.__chain__;if(a||t){var n=e(this.__wrapped__);return(n.__actions__=so(this.__actions__)).push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,Nn([this.value()],arguments))})}),e}function Hf(){return mn._===this&&(mn._=jt),this}function Uf(){}function Wf(e){return e=Q(e),Y(function(t){return ha(t,e)})}var Gf=Eo(Mn),Kf=Eo(kn),qf=Eo(In);function Jf(e){return ps(e)?Wn(Is(e)):ya(e)}function Yf(e){return function(t){return e==null?n:zi(e,t)}}var Xf=ko(),Zf=ko(!0);function Qf(){return[]}function $f(){return!1}function ep(){return{}}function tp(){return``}function np(){return!0}function rp(e,t){if(e=Q(e),e<1||e>P)return[];var n=L,r=V(e,L);t=X(t),e-=L;for(var i=Yn(r,t);++n<e;)t(n);return i}function ip(e){return Z(e)?Mn(e,Is):Uu(e)?[e]:so(Fs(nd(e)))}function ap(e){var t=++Dt;return nd(e)+t}var op=To(function(e,t){return e+t},0),sp=Mo(`ceil`),cp=To(function(e,t){return e/t},1),lp=Mo(`floor`);function up(e){return e&&e.length?Ai(e,Ff,Hi):n}function dp(e,t){return e&&e.length?Ai(e,X(t,2),Hi):n}function fp(e){return Un(e,Ff)}function pp(e,t){return Un(e,X(t,2))}function mp(e){return e&&e.length?Ai(e,Ff,la):n}function hp(e,t){return e&&e.length?Ai(e,X(t,2),la):n}var gp=To(function(e,t){return e*t},1),_p=Mo(`round`),vp=To(function(e,t){return e-t},0);function $(e){return e&&e.length?Jn(e,Ff):0}function yp(e,t){return e&&e.length?Jn(e,X(t,2)):0}return q.after=Pl,q.ary=Fl,q.assign=rd,q.assignIn=id,q.assignInWith=ad,q.assignWith=od,q.at=sd,q.before=Il,q.bind=Ll,q.bindAll=Of,q.bindKey=Rl,q.castArray=ru,q.chain=Xc,q.chunk=Bs,q.compact=Vs,q.concat=Hs,q.cond=kf,q.conforms=Af,q.constant=jf,q.countBy=sl,q.create=cd,q.curry=zl,q.curryRight=Bl,q.debounce=Vl,q.defaults=ld,q.defaultsDeep=ud,q.defer=Hl,q.delay=Ul,q.difference=Us,q.differenceBy=Ws,q.differenceWith=Gs,q.drop=Ks,q.dropRight=qs,q.dropRightWhile=Js,q.dropWhile=Ys,q.fill=Xs,q.filter=ll,q.flatMap=fl,q.flatMapDeep=pl,q.flatMapDepth=ml,q.flatten=$s,q.flattenDeep=ec,q.flattenDepth=tc,q.flip=Wl,q.flow=Nf,q.flowRight=Pf,q.fromPairs=nc,q.functions=_d,q.functionsIn=vd,q.groupBy=_l,q.initial=ac,q.intersection=oc,q.intersectionBy=sc,q.intersectionWith=cc,q.invert=Sd,q.invertBy=Cd,q.invokeMap=yl,q.iteratee=If,q.keyBy=bl,q.keys=Td,q.keysIn=Ed,q.map=xl,q.mapKeys=Dd,q.mapValues=Od,q.matches=Lf,q.matchesProperty=Rf,q.memoize=Gl,q.merge=kd,q.mergeWith=Ad,q.method=zf,q.methodOf=Bf,q.mixin=Vf,q.negate=Kl,q.nthArg=Wf,q.omit=jd,q.omitBy=Md,q.once=ql,q.orderBy=Sl,q.over=Gf,q.overArgs=Jl,q.overEvery=Kf,q.overSome=qf,q.partial=Yl,q.partialRight=Xl,q.partition=Cl,q.pick=Nd,q.pickBy=Pd,q.property=Jf,q.propertyOf=Yf,q.pull=pc,q.pullAll=mc,q.pullAllBy=hc,q.pullAllWith=gc,q.pullAt=_c,q.range=Xf,q.rangeRight=Zf,q.rearg=Zl,q.reject=El,q.remove=vc,q.rest=Ql,q.reverse=yc,q.sampleSize=Ol,q.set=Id,q.setWith=Ld,q.shuffle=kl,q.slice=bc,q.sortBy=Ml,q.sortedUniq=Dc,q.sortedUniqBy=Oc,q.split=pf,q.spread=$l,q.tail=kc,q.take=Ac,q.takeRight=jc,q.takeRightWhile=Mc,q.takeWhile=Nc,q.tap=Zc,q.throttle=eu,q.thru=Qc,q.toArray=Xu,q.toPairs=Rd,q.toPairsIn=zd,q.toPath=ip,q.toPlainObject=ed,q.transform=Bd,q.unary=tu,q.union=Pc,q.unionBy=Fc,q.unionWith=Ic,q.uniq=Lc,q.uniqBy=Rc,q.uniqWith=zc,q.unset=Vd,q.unzip=Bc,q.unzipWith=Vc,q.update=Hd,q.updateWith=Ud,q.values=Wd,q.valuesIn=Gd,q.without=Hc,q.words=Ef,q.wrap=nu,q.xor=Uc,q.xorBy=Wc,q.xorWith=Gc,q.zip=Kc,q.zipObject=qc,q.zipObjectDeep=Jc,q.zipWith=Yc,q.entries=Rd,q.entriesIn=zd,q.extend=id,q.extendWith=ad,Vf(q,q),q.add=op,q.attempt=Df,q.camelCase=Yd,q.capitalize=Xd,q.ceil=sp,q.clamp=Kd,q.clone=iu,q.cloneDeep=ou,q.cloneDeepWith=su,q.cloneWith=au,q.conformsTo=cu,q.deburr=Zd,q.defaultTo=Mf,q.divide=cp,q.endsWith=Qd,q.eq=lu,q.escape=$d,q.escapeRegExp=ef,q.every=cl,q.find=ul,q.findIndex=Zs,q.findKey=dd,q.findLast=dl,q.findLastIndex=Qs,q.findLastKey=fd,q.floor=lp,q.forEach=hl,q.forEachRight=gl,q.forIn=pd,q.forInRight=md,q.forOwn=hd,q.forOwnRight=gd,q.get=yd,q.gt=uu,q.gte=du,q.has=bd,q.hasIn=xd,q.head=rc,q.identity=Ff,q.includes=vl,q.indexOf=ic,q.inRange=qd,q.invoke=wd,q.isArguments=fu,q.isArray=Z,q.isArrayBuffer=pu,q.isArrayLike=mu,q.isArrayLikeObject=hu,q.isBoolean=gu,q.isBuffer=_u,q.isDate=vu,q.isElement=yu,q.isEmpty=bu,q.isEqual=xu,q.isEqualWith=Su,q.isError=Cu,q.isFinite=wu,q.isFunction=Tu,q.isInteger=Eu,q.isLength=Du,q.isMap=Au,q.isMatch=ju,q.isMatchWith=Mu,q.isNaN=Nu,q.isNative=Pu,q.isNil=Iu,q.isNull=Fu,q.isNumber=Lu,q.isObject=Ou,q.isObjectLike=ku,q.isPlainObject=Ru,q.isRegExp=zu,q.isSafeInteger=Bu,q.isSet=Vu,q.isString=Hu,q.isSymbol=Uu,q.isTypedArray=Wu,q.isUndefined=Gu,q.isWeakMap=Ku,q.isWeakSet=qu,q.join=lc,q.kebabCase=tf,q.last=uc,q.lastIndexOf=dc,q.lowerCase=nf,q.lowerFirst=rf,q.lt=Ju,q.lte=Yu,q.max=up,q.maxBy=dp,q.mean=fp,q.meanBy=pp,q.min=mp,q.minBy=hp,q.stubArray=Qf,q.stubFalse=$f,q.stubObject=ep,q.stubString=tp,q.stubTrue=np,q.multiply=gp,q.nth=fc,q.noConflict=Hf,q.noop=Uf,q.now=Nl,q.pad=af,q.padEnd=sf,q.padStart=cf,q.parseInt=lf,q.random=Jd,q.reduce=wl,q.reduceRight=Tl,q.repeat=uf,q.replace=df,q.result=Fd,q.round=_p,q.runInContext=e,q.sample=Dl,q.size=Al,q.snakeCase=ff,q.some=jl,q.sortedIndex=xc,q.sortedIndexBy=Sc,q.sortedIndexOf=Cc,q.sortedLastIndex=wc,q.sortedLastIndexBy=Tc,q.sortedLastIndexOf=Ec,q.startCase=mf,q.startsWith=hf,q.subtract=vp,q.sum=$,q.sumBy=yp,q.template=gf,q.times=rp,q.toFinite=Zu,q.toInteger=Q,q.toLength=Qu,q.toLower=_f,q.toNumber=$u,q.toSafeInteger=td,q.toString=nd,q.toUpper=vf,q.trim=yf,q.trimEnd=bf,q.trimStart=xf,q.truncate=Sf,q.unescape=Cf,q.uniqueId=ap,q.upperCase=wf,q.upperFirst=Tf,q.each=hl,q.eachRight=gl,q.first=rc,Vf(q,function(){var e={};return Ii(q,function(t,n){Et.call(q.prototype,n)||(e[n]=t)}),e}(),{chain:!1}),q.VERSION=r,Dn([`bind`,`bindKey`,`curry`,`curryRight`,`partial`,`partialRight`],function(e){q[e].placeholder=q}),Dn([`drop`,`take`],function(e,t){J.prototype[e]=function(r){r=r===n?1:tn(Q(r),0);var i=this.__filtered__&&!t?new J(this):this.clone();return i.__filtered__?i.__takeCount__=V(r,i.__takeCount__):i.__views__.push({size:V(r,L),type:e+(i.__dir__<0?`Right`:``)}),i},J.prototype[e+`Right`]=function(t){return this.reverse()[e](t).reverse()}}),Dn([`filter`,`map`,`takeWhile`],function(e,t){var n=t+1,r=n==A||n==M;J.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:X(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}}),Dn([`head`,`last`],function(e,t){var n=`take`+(t?`Right`:``);J.prototype[e]=function(){return this[n](1).value()[0]}}),Dn([`initial`,`tail`],function(e,t){var n=`drop`+(t?``:`Right`);J.prototype[e]=function(){return this.__filtered__?new J(this):this[n](1)}}),J.prototype.compact=function(){return this.filter(Ff)},J.prototype.find=function(e){return this.filter(e).head()},J.prototype.findLast=function(e){return this.reverse().find(e)},J.prototype.invokeMap=Y(function(e,t){return typeof e==`function`?new J(this):this.map(function(n){return Ji(n,e,t)})}),J.prototype.reject=function(e){return this.filter(Kl(X(e)))},J.prototype.slice=function(e,t){e=Q(e);var r=this;return r.__filtered__&&(e>0||t<0)?new J(r):(e<0?r=r.takeRight(-e):e&&(r=r.drop(e)),t!==n&&(t=Q(t),r=t<0?r.dropRight(-t):r.take(t-e)),r)},J.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},J.prototype.toArray=function(){return this.take(L)},Ii(J.prototype,function(e,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),i=/^(?:head|last)$/.test(t),a=q[i?`take`+(t==`last`?`Right`:``):t],o=i||/^find/.test(t);a&&(q.prototype[t]=function(){var t=this.__wrapped__,s=i?[1]:arguments,c=t instanceof J,l=s[0],u=c||Z(t),d=function(e){var t=a.apply(q,Nn([e],s));return i&&f?t[0]:t};u&&r&&typeof l==`function`&&l.length!=1&&(c=u=!1);var f=this.__chain__,p=!!this.__actions__.length,m=o&&!f,h=c&&!p;if(!o&&u){t=h?t:new J(this);var g=e.apply(t,s);return g.__actions__.push({func:Qc,args:[d],thisArg:n}),new Mr(g,f)}return m&&h?e.apply(this,s):(g=this.thru(d),m?i?g.value()[0]:g.value():g)})}),Dn([`pop`,`push`,`shift`,`sort`,`splice`,`unshift`],function(e){var t=xt[e],n=/^(?:push|sort|unshift)$/.test(e)?`tap`:`thru`,r=/^(?:pop|shift)$/.test(e);q.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var i=this.value();return t.apply(Z(i)?i:[],e)}return this[n](function(n){return t.apply(Z(n)?n:[],e)})}}),Ii(J.prototype,function(e,t){var n=q[t];if(n){var r=n.name+``;Et.call(Gn,r)||(Gn[r]=[]),Gn[r].push({name:t,func:n})}}),Gn[Co(n,_).name]=[{name:`wrapper`,func:n}],J.prototype.clone=Nr,J.prototype.reverse=Pr,J.prototype.value=Fr,q.prototype.at=$c,q.prototype.chain=el,q.prototype.commit=tl,q.prototype.next=nl,q.prototype.plant=il,q.prototype.reverse=al,q.prototype.toJSON=q.prototype.valueOf=q.prototype.value=ol,q.prototype.first=q.prototype.head,Ht&&(q.prototype[Ht]=rl),q})();typeof define==`function`&&typeof define.amd==`object`&&define.amd?(mn._=wr,define(function(){return wr})):gn?((gn.exports=wr)._=wr,hn._=wr):mn._=wr}).call(e)})),De=e.__toESM(Ee());function Oe(e){return e.replace(/\{(\s+)?\}/g,``)}function ke(e,n,r){if(!e||!n)return!1;e=Oe(e);let[i,...a]=n.split(`.`),o;try{o=t.parse(e)}catch{}if(!o)return!1;let s=o.definitions.find(e=>e.kind===t.Kind.OPERATION_DEFINITION&&e.operation===i?r?e.name?.value===r:!0:!1);if(!s)return!1;if(a.length===0)return!0;let c=[],l=!1;return t.visit(s,{Field:{enter(e){if(c.push(e.name.value),c.length===a.length&&c.every((e,t)=>e===a[t]))return l=!0,!1},leave(){c.pop()}}}),l}function Ae(e,n,r){e=Oe(e);let[i,...a]=n.split(`.`),o;try{o=t.parse(e)}catch{}o??={kind:t.Kind.DOCUMENT,definitions:[{kind:t.Kind.OPERATION_DEFINITION,operation:i,name:{kind:t.Kind.NAME,value:`Untitled`},selectionSet:{kind:t.Kind.SELECTION_SET,selections:[]}}]};let s=o.definitions.find(e=>e.kind===t.Kind.OPERATION_DEFINITION&&e.operation===i?r?e.name?.value===r:!0:!1);if(s||(s={kind:t.Kind.OPERATION_DEFINITION,operation:i,name:{kind:t.Kind.NAME,value:`Untitled`},selectionSet:{kind:t.Kind.SELECTION_SET,selections:[]}},o.definitions.push(s)),a.length===0)return t.print(o).split(`
`).map(e=>e.includes(`${i} Untitled`)?e+` {}`:e).join(`
`);let c=[];return t.visit(s,{OperationDefinition:{enter(e){let n=a[0];e.selectionSet??={kind:t.Kind.SELECTION_SET,selections:[]};let r=e.selectionSet.selections.find(e=>e.kind===t.Kind.FIELD&&e.name.value===n);r||(r={kind:t.Kind.FIELD,name:{kind:t.Kind.NAME,value:n}},e.selectionSet.selections.push(r))}},Field:{enter(e){if(c.push(e.name.value),c.every((e,t)=>e===a[t])){if(c.length===a.length)return!1;let n=a[c.length];e.selectionSet??={kind:t.Kind.SELECTION_SET,selections:[]};let r=e.selectionSet.selections.find(e=>e.kind===t.Kind.FIELD&&e.name.value===n);r||(r={kind:t.Kind.FIELD,name:{kind:t.Kind.NAME,value:n}},e.selectionSet.selections.push(r))}},leave(){c.pop()}}}),t.print(o)}function je(e,n,r){e=Oe(e);let[i,...a]=n.split(`.`),o;try{o=t.parse(e)}catch{}if(!o)return e;let s=o.definitions.find(e=>e.kind===t.Kind.OPERATION_DEFINITION&&e.operation===i?r?e.name?.value===r:!0:!1);if(!s)return e;let c=[],l=!1;return t.visit(s,{OperationDefinition:{enter(e){if(a.length===1){let n=a[0];e.selectionSet&&(e.selectionSet.selections=e.selectionSet.selections.filter(e=>e.kind!==t.Kind.FIELD||e.name.value!==n),l=e.selectionSet.selections.length===0)}}},Field:{enter(e){if(c.push(e.name.value),c.length===a.length-1&&c.every((e,t)=>e===a[t])){let n=a[c.length];e.selectionSet&&(e.selectionSet.selections=e.selectionSet.selections.filter(e=>e.kind!==t.Kind.FIELD||e.name.value!==n))}},leave(){c.pop()}}}),l?o.definitions.length>1?`${t.print({...o,definitions:o.definitions.filter(e=>e!==s)})}
${i} ${s.name?.value} {}`:`${i} ${s.name?.value} {}`:(s=o.definitions.find(e=>e.kind===t.Kind.OPERATION_DEFINITION&&e.operation===i?r?e.name?.value===r:!0:!1),t.print(o))}function Me(e){try{return t.parse(e).definitions.find(e=>e.kind===t.Kind.OPERATION_DEFINITION)?.name?.value}catch{let t=e.match(/(query|mutation|subscription)\s+([a-zA-Z0-9_]+)/);return t?t[2]:null}}function Ne(e){try{return t.parse(e).definitions.find(e=>e.kind===t.Kind.OPERATION_DEFINITION)?.operation}catch{return null}}function Pe(e,n,r,i){if(!e||!n)return!1;e=Oe(e);let[a,...o]=n.split(`.`),s;try{s=t.parse(e)}catch{}if(!s)return!1;let c=s.definitions.find(e=>e.kind===t.Kind.OPERATION_DEFINITION&&e.operation===a?i?e.name?.value===i:!0:!1);if(!c)return!1;let l=[],u=!1;return t.visit(c,{Field:{enter(e){l.push(e.name.value),l.length===o.length&&l.every((e,t)=>e===o[t])&&e.arguments&&(u=e.arguments.some(e=>e.name.value===r))},leave(){l.pop()}}}),u}function Fe(e){return e instanceof t.GraphQLNonNull||e instanceof t.GraphQLNonNull||e instanceof t.GraphQLList?Fe(e.ofType):e instanceof t.GraphQLObjectType||e instanceof t.GraphQLScalarType?e:null}function Ie(e,n){let[r,...i]=e.split(`.`),a;if(r===`query`?a=n.getQueryType():r===`mutation`?a=n.getMutationType():r===`subscription`&&(a=n.getSubscriptionType()),a){for(let e=0;e<i.length;++e){if(!a)return;if(a instanceof t.GraphQLObjectType){let t=a.getFields()[i[e]];if(!t)return;if(e===i.length-1)return t;a=Fe(t.type)}}return null}}function Le(e,n,r,i,a){e=Oe(e);let[o,...s]=n.split(`.`),c;try{c=t.parse(e)}catch{}c||={kind:t.Kind.DOCUMENT,definitions:[{kind:t.Kind.OPERATION_DEFINITION,operation:o,name:{kind:t.Kind.NAME,value:`NewOperation`},selectionSet:{kind:t.Kind.SELECTION_SET,selections:[]}}]};let l=c.definitions.find(e=>e.kind===t.Kind.OPERATION_DEFINITION&&e.operation===o?a?e.name?.value===a:!0:!1);l||(l={kind:t.Kind.OPERATION_DEFINITION,operation:o,name:{kind:t.Kind.NAME,value:`NewOperation`},selectionSet:{kind:t.Kind.SELECTION_SET,selections:[]}},c.definitions.push(l)),e=t.print(c),ke(e,n,a)||(c=t.parse(Ae(e,n,a)),l=c.definitions.find(e=>e.kind===t.Kind.OPERATION_DEFINITION&&e.operation===o?a?e.name?.value===a:!0:!1));let u=[];return t.visit(l,{Field:{enter(e){if(u.push(e.name.value),u.length===s.length-1&&u.every((e,t)=>e===s[t])){let n=s[u.length];if(e.selectionSet){let a=Ie([o,...u,n].join(`.`),i);if(a?.args){let i=a.args.find(e=>e.name===r);if(i){l.variableDefinitions||=[];let a=i.name,o=2;for(;l.variableDefinitions.find(e=>e.variable.name.value===a);)a=i.name+o,++o;l.variableDefinitions.push({kind:t.Kind.VARIABLE_DEFINITION,variable:{kind:t.Kind.VARIABLE,name:{kind:t.Kind.NAME,value:a}},type:{kind:t.Kind.NAMED_TYPE,name:{kind:t.Kind.NAME,value:i.type.toString()}}});let s=e.selectionSet.selections.find(e=>e.kind===t.Kind.FIELD&&e.name.value===n);s&&(s.arguments||=[],s.arguments.push({kind:t.Kind.ARGUMENT,name:{kind:t.Kind.NAME,value:r},value:{kind:t.Kind.VARIABLE,name:{kind:t.Kind.NAME,value:a}}}))}}}}},leave(){u.pop()}},OperationDefinition:{enter(e){if(s.length===1){let n=s[0];if(e.selectionSet){let a=Ie([o,...u,n].join(`.`),i);if(a?.args){let i=a.args.find(e=>e.name===r);if(i){e.variableDefinitions||=[];let a=i.name,o=2;for(;e.variableDefinitions.find(e=>e.variable.name.value===a);)a=i.name+o,++o;e.variableDefinitions.push({kind:t.Kind.VARIABLE_DEFINITION,variable:{kind:t.Kind.VARIABLE,name:{kind:t.Kind.NAME,value:a}},type:{kind:t.Kind.NAMED_TYPE,name:{kind:t.Kind.NAME,value:i.type.toString()}}});let s=e.selectionSet.selections.find(e=>e.kind===t.Kind.FIELD&&e.name.value===n);s&&(s.arguments||=[],s.arguments.push({kind:t.Kind.ARGUMENT,name:{kind:t.Kind.NAME,value:r},value:{kind:t.Kind.VARIABLE,name:{kind:t.Kind.NAME,value:a}}}))}}}}}}}),t.print(c)}function Re(e,n,r,i){e=Oe(e);let[a,...o]=n.split(`.`),s;try{s=t.parse(e)}catch{}if(!s)return e;let c=s.definitions.find(e=>e.kind===t.Kind.OPERATION_DEFINITION&&e.operation===a?i?e.name?.value===i:!0:!1);if(!c)return e;let l=[];return t.visit(c,{Field:{enter(e){if(l.push(e.name.value),l.length===o.length-1&&l.every((e,t)=>e===o[t])){let n=o[l.length];if(e.selectionSet){let i=e.selectionSet.selections.find(e=>e.kind===t.Kind.FIELD&&e.name.value===n);i?.arguments&&(i.arguments=i.arguments.filter(e=>e.kind!==t.Kind.ARGUMENT||e.name.value!==r))}}},leave(){l.pop()}},OperationDefinition:{enter(e){if(o.length===1){let n=o[0];if(e.selectionSet){let i=e.selectionSet.selections.find(e=>e.kind===t.Kind.FIELD&&e.name.value===n);i?.arguments&&(i.arguments=i.arguments.filter(e=>e.kind!==t.Kind.ARGUMENT||e.name.value!==r))}}}}}),t.print(s)}function ze(e){try{let n=t.parse(e),r=[[n.definitions[0].kind===t.Kind.OPERATION_DEFINITION?n.definitions[0].operation:`query`]],i=(e,t=[])=>{for(let n of e)if(n.kind===`Field`){let e=[...t,n.name.value];r.push(e),n.selectionSet&&i(n.selectionSet.selections,e)}};for(let e of n.definitions)e.kind===`OperationDefinition`&&e.selectionSet&&i(e.selectionSet.selections,r[0]);return r}catch{return[]}}function Be(e){return ze(e).map(e=>e.join(`.`))}function Ve(e){return e instanceof t.GraphQLNonNull||e instanceof t.GraphQLList?Ve(e.ofType):e}function He(e){return e instanceof t.GraphQLObjectType||e instanceof t.GraphQLInterfaceType}function Ue(e,t,n){if(n.length>1){let t=e.length-n.length;if(t<0)return!1;for(let r=0;r<=t;++r){let t=!0;for(let i=0;i<n.length;++i)if(!e[r+i].includes(n[i])){t=!1;break}if(t)return!0}return!1}for(let n of e)if(n.includes(t))return!0;return!1}function We(e,n,r){let i=n.trim().toLowerCase();if(!i)return{matchedPaths:[],visiblePaths:new Set,forcedOpenPaths:new Set,hasMore:!1,nodesVisited:0};let a=r?.maxDepth??8,o=r?.maxMatches??500,s=r?.maxNodes??4e4,c=i.split(`.`).filter(Boolean),l=[],u=new Set,d=new Set,f=[],p=0,m=[[t.OperationTypeNode.QUERY,e.getQueryType()??null],[t.OperationTypeNode.MUTATION,e.getMutationType()??null],[t.OperationTypeNode.SUBSCRIPTION,e.getSubscriptionType()??null]],h=r?.operationTypes&&r.operationTypes.length>0?m.filter(([e])=>r.operationTypes.includes(e)):m;for(let[e,t]of h)if(t)for(let n of Object.values(t.getFields()))f.push({operation:e,field:n,pathSegments:[n.name],typeTrail:[t.name],depth:1});let g=0,_=!1;for(;p<f.length;){if(g>=s||l.length>=o){_=!0;break}let e=f[p++];++g;let t=`${e.operation}.${e.pathSegments.join(`.`)}`,n=e.pathSegments.map(e=>e.toLowerCase());if(Ue(n,i,c)){l.push(t),u.add(t);let e=t.indexOf(`.`);for(;e!==-1;){let n=t.slice(0,e);u.add(n),d.add(n),e=t.indexOf(`.`,e+1)}}if(e.depth>=a)continue;let r=Ve(e.field.type);if(!He(r)||e.typeTrail.includes(r.name))continue;let m=[...e.typeTrail,r.name];for(let t of Object.values(r.getFields()))f.push({operation:e.operation,field:t,pathSegments:[...e.pathSegments,t.name],typeTrail:m,depth:e.depth+1})}return{matchedPaths:l,visiblePaths:u,forcedOpenPaths:d,hasMore:_,nodesVisited:g}}function Ge(e,t){return e.replace(/\{\{(.*?)\}\}/g,(e,n)=>(0,De.get)(t,n)??e)}function Ke(e,n){let[r,...i]=e.split(`.`),a;if(r===`query`?a=n.getQueryType():r===`mutation`?a=n.getMutationType():r===`subscription`&&(a=n.getSubscriptionType()),!a)return null;let o;for(let e of i)if(a instanceof t.GraphQLObjectType){if(o=a.getFields()[e],!o)return null;a=o.type}return o}const qe=e=>{let[t,n]=(0,r.useState)(e.defaultOperations??[]),i=(0,r.useMemo)(()=>{let n=e.tabsApi?.activeTab;return n&&n.type===`operation`?t.find(e=>e.id===n.data.id)??null:null},[e.tabsApi,t]),a=(0,r.useCallback)(t=>{let n=e.tabsApi?.tabs.find(e=>e.type===`operation`&&e.data.id===t)??null;n&&e.tabsApi?.setActiveTab(n)},[e.tabsApi]),o=(0,r.useCallback)(t=>{n(t),e.onOperationsChange?.(t)},[e]),s=(0,r.useCallback)(r=>{let i={id:w(),...r},a=[...t,i];return n(a),e.onOperationsChange?.(a),e.onOperationCreate?.(i),i},[t,e]);(0,r.useEffect)(()=>{let t=new URLSearchParams(window.location.search).get(`share`);if(t){let n=(0,u.decompressFromEncodedURIComponent)(t);if(n){let{n:t,q:r,v:i,h:a,e:o}=JSON.parse(n),c=s({name:t,query:r,variables:i,headers:a,extensions:o}),l=e.tabsApi?.addTab({type:`operation`,data:c});l&&e.tabsApi?.setActiveTab(l);let u=new URLSearchParams(window.location.search);u.delete(`share`),window.history.replaceState(null,``,window.location.pathname+`?`+u.toString())}}},[]);let c=(0,r.useCallback)(r=>{let a={...i,...r};if(a.query){let e=Me(a.query);e&&(a.name=e)}let o=t.map(e=>e.id===i?.id?a:e);if(n(o),e.onOperationsChange?.(o),a.id&&e.onOperationUpdate?.(a),e.collectionsApi&&e.checkPermissions?.(`collectionsOperations:update`)&&i?.id){let t=e.collectionsApi.collections.find(e=>e.operations.some(e=>e.id===i.id))?.id??``;e.collectionsApi.updateOperationInCollection(t,i.id,a)}},[i,t,e.checkPermissions,e.collectionsApi]),d=(0,r.useCallback)(r=>{let o=t.find(e=>e.id===r),s=t.filter(e=>e.id!==r);n(s),e.onOperationsChange?.(s),o&&e.onOperationDelete?.(o),i?.id===r&&a(s[0]?.id??``)},[i,t,e,a]),f=(0,r.useCallback)(e=>{if(!i)return;let t={...i,query:Ae(i.query,e)};c(t)},[i,c]),p=(0,r.useCallback)(e=>{if(!i?.query)return;let t={...i,query:je(i.query,e)};c(t)},[i,c]),m=(0,r.useCallback)((e,t,n)=>{if(!i?.query)return;let r={...i,query:Le(i.query,e,t,n)};c(r)},[i,c]),h=(0,r.useCallback)((e,t)=>{if(!i?.query)return;let n={...i,query:Re(i.query,e,t)};c(n)},[i,c]),[g,_]=(0,r.useState)({}),v=(0,r.useCallback)(e=>Object.keys(g).includes(e),[g]),y=(0,r.useMemo)(()=>i?v(i.id):!1,[i,v]),b=(0,r.useCallback)(async(t,n,r=e.pluginsApi?.plugins??[],a=e.pluginsApi?.pluginsState??{})=>{if(!i?.query)return null;let o,s;if(n?.env)o=n.env,s=n.headers??{};else{let t=await e.preflightApi?.runPreflight?.(r,a);o=t?.env??{variables:{}},s=t?.headers??{},a=t?.pluginsState??{},e.pluginsApi?.setPluginsState(a)}o&&Object.keys(o?.variables??{}).length>0?e.envApi?.setEnv(o):o=e.envApi?.env??{variables:{}};let c=i.headers?JSON.parse(Ge(i.headers,{...o.variables,plugins:a})):{},u={...s,...c},d=i.variables?JSON.parse(Ge(i.variables,{...o.variables,plugins:a})):{},f=i.extensions?JSON.parse(Ge(i.extensions,{...o.variables,plugins:a})):{};if(i.query.startsWith(`subscription`)){let e=(0,l.createClient)({url:t.replace(`http`,`ws`),connectionParams:{...u}});return e.on(`connected`,()=>{console.log(`connected`)}),e.on(`error`,()=>{_(e=>{let t={...e};return delete t[i.id],t})}),e.on(`closed`,()=>{_(e=>{let t={...e};return delete t[i.id],t})}),e.subscribe({query:i.query,variables:d,extensions:f},{next:e=>{n?.onResponse?.(JSON.stringify(e??{}))},error:()=>{},complete:()=>{}}),_(t=>({...t,[i.id]:()=>{e.dispose(),_(e=>{let t={...e};return delete t[i.id],t})}})),Promise.resolve(new Response)}let p=new AbortController,m=fetch(t,{method:`POST`,credentials:e.settingsApi?.settings.fetch.credentials,body:JSON.stringify({query:i.query,variables:d,extensions:f}),headers:{...u,"Content-Type":`application/json`},signal:p.signal}).finally(()=>{_(e=>{let t={...e};return delete t[i.id],t})});return _(e=>({...e,[i.id]:()=>p.abort()})),m},[i,e.preflightApi,e.envApi,e.pluginsApi]),x=(0,r.useCallback)(e=>e.query?.startsWith(`subscription`)??!1,[]),S=(0,r.useMemo)(()=>i?x(i):!1,[i,x]);return{operations:t,setOperations:o,runActiveOperation:b,setActiveOperation:a,activeOperation:i,addOperation:s,updateActiveOperation:c,deleteOperation:d,addPathToActiveOperation:f,deletePathFromActiveOperation:p,addArgToActiveOperation:m,deleteArgFromActiveOperation:h,isActiveOperationLoading:y,stopActiveOperation:g[i?.id??``],isActiveOperationSubscription:S,isOperationSubscription:x,isOperationLoading:v}},Je=e=>{let[t,n]=(0,r.useState)({...e.plugins?.reduce((e,t)=>(e[t.id]=t.defaultState??{},e),{}),...e.defaultPluginsState}),i=(0,r.useCallback)(t=>{n(t),e.onPluginsStateChange?.(t)},[e]);return{plugins:e.plugins??[],pluginsState:t,setPluginsState:i}};var Ye=`;(function (root, factory) {
if (typeof exports === "object") {
// CommonJS
module.exports = exports = factory();
}
else if (typeof define === "function" && define.amd) {
// AMD
define([], factory);
}
else {
// Global (browser)
root.CryptoJS = factory();
}
}(this, function () {
/*globals window, global, require*/
/**
* CryptoJS core components.
*/
var CryptoJS = CryptoJS || (function (Math, undefined) {
var crypto;
// Native crypto from window (Browser)
if (typeof window !== 'undefined' && window.crypto) {
crypto = window.crypto;
}
// Native crypto in web worker (Browser)
if (typeof self !== 'undefined' && self.crypto) {
crypto = self.crypto;
}
// Native crypto from worker
if (typeof globalThis !== 'undefined' && globalThis.crypto) {
crypto = globalThis.crypto;
}
// Native (experimental IE 11) crypto from window (Browser)
if (!crypto && typeof window !== 'undefined' && window.msCrypto) {
crypto = window.msCrypto;
}
// Native crypto from global (NodeJS)
if (!crypto && typeof global !== 'undefined' && global.crypto) {
crypto = global.crypto;
}
// Native crypto import via require (NodeJS)
if (!crypto && typeof require === 'function') {
try {
crypto = require('crypto');
} catch (err) {}
}
/*
* Cryptographically secure pseudorandom number generator
*
* As Math.random() is cryptographically not safe to use
*/
var cryptoSecureRandomInt = function () {
if (crypto) {
// Use getRandomValues method (Browser)
if (typeof crypto.getRandomValues === 'function') {
try {
return crypto.getRandomValues(new Uint32Array(1))[0];
} catch (err) {}
}
// Use randomBytes method (NodeJS)
if (typeof crypto.randomBytes === 'function') {
try {
return crypto.randomBytes(4).readInt32LE();
} catch (err) {}
}
}
throw new Error('Native crypto module could not be used to get secure random number.');
};
/*
* Local polyfill of Object.create
*/
var create = Object.create || (function () {
function F() {}
return function (obj) {
var subtype;
F.prototype = obj;
subtype = new F();
F.prototype = null;
return subtype;
};
}());
/**
* CryptoJS namespace.
*/
var C = {};
/**
* Library namespace.
*/
var C_lib = C.lib = {};
/**
* Base object for prototypal inheritance.
*/
var Base = C_lib.Base = (function () {
return {
/**
* Creates a new object that inherits from this object.
*
* @param {Object} overrides Properties to copy into the new object.
*
* @return {Object} The new object.
*
* @static
*
* @example
*
* var MyType = CryptoJS.lib.Base.extend({
* field: 'value',
*
* method: function () {
* }
* });
*/
extend: function (overrides) {
// Spawn
var subtype = create(this);
// Augment
if (overrides) {
subtype.mixIn(overrides);
}
// Create default initializer
if (!subtype.hasOwnProperty('init') || this.init === subtype.init) {
subtype.init = function () {
subtype.$super.init.apply(this, arguments);
};
}
// Initializer's prototype is the subtype object
subtype.init.prototype = subtype;
// Reference supertype
subtype.$super = this;
return subtype;
},
/**
* Extends this object and runs the init method.
* Arguments to create() will be passed to init().
*
* @return {Object} The new object.
*
* @static
*
* @example
*
* var instance = MyType.create();
*/
create: function () {
var instance = this.extend();
instance.init.apply(instance, arguments);
return instance;
},
/**
* Initializes a newly created object.
* Override this method to add some logic when your objects are created.
*
* @example
*
* var MyType = CryptoJS.lib.Base.extend({
* init: function () {
* // ...
* }
* });
*/
init: function () {
},
/**
* Copies properties into this object.
*
* @param {Object} properties The properties to mix in.
*
* @example
*
* MyType.mixIn({
* field: 'value'
* });
*/
mixIn: function (properties) {
for (var propertyName in properties) {
if (properties.hasOwnProperty(propertyName)) {
this[propertyName] = properties[propertyName];
}
}
// IE won't copy toString using the loop above
if (properties.hasOwnProperty('toString')) {
this.toString = properties.toString;
}
},
/**
* Creates a copy of this object.
*
* @return {Object} The clone.
*
* @example
*
* var clone = instance.clone();
*/
clone: function () {
return this.init.prototype.extend(this);
}
};
}());
/**
* An array of 32-bit words.
*
* @property {Array} words The array of 32-bit words.
* @property {number} sigBytes The number of significant bytes in this word array.
*/
var WordArray = C_lib.WordArray = Base.extend({
/**
* Initializes a newly created word array.
*
* @param {Array} words (Optional) An array of 32-bit words.
* @param {number} sigBytes (Optional) The number of significant bytes in the words.
*
* @example
*
* var wordArray = CryptoJS.lib.WordArray.create();
* var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);
* var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);
*/
init: function (words, sigBytes) {
words = this.words = words || [];
if (sigBytes != undefined) {
this.sigBytes = sigBytes;
} else {
this.sigBytes = words.length * 4;
}
},
/**
* Converts this word array to a string.
*
* @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex
*
* @return {string} The stringified word array.
*
* @example
*
* var string = wordArray + '';
* var string = wordArray.toString();
* var string = wordArray.toString(CryptoJS.enc.Utf8);
*/
toString: function (encoder) {
return (encoder || Hex).stringify(this);
},
/**
* Concatenates a word array to this word array.
*
* @param {WordArray} wordArray The word array to append.
*
* @return {WordArray} This word array.
*
* @example
*
* wordArray1.concat(wordArray2);
*/
concat: function (wordArray) {
// Shortcuts
var thisWords = this.words;
var thatWords = wordArray.words;
var thisSigBytes = this.sigBytes;
var thatSigBytes = wordArray.sigBytes;
// Clamp excess bits
this.clamp();
// Concat
if (thisSigBytes % 4) {
// Copy one byte at a time
for (var i = 0; i < thatSigBytes; i++) {
var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8);
}
} else {
// Copy one word at a time
for (var j = 0; j < thatSigBytes; j += 4) {
thisWords[(thisSigBytes + j) >>> 2] = thatWords[j >>> 2];
}
}
this.sigBytes += thatSigBytes;
// Chainable
return this;
},
/**
* Removes insignificant bits.
*
* @example
*
* wordArray.clamp();
*/
clamp: function () {
// Shortcuts
var words = this.words;
var sigBytes = this.sigBytes;
// Clamp
words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8);
words.length = Math.ceil(sigBytes / 4);
},
/**
* Creates a copy of this word array.
*
* @return {WordArray} The clone.
*
* @example
*
* var clone = wordArray.clone();
*/
clone: function () {
var clone = Base.clone.call(this);
clone.words = this.words.slice(0);
return clone;
},
/**
* Creates a word array filled with random bytes.
*
* @param {number} nBytes The number of random bytes to generate.
*
* @return {WordArray} The random word array.
*
* @static
*
* @example
*
* var wordArray = CryptoJS.lib.WordArray.random(16);
*/
random: function (nBytes) {
var words = [];
for (var i = 0; i < nBytes; i += 4) {
words.push(cryptoSecureRandomInt());
}
return new WordArray.init(words, nBytes);
}
});
/**
* Encoder namespace.
*/
var C_enc = C.enc = {};
/**
* Hex encoding strategy.
*/
var Hex = C_enc.Hex = {
/**
* Converts a word array to a hex string.
*
* @param {WordArray} wordArray The word array.
*
* @return {string} The hex string.
*
* @static
*
* @example
*
* var hexString = CryptoJS.enc.Hex.stringify(wordArray);
*/
stringify: function (wordArray) {
// Shortcuts
var words = wordArray.words;
var sigBytes = wordArray.sigBytes;
// Convert
var hexChars = [];
for (var i = 0; i < sigBytes; i++) {
var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
hexChars.push((bite >>> 4).toString(16));
hexChars.push((bite & 0x0f).toString(16));
}
return hexChars.join('');
},
/**
* Converts a hex string to a word array.
*
* @param {string} hexStr The hex string.
*
* @return {WordArray} The word array.
*
* @static
*
* @example
*
* var wordArray = CryptoJS.enc.Hex.parse(hexString);
*/
parse: function (hexStr) {
// Shortcut
var hexStrLength = hexStr.length;
// Convert
var words = [];
for (var i = 0; i < hexStrLength; i += 2) {
words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4);
}
return new WordArray.init(words, hexStrLength / 2);
}
};
/**
* Latin1 encoding strategy.
*/
var Latin1 = C_enc.Latin1 = {
/**
* Converts a word array to a Latin1 string.
*
* @param {WordArray} wordArray The word array.
*
* @return {string} The Latin1 string.
*
* @static
*
* @example
*
* var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);
*/
stringify: function (wordArray) {
// Shortcuts
var words = wordArray.words;
var sigBytes = wordArray.sigBytes;
// Convert
var latin1Chars = [];
for (var i = 0; i < sigBytes; i++) {
var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
latin1Chars.push(String.fromCharCode(bite));
}
return latin1Chars.join('');
},
/**
* Converts a Latin1 string to a word array.
*
* @param {string} latin1Str The Latin1 string.
*
* @return {WordArray} The word array.
*
* @static
*
* @example
*
* var wordArray = CryptoJS.enc.Latin1.parse(latin1String);
*/
parse: function (latin1Str) {
// Shortcut
var latin1StrLength = latin1Str.length;
// Convert
var words = [];
for (var i = 0; i < latin1StrLength; i++) {
words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8);
}
return new WordArray.init(words, latin1StrLength);
}
};
/**
* UTF-8 encoding strategy.
*/
var Utf8 = C_enc.Utf8 = {
/**
* Converts a word array to a UTF-8 string.
*
* @param {WordArray} wordArray The word array.
*
* @return {string} The UTF-8 string.
*
* @static
*
* @example
*
* var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);
*/
stringify: function (wordArray) {
try {
return decodeURIComponent(escape(Latin1.stringify(wordArray)));
} catch (e) {
throw new Error('Malformed UTF-8 data');
}
},
/**
* Converts a UTF-8 string to a word array.
*
* @param {string} utf8Str The UTF-8 string.
*
* @return {WordArray} The word array.
*
* @static
*
* @example
*
* var wordArray = CryptoJS.enc.Utf8.parse(utf8String);
*/
parse: function (utf8Str) {
return Latin1.parse(unescape(encodeURIComponent(utf8Str)));
}
};
/**
* Abstract buffered block algorithm template.
*
* The property blockSize must be implemented in a concrete subtype.
*
* @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0
*/
var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({
/**
* Resets this block algorithm's data buffer to its initial state.
*
* @example
*
* bufferedBlockAlgorithm.reset();
*/
reset: function () {
// Initial values
this._data = new WordArray.init();
this._nDataBytes = 0;
},
/**
* Adds new data to this block algorithm's buffer.
*
* @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.
*
* @example
*
* bufferedBlockAlgorithm._append('data');
* bufferedBlockAlgorithm._append(wordArray);
*/
_append: function (data) {
// Convert string to WordArray, else assume WordArray already
if (typeof data == 'string') {
data = Utf8.parse(data);
}
// Append
this._data.concat(data);
this._nDataBytes += data.sigBytes;
},
/**
* Processes available data blocks.
*
* This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.
*
* @param {boolean} doFlush Whether all blocks and partial blocks should be processed.
*
* @return {WordArray} The processed data.
*
* @example
*
* var processedData = bufferedBlockAlgorithm._process();
* var processedData = bufferedBlockAlgorithm._process(!!'flush');
*/
_process: function (doFlush) {
var processedWords;
// Shortcuts
var data = this._data;
var dataWords = data.words;
var dataSigBytes = data.sigBytes;
var blockSize = this.blockSize;
var blockSizeBytes = blockSize * 4;
// Count blocks ready
var nBlocksReady = dataSigBytes / blockSizeBytes;
if (doFlush) {
// Round up to include partial blocks
nBlocksReady = Math.ceil(nBlocksReady);
} else {
// Round down to include only full blocks,
// less the number of blocks that must remain in the buffer
nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);
}
// Count words ready
var nWordsReady = nBlocksReady * blockSize;
// Count bytes ready
var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);
// Process blocks
if (nWordsReady) {
for (var offset = 0; offset < nWordsReady; offset += blockSize) {
// Perform concrete-algorithm logic
this._doProcessBlock(dataWords, offset);
}
// Remove processed words
processedWords = dataWords.splice(0, nWordsReady);
data.sigBytes -= nBytesReady;
}
// Return processed words
return new WordArray.init(processedWords, nBytesReady);
},
/**
* Creates a copy of this object.
*
* @return {Object} The clone.
*
* @example
*
* var clone = bufferedBlockAlgorithm.clone();
*/
clone: function () {
var clone = Base.clone.call(this);
clone._data = this._data.clone();
return clone;
},
_minBufferSize: 0
});
/**
* Abstract hasher template.
*
* @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)
*/
var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({
/**
* Configuration options.
*/
cfg: Base.extend(),
/**
* Initializes a newly created hasher.
*
* @param {Object} cfg (Optional) The configuration options to use for this hash computation.
*
* @example
*
* var hasher = CryptoJS.algo.SHA256.create();
*/
init: function (cfg) {
// Apply config defaults
this.cfg = this.cfg.extend(cfg);
// Set initial values
this.reset();
},
/**
* Resets this hasher to its initial state.
*
* @example
*
* hasher.reset();
*/
reset: function () {
// Reset data buffer
BufferedBlockAlgorithm.reset.call(this);
// Perform concrete-hasher logic
this._doReset();
},
/**
* Updates this hasher with a message.
*
* @param {WordArray|string} messageUpdate The message to append.
*
* @return {Hasher} This hasher.
*
* @example
*
* hasher.update('message');
* hasher.update(wordArray);
*/
update: function (messageUpdate) {
// Append
this._append(messageUpdate);
// Update the hash
this._process();
// Chainable
return this;
},
/**
* Finalizes the hash computation.
* Note that the finalize operation is effectively a destructive, read-once operation.
*
* @param {WordArray|string} messageUpdate (Optional) A final message update.
*
* @return {WordArray} The hash.
*
* @example
*
* var hash = hasher.finalize();
* var hash = hasher.finalize('message');
* var hash = hasher.finalize(wordArray);
*/
finalize: function (messageUpdate) {
// Final message update
if (messageUpdate) {
this._append(messageUpdate);
}
// Perform concrete-hasher logic
var hash = this._doFinalize();
return hash;
},
blockSize: 512/32,
/**
* Creates a shortcut function to a hasher's object interface.
*
* @param {Hasher} hasher The hasher to create a helper for.
*
* @return {Function} The shortcut function.
*
* @static
*
* @example
*
* var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);
*/
_createHelper: function (hasher) {
return function (message, cfg) {
return new hasher.init(cfg).finalize(message);
};
},
/**
* Creates a shortcut function to the HMAC's object interface.
*
* @param {Hasher} hasher The hasher to use in this HMAC helper.
*
* @return {Function} The shortcut function.
*
* @static
*
* @example
*
* var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);
*/
_createHmacHelper: function (hasher) {
return function (message, key) {
return new C_algo.HMAC.init(hasher, key).finalize(message);
};
}
});
/**
* Algorithm namespace.
*/
var C_algo = C.algo = {};
return C;
}(Math));
(function (undefined) {
// Shortcuts
var C = CryptoJS;
var C_lib = C.lib;
var Base = C_lib.Base;
var X32WordArray = C_lib.WordArray;
/**
* x64 namespace.
*/
var C_x64 = C.x64 = {};
/**
* A 64-bit word.
*/
var X64Word = C_x64.Word = Base.extend({
/**
* Initializes a newly created 64-bit word.
*
* @param {number} high The high 32 bits.
* @param {number} low The low 32 bits.
*
* @example
*
* var x64Word = CryptoJS.x64.Word.create(0x00010203, 0x04050607);
*/
init: function (high, low) {
this.high = high;
this.low = low;
}
/**
* Bitwise NOTs this word.
*
* @return {X64Word} A new x64-Word object after negating.
*
* @example
*
* var negated = x64Word.not();
*/
// not: function () {
// var high = ~this.high;
// var low = ~this.low;
// return X64Word.create(high, low);
// },
/**
* Bitwise ANDs this word with the passed word.
*
* @param {X64Word} word The x64-Word to AND with this word.
*
* @return {X64Word} A new x64-Word object after ANDing.
*
* @example
*
* var anded = x64Word.and(anotherX64Word);
*/
// and: function (word) {
// var high = this.high & word.high;
// var low = this.low & word.low;
// return X64Word.create(high, low);
// },
/**
* Bitwise ORs this word with the passed word.
*
* @param {X64Word} word The x64-Word to OR with this word.
*
* @return {X64Word} A new x64-Word object after ORing.
*
* @example
*
* var ored = x64Word.or(anotherX64Word);
*/
// or: function (word) {
// var high = this.high | word.high;
// var low = this.low | word.low;
// return X64Word.create(high, low);
// },
/**
* Bitwise XORs this word with the passed word.
*
* @param {X64Word} word The x64-Word to XOR with this word.
*
* @return {X64Word} A new x64-Word object after XORing.
*
* @example
*
* var xored = x64Word.xor(anotherX64Word);
*/
// xor: function (word) {
// var high = this.high ^ word.high;
// var low = this.low ^ word.low;
// return X64Word.create(high, low);
// },
/**
* Shifts this word n bits to the left.
*
* @param {number} n The number of bits to shift.
*
* @return {X64Word} A new x64-Word object after shifting.
*
* @example
*
* var shifted = x64Word.shiftL(25);
*/
// shiftL: function (n) {
// if (n < 32) {
// var high = (this.high << n) | (this.low >>> (32 - n));
// var low = this.low << n;
// } else {
// var high = this.low << (n - 32);
// var low = 0;
// }
// return X64Word.create(high, low);
// },
/**
* Shifts this word n bits to the right.
*
* @param {number} n The number of bits to shift.
*
* @return {X64Word} A new x64-Word object after shifting.
*
* @example
*
* var shifted = x64Word.shiftR(7);
*/
// shiftR: function (n) {
// if (n < 32) {
// var low = (this.low >>> n) | (this.high << (32 - n));
// var high = this.high >>> n;
// } else {
// var low = this.high >>> (n - 32);
// var high = 0;
// }
// return X64Word.create(high, low);
// },
/**
* Rotates this word n bits to the left.
*
* @param {number} n The number of bits to rotate.
*
* @return {X64Word} A new x64-Word object after rotating.
*
* @example
*
* var rotated = x64Word.rotL(25);
*/
// rotL: function (n) {
// return this.shiftL(n).or(this.shiftR(64 - n));
// },
/**
* Rotates this word n bits to the right.
*
* @param {number} n The number of bits to rotate.
*
* @return {X64Word} A new x64-Word object after rotating.
*
* @example
*
* var rotated = x64Word.rotR(7);
*/
// rotR: function (n) {
// return this.shiftR(n).or(this.shiftL(64 - n));
// },
/**
* Adds this word with the passed word.
*
* @param {X64Word} word The x64-Word to add with this word.
*
* @return {X64Word} A new x64-Word object after adding.
*
* @example
*
* var added = x64Word.add(anotherX64Word);
*/
// add: function (word) {
// var low = (this.low + word.low) | 0;
// var carry = (low >>> 0) < (this.low >>> 0) ? 1 : 0;
// var high = (this.high + word.high + carry) | 0;
// return X64Word.create(high, low);
// }
});
/**
* An array of 64-bit words.
*
* @property {Array} words The array of CryptoJS.x64.Word objects.
* @property {number} sigBytes The number of significant bytes in this word array.
*/
var X64WordArray = C_x64.WordArray = Base.extend({
/**
* Initializes a newly created word array.
*
* @param {Array} words (Optional) An array of CryptoJS.x64.Word objects.
* @param {number} sigBytes (Optional) The number of significant bytes in the words.
*
* @example
*
* var wordArray = CryptoJS.x64.WordArray.create();
*
* var wordArray = CryptoJS.x64.WordArray.create([
* CryptoJS.x64.Word.create(0x00010203, 0x04050607),
* CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f)
* ]);
*
* var wordArray = CryptoJS.x64.WordArray.create([
* CryptoJS.x64.Word.create(0x00010203, 0x04050607),
* CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f)
* ], 10);
*/
init: function (words, sigBytes) {
words = this.words = words || [];
if (sigBytes != undefined) {
this.sigBytes = sigBytes;
} else {
this.sigBytes = words.length * 8;
}
},
/**
* Converts this 64-bit word array to a 32-bit word array.
*
* @return {CryptoJS.lib.WordArray} This word array's data as a 32-bit word array.
*
* @example
*
* var x32WordArray = x64WordArray.toX32();
*/
toX32: function () {
// Shortcuts
var x64Words = this.words;
var x64WordsLength = x64Words.length;
// Convert
var x32Words = [];
for (var i = 0; i < x64WordsLength; i++) {
var x64Word = x64Words[i];
x32Words.push(x64Word.high);
x32Words.push(x64Word.low);
}
return X32WordArray.create(x32Words, this.sigBytes);
},
/**
* Creates a copy of this word array.
*
* @return {X64WordArray} The clone.
*
* @example
*
* var clone = x64WordArray.clone();
*/
clone: function () {
var clone = Base.clone.call(this);
// Clone "words" array
var words = clone.words = this.words.slice(0);
// Clone each X64Word object
var wordsLength = words.length;
for (var i = 0; i < wordsLength; i++) {
words[i] = words[i].clone();
}
return clone;
}
});
}());
(function () {
// Check if typed arrays are supported
if (typeof ArrayBuffer != 'function') {
return;
}
// Shortcuts
var C = CryptoJS;
var C_lib = C.lib;
var WordArray = C_lib.WordArray;
// Reference original init
var superInit = WordArray.init;
// Augment WordArray.init to handle typed arrays
var subInit = WordArray.init = function (typedArray) {
// Convert buffers to uint8
if (typedArray instanceof ArrayBuffer) {
typedArray = new Uint8Array(typedArray);
}
// Convert other array views to uint8
if (
typedArray instanceof Int8Array ||
(typeof Uint8ClampedArray !== "undefined" && typedArray instanceof Uint8ClampedArray) ||
typedArray instanceof Int16Array ||
typedArray instanceof Uint16Array ||
typedArray instanceof Int32Array ||
typedArray instanceof Uint32Array ||
typedArray instanceof Float32Array ||
typedArray instanceof Float64Array
) {
typedArray = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength);
}
// Handle Uint8Array
if (typedArray instanceof Uint8Array) {
// Shortcut
var typedArrayByteLength = typedArray.byteLength;
// Extract bytes
var words = [];
for (var i = 0; i < typedArrayByteLength; i++) {
words[i >>> 2] |= typedArray[i] << (24 - (i % 4) * 8);
}
// Initialize this word array
superInit.call(this, words, typedArrayByteLength);
} else {
// Else call normal init
superInit.apply(this, arguments);
}
};
subInit.prototype = WordArray;
}());
(function () {
// Shortcuts
var C = CryptoJS;
var C_lib = C.lib;
var WordArray = C_lib.WordArray;
var C_enc = C.enc;
/**
* UTF-16 BE encoding strategy.
*/
var Utf16BE = C_enc.Utf16 = C_enc.Utf16BE = {
/**
* Converts a word array to a UTF-16 BE string.
*
* @param {WordArray} wordArray The word array.
*
* @return {string} The UTF-16 BE string.
*
* @static
*
* @example
*
* var utf16String = CryptoJS.enc.Utf16.stringify(wordArray);
*/
stringify: function (wordArray) {
// Shortcuts
var words = wordArray.words;
var sigBytes = wordArray.sigBytes;
// Convert
var utf16Chars = [];
for (var i = 0; i < sigBytes; i += 2) {
var codePoint = (words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff;
utf16Chars.push(String.fromCharCode(codePoint));
}
return utf16Chars.join('');
},
/**
* Converts a UTF-16 BE string to a word array.
*
* @param {string} utf16Str The UTF-16 BE string.
*
* @return {WordArray} The word array.
*
* @static
*
* @example
*
* var wordArray = CryptoJS.enc.Utf16.parse(utf16String);
*/
parse: function (utf16Str) {
// Shortcut
var utf16StrLength = utf16Str.length;
// Convert
var words = [];
for (var i = 0; i < utf16StrLength; i++) {
words[i >>> 1] |= utf16Str.charCodeAt(i) << (16 - (i % 2) * 16);
}
return WordArray.create(words, utf16StrLength * 2);
}
};
/**
* UTF-16 LE encoding strategy.
*/
C_enc.Utf16LE = {
/**
* Converts a word array to a UTF-16 LE string.
*
* @param {WordArray} wordArray The word array.
*
* @return {string} The UTF-16 LE string.
*
* @static
*
* @example
*
* var utf16Str = CryptoJS.enc.Utf16LE.stringify(wordArray);
*/
stringify: function (wordArray) {
// Shortcuts
var words = wordArray.words;
var sigBytes = wordArray.sigBytes;
// Convert
var utf16Chars = [];
for (var i = 0; i < sigBytes; i += 2) {
var codePoint = swapEndian((words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff);
utf16Chars.push(String.fromCharCode(codePoint));
}
return utf16Chars.join('');
},
/**
* Converts a UTF-16 LE string to a word array.
*
* @param {string} utf16Str The UTF-16 LE string.
*
* @return {WordArray} The word array.
*
* @static
*
* @example
*
* var wordArray = CryptoJS.enc.Utf16LE.parse(utf16Str);
*/
parse: function (utf16Str) {
// Shortcut
var utf16StrLength = utf16Str.length;
// Convert
var words = [];
for (var i = 0; i < utf16StrLength; i++) {
words[i >>> 1] |= swapEndian(utf16Str.charCodeAt(i) << (16 - (i % 2) * 16));
}
return WordArray.create(words, utf16StrLength * 2);
}
};
function swapEndian(word) {
return ((word << 8) & 0xff00ff00) | ((word >>> 8) & 0x00ff00ff);
}
}());
(function () {
// Shortcuts
var C = CryptoJS;
var C_lib = C.lib;
var WordArray = C_lib.WordArray;
var C_enc = C.enc;
/**
* Base64 encoding strategy.
*/
var Base64 = C_enc.Base64 = {
/**
* Converts a word array to a Base64 string.
*
* @param {WordArray} wordArray The word array.
*
* @return {string} The Base64 string.
*
* @static
*
* @example
*
* var base64String = CryptoJS.enc.Base64.stringify(wordArray);
*/
stringify: function (wordArray) {
// Shortcuts
var words = wordArray.words;
var sigBytes = wordArray.sigBytes;
var map = this._map;
// Clamp excess bits
wordArray.clamp();
// Convert
var base64Chars = [];
for (var i = 0; i < sigBytes; i += 3) {
var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff;
var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff;
var triplet = (byte1 << 16) | (byte2 << 8) | byte3;
for (var j = 0; (j < 4) && (i + j * 0.75 < sigBytes); j++) {
base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f));
}
}
// Add padding
var paddingChar = map.charAt(64);
if (paddingChar) {
while (base64Chars.length % 4) {
base64Chars.push(paddingChar);
}
}
return base64Chars.join('');
},
/**
* Converts a Base64 string to a word array.
*
* @param {string} base64Str The Base64 string.
*
* @return {WordArray} The word array.
*
* @static
*
* @example
*
* var wordArray = CryptoJS.enc.Base64.parse(base64String);
*/
parse: function (base64Str) {
// Shortcuts
var base64StrLength = base64Str.length;
var map = this._map;
var reverseMap = this._reverseMap;
if (!reverseMap) {
reverseMap = this._reverseMap = [];
for (var j = 0; j < map.length; j++) {
reverseMap[map.charCodeAt(j)] = j;
}
}
// Ignore padding
var paddingChar = map.charAt(64);
if (paddingChar) {
var paddingIndex = base64Str.indexOf(paddingChar);
if (paddingIndex !== -1) {
base64StrLength = paddingIndex;
}
}
// Convert
return parseLoop(base64Str, base64StrLength, reverseMap);
},
_map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
};
function parseLoop(base64Str, base64StrLength, reverseMap) {
var words = [];
var nBytes = 0;
for (var i = 0; i < base64StrLength; i++) {
if (i % 4) {
var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << ((i % 4) * 2);
var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> (6 - (i % 4) * 2);
var bitsCombined = bits1 | bits2;
words[nBytes >>> 2] |= bitsCombined << (24 - (nBytes % 4) * 8);
nBytes++;
}
}
return WordArray.create(words, nBytes);
}
}());
(function () {
// Shortcuts
var C = CryptoJS;
var C_lib = C.lib;
var WordArray = C_lib.WordArray;
var C_enc = C.enc;
/**
* Base64url encoding strategy.
*/
var Base64url = C_enc.Base64url = {
/**
* Converts a word array to a Base64url string.
*
* @param {WordArray} wordArray The word array.
*
* @param {boolean} urlSafe Whether to use url safe
*
* @return {string} The Base64url string.
*
* @static
*
* @example
*
* var base64String = CryptoJS.enc.Base64url.stringify(wordArray);
*/
stringify: function (wordArray, urlSafe) {
if (urlSafe === undefined) {
urlSafe = true
}
// Shortcuts
var words = wordArray.words;
var sigBytes = wordArray.sigBytes;
var map = urlSafe ? this._safe_map : this._map;
// Clamp excess bits
wordArray.clamp();
// Convert
var base64Chars = [];
for (var i = 0; i < sigBytes; i += 3) {
var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff;
var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff;
var triplet = (byte1 << 16) | (byte2 << 8) | byte3;
for (var j = 0; (j < 4) && (i + j * 0.75 < sigBytes); j++) {
base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f));
}
}
// Add padding
var paddingChar = map.charAt(64);
if (paddingChar) {
while (base64Chars.length % 4) {
base64Chars.push(paddingChar);
}
}
return base64Chars.join('');
},
/**
* Converts a Base64url string to a word array.
*
* @param {string} base64Str The Base64url string.
*
* @param {boolean} urlSafe Whether to use url safe
*
* @return {WordArray} The word array.
*
* @static
*
* @example
*
* var wordArray = CryptoJS.enc.Base64url.parse(base64String);
*/
parse: function (base64Str, urlSafe) {
if (urlSafe === undefined) {
urlSafe = true
}
// Shortcuts
var base64StrLength = base64Str.length;
var map = urlSafe ? this._safe_map : this._map;
var reverseMap = this._reverseMap;
if (!reverseMap) {
reverseMap = this._reverseMap = [];
for (var j = 0; j < map.length; j++) {
reverseMap[map.charCodeAt(j)] = j;
}
}
// Ignore padding
var paddingChar = map.charAt(64);
if (paddingChar) {
var paddingIndex = base64Str.indexOf(paddingChar);
if (paddingIndex !== -1) {
base64StrLength = paddingIndex;
}
}
// Convert
return parseLoop(base64Str, base64StrLength, reverseMap);
},
_map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',
_safe_map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_',
};
function parseLoop(base64Str, base64StrLength, reverseMap) {
var words = [];
var nBytes = 0;
for (var i = 0; i < base64StrLength; i++) {
if (i % 4) {
var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << ((i % 4) * 2);
var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> (6 - (i % 4) * 2);
var bitsCombined = bits1 | bits2;
words[nBytes >>> 2] |= bitsCombined << (24 - (nBytes % 4) * 8);
nBytes++;
}
}
return WordArray.create(words, nBytes);
}
}());
(function (Math) {
// Shortcuts
var C = CryptoJS;
var C_lib = C.lib;
var WordArray = C_lib.WordArray;
var Hasher = C_lib.Hasher;
var C_algo = C.algo;
// Constants table
var T = [];
// Compute constants
(function () {
for (var i = 0; i < 64; i++) {
T[i] = (Math.abs(Math.sin(i + 1)) * 0x100000000) | 0;
}
}());
/**
* MD5 hash algorithm.
*/
var MD5 = C_algo.MD5 = Hasher.extend({
_doReset: function () {
this._hash = new WordArray.init([
0x67452301, 0xefcdab89,
0x98badcfe, 0x10325476
]);
},
_doProcessBlock: function (M, offset) {
// Swap endian
for (var i = 0; i < 16; i++) {
// Shortcuts
var offset_i = offset + i;
var M_offset_i = M[offset_i];
M[offset_i] = (
(((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) |
(((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00)
);
}
// Shortcuts
var H = this._hash.words;
var M_offset_0 = M[offset + 0];
var M_offset_1 = M[offset + 1];
var M_offset_2 = M[offset + 2];
var M_offset_3 = M[offset + 3];
var M_offset_4 = M[offset + 4];
var M_offset_5 = M[offset + 5];
var M_offset_6 = M[offset + 6];
var M_offset_7 = M[offset + 7];
var M_offset_8 = M[offset + 8];
var M_offset_9 = M[offset + 9];
var M_offset_10 = M[offset + 10];
var M_offset_11 = M[offset + 11];
var M_offset_12 = M[offset + 12];
var M_offset_13 = M[offset + 13];
var M_offset_14 = M[offset + 14];
var M_offset_15 = M[offset + 15];
// Working variables
var a = H[0];
var b = H[1];
var c = H[2];
var d = H[3];
// Computation
a = FF(a, b, c, d, M_offset_0, 7, T[0]);
d = FF(d, a, b, c, M_offset_1, 12, T[1]);
c = FF(c, d, a, b, M_offset_2, 17, T[2]);
b = FF(b, c, d, a, M_offset_3, 22, T[3]);
a = FF(a, b, c, d, M_offset_4, 7, T[4]);
d = FF(d, a, b, c, M_offset_5, 12, T[5]);
c = FF(c, d, a, b, M_offset_6, 17, T[6]);
b = FF(b, c, d, a, M_offset_7, 22, T[7]);
a = FF(a, b, c, d, M_offset_8, 7, T[8]);
d = FF(d, a, b, c, M_offset_9, 12, T[9]);
c = FF(c, d, a, b, M_offset_10, 17, T[10]);
b = FF(b, c, d, a, M_offset_11, 22, T[11]);
a = FF(a, b, c, d, M_offset_12, 7, T[12]);
d = FF(d, a, b, c, M_offset_13, 12, T[13]);
c = FF(c, d, a, b, M_offset_14, 17, T[14]);
b = FF(b, c, d, a, M_offset_15, 22, T[15]);
a = GG(a, b, c, d, M_offset_1, 5, T[16]);
d = GG(d, a, b, c, M_offset_6, 9, T[17]);
c = GG(c, d, a, b, M_offset_11, 14, T[18]);
b = GG(b, c, d, a, M_offset_0, 20, T[19]);
a = GG(a, b, c, d, M_offset_5, 5, T[20]);
d = GG(d, a, b, c, M_offset_10, 9, T[21]);
c = GG(c, d, a, b, M_offset_15, 14, T[22]);
b = GG(b, c, d, a, M_offset_4, 20, T[23]);
a = GG(a, b, c, d, M_offset_9, 5, T[24]);
d = GG(d, a, b, c, M_offset_14, 9, T[25]);
c = GG(c, d, a, b, M_offset_3, 14, T[26]);
b = GG(b, c, d, a, M_offset_8, 20, T[27]);
a = GG(a, b, c, d, M_offset_13, 5, T[28]);
d = GG(d, a, b, c, M_offset_2, 9, T[29]);
c = GG(c, d, a, b, M_offset_7, 14, T[30]);
b = GG(b, c, d, a, M_offset_12, 20, T[31]);
a = HH(a, b, c, d, M_offset_5, 4, T[32]);
d = HH(d, a, b, c, M_offset_8, 11, T[33]);
c = HH(c, d, a, b, M_offset_11, 16, T[34]);
b = HH(b, c, d, a, M_offset_14, 23, T[35]);
a = HH(a, b, c, d, M_offset_1, 4, T[36]);
d = HH(d, a, b, c, M_offset_4, 11, T[37]);
c = HH(c, d, a, b, M_offset_7, 16, T[38]);
b = HH(b, c, d, a, M_offset_10, 23, T[39]);
a = HH(a, b, c, d, M_offset_13, 4, T[40]);
d = HH(d, a, b, c, M_offset_0, 11, T[41]);
c = HH(c, d, a, b, M_offset_3, 16, T[42]);
b = HH(b, c, d, a, M_offset_6, 23, T[43]);
a = HH(a, b, c, d, M_offset_9, 4, T[44]);
d = HH(d, a, b, c, M_offset_12, 11, T[45]);
c = HH(c, d, a, b, M_offset_15, 16, T[46]);
b = HH(b, c, d, a, M_offset_2, 23, T[47]);
a = II(a, b, c, d, M_offset_0, 6, T[48]);
d = II(d, a, b, c, M_offset_7, 10, T[49]);
c = II(c, d, a, b, M_offset_14, 15, T[50]);
b = II(b, c, d, a, M_offset_5, 21, T[51]);
a = II(a, b, c, d, M_offset_12, 6, T[52]);
d = II(d, a, b, c, M_offset_3, 10, T[53]);
c = II(c, d, a, b, M_offset_10, 15, T[54]);
b = II(b, c, d, a, M_offset_1, 21, T[55]);
a = II(a, b, c, d, M_offset_8, 6, T[56]);
d = II(d, a, b, c, M_offset_15, 10, T[57]);
c = II(c, d, a, b, M_offset_6, 15, T[58]);
b = II(b, c, d, a, M_offset_13, 21, T[59]);
a = II(a, b, c, d, M_offset_4, 6, T[60]);
d = II(d, a, b, c, M_offset_11, 10, T[61]);
c = II(c, d, a, b, M_offset_2, 15, T[62]);
b = II(b, c, d, a, M_offset_9, 21, T[63]);
// Intermediate hash value
H[0] = (H[0] + a) | 0;
H[1] = (H[1] + b) | 0;
H[2] = (H[2] + c) | 0;
H[3] = (H[3] + d) | 0;
},
_doFinalize: function () {
// Shortcuts
var data = this._data;
var dataWords = data.words;
var nBitsTotal = this._nDataBytes * 8;
var nBitsLeft = data.sigBytes * 8;
// Add padding
dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);
var nBitsTotalH = Math.floor(nBitsTotal / 0x100000000);
var nBitsTotalL = nBitsTotal;
dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = (
(((nBitsTotalH << 8) | (nBitsTotalH >>> 24)) & 0x00ff00ff) |
(((nBitsTotalH << 24) | (nBitsTotalH >>> 8)) & 0xff00ff00)
);
dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = (
(((nBitsTotalL << 8) | (nBitsTotalL >>> 24)) & 0x00ff00ff) |
(((nBitsTotalL << 24) | (nBitsTotalL >>> 8)) & 0xff00ff00)
);
data.sigBytes = (dataWords.length + 1) * 4;
// Hash final blocks
this._process();
// Shortcuts
var hash = this._hash;
var H = hash.words;
// Swap endian
for (var i = 0; i < 4; i++) {
// Shortcut
var H_i = H[i];
H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) |
(((H_i << 24) | (H_i >>> 8)) & 0xff00ff00);
}
// Return final computed hash
return hash;
},
clone: function () {
var clone = Hasher.clone.call(this);
clone._hash = this._hash.clone();
return clone;
}
});
function FF(a, b, c, d, x, s, t) {
var n = a + ((b & c) | (~b & d)) + x + t;
return ((n << s) | (n >>> (32 - s))) + b;
}
function GG(a, b, c, d, x, s, t) {
var n = a + ((b & d) | (c & ~d)) + x + t;
return ((n << s) | (n >>> (32 - s))) + b;
}
function HH(a, b, c, d, x, s, t) {
var n = a + (b ^ c ^ d) + x + t;
return ((n << s) | (n >>> (32 - s))) + b;
}
function II(a, b, c, d, x, s, t) {
var n = a + (c ^ (b | ~d)) + x + t;
return ((n << s) | (n >>> (32 - s))) + b;
}
/**
* Shortcut function to the hasher's object interface.
*
* @param {WordArray|string} message The message to hash.
*
* @return {WordArray} The hash.
*
* @static
*
* @example
*
* var hash = CryptoJS.MD5('message');
* var hash = CryptoJS.MD5(wordArray);
*/
C.MD5 = Hasher._createHelper(MD5);
/**
* Shortcut function to the HMAC's object interface.
*
* @param {WordArray|string} message The message to hash.
* @param {WordArray|string} key The secret key.
*
* @return {WordArray} The HMAC.
*
* @static
*
* @example
*
* var hmac = CryptoJS.HmacMD5(message, key);
*/
C.HmacMD5 = Hasher._createHmacHelper(MD5);
}(Math));
(function () {
// Shortcuts
var C = CryptoJS;
var C_lib = C.lib;
var WordArray = C_lib.WordArray;
var Hasher = C_lib.Hasher;
var C_algo = C.algo;
// Reusable object
var W = [];
/**
* SHA-1 hash algorithm.
*/
var SHA1 = C_algo.SHA1 = Hasher.extend({
_doReset: function () {
this._hash = new WordArray.init([
0x67452301, 0xefcdab89,
0x98badcfe, 0x10325476,
0xc3d2e1f0
]);
},
_doProcessBlock: function (M, offset) {
// Shortcut
var H = this._hash.words;
// Working variables
var a = H[0];
var b = H[1];
var c = H[2];
var d = H[3];
var e = H[4];
// Computation
for (var i = 0; i < 80; i++) {
if (i < 16) {
W[i] = M[offset + i] | 0;
} else {
var n = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];
W[i] = (n << 1) | (n >>> 31);
}
var t = ((a << 5) | (a >>> 27)) + e + W[i];
if (i < 20) {
t += ((b & c) | (~b & d)) + 0x5a827999;
} else if (i < 40) {
t += (b ^ c ^ d) + 0x6ed9eba1;
} else if (i < 60) {
t += ((b & c) | (b & d) | (c & d)) - 0x70e44324;
} else /* if (i < 80) */ {
t += (b ^ c ^ d) - 0x359d3e2a;
}
e = d;
d = c;
c = (b << 30) | (b >>> 2);
b = a;
a = t;
}
// Intermediate hash value
H[0] = (H[0] + a) | 0;
H[1] = (H[1] + b) | 0;
H[2] = (H[2] + c) | 0;
H[3] = (H[3] + d) | 0;
H[4] = (H[4] + e) | 0;
},
_doFinalize: function () {
// Shortcuts
var data = this._data;
var dataWords = data.words;
var nBitsTotal = this._nDataBytes * 8;
var nBitsLeft = data.sigBytes * 8;
// Add padding
dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);
dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);
dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;
data.sigBytes = dataWords.length * 4;
// Hash final blocks
this._process();
// Return final computed hash
return this._hash;
},
clone: function () {
var clone = Hasher.clone.call(this);
clone._hash = this._hash.clone();
return clone;
}
});
/**
* Shortcut function to the hasher's object interface.
*
* @param {WordArray|string} message The message to hash.
*
* @return {WordArray} The hash.
*
* @static
*
* @example
*
* var hash = CryptoJS.SHA1('message');
* var hash = CryptoJS.SHA1(wordArray);
*/
C.SHA1 = Hasher._createHelper(SHA1);
/**
* Shortcut function to the HMAC's object interface.
*
* @param {WordArray|string} message The message to hash.
* @param {WordArray|string} key The secret key.
*
* @return {WordArray} The HMAC.
*
* @static
*
* @example
*
* var hmac = CryptoJS.HmacSHA1(message, key);
*/
C.HmacSHA1 = Hasher._createHmacHelper(SHA1);
}());
(function (Math) {
// Shortcuts
var C = CryptoJS;
var C_lib = C.lib;
var WordArray = C_lib.WordArray;
var Hasher = C_lib.Hasher;
var C_algo = C.algo;
// Initialization and round constants tables
var H = [];
var K = [];
// Compute constants
(function () {
function isPrime(n) {
var sqrtN = Math.sqrt(n);
for (var factor = 2; factor <= sqrtN; factor++) {
if (!(n % factor)) {
return false;
}
}
return true;
}
function getFractionalBits(n) {
return ((n - (n | 0)) * 0x100000000) | 0;
}
var n = 2;
var nPrime = 0;
while (nPrime < 64) {
if (isPrime(n)) {
if (nPrime < 8) {
H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2));
}
K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3));
nPrime++;
}
n++;
}
}());
// Reusable object
var W = [];
/**
* SHA-256 hash algorithm.
*/
var SHA256 = C_algo.SHA256 = Hasher.extend({
_doReset: function () {
this._hash = new WordArray.init(H.slice(0));
},
_doProcessBlock: function (M, offset) {
// Shortcut
var H = this._hash.words;
// Working variables
var a = H[0];
var b = H[1];
var c = H[2];
var d = H[3];
var e = H[4];
var f = H[5];
var g = H[6];
var h = H[7];
// Computation
for (var i = 0; i < 64; i++) {
if (i < 16) {
W[i] = M[offset + i] | 0;
} else {
var gamma0x = W[i - 15];
var gamma0 = ((gamma0x << 25) | (gamma0x >>> 7)) ^
((gamma0x << 14) | (gamma0x >>> 18)) ^
(gamma0x >>> 3);
var gamma1x = W[i - 2];
var gamma1 = ((gamma1x << 15) | (gamma1x >>> 17)) ^
((gamma1x << 13) | (gamma1x >>> 19)) ^
(gamma1x >>> 10);
W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];
}
var ch = (e & f) ^ (~e & g);
var maj = (a & b) ^ (a & c) ^ (b & c);
var sigma0 = ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22));
var sigma1 = ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7) | (e >>> 25));
var t1 = h + sigma1 + ch + K[i] + W[i];
var t2 = sigma0 + maj;
h = g;
g = f;
f = e;
e = (d + t1) | 0;
d = c;
c = b;
b = a;
a = (t1 + t2) | 0;
}
// Intermediate hash value
H[0] = (H[0] + a) | 0;
H[1] = (H[1] + b) | 0;
H[2] = (H[2] + c) | 0;
H[3] = (H[3] + d) | 0;
H[4] = (H[4] + e) | 0;
H[5] = (H[5] + f) | 0;
H[6] = (H[6] + g) | 0;
H[7] = (H[7] + h) | 0;
},
_doFinalize: function () {
// Shortcuts
var data = this._data;
var dataWords = data.words;
var nBitsTotal = this._nDataBytes * 8;
var nBitsLeft = data.sigBytes * 8;
// Add padding
dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);
dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);
dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;
data.sigBytes = dataWords.length * 4;
// Hash final blocks
this._process();
// Return final computed hash
return this._hash;
},
clone: function () {
var clone = Hasher.clone.call(this);
clone._hash = this._hash.clone();
return clone;
}
});
/**
* Shortcut function to the hasher's object interface.
*
* @param {WordArray|string} message The message to hash.
*
* @return {WordArray} The hash.
*
* @static
*
* @example
*
* var hash = CryptoJS.SHA256('message');
* var hash = CryptoJS.SHA256(wordArray);
*/
C.SHA256 = Hasher._createHelper(SHA256);
/**
* Shortcut function to the HMAC's object interface.
*
* @param {WordArray|string} message The message to hash.
* @param {WordArray|string} key The secret key.
*
* @return {WordArray} The HMAC.
*
* @static
*
* @example
*
* var hmac = CryptoJS.HmacSHA256(message, key);
*/
C.HmacSHA256 = Hasher._createHmacHelper(SHA256);
}(Math));
(function () {
// Shortcuts
var C = CryptoJS;
var C_lib = C.lib;
var WordArray = C_lib.WordArray;
var C_algo = C.algo;
var SHA256 = C_algo.SHA256;
/**
* SHA-224 hash algorithm.
*/
var SHA224 = C_algo.SHA224 = SHA256.extend({
_doReset: function () {
this._hash = new WordArray.init([
0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,
0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4
]);
},
_doFinalize: function () {
var hash = SHA256._doFinalize.call(this);
hash.sigBytes -= 4;
return hash;
}
});
/**
* Shortcut function to the hasher's object interface.
*
* @param {WordArray|string} message The message to hash.
*
* @return {WordArray} The hash.
*
* @static
*
* @example
*
* var hash = CryptoJS.SHA224('message');
* var hash = CryptoJS.SHA224(wordArray);
*/
C.SHA224 = SHA256._createHelper(SHA224);
/**
* Shortcut function to the HMAC's object interface.
*
* @param {WordArray|string} message The message to hash.
* @param {WordArray|string} key The secret key.
*
* @return {WordArray} The HMAC.
*
* @static
*
* @example
*
* var hmac = CryptoJS.HmacSHA224(message, key);
*/
C.HmacSHA224 = SHA256._createHmacHelper(SHA224);
}());
(function () {
// Shortcuts
var C = CryptoJS;
var C_lib = C.lib;
var Hasher = C_lib.Hasher;
var C_x64 = C.x64;
var X64Word = C_x64.Word;
var X64WordArray = C_x64.WordArray;
var C_algo = C.algo;
function X64Word_create() {
return X64Word.create.apply(X64Word, arguments);
}
// Constants
var K = [
X64Word_create(0x428a2f98, 0xd728ae22), X64Word_create(0x71374491, 0x23ef65cd),
X64Word_create(0xb5c0fbcf, 0xec4d3b2f), X64Word_create(0xe9b5dba5, 0x8189dbbc),
X64Word_create(0x3956c25b, 0xf348b538), X64Word_create(0x59f111f1, 0xb605d019),
X64Word_create(0x923f82a4, 0xaf194f9b), X64Word_create(0xab1c5ed5, 0xda6d8118),
X64Word_create(0xd807aa98, 0xa3030242), X64Word_create(0x12835b01, 0x45706fbe),
X64Word_create(0x243185be, 0x4ee4b28c), X64Word_create(0x550c7dc3, 0xd5ffb4e2),
X64Word_create(0x72be5d74, 0xf27b896f), X64Word_create(0x80deb1fe, 0x3b1696b1),
X64Word_create(0x9bdc06a7, 0x25c71235), X64Word_create(0xc19bf174, 0xcf692694),
X64Word_create(0xe49b69c1, 0x9ef14ad2), X64Word_create(0xefbe4786, 0x384f25e3),
X64Word_create(0x0fc19dc6, 0x8b8cd5b5), X64Word_create(0x240ca1cc, 0x77ac9c65),
X64Word_create(0x2de92c6f, 0x592b0275), X64Word_create(0x4a7484aa, 0x6ea6e483),
X64Word_create(0x5cb0a9dc, 0xbd41fbd4), X64Word_create(0x76f988da, 0x831153b5),
X64Word_create(0x983e5152, 0xee66dfab), X64Word_create(0xa831c66d, 0x2db43210),
X64Word_create(0xb00327c8, 0x98fb213f), X64Word_create(0xbf597fc7, 0xbeef0ee4),
X64Word_create(0xc6e00bf3, 0x3da88fc2), X64Word_create(0xd5a79147, 0x930aa725),
X64Word_create(0x06ca6351, 0xe003826f), X64Word_create(0x14292967, 0x0a0e6e70),
X64Word_create(0x27b70a85, 0x46d22ffc), X64Word_create(0x2e1b2138, 0x5c26c926),
X64Word_create(0x4d2c6dfc, 0x5ac42aed), X64Word_create(0x53380d13, 0x9d95b3df),
X64Word_create(0x650a7354, 0x8baf63de), X64Word_create(0x766a0abb, 0x3c77b2a8),
X64Word_create(0x81c2c92e, 0x47edaee6), X64Word_create(0x92722c85, 0x1482353b),
X64Word_create(0xa2bfe8a1, 0x4cf10364), X64Word_create(0xa81a664b, 0xbc423001),
X64Word_create(0xc24b8b70, 0xd0f89791), X64Word_create(0xc76c51a3, 0x0654be30),
X64Word_create(0xd192e819, 0xd6ef5218), X64Word_create(0xd6990624, 0x5565a910),
X64Word_create(0xf40e3585, 0x5771202a), X64Word_create(0x106aa070, 0x32bbd1b8),
X64Word_create(0x19a4c116, 0xb8d2d0c8), X64Word_create(0x1e376c08, 0x5141ab53),
X64Word_create(0x2748774c, 0xdf8eeb99), X64Word_create(0x34b0bcb5, 0xe19b48a8),
X64Word_create(0x391c0cb3, 0xc5c95a63), X64Word_create(0x4ed8aa4a, 0xe3418acb),
X64Word_create(0x5b9cca4f, 0x7763e373), X64Word_create(0x682e6ff3, 0xd6b2b8a3),
X64Word_create(0x748f82ee, 0x5defb2fc), X64Word_create(0x78a5636f, 0x43172f60),
X64Word_create(0x84c87814, 0xa1f0ab72), X64Word_create(0x8cc70208, 0x1a6439ec),
X64Word_create(0x90befffa, 0x23631e28), X64Word_create(0xa4506ceb, 0xde82bde9),
X64Word_create(0xbef9a3f7, 0xb2c67915), X64Word_create(0xc67178f2, 0xe372532b),
X64Word_create(0xca273ece, 0xea26619c), X64Word_create(0xd186b8c7, 0x21c0c207),
X64Word_create(0xeada7dd6, 0xcde0eb1e), X64Word_create(0xf57d4f7f, 0xee6ed178),
X64Word_create(0x06f067aa, 0x72176fba), X64Word_create(0x0a637dc5, 0xa2c898a6),
X64Word_create(0x113f9804, 0xbef90dae), X64Word_create(0x1b710b35, 0x131c471b),
X64Word_create(0x28db77f5, 0x23047d84), X64Word_create(0x32caab7b, 0x40c72493),
X64Word_create(0x3c9ebe0a, 0x15c9bebc), X64Word_create(0x431d67c4, 0x9c100d4c),
X64Word_create(0x4cc5d4be, 0xcb3e42b6), X64Word_create(0x597f299c, 0xfc657e2a),
X64Word_create(0x5fcb6fab, 0x3ad6faec), X64Word_create(0x6c44198c, 0x4a475817)
];
// Reusable objects
var W = [];
(function () {
for (var i = 0; i < 80; i++) {
W[i] = X64Word_create();
}
}());
/**
* SHA-512 hash algorithm.
*/
var SHA512 = C_algo.SHA512 = Hasher.extend({
_doReset: function () {
this._hash = new X64WordArray.init([
new X64Word.init(0x6a09e667, 0xf3bcc908), new X64Word.init(0xbb67ae85, 0x84caa73b),
new X64Word.init(0x3c6ef372, 0xfe94f82b), new X64Word.init(0xa54ff53a, 0x5f1d36f1),
new X64Word.init(0x510e527f, 0xade682d1), new X64Word.init(0x9b05688c, 0x2b3e6c1f),
new X64Word.init(0x1f83d9ab, 0xfb41bd6b), new X64Word.init(0x5be0cd19, 0x137e2179)
]);
},
_doProcessBlock: function (M, offset) {
// Shortcuts
var H = this._hash.words;
var H0 = H[0];
var H1 = H[1];
var H2 = H[2];
var H3 = H[3];
var H4 = H[4];
var H5 = H[5];
var H6 = H[6];
var H7 = H[7];
var H0h = H0.high;
var H0l = H0.low;
var H1h = H1.high;
var H1l = H1.low;
var H2h = H2.high;
var H2l = H2.low;
var H3h = H3.high;
var H3l = H3.low;
var H4h = H4.high;
var H4l = H4.low;
var H5h = H5.high;
var H5l = H5.low;
var H6h = H6.high;
var H6l = H6.low;
var H7h = H7.high;
var H7l = H7.low;
// Working variables
var ah = H0h;
var al = H0l;
var bh = H1h;
var bl = H1l;
var ch = H2h;
var cl = H2l;
var dh = H3h;
var dl = H3l;
var eh = H4h;
var el = H4l;
var fh = H5h;
var fl = H5l;
var gh = H6h;
var gl = H6l;
var hh = H7h;
var hl = H7l;
// Rounds
for (var i = 0; i < 80; i++) {
var Wil;
var Wih;
// Shortcut
var Wi = W[i];
// Extend message
if (i < 16) {
Wih = Wi.high = M[offset + i * 2] | 0;
Wil = Wi.low = M[offset + i * 2 + 1] | 0;
} else {
// Gamma0
var gamma0x = W[i - 15];
var gamma0xh = gamma0x.high;
var gamma0xl = gamma0x.low;
var gamma0h = ((gamma0xh >>> 1) | (gamma0xl << 31)) ^ ((gamma0xh >>> 8) | (gamma0xl << 24)) ^ (gamma0xh >>> 7);
var gamma0l = ((gamma0xl >>> 1) | (gamma0xh << 31)) ^ ((gamma0xl >>> 8) | (gamma0xh << 24)) ^ ((gamma0xl >>> 7) | (gamma0xh << 25));
// Gamma1
var gamma1x = W[i - 2];
var gamma1xh = gamma1x.high;
var gamma1xl = gamma1x.low;
var gamma1h = ((gamma1xh >>> 19) | (gamma1xl << 13)) ^ ((gamma1xh << 3) | (gamma1xl >>> 29)) ^ (gamma1xh >>> 6);
var gamma1l = ((gamma1xl >>> 19) | (gamma1xh << 13)) ^ ((gamma1xl << 3) | (gamma1xh >>> 29)) ^ ((gamma1xl >>> 6) | (gamma1xh << 26));
// W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]
var Wi7 = W[i - 7];
var Wi7h = Wi7.high;
var Wi7l = Wi7.low;
var Wi16 = W[i - 16];
var Wi16h = Wi16.high;
var Wi16l = Wi16.low;
Wil = gamma0l + Wi7l;
Wih = gamma0h + Wi7h + ((Wil >>> 0) < (gamma0l >>> 0) ? 1 : 0);
Wil = Wil + gamma1l;
Wih = Wih + gamma1h + ((Wil >>> 0) < (gamma1l >>> 0) ? 1 : 0);
Wil = Wil + Wi16l;
Wih = Wih + Wi16h + ((Wil >>> 0) < (Wi16l >>> 0) ? 1 : 0);
Wi.high = Wih;
Wi.low = Wil;
}
var chh = (eh & fh) ^ (~eh & gh);
var chl = (el & fl) ^ (~el & gl);
var majh = (ah & bh) ^ (ah & ch) ^ (bh & ch);
var majl = (al & bl) ^ (al & cl) ^ (bl & cl);
var sigma0h = ((ah >>> 28) | (al << 4)) ^ ((ah << 30) | (al >>> 2)) ^ ((ah << 25) | (al >>> 7));
var sigma0l = ((al >>> 28) | (ah << 4)) ^ ((al << 30) | (ah >>> 2)) ^ ((al << 25) | (ah >>> 7));
var sigma1h = ((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9));
var sigma1l = ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9));
// t1 = h + sigma1 + ch + K[i] + W[i]
var Ki = K[i];
var Kih = Ki.high;
var Kil = Ki.low;
var t1l = hl + sigma1l;
var t1h = hh + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0);
var t1l = t1l + chl;
var t1h = t1h + chh + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0);
var t1l = t1l + Kil;
var t1h = t1h + Kih + ((t1l >>> 0) < (Kil >>> 0) ? 1 : 0);
var t1l = t1l + Wil;
var t1h = t1h + Wih + ((t1l >>> 0) < (Wil >>> 0) ? 1 : 0);
// t2 = sigma0 + maj
var t2l = sigma0l + majl;
var t2h = sigma0h + majh + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0);
// Update working variables
hh = gh;
hl = gl;
gh = fh;
gl = fl;
fh = eh;
fl = el;
el = (dl + t1l) | 0;
eh = (dh + t1h + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0;
dh = ch;
dl = cl;
ch = bh;
cl = bl;
bh = ah;
bl = al;
al = (t1l + t2l) | 0;
ah = (t1h + t2h + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0;
}
// Intermediate hash value
H0l = H0.low = (H0l + al);
H0.high = (H0h + ah + ((H0l >>> 0) < (al >>> 0) ? 1 : 0));
H1l = H1.low = (H1l + bl);
H1.high = (H1h + bh + ((H1l >>> 0) < (bl >>> 0) ? 1 : 0));
H2l = H2.low = (H2l + cl);
H2.high = (H2h + ch + ((H2l >>> 0) < (cl >>> 0) ? 1 : 0));
H3l = H3.low = (H3l + dl);
H3.high = (H3h + dh + ((H3l >>> 0) < (dl >>> 0) ? 1 : 0));
H4l = H4.low = (H4l + el);
H4.high = (H4h + eh + ((H4l >>> 0) < (el >>> 0) ? 1 : 0));
H5l = H5.low = (H5l + fl);
H5.high = (H5h + fh + ((H5l >>> 0) < (fl >>> 0) ? 1 : 0));
H6l = H6.low = (H6l + gl);
H6.high = (H6h + gh + ((H6l >>> 0) < (gl >>> 0) ? 1 : 0));
H7l = H7.low = (H7l + hl);
H7.high = (H7h + hh + ((H7l >>> 0) < (hl >>> 0) ? 1 : 0));
},
_doFinalize: function () {
// Shortcuts
var data = this._data;
var dataWords = data.words;
var nBitsTotal = this._nDataBytes * 8;
var nBitsLeft = data.sigBytes * 8;
// Add padding
dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);
dataWords[(((nBitsLeft + 128) >>> 10) << 5) + 30] = Math.floor(nBitsTotal / 0x100000000);
dataWords[(((nBitsLeft + 128) >>> 10) << 5) + 31] = nBitsTotal;
data.sigBytes = dataWords.length * 4;
// Hash final blocks
this._process();
// Convert hash to 32-bit word array before returning
var hash = this._hash.toX32();
// Return final computed hash
return hash;
},
clone: function () {
var clone = Hasher.clone.call(this);
clone._hash = this._hash.clone();
return clone;
},
blockSize: 1024/32
});
/**
* Shortcut function to the hasher's object interface.
*
* @param {WordArray|string} message The message to hash.
*
* @return {WordArray} The hash.
*
* @static
*
* @example
*
* var hash = CryptoJS.SHA512('message');
* var hash = CryptoJS.SHA512(wordArray);
*/
C.SHA512 = Hasher._createHelper(SHA512);
/**
* Shortcut function to the HMAC's object interface.
*
* @param {WordArray|string} message The message to hash.
* @param {WordArray|string} key The secret key.
*
* @return {WordArray} The HMAC.
*
* @static
*
* @example
*
* var hmac = CryptoJS.HmacSHA512(message, key);
*/
C.HmacSHA512 = Hasher._createHmacHelper(SHA512);
}());
(function () {
// Shortcuts
var C = CryptoJS;
var C_x64 = C.x64;
var X64Word = C_x64.Word;
var X64WordArray = C_x64.WordArray;
var C_algo = C.algo;
var SHA512 = C_algo.SHA512;
/**
* SHA-384 hash algorithm.
*/
var SHA384 = C_algo.SHA384 = SHA512.extend({
_doReset: function () {
this._hash = new X64WordArray.init([
new X64Word.init(0xcbbb9d5d, 0xc1059ed8), new X64Word.init(0x629a292a, 0x367cd507),
new X64Word.init(0x9159015a, 0x3070dd17), new X64Word.init(0x152fecd8, 0xf70e5939),
new X64Word.init(0x67332667, 0xffc00b31), new X64Word.init(0x8eb44a87, 0x68581511),
new X64Word.init(0xdb0c2e0d, 0x64f98fa7), new X64Word.init(0x47b5481d, 0xbefa4fa4)
]);
},
_doFinalize: function () {
var hash = SHA512._doFinalize.call(this);
hash.sigBytes -= 16;
return hash;
}
});
/**
* Shortcut function to the hasher's object interface.
*
* @param {WordArray|string} message The message to hash.
*
* @return {WordArray} The hash.
*
* @static
*
* @example
*
* var hash = CryptoJS.SHA384('message');
* var hash = CryptoJS.SHA384(wordArray);
*/
C.SHA384 = SHA512._createHelper(SHA384);
/**
* Shortcut function to the HMAC's object interface.
*
* @param {WordArray|string} message The message to hash.
* @param {WordArray|string} key The secret key.
*
* @return {WordArray} The HMAC.
*
* @static
*
* @example
*
* var hmac = CryptoJS.HmacSHA384(message, key);
*/
C.HmacSHA384 = SHA512._createHmacHelper(SHA384);
}());
(function (Math) {
// Shortcuts
var C = CryptoJS;
var C_lib = C.lib;
var WordArray = C_lib.WordArray;
var Hasher = C_lib.Hasher;
var C_x64 = C.x64;
var X64Word = C_x64.Word;
var C_algo = C.algo;
// Constants tables
var RHO_OFFSETS = [];
var PI_INDEXES = [];
var ROUND_CONSTANTS = [];
// Compute Constants
(function () {
// Compute rho offset constants
var x = 1, y = 0;
for (var t = 0; t < 24; t++) {
RHO_OFFSETS[x + 5 * y] = ((t + 1) * (t + 2) / 2) % 64;
var newX = y % 5;
var newY = (2 * x + 3 * y) % 5;
x = newX;
y = newY;
}
// Compute pi index constants
for (var x = 0; x < 5; x++) {
for (var y = 0; y < 5; y++) {
PI_INDEXES[x + 5 * y] = y + ((2 * x + 3 * y) % 5) * 5;
}
}
// Compute round constants
var LFSR = 0x01;
for (var i = 0; i < 24; i++) {
var roundConstantMsw = 0;
var roundConstantLsw = 0;
for (var j = 0; j < 7; j++) {
if (LFSR & 0x01) {
var bitPosition = (1 << j) - 1;
if (bitPosition < 32) {
roundConstantLsw ^= 1 << bitPosition;
} else /* if (bitPosition >= 32) */ {
roundConstantMsw ^= 1 << (bitPosition - 32);
}
}
// Compute next LFSR
if (LFSR & 0x80) {
// Primitive polynomial over GF(2): x^8 + x^6 + x^5 + x^4 + 1
LFSR = (LFSR << 1) ^ 0x71;
} else {
LFSR <<= 1;
}
}
ROUND_CONSTANTS[i] = X64Word.create(roundConstantMsw, roundConstantLsw);
}
}());
// Reusable objects for temporary values
var T = [];
(function () {
for (var i = 0; i < 25; i++) {
T[i] = X64Word.create();
}
}());
/**
* SHA-3 hash algorithm.
*/
var SHA3 = C_algo.SHA3 = Hasher.extend({
/**
* Configuration options.
*
* @property {number} outputLength
* The desired number of bits in the output hash.
* Only values permitted are: 224, 256, 384, 512.
* Default: 512
*/
cfg: Hasher.cfg.extend({
outputLength: 512
}),
_doReset: function () {
var state = this._state = []
for (var i = 0; i < 25; i++) {
state[i] = new X64Word.init();
}
this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32;
},
_doProcessBlock: function (M, offset) {
// Shortcuts
var state = this._state;
var nBlockSizeLanes = this.blockSize / 2;
// Absorb
for (var i = 0; i < nBlockSizeLanes; i++) {
// Shortcuts
var M2i = M[offset + 2 * i];
var M2i1 = M[offset + 2 * i + 1];
// Swap endian
M2i = (
(((M2i << 8) | (M2i >>> 24)) & 0x00ff00ff) |
(((M2i << 24) | (M2i >>> 8)) & 0xff00ff00)
);
M2i1 = (
(((M2i1 << 8) | (M2i1 >>> 24)) & 0x00ff00ff) |
(((M2i1 << 24) | (M2i1 >>> 8)) & 0xff00ff00)
);
// Absorb message into state
var lane = state[i];
lane.high ^= M2i1;
lane.low ^= M2i;
}
// Rounds
for (var round = 0; round < 24; round++) {
// Theta
for (var x = 0; x < 5; x++) {
// Mix column lanes
var tMsw = 0, tLsw = 0;
for (var y = 0; y < 5; y++) {
var lane = state[x + 5 * y];
tMsw ^= lane.high;
tLsw ^= lane.low;
}
// Temporary values
var Tx = T[x];
Tx.high = tMsw;
Tx.low = tLsw;
}
for (var x = 0; x < 5; x++) {
// Shortcuts
var Tx4 = T[(x + 4) % 5];
var Tx1 = T[(x + 1) % 5];
var Tx1Msw = Tx1.high;
var Tx1Lsw = Tx1.low;
// Mix surrounding columns
var tMsw = Tx4.high ^ ((Tx1Msw << 1) | (Tx1Lsw >>> 31));
var tLsw = Tx4.low ^ ((Tx1Lsw << 1) | (Tx1Msw >>> 31));
for (var y = 0; y < 5; y++) {
var lane = state[x + 5 * y];
lane.high ^= tMsw;
lane.low ^= tLsw;
}
}
// Rho Pi
for (var laneIndex = 1; laneIndex < 25; laneIndex++) {
var tMsw;
var tLsw;
// Shortcuts
var lane = state[laneIndex];
var laneMsw = lane.high;
var laneLsw = lane.low;
var rhoOffset = RHO_OFFSETS[laneIndex];
// Rotate lanes
if (rhoOffset < 32) {
tMsw = (laneMsw << rhoOffset) | (laneLsw >>> (32 - rhoOffset));
tLsw = (laneLsw << rhoOffset) | (laneMsw >>> (32 - rhoOffset));
} else /* if (rhoOffset >= 32) */ {
tMsw = (laneLsw << (rhoOffset - 32)) | (laneMsw >>> (64 - rhoOffset));
tLsw = (laneMsw << (rhoOffset - 32)) | (laneLsw >>> (64 - rhoOffset));
}
// Transpose lanes
var TPiLane = T[PI_INDEXES[laneIndex]];
TPiLane.high = tMsw;
TPiLane.low = tLsw;
}
// Rho pi at x = y = 0
var T0 = T[0];
var state0 = state[0];
T0.high = state0.high;
T0.low = state0.low;
// Chi
for (var x = 0; x < 5; x++) {
for (var y = 0; y < 5; y++) {
// Shortcuts
var laneIndex = x + 5 * y;
var lane = state[laneIndex];
var TLane = T[laneIndex];
var Tx1Lane = T[((x + 1) % 5) + 5 * y];
var Tx2Lane = T[((x + 2) % 5) + 5 * y];
// Mix rows
lane.high = TLane.high ^ (~Tx1Lane.high & Tx2Lane.high);
lane.low = TLane.low ^ (~Tx1Lane.low & Tx2Lane.low);
}
}
// Iota
var lane = state[0];
var roundConstant = ROUND_CONSTANTS[round];
lane.high ^= roundConstant.high;
lane.low ^= roundConstant.low;
}
},
_doFinalize: function () {
// Shortcuts
var data = this._data;
var dataWords = data.words;
var nBitsTotal = this._nDataBytes * 8;
var nBitsLeft = data.sigBytes * 8;
var blockSizeBits = this.blockSize * 32;
// Add padding
dataWords[nBitsLeft >>> 5] |= 0x1 << (24 - nBitsLeft % 32);
dataWords[((Math.ceil((nBitsLeft + 1) / blockSizeBits) * blockSizeBits) >>> 5) - 1] |= 0x80;
data.sigBytes = dataWords.length * 4;
// Hash final blocks
this._process();
// Shortcuts
var state = this._state;
var outputLengthBytes = this.cfg.outputLength / 8;
var outputLengthLanes = outputLengthBytes / 8;
// Squeeze
var hashWords = [];
for (var i = 0; i < outputLengthLanes; i++) {
// Shortcuts
var lane = state[i];
var laneMsw = lane.high;
var laneLsw = lane.low;
// Swap endian
laneMsw = (
(((laneMsw << 8) | (laneMsw >>> 24)) & 0x00ff00ff) |
(((laneMsw << 24) | (laneMsw >>> 8)) & 0xff00ff00)
);
laneLsw = (
(((laneLsw << 8) | (laneLsw >>> 24)) & 0x00ff00ff) |
(((laneLsw << 24) | (laneLsw >>> 8)) & 0xff00ff00)
);
// Squeeze state to retrieve hash
hashWords.push(laneLsw);
hashWords.push(laneMsw);
}
// Return final computed hash
return new WordArray.init(hashWords, outputLengthBytes);
},
clone: function () {
var clone = Hasher.clone.call(this);
var state = clone._state = this._state.slice(0);
for (var i = 0; i < 25; i++) {
state[i] = state[i].clone();
}
return clone;
}
});
/**
* Shortcut function to the hasher's object interface.
*
* @param {WordArray|string} message The message to hash.
*
* @return {WordArray} The hash.
*
* @static
*
* @example
*
* var hash = CryptoJS.SHA3('message');
* var hash = CryptoJS.SHA3(wordArray);
*/
C.SHA3 = Hasher._createHelper(SHA3);
/**
* Shortcut function to the HMAC's object interface.
*
* @param {WordArray|string} message The message to hash.
* @param {WordArray|string} key The secret key.
*
* @return {WordArray} The HMAC.
*
* @static
*
* @example
*
* var hmac = CryptoJS.HmacSHA3(message, key);
*/
C.HmacSHA3 = Hasher._createHmacHelper(SHA3);
}(Math));
/** @preserve
(c) 2012 by Cédric Mesnil. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
(function (Math) {
// Shortcuts
var C = CryptoJS;
var C_lib = C.lib;
var WordArray = C_lib.WordArray;
var Hasher = C_lib.Hasher;
var C_algo = C.algo;
// Constants table
var _zl = WordArray.create([
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,
3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,
1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,
4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]);
var _zr = WordArray.create([
5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,
6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,
15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,
8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,
12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]);
var _sl = WordArray.create([
11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,
7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,
11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,
11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,
9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6 ]);
var _sr = WordArray.create([
8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,
9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,
9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,
15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,
8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11 ]);
var _hl = WordArray.create([ 0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E]);
var _hr = WordArray.create([ 0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000]);
/**
* RIPEMD160 hash algorithm.
*/
var RIPEMD160 = C_algo.RIPEMD160 = Hasher.extend({
_doReset: function () {
this._hash = WordArray.create([0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]);
},
_doProcessBlock: function (M, offset) {
// Swap endian
for (var i = 0; i < 16; i++) {
// Shortcuts
var offset_i = offset + i;
var M_offset_i = M[offset_i];
// Swap
M[offset_i] = (
(((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) |
(((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00)
);
}
// Shortcut
var H = this._hash.words;
var hl = _hl.words;
var hr = _hr.words;
var zl = _zl.words;
var zr = _zr.words;
var sl = _sl.words;
var sr = _sr.words;
// Working variables
var al, bl, cl, dl, el;
var ar, br, cr, dr, er;
ar = al = H[0];
br = bl = H[1];
cr = cl = H[2];
dr = dl = H[3];
er = el = H[4];
// Computation
var t;
for (var i = 0; i < 80; i += 1) {
t = (al + M[offset+zl[i]])|0;
if (i<16){
t += f1(bl,cl,dl) + hl[0];
} else if (i<32) {
t += f2(bl,cl,dl) + hl[1];
} else if (i<48) {
t += f3(bl,cl,dl) + hl[2];
} else if (i<64) {
t += f4(bl,cl,dl) + hl[3];
} else {// if (i<80) {
t += f5(bl,cl,dl) + hl[4];
}
t = t|0;
t = rotl(t,sl[i]);
t = (t+el)|0;
al = el;
el = dl;
dl = rotl(cl, 10);
cl = bl;
bl = t;
t = (ar + M[offset+zr[i]])|0;
if (i<16){
t += f5(br,cr,dr) + hr[0];
} else if (i<32) {
t += f4(br,cr,dr) + hr[1];
} else if (i<48) {
t += f3(br,cr,dr) + hr[2];
} else if (i<64) {
t += f2(br,cr,dr) + hr[3];
} else {// if (i<80) {
t += f1(br,cr,dr) + hr[4];
}
t = t|0;
t = rotl(t,sr[i]) ;
t = (t+er)|0;
ar = er;
er = dr;
dr = rotl(cr, 10);
cr = br;
br = t;
}
// Intermediate hash value
t = (H[1] + cl + dr)|0;
H[1] = (H[2] + dl + er)|0;
H[2] = (H[3] + el + ar)|0;
H[3] = (H[4] + al + br)|0;
H[4] = (H[0] + bl + cr)|0;
H[0] = t;
},
_doFinalize: function () {
// Shortcuts
var data = this._data;
var dataWords = data.words;
var nBitsTotal = this._nDataBytes * 8;
var nBitsLeft = data.sigBytes * 8;
// Add padding
dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);
dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = (
(((nBitsTotal << 8) | (nBitsTotal >>> 24)) & 0x00ff00ff) |
(((nBitsTotal << 24) | (nBitsTotal >>> 8)) & 0xff00ff00)
);
data.sigBytes = (dataWords.length + 1) * 4;
// Hash final blocks
this._process();
// Shortcuts
var hash = this._hash;
var H = hash.words;
// Swap endian
for (var i = 0; i < 5; i++) {
// Shortcut
var H_i = H[i];
// Swap
H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) |
(((H_i << 24) | (H_i >>> 8)) & 0xff00ff00);
}
// Return final computed hash
return hash;
},
clone: function () {
var clone = Hasher.clone.call(this);
clone._hash = this._hash.clone();
return clone;
}
});
function f1(x, y, z) {
return ((x) ^ (y) ^ (z));
}
function f2(x, y, z) {
return (((x)&(y)) | ((~x)&(z)));
}
function f3(x, y, z) {
return (((x) | (~(y))) ^ (z));
}
function f4(x, y, z) {
return (((x) & (z)) | ((y)&(~(z))));
}
function f5(x, y, z) {
return ((x) ^ ((y) |(~(z))));
}
function rotl(x,n) {
return (x<<n) | (x>>>(32-n));
}
/**
* Shortcut function to the hasher's object interface.
*
* @param {WordArray|string} message The message to hash.
*
* @return {WordArray} The hash.
*
* @static
*
* @example
*
* var hash = CryptoJS.RIPEMD160('message');
* var hash = CryptoJS.RIPEMD160(wordArray);
*/
C.RIPEMD160 = Hasher._createHelper(RIPEMD160);
/**
* Shortcut function to the HMAC's object interface.
*
* @param {WordArray|string} message The message to hash.
* @param {WordArray|string} key The secret key.
*
* @return {WordArray} The HMAC.
*
* @static
*
* @example
*
* var hmac = CryptoJS.HmacRIPEMD160(message, key);
*/
C.HmacRIPEMD160 = Hasher._createHmacHelper(RIPEMD160);
}(Math));
(function () {
// Shortcuts
var C = CryptoJS;
var C_lib = C.lib;
var Base = C_lib.Base;
var C_enc = C.enc;
var Utf8 = C_enc.Utf8;
var C_algo = C.algo;
/**
* HMAC algorithm.
*/
var HMAC = C_algo.HMAC = Base.extend({
/**
* Initializes a newly created HMAC.
*
* @param {Hasher} hasher The hash algorithm to use.
* @param {WordArray|string} key The secret key.
*
* @example
*
* var hmacHasher = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, key);
*/
init: function (hasher, key) {
// Init hasher
hasher = this._hasher = new hasher.init();
// Convert string to WordArray, else assume WordArray already
if (typeof key == 'string') {
key = Utf8.parse(key);
}
// Shortcuts
var hasherBlockSize = hasher.blockSize;
var hasherBlockSizeBytes = hasherBlockSize * 4;
// Allow arbitrary length keys
if (key.sigBytes > hasherBlockSizeBytes) {
key = hasher.finalize(key);
}
// Clamp excess bits
key.clamp();
// Clone key for inner and outer pads
var oKey = this._oKey = key.clone();
var iKey = this._iKey = key.clone();
// Shortcuts
var oKeyWords = oKey.words;
var iKeyWords = iKey.words;
// XOR keys with pad constants
for (var i = 0; i < hasherBlockSize; i++) {
oKeyWords[i] ^= 0x5c5c5c5c;
iKeyWords[i] ^= 0x36363636;
}
oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes;
// Set initial values
this.reset();
},
/**
* Resets this HMAC to its initial state.
*
* @example
*
* hmacHasher.reset();
*/
reset: function () {
// Shortcut
var hasher = this._hasher;
// Reset
hasher.reset();
hasher.update(this._iKey);
},
/**
* Updates this HMAC with a message.
*
* @param {WordArray|string} messageUpdate The message to append.
*
* @return {HMAC} This HMAC instance.
*
* @example
*
* hmacHasher.update('message');
* hmacHasher.update(wordArray);
*/
update: function (messageUpdate) {
this._hasher.update(messageUpdate);
// Chainable
return this;
},
/**
* Finalizes the HMAC computation.
* Note that the finalize operation is effectively a destructive, read-once operation.
*
* @param {WordArray|string} messageUpdate (Optional) A final message update.
*
* @return {WordArray} The HMAC.
*
* @example
*
* var hmac = hmacHasher.finalize();
* var hmac = hmacHasher.finalize('message');
* var hmac = hmacHasher.finalize(wordArray);
*/
finalize: function (messageUpdate) {
// Shortcut
var hasher = this._hasher;
// Compute HMAC
var innerHash = hasher.finalize(messageUpdate);
hasher.reset();
var hmac = hasher.finalize(this._oKey.clone().concat(innerHash));
return hmac;
}
});
}());
(function () {
// Shortcuts
var C = CryptoJS;
var C_lib = C.lib;
var Base = C_lib.Base;
var WordArray = C_lib.WordArray;
var C_algo = C.algo;
var SHA256 = C_algo.SHA256;
var HMAC = C_algo.HMAC;
/**
* Password-Based Key Derivation Function 2 algorithm.
*/
var PBKDF2 = C_algo.PBKDF2 = Base.extend({
/**
* Configuration options.
*
* @property {number} keySize The key size in words to generate. Default: 4 (128 bits)
* @property {Hasher} hasher The hasher to use. Default: SHA256
* @property {number} iterations The number of iterations to perform. Default: 250000
*/
cfg: Base.extend({
keySize: 128/32,
hasher: SHA256,
iterations: 250000
}),
/**
* Initializes a newly created key derivation function.
*
* @param {Object} cfg (Optional) The configuration options to use for the derivation.
*
* @example
*
* var kdf = CryptoJS.algo.PBKDF2.create();
* var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8 });
* var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8, iterations: 1000 });
*/
init: function (cfg) {
this.cfg = this.cfg.extend(cfg);
},
/**
* Computes the Password-Based Key Derivation Function 2.
*
* @param {WordArray|string} password The password.
* @param {WordArray|string} salt A salt.
*
* @return {WordArray} The derived key.
*
* @example
*
* var key = kdf.compute(password, salt);
*/
compute: function (password, salt) {
// Shortcut
var cfg = this.cfg;
// Init HMAC
var hmac = HMAC.create(cfg.hasher, password);
// Initial values
var derivedKey = WordArray.create();
var blockIndex = WordArray.create([0x00000001]);
// Shortcuts
var derivedKeyWords = derivedKey.words;
var blockIndexWords = blockIndex.words;
var keySize = cfg.keySize;
var iterations = cfg.iterations;
// Generate key
while (derivedKeyWords.length < keySize) {
var block = hmac.update(salt).finalize(blockIndex);
hmac.reset();
// Shortcuts
var blockWords = block.words;
var blockWordsLength = blockWords.length;
// Iterations
var intermediate = block;
for (var i = 1; i < iterations; i++) {
intermediate = hmac.finalize(intermediate);
hmac.reset();
// Shortcut
var intermediateWords = intermediate.words;
// XOR intermediate with block
for (var j = 0; j < blockWordsLength; j++) {
blockWords[j] ^= intermediateWords[j];
}
}
derivedKey.concat(block);
blockIndexWords[0]++;
}
derivedKey.sigBytes = keySize * 4;
return derivedKey;
}
});
/**
* Computes the Password-Based Key Derivation Function 2.
*
* @param {WordArray|string} password The password.
* @param {WordArray|string} salt A salt.
* @param {Object} cfg (Optional) The configuration options to use for this computation.
*
* @return {WordArray} The derived key.
*
* @static
*
* @example
*
* var key = CryptoJS.PBKDF2(password, salt);
* var key = CryptoJS.PBKDF2(password, salt, { keySize: 8 });
* var key = CryptoJS.PBKDF2(password, salt, { keySize: 8, iterations: 1000 });
*/
C.PBKDF2 = function (password, salt, cfg) {
return PBKDF2.create(cfg).compute(password, salt);
};
}());
(function () {
// Shortcuts
var C = CryptoJS;
var C_lib = C.lib;
var Base = C_lib.Base;
var WordArray = C_lib.WordArray;
var C_algo = C.algo;
var MD5 = C_algo.MD5;
/**
* This key derivation function is meant to conform with EVP_BytesToKey.
* www.openssl.org/docs/crypto/EVP_BytesToKey.html
*/
var EvpKDF = C_algo.EvpKDF = Base.extend({
/**
* Configuration options.
*
* @property {number} keySize The key size in words to generate. Default: 4 (128 bits)
* @property {Hasher} hasher The hash algorithm to use. Default: MD5
* @property {number} iterations The number of iterations to perform. Default: 1
*/
cfg: Base.extend({
keySize: 128/32,
hasher: MD5,
iterations: 1
}),
/**
* Initializes a newly created key derivation function.
*
* @param {Object} cfg (Optional) The configuration options to use for the derivation.
*
* @example
*
* var kdf = CryptoJS.algo.EvpKDF.create();
* var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8 });
* var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8, iterations: 1000 });
*/
init: function (cfg) {
this.cfg = this.cfg.extend(cfg);
},
/**
* Derives a key from a password.
*
* @param {WordArray|string} password The password.
* @param {WordArray|string} salt A salt.
*
* @return {WordArray} The derived key.
*
* @example
*
* var key = kdf.compute(password, salt);
*/
compute: function (password, salt) {
var block;
// Shortcut
var cfg = this.cfg;
// Init hasher
var hasher = cfg.hasher.create();
// Initial values
var derivedKey = WordArray.create();
// Shortcuts
var derivedKeyWords = derivedKey.words;
var keySize = cfg.keySize;
var iterations = cfg.iterations;
// Generate key
while (derivedKeyWords.length < keySize) {
if (block) {
hasher.update(block);
}
block = hasher.update(password).finalize(salt);
hasher.reset();
// Iterations
for (var i = 1; i < iterations; i++) {
block = hasher.finalize(block);
hasher.reset();
}
derivedKey.concat(block);
}
derivedKey.sigBytes = keySize * 4;
return derivedKey;
}
});
/**
* Derives a key from a password.
*
* @param {WordArray|string} password The password.
* @param {WordArray|string} salt A salt.
* @param {Object} cfg (Optional) The configuration options to use for this computation.
*
* @return {WordArray} The derived key.
*
* @static
*
* @example
*
* var key = CryptoJS.EvpKDF(password, salt);
* var key = CryptoJS.EvpKDF(password, salt, { keySize: 8 });
* var key = CryptoJS.EvpKDF(password, salt, { keySize: 8, iterations: 1000 });
*/
C.EvpKDF = function (password, salt, cfg) {
return EvpKDF.create(cfg).compute(password, salt);
};
}());
/**
* Cipher core components.
*/
CryptoJS.lib.Cipher || (function (undefined) {
// Shortcuts
var C = CryptoJS;
var C_lib = C.lib;
var Base = C_lib.Base;
var WordArray = C_lib.WordArray;
var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm;
var C_enc = C.enc;
var Utf8 = C_enc.Utf8;
var Base64 = C_enc.Base64;
var C_algo = C.algo;
var EvpKDF = C_algo.EvpKDF;
/**
* Abstract base cipher template.
*
* @property {number} keySize This cipher's key size. Default: 4 (128 bits)
* @property {number} ivSize This cipher's IV size. Default: 4 (128 bits)
* @property {number} _ENC_XFORM_MODE A constant representing encryption mode.
* @property {number} _DEC_XFORM_MODE A constant representing decryption mode.
*/
var Cipher = C_lib.Cipher = BufferedBlockAlgorithm.extend({
/**
* Configuration options.
*
* @property {WordArray} iv The IV to use for this operation.
*/
cfg: Base.extend(),
/**
* Creates this cipher in encryption mode.
*
* @param {WordArray} key The key.
* @param {Object} cfg (Optional) The configuration options to use for this operation.
*
* @return {Cipher} A cipher instance.
*
* @static
*
* @example
*
* var cipher = CryptoJS.algo.AES.createEncryptor(keyWordArray, { iv: ivWordArray });
*/
createEncryptor: function (key, cfg) {
return this.create(this._ENC_XFORM_MODE, key, cfg);
},
/**
* Creates this cipher in decryption mode.
*
* @param {WordArray} key The key.
* @param {Object} cfg (Optional) The configuration options to use for this operation.
*
* @return {Cipher} A cipher instance.
*
* @static
*
* @example
*
* var cipher = CryptoJS.algo.AES.createDecryptor(keyWordArray, { iv: ivWordArray });
*/
createDecryptor: function (key, cfg) {
return this.create(this._DEC_XFORM_MODE, key, cfg);
},
/**
* Initializes a newly created cipher.
*
* @param {number} xformMode Either the encryption or decryption transormation mode constant.
* @param {WordArray} key The key.
* @param {Object} cfg (Optional) The configuration options to use for this operation.
*
* @example
*
* var cipher = CryptoJS.algo.AES.create(CryptoJS.algo.AES._ENC_XFORM_MODE, keyWordArray, { iv: ivWordArray });
*/
init: function (xformMode, key, cfg) {
// Apply config defaults
this.cfg = this.cfg.extend(cfg);
// Store transform mode and key
this._xformMode = xformMode;
this._key = key;
// Set initial values
this.reset();
},
/**
* Resets this cipher to its initial state.
*
* @example
*
* cipher.reset();
*/
reset: function () {
// Reset data buffer
BufferedBlockAlgorithm.reset.call(this);
// Perform concrete-cipher logic
this._doReset();
},
/**
* Adds data to be encrypted or decrypted.
*
* @param {WordArray|string} dataUpdate The data to encrypt or decrypt.
*
* @return {WordArray} The data after processing.
*
* @example
*
* var encrypted = cipher.process('data');
* var encrypted = cipher.process(wordArray);
*/
process: function (dataUpdate) {
// Append
this._append(dataUpdate);
// Process available blocks
return this._process();
},
/**
* Finalizes the encryption or decryption process.
* Note that the finalize operation is effectively a destructive, read-once operation.
*
* @param {WordArray|string} dataUpdate The final data to encrypt or decrypt.
*
* @return {WordArray} The data after final processing.
*
* @example
*
* var encrypted = cipher.finalize();
* var encrypted = cipher.finalize('data');
* var encrypted = cipher.finalize(wordArray);
*/
finalize: function (dataUpdate) {
// Final data update
if (dataUpdate) {
this._append(dataUpdate);
}
// Perform concrete-cipher logic
var finalProcessedData = this._doFinalize();
return finalProcessedData;
},
keySize: 128/32,
ivSize: 128/32,
_ENC_XFORM_MODE: 1,
_DEC_XFORM_MODE: 2,
/**
* Creates shortcut functions to a cipher's object interface.
*
* @param {Cipher} cipher The cipher to create a helper for.
*
* @return {Object} An object with encrypt and decrypt shortcut functions.
*
* @static
*
* @example
*
* var AES = CryptoJS.lib.Cipher._createHelper(CryptoJS.algo.AES);
*/
_createHelper: (function () {
function selectCipherStrategy(key) {
if (typeof key == 'string') {
return PasswordBasedCipher;
} else {
return SerializableCipher;
}
}
return function (cipher) {
return {
encrypt: function (message, key, cfg) {
return selectCipherStrategy(key).encrypt(cipher, message, key, cfg);
},
decrypt: function (ciphertext, key, cfg) {
return selectCipherStrategy(key).decrypt(cipher, ciphertext, key, cfg);
}
};
};
}())
});
/**
* Abstract base stream cipher template.
*
* @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 1 (32 bits)
*/
var StreamCipher = C_lib.StreamCipher = Cipher.extend({
_doFinalize: function () {
// Process partial blocks
var finalProcessedBlocks = this._process(!!'flush');
return finalProcessedBlocks;
},
blockSize: 1
});
/**
* Mode namespace.
*/
var C_mode = C.mode = {};
/**
* Abstract base block cipher mode template.
*/
var BlockCipherMode = C_lib.BlockCipherMode = Base.extend({
/**
* Creates this mode for encryption.
*
* @param {Cipher} cipher A block cipher instance.
* @param {Array} iv The IV words.
*
* @static
*
* @example
*
* var mode = CryptoJS.mode.CBC.createEncryptor(cipher, iv.words);
*/
createEncryptor: function (cipher, iv) {
return this.Encryptor.create(cipher, iv);
},
/**
* Creates this mode for decryption.
*
* @param {Cipher} cipher A block cipher instance.
* @param {Array} iv The IV words.
*
* @static
*
* @example
*
* var mode = CryptoJS.mode.CBC.createDecryptor(cipher, iv.words);
*/
createDecryptor: function (cipher, iv) {
return this.Decryptor.create(cipher, iv);
},
/**
* Initializes a newly created mode.
*
* @param {Cipher} cipher A block cipher instance.
* @param {Array} iv The IV words.
*
* @example
*
* var mode = CryptoJS.mode.CBC.Encryptor.create(cipher, iv.words);
*/
init: function (cipher, iv) {
this._cipher = cipher;
this._iv = iv;
}
});
/**
* Cipher Block Chaining mode.
*/
var CBC = C_mode.CBC = (function () {
/**
* Abstract base CBC mode.
*/
var CBC = BlockCipherMode.extend();
/**
* CBC encryptor.
*/
CBC.Encryptor = CBC.extend({
/**
* Processes the data block at offset.
*
* @param {Array} words The data words to operate on.
* @param {number} offset The offset where the block starts.
*
* @example
*
* mode.processBlock(data.words, offset);
*/
processBlock: function (words, offset) {
// Shortcuts
var cipher = this._cipher;
var blockSize = cipher.blockSize;
// XOR and encrypt
xorBlock.call(this, words, offset, blockSize);
cipher.encryptBlock(words, offset);
// Remember this block to use with next block
this._prevBlock = words.slice(offset, offset + blockSize);
}
});
/**
* CBC decryptor.
*/
CBC.Decryptor = CBC.extend({
/**
* Processes the data block at offset.
*
* @param {Array} words The data words to operate on.
* @param {number} offset The offset where the block starts.
*
* @example
*
* mode.processBlock(data.words, offset);
*/
processBlock: function (words, offset) {
// Shortcuts
var cipher = this._cipher;
var blockSize = cipher.blockSize;
// Remember this block to use with next block
var thisBlock = words.slice(offset, offset + blockSize);
// Decrypt and XOR
cipher.decryptBlock(words, offset);
xorBlock.call(this, words, offset, blockSize);
// This block becomes the previous block
this._prevBlock = thisBlock;
}
});
function xorBlock(words, offset, blockSize) {
var block;
// Shortcut
var iv = this._iv;
// Choose mixing block
if (iv) {
block = iv;
// Remove IV for subsequent blocks
this._iv = undefined;
} else {
block = this._prevBlock;
}
// XOR blocks
for (var i = 0; i < blockSize; i++) {
words[offset + i] ^= block[i];
}
}
return CBC;
}());
/**
* Padding namespace.
*/
var C_pad = C.pad = {};
/**
* PKCS #5/7 padding strategy.
*/
var Pkcs7 = C_pad.Pkcs7 = {
/**
* Pads data using the algorithm defined in PKCS #5/7.
*
* @param {WordArray} data The data to pad.
* @param {number} blockSize The multiple that the data should be padded to.
*
* @static
*
* @example
*
* CryptoJS.pad.Pkcs7.pad(wordArray, 4);
*/
pad: function (data, blockSize) {
// Shortcut
var blockSizeBytes = blockSize * 4;
// Count padding bytes
var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;
// Create padding word
var paddingWord = (nPaddingBytes << 24) | (nPaddingBytes << 16) | (nPaddingBytes << 8) | nPaddingBytes;
// Create padding
var paddingWords = [];
for (var i = 0; i < nPaddingBytes; i += 4) {
paddingWords.push(paddingWord);
}
var padding = WordArray.create(paddingWords, nPaddingBytes);
// Add padding
data.concat(padding);
},
/**
* Unpads data that had been padded using the algorithm defined in PKCS #5/7.
*
* @param {WordArray} data The data to unpad.
*
* @static
*
* @example
*
* CryptoJS.pad.Pkcs7.unpad(wordArray);
*/
unpad: function (data) {
// Get number of padding bytes from last byte
var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff;
// Remove padding
data.sigBytes -= nPaddingBytes;
}
};
/**
* Abstract base block cipher template.
*
* @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 4 (128 bits)
*/
var BlockCipher = C_lib.BlockCipher = Cipher.extend({
/**
* Configuration options.
*
* @property {Mode} mode The block mode to use. Default: CBC
* @property {Padding} padding The padding strategy to use. Default: Pkcs7
*/
cfg: Cipher.cfg.extend({
mode: CBC,
padding: Pkcs7
}),
reset: function () {
var modeCreator;
// Reset cipher
Cipher.reset.call(this);
// Shortcuts
var cfg = this.cfg;
var iv = cfg.iv;
var mode = cfg.mode;
// Reset block mode
if (this._xformMode == this._ENC_XFORM_MODE) {
modeCreator = mode.createEncryptor;
} else /* if (this._xformMode == this._DEC_XFORM_MODE) */ {
modeCreator = mode.createDecryptor;
// Keep at least one block in the buffer for unpadding
this._minBufferSize = 1;
}
if (this._mode && this._mode.__creator == modeCreator) {
this._mode.init(this, iv && iv.words);
} else {
this._mode = modeCreator.call(mode, this, iv && iv.words);
this._mode.__creator = modeCreator;
}
},
_doProcessBlock: function (words, offset) {
this._mode.processBlock(words, offset);
},
_doFinalize: function () {
var finalProcessedBlocks;
// Shortcut
var padding = this.cfg.padding;
// Finalize
if (this._xformMode == this._ENC_XFORM_MODE) {
// Pad data
padding.pad(this._data, this.blockSize);
// Process final blocks
finalProcessedBlocks = this._process(!!'flush');
} else /* if (this._xformMode == this._DEC_XFORM_MODE) */ {
// Process final blocks
finalProcessedBlocks = this._process(!!'flush');
// Unpad data
padding.unpad(finalProcessedBlocks);
}
return finalProcessedBlocks;
},
blockSize: 128/32
});
/**
* A collection of cipher parameters.
*
* @property {WordArray} ciphertext The raw ciphertext.
* @property {WordArray} key The key to this ciphertext.
* @property {WordArray} iv The IV used in the ciphering operation.
* @property {WordArray} salt The salt used with a key derivation function.
* @property {Cipher} algorithm The cipher algorithm.
* @property {Mode} mode The block mode used in the ciphering operation.
* @property {Padding} padding The padding scheme used in the ciphering operation.
* @property {number} blockSize The block size of the cipher.
* @property {Format} formatter The default formatting strategy to convert this cipher params object to a string.
*/
var CipherParams = C_lib.CipherParams = Base.extend({
/**
* Initializes a newly created cipher params object.
*
* @param {Object} cipherParams An object with any of the possible cipher parameters.
*
* @example
*
* var cipherParams = CryptoJS.lib.CipherParams.create({
* ciphertext: ciphertextWordArray,
* key: keyWordArray,
* iv: ivWordArray,
* salt: saltWordArray,
* algorithm: CryptoJS.algo.AES,
* mode: CryptoJS.mode.CBC,
* padding: CryptoJS.pad.PKCS7,
* blockSize: 4,
* formatter: CryptoJS.format.OpenSSL
* });
*/
init: function (cipherParams) {
this.mixIn(cipherParams);
},
/**
* Converts this cipher params object to a string.
*
* @param {Format} formatter (Optional) The formatting strategy to use.
*
* @return {string} The stringified cipher params.
*
* @throws Error If neither the formatter nor the default formatter is set.
*
* @example
*
* var string = cipherParams + '';
* var string = cipherParams.toString();
* var string = cipherParams.toString(CryptoJS.format.OpenSSL);
*/
toString: function (formatter) {
return (formatter || this.formatter).stringify(this);
}
});
/**
* Format namespace.
*/
var C_format = C.format = {};
/**
* OpenSSL formatting strategy.
*/
var OpenSSLFormatter = C_format.OpenSSL = {
/**
* Converts a cipher params object to an OpenSSL-compatible string.
*
* @param {CipherParams} cipherParams The cipher params object.
*
* @return {string} The OpenSSL-compatible string.
*
* @static
*
* @example
*
* var openSSLString = CryptoJS.format.OpenSSL.stringify(cipherParams);
*/
stringify: function (cipherParams) {
var wordArray;
// Shortcuts
var ciphertext = cipherParams.ciphertext;
var salt = cipherParams.salt;
// Format
if (salt) {
wordArray = WordArray.create([0x53616c74, 0x65645f5f]).concat(salt).concat(ciphertext);
} else {
wordArray = ciphertext;
}
return wordArray.toString(Base64);
},
/**
* Converts an OpenSSL-compatible string to a cipher params object.
*
* @param {string} openSSLStr The OpenSSL-compatible string.
*
* @return {CipherParams} The cipher params object.
*
* @static
*
* @example
*
* var cipherParams = CryptoJS.format.OpenSSL.parse(openSSLString);
*/
parse: function (openSSLStr) {
var salt;
// Parse base64
var ciphertext = Base64.parse(openSSLStr);
// Shortcut
var ciphertextWords = ciphertext.words;
// Test for salt
if (ciphertextWords[0] == 0x53616c74 && ciphertextWords[1] == 0x65645f5f) {
// Extract salt
salt = WordArray.create(ciphertextWords.slice(2, 4));
// Remove salt from ciphertext
ciphertextWords.splice(0, 4);
ciphertext.sigBytes -= 16;
}
return CipherParams.create({ ciphertext: ciphertext, salt: salt });
}
};
/**
* A cipher wrapper that returns ciphertext as a serializable cipher params object.
*/
var SerializableCipher = C_lib.SerializableCipher = Base.extend({
/**
* Configuration options.
*
* @property {Formatter} format The formatting strategy to convert cipher param objects to and from a string. Default: OpenSSL
*/
cfg: Base.extend({
format: OpenSSLFormatter
}),
/**
* Encrypts a message.
*
* @param {Cipher} cipher The cipher algorithm to use.
* @param {WordArray|string} message The message to encrypt.
* @param {WordArray} key The key.
* @param {Object} cfg (Optional) The configuration options to use for this operation.
*
* @return {CipherParams} A cipher params object.
*
* @static
*
* @example
*
* var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key);
* var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv });
* var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv, format: CryptoJS.format.OpenSSL });
*/
encrypt: function (cipher, message, key, cfg) {
// Apply config defaults
cfg = this.cfg.extend(cfg);
// Encrypt
var encryptor = cipher.createEncryptor(key, cfg);
var ciphertext = encryptor.finalize(message);
// Shortcut
var cipherCfg = encryptor.cfg;
// Create and return serializable cipher params
return CipherParams.create({
ciphertext: ciphertext,
key: key,
iv: cipherCfg.iv,
algorithm: cipher,
mode: cipherCfg.mode,
padding: cipherCfg.padding,
blockSize: cipher.blockSize,
formatter: cfg.format
});
},
/**
* Decrypts serialized ciphertext.
*
* @param {Cipher} cipher The cipher algorithm to use.
* @param {CipherParams|string} ciphertext The ciphertext to decrypt.
* @param {WordArray} key The key.
* @param {Object} cfg (Optional) The configuration options to use for this operation.
*
* @return {WordArray} The plaintext.
*
* @static
*
* @example
*
* var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, key, { iv: iv, format: CryptoJS.format.OpenSSL });
* var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, key, { iv: iv, format: CryptoJS.format.OpenSSL });
*/
decrypt: function (cipher, ciphertext, key, cfg) {
// Apply config defaults
cfg = this.cfg.extend(cfg);
// Convert string to CipherParams
ciphertext = this._parse(ciphertext, cfg.format);
// Decrypt
var plaintext = cipher.createDecryptor(key, cfg).finalize(ciphertext.ciphertext);
return plaintext;
},
/**
* Converts serialized ciphertext to CipherParams,
* else assumed CipherParams already and returns ciphertext unchanged.
*
* @param {CipherParams|string} ciphertext The ciphertext.
* @param {Formatter} format The formatting strategy to use to parse serialized ciphertext.
*
* @return {CipherParams} The unserialized ciphertext.
*
* @static
*
* @example
*
* var ciphertextParams = CryptoJS.lib.SerializableCipher._parse(ciphertextStringOrParams, format);
*/
_parse: function (ciphertext, format) {
if (typeof ciphertext == 'string') {
return format.parse(ciphertext, this);
} else {
return ciphertext;
}
}
});
/**
* Key derivation function namespace.
*/
var C_kdf = C.kdf = {};
/**
* OpenSSL key derivation function.
*/
var OpenSSLKdf = C_kdf.OpenSSL = {
/**
* Derives a key and IV from a password.
*
* @param {string} password The password to derive from.
* @param {number} keySize The size in words of the key to generate.
* @param {number} ivSize The size in words of the IV to generate.
* @param {WordArray|string} salt (Optional) A 64-bit salt to use. If omitted, a salt will be generated randomly.
*
* @return {CipherParams} A cipher params object with the key, IV, and salt.
*
* @static
*
* @example
*
* var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32);
* var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32, 'saltsalt');
*/
execute: function (password, keySize, ivSize, salt, hasher) {
// Generate random salt
if (!salt) {
salt = WordArray.random(64/8);
}
// Derive key and IV
if (!hasher) {
var key = EvpKDF.create({ keySize: keySize + ivSize }).compute(password, salt);
} else {
var key = EvpKDF.create({ keySize: keySize + ivSize, hasher: hasher }).compute(password, salt);
}
// Separate key and IV
var iv = WordArray.create(key.words.slice(keySize), ivSize * 4);
key.sigBytes = keySize * 4;
// Return params
return CipherParams.create({ key: key, iv: iv, salt: salt });
}
};
/**
* A serializable cipher wrapper that derives the key from a password,
* and returns ciphertext as a serializable cipher params object.
*/
var PasswordBasedCipher = C_lib.PasswordBasedCipher = SerializableCipher.extend({
/**
* Configuration options.
*
* @property {KDF} kdf The key derivation function to use to generate a key and IV from a password. Default: OpenSSL
*/
cfg: SerializableCipher.cfg.extend({
kdf: OpenSSLKdf
}),
/**
* Encrypts a message using a password.
*
* @param {Cipher} cipher The cipher algorithm to use.
* @param {WordArray|string} message The message to encrypt.
* @param {string} password The password.
* @param {Object} cfg (Optional) The configuration options to use for this operation.
*
* @return {CipherParams} A cipher params object.
*
* @static
*
* @example
*
* var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password');
* var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password', { format: CryptoJS.format.OpenSSL });
*/
encrypt: function (cipher, message, password, cfg) {
// Apply config defaults
cfg = this.cfg.extend(cfg);
// Derive key and other params
var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, cfg.salt, cfg.hasher);
// Add IV to config
cfg.iv = derivedParams.iv;
// Encrypt
var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg);
// Mix in derived params
ciphertext.mixIn(derivedParams);
return ciphertext;
},
/**
* Decrypts serialized ciphertext using a password.
*
* @param {Cipher} cipher The cipher algorithm to use.
* @param {CipherParams|string} ciphertext The ciphertext to decrypt.
* @param {string} password The password.
* @param {Object} cfg (Optional) The configuration options to use for this operation.
*
* @return {WordArray} The plaintext.
*
* @static
*
* @example
*
* var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, 'password', { format: CryptoJS.format.OpenSSL });
* var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, 'password', { format: CryptoJS.format.OpenSSL });
*/
decrypt: function (cipher, ciphertext, password, cfg) {
// Apply config defaults
cfg = this.cfg.extend(cfg);
// Convert string to CipherParams
ciphertext = this._parse(ciphertext, cfg.format);
// Derive key and other params
var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt, cfg.hasher);
// Add IV to config
cfg.iv = derivedParams.iv;
// Decrypt
var plaintext = SerializableCipher.decrypt.call(this, cipher, ciphertext, derivedParams.key, cfg);
return plaintext;
}
});
}());
/**
* Cipher Feedback block mode.
*/
CryptoJS.mode.CFB = (function () {
var CFB = CryptoJS.lib.BlockCipherMode.extend();
CFB.Encryptor = CFB.extend({
processBlock: function (words, offset) {
// Shortcuts
var cipher = this._cipher;
var blockSize = cipher.blockSize;
generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);
// Remember this block to use with next block
this._prevBlock = words.slice(offset, offset + blockSize);
}
});
CFB.Decryptor = CFB.extend({
processBlock: function (words, offset) {
// Shortcuts
var cipher = this._cipher;
var blockSize = cipher.blockSize;
// Remember this block to use with next block
var thisBlock = words.slice(offset, offset + blockSize);
generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);
// This block becomes the previous block
this._prevBlock = thisBlock;
}
});
function generateKeystreamAndEncrypt(words, offset, blockSize, cipher) {
var keystream;
// Shortcut
var iv = this._iv;
// Generate keystream
if (iv) {
keystream = iv.slice(0);
// Remove IV for subsequent blocks
this._iv = undefined;
} else {
keystream = this._prevBlock;
}
cipher.encryptBlock(keystream, 0);
// Encrypt
for (var i = 0; i < blockSize; i++) {
words[offset + i] ^= keystream[i];
}
}
return CFB;
}());
/**
* Counter block mode.
*/
CryptoJS.mode.CTR = (function () {
var CTR = CryptoJS.lib.BlockCipherMode.extend();
var Encryptor = CTR.Encryptor = CTR.extend({
processBlock: function (words, offset) {
// Shortcuts
var cipher = this._cipher
var blockSize = cipher.blockSize;
var iv = this._iv;
var counter = this._counter;
// Generate keystream
if (iv) {
counter = this._counter = iv.slice(0);
// Remove IV for subsequent blocks
this._iv = undefined;
}
var keystream = counter.slice(0);
cipher.encryptBlock(keystream, 0);
// Increment counter
counter[blockSize - 1] = (counter[blockSize - 1] + 1) | 0
// Encrypt
for (var i = 0; i < blockSize; i++) {
words[offset + i] ^= keystream[i];
}
}
});
CTR.Decryptor = Encryptor;
return CTR;
}());
/** @preserve
* Counter block mode compatible with Dr Brian Gladman fileenc.c
* derived from CryptoJS.mode.CTR
* Jan Hruby jhruby.web@gmail.com
*/
CryptoJS.mode.CTRGladman = (function () {
var CTRGladman = CryptoJS.lib.BlockCipherMode.extend();
function incWord(word)
{
if (((word >> 24) & 0xff) === 0xff) { //overflow
var b1 = (word >> 16)&0xff;
var b2 = (word >> 8)&0xff;
var b3 = word & 0xff;
if (b1 === 0xff) // overflow b1
{
b1 = 0;
if (b2 === 0xff)
{
b2 = 0;
if (b3 === 0xff)
{
b3 = 0;
}
else
{
++b3;
}
}
else
{
++b2;
}
}
else
{
++b1;
}
word = 0;
word += (b1 << 16);
word += (b2 << 8);
word += b3;
}
else
{
word += (0x01 << 24);
}
return word;
}
function incCounter(counter)
{
if ((counter[0] = incWord(counter[0])) === 0)
{
// encr_data in fileenc.c from Dr Brian Gladman's counts only with DWORD j < 8
counter[1] = incWord(counter[1]);
}
return counter;
}
var Encryptor = CTRGladman.Encryptor = CTRGladman.extend({
processBlock: function (words, offset) {
// Shortcuts
var cipher = this._cipher
var blockSize = cipher.blockSize;
var iv = this._iv;
var counter = this._counter;
// Generate keystream
if (iv) {
counter = this._counter = iv.slice(0);
// Remove IV for subsequent blocks
this._iv = undefined;
}
incCounter(counter);
var keystream = counter.slice(0);
cipher.encryptBlock(keystream, 0);
// Encrypt
for (var i = 0; i < blockSize; i++) {
words[offset + i] ^= keystream[i];
}
}
});
CTRGladman.Decryptor = Encryptor;
return CTRGladman;
}());
/**
* Output Feedback block mode.
*/
CryptoJS.mode.OFB = (function () {
var OFB = CryptoJS.lib.BlockCipherMode.extend();
var Encryptor = OFB.Encryptor = OFB.extend({
processBlock: function (words, offset) {
// Shortcuts
var cipher = this._cipher
var blockSize = cipher.blockSize;
var iv = this._iv;
var keystream = this._keystream;
// Generate keystream
if (iv) {
keystream = this._keystream = iv.slice(0);
// Remove IV for subsequent blocks
this._iv = undefined;
}
cipher.encryptBlock(keystream, 0);
// Encrypt
for (var i = 0; i < blockSize; i++) {
words[offset + i] ^= keystream[i];
}
}
});
OFB.Decryptor = Encryptor;
return OFB;
}());
/**
* Electronic Codebook block mode.
*/
CryptoJS.mode.ECB = (function () {
var ECB = CryptoJS.lib.BlockCipherMode.extend();
ECB.Encryptor = ECB.extend({
processBlock: function (words, offset) {
this._cipher.encryptBlock(words, offset);
}
});
ECB.Decryptor = ECB.extend({
processBlock: function (words, offset) {
this._cipher.decryptBlock(words, offset);
}
});
return ECB;
}());
/**
* ANSI X.923 padding strategy.
*/
CryptoJS.pad.AnsiX923 = {
pad: function (data, blockSize) {
// Shortcuts
var dataSigBytes = data.sigBytes;
var blockSizeBytes = blockSize * 4;
// Count padding bytes
var nPaddingBytes = blockSizeBytes - dataSigBytes % blockSizeBytes;
// Compute last byte position
var lastBytePos = dataSigBytes + nPaddingBytes - 1;
// Pad
data.clamp();
data.words[lastBytePos >>> 2] |= nPaddingBytes << (24 - (lastBytePos % 4) * 8);
data.sigBytes += nPaddingBytes;
},
unpad: function (data) {
// Get number of padding bytes from last byte
var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff;
// Remove padding
data.sigBytes -= nPaddingBytes;
}
};
/**
* ISO 10126 padding strategy.
*/
CryptoJS.pad.Iso10126 = {
pad: function (data, blockSize) {
// Shortcut
var blockSizeBytes = blockSize * 4;
// Count padding bytes
var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;
// Pad
data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes - 1)).
concat(CryptoJS.lib.WordArray.create([nPaddingBytes << 24], 1));
},
unpad: function (data) {
// Get number of padding bytes from last byte
var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff;
// Remove padding
data.sigBytes -= nPaddingBytes;
}
};
/**
* ISO/IEC 9797-1 Padding Method 2.
*/
CryptoJS.pad.Iso97971 = {
pad: function (data, blockSize) {
// Add 0x80 byte
data.concat(CryptoJS.lib.WordArray.create([0x80000000], 1));
// Zero pad the rest
CryptoJS.pad.ZeroPadding.pad(data, blockSize);
},
unpad: function (data) {
// Remove zero padding
CryptoJS.pad.ZeroPadding.unpad(data);
// Remove one more byte -- the 0x80 byte
data.sigBytes--;
}
};
/**
* Zero padding strategy.
*/
CryptoJS.pad.ZeroPadding = {
pad: function (data, blockSize) {
// Shortcut
var blockSizeBytes = blockSize * 4;
// Pad
data.clamp();
data.sigBytes += blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes);
},
unpad: function (data) {
// Shortcut
var dataWords = data.words;
// Unpad
var i = data.sigBytes - 1;
for (var i = data.sigBytes - 1; i >= 0; i--) {
if (((dataWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff)) {
data.sigBytes = i + 1;
break;
}
}
}
};
/**
* A noop padding strategy.
*/
CryptoJS.pad.NoPadding = {
pad: function () {
},
unpad: function () {
}
};
(function (undefined) {
// Shortcuts
var C = CryptoJS;
var C_lib = C.lib;
var CipherParams = C_lib.CipherParams;
var C_enc = C.enc;
var Hex = C_enc.Hex;
var C_format = C.format;
var HexFormatter = C_format.Hex = {
/**
* Converts the ciphertext of a cipher params object to a hexadecimally encoded string.
*
* @param {CipherParams} cipherParams The cipher params object.
*
* @return {string} The hexadecimally encoded string.
*
* @static
*
* @example
*
* var hexString = CryptoJS.format.Hex.stringify(cipherParams);
*/
stringify: function (cipherParams) {
return cipherParams.ciphertext.toString(Hex);
},
/**
* Converts a hexadecimally encoded ciphertext string to a cipher params object.
*
* @param {string} input The hexadecimally encoded string.
*
* @return {CipherParams} The cipher params object.
*
* @static
*
* @example
*
* var cipherParams = CryptoJS.format.Hex.parse(hexString);
*/
parse: function (input) {
var ciphertext = Hex.parse(input);
return CipherParams.create({ ciphertext: ciphertext });
}
};
}());
(function () {
// Shortcuts
var C = CryptoJS;
var C_lib = C.lib;
var BlockCipher = C_lib.BlockCipher;
var C_algo = C.algo;
// Lookup tables
var SBOX = [];
var INV_SBOX = [];
var SUB_MIX_0 = [];
var SUB_MIX_1 = [];
var SUB_MIX_2 = [];
var SUB_MIX_3 = [];
var INV_SUB_MIX_0 = [];
var INV_SUB_MIX_1 = [];
var INV_SUB_MIX_2 = [];
var INV_SUB_MIX_3 = [];
// Compute lookup tables
(function () {
// Compute double table
var d = [];
for (var i = 0; i < 256; i++) {
if (i < 128) {
d[i] = i << 1;
} else {
d[i] = (i << 1) ^ 0x11b;
}
}
// Walk GF(2^8)
var x = 0;
var xi = 0;
for (var i = 0; i < 256; i++) {
// Compute sbox
var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4);
sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63;
SBOX[x] = sx;
INV_SBOX[sx] = x;
// Compute multiplication
var x2 = d[x];
var x4 = d[x2];
var x8 = d[x4];
// Compute sub bytes, mix columns tables
var t = (d[sx] * 0x101) ^ (sx * 0x1010100);
SUB_MIX_0[x] = (t << 24) | (t >>> 8);
SUB_MIX_1[x] = (t << 16) | (t >>> 16);
SUB_MIX_2[x] = (t << 8) | (t >>> 24);
SUB_MIX_3[x] = t;
// Compute inv sub bytes, inv mix columns tables
var t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100);
INV_SUB_MIX_0[sx] = (t << 24) | (t >>> 8);
INV_SUB_MIX_1[sx] = (t << 16) | (t >>> 16);
INV_SUB_MIX_2[sx] = (t << 8) | (t >>> 24);
INV_SUB_MIX_3[sx] = t;
// Compute next counter
if (!x) {
x = xi = 1;
} else {
x = x2 ^ d[d[d[x8 ^ x2]]];
xi ^= d[d[xi]];
}
}
}());
// Precomputed Rcon lookup
var RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36];
/**
* AES block cipher algorithm.
*/
var AES = C_algo.AES = BlockCipher.extend({
_doReset: function () {
var t;
// Skip reset of nRounds has been set before and key did not change
if (this._nRounds && this._keyPriorReset === this._key) {
return;
}
// Shortcuts
var key = this._keyPriorReset = this._key;
var keyWords = key.words;
var keySize = key.sigBytes / 4;
// Compute number of rounds
var nRounds = this._nRounds = keySize + 6;
// Compute number of key schedule rows
var ksRows = (nRounds + 1) * 4;
// Compute key schedule
var keySchedule = this._keySchedule = [];
for (var ksRow = 0; ksRow < ksRows; ksRow++) {
if (ksRow < keySize) {
keySchedule[ksRow] = keyWords[ksRow];
} else {
t = keySchedule[ksRow - 1];
if (!(ksRow % keySize)) {
// Rot word
t = (t << 8) | (t >>> 24);
// Sub word
t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff];
// Mix Rcon
t ^= RCON[(ksRow / keySize) | 0] << 24;
} else if (keySize > 6 && ksRow % keySize == 4) {
// Sub word
t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff];
}
keySchedule[ksRow] = keySchedule[ksRow - keySize] ^ t;
}
}
// Compute inv key schedule
var invKeySchedule = this._invKeySchedule = [];
for (var invKsRow = 0; invKsRow < ksRows; invKsRow++) {
var ksRow = ksRows - invKsRow;
if (invKsRow % 4) {
var t = keySchedule[ksRow];
} else {
var t = keySchedule[ksRow - 4];
}
if (invKsRow < 4 || ksRow <= 4) {
invKeySchedule[invKsRow] = t;
} else {
invKeySchedule[invKsRow] = INV_SUB_MIX_0[SBOX[t >>> 24]] ^ INV_SUB_MIX_1[SBOX[(t >>> 16) & 0xff]] ^
INV_SUB_MIX_2[SBOX[(t >>> 8) & 0xff]] ^ INV_SUB_MIX_3[SBOX[t & 0xff]];
}
}
},
encryptBlock: function (M, offset) {
this._doCryptBlock(M, offset, this._keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX);
},
decryptBlock: function (M, offset) {
// Swap 2nd and 4th rows
var t = M[offset + 1];
M[offset + 1] = M[offset + 3];
M[offset + 3] = t;
this._doCryptBlock(M, offset, this._invKeySchedule, INV_SUB_MIX_0, INV_SUB_MIX_1, INV_SUB_MIX_2, INV_SUB_MIX_3, INV_SBOX);
// Inv swap 2nd and 4th rows
var t = M[offset + 1];
M[offset + 1] = M[offset + 3];
M[offset + 3] = t;
},
_doCryptBlock: function (M, offset, keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX) {
// Shortcut
var nRounds = this._nRounds;
// Get input, add round key
var s0 = M[offset] ^ keySchedule[0];
var s1 = M[offset + 1] ^ keySchedule[1];
var s2 = M[offset + 2] ^ keySchedule[2];
var s3 = M[offset + 3] ^ keySchedule[3];
// Key schedule row counter
var ksRow = 4;
// Rounds
for (var round = 1; round < nRounds; round++) {
// Shift rows, sub bytes, mix columns, add round key
var t0 = SUB_MIX_0[s0 >>> 24] ^ SUB_MIX_1[(s1 >>> 16) & 0xff] ^ SUB_MIX_2[(s2 >>> 8) & 0xff] ^ SUB_MIX_3[s3 & 0xff] ^ keySchedule[ksRow++];
var t1 = SUB_MIX_0[s1 >>> 24] ^ SUB_MIX_1[(s2 >>> 16) & 0xff] ^ SUB_MIX_2[(s3 >>> 8) & 0xff] ^ SUB_MIX_3[s0 & 0xff] ^ keySchedule[ksRow++];
var t2 = SUB_MIX_0[s2 >>> 24] ^ SUB_MIX_1[(s3 >>> 16) & 0xff] ^ SUB_MIX_2[(s0 >>> 8) & 0xff] ^ SUB_MIX_3[s1 & 0xff] ^ keySchedule[ksRow++];
var t3 = SUB_MIX_0[s3 >>> 24] ^ SUB_MIX_1[(s0 >>> 16) & 0xff] ^ SUB_MIX_2[(s1 >>> 8) & 0xff] ^ SUB_MIX_3[s2 & 0xff] ^ keySchedule[ksRow++];
// Update state
s0 = t0;
s1 = t1;
s2 = t2;
s3 = t3;
}
// Shift rows, sub bytes, add round key
var t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++];
var t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++];
var t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++];
var t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++];
// Set output
M[offset] = t0;
M[offset + 1] = t1;
M[offset + 2] = t2;
M[offset + 3] = t3;
},
keySize: 256/32
});
/**
* Shortcut functions to the cipher's object interface.
*
* @example
*
* var ciphertext = CryptoJS.AES.encrypt(message, key, cfg);
* var plaintext = CryptoJS.AES.decrypt(ciphertext, key, cfg);
*/
C.AES = BlockCipher._createHelper(AES);
}());
(function () {
// Shortcuts
var C = CryptoJS;
var C_lib = C.lib;
var WordArray = C_lib.WordArray;
var BlockCipher = C_lib.BlockCipher;
var C_algo = C.algo;
// Permuted Choice 1 constants
var PC1 = [
57, 49, 41, 33, 25, 17, 9, 1,
58, 50, 42, 34, 26, 18, 10, 2,
59, 51, 43, 35, 27, 19, 11, 3,
60, 52, 44, 36, 63, 55, 47, 39,
31, 23, 15, 7, 62, 54, 46, 38,
30, 22, 14, 6, 61, 53, 45, 37,
29, 21, 13, 5, 28, 20, 12, 4
];
// Permuted Choice 2 constants
var PC2 = [
14, 17, 11, 24, 1, 5,
3, 28, 15, 6, 21, 10,
23, 19, 12, 4, 26, 8,
16, 7, 27, 20, 13, 2,
41, 52, 31, 37, 47, 55,
30, 40, 51, 45, 33, 48,
44, 49, 39, 56, 34, 53,
46, 42, 50, 36, 29, 32
];
// Cumulative bit shift constants
var BIT_SHIFTS = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28];
// SBOXes and round permutation constants
var SBOX_P = [
{
0x0: 0x808200,
0x10000000: 0x8000,
0x20000000: 0x808002,
0x30000000: 0x2,
0x40000000: 0x200,
0x50000000: 0x808202,
0x60000000: 0x800202,
0x70000000: 0x800000,
0x80000000: 0x202,
0x90000000: 0x800200,
0xa0000000: 0x8200,
0xb0000000: 0x808000,
0xc0000000: 0x8002,
0xd0000000: 0x800002,
0xe0000000: 0x0,
0xf0000000: 0x8202,
0x8000000: 0x0,
0x18000000: 0x808202,
0x28000000: 0x8202,
0x38000000: 0x8000,
0x48000000: 0x808200,
0x58000000: 0x200,
0x68000000: 0x808002,
0x78000000: 0x2,
0x88000000: 0x800200,
0x98000000: 0x8200,
0xa8000000: 0x808000,
0xb8000000: 0x800202,
0xc8000000: 0x800002,
0xd8000000: 0x8002,
0xe8000000: 0x202,
0xf8000000: 0x800000,
0x1: 0x8000,
0x10000001: 0x2,
0x20000001: 0x808200,
0x30000001: 0x800000,
0x40000001: 0x808002,
0x50000001: 0x8200,
0x60000001: 0x200,
0x70000001: 0x800202,
0x80000001: 0x808202,
0x90000001: 0x808000,
0xa0000001: 0x800002,
0xb0000001: 0x8202,
0xc0000001: 0x202,
0xd0000001: 0x800200,
0xe0000001: 0x8002,
0xf0000001: 0x0,
0x8000001: 0x808202,
0x18000001: 0x808000,
0x28000001: 0x800000,
0x38000001: 0x200,
0x48000001: 0x8000,
0x58000001: 0x800002,
0x68000001: 0x2,
0x78000001: 0x8202,
0x88000001: 0x8002,
0x98000001: 0x800202,
0xa8000001: 0x202,
0xb8000001: 0x808200,
0xc8000001: 0x800200,
0xd8000001: 0x0,
0xe8000001: 0x8200,
0xf8000001: 0x808002
},
{
0x0: 0x40084010,
0x1000000: 0x4000,
0x2000000: 0x80000,
0x3000000: 0x40080010,
0x4000000: 0x40000010,
0x5000000: 0x40084000,
0x6000000: 0x40004000,
0x7000000: 0x10,
0x8000000: 0x84000,
0x9000000: 0x40004010,
0xa000000: 0x40000000,
0xb000000: 0x84010,
0xc000000: 0x80010,
0xd000000: 0x0,
0xe000000: 0x4010,
0xf000000: 0x40080000,
0x800000: 0x40004000,
0x1800000: 0x84010,
0x2800000: 0x10,
0x3800000: 0x40004010,
0x4800000: 0x40084010,
0x5800000: 0x40000000,
0x6800000: 0x80000,
0x7800000: 0x40080010,
0x8800000: 0x80010,
0x9800000: 0x0,
0xa800000: 0x4000,
0xb800000: 0x40080000,
0xc800000: 0x40000010,
0xd800000: 0x84000,
0xe800000: 0x40084000,
0xf800000: 0x4010,
0x10000000: 0x0,
0x11000000: 0x40080010,
0x12000000: 0x40004010,
0x13000000: 0x40084000,
0x14000000: 0x40080000,
0x15000000: 0x10,
0x16000000: 0x84010,
0x17000000: 0x4000,
0x18000000: 0x4010,
0x19000000: 0x80000,
0x1a000000: 0x80010,
0x1b000000: 0x40000010,
0x1c000000: 0x84000,
0x1d000000: 0x40004000,
0x1e000000: 0x40000000,
0x1f000000: 0x40084010,
0x10800000: 0x84010,
0x11800000: 0x80000,
0x12800000: 0x40080000,
0x13800000: 0x4000,
0x14800000: 0x40004000,
0x15800000: 0x40084010,
0x16800000: 0x10,
0x17800000: 0x40000000,
0x18800000: 0x40084000,
0x19800000: 0x40000010,
0x1a800000: 0x40004010,
0x1b800000: 0x80010,
0x1c800000: 0x0,
0x1d800000: 0x4010,
0x1e800000: 0x40080010,
0x1f800000: 0x84000
},
{
0x0: 0x104,
0x100000: 0x0,
0x200000: 0x4000100,
0x300000: 0x10104,
0x400000: 0x10004,
0x500000: 0x4000004,
0x600000: 0x4010104,
0x700000: 0x4010000,
0x800000: 0x4000000,
0x900000: 0x4010100,
0xa00000: 0x10100,
0xb00000: 0x4010004,
0xc00000: 0x4000104,
0xd00000: 0x10000,
0xe00000: 0x4,
0xf00000: 0x100,
0x80000: 0x4010100,
0x180000: 0x4010004,
0x280000: 0x0,
0x380000: 0x4000100,
0x480000: 0x4000004,
0x580000: 0x10000,
0x680000: 0x10004,
0x780000: 0x104,
0x880000: 0x4,
0x980000: 0x100,
0xa80000: 0x4010000,
0xb80000: 0x10104,
0xc80000: 0x10100,
0xd80000: 0x4000104,
0xe80000: 0x4010104,
0xf80000: 0x4000000,
0x1000000: 0x4010100,
0x1100000: 0x10004,
0x1200000: 0x10000,
0x1300000: 0x4000100,
0x1400000: 0x100,
0x1500000: 0x4010104,
0x1600000: 0x4000004,
0x1700000: 0x0,
0x1800000: 0x4000104,
0x1900000: 0x4000000,
0x1a00000: 0x4,
0x1b00000: 0x10100,
0x1c00000: 0x4010000,
0x1d00000: 0x104,
0x1e00000: 0x10104,
0x1f00000: 0x4010004,
0x1080000: 0x4000000,
0x1180000: 0x104,
0x1280000: 0x4010100,
0x1380000: 0x0,
0x1480000: 0x10004,
0x1580000: 0x4000100,
0x1680000: 0x100,
0x1780000: 0x4010004,
0x1880000: 0x10000,
0x1980000: 0x4010104,
0x1a80000: 0x10104,
0x1b80000: 0x4000004,
0x1c80000: 0x4000104,
0x1d80000: 0x4010000,
0x1e80000: 0x4,
0x1f80000: 0x10100
},
{
0x0: 0x80401000,
0x10000: 0x80001040,
0x20000: 0x401040,
0x30000: 0x80400000,
0x40000: 0x0,
0x50000: 0x401000,
0x60000: 0x80000040,
0x70000: 0x400040,
0x80000: 0x80000000,
0x90000: 0x400000,
0xa0000: 0x40,
0xb0000: 0x80001000,
0xc0000: 0x80400040,
0xd0000: 0x1040,
0xe0000: 0x1000,
0xf0000: 0x80401040,
0x8000: 0x80001040,
0x18000: 0x40,
0x28000: 0x80400040,
0x38000: 0x80001000,
0x48000: 0x401000,
0x58000: 0x80401040,
0x68000: 0x0,
0x78000: 0x80400000,
0x88000: 0x1000,
0x98000: 0x80401000,
0xa8000: 0x400000,
0xb8000: 0x1040,
0xc8000: 0x80000000,
0xd8000: 0x400040,
0xe8000: 0x401040,
0xf8000: 0x80000040,
0x100000: 0x400040,
0x110000: 0x401000,
0x120000: 0x80000040,
0x130000: 0x0,
0x140000: 0x1040,
0x150000: 0x80400040,
0x160000: 0x80401000,
0x170000: 0x80001040,
0x180000: 0x80401040,
0x190000: 0x80000000,
0x1a0000: 0x80400000,
0x1b0000: 0x401040,
0x1c0000: 0x80001000,
0x1d0000: 0x400000,
0x1e0000: 0x40,
0x1f0000: 0x1000,
0x108000: 0x80400000,
0x118000: 0x80401040,
0x128000: 0x0,
0x138000: 0x401000,
0x148000: 0x400040,
0x158000: 0x80000000,
0x168000: 0x80001040,
0x178000: 0x40,
0x188000: 0x80000040,
0x198000: 0x1000,
0x1a8000: 0x80001000,
0x1b8000: 0x80400040,
0x1c8000: 0x1040,
0x1d8000: 0x80401000,
0x1e8000: 0x400000,
0x1f8000: 0x401040
},
{
0x0: 0x80,
0x1000: 0x1040000,
0x2000: 0x40000,
0x3000: 0x20000000,
0x4000: 0x20040080,
0x5000: 0x1000080,
0x6000: 0x21000080,
0x7000: 0x40080,
0x8000: 0x1000000,
0x9000: 0x20040000,
0xa000: 0x20000080,
0xb000: 0x21040080,
0xc000: 0x21040000,
0xd000: 0x0,
0xe000: 0x1040080,
0xf000: 0x21000000,
0x800: 0x1040080,
0x1800: 0x21000080,
0x2800: 0x80,
0x3800: 0x1040000,
0x4800: 0x40000,
0x5800: 0x20040080,
0x6800: 0x21040000,
0x7800: 0x20000000,
0x8800: 0x20040000,
0x9800: 0x0,
0xa800: 0x21040080,
0xb800: 0x1000080,
0xc800: 0x20000080,
0xd800: 0x21000000,
0xe800: 0x1000000,
0xf800: 0x40080,
0x10000: 0x40000,
0x11000: 0x80,
0x12000: 0x20000000,
0x13000: 0x21000080,
0x14000: 0x1000080,
0x15000: 0x21040000,
0x16000: 0x20040080,
0x17000: 0x1000000,
0x18000: 0x21040080,
0x19000: 0x21000000,
0x1a000: 0x1040000,
0x1b000: 0x20040000,
0x1c000: 0x40080,
0x1d000: 0x20000080,
0x1e000: 0x0,
0x1f000: 0x1040080,
0x10800: 0x21000080,
0x11800: 0x1000000,
0x12800: 0x1040000,
0x13800: 0x20040080,
0x14800: 0x20000000,
0x15800: 0x1040080,
0x16800: 0x80,
0x17800: 0x21040000,
0x18800: 0x40080,
0x19800: 0x21040080,
0x1a800: 0x0,
0x1b800: 0x21000000,
0x1c800: 0x1000080,
0x1d800: 0x40000,
0x1e800: 0x20040000,
0x1f800: 0x20000080
},
{
0x0: 0x10000008,
0x100: 0x2000,
0x200: 0x10200000,
0x300: 0x10202008,
0x400: 0x10002000,
0x500: 0x200000,
0x600: 0x200008,
0x700: 0x10000000,
0x800: 0x0,
0x900: 0x10002008,
0xa00: 0x202000,
0xb00: 0x8,
0xc00: 0x10200008,
0xd00: 0x202008,
0xe00: 0x2008,
0xf00: 0x10202000,
0x80: 0x10200000,
0x180: 0x10202008,
0x280: 0x8,
0x380: 0x200000,
0x480: 0x202008,
0x580: 0x10000008,
0x680: 0x10002000,
0x780: 0x2008,
0x880: 0x200008,
0x980: 0x2000,
0xa80: 0x10002008,
0xb80: 0x10200008,
0xc80: 0x0,
0xd80: 0x10202000,
0xe80: 0x202000,
0xf80: 0x10000000,
0x1000: 0x10002000,
0x1100: 0x10200008,
0x1200: 0x10202008,
0x1300: 0x2008,
0x1400: 0x200000,
0x1500: 0x10000000,
0x1600: 0x10000008,
0x1700: 0x202000,
0x1800: 0x202008,
0x1900: 0x0,
0x1a00: 0x8,
0x1b00: 0x10200000,
0x1c00: 0x2000,
0x1d00: 0x10002008,
0x1e00: 0x10202000,
0x1f00: 0x200008,
0x1080: 0x8,
0x1180: 0x202000,
0x1280: 0x200000,
0x1380: 0x10000008,
0x1480: 0x10002000,
0x1580: 0x2008,
0x1680: 0x10202008,
0x1780: 0x10200000,
0x1880: 0x10202000,
0x1980: 0x10200008,
0x1a80: 0x2000,
0x1b80: 0x202008,
0x1c80: 0x200008,
0x1d80: 0x0,
0x1e80: 0x10000000,
0x1f80: 0x10002008
},
{
0x0: 0x100000,
0x10: 0x2000401,
0x20: 0x400,
0x30: 0x100401,
0x40: 0x2100401,
0x50: 0x0,
0x60: 0x1,
0x70: 0x2100001,
0x80: 0x2000400,
0x90: 0x100001,
0xa0: 0x2000001,
0xb0: 0x2100400,
0xc0: 0x2100000,
0xd0: 0x401,
0xe0: 0x100400,
0xf0: 0x2000000,
0x8: 0x2100001,
0x18: 0x0,
0x28: 0x2000401,
0x38: 0x2100400,
0x48: 0x100000,
0x58: 0x2000001,
0x68: 0x2000000,
0x78: 0x401,
0x88: 0x100401,
0x98: 0x2000400,
0xa8: 0x2100000,
0xb8: 0x100001,
0xc8: 0x400,
0xd8: 0x2100401,
0xe8: 0x1,
0xf8: 0x100400,
0x100: 0x2000000,
0x110: 0x100000,
0x120: 0x2000401,
0x130: 0x2100001,
0x140: 0x100001,
0x150: 0x2000400,
0x160: 0x2100400,
0x170: 0x100401,
0x180: 0x401,
0x190: 0x2100401,
0x1a0: 0x100400,
0x1b0: 0x1,
0x1c0: 0x0,
0x1d0: 0x2100000,
0x1e0: 0x2000001,
0x1f0: 0x400,
0x108: 0x100400,
0x118: 0x2000401,
0x128: 0x2100001,
0x138: 0x1,
0x148: 0x2000000,
0x158: 0x100000,
0x168: 0x401,
0x178: 0x2100400,
0x188: 0x2000001,
0x198: 0x2100000,
0x1a8: 0x0,
0x1b8: 0x2100401,
0x1c8: 0x100401,
0x1d8: 0x400,
0x1e8: 0x2000400,
0x1f8: 0x100001
},
{
0x0: 0x8000820,
0x1: 0x20000,
0x2: 0x8000000,
0x3: 0x20,
0x4: 0x20020,
0x5: 0x8020820,
0x6: 0x8020800,
0x7: 0x800,
0x8: 0x8020000,
0x9: 0x8000800,
0xa: 0x20800,
0xb: 0x8020020,
0xc: 0x820,
0xd: 0x0,
0xe: 0x8000020,
0xf: 0x20820,
0x80000000: 0x800,
0x80000001: 0x8020820,
0x80000002: 0x8000820,
0x80000003: 0x8000000,
0x80000004: 0x8020000,
0x80000005: 0x20800,
0x80000006: 0x20820,
0x80000007: 0x20,
0x80000008: 0x8000020,
0x80000009: 0x820,
0x8000000a: 0x20020,
0x8000000b: 0x8020800,
0x8000000c: 0x0,
0x8000000d: 0x8020020,
0x8000000e: 0x8000800,
0x8000000f: 0x20000,
0x10: 0x20820,
0x11: 0x8020800,
0x12: 0x20,
0x13: 0x800,
0x14: 0x8000800,
0x15: 0x8000020,
0x16: 0x8020020,
0x17: 0x20000,
0x18: 0x0,
0x19: 0x20020,
0x1a: 0x8020000,
0x1b: 0x8000820,
0x1c: 0x8020820,
0x1d: 0x20800,
0x1e: 0x820,
0x1f: 0x8000000,
0x80000010: 0x20000,
0x80000011: 0x800,
0x80000012: 0x8020020,
0x80000013: 0x20820,
0x80000014: 0x20,
0x80000015: 0x8020000,
0x80000016: 0x8000000,
0x80000017: 0x8000820,
0x80000018: 0x8020820,
0x80000019: 0x8000020,
0x8000001a: 0x8000800,
0x8000001b: 0x0,
0x8000001c: 0x20800,
0x8000001d: 0x820,
0x8000001e: 0x20020,
0x8000001f: 0x8020800
}
];
// Masks that select the SBOX input
var SBOX_MASK = [
0xf8000001, 0x1f800000, 0x01f80000, 0x001f8000,
0x0001f800, 0x00001f80, 0x000001f8, 0x8000001f
];
/**
* DES block cipher algorithm.
*/
var DES = C_algo.DES = BlockCipher.extend({
_doReset: function () {
// Shortcuts
var key = this._key;
var keyWords = key.words;
// Select 56 bits according to PC1
var keyBits = [];
for (var i = 0; i < 56; i++) {
var keyBitPos = PC1[i] - 1;
keyBits[i] = (keyWords[keyBitPos >>> 5] >>> (31 - keyBitPos % 32)) & 1;
}
// Assemble 16 subkeys
var subKeys = this._subKeys = [];
for (var nSubKey = 0; nSubKey < 16; nSubKey++) {
// Create subkey
var subKey = subKeys[nSubKey] = [];
// Shortcut
var bitShift = BIT_SHIFTS[nSubKey];
// Select 48 bits according to PC2
for (var i = 0; i < 24; i++) {
// Select from the left 28 key bits
subKey[(i / 6) | 0] |= keyBits[((PC2[i] - 1) + bitShift) % 28] << (31 - i % 6);
// Select from the right 28 key bits
subKey[4 + ((i / 6) | 0)] |= keyBits[28 + (((PC2[i + 24] - 1) + bitShift) % 28)] << (31 - i % 6);
}
// Since each subkey is applied to an expanded 32-bit input,
// the subkey can be broken into 8 values scaled to 32-bits,
// which allows the key to be used without expansion
subKey[0] = (subKey[0] << 1) | (subKey[0] >>> 31);
for (var i = 1; i < 7; i++) {
subKey[i] = subKey[i] >>> ((i - 1) * 4 + 3);
}
subKey[7] = (subKey[7] << 5) | (subKey[7] >>> 27);
}
// Compute inverse subkeys
var invSubKeys = this._invSubKeys = [];
for (var i = 0; i < 16; i++) {
invSubKeys[i] = subKeys[15 - i];
}
},
encryptBlock: function (M, offset) {
this._doCryptBlock(M, offset, this._subKeys);
},
decryptBlock: function (M, offset) {
this._doCryptBlock(M, offset, this._invSubKeys);
},
_doCryptBlock: function (M, offset, subKeys) {
// Get input
this._lBlock = M[offset];
this._rBlock = M[offset + 1];
// Initial permutation
exchangeLR.call(this, 4, 0x0f0f0f0f);
exchangeLR.call(this, 16, 0x0000ffff);
exchangeRL.call(this, 2, 0x33333333);
exchangeRL.call(this, 8, 0x00ff00ff);
exchangeLR.call(this, 1, 0x55555555);
// Rounds
for (var round = 0; round < 16; round++) {
// Shortcuts
var subKey = subKeys[round];
var lBlock = this._lBlock;
var rBlock = this._rBlock;
// Feistel function
var f = 0;
for (var i = 0; i < 8; i++) {
f |= SBOX_P[i][((rBlock ^ subKey[i]) & SBOX_MASK[i]) >>> 0];
}
this._lBlock = rBlock;
this._rBlock = lBlock ^ f;
}
// Undo swap from last round
var t = this._lBlock;
this._lBlock = this._rBlock;
this._rBlock = t;
// Final permutation
exchangeLR.call(this, 1, 0x55555555);
exchangeRL.call(this, 8, 0x00ff00ff);
exchangeRL.call(this, 2, 0x33333333);
exchangeLR.call(this, 16, 0x0000ffff);
exchangeLR.call(this, 4, 0x0f0f0f0f);
// Set output
M[offset] = this._lBlock;
M[offset + 1] = this._rBlock;
},
keySize: 64/32,
ivSize: 64/32,
blockSize: 64/32
});
// Swap bits across the left and right words
function exchangeLR(offset, mask) {
var t = ((this._lBlock >>> offset) ^ this._rBlock) & mask;
this._rBlock ^= t;
this._lBlock ^= t << offset;
}
function exchangeRL(offset, mask) {
var t = ((this._rBlock >>> offset) ^ this._lBlock) & mask;
this._lBlock ^= t;
this._rBlock ^= t << offset;
}
/**
* Shortcut functions to the cipher's object interface.
*
* @example
*
* var ciphertext = CryptoJS.DES.encrypt(message, key, cfg);
* var plaintext = CryptoJS.DES.decrypt(ciphertext, key, cfg);
*/
C.DES = BlockCipher._createHelper(DES);
/**
* Triple-DES block cipher algorithm.
*/
var TripleDES = C_algo.TripleDES = BlockCipher.extend({
_doReset: function () {
// Shortcuts
var key = this._key;
var keyWords = key.words;
// Make sure the key length is valid (64, 128 or >= 192 bit)
if (keyWords.length !== 2 && keyWords.length !== 4 && keyWords.length < 6) {
throw new Error('Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.');
}
// Extend the key according to the keying options defined in 3DES standard
var key1 = keyWords.slice(0, 2);
var key2 = keyWords.length < 4 ? keyWords.slice(0, 2) : keyWords.slice(2, 4);
var key3 = keyWords.length < 6 ? keyWords.slice(0, 2) : keyWords.slice(4, 6);
// Create DES instances
this._des1 = DES.createEncryptor(WordArray.create(key1));
this._des2 = DES.createEncryptor(WordArray.create(key2));
this._des3 = DES.createEncryptor(WordArray.create(key3));
},
encryptBlock: function (M, offset) {
this._des1.encryptBlock(M, offset);
this._des2.decryptBlock(M, offset);
this._des3.encryptBlock(M, offset);
},
decryptBlock: function (M, offset) {
this._des3.decryptBlock(M, offset);
this._des2.encryptBlock(M, offset);
this._des1.decryptBlock(M, offset);
},
keySize: 192/32,
ivSize: 64/32,
blockSize: 64/32
});
/**
* Shortcut functions to the cipher's object interface.
*
* @example
*
* var ciphertext = CryptoJS.TripleDES.encrypt(message, key, cfg);
* var plaintext = CryptoJS.TripleDES.decrypt(ciphertext, key, cfg);
*/
C.TripleDES = BlockCipher._createHelper(TripleDES);
}());
(function () {
// Shortcuts
var C = CryptoJS;
var C_lib = C.lib;
var StreamCipher = C_lib.StreamCipher;
var C_algo = C.algo;
/**
* RC4 stream cipher algorithm.
*/
var RC4 = C_algo.RC4 = StreamCipher.extend({
_doReset: function () {
// Shortcuts
var key = this._key;
var keyWords = key.words;
var keySigBytes = key.sigBytes;
// Init sbox
var S = this._S = [];
for (var i = 0; i < 256; i++) {
S[i] = i;
}
// Key setup
for (var i = 0, j = 0; i < 256; i++) {
var keyByteIndex = i % keySigBytes;
var keyByte = (keyWords[keyByteIndex >>> 2] >>> (24 - (keyByteIndex % 4) * 8)) & 0xff;
j = (j + S[i] + keyByte) % 256;
// Swap
var t = S[i];
S[i] = S[j];
S[j] = t;
}
// Counters
this._i = this._j = 0;
},
_doProcessBlock: function (M, offset) {
M[offset] ^= generateKeystreamWord.call(this);
},
keySize: 256/32,
ivSize: 0
});
function generateKeystreamWord() {
// Shortcuts
var S = this._S;
var i = this._i;
var j = this._j;
// Generate keystream word
var keystreamWord = 0;
for (var n = 0; n < 4; n++) {
i = (i + 1) % 256;
j = (j + S[i]) % 256;
// Swap
var t = S[i];
S[i] = S[j];
S[j] = t;
keystreamWord |= S[(S[i] + S[j]) % 256] << (24 - n * 8);
}
// Update counters
this._i = i;
this._j = j;
return keystreamWord;
}
/**
* Shortcut functions to the cipher's object interface.
*
* @example
*
* var ciphertext = CryptoJS.RC4.encrypt(message, key, cfg);
* var plaintext = CryptoJS.RC4.decrypt(ciphertext, key, cfg);
*/
C.RC4 = StreamCipher._createHelper(RC4);
/**
* Modified RC4 stream cipher algorithm.
*/
var RC4Drop = C_algo.RC4Drop = RC4.extend({
/**
* Configuration options.
*
* @property {number} drop The number of keystream words to drop. Default 192
*/
cfg: RC4.cfg.extend({
drop: 192
}),
_doReset: function () {
RC4._doReset.call(this);
// Drop
for (var i = this.cfg.drop; i > 0; i--) {
generateKeystreamWord.call(this);
}
}
});
/**
* Shortcut functions to the cipher's object interface.
*
* @example
*
* var ciphertext = CryptoJS.RC4Drop.encrypt(message, key, cfg);
* var plaintext = CryptoJS.RC4Drop.decrypt(ciphertext, key, cfg);
*/
C.RC4Drop = StreamCipher._createHelper(RC4Drop);
}());
(function () {
// Shortcuts
var C = CryptoJS;
var C_lib = C.lib;
var StreamCipher = C_lib.StreamCipher;
var C_algo = C.algo;
// Reusable objects
var S = [];
var C_ = [];
var G = [];
/**
* Rabbit stream cipher algorithm
*/
var Rabbit = C_algo.Rabbit = StreamCipher.extend({
_doReset: function () {
// Shortcuts
var K = this._key.words;
var iv = this.cfg.iv;
// Swap endian
for (var i = 0; i < 4; i++) {
K[i] = (((K[i] << 8) | (K[i] >>> 24)) & 0x00ff00ff) |
(((K[i] << 24) | (K[i] >>> 8)) & 0xff00ff00);
}
// Generate initial state values
var X = this._X = [
K[0], (K[3] << 16) | (K[2] >>> 16),
K[1], (K[0] << 16) | (K[3] >>> 16),
K[2], (K[1] << 16) | (K[0] >>> 16),
K[3], (K[2] << 16) | (K[1] >>> 16)
];
// Generate initial counter values
var C = this._C = [
(K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff),
(K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff),
(K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff),
(K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff)
];
// Carry bit
this._b = 0;
// Iterate the system four times
for (var i = 0; i < 4; i++) {
nextState.call(this);
}
// Modify the counters
for (var i = 0; i < 8; i++) {
C[i] ^= X[(i + 4) & 7];
}
// IV setup
if (iv) {
// Shortcuts
var IV = iv.words;
var IV_0 = IV[0];
var IV_1 = IV[1];
// Generate four subvectors
var i0 = (((IV_0 << 8) | (IV_0 >>> 24)) & 0x00ff00ff) | (((IV_0 << 24) | (IV_0 >>> 8)) & 0xff00ff00);
var i2 = (((IV_1 << 8) | (IV_1 >>> 24)) & 0x00ff00ff) | (((IV_1 << 24) | (IV_1 >>> 8)) & 0xff00ff00);
var i1 = (i0 >>> 16) | (i2 & 0xffff0000);
var i3 = (i2 << 16) | (i0 & 0x0000ffff);
// Modify counter values
C[0] ^= i0;
C[1] ^= i1;
C[2] ^= i2;
C[3] ^= i3;
C[4] ^= i0;
C[5] ^= i1;
C[6] ^= i2;
C[7] ^= i3;
// Iterate the system four times
for (var i = 0; i < 4; i++) {
nextState.call(this);
}
}
},
_doProcessBlock: function (M, offset) {
// Shortcut
var X = this._X;
// Iterate the system
nextState.call(this);
// Generate four keystream words
S[0] = X[0] ^ (X[5] >>> 16) ^ (X[3] << 16);
S[1] = X[2] ^ (X[7] >>> 16) ^ (X[5] << 16);
S[2] = X[4] ^ (X[1] >>> 16) ^ (X[7] << 16);
S[3] = X[6] ^ (X[3] >>> 16) ^ (X[1] << 16);
for (var i = 0; i < 4; i++) {
// Swap endian
S[i] = (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) |
(((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00);
// Encrypt
M[offset + i] ^= S[i];
}
},
blockSize: 128/32,
ivSize: 64/32
});
function nextState() {
// Shortcuts
var X = this._X;
var C = this._C;
// Save old counter values
for (var i = 0; i < 8; i++) {
C_[i] = C[i];
}
// Calculate new counter values
C[0] = (C[0] + 0x4d34d34d + this._b) | 0;
C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (C_[0] >>> 0) ? 1 : 0)) | 0;
C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (C_[1] >>> 0) ? 1 : 0)) | 0;
C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (C_[2] >>> 0) ? 1 : 0)) | 0;
C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (C_[3] >>> 0) ? 1 : 0)) | 0;
C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (C_[4] >>> 0) ? 1 : 0)) | 0;
C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (C_[5] >>> 0) ? 1 : 0)) | 0;
C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (C_[6] >>> 0) ? 1 : 0)) | 0;
this._b = (C[7] >>> 0) < (C_[7] >>> 0) ? 1 : 0;
// Calculate the g-values
for (var i = 0; i < 8; i++) {
var gx = X[i] + C[i];
// Construct high and low argument for squaring
var ga = gx & 0xffff;
var gb = gx >>> 16;
// Calculate high and low result of squaring
var gh = ((((ga * ga) >>> 17) + ga * gb) >>> 15) + gb * gb;
var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0);
// High XOR low
G[i] = gh ^ gl;
}
// Calculate new state values
X[0] = (G[0] + ((G[7] << 16) | (G[7] >>> 16)) + ((G[6] << 16) | (G[6] >>> 16))) | 0;
X[1] = (G[1] + ((G[0] << 8) | (G[0] >>> 24)) + G[7]) | 0;
X[2] = (G[2] + ((G[1] << 16) | (G[1] >>> 16)) + ((G[0] << 16) | (G[0] >>> 16))) | 0;
X[3] = (G[3] + ((G[2] << 8) | (G[2] >>> 24)) + G[1]) | 0;
X[4] = (G[4] + ((G[3] << 16) | (G[3] >>> 16)) + ((G[2] << 16) | (G[2] >>> 16))) | 0;
X[5] = (G[5] + ((G[4] << 8) | (G[4] >>> 24)) + G[3]) | 0;
X[6] = (G[6] + ((G[5] << 16) | (G[5] >>> 16)) + ((G[4] << 16) | (G[4] >>> 16))) | 0;
X[7] = (G[7] + ((G[6] << 8) | (G[6] >>> 24)) + G[5]) | 0;
}
/**
* Shortcut functions to the cipher's object interface.
*
* @example
*
* var ciphertext = CryptoJS.Rabbit.encrypt(message, key, cfg);
* var plaintext = CryptoJS.Rabbit.decrypt(ciphertext, key, cfg);
*/
C.Rabbit = StreamCipher._createHelper(Rabbit);
}());
(function () {
// Shortcuts
var C = CryptoJS;
var C_lib = C.lib;
var StreamCipher = C_lib.StreamCipher;
var C_algo = C.algo;
// Reusable objects
var S = [];
var C_ = [];
var G = [];
/**
* Rabbit stream cipher algorithm.
*
* This is a legacy version that neglected to convert the key to little-endian.
* This error doesn't affect the cipher's security,
* but it does affect its compatibility with other implementations.
*/
var RabbitLegacy = C_algo.RabbitLegacy = StreamCipher.extend({
_doReset: function () {
// Shortcuts
var K = this._key.words;
var iv = this.cfg.iv;
// Generate initial state values
var X = this._X = [
K[0], (K[3] << 16) | (K[2] >>> 16),
K[1], (K[0] << 16) | (K[3] >>> 16),
K[2], (K[1] << 16) | (K[0] >>> 16),
K[3], (K[2] << 16) | (K[1] >>> 16)
];
// Generate initial counter values
var C = this._C = [
(K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff),
(K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff),
(K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff),
(K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff)
];
// Carry bit
this._b = 0;
// Iterate the system four times
for (var i = 0; i < 4; i++) {
nextState.call(this);
}
// Modify the counters
for (var i = 0; i < 8; i++) {
C[i] ^= X[(i + 4) & 7];
}
// IV setup
if (iv) {
// Shortcuts
var IV = iv.words;
var IV_0 = IV[0];
var IV_1 = IV[1];
// Generate four subvectors
var i0 = (((IV_0 << 8) | (IV_0 >>> 24)) & 0x00ff00ff) | (((IV_0 << 24) | (IV_0 >>> 8)) & 0xff00ff00);
var i2 = (((IV_1 << 8) | (IV_1 >>> 24)) & 0x00ff00ff) | (((IV_1 << 24) | (IV_1 >>> 8)) & 0xff00ff00);
var i1 = (i0 >>> 16) | (i2 & 0xffff0000);
var i3 = (i2 << 16) | (i0 & 0x0000ffff);
// Modify counter values
C[0] ^= i0;
C[1] ^= i1;
C[2] ^= i2;
C[3] ^= i3;
C[4] ^= i0;
C[5] ^= i1;
C[6] ^= i2;
C[7] ^= i3;
// Iterate the system four times
for (var i = 0; i < 4; i++) {
nextState.call(this);
}
}
},
_doProcessBlock: function (M, offset) {
// Shortcut
var X = this._X;
// Iterate the system
nextState.call(this);
// Generate four keystream words
S[0] = X[0] ^ (X[5] >>> 16) ^ (X[3] << 16);
S[1] = X[2] ^ (X[7] >>> 16) ^ (X[5] << 16);
S[2] = X[4] ^ (X[1] >>> 16) ^ (X[7] << 16);
S[3] = X[6] ^ (X[3] >>> 16) ^ (X[1] << 16);
for (var i = 0; i < 4; i++) {
// Swap endian
S[i] = (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) |
(((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00);
// Encrypt
M[offset + i] ^= S[i];
}
},
blockSize: 128/32,
ivSize: 64/32
});
function nextState() {
// Shortcuts
var X = this._X;
var C = this._C;
// Save old counter values
for (var i = 0; i < 8; i++) {
C_[i] = C[i];
}
// Calculate new counter values
C[0] = (C[0] + 0x4d34d34d + this._b) | 0;
C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (C_[0] >>> 0) ? 1 : 0)) | 0;
C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (C_[1] >>> 0) ? 1 : 0)) | 0;
C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (C_[2] >>> 0) ? 1 : 0)) | 0;
C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (C_[3] >>> 0) ? 1 : 0)) | 0;
C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (C_[4] >>> 0) ? 1 : 0)) | 0;
C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (C_[5] >>> 0) ? 1 : 0)) | 0;
C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (C_[6] >>> 0) ? 1 : 0)) | 0;
this._b = (C[7] >>> 0) < (C_[7] >>> 0) ? 1 : 0;
// Calculate the g-values
for (var i = 0; i < 8; i++) {
var gx = X[i] + C[i];
// Construct high and low argument for squaring
var ga = gx & 0xffff;
var gb = gx >>> 16;
// Calculate high and low result of squaring
var gh = ((((ga * ga) >>> 17) + ga * gb) >>> 15) + gb * gb;
var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0);
// High XOR low
G[i] = gh ^ gl;
}
// Calculate new state values
X[0] = (G[0] + ((G[7] << 16) | (G[7] >>> 16)) + ((G[6] << 16) | (G[6] >>> 16))) | 0;
X[1] = (G[1] + ((G[0] << 8) | (G[0] >>> 24)) + G[7]) | 0;
X[2] = (G[2] + ((G[1] << 16) | (G[1] >>> 16)) + ((G[0] << 16) | (G[0] >>> 16))) | 0;
X[3] = (G[3] + ((G[2] << 8) | (G[2] >>> 24)) + G[1]) | 0;
X[4] = (G[4] + ((G[3] << 16) | (G[3] >>> 16)) + ((G[2] << 16) | (G[2] >>> 16))) | 0;
X[5] = (G[5] + ((G[4] << 8) | (G[4] >>> 24)) + G[3]) | 0;
X[6] = (G[6] + ((G[5] << 16) | (G[5] >>> 16)) + ((G[4] << 16) | (G[4] >>> 16))) | 0;
X[7] = (G[7] + ((G[6] << 8) | (G[6] >>> 24)) + G[5]) | 0;
}
/**
* Shortcut functions to the cipher's object interface.
*
* @example
*
* var ciphertext = CryptoJS.RabbitLegacy.encrypt(message, key, cfg);
* var plaintext = CryptoJS.RabbitLegacy.decrypt(ciphertext, key, cfg);
*/
C.RabbitLegacy = StreamCipher._createHelper(RabbitLegacy);
}());
(function () {
// Shortcuts
var C = CryptoJS;
var C_lib = C.lib;
var BlockCipher = C_lib.BlockCipher;
var C_algo = C.algo;
const N = 16;
//Origin pbox and sbox, derived from PI
const ORIG_P = [
0x243F6A88, 0x85A308D3, 0x13198A2E, 0x03707344,
0xA4093822, 0x299F31D0, 0x082EFA98, 0xEC4E6C89,
0x452821E6, 0x38D01377, 0xBE5466CF, 0x34E90C6C,
0xC0AC29B7, 0xC97C50DD, 0x3F84D5B5, 0xB5470917,
0x9216D5D9, 0x8979FB1B
];
const ORIG_S = [
[ 0xD1310BA6, 0x98DFB5AC, 0x2FFD72DB, 0xD01ADFB7,
0xB8E1AFED, 0x6A267E96, 0xBA7C9045, 0xF12C7F99,
0x24A19947, 0xB3916CF7, 0x0801F2E2, 0x858EFC16,
0x636920D8, 0x71574E69, 0xA458FEA3, 0xF4933D7E,
0x0D95748F, 0x728EB658, 0x718BCD58, 0x82154AEE,
0x7B54A41D, 0xC25A59B5, 0x9C30D539, 0x2AF26013,
0xC5D1B023, 0x286085F0, 0xCA417918, 0xB8DB38EF,
0x8E79DCB0, 0x603A180E, 0x6C9E0E8B, 0xB01E8A3E,
0xD71577C1, 0xBD314B27, 0x78AF2FDA, 0x55605C60,
0xE65525F3, 0xAA55AB94, 0x57489862, 0x63E81440,
0x55CA396A, 0x2AAB10B6, 0xB4CC5C34, 0x1141E8CE,
0xA15486AF, 0x7C72E993, 0xB3EE1411, 0x636FBC2A,
0x2BA9C55D, 0x741831F6, 0xCE5C3E16, 0x9B87931E,
0xAFD6BA33, 0x6C24CF5C, 0x7A325381, 0x28958677,
0x3B8F4898, 0x6B4BB9AF, 0xC4BFE81B, 0x66282193,
0x61D809CC, 0xFB21A991, 0x487CAC60, 0x5DEC8032,
0xEF845D5D, 0xE98575B1, 0xDC262302, 0xEB651B88,
0x23893E81, 0xD396ACC5, 0x0F6D6FF3, 0x83F44239,
0x2E0B4482, 0xA4842004, 0x69C8F04A, 0x9E1F9B5E,
0x21C66842, 0xF6E96C9A, 0x670C9C61, 0xABD388F0,
0x6A51A0D2, 0xD8542F68, 0x960FA728, 0xAB5133A3,
0x6EEF0B6C, 0x137A3BE4, 0xBA3BF050, 0x7EFB2A98,
0xA1F1651D, 0x39AF0176, 0x66CA593E, 0x82430E88,
0x8CEE8619, 0x456F9FB4, 0x7D84A5C3, 0x3B8B5EBE,
0xE06F75D8, 0x85C12073, 0x401A449F, 0x56C16AA6,
0x4ED3AA62, 0x363F7706, 0x1BFEDF72, 0x429B023D,
0x37D0D724, 0xD00A1248, 0xDB0FEAD3, 0x49F1C09B,
0x075372C9, 0x80991B7B, 0x25D479D8, 0xF6E8DEF7,
0xE3FE501A, 0xB6794C3B, 0x976CE0BD, 0x04C006BA,
0xC1A94FB6, 0x409F60C4, 0x5E5C9EC2, 0x196A2463,
0x68FB6FAF, 0x3E6C53B5, 0x1339B2EB, 0x3B52EC6F,
0x6DFC511F, 0x9B30952C, 0xCC814544, 0xAF5EBD09,
0xBEE3D004, 0xDE334AFD, 0x660F2807, 0x192E4BB3,
0xC0CBA857, 0x45C8740F, 0xD20B5F39, 0xB9D3FBDB,
0x5579C0BD, 0x1A60320A, 0xD6A100C6, 0x402C7279,
0x679F25FE, 0xFB1FA3CC, 0x8EA5E9F8, 0xDB3222F8,
0x3C7516DF, 0xFD616B15, 0x2F501EC8, 0xAD0552AB,
0x323DB5FA, 0xFD238760, 0x53317B48, 0x3E00DF82,
0x9E5C57BB, 0xCA6F8CA0, 0x1A87562E, 0xDF1769DB,
0xD542A8F6, 0x287EFFC3, 0xAC6732C6, 0x8C4F5573,
0x695B27B0, 0xBBCA58C8, 0xE1FFA35D, 0xB8F011A0,
0x10FA3D98, 0xFD2183B8, 0x4AFCB56C, 0x2DD1D35B,
0x9A53E479, 0xB6F84565, 0xD28E49BC, 0x4BFB9790,
0xE1DDF2DA, 0xA4CB7E33, 0x62FB1341, 0xCEE4C6E8,
0xEF20CADA, 0x36774C01, 0xD07E9EFE, 0x2BF11FB4,
0x95DBDA4D, 0xAE909198, 0xEAAD8E71, 0x6B93D5A0,
0xD08ED1D0, 0xAFC725E0, 0x8E3C5B2F, 0x8E7594B7,
0x8FF6E2FB, 0xF2122B64, 0x8888B812, 0x900DF01C,
0x4FAD5EA0, 0x688FC31C, 0xD1CFF191, 0xB3A8C1AD,
0x2F2F2218, 0xBE0E1777, 0xEA752DFE, 0x8B021FA1,
0xE5A0CC0F, 0xB56F74E8, 0x18ACF3D6, 0xCE89E299,
0xB4A84FE0, 0xFD13E0B7, 0x7CC43B81, 0xD2ADA8D9,
0x165FA266, 0x80957705, 0x93CC7314, 0x211A1477,
0xE6AD2065, 0x77B5FA86, 0xC75442F5, 0xFB9D35CF,
0xEBCDAF0C, 0x7B3E89A0, 0xD6411BD3, 0xAE1E7E49,
0x00250E2D, 0x2071B35E, 0x226800BB, 0x57B8E0AF,
0x2464369B, 0xF009B91E, 0x5563911D, 0x59DFA6AA,
0x78C14389, 0xD95A537F, 0x207D5BA2, 0x02E5B9C5,
0x83260376, 0x6295CFA9, 0x11C81968, 0x4E734A41,
0xB3472DCA, 0x7B14A94A, 0x1B510052, 0x9A532915,
0xD60F573F, 0xBC9BC6E4, 0x2B60A476, 0x81E67400,
0x08BA6FB5, 0x571BE91F, 0xF296EC6B, 0x2A0DD915,
0xB6636521, 0xE7B9F9B6, 0xFF34052E, 0xC5855664,
0x53B02D5D, 0xA99F8FA1, 0x08BA4799, 0x6E85076A ],
[ 0x4B7A70E9, 0xB5B32944, 0xDB75092E, 0xC4192623,
0xAD6EA6B0, 0x49A7DF7D, 0x9CEE60B8, 0x8FEDB266,
0xECAA8C71, 0x699A17FF, 0x5664526C, 0xC2B19EE1,
0x193602A5, 0x75094C29, 0xA0591340, 0xE4183A3E,
0x3F54989A, 0x5B429D65, 0x6B8FE4D6, 0x99F73FD6,
0xA1D29C07, 0xEFE830F5, 0x4D2D38E6, 0xF0255DC1,
0x4CDD2086, 0x8470EB26, 0x6382E9C6, 0x021ECC5E,
0x09686B3F, 0x3EBAEFC9, 0x3C971814, 0x6B6A70A1,
0x687F3584, 0x52A0E286, 0xB79C5305, 0xAA500737,
0x3E07841C, 0x7FDEAE5C, 0x8E7D44EC, 0x5716F2B8,
0xB03ADA37, 0xF0500C0D, 0xF01C1F04, 0x0200B3FF,
0xAE0CF51A, 0x3CB574B2, 0x25837A58, 0xDC0921BD,
0xD19113F9, 0x7CA92FF6, 0x94324773, 0x22F54701,
0x3AE5E581, 0x37C2DADC, 0xC8B57634, 0x9AF3DDA7,
0xA9446146, 0x0FD0030E, 0xECC8C73E, 0xA4751E41,
0xE238CD99, 0x3BEA0E2F, 0x3280BBA1, 0x183EB331,
0x4E548B38, 0x4F6DB908, 0x6F420D03, 0xF60A04BF,
0x2CB81290, 0x24977C79, 0x5679B072, 0xBCAF89AF,
0xDE9A771F, 0xD9930810, 0xB38BAE12, 0xDCCF3F2E,
0x5512721F, 0x2E6B7124, 0x501ADDE6, 0x9F84CD87,
0x7A584718, 0x7408DA17, 0xBC9F9ABC, 0xE94B7D8C,
0xEC7AEC3A, 0xDB851DFA, 0x63094366, 0xC464C3D2,
0xEF1C1847, 0x3215D908, 0xDD433B37, 0x24C2BA16,
0x12A14D43, 0x2A65C451, 0x50940002, 0x133AE4DD,
0x71DFF89E, 0x10314E55, 0x81AC77D6, 0x5F11199B,
0x043556F1, 0xD7A3C76B, 0x3C11183B, 0x5924A509,
0xF28FE6ED, 0x97F1FBFA, 0x9EBABF2C, 0x1E153C6E,
0x86E34570, 0xEAE96FB1, 0x860E5E0A, 0x5A3E2AB3,
0x771FE71C, 0x4E3D06FA, 0x2965DCB9, 0x99E71D0F,
0x803E89D6, 0x5266C825, 0x2E4CC978, 0x9C10B36A,
0xC6150EBA, 0x94E2EA78, 0xA5FC3C53, 0x1E0A2DF4,
0xF2F74EA7, 0x361D2B3D, 0x1939260F, 0x19C27960,
0x5223A708, 0xF71312B6, 0xEBADFE6E, 0xEAC31F66,
0xE3BC4595, 0xA67BC883, 0xB17F37D1, 0x018CFF28,
0xC332DDEF, 0xBE6C5AA5, 0x65582185, 0x68AB9802,
0xEECEA50F, 0xDB2F953B, 0x2AEF7DAD, 0x5B6E2F84,
0x1521B628, 0x29076170, 0xECDD4775, 0x619F1510,
0x13CCA830, 0xEB61BD96, 0x0334FE1E, 0xAA0363CF,
0xB5735C90, 0x4C70A239, 0xD59E9E0B, 0xCBAADE14,
0xEECC86BC, 0x60622CA7, 0x9CAB5CAB, 0xB2F3846E,
0x648B1EAF, 0x19BDF0CA, 0xA02369B9, 0x655ABB50,
0x40685A32, 0x3C2AB4B3, 0x319EE9D5, 0xC021B8F7,
0x9B540B19, 0x875FA099, 0x95F7997E, 0x623D7DA8,
0xF837889A, 0x97E32D77, 0x11ED935F, 0x16681281,
0x0E358829, 0xC7E61FD6, 0x96DEDFA1, 0x7858BA99,
0x57F584A5, 0x1B227263, 0x9B83C3FF, 0x1AC24696,
0xCDB30AEB, 0x532E3054, 0x8FD948E4, 0x6DBC3128,
0x58EBF2EF, 0x34C6FFEA, 0xFE28ED61, 0xEE7C3C73,
0x5D4A14D9, 0xE864B7E3, 0x42105D14, 0x203E13E0,
0x45EEE2B6, 0xA3AAABEA, 0xDB6C4F15, 0xFACB4FD0,
0xC742F442, 0xEF6ABBB5, 0x654F3B1D, 0x41CD2105,
0xD81E799E, 0x86854DC7, 0xE44B476A, 0x3D816250,
0xCF62A1F2, 0x5B8D2646, 0xFC8883A0, 0xC1C7B6A3,
0x7F1524C3, 0x69CB7492, 0x47848A0B, 0x5692B285,
0x095BBF00, 0xAD19489D, 0x1462B174, 0x23820E00,
0x58428D2A, 0x0C55F5EA, 0x1DADF43E, 0x233F7061,
0x3372F092, 0x8D937E41, 0xD65FECF1, 0x6C223BDB,
0x7CDE3759, 0xCBEE7460, 0x4085F2A7, 0xCE77326E,
0xA6078084, 0x19F8509E, 0xE8EFD855, 0x61D99735,
0xA969A7AA, 0xC50C06C2, 0x5A04ABFC, 0x800BCADC,
0x9E447A2E, 0xC3453484, 0xFDD56705, 0x0E1E9EC9,
0xDB73DBD3, 0x105588CD, 0x675FDA79, 0xE3674340,
0xC5C43465, 0x713E38D8, 0x3D28F89E, 0xF16DFF20,
0x153E21E7, 0x8FB03D4A, 0xE6E39F2B, 0xDB83ADF7 ],
[ 0xE93D5A68, 0x948140F7, 0xF64C261C, 0x94692934,
0x411520F7, 0x7602D4F7, 0xBCF46B2E, 0xD4A20068,
0xD4082471, 0x3320F46A, 0x43B7D4B7, 0x500061AF,
0x1E39F62E, 0x97244546, 0x14214F74, 0xBF8B8840,
0x4D95FC1D, 0x96B591AF, 0x70F4DDD3, 0x66A02F45,
0xBFBC09EC, 0x03BD9785, 0x7FAC6DD0, 0x31CB8504,
0x96EB27B3, 0x55FD3941, 0xDA2547E6, 0xABCA0A9A,
0x28507825, 0x530429F4, 0x0A2C86DA, 0xE9B66DFB,
0x68DC1462, 0xD7486900, 0x680EC0A4, 0x27A18DEE,
0x4F3FFEA2, 0xE887AD8C, 0xB58CE006, 0x7AF4D6B6,
0xAACE1E7C, 0xD3375FEC, 0xCE78A399, 0x406B2A42,
0x20FE9E35, 0xD9F385B9, 0xEE39D7AB, 0x3B124E8B,
0x1DC9FAF7, 0x4B6D1856, 0x26A36631, 0xEAE397B2,
0x3A6EFA74, 0xDD5B4332, 0x6841E7F7, 0xCA7820FB,
0xFB0AF54E, 0xD8FEB397, 0x454056AC, 0xBA489527,
0x55533A3A, 0x20838D87, 0xFE6BA9B7, 0xD096954B,
0x55A867BC, 0xA1159A58, 0xCCA92963, 0x99E1DB33,
0xA62A4A56, 0x3F3125F9, 0x5EF47E1C, 0x9029317C,
0xFDF8E802, 0x04272F70, 0x80BB155C, 0x05282CE3,
0x95C11548, 0xE4C66D22, 0x48C1133F, 0xC70F86DC,
0x07F9C9EE, 0x41041F0F, 0x404779A4, 0x5D886E17,
0x325F51EB, 0xD59BC0D1, 0xF2BCC18F, 0x41113564,
0x257B7834, 0x602A9C60, 0xDFF8E8A3, 0x1F636C1B,
0x0E12B4C2, 0x02E1329E, 0xAF664FD1, 0xCAD18115,
0x6B2395E0, 0x333E92E1, 0x3B240B62, 0xEEBEB922,
0x85B2A20E, 0xE6BA0D99, 0xDE720C8C, 0x2DA2F728,
0xD0127845, 0x95B794FD, 0x647D0862, 0xE7CCF5F0,
0x5449A36F, 0x877D48FA, 0xC39DFD27, 0xF33E8D1E,
0x0A476341, 0x992EFF74, 0x3A6F6EAB, 0xF4F8FD37,
0xA812DC60, 0xA1EBDDF8, 0x991BE14C, 0xDB6E6B0D,
0xC67B5510, 0x6D672C37, 0x2765D43B, 0xDCD0E804,
0xF1290DC7, 0xCC00FFA3, 0xB5390F92, 0x690FED0B,
0x667B9FFB, 0xCEDB7D9C, 0xA091CF0B, 0xD9155EA3,
0xBB132F88, 0x515BAD24, 0x7B9479BF, 0x763BD6EB,
0x37392EB3, 0xCC115979, 0x8026E297, 0xF42E312D,
0x6842ADA7, 0xC66A2B3B, 0x12754CCC, 0x782EF11C,
0x6A124237, 0xB79251E7, 0x06A1BBE6, 0x4BFB6350,
0x1A6B1018, 0x11CAEDFA, 0x3D25BDD8, 0xE2E1C3C9,
0x44421659, 0x0A121386, 0xD90CEC6E, 0xD5ABEA2A,
0x64AF674E, 0xDA86A85F, 0xBEBFE988, 0x64E4C3FE,
0x9DBC8057, 0xF0F7C086, 0x60787BF8, 0x6003604D,
0xD1FD8346, 0xF6381FB0, 0x7745AE04, 0xD736FCCC,
0x83426B33, 0xF01EAB71, 0xB0804187, 0x3C005E5F,
0x77A057BE, 0xBDE8AE24, 0x55464299, 0xBF582E61,
0x4E58F48F, 0xF2DDFDA2, 0xF474EF38, 0x8789BDC2,
0x5366F9C3, 0xC8B38E74, 0xB475F255, 0x46FCD9B9,
0x7AEB2661, 0x8B1DDF84, 0x846A0E79, 0x915F95E2,
0x466E598E, 0x20B45770, 0x8CD55591, 0xC902DE4C,
0xB90BACE1, 0xBB8205D0, 0x11A86248, 0x7574A99E,
0xB77F19B6, 0xE0A9DC09, 0x662D09A1, 0xC4324633,
0xE85A1F02, 0x09F0BE8C, 0x4A99A025, 0x1D6EFE10,
0x1AB93D1D, 0x0BA5A4DF, 0xA186F20F, 0x2868F169,
0xDCB7DA83, 0x573906FE, 0xA1E2CE9B, 0x4FCD7F52,
0x50115E01, 0xA70683FA, 0xA002B5C4, 0x0DE6D027,
0x9AF88C27, 0x773F8641, 0xC3604C06, 0x61A806B5,
0xF0177A28, 0xC0F586E0, 0x006058AA, 0x30DC7D62,
0x11E69ED7, 0x2338EA63, 0x53C2DD94, 0xC2C21634,
0xBBCBEE56, 0x90BCB6DE, 0xEBFC7DA1, 0xCE591D76,
0x6F05E409, 0x4B7C0188, 0x39720A3D, 0x7C927C24,
0x86E3725F, 0x724D9DB9, 0x1AC15BB4, 0xD39EB8FC,
0xED545578, 0x08FCA5B5, 0xD83D7CD3, 0x4DAD0FC4,
0x1E50EF5E, 0xB161E6F8, 0xA28514D9, 0x6C51133C,
0x6FD5C7E7, 0x56E14EC4, 0x362ABFCE, 0xDDC6C837,
0xD79A3234, 0x92638212, 0x670EFA8E, 0x406000E0 ],
[ 0x3A39CE37, 0xD3FAF5CF, 0xABC27737, 0x5AC52D1B,
0x5CB0679E, 0x4FA33742, 0xD3822740, 0x99BC9BBE,
0xD5118E9D, 0xBF0F7315, 0xD62D1C7E, 0xC700C47B,
0xB78C1B6B, 0x21A19045, 0xB26EB1BE, 0x6A366EB4,
0x5748AB2F, 0xBC946E79, 0xC6A376D2, 0x6549C2C8,
0x530FF8EE, 0x468DDE7D, 0xD5730A1D, 0x4CD04DC6,
0x2939BBDB, 0xA9BA4650, 0xAC9526E8, 0xBE5EE304,
0xA1FAD5F0, 0x6A2D519A, 0x63EF8CE2, 0x9A86EE22,
0xC089C2B8, 0x43242EF6, 0xA51E03AA, 0x9CF2D0A4,
0x83C061BA, 0x9BE96A4D, 0x8FE51550, 0xBA645BD6,
0x2826A2F9, 0xA73A3AE1, 0x4BA99586, 0xEF5562E9,
0xC72FEFD3, 0xF752F7DA, 0x3F046F69, 0x77FA0A59,
0x80E4A915, 0x87B08601, 0x9B09E6AD, 0x3B3EE593,
0xE990FD5A, 0x9E34D797, 0x2CF0B7D9, 0x022B8B51,
0x96D5AC3A, 0x017DA67D, 0xD1CF3ED6, 0x7C7D2D28,
0x1F9F25CF, 0xADF2B89B, 0x5AD6B472, 0x5A88F54C,
0xE029AC71, 0xE019A5E6, 0x47B0ACFD, 0xED93FA9B,
0xE8D3C48D, 0x283B57CC, 0xF8D56629, 0x79132E28,
0x785F0191, 0xED756055, 0xF7960E44, 0xE3D35E8C,
0x15056DD4, 0x88F46DBA, 0x03A16125, 0x0564F0BD,
0xC3EB9E15, 0x3C9057A2, 0x97271AEC, 0xA93A072A,
0x1B3F6D9B, 0x1E6321F5, 0xF59C66FB, 0x26DCF319,
0x7533D928, 0xB155FDF5, 0x03563482, 0x8ABA3CBB,
0x28517711, 0xC20AD9F8, 0xABCC5167, 0xCCAD925F,
0x4DE81751, 0x3830DC8E, 0x379D5862, 0x9320F991,
0xEA7A90C2, 0xFB3E7BCE, 0x5121CE64, 0x774FBE32,
0xA8B6E37E, 0xC3293D46, 0x48DE5369, 0x6413E680,
0xA2AE0810, 0xDD6DB224, 0x69852DFD, 0x09072166,
0xB39A460A, 0x6445C0DD, 0x586CDECF, 0x1C20C8AE,
0x5BBEF7DD, 0x1B588D40, 0xCCD2017F, 0x6BB4E3BB,
0xDDA26A7E, 0x3A59FF45, 0x3E350A44, 0xBCB4CDD5,
0x72EACEA8, 0xFA6484BB, 0x8D6612AE, 0xBF3C6F47,
0xD29BE463, 0x542F5D9E, 0xAEC2771B, 0xF64E6370,
0x740E0D8D, 0xE75B1357, 0xF8721671, 0xAF537D5D,
0x4040CB08, 0x4EB4E2CC, 0x34D2466A, 0x0115AF84,
0xE1B00428, 0x95983A1D, 0x06B89FB4, 0xCE6EA048,
0x6F3F3B82, 0x3520AB82, 0x011A1D4B, 0x277227F8,
0x611560B1, 0xE7933FDC, 0xBB3A792B, 0x344525BD,
0xA08839E1, 0x51CE794B, 0x2F32C9B7, 0xA01FBAC9,
0xE01CC87E, 0xBCC7D1F6, 0xCF0111C3, 0xA1E8AAC7,
0x1A908749, 0xD44FBD9A, 0xD0DADECB, 0xD50ADA38,
0x0339C32A, 0xC6913667, 0x8DF9317C, 0xE0B12B4F,
0xF79E59B7, 0x43F5BB3A, 0xF2D519FF, 0x27D9459C,
0xBF97222C, 0x15E6FC2A, 0x0F91FC71, 0x9B941525,
0xFAE59361, 0xCEB69CEB, 0xC2A86459, 0x12BAA8D1,
0xB6C1075E, 0xE3056A0C, 0x10D25065, 0xCB03A442,
0xE0EC6E0E, 0x1698DB3B, 0x4C98A0BE, 0x3278E964,
0x9F1F9532, 0xE0D392DF, 0xD3A0342B, 0x8971F21E,
0x1B0A7441, 0x4BA3348C, 0xC5BE7120, 0xC37632D8,
0xDF359F8D, 0x9B992F2E, 0xE60B6F47, 0x0FE3F11D,
0xE54CDA54, 0x1EDAD891, 0xCE6279CF, 0xCD3E7E6F,
0x1618B166, 0xFD2C1D05, 0x848FD2C5, 0xF6FB2299,
0xF523F357, 0xA6327623, 0x93A83531, 0x56CCCD02,
0xACF08162, 0x5A75EBB5, 0x6E163697, 0x88D273CC,
0xDE966292, 0x81B949D0, 0x4C50901B, 0x71C65614,
0xE6C6C7BD, 0x327A140A, 0x45E1D006, 0xC3F27B9A,
0xC9AA53FD, 0x62A80F00, 0xBB25BFE2, 0x35BDD2F6,
0x71126905, 0xB2040222, 0xB6CBCF7C, 0xCD769C2B,
0x53113EC0, 0x1640E3D3, 0x38ABBD60, 0x2547ADF0,
0xBA38209C, 0xF746CE76, 0x77AFA1C5, 0x20756060,
0x85CBFE4E, 0x8AE88DD8, 0x7AAAF9B0, 0x4CF9AA7E,
0x1948C25C, 0x02FB8A8C, 0x01C36AE4, 0xD6EBE1F9,
0x90D4F869, 0xA65CDEA0, 0x3F09252D, 0xC208E69F,
0xB74E6132, 0xCE77E25B, 0x578FDFE3, 0x3AC372E6 ]
];
var BLOWFISH_CTX = {
pbox: [],
sbox: []
}
function F(ctx, x){
let a = (x >> 24) & 0xFF;
let b = (x >> 16) & 0xFF;
let c = (x >> 8) & 0xFF;
let d = x & 0xFF;
let y = ctx.sbox[0][a] + ctx.sbox[1][b];
y = y ^ ctx.sbox[2][c];
y = y + ctx.sbox[3][d];
return y;
}
function BlowFish_Encrypt(ctx, left, right){
let Xl = left;
let Xr = right;
let temp;
for(let i = 0; i < N; ++i){
Xl = Xl ^ ctx.pbox[i];
Xr = F(ctx, Xl) ^ Xr;
temp = Xl;
Xl = Xr;
Xr = temp;
}
temp = Xl;
Xl = Xr;
Xr = temp;
Xr = Xr ^ ctx.pbox[N];
Xl = Xl ^ ctx.pbox[N + 1];
return {left: Xl, right: Xr};
}
function BlowFish_Decrypt(ctx, left, right){
let Xl = left;
let Xr = right;
let temp;
for(let i = N + 1; i > 1; --i){
Xl = Xl ^ ctx.pbox[i];
Xr = F(ctx, Xl) ^ Xr;
temp = Xl;
Xl = Xr;
Xr = temp;
}
temp = Xl;
Xl = Xr;
Xr = temp;
Xr = Xr ^ ctx.pbox[1];
Xl = Xl ^ ctx.pbox[0];
return {left: Xl, right: Xr};
}
/**
* Initialization ctx's pbox and sbox.
*
* @param {Object} ctx The object has pbox and sbox.
* @param {Array} key An array of 32-bit words.
* @param {int} keysize The length of the key.
*
* @example
*
* BlowFishInit(BLOWFISH_CTX, key, 128/32);
*/
function BlowFishInit(ctx, key, keysize)
{
for(let Row = 0; Row < 4; Row++)
{
ctx.sbox[Row] = [];
for(let Col = 0; Col < 256; Col++)
{
ctx.sbox[Row][Col] = ORIG_S[Row][Col];
}
}
let keyIndex = 0;
for(let index = 0; index < N + 2; index++)
{
ctx.pbox[index] = ORIG_P[index] ^ key[keyIndex];
keyIndex++;
if(keyIndex >= keysize)
{
keyIndex = 0;
}
}
let Data1 = 0;
let Data2 = 0;
let res = 0;
for(let i = 0; i < N + 2; i += 2)
{
res = BlowFish_Encrypt(ctx, Data1, Data2);
Data1 = res.left;
Data2 = res.right;
ctx.pbox[i] = Data1;
ctx.pbox[i + 1] = Data2;
}
for(let i = 0; i < 4; i++)
{
for(let j = 0; j < 256; j += 2)
{
res = BlowFish_Encrypt(ctx, Data1, Data2);
Data1 = res.left;
Data2 = res.right;
ctx.sbox[i][j] = Data1;
ctx.sbox[i][j + 1] = Data2;
}
}
return true;
}
/**
* Blowfish block cipher algorithm.
*/
var Blowfish = C_algo.Blowfish = BlockCipher.extend({
_doReset: function () {
// Skip reset of nRounds has been set before and key did not change
if (this._keyPriorReset === this._key) {
return;
}
// Shortcuts
var key = this._keyPriorReset = this._key;
var keyWords = key.words;
var keySize = key.sigBytes / 4;
//Initialization pbox and sbox
BlowFishInit(BLOWFISH_CTX, keyWords, keySize);
},
encryptBlock: function (M, offset) {
var res = BlowFish_Encrypt(BLOWFISH_CTX, M[offset], M[offset + 1]);
M[offset] = res.left;
M[offset + 1] = res.right;
},
decryptBlock: function (M, offset) {
var res = BlowFish_Decrypt(BLOWFISH_CTX, M[offset], M[offset + 1]);
M[offset] = res.left;
M[offset + 1] = res.right;
},
blockSize: 64/32,
keySize: 128/32,
ivSize: 64/32
});
/**
* Shortcut functions to the cipher's object interface.
*
* @example
*
* var ciphertext = CryptoJS.Blowfish.encrypt(message, key, cfg);
* var plaintext = CryptoJS.Blowfish.decrypt(ciphertext, key, cfg);
*/
C.Blowfish = BlockCipher._createHelper(Blowfish);
}());
return CryptoJS;
}));`;const Xe=e=>{let[t,n]=(0,r.useState)(e.defaultPreflight??null),i=(0,r.useCallback)(t=>{n(t),e.onPreflightChange?.(t)},[e]),a=(0,r.useCallback)(async(n,r)=>t?.enabled?Ze(t.script,e.envApi?.env??{variables:{}},void 0,n,r):null,[t,e.envApi.env]),o=(0,r.useCallback)(r=>{n({...t??{script:``,enabled:!0},lastTestResult:r}),e.onPreflightChange?.({...t??{script:``,enabled:!0},lastTestResult:r})},[t,e]);return{preflight:t,setPreflight:i,runPreflight:a,setLastTestResult:o}};async function Ze(e,t,n,r=[],i={}){let a=r.filter(e=>e.preflight?.lab?.object).map(e=>e.preflight?.lab?.object);return new Promise(o=>{let s=new Blob([Ye.replace(`}(this, function () {`,`}(self, function () {`),`
const env = {
variables: ${JSON.stringify(t?.variables)} || {},
};
let promptResolve = null;
self.onmessage = async (event) => {
if (event.data.type === 'prompt:result') {
promptResolve?.(event.data.value || null);
}
if (event.data.type === 'init') {
try {
self.console = {
log: (...args) => {
self.postMessage({ type: 'log', level: 'log', message: args });
},
warn: (...args) => {
self.postMessage({ type: 'log', level: 'warn', message: args });
},
error: (...args) => {
self.postMessage({ type: 'log', level: 'error', message: args });
},
info: (...args) => {
self.postMessage({ type: 'log', level: 'info', message: args });
},
};
let state = ${JSON.stringify(i)};
const setState = (id, newState) => {
Object.assign(state[id] ?? {}, newState);
};
const lab = Object.freeze({
environment: {
get: (key) => env.variables[key],
set: (key, value) => {
env.variables[key] = value;
},
delete: (key) => {
delete env.variables[key];
}
},
request: {
headers: new Headers()
},
prompt: (placeholder, defaultValue) => {
return new Promise((resolve) => {
promptResolve = resolve;
self.postMessage({ type: 'prompt', placeholder, defaultValue });
});
},
plugins: {
${a.map(e=>e?.toString()).map(e=>e?.startsWith(`object`)?`function${e.slice(6)}`:e).map((e,t)=>`
...(${e})(${JSON.stringify(r[t].preflight?.lab?.props??{})}, state['${r[t].id}'] ?? {}, (newState) => setState('${r[t].id}', newState))
`).join(`,`)}
}
});
// Make CryptoJS available globally in the script context
const AsyncFunction = async function () {}.constructor;
await new AsyncFunction('lab', 'CryptoJS', 'with(lab){' + event.data.script + '}')(lab, CryptoJS);
self.postMessage({ type: 'result', env: env, headers: Object.fromEntries(lab.request.headers.entries()), pluginsState: state });
} catch (err) {
self.console.error(err);
self.postMessage({ type: 'result', error: err.message || String(err) });
}
}
};
`],{type:`application/javascript`}),c=[],l={},u=new Worker(URL.createObjectURL(s),{type:`module`});u.onmessage=({data:e})=>{e.type===`result`?(u.terminate(),e.error?o({status:`error`,error:e.error,logs:c,env:t,headers:e.headers,pluginsState:e.pluginsState}):(Object.keys(e.headers).length>0&&c.push({level:`system`,message:[`Headers:\n${JSON.stringify(e.headers,null,2)}`],createdAt:new Date().toISOString()}),o({status:`success`,logs:c,env:e.env,headers:e.headers,pluginsState:e.pluginsState}))):e.type===`log`?e.level===`log`?c.push({level:`log`,message:e.message,createdAt:new Date().toISOString()}):e.level===`warn`?c.push({level:`warn`,message:e.message,createdAt:new Date().toISOString()}):e.level===`error`?c.push({level:`error`,message:e.message,createdAt:new Date().toISOString()}):e.level===`info`&&c.push({level:`info`,message:e.message,createdAt:new Date().toISOString()}):e.type===`header`?(l[e.name]=e.value,c.push({level:`system`,message:[`Header ${e.name} set to ${e.value}`],createdAt:new Date().toISOString()})):e.type===`prompt`&&n?.(e.placeholder,e.defaultValue).then(e=>{u.postMessage({type:`prompt:result`,value:e})})},u.onerror=e=>{o({status:`error`,error:e.message,logs:c,env:t,headers:{},pluginsState:i})},u.postMessage({type:`init`,script:e})})}const Qe=e=>{let[t,n]=(0,r.useState)(e.defaultSettings??{fetch:{credentials:`same-origin`}}),i=(0,r.useCallback)(t=>{n(t),e.onSettingsChange?.(t)},[e]);return{settings:t,setSettings:i}},$e=e=>{let[t,n]=(0,r.useState)(e.defaultTabs??[]),[i,a]=(0,r.useState)(e.defaultTabs?.find(t=>t.id===e.defaultActiveTabId)??e.defaultTabs?.[0]??null),o=(0,r.useCallback)(t=>{a(t),e.onActiveTabIdChange?.(t?.id??null)},[e]),s=(0,r.useCallback)(t=>{n(t),e.onTabsChange?.(t)},[e]),c=(0,r.useCallback)(r=>{let i={...r,id:w()},a=[...t??[],i];return n(a),e.onTabsChange?.(a),i},[t,e]),l=(0,r.useCallback)(r=>{let i=t.filter(e=>e.id!==r);n(i),e.onTabsChange?.(i)},[t,e]),u=(0,r.useCallback)((r,i)=>{let a=t.map(e=>e.id===r?{...e,data:i}:e);n(a),e.onTabsChange?.(a)},[t,e]);return{activeTab:i,setActiveTab:o,tabs:t,setTabs:s,addTab:c,deleteTab:l,updateTab:u}},et=e=>{let[t,n]=(0,r.useState)(e.defaultTests??[]),i=(0,r.useRef)(t);(0,r.useEffect)(()=>{i.current=t},[t]);let a=(0,r.useCallback)(r=>{let i={...r,id:w(),createdAt:new Date().toISOString(),tasks:[]},a=[...t,i];return n(a),e.onTestsChange?.(a),i},[t,e]),o=(0,r.useCallback)(t=>{let r=i.current.filter(e=>e.id!==t);n(r),e.onTestsChange?.(r)},[e]),s=(0,r.useCallback)((t,r)=>{let a={...r,id:w(),next:null},o=i.current.map(e=>e.id===t?{...e,tasks:[...e.tasks,a]}:e);n(o),e.onTestsChange?.(o)},[e]),c=(0,r.useCallback)((t,r)=>{let a=i.current.map(e=>e.id===t?{...e,tasks:e.tasks.filter(e=>e.id!==r)}:e);n(a),e.onTestsChange?.(a)},[e]);return{tests:t,addTest:a,deleteTest:o,addTaskToTest:s,deleteTaskFromTest:c}};function tt(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=tt(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function nt(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=tt(e))&&(r&&(r+=` `),r+=t);return r}var rt=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},it=(e,t)=>({classGroupId:e,validator:t}),at=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),ot=`-`,st=[],ct=`arbitrary..`,lt=e=>{let t=ft(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return dt(e);let n=e.split(ot),r=n[0]===``&&n.length>1?1:0;return ut(n,r,t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?rt(i,t):t:i||st}return n[e]||st}}},ut=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=ut(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(ot):e.slice(t).join(ot),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},dt=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?ct+r:void 0})(),ft=e=>{let{theme:t,classGroups:n}=e;return pt(n,t)},pt=(e,t)=>{let n=at();for(let r in e){let i=e[r];mt(i,n,r,t)}return n},mt=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];ht(i,t,n,r)}},ht=(e,t,n,r)=>{if(typeof e==`string`){gt(e,t,n);return}if(typeof e==`function`){_t(e,t,n,r);return}vt(e,t,n,r)},gt=(e,t,n)=>{let r=e===``?t:yt(t,e);r.classGroupId=n},_t=(e,t,n,r)=>{if(bt(e)){mt(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(it(n,e))},vt=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];mt(o,yt(t,a),n,r)}},yt=(e,t)=>{let n=e,r=t.split(ot),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=at(),n.nextPart.set(t,i)),n=i}return n},bt=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,xt=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},St=`!`,Ct=`:`,wt=[],Tt=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),Et=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===Ct){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(St)?(c=s.slice(0,-1),l=!0):s.startsWith(St)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return Tt(t,l,c,u)};if(t){let e=t+Ct,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):Tt(wt,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},Dt=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},Ot=e=>({cache:xt(e.cacheSize),parseClassName:Et(e),sortModifiers:Dt(e),...lt(e)}),kt=/\s+/,At=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a}=t,o=[],s=e.trim().split(kt),c=``;for(let e=s.length-1;e>=0;--e){let t=s[e],{isExternal:l,modifiers:u,hasImportantModifier:d,baseClassName:f,maybePostfixModifierPosition:p}=n(t);if(l){c=t+(c.length>0?` `+c:c);continue}let m=!!p,h=r(m?f.substring(0,p):f);if(!h){if(!m){c=t+(c.length>0?` `+c:c);continue}if(h=r(f),!h){c=t+(c.length>0?` `+c:c);continue}m=!1}let g=u.length===0?``:u.length===1?u[0]:a(u).join(`:`),_=d?g+St:g,v=_+h;if(o.indexOf(v)>-1)continue;o.push(v);let y=i(h,m);for(let e=0;e<y.length;++e){let t=y[e];o.push(_+t)}c=t+(c.length>0?` `+c:c)}return c},jt=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=Mt(n))&&(i&&(i+=` `),i+=r);return i},Mt=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=Mt(e[r]))&&(n&&(n+=` `),n+=t);return n},Nt=(e,...t)=>{let n,r,i,a,o=o=>{let c=t.reduce((e,t)=>t(e),e());return n=Ot(c),r=n.cache.get,i=n.cache.set,a=s,s(o)},s=e=>{let t=r(e);if(t)return t;let a=At(e,n);return i(e,a),a};return a=o,(...e)=>a(jt(...e))},Pt=[],Ft=e=>{let t=t=>t[e]||Pt;return t.isThemeGetter=!0,t},It=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Lt=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Rt=/^\d+\/\d+$/,zt=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Bt=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Vt=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Ht=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Ut=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Wt=e=>Rt.test(e),z=e=>!!e&&!Number.isNaN(Number(e)),Gt=e=>!!e&&Number.isInteger(Number(e)),Kt=e=>e.endsWith(`%`)&&z(e.slice(0,-1)),qt=e=>zt.test(e),Jt=()=>!0,Yt=e=>Bt.test(e)&&!Vt.test(e),Xt=()=>!1,Zt=e=>Ht.test(e),Qt=e=>Ut.test(e),$t=e=>!B(e)&&!V(e),en=e=>pn(e,_n,Xt),B=e=>It.test(e),tn=e=>pn(e,vn,Yt),nn=e=>pn(e,yn,z),rn=e=>pn(e,hn,Xt),an=e=>pn(e,gn,Qt),on=e=>pn(e,xn,Zt),V=e=>Lt.test(e),sn=e=>mn(e,vn),cn=e=>mn(e,bn),ln=e=>mn(e,hn),un=e=>mn(e,_n),dn=e=>mn(e,gn),fn=e=>mn(e,xn,!0),pn=(e,t,n)=>{let r=It.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},mn=(e,t,n=!1)=>{let r=Lt.exec(e);return r?r[1]?t(r[1]):n:!1},hn=e=>e===`position`||e===`percentage`,gn=e=>e===`image`||e===`url`,_n=e=>e===`length`||e===`size`||e===`bg-size`,vn=e=>e===`length`,yn=e=>e===`number`,bn=e=>e===`family-name`,xn=e=>e===`shadow`,Sn=()=>{let e=Ft(`color`),t=Ft(`font`),n=Ft(`text`),r=Ft(`font-weight`),i=Ft(`tracking`),a=Ft(`leading`),o=Ft(`breakpoint`),s=Ft(`container`),c=Ft(`spacing`),l=Ft(`radius`),u=Ft(`shadow`),d=Ft(`inset-shadow`),f=Ft(`text-shadow`),p=Ft(`drop-shadow`),m=Ft(`blur`),h=Ft(`perspective`),g=Ft(`aspect`),_=Ft(`ease`),v=Ft(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),V,B],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[V,B,c],T=()=>[Wt,`full`,`auto`,...w()],E=()=>[Gt,`none`,`subgrid`,V,B],D=()=>[`auto`,{span:[`full`,Gt,V,B]},Gt,V,B],O=()=>[Gt,`auto`,V,B],k=()=>[`auto`,`min`,`max`,`fr`,V,B],A=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],j=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],M=()=>[`auto`,...w()],N=()=>[Wt,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],P=()=>[e,V,B],F=()=>[...b(),ln,rn,{position:[V,B]}],I=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],L=()=>[`auto`,`cover`,`contain`,un,en,{size:[V,B]}],ee=()=>[Kt,sn,tn],te=()=>[``,`none`,`full`,l,V,B],R=()=>[``,z,sn,tn],ne=()=>[`solid`,`dashed`,`dotted`,`double`],re=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],ie=()=>[z,Kt,ln,rn],ae=()=>[``,`none`,m,V,B],oe=()=>[`none`,z,V,B],se=()=>[`none`,z,V,B],ce=()=>[z,V,B],le=()=>[Wt,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[qt],breakpoint:[qt],color:[Jt],container:[qt],"drop-shadow":[qt],ease:[`in`,`out`,`in-out`],font:[$t],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[qt],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[qt],shadow:[qt],spacing:[`px`,z],text:[qt],"text-shadow":[qt],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,Wt,B,V,g]}],container:[`container`],columns:[{columns:[z,B,V,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{start:T()}],end:[{end:T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[Gt,`auto`,V,B]}],basis:[{basis:[Wt,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[z,Wt,`auto`,`initial`,`none`,B]}],grow:[{grow:[``,z,V,B]}],shrink:[{shrink:[``,z,V,B]}],order:[{order:[Gt,`first`,`last`,`none`,V,B]}],"grid-cols":[{"grid-cols":E()}],"col-start-end":[{col:D()}],"col-start":[{"col-start":O()}],"col-end":[{"col-end":O()}],"grid-rows":[{"grid-rows":E()}],"row-start-end":[{row:D()}],"row-start":[{"row-start":O()}],"row-end":[{"row-end":O()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":k()}],"auto-rows":[{"auto-rows":k()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...A(),`normal`]}],"justify-items":[{"justify-items":[...j(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...j()]}],"align-content":[{content:[`normal`,...A()]}],"align-items":[{items:[...j(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...j(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":A()}],"place-items":[{"place-items":[...j(),`baseline`]}],"place-self":[{"place-self":[`auto`,...j()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:M()}],mx:[{mx:M()}],my:[{my:M()}],ms:[{ms:M()}],me:[{me:M()}],mt:[{mt:M()}],mr:[{mr:M()}],mb:[{mb:M()}],ml:[{ml:M()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:N()}],w:[{w:[s,`screen`,...N()]}],"min-w":[{"min-w":[s,`screen`,`none`,...N()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...N()]}],h:[{h:[`screen`,`lh`,...N()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...N()]}],"max-h":[{"max-h":[`screen`,`lh`,...N()]}],"font-size":[{text:[`base`,n,sn,tn]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,V,nn]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,Kt,B]}],"font-family":[{font:[cn,B,t]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,V,B]}],"line-clamp":[{"line-clamp":[z,`none`,V,nn]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,V,B]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,V,B]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:P()}],"text-color":[{text:P()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...ne(),`wavy`]}],"text-decoration-thickness":[{decoration:[z,`from-font`,`auto`,V,tn]}],"text-decoration-color":[{decoration:P()}],"underline-offset":[{"underline-offset":[z,`auto`,V,B]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,V,B]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,V,B]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:F()}],"bg-repeat":[{bg:I()}],"bg-size":[{bg:L()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},Gt,V,B],radial:[``,V,B],conic:[Gt,V,B]},dn,an]}],"bg-color":[{bg:P()}],"gradient-from-pos":[{from:ee()}],"gradient-via-pos":[{via:ee()}],"gradient-to-pos":[{to:ee()}],"gradient-from":[{from:P()}],"gradient-via":[{via:P()}],"gradient-to":[{to:P()}],rounded:[{rounded:te()}],"rounded-s":[{"rounded-s":te()}],"rounded-e":[{"rounded-e":te()}],"rounded-t":[{"rounded-t":te()}],"rounded-r":[{"rounded-r":te()}],"rounded-b":[{"rounded-b":te()}],"rounded-l":[{"rounded-l":te()}],"rounded-ss":[{"rounded-ss":te()}],"rounded-se":[{"rounded-se":te()}],"rounded-ee":[{"rounded-ee":te()}],"rounded-es":[{"rounded-es":te()}],"rounded-tl":[{"rounded-tl":te()}],"rounded-tr":[{"rounded-tr":te()}],"rounded-br":[{"rounded-br":te()}],"rounded-bl":[{"rounded-bl":te()}],"border-w":[{border:R()}],"border-w-x":[{"border-x":R()}],"border-w-y":[{"border-y":R()}],"border-w-s":[{"border-s":R()}],"border-w-e":[{"border-e":R()}],"border-w-t":[{"border-t":R()}],"border-w-r":[{"border-r":R()}],"border-w-b":[{"border-b":R()}],"border-w-l":[{"border-l":R()}],"divide-x":[{"divide-x":R()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":R()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...ne(),`hidden`,`none`]}],"divide-style":[{divide:[...ne(),`hidden`,`none`]}],"border-color":[{border:P()}],"border-color-x":[{"border-x":P()}],"border-color-y":[{"border-y":P()}],"border-color-s":[{"border-s":P()}],"border-color-e":[{"border-e":P()}],"border-color-t":[{"border-t":P()}],"border-color-r":[{"border-r":P()}],"border-color-b":[{"border-b":P()}],"border-color-l":[{"border-l":P()}],"divide-color":[{divide:P()}],"outline-style":[{outline:[...ne(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[z,V,B]}],"outline-w":[{outline:[``,z,sn,tn]}],"outline-color":[{outline:P()}],shadow:[{shadow:[``,`none`,u,fn,on]}],"shadow-color":[{shadow:P()}],"inset-shadow":[{"inset-shadow":[`none`,d,fn,on]}],"inset-shadow-color":[{"inset-shadow":P()}],"ring-w":[{ring:R()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:P()}],"ring-offset-w":[{"ring-offset":[z,tn]}],"ring-offset-color":[{"ring-offset":P()}],"inset-ring-w":[{"inset-ring":R()}],"inset-ring-color":[{"inset-ring":P()}],"text-shadow":[{"text-shadow":[`none`,f,fn,on]}],"text-shadow-color":[{"text-shadow":P()}],opacity:[{opacity:[z,V,B]}],"mix-blend":[{"mix-blend":[...re(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":re()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[z]}],"mask-image-linear-from-pos":[{"mask-linear-from":ie()}],"mask-image-linear-to-pos":[{"mask-linear-to":ie()}],"mask-image-linear-from-color":[{"mask-linear-from":P()}],"mask-image-linear-to-color":[{"mask-linear-to":P()}],"mask-image-t-from-pos":[{"mask-t-from":ie()}],"mask-image-t-to-pos":[{"mask-t-to":ie()}],"mask-image-t-from-color":[{"mask-t-from":P()}],"mask-image-t-to-color":[{"mask-t-to":P()}],"mask-image-r-from-pos":[{"mask-r-from":ie()}],"mask-image-r-to-pos":[{"mask-r-to":ie()}],"mask-image-r-from-color":[{"mask-r-from":P()}],"mask-image-r-to-color":[{"mask-r-to":P()}],"mask-image-b-from-pos":[{"mask-b-from":ie()}],"mask-image-b-to-pos":[{"mask-b-to":ie()}],"mask-image-b-from-color":[{"mask-b-from":P()}],"mask-image-b-to-color":[{"mask-b-to":P()}],"mask-image-l-from-pos":[{"mask-l-from":ie()}],"mask-image-l-to-pos":[{"mask-l-to":ie()}],"mask-image-l-from-color":[{"mask-l-from":P()}],"mask-image-l-to-color":[{"mask-l-to":P()}],"mask-image-x-from-pos":[{"mask-x-from":ie()}],"mask-image-x-to-pos":[{"mask-x-to":ie()}],"mask-image-x-from-color":[{"mask-x-from":P()}],"mask-image-x-to-color":[{"mask-x-to":P()}],"mask-image-y-from-pos":[{"mask-y-from":ie()}],"mask-image-y-to-pos":[{"mask-y-to":ie()}],"mask-image-y-from-color":[{"mask-y-from":P()}],"mask-image-y-to-color":[{"mask-y-to":P()}],"mask-image-radial":[{"mask-radial":[V,B]}],"mask-image-radial-from-pos":[{"mask-radial-from":ie()}],"mask-image-radial-to-pos":[{"mask-radial-to":ie()}],"mask-image-radial-from-color":[{"mask-radial-from":P()}],"mask-image-radial-to-color":[{"mask-radial-to":P()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[z]}],"mask-image-conic-from-pos":[{"mask-conic-from":ie()}],"mask-image-conic-to-pos":[{"mask-conic-to":ie()}],"mask-image-conic-from-color":[{"mask-conic-from":P()}],"mask-image-conic-to-color":[{"mask-conic-to":P()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:F()}],"mask-repeat":[{mask:I()}],"mask-size":[{mask:L()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,V,B]}],filter:[{filter:[``,`none`,V,B]}],blur:[{blur:ae()}],brightness:[{brightness:[z,V,B]}],contrast:[{contrast:[z,V,B]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,fn,on]}],"drop-shadow-color":[{"drop-shadow":P()}],grayscale:[{grayscale:[``,z,V,B]}],"hue-rotate":[{"hue-rotate":[z,V,B]}],invert:[{invert:[``,z,V,B]}],saturate:[{saturate:[z,V,B]}],sepia:[{sepia:[``,z,V,B]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,V,B]}],"backdrop-blur":[{"backdrop-blur":ae()}],"backdrop-brightness":[{"backdrop-brightness":[z,V,B]}],"backdrop-contrast":[{"backdrop-contrast":[z,V,B]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,z,V,B]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[z,V,B]}],"backdrop-invert":[{"backdrop-invert":[``,z,V,B]}],"backdrop-opacity":[{"backdrop-opacity":[z,V,B]}],"backdrop-saturate":[{"backdrop-saturate":[z,V,B]}],"backdrop-sepia":[{"backdrop-sepia":[``,z,V,B]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,V,B]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[z,`initial`,V,B]}],ease:[{ease:[`linear`,`initial`,_,V,B]}],delay:[{delay:[z,V,B]}],animate:[{animate:[`none`,v,V,B]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,V,B]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:oe()}],"rotate-x":[{"rotate-x":oe()}],"rotate-y":[{"rotate-y":oe()}],"rotate-z":[{"rotate-z":oe()}],scale:[{scale:se()}],"scale-x":[{"scale-x":se()}],"scale-y":[{"scale-y":se()}],"scale-z":[{"scale-z":se()}],"scale-3d":[`scale-3d`],skew:[{skew:ce()}],"skew-x":[{"skew-x":ce()}],"skew-y":[{"skew-y":ce()}],transform:[{transform:[V,B,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:le()}],"translate-x":[{"translate-x":le()}],"translate-y":[{"translate-y":le()}],"translate-z":[{"translate-z":le()}],"translate-none":[`translate-none`],accent:[{accent:P()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:P()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,V,B]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,V,B]}],fill:[{fill:[`none`,...P()]}],"stroke-w":[{stroke:[z,sn,tn,nn]}],stroke:[{stroke:[`none`,...P()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}},Cn=Nt(Sn);function H(...e){return Cn(nt(e))}function wn(e){return e.replace(/_/g,` `).replace(/([a-z0-9])([A-Z])/g,`$1 $2`).trim().split(/\s+/).map(e=>e.toLowerCase())}var Tn=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e;const En=nt,Dn=(e,t)=>n=>{if(t?.variants==null)return En(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=Tn(t)||Tn(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{}),s=t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]);return En(e,a,s,n?.class,n?.className)};function On(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function kn(...e){return t=>{let n=!1,r=e.map(e=>{let r=On(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():On(e[t],null)}}}}function U(...e){return r.useCallback(kn(...e),e)}var An=Symbol.for(`react.lazy`),jn=r.use;function Mn(e){return typeof e==`object`&&!!e&&`then`in e}function Nn(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===An&&`_payload`in e&&Mn(e._payload)}function Pn(e){let t=In(e),n=r.forwardRef((e,n)=>{let{children:i,...a}=e;Nn(i)&&typeof jn==`function`&&(i=jn(i._payload));let o=r.Children.toArray(i),s=o.find(Rn);if(s){let e=s.props.children,i=o.map(t=>t===s?r.Children.count(e)>1?r.Children.only(null):r.isValidElement(e)?e.props.children:null:t);return(0,d.jsx)(t,{...a,ref:n,children:r.isValidElement(e)?r.cloneElement(e,void 0,i):null})}return(0,d.jsx)(t,{...a,ref:n,children:i})});return n.displayName=`${e}.Slot`,n}var Fn=Pn(`Slot`);function In(e){let t=r.forwardRef((e,t)=>{let{children:n,...i}=e;if(Nn(n)&&typeof jn==`function`&&(n=jn(n._payload)),r.isValidElement(n)){let e=Bn(n),a=zn(i,n.props);return n.type!==r.Fragment&&(a.ref=t?kn(t,e):e),r.cloneElement(n,a)}return r.Children.count(n)>1?r.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Ln=Symbol(`radix.slottable`);function Rn(e){return r.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===Ln}function zn(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function Bn(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Vn=Dn(`cursor-pointer inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90`,destructive:`!text-white hover:bg-destructive/90 focus-visible:ring-destructive/40 bg-destructive/60`,outline:`border shadow-sm hover:text-accent-foreground bg-input/30 border-input hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,ghost:`hover:text-accent-foreground hover:bg-accent/50`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 px-4 py-2 has-[>svg]:px-3`,sm:`h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5`,lg:`h-10 rounded-md px-6 has-[>svg]:px-4`,icon:`size-9`,"icon-sm":`size-8`,"icon-lg":`size-10`}},defaultVariants:{variant:`default`,size:`default`}});function W({className:e,variant:t,size:n,asChild:r=!1,...i}){return(0,d.jsx)(r?Fn:`button`,{"data-slot":`button`,className:H(Vn({variant:t,size:n,className:e})),...i})}var Hn=!!(typeof window<`u`&&window.document&&window.document.createElement);function G(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}function Un(e,t){let n=r.createContext(t),i=e=>{let{children:t,...i}=e,a=r.useMemo(()=>i,Object.values(i));return(0,d.jsx)(n.Provider,{value:a,children:t})};i.displayName=e+`Provider`;function a(i){let a=r.useContext(n);if(a)return a;if(t!==void 0)return t;throw Error(`\`${i}\` must be used within \`${e}\``)}return[i,a]}function Wn(e,t=[]){let n=[];function i(t,i){let a=r.createContext(i),o=n.length;n=[...n,i];let s=t=>{let{scope:n,children:i,...s}=t,c=n?.[e]?.[o]||a,l=r.useMemo(()=>s,Object.values(s));return(0,d.jsx)(c.Provider,{value:l,children:i})};s.displayName=t+`Provider`;function c(n,s){let c=s?.[e]?.[o]||a,l=r.useContext(c);if(l)return l;if(i!==void 0)return i;throw Error(`\`${n}\` must be used within \`${t}\``)}return[s,c]}let a=()=>{let t=n.map(e=>r.createContext(e));return function(n){let i=n?.[e]||t;return r.useMemo(()=>({[`__scope${e}`]:{...n,[e]:i}}),[n,i])}};return a.scopeName=e,[i,Gn(a,...t)]}function Gn(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let i=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return r.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}var Kn=globalThis?.document?r.useLayoutEffect:()=>{},qn=r.useId||(()=>void 0),Jn=0;function Yn(e){let[t,n]=r.useState(qn());return Kn(()=>{e||n(e=>e??String(Jn++))},[e]),e||(t?`radix-${t}`:``)}var Xn=r.useInsertionEffect||Kn;function Zn({prop:e,defaultProp:t,onChange:n=()=>{},caller:i}){let[a,o,s]=Qn({defaultProp:t,onChange:n}),c=e!==void 0,l=c?e:a;{let t=r.useRef(e!==void 0);r.useEffect(()=>{let e=t.current;if(e!==c){let t=e?`controlled`:`uncontrolled`,n=c?`controlled`:`uncontrolled`;console.warn(`${i} is changing from ${t} to ${n}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}t.current=c},[c,i])}let u=r.useCallback(t=>{if(c){let n=$n(t)?t(e):t;n!==e&&s.current?.(n)}else o(t)},[c,e,o,s]);return[l,u]}function Qn({defaultProp:e,onChange:t}){let[n,i]=r.useState(e),a=r.useRef(n),o=r.useRef(t);return Xn(()=>{o.current=t},[t]),r.useEffect(()=>{a.current!==n&&(o.current?.(n),a.current=n)},[n,a]),[n,i,o]}function $n(e){return typeof e==`function`}var er=Symbol(`RADIX:SYNC_STATE`);function tr(e){let t=nr(e),n=r.forwardRef((e,n)=>{let{children:i,...a}=e,o=r.Children.toArray(i),s=o.find(ar);if(s){let e=s.props.children,i=o.map(t=>t===s?r.Children.count(e)>1?r.Children.only(null):r.isValidElement(e)?e.props.children:null:t);return(0,d.jsx)(t,{...a,ref:n,children:r.isValidElement(e)?r.cloneElement(e,void 0,i):null})}return(0,d.jsx)(t,{...a,ref:n,children:i})});return n.displayName=`${e}.Slot`,n}function nr(e){let t=r.forwardRef((e,t)=>{let{children:n,...i}=e;if(r.isValidElement(n)){let e=sr(n),a=or(i,n.props);return n.type!==r.Fragment&&(a.ref=t?kn(t,e):e),r.cloneElement(n,a)}return r.Children.count(n)>1?r.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var rr=Symbol(`radix.slottable`);function ir(e){let t=({children:e})=>(0,d.jsx)(d.Fragment,{children:e});return t.displayName=`${e}.Slottable`,t.__radixId=rr,t}function ar(e){return r.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===rr}function or(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function sr(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var K=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=tr(`Primitive.${t}`),i=r.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,d.jsx)(o,{...a,ref:r})});return i.displayName=`Primitive.${t}`,{...e,[t]:i}},{});function cr(e,t){e&&i.flushSync(()=>e.dispatchEvent(t))}function lr(e){let t=r.useRef(e);return r.useEffect(()=>{t.current=e}),r.useMemo(()=>(...e)=>t.current?.(...e),[])}function ur(e,t=globalThis?.document){let n=lr(e);r.useEffect(()=>{let e=e=>{e.key===`Escape`&&n(e)};return t.addEventListener(`keydown`,e,{capture:!0}),()=>t.removeEventListener(`keydown`,e,{capture:!0})},[n,t])}var dr=`DismissableLayer`,fr=`dismissableLayer.update`,pr=`dismissableLayer.pointerDownOutside`,mr=`dismissableLayer.focusOutside`,hr,gr=r.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),_r=r.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:o,onInteractOutside:s,onDismiss:c,...l}=e,u=r.useContext(gr),[f,p]=r.useState(null),m=f?.ownerDocument??globalThis?.document,[,h]=r.useState({}),g=U(t,e=>p(e)),_=Array.from(u.layers),[v]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),y=_.indexOf(v),b=f?_.indexOf(f):-1,x=u.layersWithOutsidePointerEventsDisabled.size>0,S=b>=y,C=br(e=>{let t=e.target,n=[...u.branches].some(e=>e.contains(t));!S||n||(a?.(e),s?.(e),e.defaultPrevented||c?.())},m),w=xr(e=>{let t=e.target;[...u.branches].some(e=>e.contains(t))||(o?.(e),s?.(e),e.defaultPrevented||c?.())},m);return ur(e=>{b===u.layers.size-1&&(i?.(e),!e.defaultPrevented&&c&&(e.preventDefault(),c()))},m),r.useEffect(()=>{if(f)return n&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(hr=m.body.style.pointerEvents,m.body.style.pointerEvents=`none`),u.layersWithOutsidePointerEventsDisabled.add(f)),u.layers.add(f),Sr(),()=>{n&&u.layersWithOutsidePointerEventsDisabled.size===1&&(m.body.style.pointerEvents=hr)}},[f,m,n,u]),r.useEffect(()=>()=>{f&&(u.layers.delete(f),u.layersWithOutsidePointerEventsDisabled.delete(f),Sr())},[f,u]),r.useEffect(()=>{let e=()=>h({});return document.addEventListener(fr,e),()=>document.removeEventListener(fr,e)},[]),(0,d.jsx)(K.div,{...l,ref:g,style:{pointerEvents:x?S?`auto`:`none`:void 0,...e.style},onFocusCapture:G(e.onFocusCapture,w.onFocusCapture),onBlurCapture:G(e.onBlurCapture,w.onBlurCapture),onPointerDownCapture:G(e.onPointerDownCapture,C.onPointerDownCapture)})});_r.displayName=dr;var vr=`DismissableLayerBranch`,yr=r.forwardRef((e,t)=>{let n=r.useContext(gr),i=r.useRef(null),a=U(t,i);return r.useEffect(()=>{let e=i.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,d.jsx)(K.div,{...e,ref:a})});yr.displayName=vr;function br(e,t=globalThis?.document){let n=lr(e),i=r.useRef(!1),a=r.useRef(()=>{});return r.useEffect(()=>{let e=e=>{if(e.target&&!i.current){let r=function(){Cr(pr,n,i,{discrete:!0})},i={originalEvent:e};e.pointerType===`touch`?(t.removeEventListener(`click`,a.current),a.current=r,t.addEventListener(`click`,a.current,{once:!0})):r()}else t.removeEventListener(`click`,a.current);i.current=!1},r=window.setTimeout(()=>{t.addEventListener(`pointerdown`,e)},0);return()=>{window.clearTimeout(r),t.removeEventListener(`pointerdown`,e),t.removeEventListener(`click`,a.current)}},[t,n]),{onPointerDownCapture:()=>i.current=!0}}function xr(e,t=globalThis?.document){let n=lr(e),i=r.useRef(!1);return r.useEffect(()=>{let e=e=>{e.target&&!i.current&&Cr(mr,n,{originalEvent:e},{discrete:!1})};return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:()=>i.current=!0,onBlurCapture:()=>i.current=!1}}function Sr(){let e=new CustomEvent(fr);document.dispatchEvent(e)}function Cr(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?cr(i,a):i.dispatchEvent(a)}var wr=`focusScope.autoFocusOnMount`,Tr=`focusScope.autoFocusOnUnmount`,Er={bubbles:!1,cancelable:!0},Dr=`FocusScope`,Or=r.forwardRef((e,t)=>{let{loop:n=!1,trapped:i=!1,onMountAutoFocus:a,onUnmountAutoFocus:o,...s}=e,[c,l]=r.useState(null),u=lr(a),f=lr(o),p=r.useRef(null),m=U(t,e=>l(e)),h=r.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;r.useEffect(()=>{if(i){let e=function(e){if(h.paused||!c)return;let t=e.target;c.contains(t)?p.current=t:Nr(p.current,{select:!0})},t=function(e){if(h.paused||!c)return;let t=e.relatedTarget;t!==null&&(c.contains(t)||Nr(p.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&Nr(c)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return c&&r.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[i,c,h.paused]),r.useEffect(()=>{if(c){Pr.add(h);let e=document.activeElement;if(!c.contains(e)){let t=new CustomEvent(wr,Er);c.addEventListener(wr,u),c.dispatchEvent(t),t.defaultPrevented||(kr(Lr(Ar(c)),{select:!0}),document.activeElement===e&&Nr(c))}return()=>{c.removeEventListener(wr,u),setTimeout(()=>{let t=new CustomEvent(Tr,Er);c.addEventListener(Tr,f),c.dispatchEvent(t),t.defaultPrevented||Nr(e??document.body,{select:!0}),c.removeEventListener(Tr,f),Pr.remove(h)},0)}}},[c,u,f,h]);let g=r.useCallback(e=>{if(!n&&!i||h.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,r=document.activeElement;if(t&&r){let t=e.currentTarget,[i,a]=q(t);i&&a?!e.shiftKey&&r===a?(e.preventDefault(),n&&Nr(i,{select:!0})):e.shiftKey&&r===i&&(e.preventDefault(),n&&Nr(a,{select:!0})):r===t&&e.preventDefault()}},[n,i,h.paused]);return(0,d.jsx)(K.div,{tabIndex:-1,...s,ref:m,onKeyDown:g})});Or.displayName=Dr;function kr(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(Nr(r,{select:t}),document.activeElement!==n)return}function q(e){let t=Ar(e),n=jr(t,e),r=jr(t.reverse(),e);return[n,r]}function Ar(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function jr(e,t){for(let n of e)if(!Mr(n,{upTo:t}))return n}function Mr(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function J(e){return e instanceof HTMLInputElement&&`select`in e}function Nr(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&J(e)&&t&&e.select()}}var Pr=Fr();function Fr(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=Ir(e,t),e.unshift(t)},remove(t){e=Ir(e,t),e[0]?.resume()}}}function Ir(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function Lr(e){return e.filter(e=>e.tagName!==`A`)}var Rr=`Portal`,zr=r.forwardRef((e,t)=>{let{container:n,...a}=e,[o,s]=r.useState(!1);Kn(()=>s(!0),[]);let c=n||o&&globalThis?.document?.body;return c?i.default.createPortal((0,d.jsx)(K.div,{...a,ref:t}),c):null});zr.displayName=Rr;function Br(e,t){return r.useReducer((e,n)=>t[e][n]??e,e)}var Vr=e=>{let{present:t,children:n}=e,i=Hr(t),a=typeof n==`function`?n({present:i.isPresent}):r.Children.only(n),o=U(i.ref,Wr(a));return typeof n==`function`||i.isPresent?r.cloneElement(a,{ref:o}):null};Vr.displayName=`Presence`;function Hr(e){let[t,n]=r.useState(),i=r.useRef(null),a=r.useRef(e),o=r.useRef(`none`),[s,c]=Br(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return r.useEffect(()=>{let e=Ur(i.current);o.current=s===`mounted`?e:`none`},[s]),Kn(()=>{let t=i.current,n=a.current;if(n!==e){let r=o.current,i=Ur(t);e?c(`MOUNT`):i===`none`||t?.display===`none`?c(`UNMOUNT`):c(n&&r!==i?`ANIMATION_OUT`:`UNMOUNT`),a.current=e}},[e,c]),Kn(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,r=r=>{let o=Ur(i.current).includes(CSS.escape(r.animationName));if(r.target===t&&o&&(c(`ANIMATION_END`),!a.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},s=e=>{e.target===t&&(o.current=Ur(i.current))};return t.addEventListener(`animationstart`,s),t.addEventListener(`animationcancel`,r),t.addEventListener(`animationend`,r),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,s),t.removeEventListener(`animationcancel`,r),t.removeEventListener(`animationend`,r)}}else c(`ANIMATION_END`)},[t,c]),{isPresent:[`mounted`,`unmountSuspended`].includes(s),ref:r.useCallback(e=>{i.current=e?getComputedStyle(e):null,n(e)},[])}}function Ur(e){return e?.animationName||`none`}function Wr(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Gr=0;function Kr(){r.useEffect(()=>{let e=document.querySelectorAll(`[data-radix-focus-guard]`);return document.body.insertAdjacentElement(`afterbegin`,e[0]??qr()),document.body.insertAdjacentElement(`beforeend`,e[1]??qr()),Gr++,()=>{Gr===1&&document.querySelectorAll(`[data-radix-focus-guard]`).forEach(e=>e.remove()),Gr--}},[])}function qr(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}var Jr=`right-scroll-bar-position`,Yr=`width-before-scroll-bar`,Xr=`with-scroll-bars-hidden`,Zr=`--removed-body-scroll-bar-size`;function Qr(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function $r(e,t){var n=(0,r.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var ei=typeof window<`u`?r.useLayoutEffect:r.useEffect,ti=new WeakMap;function ni(e,t){var n=$r(t||null,function(t){return e.forEach(function(e){return Qr(e,t)})});return ei(function(){var t=ti.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||Qr(e,null)}),i.forEach(function(e){r.has(e)||Qr(e,a)})}ti.set(n,e)},[e]),n}function ri(e){return e}function ii(e,t){t===void 0&&(t=ri);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function ai(e){e===void 0&&(e={});var t=ii(null);return t.options=(0,f.__assign)({async:!0,ssr:!1},e),t}var oi=function(e){var t=e.sideCar,n=(0,f.__rest)(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var i=t.read();if(!i)throw Error(`Sidecar medium not found`);return r.createElement(i,(0,f.__assign)({},n))};oi.isSideCarExport=!0;function si(e,t){return e.useMedium(t),oi}var ci=ai(),li=function(){},ui=r.forwardRef(function(e,t){var n=r.useRef(null),i=r.useState({onScrollCapture:li,onWheelCapture:li,onTouchMoveCapture:li}),a=i[0],o=i[1],s=e.forwardProps,c=e.children,l=e.className,u=e.removeScrollBar,d=e.enabled,p=e.shards,m=e.sideCar,h=e.noRelative,g=e.noIsolation,_=e.inert,v=e.allowPinchZoom,y=e.as,b=y===void 0?`div`:y,x=e.gapMode,S=(0,f.__rest)(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),C=m,w=ni([n,t]),T=(0,f.__assign)((0,f.__assign)({},S),a);return r.createElement(r.Fragment,null,d&&r.createElement(C,{sideCar:ci,removeScrollBar:u,shards:p,noRelative:h,noIsolation:g,inert:_,setCallbacks:o,allowPinchZoom:!!v,lockRef:n,gapMode:x}),s?r.cloneElement(r.Children.only(c),(0,f.__assign)((0,f.__assign)({},T),{ref:w})):r.createElement(b,(0,f.__assign)({},T,{className:l,ref:w}),c))});ui.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},ui.classNames={fullWidth:Yr,zeroRight:Jr};var di,fi=function(){if(di)return di;if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function pi(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=fi();return t&&e.setAttribute(`nonce`,t),e}function mi(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function hi(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var gi=function(){var e=0,t=null;return{add:function(n){e==0&&(t=pi())&&(mi(t,n),hi(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},_i=function(){var e=gi();return function(t,n){r.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},vi=function(){var e=_i();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},yi={left:0,top:0,right:0,gap:0},bi=function(e){return parseInt(e||``,10)||0},xi=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[bi(n),bi(r),bi(i)]},Si=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return yi;var t=xi(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Ci=vi(),wi=`data-scroll-locked`,Ti=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
.${Xr} {
overflow: hidden ${r};
padding-right: ${s}px ${r};
}
body[${wi}] {
overflow: hidden ${r};
overscroll-behavior: contain;
${[t&&`position: relative ${r};`,n===`margin`&&`
padding-left: ${i}px;
padding-top: ${a}px;
padding-right: ${o}px;
margin-left:0;
margin-top:0;
margin-right: ${s}px ${r};
`,n===`padding`&&`padding-right: ${s}px ${r};`].filter(Boolean).join(``)}
}
.${Jr} {
right: ${s}px ${r};
}
.${Yr} {
margin-right: ${s}px ${r};
}
.${Jr} .${Jr} {
right: 0 ${r};
}
.${Yr} .${Yr} {
margin-right: 0 ${r};
}
body[${wi}] {
${Zr}: ${s}px;
}
`},Ei=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},Di=function(){r.useEffect(function(){return document.body.setAttribute(wi,(Ei()+1).toString()),function(){var e=Ei()-1;e<=0?document.body.removeAttribute(wi):document.body.setAttribute(wi,e.toString())}},[])},Oi=function(e){var t=e.noRelative,n=e.noImportant,i=e.gapMode,a=i===void 0?`margin`:i;Di();var o=r.useMemo(function(){return Si(a)},[a]);return r.createElement(Ci,{styles:Ti(o,!t,a,n?``:`!important`)})},ki=!1;if(typeof window<`u`)try{var Ai=Object.defineProperty({},`passive`,{get:function(){return ki=!0,!0}});window.addEventListener(`test`,Ai,Ai),window.removeEventListener(`test`,Ai,Ai)}catch{ki=!1}var ji=ki?{passive:!1}:!1,Mi=function(e){return e.tagName===`TEXTAREA`},Ni=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!Mi(e)&&n[t]===`visible`)},Pi=function(e){return Ni(e,`overflowY`)},Fi=function(e){return Ni(e,`overflowX`)},Ii=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),zi(e,r)){var i=Bi(e,r),a=i[1],o=i[2];if(a>o)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},Li=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},Ri=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},zi=function(e,t){return e===`v`?Pi(t):Fi(t)},Bi=function(e,t){return e===`v`?Li(t):Ri(t)},Vi=function(e,t){return e===`h`&&t===`rtl`?-1:1},Hi=function(e,t,n,r,i){var a=Vi(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=Bi(e,s),m=p[0],h=p[1],g=p[2],_=h-g-a*m;(m||_)&&zi(e,s)&&(d+=_,f+=m);var v=s.parentNode;s=v&&v.nodeType===Node.DOCUMENT_FRAGMENT_NODE?v.host:v}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},Ui=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Wi=function(e){return[e.deltaX,e.deltaY]},Gi=function(e){return e&&`current`in e?e.current:e},Ki=function(e,t){return e[0]===t[0]&&e[1]===t[1]},qi=function(e){return`
.block-interactivity-${e} {pointer-events: none;}
.allow-interactivity-${e} {pointer-events: all;}
`},Ji=0,Yi=[];function Xi(e){var t=r.useRef([]),n=r.useRef([0,0]),i=r.useRef(),a=r.useState(Ji++)[0],o=r.useState(vi)[0],s=r.useRef(e);r.useEffect(function(){s.current=e},[e]),r.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${a}`);var t=(0,f.__spreadArray)([e.lockRef.current],(e.shards||[]).map(Gi),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${a}`)}),function(){document.body.classList.remove(`block-interactivity-${a}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${a}`)})}}},[e.inert,e.lockRef.current,e.shards]);var c=r.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!s.current.allowPinchZoom;var r=Ui(e),a=n.current,o=`deltaX`in e?e.deltaX:a[0]-r[0],c=`deltaY`in e?e.deltaY:a[1]-r[1],l,u=e.target,d=Math.abs(o)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=Ii(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=Ii(d,u)),!m)return!1;if(!i.current&&`changedTouches`in e&&(o||c)&&(i.current=l),!l)return!0;var h=i.current||l;return Hi(h,t,e,h===`h`?o:c,!0)},[]),l=r.useCallback(function(e){var n=e;if(!(!Yi.length||Yi[Yi.length-1]!==o)){var r=`deltaY`in n?Wi(n):Ui(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&Ki(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var a=(s.current.shards||[]).map(Gi).filter(Boolean).filter(function(e){return e.contains(n.target)});(a.length>0?c(n,a[0]):!s.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),u=r.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:Zi(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),d=r.useCallback(function(e){n.current=Ui(e),i.current=void 0},[]),p=r.useCallback(function(t){u(t.type,Wi(t),t.target,c(t,e.lockRef.current))},[]),m=r.useCallback(function(t){u(t.type,Ui(t),t.target,c(t,e.lockRef.current))},[]);r.useEffect(function(){return Yi.push(o),e.setCallbacks({onScrollCapture:p,onWheelCapture:p,onTouchMoveCapture:m}),document.addEventListener(`wheel`,l,ji),document.addEventListener(`touchmove`,l,ji),document.addEventListener(`touchstart`,d,ji),function(){Yi=Yi.filter(function(e){return e!==o}),document.removeEventListener(`wheel`,l,ji),document.removeEventListener(`touchmove`,l,ji),document.removeEventListener(`touchstart`,d,ji)}},[]);var h=e.removeScrollBar,g=e.inert;return r.createElement(r.Fragment,null,g?r.createElement(o,{styles:qi(a)}):null,h?r.createElement(Oi,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Zi(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var Qi=si(ci,Xi),$i=r.forwardRef(function(e,t){return r.createElement(ui,(0,f.__assign)({},e,{ref:t,sideCar:Qi}))});$i.classNames=ui.classNames;var ea=$i,ta=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},na=new WeakMap,ra=new WeakMap,ia={},aa=0,oa=function(e){return e&&(e.host||oa(e.parentNode))},sa=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=oa(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},ca=function(e,t,n,r){var i=sa(t,Array.isArray(e)?e:[e]);ia[n]||(ia[n]=new WeakMap);var a=ia[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(na.get(e)||0)+1,l=(a.get(e)||0)+1;na.set(e,c),a.set(e,l),o.push(e),c===1&&i&&ra.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),aa++,function(){o.forEach(function(e){var t=na.get(e)-1,i=a.get(e)-1;na.set(e,t),a.set(e,i),t||(ra.has(e)||e.removeAttribute(r),ra.delete(e)),i||e.removeAttribute(n)}),aa--,aa||(na=new WeakMap,na=new WeakMap,ra=new WeakMap,ia={})}},la=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||ta(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),ca(r,i,n,`aria-hidden`)):function(){return null}},ua=`Dialog`,[da,fa]=Wn(ua),[pa,ma]=da(ua),ha=e=>{let{__scopeDialog:t,children:n,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=r.useRef(null),l=r.useRef(null),[u,f]=Zn({prop:i,defaultProp:a??!1,onChange:o,caller:ua});return(0,d.jsx)(pa,{scope:t,triggerRef:c,contentRef:l,contentId:Yn(),titleId:Yn(),descriptionId:Yn(),open:u,onOpenChange:f,onOpenToggle:r.useCallback(()=>f(e=>!e),[f]),modal:s,children:n})};ha.displayName=ua;var ga=`DialogTrigger`,_a=r.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=ma(ga,n),a=U(t,i.triggerRef);return(0,d.jsx)(K.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.contentId,"data-state":Ia(i.open),...r,ref:a,onClick:G(e.onClick,i.onOpenToggle)})});_a.displayName=ga;var va=`DialogPortal`,[ya,ba]=da(va,{forceMount:void 0}),xa=e=>{let{__scopeDialog:t,forceMount:n,children:i,container:a}=e,o=ma(va,t);return(0,d.jsx)(ya,{scope:t,forceMount:n,children:r.Children.map(i,e=>(0,d.jsx)(Vr,{present:n||o.open,children:(0,d.jsx)(zr,{asChild:!0,container:a,children:e})}))})};xa.displayName=va;var Sa=`DialogOverlay`,Ca=r.forwardRef((e,t)=>{let n=ba(Sa,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=ma(Sa,e.__scopeDialog);return a.modal?(0,d.jsx)(Vr,{present:r||a.open,children:(0,d.jsx)(Y,{...i,ref:t})}):null});Ca.displayName=Sa;var wa=tr(`DialogOverlay.RemoveScroll`),Y=r.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=ma(Sa,n);return(0,d.jsx)(ea,{as:wa,allowPinchZoom:!0,shards:[i.contentRef],children:(0,d.jsx)(K.div,{"data-state":Ia(i.open),...r,ref:t,style:{pointerEvents:`auto`,...r.style}})})}),Ta=`DialogContent`,Ea=r.forwardRef((e,t)=>{let n=ba(Ta,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=ma(Ta,e.__scopeDialog);return(0,d.jsx)(Vr,{present:r||a.open,children:a.modal?(0,d.jsx)(Da,{...i,ref:t}):(0,d.jsx)(Oa,{...i,ref:t})})});Ea.displayName=Ta;var Da=r.forwardRef((e,t)=>{let n=ma(Ta,e.__scopeDialog),i=r.useRef(null),a=U(t,n.contentRef,i);return r.useEffect(()=>{let e=i.current;if(e)return la(e)},[]),(0,d.jsx)(ka,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:G(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:G(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:G(e.onFocusOutside,e=>e.preventDefault())})}),Oa=r.forwardRef((e,t)=>{let n=ma(Ta,e.__scopeDialog),i=r.useRef(!1),a=r.useRef(!1);return(0,d.jsx)(ka,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(i.current||n.triggerRef.current?.focus(),t.preventDefault()),i.current=!1,a.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(i.current=!0,t.detail.originalEvent.type===`pointerdown`&&(a.current=!0));let r=t.target;n.triggerRef.current?.contains(r)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&a.current&&t.preventDefault()}})}),ka=r.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:o,...s}=e,c=ma(Ta,n),l=r.useRef(null),u=U(t,l);return Kr(),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Or,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:a,onUnmountAutoFocus:o,children:(0,d.jsx)(_r,{role:`dialog`,id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":Ia(c.open),...s,ref:u,onDismiss:()=>c.onOpenChange(!1)})}),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Ba,{titleId:c.titleId}),(0,d.jsx)(Ha,{contentRef:l,descriptionId:c.descriptionId})]})]})}),Aa=`DialogTitle`,ja=r.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=ma(Aa,n);return(0,d.jsx)(K.h2,{id:i.titleId,...r,ref:t})});ja.displayName=Aa;var Ma=`DialogDescription`,Na=r.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=ma(Ma,n);return(0,d.jsx)(K.p,{id:i.descriptionId,...r,ref:t})});Na.displayName=Ma;var Pa=`DialogClose`,Fa=r.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=ma(Pa,n);return(0,d.jsx)(K.button,{type:`button`,...r,ref:t,onClick:G(e.onClick,()=>i.onOpenChange(!1))})});Fa.displayName=Pa;function Ia(e){return e?`open`:`closed`}var La=`DialogTitleWarning`,[Ra,za]=Un(La,{contentName:Ta,titleName:Aa,docsSlug:`dialog`}),Ba=({titleId:e})=>{let t=za(La),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return r.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},Va=`DialogDescriptionWarning`,Ha=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${za(Va).contentName}}.`;return r.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},Ua=ha,Wa=_a,Ga=xa,Ka=Ca,qa=Ea,Ja=ja,Ya=Na,Xa=Fa;function Za({...e}){return(0,d.jsx)(Ua,{"data-slot":`dialog`,...e})}function Qa({...e}){return(0,d.jsx)(Wa,{"data-slot":`dialog-trigger`,...e})}function $a({...e}){let[t,n]=(0,r.useState)(null);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Ga,{"data-slot":`dialog-portal`,...e,container:t}),(0,d.jsx)(`div`,{ref:n,style:{display:`contents`}})]})}function eo({...e}){return(0,d.jsx)(Xa,{"data-slot":`dialog-close`,...e})}function to({className:e,...t}){return(0,d.jsx)(Ka,{"data-slot":`dialog-overlay`,className:H(`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/50`,e),...t})}function no({className:e,children:t,showCloseButton:n=!0,...r}){return(0,d.jsxs)($a,{"data-slot":`dialog-portal`,children:[(0,d.jsx)(to,{}),(0,d.jsxs)(qa,{"data-slot":`dialog-content`,className:H(`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 fixed left-[50%] top-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg`,e),...r,children:[t,n&&(0,d.jsxs)(Xa,{"data-slot":`dialog-close`,className:`ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground rounded-xs focus:outline-hidden absolute right-4 top-4 opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 disabled:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`,children:[(0,d.jsx)(a.XIcon,{}),(0,d.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]})}function ro({className:e,...t}){return(0,d.jsx)(`div`,{"data-slot":`dialog-header`,className:H(`flex flex-col gap-2 text-center sm:text-left`,e),...t})}function io({className:e,...t}){return(0,d.jsx)(`div`,{"data-slot":`dialog-footer`,className:H(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e),...t})}function ao({className:e,...t}){return(0,d.jsx)(Ja,{"data-slot":`dialog-title`,className:H(`text-lg font-semibold leading-none`,e),...t})}function oo({className:e,...t}){return(0,d.jsx)(Ya,{"data-slot":`dialog-description`,className:H(`text-muted-foreground text-sm`,e),...t})}function so(e){let t=e+`CollectionProvider`,[n,i]=Wn(t),[a,o]=n(t,{collectionRef:{current:null},itemMap:new Map}),s=e=>{let{scope:t,children:n}=e,i=r.default.useRef(null),o=r.default.useRef(new Map).current;return(0,d.jsx)(a,{scope:t,itemMap:o,collectionRef:i,children:n})};s.displayName=t;let c=e+`CollectionSlot`,l=tr(c),u=r.default.forwardRef((e,t)=>{let{scope:n,children:r}=e,i=o(c,n),a=U(t,i.collectionRef);return(0,d.jsx)(l,{ref:a,children:r})});u.displayName=c;let f=e+`CollectionItemSlot`,p=`data-radix-collection-item`,m=tr(f),h=r.default.forwardRef((e,t)=>{let{scope:n,children:i,...a}=e,s=r.default.useRef(null),c=U(t,s),l=o(f,n);return r.default.useEffect(()=>(l.itemMap.set(s,{ref:s,...a}),()=>void l.itemMap.delete(s))),(0,d.jsx)(m,{[p]:``,ref:c,children:i})});h.displayName=f;function g(t){let n=o(e+`CollectionConsumer`,t);return r.default.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${p}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return[{Provider:s,Slot:u,ItemSlot:h},g,i]}var co=r.createContext(void 0);function lo(e){let t=r.useContext(co);return e||t||`ltr`}var uo=[`top`,`right`,`bottom`,`left`],fo=Math.min,po=Math.max,mo=Math.round,ho=Math.floor,go=e=>({x:e,y:e}),_o={left:`right`,right:`left`,bottom:`top`,top:`bottom`},vo={start:`end`,end:`start`};function yo(e,t,n){return po(e,fo(t,n))}function bo(e,t){return typeof e==`function`?e(t):e}function xo(e){return e.split(`-`)[0]}function So(e){return e.split(`-`)[1]}function Co(e){return e===`x`?`y`:`x`}function wo(e){return e===`y`?`height`:`width`}var To=new Set([`top`,`bottom`]);function Eo(e){return To.has(xo(e))?`y`:`x`}function Do(e){return Co(Eo(e))}function Oo(e,t,n){n===void 0&&(n=!1);let r=So(e),i=Do(e),a=wo(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Lo(o)),[o,Lo(o)]}function ko(e){let t=Lo(e);return[Ao(e),t,Ao(t)]}function Ao(e){return e.replace(/start|end/g,e=>vo[e])}var jo=[`left`,`right`],Mo=[`right`,`left`],No=[`top`,`bottom`],Po=[`bottom`,`top`];function Fo(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Mo:jo:t?jo:Mo;case`left`:case`right`:return t?No:Po;default:return[]}}function Io(e,t,n,r){let i=So(e),a=Fo(xo(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Ao)))),a}function Lo(e){return e.replace(/left|right|bottom|top/g,e=>_o[e])}function Ro(e){return{top:0,right:0,bottom:0,left:0,...e}}function zo(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Ro(e)}function Bo(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function Vo(e,t,n){let{reference:r,floating:i}=e,a=Eo(t),o=Do(t),s=wo(o),c=xo(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(So(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function Ho(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=bo(t,e),p=zo(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Bo(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=Bo(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var Uo=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=a.filter(Boolean),c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Vo(l,r,c),f=r,p={},m=0;for(let n=0;n<s.length;n++){let{name:a,fn:h}=s[n],{x:g,y:_,data:v,reset:y}=await h({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:p,rects:l,platform:{...o,detectOverflow:o.detectOverflow??Ho},elements:{reference:e,floating:t}});u=g??u,d=_??d,p={...p,[a]:{...p[a],...v}},y&&m<=50&&(m++,typeof y==`object`&&(y.placement&&(f=y.placement),y.rects&&(l=y.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):y.rects),{x:u,y:d}=Vo(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:p}},Wo=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=bo(e,t)||{};if(l==null)return{};let d=zo(u),f={x:n,y:r},p=Do(i),m=wo(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=fo(d[_],T),D=fo(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=yo(O,A,k),M=!c.arrow&&So(i)!=null&&A!==j&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,N=M?A<O?A-O:A-k:0;return{[p]:f[p]+N,data:{[p]:j,centerOffset:A-j-N,...M&&{alignmentOffset:N}},reset:M}}}),Go=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=bo(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=xo(r),_=Eo(o),v=xo(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Lo(o)]:ko(o)),x=p!==`none`;!d&&x&&b.push(...Io(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=Oo(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==Eo(t))||T.every(e=>Eo(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=Eo(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function Ko(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function qo(e){return uo.some(t=>e[t]>=0)}var X=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=bo(e,t);switch(i){case`referenceHidden`:{let e=await r.detectOverflow(t,{...a,elementContext:`reference`}),i=Ko(e,n.reference);return{data:{referenceHiddenOffsets:i,referenceHidden:qo(i)}}}case`escaped`:{let e=await r.detectOverflow(t,{...a,altBoundary:!0}),i=Ko(e,n.floating);return{data:{escapedOffsets:i,escaped:qo(i)}}}default:return{}}}}},Jo=new Set([`left`,`top`]);async function Yo(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=xo(n),s=So(n),c=Eo(n)===`y`,l=Jo.has(o)?-1:1,u=a&&c?-1:1,d=bo(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var Xo=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Yo(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Zo=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=bo(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=Eo(xo(i)),p=Co(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=yo(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=yo(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},Qo=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=bo(e,t),u={x:n,y:r},d=Eo(i),f=Co(d),p=u[f],m=u[d],h=bo(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=Jo.has(xo(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},$o=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=bo(e,t),u=await o.detectOverflow(t,l),d=xo(i),f=So(i),p=Eo(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=fo(h-u[g],v),x=fo(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=po(u.left,0),t=po(u.right,0),n=po(u.top,0),r=po(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:po(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:po(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function es(){return typeof window<`u`}function ts(e){return os(e)?(e.nodeName||``).toLowerCase():`#document`}function ns(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function rs(e){return((os(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function os(e){return es()?e instanceof Node||e instanceof ns(e).Node:!1}function ss(e){return es()?e instanceof Element||e instanceof ns(e).Element:!1}function cs(e){return es()?e instanceof HTMLElement||e instanceof ns(e).HTMLElement:!1}function ls(e){return!es()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof ns(e).ShadowRoot}var us=new Set([`inline`,`contents`]);function ds(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=ws(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!us.has(i)}var fs=new Set([`table`,`td`,`th`]);function ps(e){return fs.has(ts(e))}var ms=[`:popover-open`,`:modal`];function hs(e){return ms.some(t=>{try{return e.matches(t)}catch{return!1}})}var gs=[`transform`,`translate`,`scale`,`rotate`,`perspective`],_s=[`transform`,`translate`,`scale`,`rotate`,`perspective`,`filter`],vs=[`paint`,`layout`,`strict`,`content`];function ys(e){let t=xs(),n=ss(e)?ws(e):e;return gs.some(e=>n[e]?n[e]!==`none`:!1)||(n.containerType?n.containerType!==`normal`:!1)||!t&&(n.backdropFilter?n.backdropFilter!==`none`:!1)||!t&&(n.filter?n.filter!==`none`:!1)||_s.some(e=>(n.willChange||``).includes(e))||vs.some(e=>(n.contain||``).includes(e))}function bs(e){let t=Es(e);for(;cs(t)&&!Cs(t);){if(ys(t))return t;if(hs(t))return null;t=Es(t)}return null}function xs(){return typeof CSS>`u`||!CSS.supports?!1:CSS.supports(`-webkit-backdrop-filter`,`none`)}var Ss=new Set([`html`,`body`,`#document`]);function Cs(e){return Ss.has(ts(e))}function ws(e){return ns(e).getComputedStyle(e)}function Ts(e){return ss(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Es(e){if(ts(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||ls(e)&&e.host||rs(e);return ls(t)?t.host:t}function Ds(e){let t=Es(e);return Cs(t)?e.ownerDocument?e.ownerDocument.body:e.body:cs(t)&&ds(t)?t:Ds(t)}function Os(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Ds(e),i=r===e.ownerDocument?.body,a=ns(r);if(i){let e=ks(a);return t.concat(a,a.visualViewport||[],ds(r)?r:[],e&&n?Os(e):[])}return t.concat(r,Os(r,[],n))}function ks(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function As(e){let t=ws(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=cs(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=mo(n)!==a||mo(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function js(e){return ss(e)?e:e.contextElement}function Ms(e){let t=js(e);if(!cs(t))return go(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=As(t),o=(a?mo(n.width):n.width)/r,s=(a?mo(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Ns=go(0);function Ps(e){let t=ns(e);return!xs()||!t.visualViewport?Ns:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Fs(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==ns(e)?!1:t}function Is(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=js(e),o=go(1);t&&(r?ss(r)&&(o=Ms(r)):o=Ms(e));let s=Fs(a,n,r)?Ps(a):go(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=ns(a),t=r&&ss(r)?ns(r):r,n=e,i=ks(n);for(;i&&r&&t!==n;){let e=Ms(i),t=i.getBoundingClientRect(),r=ws(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=ns(i),i=ks(n)}}return Bo({width:u,height:d,x:c,y:l})}function Ls(e,t){let n=Ts(e).scrollLeft;return t?t.left+n:Is(rs(e)).left+n}function Rs(e,t){let n=e.getBoundingClientRect(),r=n.left+t.scrollLeft-Ls(e,n),i=n.top+t.scrollTop;return{x:r,y:i}}function zs(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=rs(r),s=t?hs(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=go(1),u=go(0),d=cs(r);if((d||!d&&!a)&&((ts(r)!==`body`||ds(o))&&(c=Ts(r)),cs(r))){let e=Is(r);l=Ms(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Rs(o,c):go(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Bs(e){return Array.from(e.getClientRects())}function Vs(e){let t=rs(e),n=Ts(e),r=e.ownerDocument.body,i=po(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=po(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+Ls(e),s=-n.scrollTop;return ws(r).direction===`rtl`&&(o+=po(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var Hs=25;function Us(e,t){let n=ns(e),r=rs(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=xs();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=Ls(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=Hs&&(a-=o)}else l<=Hs&&(a+=l);return{width:a,height:o,x:s,y:c}}var Ws=new Set([`absolute`,`fixed`]);function Gs(e,t){let n=Is(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=cs(e)?Ms(e):go(1),o=e.clientWidth*a.x,s=e.clientHeight*a.y,c=i*a.x,l=r*a.y;return{width:o,height:s,x:c,y:l}}function Ks(e,t,n){let r;if(t===`viewport`)r=Us(e,n);else if(t===`document`)r=Vs(rs(e));else if(ss(t))r=Gs(t,n);else{let n=Ps(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Bo(r)}function qs(e,t){let n=Es(e);return n===t||!ss(n)||Cs(n)?!1:ws(n).position===`fixed`||qs(n,t)}function Js(e,t){let n=t.get(e);if(n)return n;let r=Os(e,[],!1).filter(e=>ss(e)&&ts(e)!==`body`),i=null,a=ws(e).position===`fixed`,o=a?Es(e):e;for(;ss(o)&&!Cs(o);){let t=ws(o),n=ys(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&Ws.has(i.position)||ds(o)&&!n&&qs(e,o))?r=r.filter(e=>e!==o):i=t,o=Es(o)}return t.set(e,r),r}function Ys(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?hs(t)?[]:Js(t,this._c):[].concat(n),r],o=a[0],s=a.reduce((e,n)=>{let r=Ks(t,n,i);return e.top=po(r.top,e.top),e.right=fo(r.right,e.right),e.bottom=fo(r.bottom,e.bottom),e.left=po(r.left,e.left),e},Ks(t,o,i));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}}function Xs(e){let{width:t,height:n}=As(e);return{width:t,height:n}}function Zs(e,t,n){let r=cs(t),i=rs(t),a=n===`fixed`,o=Is(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=go(0);function l(){c.x=Ls(i)}if(r||!r&&!a)if((ts(t)!==`body`||ds(i))&&(s=Ts(t)),r){let e=Is(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?Rs(i,s):go(0),d=o.left+s.scrollLeft-c.x-u.x,f=o.top+s.scrollTop-c.y-u.y;return{x:d,y:f,width:o.width,height:o.height}}function Qs(e){return ws(e).position===`static`}function $s(e,t){if(!cs(e)||ws(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return rs(e)===n&&(n=n.ownerDocument.body),n}function ec(e,t){let n=ns(e);if(hs(e))return n;if(!cs(e)){let t=Es(e);for(;t&&!Cs(t);){if(ss(t)&&!Qs(t))return t;t=Es(t)}return n}let r=$s(e,t);for(;r&&ps(r)&&Qs(r);)r=$s(r,t);return r&&Cs(r)&&Qs(r)&&!ys(r)?n:r||bs(e)||n}var tc=async function(e){let t=this.getOffsetParent||ec,n=this.getDimensions,r=await n(e.floating);return{reference:Zs(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function nc(e){return ws(e).direction===`rtl`}var rc={convertOffsetParentRelativeRectToViewportRelativeRect:zs,getDocumentElement:rs,getClippingRect:Ys,getOffsetParent:ec,getElementRects:tc,getClientRects:Bs,getDimensions:Xs,getScale:Ms,isElement:ss,isRTL:nc};function ic(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function ac(e,t){let n=null,r,i=rs(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=ho(d),h=ho(i.clientWidth-(u+f)),g=ho(i.clientHeight-(d+p)),_=ho(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:po(0,fo(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!ic(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function oc(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=js(e),u=i||a?[...l?Os(l):[],...Os(t)]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?ac(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),p.observe(t));let m,h=c?Is(e):null;c&&g();function g(){let t=Is(e);h&&!ic(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var sc=Xo,cc=Zo,lc=Go,uc=$o,dc=X,fc=Wo,pc=Qo,mc=(e,t,n)=>{let r=new Map,i={platform:rc,...n},a={...i.platform,_c:r};return Uo(e,t,{...i,platform:a})},hc=typeof document<`u`?r.useLayoutEffect:function(){};function gc(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,i;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(!gc(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!gc(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function _c(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function vc(e,t){let n=_c(e);return Math.round(t*n)/n}function yc(e){let t=r.useRef(e);return hc(()=>{t.current=e}),t}function bc(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:a=[],platform:o,elements:{reference:s,floating:c}={},transform:l=!0,whileElementsMounted:u,open:d}=e,[f,p]=r.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[m,h]=r.useState(a);gc(m,a)||h(a);let[g,_]=r.useState(null),[v,y]=r.useState(null),b=r.useCallback(e=>{e!==w.current&&(w.current=e,_(e))},[]),x=r.useCallback(e=>{e!==T.current&&(T.current=e,y(e))},[]),S=s||g,C=c||v,w=r.useRef(null),T=r.useRef(null),E=r.useRef(f),D=u!=null,O=yc(u),k=yc(o),A=yc(d),j=r.useCallback(()=>{if(!w.current||!T.current)return;let e={placement:t,strategy:n,middleware:m};k.current&&(e.platform=k.current),mc(w.current,T.current,e).then(e=>{let t={...e,isPositioned:A.current!==!1};M.current&&!gc(E.current,t)&&(E.current=t,i.flushSync(()=>{p(t)}))})},[m,t,n,k,A]);hc(()=>{d===!1&&E.current.isPositioned&&(E.current.isPositioned=!1,p(e=>({...e,isPositioned:!1})))},[d]);let M=r.useRef(!1);hc(()=>(M.current=!0,()=>{M.current=!1}),[]),hc(()=>{if(S&&(w.current=S),C&&(T.current=C),S&&C){if(O.current)return O.current(S,C,j);j()}},[S,C,j,O,D]);let N=r.useMemo(()=>({reference:w,floating:T,setReference:b,setFloating:x}),[b,x]),P=r.useMemo(()=>({reference:S,floating:C}),[S,C]),F=r.useMemo(()=>{let e={position:n,left:0,top:0};if(!P.floating)return e;let t=vc(P.floating,f.x),r=vc(P.floating,f.y);return l?{...e,transform:`translate(`+t+`px, `+r+`px)`,..._c(P.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,l,P.floating,f.x,f.y]);return r.useMemo(()=>({...f,update:j,refs:N,elements:P,floatingStyles:F}),[f,j,N,P,F])}var xc=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:fc({element:r.current,padding:i}).fn(n):r?fc({element:r,padding:i}).fn(n):{}}}},Sc=(e,t)=>({...sc(e),options:[e,t]}),Cc=(e,t)=>({...cc(e),options:[e,t]}),wc=(e,t)=>({...pc(e),options:[e,t]}),Tc=(e,t)=>({...lc(e),options:[e,t]}),Ec=(e,t)=>({...uc(e),options:[e,t]}),Dc=(e,t)=>({...dc(e),options:[e,t]}),Oc=(e,t)=>({...xc(e),options:[e,t]}),kc=`Arrow`,Ac=r.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...a}=e;return(0,d.jsx)(K.svg,{...a,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,d.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});Ac.displayName=kc;var jc=Ac;function Mc(e){let[t,n]=r.useState(void 0);return Kn(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var Nc=`Popper`,[Pc,Fc]=Wn(Nc),[Ic,Lc]=Pc(Nc),Rc=e=>{let{__scopePopper:t,children:n}=e,[i,a]=r.useState(null);return(0,d.jsx)(Ic,{scope:t,anchor:i,onAnchorChange:a,children:n})};Rc.displayName=Nc;var zc=`PopperAnchor`,Bc=r.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:i,...a}=e,o=Lc(zc,n),s=r.useRef(null),c=U(t,s),l=r.useRef(null);return r.useEffect(()=>{let e=l.current;l.current=i?.current||s.current,e!==l.current&&o.onAnchorChange(l.current)}),i?null:(0,d.jsx)(K.div,{...a,ref:c})});Bc.displayName=zc;var Vc=`PopperContent`,[Hc,Uc]=Pc(Vc),Wc=r.forwardRef((e,t)=>{let{__scopePopper:n,side:i=`bottom`,sideOffset:a=0,align:o=`center`,alignOffset:s=0,arrowPadding:c=0,avoidCollisions:l=!0,collisionBoundary:u=[],collisionPadding:f=0,sticky:p=`partial`,hideWhenDetached:m=!1,updatePositionStrategy:h=`optimized`,onPlaced:g,..._}=e,v=Lc(Vc,n),[y,b]=r.useState(null),x=U(t,e=>b(e)),[S,C]=r.useState(null),w=Mc(S),T=w?.width??0,E=w?.height??0,D=i+(o===`center`?``:`-`+o),O=typeof f==`number`?f:{top:0,right:0,bottom:0,left:0,...f},k=Array.isArray(u)?u:[u],A=k.length>0,j={padding:O,boundary:k.filter(Jc),altBoundary:A},{refs:M,floatingStyles:N,placement:P,isPositioned:F,middlewareData:I}=bc({strategy:`fixed`,placement:D,whileElementsMounted:(...e)=>oc(...e,{animationFrame:h===`always`}),elements:{reference:v.anchor},middleware:[Sc({mainAxis:a+E,alignmentAxis:s}),l&&Cc({mainAxis:!0,crossAxis:!1,limiter:p===`partial`?wc():void 0,...j}),l&&Tc({...j}),Ec({...j,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),S&&Oc({element:S,padding:c}),Yc({arrowWidth:T,arrowHeight:E}),m&&Dc({strategy:`referenceHidden`,...j})]}),[L,ee]=Xc(P),te=lr(g);Kn(()=>{F&&te?.()},[F,te]);let R=I.arrow?.x,ne=I.arrow?.y,re=I.arrow?.centerOffset!==0,[ie,ae]=r.useState();return Kn(()=>{y&&ae(window.getComputedStyle(y).zIndex)},[y]),(0,d.jsx)(`div`,{ref:M.setFloating,"data-radix-popper-content-wrapper":``,style:{...N,transform:F?N.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:ie,"--radix-popper-transform-origin":[I.transformOrigin?.x,I.transformOrigin?.y].join(` `),...I.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,d.jsx)(Hc,{scope:n,placedSide:L,onArrowChange:C,arrowX:R,arrowY:ne,shouldHideArrow:re,children:(0,d.jsx)(K.div,{"data-side":L,"data-align":ee,..._,ref:x,style:{..._.style,animation:F?void 0:`none`}})})})});Wc.displayName=Vc;var Gc=`PopperArrow`,Kc={top:`bottom`,right:`left`,bottom:`top`,left:`right`},qc=r.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=Uc(Gc,n),a=Kc[i.placedSide];return(0,d.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]: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:(0,d.jsx)(jc,{...r,ref:t,style:{...r.style,display:`block`}})})});qc.displayName=Gc;function Jc(e){return e!==null}var Yc=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=Xc(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function Xc(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var Zc=Rc,Qc=Bc,$c=Wc,el=qc,tl=`rovingFocusGroup.onEntryFocus`,nl={bubbles:!1,cancelable:!0},rl=`RovingFocusGroup`,[il,al,ol]=so(rl),[sl,cl]=Wn(rl,[ol]),[ll,ul]=sl(rl),dl=r.forwardRef((e,t)=>(0,d.jsx)(il.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,d.jsx)(il.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,d.jsx)(fl,{...e,ref:t})})}));dl.displayName=rl;var fl=r.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:i,loop:a=!1,dir:o,currentTabStopId:s,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:l,onEntryFocus:u,preventScrollOnEntryFocus:f=!1,...p}=e,m=r.useRef(null),h=U(t,m),g=lo(o),[_,v]=Zn({prop:s,defaultProp:c??null,onChange:l,caller:rl}),[y,b]=r.useState(!1),x=lr(u),S=al(n),C=r.useRef(!1),[w,T]=r.useState(0);return r.useEffect(()=>{let e=m.current;if(e)return e.addEventListener(tl,x),()=>e.removeEventListener(tl,x)},[x]),(0,d.jsx)(ll,{scope:n,orientation:i,dir:g,loop:a,currentTabStopId:_,onItemFocus:r.useCallback(e=>v(e),[v]),onItemShiftTab:r.useCallback(()=>b(!0),[]),onFocusableItemAdd:r.useCallback(()=>T(e=>e+1),[]),onFocusableItemRemove:r.useCallback(()=>T(e=>e-1),[]),children:(0,d.jsx)(K.div,{tabIndex:y||w===0?-1:0,"data-orientation":i,...p,ref:h,style:{outline:`none`,...e.style},onMouseDown:G(e.onMouseDown,()=>{C.current=!0}),onFocus:G(e.onFocus,e=>{let t=!C.current;if(e.target===e.currentTarget&&t&&!y){let t=new CustomEvent(tl,nl);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=S().filter(e=>e.focusable),t=e.find(e=>e.active),n=e.find(e=>e.id===_),r=[t,n,...e].filter(Boolean).map(e=>e.ref.current);vl(r,f)}}C.current=!1}),onBlur:G(e.onBlur,()=>b(!1))})})}),pl=`RovingFocusGroupItem`,ml=r.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:i=!0,active:a=!1,tabStopId:o,children:s,...c}=e,l=Yn(),u=o||l,f=ul(pl,n),p=f.currentTabStopId===u,m=al(n),{onFocusableItemAdd:h,onFocusableItemRemove:g,currentTabStopId:_}=f;return r.useEffect(()=>{if(i)return h(),()=>g()},[i,h,g]),(0,d.jsx)(il.ItemSlot,{scope:n,id:u,focusable:i,active:a,children:(0,d.jsx)(K.span,{tabIndex:p?0:-1,"data-orientation":f.orientation,...c,ref:t,onMouseDown:G(e.onMouseDown,e=>{i?f.onItemFocus(u):e.preventDefault()}),onFocus:G(e.onFocus,()=>f.onItemFocus(u)),onKeyDown:G(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){f.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=_l(e,f.orientation,f.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=m().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=f.loop?yl(n,r+1):n.slice(r+1)}setTimeout(()=>vl(n))}}),children:typeof s==`function`?s({isCurrentTabStop:p,hasTabStop:_!=null}):s})})});ml.displayName=pl;var hl={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function gl(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function _l(e,t,n){let r=gl(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return hl[r]}function vl(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function yl(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var bl=dl,xl=ml,Sl=[`Enter`,` `],Cl=[`ArrowDown`,`PageUp`,`Home`],wl=[`ArrowUp`,`PageDown`,`End`],Tl=[...Cl,...wl],El={ltr:[...Sl,`ArrowRight`],rtl:[...Sl,`ArrowLeft`]},Dl={ltr:[`ArrowLeft`],rtl:[`ArrowRight`]},Ol=`Menu`,[kl,Al,jl]=so(Ol),[Ml,Nl]=Wn(Ol,[jl,Fc,cl]),Pl=Fc(),Fl=cl(),[Il,Ll]=Ml(Ol),[Rl,zl]=Ml(Ol),Bl=e=>{let{__scopeMenu:t,open:n=!1,children:i,dir:a,onOpenChange:o,modal:s=!0}=e,c=Pl(t),[l,u]=r.useState(null),f=r.useRef(!1),p=lr(o),m=lo(a);return r.useEffect(()=>{let e=()=>{f.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},t=()=>f.current=!1;return document.addEventListener(`keydown`,e,{capture:!0}),()=>{document.removeEventListener(`keydown`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,{capture:!0}),document.removeEventListener(`pointermove`,t,{capture:!0})}},[]),(0,d.jsx)(Zc,{...c,children:(0,d.jsx)(Il,{scope:t,open:n,onOpenChange:p,content:l,onContentChange:u,children:(0,d.jsx)(Rl,{scope:t,onClose:r.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:f,dir:m,modal:s,children:i})})})};Bl.displayName=Ol;var Vl=`MenuAnchor`,Hl=r.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=Pl(n);return(0,d.jsx)(Qc,{...i,...r,ref:t})});Hl.displayName=Vl;var Ul=`MenuPortal`,[Wl,Gl]=Ml(Ul,{forceMount:void 0}),Kl=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=Ll(Ul,t);return(0,d.jsx)(Wl,{scope:t,forceMount:n,children:(0,d.jsx)(Vr,{present:n||a.open,children:(0,d.jsx)(zr,{asChild:!0,container:i,children:r})})})};Kl.displayName=Ul;var ql=`MenuContent`,[Jl,Yl]=Ml(ql),Xl=r.forwardRef((e,t)=>{let n=Gl(ql,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=Ll(ql,e.__scopeMenu),o=zl(ql,e.__scopeMenu);return(0,d.jsx)(kl.Provider,{scope:e.__scopeMenu,children:(0,d.jsx)(Vr,{present:r||a.open,children:(0,d.jsx)(kl.Slot,{scope:e.__scopeMenu,children:o.modal?(0,d.jsx)(Zl,{...i,ref:t}):(0,d.jsx)(Ql,{...i,ref:t})})})})}),Zl=r.forwardRef((e,t)=>{let n=Ll(ql,e.__scopeMenu),i=r.useRef(null),a=U(t,i);return r.useEffect(()=>{let e=i.current;if(e)return la(e)},[]),(0,d.jsx)(eu,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:G(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),Ql=r.forwardRef((e,t)=>{let n=Ll(ql,e.__scopeMenu);return(0,d.jsx)(eu,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),$l=tr(`MenuContent.ScrollLock`),eu=r.forwardRef((e,t)=>{let{__scopeMenu:n,loop:i=!1,trapFocus:a,onOpenAutoFocus:o,onCloseAutoFocus:s,disableOutsidePointerEvents:c,onEntryFocus:l,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:p,onInteractOutside:m,onDismiss:h,disableOutsideScroll:g,..._}=e,v=Ll(ql,n),y=zl(ql,n),b=Pl(n),x=Fl(n),S=Al(n),[C,w]=r.useState(null),T=r.useRef(null),E=U(t,T,v.onContentChange),D=r.useRef(0),O=r.useRef(``),k=r.useRef(0),A=r.useRef(null),j=r.useRef(`right`),M=r.useRef(0),N=g?ea:r.Fragment,P=g?{as:$l,allowPinchZoom:!0}:void 0,F=e=>{let t=O.current+e,n=S().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=n.map(e=>e.textValue),o=Lu(a,t,i),s=n.find(e=>e.textValue===o)?.ref.current;(function e(t){O.current=t,window.clearTimeout(D.current),t!==``&&(D.current=window.setTimeout(()=>e(``),1e3))})(t),s&&setTimeout(()=>s.focus())};r.useEffect(()=>()=>window.clearTimeout(D.current),[]),Kr();let I=r.useCallback(e=>j.current===A.current?.side&&zu(e,A.current?.area),[]);return(0,d.jsx)(Jl,{scope:n,searchRef:O,onItemEnter:r.useCallback(e=>{I(e)&&e.preventDefault()},[I]),onItemLeave:r.useCallback(e=>{I(e)||(T.current?.focus(),w(null))},[I]),onTriggerLeave:r.useCallback(e=>{I(e)&&e.preventDefault()},[I]),pointerGraceTimerRef:k,onPointerGraceIntentChange:r.useCallback(e=>{A.current=e},[]),children:(0,d.jsx)(N,{...P,children:(0,d.jsx)(Or,{asChild:!0,trapped:a,onMountAutoFocus:G(o,e=>{e.preventDefault(),T.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:s,children:(0,d.jsx)(_r,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:p,onInteractOutside:m,onDismiss:h,children:(0,d.jsx)(bl,{asChild:!0,...x,dir:y.dir,orientation:`vertical`,loop:i,currentTabStopId:C,onCurrentTabStopIdChange:w,onEntryFocus:G(l,e=>{y.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,d.jsx)($c,{role:`menu`,"aria-orientation":`vertical`,"data-state":Mu(v.open),"data-radix-menu-content":``,dir:y.dir,...b,..._,ref:E,style:{outline:`none`,..._.style},onKeyDown:G(_.onKeyDown,e=>{let t=e.target.closest(`[data-radix-menu-content]`)===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=e.key.length===1;t&&(e.key===`Tab`&&e.preventDefault(),!n&&r&&F(e.key));let i=T.current;if(e.target!==i||!Tl.includes(e.key))return;e.preventDefault();let a=S().filter(e=>!e.disabled).map(e=>e.ref.current);wl.includes(e.key)&&a.reverse(),Fu(a)}),onBlur:G(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(D.current),O.current=``)}),onPointerMove:G(e.onPointerMove,Bu(e=>{let t=e.target,n=M.current!==e.clientX;e.currentTarget.contains(t)&&n&&(j.current=e.clientX>M.current?`right`:`left`,M.current=e.clientX)}))})})})})})})});Xl.displayName=ql;var tu=`MenuGroup`,nu=r.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,d.jsx)(K.div,{role:`group`,...r,ref:t})});nu.displayName=tu;var ru=`MenuLabel`,iu=r.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,d.jsx)(K.div,{...r,ref:t})});iu.displayName=ru;var au=`MenuItem`,ou=`menu.itemSelect`,su=r.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:i,...a}=e,o=r.useRef(null),s=zl(au,e.__scopeMenu),c=Yl(au,e.__scopeMenu),l=U(t,o),u=r.useRef(!1),f=()=>{let e=o.current;if(!n&&e){let t=new CustomEvent(ou,{bubbles:!0,cancelable:!0});e.addEventListener(ou,e=>i?.(e),{once:!0}),cr(e,t),t.defaultPrevented?u.current=!1:s.onClose()}};return(0,d.jsx)(cu,{...a,ref:l,disabled:n,onClick:G(e.onClick,f),onPointerDown:t=>{e.onPointerDown?.(t),u.current=!0},onPointerUp:G(e.onPointerUp,e=>{u.current||e.currentTarget?.click()}),onKeyDown:G(e.onKeyDown,e=>{let t=c.searchRef.current!==``;n||t&&e.key===` `||Sl.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});su.displayName=au;var cu=r.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:i=!1,textValue:a,...o}=e,s=Yl(au,n),c=Fl(n),l=r.useRef(null),u=U(t,l),[f,p]=r.useState(!1),[m,h]=r.useState(``);return r.useEffect(()=>{let e=l.current;e&&h((e.textContent??``).trim())},[o.children]),(0,d.jsx)(kl.ItemSlot,{scope:n,disabled:i,textValue:a??m,children:(0,d.jsx)(xl,{asChild:!0,...c,focusable:!i,children:(0,d.jsx)(K.div,{role:`menuitem`,"data-highlighted":f?``:void 0,"aria-disabled":i||void 0,"data-disabled":i?``:void 0,...o,ref:u,onPointerMove:G(e.onPointerMove,Bu(e=>{i?s.onItemLeave(e):(s.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:G(e.onPointerLeave,Bu(e=>s.onItemLeave(e))),onFocus:G(e.onFocus,()=>p(!0)),onBlur:G(e.onBlur,()=>p(!1))})})})}),lu=`MenuCheckboxItem`,uu=r.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...i}=e;return(0,d.jsx)(_u,{scope:e.__scopeMenu,checked:n,children:(0,d.jsx)(su,{role:`menuitemcheckbox`,"aria-checked":Nu(n)?`mixed`:n,...i,ref:t,"data-state":Pu(n),onSelect:G(i.onSelect,()=>r?.(Nu(n)?!0:!n),{checkForDefaultPrevented:!1})})})});uu.displayName=lu;var du=`MenuRadioGroup`,[fu,Z]=Ml(du,{value:void 0,onValueChange:()=>{}}),pu=r.forwardRef((e,t)=>{let{value:n,onValueChange:r,...i}=e,a=lr(r);return(0,d.jsx)(fu,{scope:e.__scopeMenu,value:n,onValueChange:a,children:(0,d.jsx)(nu,{...i,ref:t})})});pu.displayName=du;var mu=`MenuRadioItem`,hu=r.forwardRef((e,t)=>{let{value:n,...r}=e,i=Z(mu,e.__scopeMenu),a=n===i.value;return(0,d.jsx)(_u,{scope:e.__scopeMenu,checked:a,children:(0,d.jsx)(su,{role:`menuitemradio`,"aria-checked":a,...r,ref:t,"data-state":Pu(a),onSelect:G(r.onSelect,()=>i.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});hu.displayName=mu;var gu=`MenuItemIndicator`,[_u,vu]=Ml(gu,{checked:!1}),yu=r.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:r,...i}=e,a=vu(gu,n);return(0,d.jsx)(Vr,{present:r||Nu(a.checked)||a.checked===!0,children:(0,d.jsx)(K.span,{...i,ref:t,"data-state":Pu(a.checked)})})});yu.displayName=gu;var bu=`MenuSeparator`,xu=r.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,d.jsx)(K.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})});xu.displayName=bu;var Su=`MenuArrow`,Cu=r.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=Pl(n);return(0,d.jsx)(el,{...i,...r,ref:t})});Cu.displayName=Su;var wu=`MenuSub`,[Tu,Eu]=Ml(wu),Du=e=>{let{__scopeMenu:t,children:n,open:i=!1,onOpenChange:a}=e,o=Ll(wu,t),s=Pl(t),[c,l]=r.useState(null),[u,f]=r.useState(null),p=lr(a);return r.useEffect(()=>(o.open===!1&&p(!1),()=>p(!1)),[o.open,p]),(0,d.jsx)(Zc,{...s,children:(0,d.jsx)(Il,{scope:t,open:i,onOpenChange:p,content:u,onContentChange:f,children:(0,d.jsx)(Tu,{scope:t,contentId:Yn(),triggerId:Yn(),trigger:c,onTriggerChange:l,children:n})})})};Du.displayName=wu;var Ou=`MenuSubTrigger`,ku=r.forwardRef((e,t)=>{let n=Ll(Ou,e.__scopeMenu),i=zl(Ou,e.__scopeMenu),a=Eu(Ou,e.__scopeMenu),o=Yl(Ou,e.__scopeMenu),s=r.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:l}=o,u={__scopeMenu:e.__scopeMenu},f=r.useCallback(()=>{s.current&&window.clearTimeout(s.current),s.current=null},[]);return r.useEffect(()=>f,[f]),r.useEffect(()=>{let e=c.current;return()=>{window.clearTimeout(e),l(null)}},[c,l]),(0,d.jsx)(Hl,{asChild:!0,...u,children:(0,d.jsx)(cu,{id:a.triggerId,"aria-haspopup":`menu`,"aria-expanded":n.open,"aria-controls":a.contentId,"data-state":Mu(n.open),...e,ref:kn(t,a.onTriggerChange),onClick:t=>{e.onClick?.(t),!(e.disabled||t.defaultPrevented)&&(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:G(e.onPointerMove,Bu(t=>{o.onItemEnter(t),!t.defaultPrevented&&!e.disabled&&!n.open&&!s.current&&(o.onPointerGraceIntentChange(null),s.current=window.setTimeout(()=>{n.onOpenChange(!0),f()},100))})),onPointerLeave:G(e.onPointerLeave,Bu(e=>{f();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,i=r===`right`,a=i?-5:5,s=t[i?`left`:`right`],l=t[i?`right`:`left`];o.onPointerGraceIntentChange({area:[{x:e.clientX+a,y:e.clientY},{x:s,y:t.top},{x:l,y:t.top},{x:l,y:t.bottom},{x:s,y:t.bottom}],side:r}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.onPointerGraceIntentChange(null),300)}else{if(o.onTriggerLeave(e),e.defaultPrevented)return;o.onPointerGraceIntentChange(null)}})),onKeyDown:G(e.onKeyDown,t=>{let r=o.searchRef.current!==``;e.disabled||r&&t.key===` `||El[i.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});ku.displayName=Ou;var Au=`MenuSubContent`,ju=r.forwardRef((e,t)=>{let n=Gl(ql,e.__scopeMenu),{forceMount:i=n.forceMount,...a}=e,o=Ll(ql,e.__scopeMenu),s=zl(ql,e.__scopeMenu),c=Eu(Au,e.__scopeMenu),l=r.useRef(null),u=U(t,l);return(0,d.jsx)(kl.Provider,{scope:e.__scopeMenu,children:(0,d.jsx)(Vr,{present:i||o.open,children:(0,d.jsx)(kl.Slot,{scope:e.__scopeMenu,children:(0,d.jsx)(eu,{id:c.contentId,"aria-labelledby":c.triggerId,...a,ref:u,align:`start`,side:s.dir===`rtl`?`left`:`right`,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{s.isUsingKeyboardRef.current&&l.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:G(e.onFocusOutside,e=>{e.target!==c.trigger&&o.onOpenChange(!1)}),onEscapeKeyDown:G(e.onEscapeKeyDown,e=>{s.onClose(),e.preventDefault()}),onKeyDown:G(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=Dl[s.dir].includes(e.key);t&&n&&(o.onOpenChange(!1),c.trigger?.focus(),e.preventDefault())})})})})})});ju.displayName=Au;function Mu(e){return e?`open`:`closed`}function Nu(e){return e===`indeterminate`}function Pu(e){return Nu(e)?`indeterminate`:e?`checked`:`unchecked`}function Fu(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function Iu(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function Lu(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=Iu(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function Ru(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function zu(e,t){if(!t)return!1;let n={x:e.clientX,y:e.clientY};return Ru(n,t)}function Bu(e){return t=>t.pointerType===`mouse`?e(t):void 0}var Vu=Bl,Hu=Hl,Uu=Kl,Wu=Xl,Gu=nu,Ku=iu,qu=su,Ju=uu,Yu=pu,Xu=hu,Zu=yu,Q=xu,Qu=Cu,$u=Du,ed=ku,td=ju,nd=`DropdownMenu`,[rd,id]=Wn(nd,[Nl]),ad=Nl(),[od,sd]=rd(nd),cd=e=>{let{__scopeDropdownMenu:t,children:n,dir:i,open:a,defaultOpen:o,onOpenChange:s,modal:c=!0}=e,l=ad(t),u=r.useRef(null),[f,p]=Zn({prop:a,defaultProp:o??!1,onChange:s,caller:nd});return(0,d.jsx)(od,{scope:t,triggerId:Yn(),triggerRef:u,contentId:Yn(),open:f,onOpenChange:p,onOpenToggle:r.useCallback(()=>p(e=>!e),[p]),modal:c,children:(0,d.jsx)(Vu,{...l,open:f,onOpenChange:p,dir:i,modal:c,children:n})})};cd.displayName=nd;var ld=`DropdownMenuTrigger`,ud=r.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,a=sd(ld,n),o=ad(n);return(0,d.jsx)(Hu,{asChild:!0,...o,children:(0,d.jsx)(K.button,{type:`button`,id:a.triggerId,"aria-haspopup":`menu`,"aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,disabled:r,...i,ref:kn(t,a.triggerRef),onPointerDown:G(e.onPointerDown,e=>{!r&&e.button===0&&e.ctrlKey===!1&&(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:G(e.onKeyDown,e=>{r||([`Enter`,` `].includes(e.key)&&a.onOpenToggle(),e.key===`ArrowDown`&&a.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})});ud.displayName=ld;var dd=`DropdownMenuPortal`,fd=e=>{let{__scopeDropdownMenu:t,...n}=e,r=ad(t);return(0,d.jsx)(Uu,{...r,...n})};fd.displayName=dd;var pd=`DropdownMenuContent`,md=r.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...i}=e,a=sd(pd,n),o=ad(n),s=r.useRef(!1);return(0,d.jsx)(Wu,{id:a.contentId,"aria-labelledby":a.triggerId,...o,...i,ref:t,onCloseAutoFocus:G(e.onCloseAutoFocus,e=>{s.current||a.triggerRef.current?.focus(),s.current=!1,e.preventDefault()}),onInteractOutside:G(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!a.modal||r)&&(s.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});md.displayName=pd;var hd=`DropdownMenuGroup`,gd=r.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ad(n);return(0,d.jsx)(Gu,{...i,...r,ref:t})});gd.displayName=hd;var _d=`DropdownMenuLabel`,vd=r.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ad(n);return(0,d.jsx)(Ku,{...i,...r,ref:t})});vd.displayName=_d;var yd=`DropdownMenuItem`,bd=r.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ad(n);return(0,d.jsx)(qu,{...i,...r,ref:t})});bd.displayName=yd;var xd=`DropdownMenuCheckboxItem`,Sd=r.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ad(n);return(0,d.jsx)(Ju,{...i,...r,ref:t})});Sd.displayName=xd;var Cd=`DropdownMenuRadioGroup`,wd=r.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ad(n);return(0,d.jsx)(Yu,{...i,...r,ref:t})});wd.displayName=Cd;var Td=`DropdownMenuRadioItem`,Ed=r.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ad(n);return(0,d.jsx)(Xu,{...i,...r,ref:t})});Ed.displayName=Td;var Dd=`DropdownMenuItemIndicator`,Od=r.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ad(n);return(0,d.jsx)(Zu,{...i,...r,ref:t})});Od.displayName=Dd;var kd=`DropdownMenuSeparator`,Ad=r.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ad(n);return(0,d.jsx)(Q,{...i,...r,ref:t})});Ad.displayName=kd;var jd=`DropdownMenuArrow`,Md=r.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ad(n);return(0,d.jsx)(Qu,{...i,...r,ref:t})});Md.displayName=jd;var Nd=`DropdownMenuSubTrigger`,Pd=r.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ad(n);return(0,d.jsx)(ed,{...i,...r,ref:t})});Pd.displayName=Nd;var Fd=`DropdownMenuSubContent`,Id=r.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ad(n);return(0,d.jsx)(td,{...i,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});Id.displayName=Fd;var Ld=cd,Rd=ud,zd=fd,Bd=md,Vd=gd,Hd=bd,Ud=Ad;function Wd({...e}){return(0,d.jsx)(Ld,{"data-slot":`dropdown-menu`,...e})}function Gd({...e}){return(0,d.jsx)(Rd,{"data-slot":`dropdown-menu-trigger`,...e})}function Kd({className:e,sideOffset:t=4,...n}){let[i,a]=(0,r.useState)(null);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(zd,{container:i,children:(0,d.jsx)(Bd,{"data-slot":`dropdown-menu-content`,sideOffset:t,className:H(`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 min-w-[8rem] origin-[var(--radix-dropdown-menu-content-transform-origin)] overflow-y-auto overflow-x-hidden rounded-md border p-1 shadow-md`,e),...n})}),(0,d.jsx)(`div`,{ref:a,style:{display:`contents`}})]})}function qd({...e}){return(0,d.jsx)(Vd,{"data-slot":`dropdown-menu-group`,...e})}function Jd({className:e,inset:t,variant:n=`default`,...r}){return(0,d.jsx)(Hd,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:H(`focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive! [&_svg:not([class*='text-'])]:text-muted-foreground outline-hidden data-disabled:pointer-events-none data-inset:pl-8 data-disabled:opacity-50 relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`,e),...r})}function Yd({className:e,...t}){return(0,d.jsx)(Ud,{"data-slot":`dropdown-menu-separator`,className:H(`bg-border -mx-1 my-1 h-px`,e),...t})}function Xd({className:e,...t}){return(0,d.jsx)(`span`,{"data-slot":`dropdown-menu-shortcut`,className:H(`text-muted-foreground ml-auto text-xs tracking-widest`,e),...t})}function Zd({className:e,...t}){return(0,d.jsx)(`div`,{"data-slot":`empty`,className:H(`flex min-w-0 flex-1 flex-col items-center justify-center gap-6 text-balance rounded-lg border-dashed p-6 text-center md:p-12`,e),...t})}function Qd({className:e,...t}){return(0,d.jsx)(`div`,{"data-slot":`empty-header`,className:H(`flex max-w-sm flex-col items-center gap-2 text-center`,e),...t})}var $d=Dn(`flex shrink-0 items-center justify-center mb-2 [&_svg]:pointer-events-none [&_svg]:shrink-0`,{variants:{variant:{default:`bg-transparent`,icon:`bg-muted text-foreground flex size-10 shrink-0 items-center justify-center rounded-lg [&_svg:not([class*='size-'])]:size-6`}},defaultVariants:{variant:`default`}});function ef({className:e,variant:t=`default`,...n}){return(0,d.jsx)(`div`,{"data-slot":`empty-icon`,"data-variant":t,className:H($d({variant:t,className:e})),...n})}function tf({className:e,...t}){return(0,d.jsx)(`div`,{"data-slot":`empty-title`,className:H(`text-lg font-medium tracking-tight`,e),...t})}function nf({className:e,...t}){return(0,d.jsx)(`div`,{"data-slot":`empty-description`,className:H(`text-muted-foreground [&>a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4`,e),...t})}function rf({className:e,...t}){return(0,d.jsx)(`div`,{"data-slot":`empty-content`,className:H(`flex w-full min-w-0 max-w-sm flex-col items-center gap-4 text-balance text-sm`,e),...t})}var af=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=Pn(`Primitive.${t}`),i=r.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,d.jsx)(o,{...a,ref:r})});return i.displayName=`Primitive.${t}`,{...e,[t]:i}},{}),sf=`Label`,cf=r.forwardRef((e,t)=>(0,d.jsx)(af.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));cf.displayName=sf;var lf=cf;function uf({className:e,...t}){return(0,d.jsx)(lf,{"data-slot":`label`,className:H(`flex select-none items-center gap-2 text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50 group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50`,e),...t})}function df({className:e,...t}){return(0,d.jsx)(`div`,{"data-slot":`field-group`,className:H(`group/field-group flex w-full flex-col gap-7 data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4`,e),...t})}var ff=Dn(`group/field flex w-full gap-3 data-[invalid=true]:text-destructive`,{variants:{orientation:{vertical:[`flex-col [&>*]:w-full [&>.sr-only]:w-auto`],horizontal:[`flex-row items-center`,`[&>[data-slot=field-label]]:flex-auto`,`has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`],responsive:[`flex-col [&>*]:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto`,`@md/field-group:[&>[data-slot=field-label]]:flex-auto`,`@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`]}},defaultVariants:{orientation:`vertical`}});function pf({className:e,orientation:t=`vertical`,...n}){return(0,d.jsx)(`div`,{role:`group`,"data-slot":`field`,"data-orientation":t,className:H(ff({orientation:t}),e),...n})}function mf({className:e,...t}){return(0,d.jsx)(uf,{"data-slot":`field-label`,className:H(`group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50`,`has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>*]:data-[slot=field]:p-4`,`has-[>[data-state=checked]]:border-primary has-[>[data-state=checked]]:bg-primary/10`,e),...t})}function hf({className:e,children:t,errors:n,...i}){let a=(0,r.useMemo)(()=>{if(t)return t;if(!n?.length)return null;let e=[...new Map(n.map(e=>[e?.message,e])).values()];return e?.length===1?e[0]?.message:(0,d.jsx)(`ul`,{className:`ml-4 flex list-disc flex-col gap-1`,children:e.map((e,t)=>e?.message&&(0,d.jsx)(`li`,{children:e.message},t))})},[t,n]);return a?(0,d.jsx)(`div`,{role:`alert`,"data-slot":`field-error`,className:H(`text-destructive text-sm font-normal`,e),...i,children:a}):null}function gf({className:e,type:t,...n}){return(0,d.jsx)(`input`,{type:t,"data-slot":`input`,className:H(`file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground bg-input/30 border-input h-9 w-full min-w-0 rounded-md border px-3 py-1 text-base shadow-sm outline-none transition-[color,box-shadow] file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,`aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,e),...n})}var _f=(0,r.createContext)(null);_f.displayName=`PanelGroupContext`;var vf={group:`data-panel-group`,groupDirection:`data-panel-group-direction`,groupId:`data-panel-group-id`,panel:`data-panel`,panelCollapsible:`data-panel-collapsible`,panelId:`data-panel-id`,panelSize:`data-panel-size`,resizeHandle:`data-resize-handle`,resizeHandleActive:`data-resize-handle-active`,resizeHandleEnabled:`data-panel-resize-handle-enabled`,resizeHandleId:`data-panel-resize-handle-id`,resizeHandleState:`data-resize-handle-state`},yf=10,bf=r.useLayoutEffect,xf=r.useId,Sf=typeof xf==`function`?xf:()=>null,Cf=0;function wf(e=null){let t=Sf(),n=(0,r.useRef)(e||t||null);return n.current===null&&(n.current=``+ Cf++),e??n.current}function Tf({children:e,className:t=``,collapsedSize:n,collapsible:i,defaultSize:a,forwardedRef:o,id:s,maxSize:c,minSize:l,onCollapse:u,onExpand:d,onResize:f,order:p,style:m,tagName:h=`div`,...g}){let _=(0,r.useContext)(_f);if(_===null)throw Error(`Panel components must be rendered within a PanelGroup container`);let{collapsePanel:v,expandPanel:y,getPanelSize:b,getPanelStyle:x,groupId:S,isPanelCollapsed:C,reevaluatePanelConstraints:w,registerPanel:T,resizePanel:E,unregisterPanel:D}=_,O=wf(s),k=(0,r.useRef)({callbacks:{onCollapse:u,onExpand:d,onResize:f},constraints:{collapsedSize:n,collapsible:i,defaultSize:a,maxSize:c,minSize:l},id:O,idIsFromProps:s!==void 0,order:p});(0,r.useRef)({didLogMissingDefaultSizeWarning:!1}),bf(()=>{let{callbacks:e,constraints:t}=k.current,r={...t};k.current.id=O,k.current.idIsFromProps=s!==void 0,k.current.order=p,e.onCollapse=u,e.onExpand=d,e.onResize=f,t.collapsedSize=n,t.collapsible=i,t.defaultSize=a,t.maxSize=c,t.minSize=l,(r.collapsedSize!==t.collapsedSize||r.collapsible!==t.collapsible||r.maxSize!==t.maxSize||r.minSize!==t.minSize)&&w(k.current,r)}),bf(()=>{let e=k.current;return T(e),()=>{D(e)}},[p,O,T,D]),(0,r.useImperativeHandle)(o,()=>({collapse:()=>{v(k.current)},expand:e=>{y(k.current,e)},getId(){return O},getSize(){return b(k.current)},isCollapsed(){return C(k.current)},isExpanded(){return!C(k.current)},resize:e=>{E(k.current,e)}}),[v,y,b,C,O,E]);let A=x(k.current,a);return(0,r.createElement)(h,{...g,children:e,className:t,id:O,style:{...A,...m},[vf.groupId]:S,[vf.panel]:``,[vf.panelCollapsible]:i||void 0,[vf.panelId]:O,[vf.panelSize]:parseFloat(``+A.flexGrow).toFixed(1)})}var Ef=(0,r.forwardRef)((e,t)=>(0,r.createElement)(Tf,{...e,forwardedRef:t}));Tf.displayName=`Panel`,Ef.displayName=`forwardRef(Panel)`;var Df;function Of(){return Df}var kf=null,Af=!0,jf=null,Mf=-1,Nf=null;function Pf(e,t,n){let r=(t&Zf)!==0,i=(t&Qf)!==0,a=(t&$f)!==0,o=(t&ep)!==0;if(jf)return jf({exceedsHorizontalMaximum:i,exceedsHorizontalMinimum:r,exceedsVerticalMaximum:o,exceedsVerticalMinimum:a,intersectsHorizontalDragHandle:e===`horizontal`||e===`intersection`,intersectsVerticalDragHandle:e===`vertical`||e===`intersection`,isPointerDown:n});if(t){if(r)return a?`se-resize`:o?`ne-resize`:`e-resize`;if(i)return a?`sw-resize`:o?`nw-resize`:`w-resize`;if(a)return`s-resize`;if(o)return`n-resize`}switch(e){case`horizontal`:return`ew-resize`;case`intersection`:return`move`;case`vertical`:return`ns-resize`}}function Ff(){Nf!==null&&(document.head.removeChild(Nf),kf=null,Nf=null,Mf=-1)}function If(e,t,n){if(!Af)return;let r=Pf(e,t,n);if(kf!==r){if(kf=r,Nf===null){Nf=document.createElement(`style`);let e=Of();e&&Nf.setAttribute(`nonce`,e),document.head.appendChild(Nf)}if(Mf>=0){var i;(i=Nf.sheet)==null||i.removeRule(Mf)}Mf=Nf.sheet?.insertRule(`*{cursor: ${r} !important;}`)??-1}}function Lf(e){return e.type===`keydown`}function Rf(e){return e.type.startsWith(`pointer`)}function zf(e){return e.type.startsWith(`mouse`)}function Bf(e){if(Rf(e)){if(e.isPrimary)return{x:e.clientX,y:e.clientY}}else if(zf(e))return{x:e.clientX,y:e.clientY};return{x:1/0,y:1/0}}function Vf(){if(typeof matchMedia==`function`)return matchMedia(`(pointer:coarse)`).matches?`coarse`:`fine`}function Hf(e,t,n){return n?e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y:e.x<=t.x+t.width&&e.x+e.width>=t.x&&e.y<=t.y+t.height&&e.y+e.height>=t.y}function Uf(e,t){if(e===t)throw Error(`Cannot compare node with itself`);let n={a:Yf(e),b:Yf(t)},r;for(;n.a.at(-1)===n.b.at(-1);)e=n.a.pop(),t=n.b.pop(),r=e;$(r,`Stacking order can only be calculated for elements with a common ancestor`);let i={a:Jf(qf(n.a)),b:Jf(qf(n.b))};if(i.a===i.b){let e=r.childNodes,t={a:n.a.at(-1),b:n.b.at(-1)},i=e.length;for(;i--;){let n=e[i];if(n===t.a)return 1;if(n===t.b)return-1}}return Math.sign(i.a-i.b)}var Wf=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function Gf(e){let t=getComputedStyle(Xf(e)??e).display;return t===`flex`||t===`inline-flex`}function Kf(e){let t=getComputedStyle(e);return!!(t.position===`fixed`||t.zIndex!==`auto`&&(t.position!==`static`||Gf(e))||+t.opacity<1||`transform`in t&&t.transform!==`none`||`webkitTransform`in t&&t.webkitTransform!==`none`||`mixBlendMode`in t&&t.mixBlendMode!==`normal`||`filter`in t&&t.filter!==`none`||`webkitFilter`in t&&t.webkitFilter!==`none`||`isolation`in t&&t.isolation===`isolate`||Wf.test(t.willChange)||t.webkitOverflowScrolling===`touch`)}function qf(e){let t=e.length;for(;t--;){let n=e[t];if($(n,`Missing node`),Kf(n))return n}return null}function Jf(e){return e&&Number(getComputedStyle(e).zIndex)||0}function Yf(e){let t=[];for(;e;)t.push(e),e=Xf(e);return t}function Xf(e){let{parentNode:t}=e;return t&&t instanceof ShadowRoot?t.host:t}var Zf=1,Qf=2,$f=4,ep=8,tp=Vf()===`coarse`,np=[],rp=!1,ip=new Map,ap=new Map,op=new Set;function sp(e,t,n,r,i){let{ownerDocument:a}=t,o={direction:n,element:t,hitAreaMargins:r,setResizeHandlerState:i},s=ip.get(a)??0;return ip.set(a,s+1),op.add(o),gp(),function(){ap.delete(e),op.delete(o);let t=ip.get(a)??1;if(ip.set(a,t-1),gp(),t===1&&ip.delete(a),np.includes(o)){let e=np.indexOf(o);e>=0&&np.splice(e,1),mp(),i(`up`,!0,null)}}}function cp(e){let{target:t}=e,{x:n,y:r}=Bf(e);rp=!0,fp({target:t,x:n,y:r}),gp(),np.length>0&&(_p(`down`,e),mp(),e.preventDefault(),dp(t)||e.stopImmediatePropagation())}function lp(e){let{x:t,y:n}=Bf(e);if(rp&&e.type!==`pointerleave`&&e.buttons===0&&(rp=!1,_p(`up`,e)),!rp){let{target:r}=e;fp({target:r,x:t,y:n})}_p(`move`,e),mp(),np.length>0&&e.preventDefault()}function up(e){let{target:t}=e,{x:n,y:r}=Bf(e);ap.clear(),rp=!1,np.length>0&&(e.preventDefault(),dp(t)||e.stopImmediatePropagation()),_p(`up`,e),fp({target:t,x:n,y:r}),mp(),gp()}function dp(e){let t=e;for(;t;){if(t.hasAttribute(vf.resizeHandle))return!0;t=t.parentElement}return!1}function fp({target:e,x:t,y:n}){np.splice(0);let r=null;(e instanceof HTMLElement||e instanceof SVGElement)&&(r=e),op.forEach(e=>{let{element:i,hitAreaMargins:a}=e,o=i.getBoundingClientRect(),{bottom:s,left:c,right:l,top:u}=o,d=tp?a.coarse:a.fine;if(t>=c-d&&t<=l+d&&n>=u-d&&n<=s+d){if(r!==null&&document.contains(r)&&i!==r&&!i.contains(r)&&!r.contains(i)&&Uf(r,i)>0){let e=r,t=!1;for(;e&&!e.contains(i);){if(Hf(e.getBoundingClientRect(),o,!0)){t=!0;break}e=e.parentElement}if(t)return}np.push(e)}})}function pp(e,t){ap.set(e,t)}function mp(){let e=!1,t=!1;np.forEach(n=>{let{direction:r}=n;r===`horizontal`?e=!0:t=!0});let n=0;ap.forEach(e=>{n|=e}),e&&t?If(`intersection`,n,rp):e?If(`horizontal`,n,rp):t?If(`vertical`,n,rp):Ff()}var hp;function gp(){var e;(e=hp)==null||e.abort(),hp=new AbortController;let t={capture:!0,signal:hp.signal};op.size&&(rp?(np.length>0&&ip.forEach((e,n)=>{let{body:r}=n;e>0&&(r.addEventListener(`contextmenu`,up,t),r.addEventListener(`pointerleave`,lp,t),r.addEventListener(`pointermove`,lp,t))}),ip.forEach((e,n)=>{let{body:r}=n;r.addEventListener(`pointerup`,up,t),r.addEventListener(`pointercancel`,up,t)})):ip.forEach((e,n)=>{let{body:r}=n;e>0&&(r.addEventListener(`pointerdown`,cp,t),r.addEventListener(`pointermove`,lp,t))}))}function _p(e,t){op.forEach(n=>{let{setResizeHandlerState:r}=n,i=np.includes(n);r(e,i,t)})}function vp(){let[e,t]=(0,r.useState)(0);return(0,r.useCallback)(()=>t(e=>e+1),[])}function $(e,t){if(!e)throw console.error(t),Error(t)}function yp(e,t,n=yf){return e.toFixed(n)===t.toFixed(n)?0:e>t?1:-1}function bp(e,t,n=yf){return yp(e,t,n)===0}function xp(e,t,n){return yp(e,t,n)===0}function Sp(e,t,n){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++){let i=e[r],a=t[r];if(!xp(i,a,n))return!1}return!0}function Cp({panelConstraints:e,panelIndex:t,size:n}){let r=e[t];$(r!=null,`Panel constraints not found for index ${t}`);let{collapsedSize:i=0,collapsible:a,maxSize:o=100,minSize:s=0}=r;if(yp(n,s)<0)if(a){let e=(i+s)/2;n=yp(n,e)<0?i:s}else n=s;return n=Math.min(o,n),n=parseFloat(n.toFixed(yf)),n}function wp({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:i,trigger:a}){if(xp(e,0))return t;let o=[...t],[s,c]=r;$(s!=null,`Invalid first pivot index`),$(c!=null,`Invalid second pivot index`);let l=0;if(a===`keyboard`){{let r=e<0?c:s,i=n[r];$(i,`Panel constraints not found for index ${r}`);let{collapsedSize:a=0,collapsible:o,minSize:l=0}=i;if(o){let n=t[r];if($(n!=null,`Previous layout not found for panel index ${r}`),xp(n,a)){let t=l-n;yp(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}{let r=e<0?s:c,i=n[r];$(i,`No panel constraints found for index ${r}`);let{collapsedSize:a=0,collapsible:o,minSize:l=0}=i;if(o){let n=t[r];if($(n!=null,`Previous layout not found for panel index ${r}`),xp(n,l)){let t=n-a;yp(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}}{let r=e<0?1:-1,i=e<0?c:s,a=0;for(;;){let e=t[i];$(e!=null,`Previous layout not found for panel index ${i}`);let o=Cp({panelConstraints:n,panelIndex:i,size:100})-e;if(a+=o,i+=r,i<0||i>=n.length)break}let o=Math.min(Math.abs(e),Math.abs(a));e=e<0?0-o:o}{let r=e<0?s:c;for(;r>=0&&r<n.length;){let i=Math.abs(e)-Math.abs(l),a=t[r];$(a!=null,`Previous layout not found for panel index ${r}`);let s=a-i,c=Cp({panelConstraints:n,panelIndex:r,size:s});if(!xp(a,c)&&(l+=a-c,o[r]=c,l.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?r--:r++}}if(Sp(i,o))return i;{let r=e<0?c:s,i=t[r];$(i!=null,`Previous layout not found for panel index ${r}`);let a=i+l,u=Cp({panelConstraints:n,panelIndex:r,size:a});if(o[r]=u,!xp(u,a)){let t=a-u,r=e<0?c:s;for(;r>=0&&r<n.length;){let i=o[r];$(i!=null,`Previous layout not found for panel index ${r}`);let a=i+t,s=Cp({panelConstraints:n,panelIndex:r,size:a});if(xp(i,s)||(t-=s-i,o[r]=s),xp(t,0))break;e>0?r--:r++}}}let u=o.reduce((e,t)=>t+e,0);return xp(u,100)?o:i}function Tp({layout:e,panelsArray:t,pivotIndices:n}){let r=0,i=100,a=0,o=0,s=n[0];$(s!=null,`No pivot index found`),t.forEach((e,t)=>{let{constraints:n}=e,{maxSize:c=100,minSize:l=0}=n;t===s?(r=l,i=c):(a+=l,o+=c)});let c=Math.min(i,100-a),l=Math.max(r,100-o),u=e[s];return{valueMax:c,valueMin:l,valueNow:u}}function Ep(e,t=document){return Array.from(t.querySelectorAll(`[${vf.resizeHandleId}][data-panel-group-id="${e}"]`))}function Dp(e,t,n=document){return Ep(e,n).findIndex(e=>e.getAttribute(vf.resizeHandleId)===t)??null}function Op(e,t,n){let r=Dp(e,t,n);return r==null?[-1,-1]:[r,r+1]}function kp(e){return e instanceof HTMLElement?!0:typeof e==`object`&&!!e&&`tagName`in e&&`getAttribute`in e}function Ap(e,t=document){return kp(t)&&t.dataset.panelGroupId==e?t:t.querySelector(`[data-panel-group][data-panel-group-id="${e}"]`)||null}function jp(e,t=document){return t.querySelector(`[${vf.resizeHandleId}="${e}"]`)||null}function Mp(e,t,n,r=document){let i=jp(t,r),a=Ep(e,r),o=i?a.indexOf(i):-1,s=n[o]?.id??null,c=n[o+1]?.id??null;return[s,c]}function Np({committedValuesRef:e,eagerValuesRef:t,groupId:n,layout:i,panelDataArray:a,panelGroupElement:o,setLayout:s}){(0,r.useRef)({didWarnAboutMissingResizeHandle:!1}),bf(()=>{if(!o)return;let e=Ep(n,o);for(let t=0;t<a.length-1;t++){let{valueMax:n,valueMin:r,valueNow:o}=Tp({layout:i,panelsArray:a,pivotIndices:[t,t+1]}),s=e[t];if(s!=null){let e=a[t];$(e,`No panel data found for index "${t}"`),s.setAttribute(`aria-controls`,e.id),s.setAttribute(`aria-valuemax`,``+Math.round(n)),s.setAttribute(`aria-valuemin`,``+Math.round(r)),s.setAttribute(`aria-valuenow`,o==null?``:``+Math.round(o))}}return()=>{e.forEach((e,t)=>{e.removeAttribute(`aria-controls`),e.removeAttribute(`aria-valuemax`),e.removeAttribute(`aria-valuemin`),e.removeAttribute(`aria-valuenow`)})}},[n,i,a,o]),(0,r.useEffect)(()=>{if(!o)return;let e=t.current;$(e,`Eager values not found`);let{panelDataArray:r}=e,a=Ap(n,o);$(a!=null,`No group found for id "${n}"`);let c=Ep(n,o);$(c,`No resize handles found for group id "${n}"`);let l=c.map(e=>{let t=e.getAttribute(vf.resizeHandleId);$(t,`Resize handle element has no handle id attribute`);let[a,c]=Mp(n,t,r,o);if(a==null||c==null)return()=>{};let l=e=>{if(!e.defaultPrevented)switch(e.key){case`Enter`:{e.preventDefault();let c=r.findIndex(e=>e.id===a);if(c>=0){let e=r[c];$(e,`No panel data found for index ${c}`);let a=i[c],{collapsedSize:l=0,collapsible:u,minSize:d=0}=e.constraints;if(a!=null&&u){let e=wp({delta:xp(a,l)?d-l:l-a,initialLayout:i,panelConstraints:r.map(e=>e.constraints),pivotIndices:Op(n,t,o),prevLayout:i,trigger:`keyboard`});i!==e&&s(e)}}break}}};return e.addEventListener(`keydown`,l),()=>{e.removeEventListener(`keydown`,l)}});return()=>{l.forEach(e=>e())}},[o,e,t,n,i,a,s])}function Pp(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Fp(e,t){let n=e===`horizontal`,{x:r,y:i}=Bf(t);return n?r:i}function Ip(e,t,n,r,i){let a=n===`horizontal`,o=jp(t,i);$(o,`No resize handle element found for id "${t}"`);let s=o.getAttribute(vf.groupId);$(s,`Resize handle element has no group id attribute`);let{initialCursorPosition:c}=r,l=Fp(n,e),u=Ap(s,i);$(u,`No group element found for id "${s}"`);let d=u.getBoundingClientRect(),f=a?d.width:d.height;return(l-c)/f*100}function Lp(e,t,n,r,i,a){if(Lf(e)){let t=n===`horizontal`,r=0;r=e.shiftKey?100:i??10;let a=0;switch(e.key){case`ArrowDown`:a=t?0:r;break;case`ArrowLeft`:a=t?-r:0;break;case`ArrowRight`:a=t?r:0;break;case`ArrowUp`:a=t?0:-r;break;case`End`:a=100;break;case`Home`:a=-100;break}return a}else return r==null?0:Ip(e,t,n,r,a)}function Rp({panelDataArray:e}){let t=Array(e.length),n=e.map(e=>e.constraints),r=0,i=100;for(let a=0;a<e.length;a++){let e=n[a];$(e,`Panel constraints not found for index ${a}`);let{defaultSize:o}=e;o!=null&&(r++,t[a]=o,i-=o)}for(let a=0;a<e.length;a++){let o=n[a];$(o,`Panel constraints not found for index ${a}`);let{defaultSize:s}=o;if(s!=null)continue;let c=e.length-r,l=i/c;r++,t[a]=l,i-=l}return t}function zp(e,t,n){t.forEach((t,r)=>{let i=e[r];$(i,`Panel data not found for index ${r}`);let{callbacks:a,constraints:o,id:s}=i,{collapsedSize:c=0,collapsible:l}=o,u=n[s];if(u==null||t!==u){n[s]=t;let{onCollapse:e,onExpand:r,onResize:i}=a;i&&i(t,u),l&&(e||r)&&(r&&(u==null||bp(u,c))&&!bp(t,c)&&r(),e&&(u==null||!bp(u,c))&&bp(t,c)&&e())}})}function Bp(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function Vp({defaultSize:e,dragState:t,layout:n,panelData:r,panelIndex:i,precision:a=3}){let o=n[i],s;return s=o==null?e==null?`1`:e.toFixed(a):r.length===1?`1`:o.toFixed(a),{flexBasis:0,flexGrow:s,flexShrink:1,overflow:`hidden`,pointerEvents:t===null?void 0:`none`}}function Hp(e,t=10){let n=null;return(...r)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(...r)},t)}}function Up(e){try{if(typeof localStorage<`u`)e.getItem=e=>localStorage.getItem(e),e.setItem=(e,t)=>{localStorage.setItem(e,t)};else throw Error(`localStorage not supported in this environment`)}catch(t){console.error(t),e.getItem=()=>null,e.setItem=()=>{}}}function Wp(e){return`react-resizable-panels:${e}`}function Gp(e){return e.map(e=>{let{constraints:t,id:n,idIsFromProps:r,order:i}=e;return r?n:i?`${i}:${JSON.stringify(t)}`:JSON.stringify(t)}).sort((e,t)=>e.localeCompare(t)).join(`,`)}function Kp(e,t){try{let n=Wp(e),r=t.getItem(n);if(r){let e=JSON.parse(r);if(typeof e==`object`&&e)return e}}catch{}return null}function qp(e,t,n){let r=Kp(e,n)??{},i=Gp(t);return r[i]??null}function Jp(e,t,n,r,i){let a=Wp(e),o=Gp(t),s=Kp(e,i)??{};s[o]={expandToSizes:Object.fromEntries(n.entries()),layout:r};try{i.setItem(a,JSON.stringify(s))}catch(e){console.error(e)}}function Yp({layout:e,panelConstraints:t}){let n=[...e],r=n.reduce((e,t)=>e+t,0);if(n.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${n.map(e=>`${e}%`).join(`, `)}`);if(!xp(r,100)&&n.length>0)for(let e=0;e<t.length;e++){let t=n[e];$(t!=null,`No layout data found for index ${e}`),n[e]=100/r*t}let i=0;for(let e=0;e<t.length;e++){let r=n[e];$(r!=null,`No layout data found for index ${e}`);let a=Cp({panelConstraints:t,panelIndex:e,size:r});r!=a&&(i+=r-a,n[e]=a)}if(!xp(i,0))for(let e=0;e<t.length;e++){let r=n[e];$(r!=null,`No layout data found for index ${e}`);let a=r+i,o=Cp({panelConstraints:t,panelIndex:e,size:a});if(r!==o&&(i-=o-r,n[e]=o,xp(i,0)))break}return n}var Xp=100,Zp={getItem:e=>(Up(Zp),Zp.getItem(e)),setItem:(e,t)=>{Up(Zp),Zp.setItem(e,t)}},Qp={};function $p({autoSaveId:e=null,children:t,className:n=``,direction:i,forwardedRef:a,id:o=null,onLayout:s=null,keyboardResizeBy:c=null,storage:l=Zp,style:u,tagName:d=`div`,...f}){let p=wf(o),m=(0,r.useRef)(null),[h,g]=(0,r.useState)(null),[_,v]=(0,r.useState)([]),y=vp(),b=(0,r.useRef)({}),x=(0,r.useRef)(new Map),S=(0,r.useRef)(0),C=(0,r.useRef)({autoSaveId:e,direction:i,dragState:h,id:p,keyboardResizeBy:c,onLayout:s,storage:l}),w=(0,r.useRef)({layout:_,panelDataArray:[],panelDataArrayChanged:!1});(0,r.useRef)({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),(0,r.useImperativeHandle)(a,()=>({getId:()=>C.current.id,getLayout:()=>{let{layout:e}=w.current;return e},setLayout:e=>{let{onLayout:t}=C.current,{layout:n,panelDataArray:r}=w.current,i=Yp({layout:e,panelConstraints:r.map(e=>e.constraints)});Pp(n,i)||(v(i),w.current.layout=i,t&&t(i),zp(r,i,b.current))}}),[]),bf(()=>{C.current.autoSaveId=e,C.current.direction=i,C.current.dragState=h,C.current.id=p,C.current.onLayout=s,C.current.storage=l}),Np({committedValuesRef:C,eagerValuesRef:w,groupId:p,layout:_,panelDataArray:w.current.panelDataArray,setLayout:v,panelGroupElement:m.current}),(0,r.useEffect)(()=>{let{panelDataArray:t}=w.current;if(e){if(_.length===0||_.length!==t.length)return;let n=Qp[e];n??(n=Hp(Jp,Xp),Qp[e]=n);let r=[...t],i=new Map(x.current);n(e,r,i,_,l)}},[e,_,l]),(0,r.useEffect)(()=>{});let T=(0,r.useCallback)(e=>{let{onLayout:t}=C.current,{layout:n,panelDataArray:r}=w.current;if(e.constraints.collapsible){let i=r.map(e=>e.constraints),{collapsedSize:a=0,panelSize:o,pivotIndices:s}=nm(r,e,n);if($(o!=null,`Panel size not found for panel "${e.id}"`),!bp(o,a)){x.current.set(e.id,o);let c=tm(r,e)===r.length-1?o-a:a-o,l=wp({delta:c,initialLayout:n,panelConstraints:i,pivotIndices:s,prevLayout:n,trigger:`imperative-api`});Bp(n,l)||(v(l),w.current.layout=l,t&&t(l),zp(r,l,b.current))}}},[]),E=(0,r.useCallback)((e,t)=>{let{onLayout:n}=C.current,{layout:r,panelDataArray:i}=w.current;if(e.constraints.collapsible){let a=i.map(e=>e.constraints),{collapsedSize:o=0,panelSize:s=0,minSize:c=0,pivotIndices:l}=nm(i,e,r),u=t??c;if(bp(s,o)){let t=x.current.get(e.id),o=t!=null&&t>=u?t:u,c=tm(i,e)===i.length-1?s-o:o-s,d=wp({delta:c,initialLayout:r,panelConstraints:a,pivotIndices:l,prevLayout:r,trigger:`imperative-api`});Bp(r,d)||(v(d),w.current.layout=d,n&&n(d),zp(i,d,b.current))}}},[]),D=(0,r.useCallback)(e=>{let{layout:t,panelDataArray:n}=w.current,{panelSize:r}=nm(n,e,t);return $(r!=null,`Panel size not found for panel "${e.id}"`),r},[]),O=(0,r.useCallback)((e,t)=>{let{panelDataArray:n}=w.current,r=tm(n,e);return Vp({defaultSize:t,dragState:h,layout:_,panelData:n,panelIndex:r})},[h,_]),k=(0,r.useCallback)(e=>{let{layout:t,panelDataArray:n}=w.current,{collapsedSize:r=0,collapsible:i,panelSize:a}=nm(n,e,t);return $(a!=null,`Panel size not found for panel "${e.id}"`),i===!0&&bp(a,r)},[]),A=(0,r.useCallback)(e=>{let{layout:t,panelDataArray:n}=w.current,{collapsedSize:r=0,collapsible:i,panelSize:a}=nm(n,e,t);return $(a!=null,`Panel size not found for panel "${e.id}"`),!i||yp(a,r)>0},[]),j=(0,r.useCallback)(e=>{let{panelDataArray:t}=w.current;t.push(e),t.sort((e,t)=>{let n=e.order,r=t.order;return n==null&&r==null?0:n==null?-1:r==null?1:n-r}),w.current.panelDataArrayChanged=!0,y()},[y]);bf(()=>{if(w.current.panelDataArrayChanged){w.current.panelDataArrayChanged=!1;let{autoSaveId:e,onLayout:t,storage:n}=C.current,{layout:r,panelDataArray:i}=w.current,a=null;if(e){let t=qp(e,i,n);t&&(x.current=new Map(Object.entries(t.expandToSizes)),a=t.layout)}a??=Rp({panelDataArray:i});let o=Yp({layout:a,panelConstraints:i.map(e=>e.constraints)});Pp(r,o)||(v(o),w.current.layout=o,t&&t(o),zp(i,o,b.current))}}),bf(()=>{let e=w.current;return()=>{e.layout=[]}},[]);let M=(0,r.useCallback)(e=>{let t=!1,n=m.current;return n&&window.getComputedStyle(n,null).getPropertyValue(`direction`)===`rtl`&&(t=!0),function(n){n.preventDefault();let r=m.current;if(!r)return()=>null;let{direction:i,dragState:a,id:o,keyboardResizeBy:s,onLayout:c}=C.current,{layout:l,panelDataArray:u}=w.current,{initialLayout:d}=a??{},f=Op(o,e,r),p=Lp(n,e,i,a,s,r),h=i===`horizontal`;h&&t&&(p=-p);let g=u.map(e=>e.constraints),_=wp({delta:p,initialLayout:d??l,panelConstraints:g,pivotIndices:f,prevLayout:l,trigger:Lf(n)?`keyboard`:`mouse-or-touch`}),y=!Bp(l,_);(Rf(n)||zf(n))&&S.current!=p&&(S.current=p,!y&&p!==0?h?pp(e,p<0?Zf:Qf):pp(e,p<0?$f:ep):pp(e,0)),y&&(v(_),w.current.layout=_,c&&c(_),zp(u,_,b.current))}},[]),N=(0,r.useCallback)((e,t)=>{let{onLayout:n}=C.current,{layout:r,panelDataArray:i}=w.current,a=i.map(e=>e.constraints),{panelSize:o,pivotIndices:s}=nm(i,e,r);$(o!=null,`Panel size not found for panel "${e.id}"`);let c=tm(i,e)===i.length-1?o-t:t-o,l=wp({delta:c,initialLayout:r,panelConstraints:a,pivotIndices:s,prevLayout:r,trigger:`imperative-api`});Bp(r,l)||(v(l),w.current.layout=l,n&&n(l),zp(i,l,b.current))},[]),P=(0,r.useCallback)((e,t)=>{let{layout:n,panelDataArray:r}=w.current,{collapsedSize:i=0,collapsible:a}=t,{collapsedSize:o=0,collapsible:s,maxSize:c=100,minSize:l=0}=e.constraints,{panelSize:u}=nm(r,e,n);u!=null&&(a&&s&&bp(u,i)?bp(i,o)||N(e,o):u<l?N(e,l):u>c&&N(e,c))},[N]),F=(0,r.useCallback)((e,t)=>{let{direction:n}=C.current,{layout:r}=w.current;if(!m.current)return;let i=jp(e,m.current);$(i,`Drag handle element not found for id "${e}"`);let a=Fp(n,t);g({dragHandleId:e,dragHandleRect:i.getBoundingClientRect(),initialCursorPosition:a,initialLayout:r})},[]),I=(0,r.useCallback)(()=>{g(null)},[]),L=(0,r.useCallback)(e=>{let{panelDataArray:t}=w.current,n=tm(t,e);n>=0&&(t.splice(n,1),delete b.current[e.id],w.current.panelDataArrayChanged=!0,y())},[y]),ee=(0,r.useMemo)(()=>({collapsePanel:T,direction:i,dragState:h,expandPanel:E,getPanelSize:D,getPanelStyle:O,groupId:p,isPanelCollapsed:k,isPanelExpanded:A,reevaluatePanelConstraints:P,registerPanel:j,registerResizeHandle:M,resizePanel:N,startDragging:F,stopDragging:I,unregisterPanel:L,panelGroupElement:m.current}),[T,h,i,E,D,O,p,k,A,P,j,M,N,F,I,L]),te={display:`flex`,flexDirection:i===`horizontal`?`row`:`column`,height:`100%`,overflow:`hidden`,width:`100%`};return(0,r.createElement)(_f.Provider,{value:ee},(0,r.createElement)(d,{...f,children:t,className:n,id:o,ref:m,style:{...te,...u},[vf.group]:``,[vf.groupDirection]:i,[vf.groupId]:p}))}var em=(0,r.forwardRef)((e,t)=>(0,r.createElement)($p,{...e,forwardedRef:t}));$p.displayName=`PanelGroup`,em.displayName=`forwardRef(PanelGroup)`;function tm(e,t){return e.findIndex(e=>e===t||e.id===t.id)}function nm(e,t,n){let r=tm(e,t),i=r===e.length-1?[r-1,r]:[r,r+1],a=n[r];return{...t.constraints,panelSize:a,pivotIndices:i}}function rm({disabled:e,handleId:t,resizeHandler:n,panelGroupElement:i}){(0,r.useEffect)(()=>{if(e||n==null||i==null)return;let r=jp(t,i);if(r==null)return;let a=e=>{if(!e.defaultPrevented)switch(e.key){case`ArrowDown`:case`ArrowLeft`:case`ArrowRight`:case`ArrowUp`:case`End`:case`Home`:e.preventDefault(),n(e);break;case`F6`:{e.preventDefault();let n=r.getAttribute(vf.groupId);$(n,`No group element found for id "${n}"`);let a=Ep(n,i),o=Dp(n,t,i);$(o!==null,`No resize element found for id "${t}"`);let s=e.shiftKey?o>0?o-1:a.length-1:o+1<a.length?o+1:0;a[s].focus();break}}};return r.addEventListener(`keydown`,a),()=>{r.removeEventListener(`keydown`,a)}},[i,e,t,n])}function im({children:e=null,className:t=``,disabled:n=!1,hitAreaMargins:i,id:a,onBlur:o,onClick:s,onDragging:c,onFocus:l,onPointerDown:u,onPointerUp:d,style:f={},tabIndex:p=0,tagName:m=`div`,...h}){let g=(0,r.useRef)(null),_=(0,r.useRef)({onClick:s,onDragging:c,onPointerDown:u,onPointerUp:d});(0,r.useEffect)(()=>{_.current.onClick=s,_.current.onDragging=c,_.current.onPointerDown=u,_.current.onPointerUp=d});let v=(0,r.useContext)(_f);if(v===null)throw Error(`PanelResizeHandle components must be rendered within a PanelGroup container`);let{direction:y,groupId:b,registerResizeHandle:x,startDragging:S,stopDragging:C,panelGroupElement:w}=v,T=wf(a),[E,D]=(0,r.useState)(`inactive`),[O,k]=(0,r.useState)(!1),[A,j]=(0,r.useState)(null),M=(0,r.useRef)({state:E});bf(()=>{M.current.state=E}),(0,r.useEffect)(()=>{if(n)j(null);else{let e=x(T);j(()=>e)}},[n,T,x]);let N=i?.coarse??15,P=i?.fine??5;(0,r.useEffect)(()=>{if(n||A==null)return;let e=g.current;$(e,`Element ref not attached`);let t=!1;return sp(T,e,y,{coarse:N,fine:P},(e,n,r)=>{if(!n){D(`inactive`);return}switch(e){case`down`:{D(`drag`),t=!1,$(r,`Expected event to be defined for "down" action`),S(T,r);let{onDragging:e,onPointerDown:n}=_.current;e?.(!0),n?.();break}case`move`:{let{state:e}=M.current;t=!0,e!==`drag`&&D(`hover`),$(r,`Expected event to be defined for "move" action`),A(r);break}case`up`:{D(`hover`),C();let{onClick:e,onDragging:n,onPointerUp:r}=_.current;n?.(!1),r?.(),t||e?.();break}}})},[N,y,n,P,x,T,A,S,C]),rm({disabled:n,handleId:T,resizeHandler:A,panelGroupElement:w});let F={touchAction:`none`,userSelect:`none`};return(0,r.createElement)(m,{...h,children:e,className:t,id:a,onBlur:()=>{k(!1),o?.()},onFocus:()=>{k(!0),l?.()},ref:g,role:`separator`,style:{...F,...f},tabIndex:p,[vf.groupDirection]:y,[vf.groupId]:b,[vf.resizeHandle]:``,[vf.resizeHandleActive]:E===`drag`?`pointer`:O?`keyboard`:void 0,[vf.resizeHandleEnabled]:!n,[vf.resizeHandleId]:T,[vf.resizeHandleState]:E})}im.displayName=`PanelResizeHandle`;function am({className:e,...t}){return(0,d.jsx)(em,{"data-slot":`resizable-panel-group`,className:H(`flex size-full data-[panel-group-direction=vertical]:flex-col`,e),...t})}function om({...e}){return(0,d.jsx)(Ef,{"data-slot":`resizable-panel`,...e})}function sm({withHandle:e,className:t,...n}){return(0,d.jsx)(im,{"data-slot":`resizable-handle`,className:H(`bg-border focus-visible:ring-ring focus-visible:outline-hidden relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90`,t),...n,children:e&&(0,d.jsx)(`div`,{className:`bg-border rounded-xs z-10 flex h-4 w-3 items-center justify-center border`,children:(0,d.jsx)(a.GripVerticalIcon,{className:`size-2.5`})})})}var cm=({...e})=>(0,d.jsx)(Se,{theme:e.theme,className:`group`,icons:{success:(0,d.jsx)(a.CircleCheckIcon,{className:`size-4`}),info:(0,d.jsx)(a.InfoIcon,{className:`size-4`}),warning:(0,d.jsx)(a.TriangleAlertIcon,{className:`size-4`}),error:(0,d.jsx)(a.OctagonXIcon,{className:`size-4`}),loading:(0,d.jsx)(a.Loader2Icon,{className:`size-4 animate-spin`})},style:{"--normal-bg":`var(--popover)`,"--normal-text":`var(--popover-foreground)`,"--normal-border":`var(--border)`,"--border-radius":`var(--radius)`},...e}),lm=Object.freeze({position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`}),um=`VisuallyHidden`,dm=r.forwardRef((e,t)=>(0,d.jsx)(K.span,{...e,ref:t,style:{...lm,...e.style}}));dm.displayName=um;var fm=dm,[pm,mm]=Wn(`Tooltip`,[Fc]),hm=Fc(),gm=`TooltipProvider`,_m=700,vm=`tooltip.open`,[ym,bm]=pm(gm),xm=e=>{let{__scopeTooltip:t,delayDuration:n=_m,skipDelayDuration:i=300,disableHoverableContent:a=!1,children:o}=e,s=r.useRef(!0),c=r.useRef(!1),l=r.useRef(0);return r.useEffect(()=>{let e=l.current;return()=>window.clearTimeout(e)},[]),(0,d.jsx)(ym,{scope:t,isOpenDelayedRef:s,delayDuration:n,onOpen:r.useCallback(()=>{window.clearTimeout(l.current),s.current=!1},[]),onClose:r.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(()=>s.current=!0,i)},[i]),isPointerInTransitRef:c,onPointerInTransitChange:r.useCallback(e=>{c.current=e},[]),disableHoverableContent:a,children:o})};xm.displayName=gm;var Sm=`Tooltip`,[Cm,wm]=pm(Sm),Tm=e=>{let{__scopeTooltip:t,children:n,open:i,defaultOpen:a,onOpenChange:o,disableHoverableContent:s,delayDuration:c}=e,l=bm(Sm,e.__scopeTooltip),u=hm(t),[f,p]=r.useState(null),m=Yn(),h=r.useRef(0),g=s??l.disableHoverableContent,_=c??l.delayDuration,v=r.useRef(!1),[y,b]=Zn({prop:i,defaultProp:a??!1,onChange:e=>{e?(l.onOpen(),document.dispatchEvent(new CustomEvent(vm))):l.onClose(),o?.(e)},caller:Sm}),x=r.useMemo(()=>y?v.current?`delayed-open`:`instant-open`:`closed`,[y]),S=r.useCallback(()=>{window.clearTimeout(h.current),h.current=0,v.current=!1,b(!0)},[b]),C=r.useCallback(()=>{window.clearTimeout(h.current),h.current=0,b(!1)},[b]),w=r.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>{v.current=!0,b(!0),h.current=0},_)},[_,b]);return r.useEffect(()=>()=>{h.current&&=(window.clearTimeout(h.current),0)},[]),(0,d.jsx)(Zc,{...u,children:(0,d.jsx)(Cm,{scope:t,contentId:m,open:y,stateAttribute:x,trigger:f,onTriggerChange:p,onTriggerEnter:r.useCallback(()=>{l.isOpenDelayedRef.current?w():S()},[l.isOpenDelayedRef,w,S]),onTriggerLeave:r.useCallback(()=>{g?C():(window.clearTimeout(h.current),h.current=0)},[C,g]),onOpen:S,onClose:C,disableHoverableContent:g,children:n})})};Tm.displayName=Sm;var Em=`TooltipTrigger`,Dm=r.forwardRef((e,t)=>{let{__scopeTooltip:n,...i}=e,a=wm(Em,n),o=bm(Em,n),s=hm(n),c=r.useRef(null),l=U(t,c,a.onTriggerChange),u=r.useRef(!1),f=r.useRef(!1),p=r.useCallback(()=>u.current=!1,[]);return r.useEffect(()=>()=>document.removeEventListener(`pointerup`,p),[p]),(0,d.jsx)(Qc,{asChild:!0,...s,children:(0,d.jsx)(K.button,{"aria-describedby":a.open?a.contentId:void 0,"data-state":a.stateAttribute,...i,ref:l,onPointerMove:G(e.onPointerMove,e=>{e.pointerType!==`touch`&&!f.current&&!o.isPointerInTransitRef.current&&(a.onTriggerEnter(),f.current=!0)}),onPointerLeave:G(e.onPointerLeave,()=>{a.onTriggerLeave(),f.current=!1}),onPointerDown:G(e.onPointerDown,()=>{a.open&&a.onClose(),u.current=!0,document.addEventListener(`pointerup`,p,{once:!0})}),onFocus:G(e.onFocus,()=>{u.current||a.onOpen()}),onBlur:G(e.onBlur,a.onClose),onClick:G(e.onClick,a.onClose)})})});Dm.displayName=Em;var Om=`TooltipPortal`,[km,Am]=pm(Om,{forceMount:void 0}),jm=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=wm(Om,t);return(0,d.jsx)(km,{scope:t,forceMount:n,children:(0,d.jsx)(Vr,{present:n||a.open,children:(0,d.jsx)(zr,{asChild:!0,container:i,children:r})})})};jm.displayName=Om;var Mm=`TooltipContent`,Nm=r.forwardRef((e,t)=>{let n=Am(Mm,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=wm(Mm,e.__scopeTooltip);return(0,d.jsx)(Vr,{present:r||o.open,children:o.disableHoverableContent?(0,d.jsx)(Rm,{side:i,...a,ref:t}):(0,d.jsx)(Pm,{side:i,...a,ref:t})})}),Pm=r.forwardRef((e,t)=>{let n=wm(Mm,e.__scopeTooltip),i=bm(Mm,e.__scopeTooltip),a=r.useRef(null),o=U(t,a),[s,c]=r.useState(null),{trigger:l,onClose:u}=n,f=a.current,{onPointerInTransitChange:p}=i,m=r.useCallback(()=>{c(null),p(!1)},[p]),h=r.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=Vm(r,n.getBoundingClientRect()),a=Hm(r,i),o=Um(t.getBoundingClientRect()),s=Gm([...a,...o]);c(s),p(!0)},[p]);return r.useEffect(()=>()=>m(),[m]),r.useEffect(()=>{if(l&&f){let e=e=>h(e,f),t=e=>h(e,l);return l.addEventListener(`pointerleave`,e),f.addEventListener(`pointerleave`,t),()=>{l.removeEventListener(`pointerleave`,e),f.removeEventListener(`pointerleave`,t)}}},[l,f,h,m]),r.useEffect(()=>{if(s){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=l?.contains(t)||f?.contains(t),i=!Wm(n,s);r?m():i&&(m(),u())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[l,f,s,u,m]),(0,d.jsx)(Rm,{...e,ref:o})}),[Fm,Im]=pm(Sm,{isInside:!1}),Lm=ir(`TooltipContent`),Rm=r.forwardRef((e,t)=>{let{__scopeTooltip:n,children:i,"aria-label":a,onEscapeKeyDown:o,onPointerDownOutside:s,...c}=e,l=wm(Mm,n),u=hm(n),{onClose:f}=l;return r.useEffect(()=>(document.addEventListener(vm,f),()=>document.removeEventListener(vm,f)),[f]),r.useEffect(()=>{if(l.trigger){let e=e=>{e.target?.contains(l.trigger)&&f()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[l.trigger,f]),(0,d.jsx)(_r,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:f,children:(0,d.jsxs)($c,{"data-state":l.stateAttribute,...u,...c,ref:t,style:{...c.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:[(0,d.jsx)(Lm,{children:i}),(0,d.jsx)(Fm,{scope:n,isInside:!0,children:(0,d.jsx)(fm,{id:l.contentId,role:`tooltip`,children:a||i})})]})})});Nm.displayName=Mm;var zm=`TooltipArrow`,Bm=r.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=hm(n);return Im(zm,n).isInside?null:(0,d.jsx)(el,{...i,...r,ref:t})});Bm.displayName=zm;function Vm(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function Hm(e,t,n=5){let 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 Um(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function Wm(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function Gm(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0),Km(t)}function Km(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}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 qm=xm,Jm=Tm,Ym=Dm,Xm=jm,Zm=Nm,Qm=Bm;function $m({delayDuration:e=0,...t}){return(0,d.jsx)(qm,{"data-slot":`tooltip-provider`,delayDuration:e,...t})}function eh({...e}){return(0,d.jsx)($m,{children:(0,d.jsx)(Jm,{"data-slot":`tooltip`,...e})})}function th({...e}){return(0,d.jsx)(Ym,{"data-slot":`tooltip-trigger`,...e})}function nh({className:e,sideOffset:t=0,children:n,...i}){let[a,o]=(0,r.useState)(null);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Xm,{container:a,children:(0,d.jsxs)(Zm,{"data-slot":`tooltip-content`,sideOffset:t,className:H(`bg-foreground text-background 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 w-fit origin-[var(--radix-tooltip-content-transform-origin)] text-balance rounded-md px-3 py-1.5 text-xs`,e),...i,children:[n,(0,d.jsx)(Qm,{className:`bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]`})]})}),(0,d.jsx)(`div`,{ref:o,style:{display:`contents`}})]})}const rh=e=>(0,d.jsxs)(`svg`,{width:`100`,height:`100`,viewBox:`0 0 100 100`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,d.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M49.9994 6.90218L87.3224 28.4506V71.5475L49.9994 93.0959L12.6764 71.5475V28.4506L49.9994 6.90218ZM16.8641 30.8684V62.5242L44.2789 15.0405L16.8641 30.8684ZM49.9994 13.5077L18.3969 68.2448H81.6019L49.9994 13.5077ZM77.4142 72.4325H22.5846L49.9994 88.2604L77.4142 72.4325ZM83.1347 62.5242L55.7199 15.0405L83.1347 30.8684V62.5242Z`,fill:`currentColor`}),(0,d.jsx)(`path`,{d:`M49.9994 18.14C54.8706 18.14 58.8194 14.1912 58.8194 9.32C58.8194 4.44885 54.8706 0.5 49.9994 0.5C45.1283 0.5 41.1794 4.44885 41.1794 9.32C41.1794 14.1912 45.1283 18.14 49.9994 18.14Z`,fill:`currentColor`}),(0,d.jsx)(`path`,{d:`M85.2286 38.4796C90.0998 38.4796 94.0486 34.5308 94.0486 29.6596C94.0486 24.7884 90.0998 20.8396 85.2286 20.8396C80.3575 20.8396 76.4086 24.7884 76.4086 29.6596C76.4086 34.5308 80.3575 38.4796 85.2286 38.4796Z`,fill:`currentColor`}),(0,d.jsx)(`path`,{d:`M85.2286 79.1587C90.0998 79.1587 94.0486 75.2099 94.0486 70.3387C94.0486 65.4675 90.0998 61.5187 85.2286 61.5187C80.3575 61.5187 76.4086 65.4675 76.4086 70.3387C76.4086 75.2099 80.3575 79.1587 85.2286 79.1587Z`,fill:`currentColor`}),(0,d.jsx)(`path`,{d:`M49.9994 99.4982C54.8706 99.4982 58.8194 95.5494 58.8194 90.6782C58.8194 85.807 54.8706 81.8582 49.9994 81.8582C45.1283 81.8582 41.1794 85.807 41.1794 90.6782C41.1794 95.5494 45.1283 99.4982 49.9994 99.4982Z`,fill:`currentColor`}),(0,d.jsx)(`path`,{d:`M14.7653 79.1587C19.6365 79.1587 23.5853 75.2099 23.5853 70.3387C23.5853 65.4675 19.6365 61.5187 14.7653 61.5187C9.89416 61.5187 5.94531 65.4675 5.94531 70.3387C5.94531 75.2099 9.89416 79.1587 14.7653 79.1587Z`,fill:`currentColor`}),(0,d.jsx)(`path`,{d:`M14.7653 38.4796C19.6365 38.4796 23.5853 34.5308 23.5853 29.6596C23.5853 24.7884 19.6365 20.8396 14.7653 20.8396C9.89416 20.8396 5.94531 24.7884 5.94531 29.6596C5.94531 34.5308 9.89416 38.4796 14.7653 38.4796Z`,fill:`currentColor`})]});var ih=`AlertDialog`,[ah,oh]=Wn(ih,[fa]),sh=fa(),ch=e=>{let{__scopeAlertDialog:t,...n}=e,r=sh(t);return(0,d.jsx)(Ua,{...r,...n,modal:!0})};ch.displayName=ih;var lh=`AlertDialogTrigger`,uh=r.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=sh(n);return(0,d.jsx)(Wa,{...i,...r,ref:t})});uh.displayName=lh;var dh=`AlertDialogPortal`,fh=e=>{let{__scopeAlertDialog:t,...n}=e,r=sh(t);return(0,d.jsx)(Ga,{...r,...n})};fh.displayName=dh;var ph=`AlertDialogOverlay`,mh=r.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=sh(n);return(0,d.jsx)(Ka,{...i,...r,ref:t})});mh.displayName=ph;var hh=`AlertDialogContent`,[gh,_h]=ah(hh),vh=ir(`AlertDialogContent`),yh=r.forwardRef((e,t)=>{let{__scopeAlertDialog:n,children:i,...a}=e,o=sh(n),s=r.useRef(null),c=U(t,s),l=r.useRef(null);return(0,d.jsx)(Ra,{contentName:hh,titleName:bh,docsSlug:`alert-dialog`,children:(0,d.jsx)(gh,{scope:n,cancelRef:l,children:(0,d.jsxs)(qa,{role:`alertdialog`,...o,...a,ref:c,onOpenAutoFocus:G(a.onOpenAutoFocus,e=>{e.preventDefault(),l.current?.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,d.jsx)(vh,{children:i}),(0,d.jsx)(Oh,{contentRef:s})]})})})});yh.displayName=hh;var bh=`AlertDialogTitle`,xh=r.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=sh(n);return(0,d.jsx)(Ja,{...i,...r,ref:t})});xh.displayName=bh;var Sh=`AlertDialogDescription`,Ch=r.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=sh(n);return(0,d.jsx)(Ya,{...i,...r,ref:t})});Ch.displayName=Sh;var wh=`AlertDialogAction`,Th=r.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=sh(n);return(0,d.jsx)(Xa,{...i,...r,ref:t})});Th.displayName=wh;var Eh=`AlertDialogCancel`,Dh=r.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,{cancelRef:i}=_h(Eh,n),a=sh(n),o=U(t,i);return(0,d.jsx)(Xa,{...a,...r,ref:o})});Dh.displayName=Eh;var Oh=({contentRef:e})=>{let t=`\`${hh}\` requires a description for the component to be accessible for screen reader users.
You can add a description to the \`${hh}\` by passing a \`${Sh}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
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 \`${hh}\`. 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 r.useEffect(()=>{document.getElementById(e.current?.getAttribute(`aria-describedby`))||console.warn(t)},[t,e]),null},kh=ch,Ah=uh,jh=fh,Mh=mh,Nh=yh,Ph=Th,Fh=Dh,Ih=xh,Lh=Ch;function Rh({...e}){return(0,d.jsx)(kh,{"data-slot":`alert-dialog`,...e})}function zh({...e}){return(0,d.jsx)(Ah,{"data-slot":`alert-dialog-trigger`,...e})}function Bh({...e}){return(0,d.jsx)(jh,{"data-slot":`alert-dialog-portal`,...e})}function Vh({className:e,...t}){return(0,d.jsx)(Mh,{"data-slot":`alert-dialog-overlay`,className:H(`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/50`,e),...t})}function Hh({className:e,...t}){return(0,d.jsxs)(Bh,{children:[(0,d.jsx)(Vh,{}),(0,d.jsx)(Nh,{"data-slot":`alert-dialog-content`,className:H(`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 fixed left-[50%] top-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg`,e),...t})]})}function Uh({className:e,...t}){return(0,d.jsx)(`div`,{"data-slot":`alert-dialog-header`,className:H(`flex flex-col gap-2 text-center sm:text-left`,e),...t})}function Wh({className:e,...t}){return(0,d.jsx)(`div`,{"data-slot":`alert-dialog-footer`,className:H(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e),...t})}function Gh({className:e,...t}){return(0,d.jsx)(Ih,{"data-slot":`alert-dialog-title`,className:H(`text-lg font-semibold`,e),...t})}function Kh({className:e,...t}){return(0,d.jsx)(Lh,{"data-slot":`alert-dialog-description`,className:H(`text-muted-foreground text-sm`,e),...t})}function qh({className:e,...t}){return(0,d.jsx)(Ph,{className:H(Vn(),e),...t})}function Jh({className:e,...t}){return(0,d.jsx)(Fh,{className:H(Vn({variant:`outline`}),e),...t})}var Yh=`Collapsible`,[Xh,Zh]=Wn(Yh),[Qh,$h]=Xh(Yh),eg=r.forwardRef((e,t)=>{let{__scopeCollapsible:n,open:i,defaultOpen:a,disabled:o,onOpenChange:s,...c}=e,[l,u]=Zn({prop:i,defaultProp:a??!1,onChange:s,caller:Yh});return(0,d.jsx)(Qh,{scope:n,disabled:o,contentId:Yn(),open:l,onOpenToggle:r.useCallback(()=>u(e=>!e),[u]),children:(0,d.jsx)(K.div,{"data-state":og(l),"data-disabled":o?``:void 0,...c,ref:t})})});eg.displayName=Yh;var tg=`CollapsibleTrigger`,ng=r.forwardRef((e,t)=>{let{__scopeCollapsible:n,...r}=e,i=$h(tg,n);return(0,d.jsx)(K.button,{type:`button`,"aria-controls":i.contentId,"aria-expanded":i.open||!1,"data-state":og(i.open),"data-disabled":i.disabled?``:void 0,disabled:i.disabled,...r,ref:t,onClick:G(e.onClick,i.onOpenToggle)})});ng.displayName=tg;var rg=`CollapsibleContent`,ig=r.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=$h(rg,e.__scopeCollapsible);return(0,d.jsx)(Vr,{present:n||i.open,children:({present:e})=>(0,d.jsx)(ag,{...r,ref:t,present:e})})});ig.displayName=rg;var ag=r.forwardRef((e,t)=>{let{__scopeCollapsible:n,present:i,children:a,...o}=e,s=$h(rg,n),[c,l]=r.useState(i),u=r.useRef(null),f=U(t,u),p=r.useRef(0),m=p.current,h=r.useRef(0),g=h.current,_=s.open||c,v=r.useRef(_),y=r.useRef(void 0);return r.useEffect(()=>{let e=requestAnimationFrame(()=>v.current=!1);return()=>cancelAnimationFrame(e)},[]),Kn(()=>{let e=u.current;if(e){y.current=y.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration=`0s`,e.style.animationName=`none`;let t=e.getBoundingClientRect();p.current=t.height,h.current=t.width,v.current||(e.style.transitionDuration=y.current.transitionDuration,e.style.animationName=y.current.animationName),l(i)}},[s.open,i]),(0,d.jsx)(K.div,{"data-state":og(s.open),"data-disabled":s.disabled?``:void 0,id:s.contentId,hidden:!_,...o,ref:f,style:{"--radix-collapsible-content-height":m?`${m}px`:void 0,"--radix-collapsible-content-width":g?`${g}px`:void 0,...e.style},children:_&&a})});function og(e){return e?`open`:`closed`}var sg=eg;function cg({...e}){return(0,d.jsx)(sg,{"data-slot":`collapsible`,...e})}function lg({...e}){return(0,d.jsx)(ng,{"data-slot":`collapsible-trigger`,...e})}function ug({...e}){return(0,d.jsx)(ig,{"data-slot":`collapsible-content`,...e})}function dg(e,[t,n]){return Math.min(n,Math.max(t,e))}function fg(e,t){return r.useReducer((e,n)=>t[e][n]??e,e)}var pg=`ScrollArea`,[mg,hg]=Wn(pg),[gg,_g]=mg(pg),vg=r.forwardRef((e,t)=>{let{__scopeScrollArea:n,type:i=`hover`,dir:a,scrollHideDelay:o=600,...s}=e,[c,l]=r.useState(null),[u,f]=r.useState(null),[p,m]=r.useState(null),[h,g]=r.useState(null),[_,v]=r.useState(null),[y,b]=r.useState(0),[x,S]=r.useState(0),[C,w]=r.useState(!1),[T,E]=r.useState(!1),D=U(t,e=>l(e)),O=lo(a);return(0,d.jsx)(gg,{scope:n,type:i,dir:O,scrollHideDelay:o,scrollArea:c,viewport:u,onViewportChange:f,content:p,onContentChange:m,scrollbarX:h,onScrollbarXChange:g,scrollbarXEnabled:C,onScrollbarXEnabledChange:w,scrollbarY:_,onScrollbarYChange:v,scrollbarYEnabled:T,onScrollbarYEnabledChange:E,onCornerWidthChange:b,onCornerHeightChange:S,children:(0,d.jsx)(K.div,{dir:O,...s,ref:D,style:{position:`relative`,"--radix-scroll-area-corner-width":y+`px`,"--radix-scroll-area-corner-height":x+`px`,...e.style}})})});vg.displayName=pg;var yg=`ScrollAreaViewport`,bg=r.forwardRef((e,t)=>{let{__scopeScrollArea:n,children:i,nonce:a,...o}=e,s=_g(yg,n),c=r.useRef(null),l=U(t,c,s.onViewportChange);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`},nonce:a}),(0,d.jsx)(K.div,{"data-radix-scroll-area-viewport":``,...o,ref:l,style:{overflowX:s.scrollbarXEnabled?`scroll`:`hidden`,overflowY:s.scrollbarYEnabled?`scroll`:`hidden`,...e.style},children:(0,d.jsx)(`div`,{ref:s.onContentChange,style:{minWidth:`100%`,display:`table`},children:i})})]})});bg.displayName=yg;var xg=`ScrollAreaScrollbar`,Sg=r.forwardRef((e,t)=>{let{forceMount:n,...i}=e,a=_g(xg,e.__scopeScrollArea),{onScrollbarXEnabledChange:o,onScrollbarYEnabledChange:s}=a,c=e.orientation===`horizontal`;return r.useEffect(()=>(c?o(!0):s(!0),()=>{c?o(!1):s(!1)}),[c,o,s]),a.type===`hover`?(0,d.jsx)(Cg,{...i,ref:t,forceMount:n}):a.type===`scroll`?(0,d.jsx)(wg,{...i,ref:t,forceMount:n}):a.type===`auto`?(0,d.jsx)(Tg,{...i,ref:t,forceMount:n}):a.type===`always`?(0,d.jsx)(Eg,{...i,ref:t}):null});Sg.displayName=xg;var Cg=r.forwardRef((e,t)=>{let{forceMount:n,...i}=e,a=_g(xg,e.__scopeScrollArea),[o,s]=r.useState(!1);return r.useEffect(()=>{let e=a.scrollArea,t=0;if(e){let n=()=>{window.clearTimeout(t),s(!0)},r=()=>{t=window.setTimeout(()=>s(!1),a.scrollHideDelay)};return e.addEventListener(`pointerenter`,n),e.addEventListener(`pointerleave`,r),()=>{window.clearTimeout(t),e.removeEventListener(`pointerenter`,n),e.removeEventListener(`pointerleave`,r)}}},[a.scrollArea,a.scrollHideDelay]),(0,d.jsx)(Vr,{present:n||o,children:(0,d.jsx)(Tg,{"data-state":o?`visible`:`hidden`,...i,ref:t})})}),wg=r.forwardRef((e,t)=>{let{forceMount:n,...i}=e,a=_g(xg,e.__scopeScrollArea),o=e.orientation===`horizontal`,s=Kg(()=>l(`SCROLL_END`),100),[c,l]=fg(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}});return r.useEffect(()=>{if(c===`idle`){let e=window.setTimeout(()=>l(`HIDE`),a.scrollHideDelay);return()=>window.clearTimeout(e)}},[c,a.scrollHideDelay,l]),r.useEffect(()=>{let e=a.viewport,t=o?`scrollLeft`:`scrollTop`;if(e){let n=e[t],r=()=>{let r=e[t];n!==r&&(l(`SCROLL`),s()),n=r};return e.addEventListener(`scroll`,r),()=>e.removeEventListener(`scroll`,r)}},[a.viewport,o,l,s]),(0,d.jsx)(Vr,{present:n||c!==`hidden`,children:(0,d.jsx)(Eg,{"data-state":c===`hidden`?`hidden`:`visible`,...i,ref:t,onPointerEnter:G(e.onPointerEnter,()=>l(`POINTER_ENTER`)),onPointerLeave:G(e.onPointerLeave,()=>l(`POINTER_LEAVE`))})})}),Tg=r.forwardRef((e,t)=>{let n=_g(xg,e.__scopeScrollArea),{forceMount:i,...a}=e,[o,s]=r.useState(!1),c=e.orientation===`horizontal`,l=Kg(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;s(c?e:t)}},10);return qg(n.viewport,l),qg(n.content,l),(0,d.jsx)(Vr,{present:i||o,children:(0,d.jsx)(Eg,{"data-state":o?`visible`:`hidden`,...a,ref:t})})}),Eg=r.forwardRef((e,t)=>{let{orientation:n=`vertical`,...i}=e,a=_g(xg,e.__scopeScrollArea),o=r.useRef(null),s=r.useRef(0),[c,l]=r.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=zg(c.viewport,c.content),f={...i,sizes:c,onSizesChange:l,hasThumb:u>0&&u<1,onThumbChange:e=>o.current=e,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:e=>s.current=e};function p(e,t){return Vg(e,s.current,c,t)}return n===`horizontal`?(0,d.jsx)(Dg,{...f,ref:t,onThumbPositionChange:()=>{if(a.viewport&&o.current){let e=a.viewport.scrollLeft,t=Hg(e,c,a.dir);o.current.style.transform=`translate3d(${t}px, 0, 0)`}},onWheelScroll:e=>{a.viewport&&(a.viewport.scrollLeft=e)},onDragScroll:e=>{a.viewport&&(a.viewport.scrollLeft=p(e,a.dir))}}):n===`vertical`?(0,d.jsx)(Og,{...f,ref:t,onThumbPositionChange:()=>{if(a.viewport&&o.current){let e=a.viewport.scrollTop,t=Hg(e,c);o.current.style.transform=`translate3d(0, ${t}px, 0)`}},onWheelScroll:e=>{a.viewport&&(a.viewport.scrollTop=e)},onDragScroll:e=>{a.viewport&&(a.viewport.scrollTop=p(e))}}):null}),Dg=r.forwardRef((e,t)=>{let{sizes:n,onSizesChange:i,...a}=e,o=_g(xg,e.__scopeScrollArea),[s,c]=r.useState(),l=r.useRef(null),u=U(t,l,o.onScrollbarXChange);return r.useEffect(()=>{l.current&&c(getComputedStyle(l.current))},[l]),(0,d.jsx)(jg,{"data-orientation":`horizontal`,...a,ref:u,sizes:n,style:{bottom:0,left:o.dir===`rtl`?`var(--radix-scroll-area-corner-width)`:0,right:o.dir===`ltr`?`var(--radix-scroll-area-corner-width)`:0,"--radix-scroll-area-thumb-width":Bg(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,n)=>{if(o.viewport){let r=o.viewport.scrollLeft+t.deltaX;e.onWheelScroll(r),Wg(r,n)&&t.preventDefault()}},onResize:()=>{l.current&&o.viewport&&s&&i({content:o.viewport.scrollWidth,viewport:o.viewport.offsetWidth,scrollbar:{size:l.current.clientWidth,paddingStart:Rg(s.paddingLeft),paddingEnd:Rg(s.paddingRight)}})}})}),Og=r.forwardRef((e,t)=>{let{sizes:n,onSizesChange:i,...a}=e,o=_g(xg,e.__scopeScrollArea),[s,c]=r.useState(),l=r.useRef(null),u=U(t,l,o.onScrollbarYChange);return r.useEffect(()=>{l.current&&c(getComputedStyle(l.current))},[l]),(0,d.jsx)(jg,{"data-orientation":`vertical`,...a,ref:u,sizes:n,style:{top:0,right:o.dir===`ltr`?0:void 0,left:o.dir===`rtl`?0:void 0,bottom:`var(--radix-scroll-area-corner-height)`,"--radix-scroll-area-thumb-height":Bg(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,n)=>{if(o.viewport){let r=o.viewport.scrollTop+t.deltaY;e.onWheelScroll(r),Wg(r,n)&&t.preventDefault()}},onResize:()=>{l.current&&o.viewport&&s&&i({content:o.viewport.scrollHeight,viewport:o.viewport.offsetHeight,scrollbar:{size:l.current.clientHeight,paddingStart:Rg(s.paddingTop),paddingEnd:Rg(s.paddingBottom)}})}})}),[kg,Ag]=mg(xg),jg=r.forwardRef((e,t)=>{let{__scopeScrollArea:n,sizes:i,hasThumb:a,onThumbChange:o,onThumbPointerUp:s,onThumbPointerDown:c,onThumbPositionChange:l,onDragScroll:u,onWheelScroll:f,onResize:p,...m}=e,h=_g(xg,n),[g,_]=r.useState(null),v=U(t,e=>_(e)),y=r.useRef(null),b=r.useRef(``),x=h.viewport,S=i.content-i.viewport,C=lr(f),w=lr(l),T=Kg(p,10);function E(e){if(y.current){let t=e.clientX-y.current.left,n=e.clientY-y.current.top;u({x:t,y:n})}}return r.useEffect(()=>{let e=e=>{let t=e.target;g?.contains(t)&&C(e,S)};return document.addEventListener(`wheel`,e,{passive:!1}),()=>document.removeEventListener(`wheel`,e,{passive:!1})},[x,g,S,C]),r.useEffect(w,[i,w]),qg(g,T),qg(h.content,T),(0,d.jsx)(kg,{scope:n,scrollbar:g,hasThumb:a,onThumbChange:lr(o),onThumbPointerUp:lr(s),onThumbPositionChange:w,onThumbPointerDown:lr(c),children:(0,d.jsx)(K.div,{...m,ref:v,style:{position:`absolute`,...m.style},onPointerDown:G(e.onPointerDown,e=>{e.button===0&&(e.target.setPointerCapture(e.pointerId),y.current=g.getBoundingClientRect(),b.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,h.viewport&&(h.viewport.style.scrollBehavior=`auto`),E(e))}),onPointerMove:G(e.onPointerMove,E),onPointerUp:G(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=b.current,h.viewport&&(h.viewport.style.scrollBehavior=``),y.current=null})})})}),Mg=`ScrollAreaThumb`,Ng=r.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=Ag(Mg,e.__scopeScrollArea);return(0,d.jsx)(Vr,{present:n||i.hasThumb,children:(0,d.jsx)(Pg,{ref:t,...r})})}),Pg=r.forwardRef((e,t)=>{let{__scopeScrollArea:n,style:i,...a}=e,o=_g(Mg,n),s=Ag(Mg,n),{onThumbPositionChange:c}=s,l=U(t,e=>s.onThumbChange(e)),u=r.useRef(void 0),f=Kg(()=>{u.current&&=(u.current(),void 0)},100);return r.useEffect(()=>{let e=o.viewport;if(e){let t=()=>{f(),u.current||(u.current=Gg(e,c),c())};return c(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[o.viewport,f,c]),(0,d.jsx)(K.div,{"data-state":s.hasThumb?`visible`:`hidden`,...a,ref:l,style:{width:`var(--radix-scroll-area-thumb-width)`,height:`var(--radix-scroll-area-thumb-height)`,...i},onPointerDownCapture:G(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;s.onThumbPointerDown({x:n,y:r})}),onPointerUp:G(e.onPointerUp,s.onThumbPointerUp)})});Ng.displayName=Mg;var Fg=`ScrollAreaCorner`,Ig=r.forwardRef((e,t)=>{let n=_g(Fg,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,d.jsx)(Lg,{...e,ref:t}):null});Ig.displayName=Fg;var Lg=r.forwardRef((e,t)=>{let{__scopeScrollArea:n,...i}=e,a=_g(Fg,n),[o,s]=r.useState(0),[c,l]=r.useState(0),u=!!(o&&c);return qg(a.scrollbarX,()=>{let e=a.scrollbarX?.offsetHeight||0;a.onCornerHeightChange(e),l(e)}),qg(a.scrollbarY,()=>{let e=a.scrollbarY?.offsetWidth||0;a.onCornerWidthChange(e),s(e)}),u?(0,d.jsx)(K.div,{...i,ref:t,style:{width:o,height:c,position:`absolute`,right:a.dir===`ltr`?0:void 0,left:a.dir===`rtl`?0:void 0,bottom:0,...e.style}}):null});function Rg(e){return e?parseInt(e,10):0}function zg(e,t){let n=e/t;return isNaN(n)?0:n}function Bg(e){let t=zg(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function Vg(e,t,n,r=`ltr`){let i=Bg(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return Ug([c,l],d)(e)}function Hg(e,t,n=`ltr`){let r=Bg(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=n===`ltr`?[0,o]:[o*-1,0],l=dg(e,c);return Ug([0,o],[0,s])(l)}function Ug(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function Wg(e,t){return e>0&&e<t}var Gg=(e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return(function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)})(),()=>window.cancelAnimationFrame(r)};function Kg(e,t){let n=lr(e),i=r.useRef(0);return r.useEffect(()=>()=>window.clearTimeout(i.current),[]),r.useCallback(()=>{window.clearTimeout(i.current),i.current=window.setTimeout(n,t)},[n,t])}function qg(e,t){let n=lr(t);Kn(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}var Jg=vg,Yg=bg,Xg=Ig;function Zg({className:e,children:t,...n}){return(0,d.jsxs)(Jg,{"data-slot":`scroll-area`,className:H(`relative`,e),...n,children:[(0,d.jsx)(Yg,{"data-slot":`scroll-area-viewport`,className:`focus-visible:ring-ring/50 size-full rounded-[inherit] outline-none transition-[color,box-shadow] focus-visible:outline-1 focus-visible:ring-[3px]`,children:t}),(0,d.jsx)(Qg,{}),(0,d.jsx)(Xg,{})]})}function Qg({className:e,orientation:t=`vertical`,...n}){return(0,d.jsx)(Sg,{"data-slot":`scroll-area-scrollbar`,orientation:t,className:H(`flex touch-none select-none p-px transition-colors`,t===`vertical`&&`h-full w-2.5 border-l border-l-transparent`,t===`horizontal`&&`h-2.5 flex-col border-t border-t-transparent`,e),...n,children:(0,d.jsx)(Ng,{"data-slot":`scroll-area-thumb`,className:`bg-border relative flex-1 rounded-full`})})}var $g=(0,r.createContext)({});const e_=()=>(0,r.useContext)($g),t_=e=>(0,d.jsx)($g.Provider,{value:{...e},children:e.children}),n_=e=>{let{activeOperation:t,operations:n,addOperation:i,setActiveOperation:o,deleteCollection:s,deleteOperationFromCollection:c,addTab:l,setActiveTab:u,checkPermissions:f}=e_(),[p,m]=(0,r.useState)(!1);return(0,d.jsxs)(cg,{open:p,onOpenChange:m,children:[(0,d.jsx)(lg,{asChild:!0,children:(0,d.jsxs)(W,{variant:`ghost`,className:`bg-background group sticky top-0 w-full justify-start px-2`,size:`sm`,children:[p?(0,d.jsx)(a.FolderOpenIcon,{className:`text-muted-foreground size-4`}):(0,d.jsx)(a.FolderIcon,{className:`text-muted-foreground size-4`}),e.collection.name,f?.(`collections:delete`)&&(0,d.jsxs)(eh,{children:[(0,d.jsx)(Dm,{asChild:!0,children:(0,d.jsxs)(Rh,{children:[(0,d.jsx)(zh,{asChild:!0,children:(0,d.jsx)(W,{variant:`link`,className:`text-muted-foreground hover:text-destructive p-1! pr-0! ml-auto opacity-0 transition-opacity group-hover:opacity-100`,onClick:e=>{e.stopPropagation()},children:(0,d.jsx)(a.TrashIcon,{})})}),(0,d.jsxs)(Hh,{children:[(0,d.jsxs)(Uh,{children:[(0,d.jsx)(Gh,{children:`Are you sure you want to delete collection?`}),(0,d.jsxs)(Kh,{children:[e.collection.name,` will be permanently deleted. All operations in this collection will be deleted as well.`]})]}),(0,d.jsxs)(Wh,{children:[(0,d.jsx)(Jh,{children:`Cancel`}),(0,d.jsx)(qh,{asChild:!0,children:(0,d.jsx)(W,{variant:`destructive`,onClick:t=>{t.stopPropagation(),s(e.collection.id)},children:`Delete`})})]})]})]})}),(0,d.jsx)(nh,{children:`Delete collection`})]})]})}),(0,d.jsx)(ug,{className:H(`border-border ml-4 flex flex-col gap-1 border-l pl-2`),children:p&&e.collection.operations.map(r=>{let s=t?.id===r.id;return(0,d.jsxs)(W,{variant:`ghost`,className:H(`group w-full justify-start gap-2 px-2`,{"bg-accent/50":s}),size:`sm`,onClick:()=>{if(n.some(e=>e.id===r.id))o(r.id);else{let e=i(r),t=l({type:`operation`,data:e});u(t)}},children:[(0,d.jsx)(rh,{className:`size-4 text-pink-500`}),r.name,f?.(`collectionsOperations:delete`)&&(0,d.jsxs)(eh,{children:[(0,d.jsx)(Dm,{asChild:!0,children:(0,d.jsxs)(Rh,{children:[(0,d.jsx)(zh,{asChild:!0,children:(0,d.jsx)(W,{variant:`link`,className:`text-muted-foreground hover:text-destructive p-1! pr-0! ml-auto opacity-0 transition-opacity group-hover:opacity-100`,onClick:e=>{e.stopPropagation()},children:(0,d.jsx)(a.TrashIcon,{})})}),(0,d.jsxs)(Hh,{children:[(0,d.jsxs)(Uh,{children:[(0,d.jsxs)(Gh,{children:[`Are you sure you want to delete operation `,r.name,`?`]}),(0,d.jsxs)(Kh,{children:[r.name,` will be permanently deleted.`]})]}),(0,d.jsxs)(Wh,{children:[(0,d.jsx)(Jh,{children:`Cancel`}),(0,d.jsx)(qh,{asChild:!0,children:(0,d.jsx)(W,{variant:`destructive`,onClick:t=>{t.stopPropagation(),c(e.collection.id,r.id)},children:`Delete`})})]})]})]})}),(0,d.jsx)(nh,{children:`Delete operation`})]})]},r.name)})})]})},r_=e=>{let{activeOperation:t,operations:n,addOperation:r,setActiveOperation:i,addTab:a,setActiveTab:o}=e_();return(0,d.jsx)(`div`,{className:`flex flex-col gap-1`,children:e.items.map(e=>{let s=t?.id===e.id;return(0,d.jsxs)(W,{variant:`ghost`,className:H(`group w-full justify-start gap-2 px-2`,{"bg-accent/50":s}),size:`sm`,onClick:()=>{if(n.some(t=>t.id===e.id))i(e.id);else{let t=r(e),n=a({type:`operation`,data:t});o(n)}},children:[(0,d.jsx)(rh,{className:`size-4 text-pink-500`}),(0,d.jsx)(`span`,{className:`text-muted-foreground truncate`,children:e.parent.name}),(0,d.jsx)(`span`,{className:`text-muted-foreground`,children:` / `}),e.name]},e.name)})})},i_=()=>{let[e,t]=(0,r.useState)(``),{collections:n,openAddCollectionDialog:i,checkPermissions:o}=e_(),s=(0,r.useMemo)(()=>n.reduce((e,t)=>[...e,...t.operations.map(e=>({...e,parent:t}))],[]).filter(t=>t.name.toLowerCase().includes(e.toLowerCase())),[n,e]);return(0,d.jsxs)(`div`,{className:`grid size-full grid-rows-[auto_1fr] pb-0`,children:[(0,d.jsxs)(`div`,{className:`flex flex-col`,children:[(0,d.jsxs)(`div`,{className:`flex items-center gap-2 p-3 pb-0`,children:[(0,d.jsx)(`span`,{className:`text-base font-medium`,children:`Collections`}),(0,d.jsx)(`div`,{className:`ml-auto flex items-center gap-2`,children:o?.(`collections:create`)&&(0,d.jsxs)(eh,{children:[(0,d.jsx)(Dm,{asChild:!0,children:(0,d.jsx)(W,{variant:`ghost`,size:`icon-sm`,className:`p-1! size-6 rounded-sm`,onClick:i,children:(0,d.jsx)(a.FolderPlusIcon,{className:`text-primary size-4`})})}),(0,d.jsx)(nh,{children:`Add collection`})]})})]}),(0,d.jsxs)(`div`,{className:`border-border relative border-b p-3`,children:[(0,d.jsx)(a.SearchIcon,{className:`text-muted-foreground absolute left-5 top-1/2 size-4 -translate-y-1/2`}),(0,d.jsx)(gf,{type:`text`,placeholder:`Search...`,className:H(`px-7`),value:e,onChange:e=>t(e.target.value)}),e.length>0&&(0,d.jsx)(W,{variant:`ghost`,size:`icon-sm`,className:`p-1! absolute right-5 top-1/2 size-6 -translate-y-1/2 rounded-sm`,onClick:()=>t(``),children:(0,d.jsx)(a.XIcon,{className:`text-muted-foreground size-4`})})]})]}),(0,d.jsx)(`div`,{className:`size-full overflow-hidden`,children:(0,d.jsxs)(Zg,{className:`size-full`,children:[(0,d.jsx)(`div`,{className:`flex flex-col gap-1 p-3`,children:e.length>0?s.length>0?(0,d.jsx)(r_,{items:s}):(0,d.jsx)(Zd,{className:`px-0! w-full`,children:(0,d.jsxs)(Qd,{children:[(0,d.jsx)(ef,{variant:`icon`,children:(0,d.jsx)(a.SearchIcon,{className:`text-muted-foreground size-6`})}),(0,d.jsx)(tf,{className:`text-base`,children:`No results found`}),(0,d.jsx)(nf,{className:`text-xs`,children:`No collections found matching your search.`})]})}):n.length>0?n.map(e=>(0,d.jsx)(n_,{collection:e},e.id)):(0,d.jsxs)(Zd,{className:`px-0! w-full`,children:[(0,d.jsxs)(Qd,{children:[(0,d.jsx)(ef,{variant:`icon`,children:(0,d.jsx)(a.FolderIcon,{className:`text-muted-foreground size-6`})}),(0,d.jsx)(tf,{className:`text-base`,children:`No collections yet`}),(0,d.jsx)(nf,{className:`text-xs`,children:`You haven't created any collections yet. Get started by adding your first collection.`})]}),(0,d.jsx)(rf,{children:(0,d.jsx)(W,{variant:`secondary`,size:`sm`,onClick:i,children:`Add collection`})})]})}),(0,d.jsx)(Qg,{})]})})]})};var a_=1,o_=.9,s_=.8,c_=.17,l_=.1,u_=.999,d_=.9999,f_=.99,p_=/[\\\/_+.#"@\[\(\{&]/,m_=/[\\\/_+.#"@\[\(\{&]/g,h_=/[\s-]/,g_=/[\s-]/g;function __(e,t,n,r,i,a,o){if(a===t.length)return i===e.length?a_:f_;var s=`${i},${a}`;if(o[s]!==void 0)return o[s];for(var c=r.charAt(a),l=n.indexOf(c,i),u=0,d,f,p,m;l>=0;)d=__(e,t,n,r,l+1,a+1,o),d>u&&(l===i?d*=a_:p_.test(e.charAt(l-1))?(d*=s_,p=e.slice(i,l-1).match(m_),p&&i>0&&(d*=u_**+p.length)):h_.test(e.charAt(l-1))?(d*=o_,m=e.slice(i,l-1).match(g_),m&&i>0&&(d*=u_**+m.length)):(d*=c_,i>0&&(d*=u_**+(l-i))),e.charAt(l)!==t.charAt(a)&&(d*=d_)),(d<l_&&n.charAt(l-1)===r.charAt(a+1)||r.charAt(a+1)===r.charAt(a)&&n.charAt(l-1)!==r.charAt(a))&&(f=__(e,t,n,r,l+1,a+2,o),f*l_>d&&(d=f*l_)),d>u&&(u=d),l=n.indexOf(c,l+1);return o[s]=u,u}function v_(e){return e.toLowerCase().replace(g_,` `)}function y_(e,t,n){return e=n&&n.length>0?`${e+` `+n.join(` `)}`:e,__(e,t,v_(e),v_(t),0,0,{})}var b_=`[cmdk-group=""]`,x_=`[cmdk-group-items=""]`,S_=`[cmdk-group-heading=""]`,C_=`[cmdk-item=""]`,w_=`${C_}:not([aria-disabled="true"])`,T_=`cmdk-item-select`,E_=`data-value`,D_=(e,t,n)=>y_(e,t,n),O_=r.createContext(void 0),k_=()=>r.useContext(O_),A_=r.createContext(void 0),j_=()=>r.useContext(A_),M_=r.createContext(void 0),N_=r.forwardRef((e,t)=>{let n=q_(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),i=q_(()=>new Set),a=q_(()=>new Map),o=q_(()=>new Map),s=q_(()=>new Set),c=G_(e),{label:l,children:u,value:d,onValueChange:f,filter:p,shouldFilter:m,loop:h,disablePointerSelection:g=!1,vimBindings:_=!0,...v}=e,y=Yn(),b=Yn(),x=Yn(),S=r.useRef(null),C=X_();K_(()=>{if(d!==void 0){let e=d.trim();n.current.value=e,w.emit()}},[d]),K_(()=>{C(6,A)},[]);let w=r.useMemo(()=>({subscribe:e=>(s.current.add(e),()=>s.current.delete(e)),snapshot:()=>n.current,setState:(e,t,r)=>{var i,a,o;if(!Object.is(n.current[e],t)){if(n.current[e]=t,e===`search`)k(),D(),C(1,O);else if(e===`value`){if(document.activeElement.hasAttribute(`cmdk-input`)||document.activeElement.hasAttribute(`cmdk-root`)){let e=document.getElementById(x);e?e.focus():(i=document.getElementById(y))==null||i.focus()}if(C(7,()=>{n.current.selectedItemId=j()?.id,w.emit()}),r||C(5,A),c.current?.value!==void 0){let e=t??``;(o=(a=c.current).onValueChange)==null||o.call(a,e);return}}w.emit()}},emit:()=>{s.current.forEach(e=>e())}}),[]),T=r.useMemo(()=>({value:(e,t,r)=>{t!==o.current.get(e)?.value&&(o.current.set(e,{value:t,keywords:r}),n.current.filtered.items.set(e,E(t,r)),C(2,()=>{D(),w.emit()}))},item:(e,t)=>(i.current.add(e),t&&(a.current.has(t)?a.current.get(t).add(e):a.current.set(t,new Set([e]))),C(3,()=>{k(),D(),n.current.value||O(),w.emit()}),()=>{o.current.delete(e),i.current.delete(e),n.current.filtered.items.delete(e);let t=j();C(4,()=>{k(),t?.getAttribute(`id`)===e&&O(),w.emit()})}),group:e=>(a.current.has(e)||a.current.set(e,new Set),()=>{o.current.delete(e),a.current.delete(e)}),filter:()=>c.current.shouldFilter,label:l||e[`aria-label`],getDisablePointerSelection:()=>c.current.disablePointerSelection,listId:y,inputId:x,labelId:b,listInnerRef:S}),[]);function E(e,t){let r=c.current?.filter??D_;return e?r(e,n.current.search,t):0}function D(){if(!n.current.search||c.current.shouldFilter===!1)return;let e=n.current.filtered.items,t=[];n.current.filtered.groups.forEach(n=>{let r=a.current.get(n),i=0;r.forEach(t=>{let n=e.get(t);i=Math.max(n,i)}),t.push([n,i])});let r=S.current;M().sort((t,n)=>{let r=t.getAttribute(`id`),i=n.getAttribute(`id`);return(e.get(i)??0)-(e.get(r)??0)}).forEach(e=>{let t=e.closest(x_);t?t.appendChild(e.parentElement===t?e:e.closest(`${x_} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${x_} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=S.current?.querySelector(`${b_}[${E_}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function O(){let e=M().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(E_);w.setState(`value`,e||void 0)}function k(){if(!n.current.search||c.current.shouldFilter===!1){n.current.filtered.count=i.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let t of i.current){let r=o.current.get(t)?.value??``,i=o.current.get(t)?.keywords??[],a=E(r,i);n.current.filtered.items.set(t,a),a>0&&e++}for(let[e,t]of a.current)for(let r of t)if(n.current.filtered.items.get(r)>0){n.current.filtered.groups.add(e);break}n.current.filtered.count=e}function A(){var e;let t=j();t&&(t.parentElement?.firstChild===t&&((e=t.closest(b_)?.querySelector(S_))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function j(){return S.current?.querySelector(`${C_}[aria-selected="true"]`)}function M(){return Array.from(S.current?.querySelectorAll(w_)||[])}function N(e){let t=M()[e];t&&w.setState(`value`,t.getAttribute(E_))}function P(e){var t;let n=j(),r=M(),i=r.findIndex(e=>e===n),a=r[i+e];(t=c.current)!=null&&t.loop&&(a=i+e<0?r[r.length-1]:i+e===r.length?r[0]:r[i+e]),a&&w.setState(`value`,a.getAttribute(E_))}function F(e){let t=j()?.closest(b_),n;for(;t&&!n;)t=e>0?U_(t,b_):W_(t,b_),n=t?.querySelector(w_);n?w.setState(`value`,n.getAttribute(E_)):P(e)}let I=()=>N(M().length-1),L=e=>{e.preventDefault(),e.metaKey?I():e.altKey?F(1):P(1)},ee=e=>{e.preventDefault(),e.metaKey?N(0):e.altKey?F(-1):P(-1)};return r.createElement(K.div,{ref:t,tabIndex:-1,...v,"cmdk-root":``,onKeyDown:e=>{var t;(t=v.onKeyDown)==null||t.call(v,e);let n=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||n))switch(e.key){case`n`:case`j`:_&&e.ctrlKey&&L(e);break;case`ArrowDown`:L(e);break;case`p`:case`k`:_&&e.ctrlKey&&ee(e);break;case`ArrowUp`:ee(e);break;case`Home`:e.preventDefault(),N(0);break;case`End`:e.preventDefault(),I();break;case`Enter`:{e.preventDefault();let t=j();if(t){let e=new Event(T_);t.dispatchEvent(e)}}}}},r.createElement(`label`,{"cmdk-label":``,htmlFor:T.inputId,id:T.labelId,style:$_},l),Q_(e,e=>r.createElement(A_.Provider,{value:w},r.createElement(O_.Provider,{value:T},e))))}),P_=r.forwardRef((e,t)=>{let n=Yn(),i=r.useRef(null),a=r.useContext(M_),o=k_(),s=G_(e),c=s.current?.forceMount??a?.forceMount;K_(()=>{if(!c)return o.item(n,a?.id)},[c]);let l=Y_(n,i,[e.value,e.children,i],e.keywords),u=j_(),d=J_(e=>e.value&&e.value===l.current),f=J_(e=>c||o.filter()===!1?!0:e.search?e.filtered.items.get(n)>0:!0);r.useEffect(()=>{let t=i.current;if(!(!t||e.disabled))return t.addEventListener(T_,p),()=>t.removeEventListener(T_,p)},[f,e.onSelect,e.disabled]);function p(){var e,t;m(),(t=(e=s.current).onSelect)==null||t.call(e,l.current)}function m(){u.setState(`value`,l.current,!0)}if(!f)return null;let{disabled:h,value:g,onSelect:_,forceMount:v,keywords:y,...b}=e;return r.createElement(K.div,{ref:kn(i,t),...b,id:n,"cmdk-item":``,role:`option`,"aria-disabled":!!h,"aria-selected":!!d,"data-disabled":!!h,"data-selected":!!d,onPointerMove:h||o.getDisablePointerSelection()?void 0:m,onClick:h?void 0:p},e.children)}),F_=r.forwardRef((e,t)=>{let{heading:n,children:i,forceMount:a,...o}=e,s=Yn(),c=r.useRef(null),l=r.useRef(null),u=Yn(),d=k_(),f=J_(e=>a||d.filter()===!1?!0:e.search?e.filtered.groups.has(s):!0);K_(()=>d.group(s),[]),Y_(s,c,[e.value,e.heading,l]);let p=r.useMemo(()=>({id:s,forceMount:a}),[a]);return r.createElement(K.div,{ref:kn(c,t),...o,"cmdk-group":``,role:`presentation`,hidden:f?void 0:!0},n&&r.createElement(`div`,{ref:l,"cmdk-group-heading":``,"aria-hidden":!0,id:u},n),Q_(e,e=>r.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":n?u:void 0},r.createElement(M_.Provider,{value:p},e))))}),I_=r.forwardRef((e,t)=>{let{alwaysRender:n,...i}=e,a=r.useRef(null),o=J_(e=>!e.search);return!n&&!o?null:r.createElement(K.div,{ref:kn(a,t),...i,"cmdk-separator":``,role:`separator`})}),L_=r.forwardRef((e,t)=>{let{onValueChange:n,...i}=e,a=e.value!=null,o=j_(),s=J_(e=>e.search),c=J_(e=>e.selectedItemId),l=k_();return r.useEffect(()=>{e.value!=null&&o.setState(`search`,e.value)},[e.value]),r.createElement(K.input,{ref:t,...i,"cmdk-input":``,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,"aria-autocomplete":`list`,role:`combobox`,"aria-expanded":!0,"aria-controls":l.listId,"aria-labelledby":l.labelId,"aria-activedescendant":c,id:l.inputId,type:`text`,value:a?e.value:s,onChange:e=>{a||o.setState(`search`,e.target.value),n?.(e.target.value)}})}),R_=r.forwardRef((e,t)=>{let{children:n,label:i=`Suggestions`,...a}=e,o=r.useRef(null),s=r.useRef(null),c=J_(e=>e.selectedItemId),l=k_();return r.useEffect(()=>{if(s.current&&o.current){let e=s.current,t=o.current,n,r=new ResizeObserver(()=>{n=requestAnimationFrame(()=>{let n=e.offsetHeight;t.style.setProperty(`--cmdk-list-height`,n.toFixed(1)+`px`)})});return r.observe(e),()=>{cancelAnimationFrame(n),r.unobserve(e)}}},[]),r.createElement(K.div,{ref:kn(o,t),...a,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":c,"aria-label":i,id:l.listId},Q_(e,e=>r.createElement(`div`,{ref:kn(s,l.listInnerRef),"cmdk-list-sizer":``},e)))}),z_=r.forwardRef((e,t)=>{let{open:n,onOpenChange:i,overlayClassName:a,contentClassName:o,container:s,...c}=e;return r.createElement(Ua,{open:n,onOpenChange:i},r.createElement(Ga,{container:s},r.createElement(Ka,{"cmdk-overlay":``,className:a}),r.createElement(qa,{"aria-label":e.label,"cmdk-dialog":``,className:o},r.createElement(N_,{ref:t,...c}))))}),B_=r.forwardRef((e,t)=>J_(e=>e.filtered.count===0)?r.createElement(K.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),V_=r.forwardRef((e,t)=>{let{progress:n,children:i,label:a=`Loading...`,...o}=e;return r.createElement(K.div,{ref:t,...o,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":a},Q_(e,e=>r.createElement(`div`,{"aria-hidden":!0},e)))}),H_=Object.assign(N_,{List:R_,Item:P_,Input:L_,Group:F_,Separator:I_,Dialog:z_,Empty:B_,Loading:V_});function U_(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function W_(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function G_(e){let t=r.useRef(e);return K_(()=>{t.current=e}),t}var K_=typeof window>`u`?r.useEffect:r.useLayoutEffect;function q_(e){let t=r.useRef();return t.current===void 0&&(t.current=e()),t}function J_(e){let t=j_(),n=()=>e(t.snapshot());return r.useSyncExternalStore(t.subscribe,n,n)}function Y_(e,t,n,i=[]){let a=r.useRef(),o=k_();return K_(()=>{var r;let s=(()=>{for(let e of n){if(typeof e==`string`)return e.trim();if(typeof e==`object`&&`current`in e)return e.current?e.current.textContent?.trim():a.current}})(),c=i.map(e=>e.trim());o.value(e,s,c),(r=t.current)==null||r.setAttribute(E_,s),a.current=s}),a}var X_=()=>{let[e,t]=r.useState(),n=q_(()=>new Map);return K_(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function Z_(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function Q_({asChild:e,children:t},n){return e&&r.isValidElement(t)?r.cloneElement(Z_(t),{ref:t.ref},n(t.props.children)):n(t)}var $_={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`};function ev({className:e,...t}){return(0,d.jsx)(H_,{"data-slot":`command`,className:H(`bg-popover text-popover-foreground flex size-full flex-col overflow-hidden rounded-md`,e),...t})}function tv({title:e=`Command Palette`,description:t=`Search for a command to run...`,children:n,className:r,showCloseButton:i=!0,...a}){return(0,d.jsxs)(Za,{...a,children:[(0,d.jsxs)(ro,{className:`sr-only`,children:[(0,d.jsx)(ao,{children:e}),(0,d.jsx)(oo,{children:t})]}),(0,d.jsx)(no,{className:H(`overflow-hidden p-0`,r),showCloseButton:i,children:(0,d.jsx)(ev,{className:`[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:size-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:size-5`,children:n})})]})}function nv({className:e,...t}){return(0,d.jsxs)(`div`,{"data-slot":`command-input-wrapper`,className:`flex h-9 items-center gap-2 border-b px-3`,children:[(0,d.jsx)(a.SearchIcon,{className:`size-4 shrink-0 opacity-50`}),(0,d.jsx)(H_.Input,{"data-slot":`command-input`,className:H(`placeholder:text-muted-foreground outline-hidden flex h-10 w-full rounded-md bg-transparent py-3 text-sm disabled:cursor-not-allowed disabled:opacity-50`,e),...t})]})}function rv({className:e,...t}){return(0,d.jsx)(H_.List,{"data-slot":`command-list`,className:H(`max-h-[300px] scroll-py-1 overflow-y-auto overflow-x-hidden`,e),...t})}function iv({...e}){return(0,d.jsx)(H_.Empty,{"data-slot":`command-empty`,className:`py-6 text-center text-sm`,...e})}function av({className:e,...t}){return(0,d.jsx)(H_.Group,{"data-slot":`command-group`,className:H(`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})}function ov({className:e,...t}){return(0,d.jsx)(H_.Separator,{"data-slot":`command-separator`,className:H(`bg-border -mx-1 h-px`,e),...t})}function sv({className:e,...t}){return(0,d.jsx)(H_.Item,{"data-slot":`command-item`,className:H(`data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground outline-hidden relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`,e),...t})}function cv({className:e,...t}){return(0,d.jsx)(`span`,{"data-slot":`command-shortcut`,className:H(`text-muted-foreground ml-auto text-xs tracking-widest`,e),...t})}function lv(e){let{endpoint:t,openAddCollectionDialog:n,addOperation:i,runActiveOperation:o,addTab:s,setActiveTab:c,tabs:l,preflight:u,env:f,plugins:p}=e_(),m=e_(),[h,g]=(0,r.useState)(e.open??!1);return(0,r.useEffect)(()=>{g(e.open??!1)},[e.open]),(0,r.useEffect)(()=>{let t=t=>{if(t.key===`j`&&(t.metaKey||t.ctrlKey)){t.preventDefault();let n=!h;g(n),e.onOpenChange?.(n)}};return document.addEventListener(`keydown`,t),()=>document.removeEventListener(`keydown`,t)},[h,e]),(0,d.jsx)(d.Fragment,{children:(0,d.jsxs)(tv,{open:h,onOpenChange:t=>{g(t),e.onOpenChange?.(t)},children:[(0,d.jsx)(nv,{placeholder:`Type a command or search...`}),(0,d.jsxs)(rv,{children:[(0,d.jsx)(iv,{children:`No results found.`}),(0,d.jsxs)(av,{heading:`Operations`,children:[(0,d.jsxs)(sv,{disabled:!t,onSelect:()=>{o(t),g(!1)},children:[(0,d.jsx)(a.PlayIcon,{}),(0,d.jsx)(`span`,{children:`Run operation`}),(0,d.jsx)(cv,{children:`⌘↵`})]}),(0,d.jsxs)(sv,{onSelect:()=>{let e=i({name:``,query:``,variables:``,headers:``,extensions:``}),t=s({type:`operation`,data:e});c(t),g(!1)},children:[(0,d.jsx)(a.FilePlus2Icon,{}),(0,d.jsx)(`span`,{children:`Add operation`})]})]}),(0,d.jsx)(ov,{}),(0,d.jsx)(av,{heading:`Collections`,children:(0,d.jsxs)(sv,{onSelect:()=>{n?.(),g(!1)},children:[(0,d.jsx)(a.FolderPlusIcon,{}),(0,d.jsx)(`span`,{children:`Add collection`})]})}),(0,d.jsx)(ov,{}),(0,d.jsxs)(av,{heading:`Settings`,children:[(0,d.jsxs)(sv,{onSelect:()=>{let e=l.find(e=>e.type===`env`)??s({type:`env`,data:f??{variables:{}}});c(e),g(!1)},children:[(0,d.jsx)(a.ServerIcon,{}),(0,d.jsx)(`span`,{children:`Open Environment Variables`})]}),(0,d.jsxs)(sv,{onSelect:()=>{let e=l.find(e=>e.type===`preflight`)??s({type:`preflight`,data:u??{script:``}});c(e),g(!1)},children:[(0,d.jsx)(a.RefreshCcwIcon,{}),(0,d.jsx)(`span`,{children:`Open Preflight Script`})]})]}),p.filter(e=>!!e.commands?.length).map(e=>(0,d.jsxs)(r.Fragment,{children:[(0,d.jsx)(ov,{}),(0,d.jsx)(av,{heading:e.name,children:e.commands?.map((e,t)=>(0,d.jsxs)(sv,{onSelect:()=>{e.onClick(m,{}),g(!1)},children:[typeof e.icon==`function`?e.icon(m,{}):e.icon,(0,d.jsx)(`span`,{children:typeof e.name==`function`?e.name(m,{}):e.name})]},t))})]},e.name))]})]})})}t.registerLanguage({id:`abap`,extensions:[`.abap`],aliases:[`abap`,`ABAP`],loader:()=>Promise.resolve().then(()=>require(`./abap-QVQ92nL4.cjs`))}),t.registerLanguage({id:`apex`,extensions:[`.cls`],aliases:[`Apex`,`apex`],mimetypes:[`text/x-apex-source`,`text/x-apex`],loader:()=>Promise.resolve().then(()=>require(`./apex-CD_NwIQA.cjs`))}),t.registerLanguage({id:`azcli`,extensions:[`.azcli`],aliases:[`Azure CLI`,`azcli`],loader:()=>Promise.resolve().then(()=>require(`./azcli-CZlDTYV6.cjs`))}),t.registerLanguage({id:`bat`,extensions:[`.bat`,`.cmd`],aliases:[`Batch`,`bat`],loader:()=>Promise.resolve().then(()=>require(`./bat-DkrBXI0T.cjs`))}),t.registerLanguage({id:`bicep`,extensions:[`.bicep`],aliases:[`Bicep`],loader:()=>Promise.resolve().then(()=>require(`./bicep-wki4z77Y.cjs`))}),t.registerLanguage({id:`cameligo`,extensions:[`.mligo`],aliases:[`Cameligo`],loader:()=>Promise.resolve().then(()=>require(`./cameligo-BwlDO9s4.cjs`))}),t.registerLanguage({id:`clojure`,extensions:[`.clj`,`.cljs`,`.cljc`,`.edn`],aliases:[`clojure`,`Clojure`],loader:()=>Promise.resolve().then(()=>require(`./clojure-CfJVgb9k.cjs`))}),t.registerLanguage({id:`coffeescript`,extensions:[`.coffee`],aliases:[`CoffeeScript`,`coffeescript`,`coffee`],mimetypes:[`text/x-coffeescript`,`text/coffeescript`],loader:()=>Promise.resolve().then(()=>require(`./coffee-XOu0sK5I.cjs`))}),t.registerLanguage({id:`c`,extensions:[`.c`,`.h`],aliases:[`C`,`c`],loader:()=>Promise.resolve().then(()=>require(`./cpp-BROb97JU.cjs`))}),t.registerLanguage({id:`cpp`,extensions:[`.cpp`,`.cc`,`.cxx`,`.hpp`,`.hh`,`.hxx`],aliases:[`C++`,`Cpp`,`cpp`],loader:()=>Promise.resolve().then(()=>require(`./cpp-BROb97JU.cjs`))}),t.registerLanguage({id:`csharp`,extensions:[`.cs`,`.csx`,`.cake`],aliases:[`C#`,`csharp`],loader:()=>Promise.resolve().then(()=>require(`./csharp-ClpsmNDS.cjs`))}),t.registerLanguage({id:`csp`,extensions:[`.csp`],aliases:[`CSP`,`csp`],loader:()=>Promise.resolve().then(()=>require(`./csp-DI8KYoeL.cjs`))}),t.registerLanguage({id:`css`,extensions:[`.css`],aliases:[`CSS`,`css`],mimetypes:[`text/css`],loader:()=>Promise.resolve().then(()=>require(`./css-DhnL7RnD.cjs`))}),t.registerLanguage({id:`cypher`,extensions:[`.cypher`,`.cyp`],aliases:[`Cypher`,`OpenCypher`],loader:()=>Promise.resolve().then(()=>require(`./cypher-9-UtfTO7.cjs`))}),t.registerLanguage({id:`dart`,extensions:[`.dart`],aliases:[`Dart`,`dart`],mimetypes:[`text/x-dart-source`,`text/x-dart`],loader:()=>Promise.resolve().then(()=>require(`./dart-48tai2XH.cjs`))}),t.registerLanguage({id:`dockerfile`,extensions:[`.dockerfile`],filenames:[`Dockerfile`],aliases:[`Dockerfile`],loader:()=>Promise.resolve().then(()=>require(`./dockerfile-DqRuhJLr.cjs`))}),t.registerLanguage({id:`ecl`,extensions:[`.ecl`],aliases:[`ECL`,`Ecl`,`ecl`],loader:()=>Promise.resolve().then(()=>require(`./ecl-BNMsPvZt.cjs`))}),t.registerLanguage({id:`elixir`,extensions:[`.ex`,`.exs`],aliases:[`Elixir`,`elixir`,`ex`],loader:()=>Promise.resolve().then(()=>require(`./elixir-BSwlQ0fF.cjs`))}),t.registerLanguage({id:`flow9`,extensions:[`.flow`],aliases:[`Flow9`,`Flow`,`flow9`,`flow`],loader:()=>Promise.resolve().then(()=>require(`./flow9-_owVIPbG.cjs`))}),t.registerLanguage({id:`fsharp`,extensions:[`.fs`,`.fsi`,`.ml`,`.mli`,`.fsx`,`.fsscript`],aliases:[`F#`,`FSharp`,`fsharp`],loader:()=>Promise.resolve().then(()=>require(`./fsharp-uoLNaMU4.cjs`))}),t.registerLanguage({id:`freemarker2`,extensions:[`.ftl`,`.ftlh`,`.ftlx`],aliases:[`FreeMarker2`,`Apache FreeMarker2`],loader:()=>Promise.resolve().then(()=>require(`./freemarker2-Cw6-R2P_.cjs`)).then(e=>e.TagAutoInterpolationDollar)}),t.registerLanguage({id:`freemarker2.tag-angle.interpolation-dollar`,aliases:[`FreeMarker2 (Angle/Dollar)`,`Apache FreeMarker2 (Angle/Dollar)`],loader:()=>Promise.resolve().then(()=>require(`./freemarker2-Cw6-R2P_.cjs`)).then(e=>e.TagAngleInterpolationDollar)}),t.registerLanguage({id:`freemarker2.tag-bracket.interpolation-dollar`,aliases:[`FreeMarker2 (Bracket/Dollar)`,`Apache FreeMarker2 (Bracket/Dollar)`],loader:()=>Promise.resolve().then(()=>require(`./freemarker2-Cw6-R2P_.cjs`)).then(e=>e.TagBracketInterpolationDollar)}),t.registerLanguage({id:`freemarker2.tag-angle.interpolation-bracket`,aliases:[`FreeMarker2 (Angle/Bracket)`,`Apache FreeMarker2 (Angle/Bracket)`],loader:()=>Promise.resolve().then(()=>require(`./freemarker2-Cw6-R2P_.cjs`)).then(e=>e.TagAngleInterpolationBracket)}),t.registerLanguage({id:`freemarker2.tag-bracket.interpolation-bracket`,aliases:[`FreeMarker2 (Bracket/Bracket)`,`Apache FreeMarker2 (Bracket/Bracket)`],loader:()=>Promise.resolve().then(()=>require(`./freemarker2-Cw6-R2P_.cjs`)).then(e=>e.TagBracketInterpolationBracket)}),t.registerLanguage({id:`freemarker2.tag-auto.interpolation-dollar`,aliases:[`FreeMarker2 (Auto/Dollar)`,`Apache FreeMarker2 (Auto/Dollar)`],loader:()=>Promise.resolve().then(()=>require(`./freemarker2-Cw6-R2P_.cjs`)).then(e=>e.TagAutoInterpolationDollar)}),t.registerLanguage({id:`freemarker2.tag-auto.interpolation-bracket`,aliases:[`FreeMarker2 (Auto/Bracket)`,`Apache FreeMarker2 (Auto/Bracket)`],loader:()=>Promise.resolve().then(()=>require(`./freemarker2-Cw6-R2P_.cjs`)).then(e=>e.TagAutoInterpolationBracket)}),t.registerLanguage({id:`go`,extensions:[`.go`],aliases:[`Go`],loader:()=>Promise.resolve().then(()=>require(`./go-Bhrl9TVu.cjs`))}),t.registerLanguage({id:`handlebars`,extensions:[`.handlebars`,`.hbs`],aliases:[`Handlebars`,`handlebars`,`hbs`],mimetypes:[`text/x-handlebars-template`],loader:()=>Promise.resolve().then(()=>require(`./handlebars-N1q3O_Bm.cjs`))}),t.registerLanguage({id:`hcl`,extensions:[`.tf`,`.tfvars`,`.hcl`],aliases:[`Terraform`,`tf`,`HCL`,`hcl`],loader:()=>Promise.resolve().then(()=>require(`./hcl-Fph1BD9y.cjs`))}),t.registerLanguage({id:`html`,extensions:[`.html`,`.htm`,`.shtml`,`.xhtml`,`.mdoc`,`.jsp`,`.asp`,`.aspx`,`.jshtm`],aliases:[`HTML`,`htm`,`html`,`xhtml`],mimetypes:[`text/html`,`text/x-jshtm`,`text/template`,`text/ng-template`],loader:()=>Promise.resolve().then(()=>require(`./html-CRKYJXK-.cjs`))}),t.registerLanguage({id:`ini`,extensions:[`.ini`,`.properties`,`.gitconfig`],filenames:[`config`,`.gitattributes`,`.gitconfig`,`.editorconfig`],aliases:[`Ini`,`ini`],loader:()=>Promise.resolve().then(()=>require(`./ini-3kx1Ik1s.cjs`))}),t.registerLanguage({id:`java`,extensions:[`.java`,`.jav`],aliases:[`Java`,`java`],mimetypes:[`text/x-java-source`,`text/x-java`],loader:()=>Promise.resolve().then(()=>require(`./java-CD7xvBml.cjs`))}),t.registerLanguage({id:`javascript`,extensions:[`.js`,`.es6`,`.jsx`,`.mjs`,`.cjs`],firstLine:`^#!.*\\bnode`,filenames:[`jakefile`],aliases:[`JavaScript`,`javascript`,`js`],mimetypes:[`text/javascript`],loader:()=>Promise.resolve().then(()=>require(`./javascript-kxfHZpK_.cjs`))}),t.registerLanguage({id:`julia`,extensions:[`.jl`],aliases:[`julia`,`Julia`],loader:()=>Promise.resolve().then(()=>require(`./julia-DDCas9fw.cjs`))}),t.registerLanguage({id:`kotlin`,extensions:[`.kt`,`.kts`],aliases:[`Kotlin`,`kotlin`],mimetypes:[`text/x-kotlin-source`,`text/x-kotlin`],loader:()=>Promise.resolve().then(()=>require(`./kotlin-DdAVbI44.cjs`))}),t.registerLanguage({id:`less`,extensions:[`.less`],aliases:[`Less`,`less`],mimetypes:[`text/x-less`,`text/less`],loader:()=>Promise.resolve().then(()=>require(`./less-BRrlLrBk.cjs`))}),t.registerLanguage({id:`lexon`,extensions:[`.lex`],aliases:[`Lexon`],loader:()=>Promise.resolve().then(()=>require(`./lexon-DxONfeSM.cjs`))}),t.registerLanguage({id:`lua`,extensions:[`.lua`],aliases:[`Lua`,`lua`],loader:()=>Promise.resolve().then(()=>require(`./lua-BTYGCNA0.cjs`))}),t.registerLanguage({id:`liquid`,extensions:[`.liquid`,`.html.liquid`],aliases:[`Liquid`,`liquid`],mimetypes:[`application/liquid`],loader:()=>Promise.resolve().then(()=>require(`./liquid-DfwaIf61.cjs`))}),t.registerLanguage({id:`m3`,extensions:[`.m3`,`.i3`,`.mg`,`.ig`],aliases:[`Modula-3`,`Modula3`,`modula3`,`m3`],loader:()=>Promise.resolve().then(()=>require(`./m3-Daiz37hS.cjs`))}),t.registerLanguage({id:`markdown`,extensions:[`.md`,`.markdown`,`.mdown`,`.mkdn`,`.mkd`,`.mdwn`,`.mdtxt`,`.mdtext`],aliases:[`Markdown`,`markdown`],loader:()=>Promise.resolve().then(()=>require(`./markdown-D_j7CMBy.cjs`))}),t.registerLanguage({id:`mdx`,extensions:[`.mdx`],aliases:[`MDX`,`mdx`],loader:()=>Promise.resolve().then(()=>require(`./mdx-BX1hAnVu.cjs`))}),t.registerLanguage({id:`mips`,extensions:[`.s`],aliases:[`MIPS`,`MIPS-V`],mimetypes:[`text/x-mips`,`text/mips`,`text/plaintext`],loader:()=>Promise.resolve().then(()=>require(`./mips-BzLwQu1S.cjs`))}),t.registerLanguage({id:`msdax`,extensions:[`.dax`,`.msdax`],aliases:[`DAX`,`MSDAX`],loader:()=>Promise.resolve().then(()=>require(`./msdax-BC7chogA.cjs`))}),t.registerLanguage({id:`mysql`,extensions:[],aliases:[`MySQL`,`mysql`],loader:()=>Promise.resolve().then(()=>require(`./mysql-D86WcGKz.cjs`))}),t.registerLanguage({id:`objective-c`,extensions:[`.m`],aliases:[`Objective-C`],loader:()=>Promise.resolve().then(()=>require(`./objective-c-CJXsapl9.cjs`))}),t.registerLanguage({id:`pascal`,extensions:[`.pas`,`.p`,`.pp`],aliases:[`Pascal`,`pas`],mimetypes:[`text/x-pascal-source`,`text/x-pascal`],loader:()=>Promise.resolve().then(()=>require(`./pascal-bxQw4MZg.cjs`))}),t.registerLanguage({id:`pascaligo`,extensions:[`.ligo`],aliases:[`Pascaligo`,`ligo`],loader:()=>Promise.resolve().then(()=>require(`./pascaligo-B_0rSr9-.cjs`))}),t.registerLanguage({id:`perl`,extensions:[`.pl`,`.pm`],aliases:[`Perl`,`pl`],loader:()=>Promise.resolve().then(()=>require(`./perl-CENtNCZH.cjs`))}),t.registerLanguage({id:`pgsql`,extensions:[],aliases:[`PostgreSQL`,`postgres`,`pg`,`postgre`],loader:()=>Promise.resolve().then(()=>require(`./pgsql-ClQ9RzjF.cjs`))}),t.registerLanguage({id:`php`,extensions:[`.php`,`.php4`,`.php5`,`.phtml`,`.ctp`],aliases:[`PHP`,`php`],mimetypes:[`application/x-php`],loader:()=>Promise.resolve().then(()=>require(`./php-D1INxbOv.cjs`))}),t.registerLanguage({id:`pla`,extensions:[`.pla`],loader:()=>Promise.resolve().then(()=>require(`./pla-Dijc6KCZ.cjs`))}),t.registerLanguage({id:`postiats`,extensions:[`.dats`,`.sats`,`.hats`],aliases:[`ATS`,`ATS/Postiats`],loader:()=>Promise.resolve().then(()=>require(`./postiats-CRIgsQtF.cjs`))}),t.registerLanguage({id:`powerquery`,extensions:[`.pq`,`.pqm`],aliases:[`PQ`,`M`,`Power Query`,`Power Query M`],loader:()=>Promise.resolve().then(()=>require(`./powerquery-BpxGBURY.cjs`))}),t.registerLanguage({id:`powershell`,extensions:[`.ps1`,`.psm1`,`.psd1`],aliases:[`PowerShell`,`powershell`,`ps`,`ps1`],loader:()=>Promise.resolve().then(()=>require(`./powershell-gucxuQnG.cjs`))}),t.registerLanguage({id:`proto`,extensions:[`.proto`],aliases:[`protobuf`,`Protocol Buffers`],loader:()=>Promise.resolve().then(()=>require(`./protobuf-CNuXPJ55.cjs`))}),t.registerLanguage({id:`pug`,extensions:[`.jade`,`.pug`],aliases:[`Pug`,`Jade`,`jade`],loader:()=>Promise.resolve().then(()=>require(`./pug-DM-0K1_h.cjs`))}),t.registerLanguage({id:`python`,extensions:[`.py`,`.rpy`,`.pyw`,`.cpy`,`.gyp`,`.gypi`],aliases:[`Python`,`py`],firstLine:`^#!/.*\\bpython[0-9.-]*\\b`,loader:()=>Promise.resolve().then(()=>require(`./python-BUfGBRa-.cjs`))}),t.registerLanguage({id:`qsharp`,extensions:[`.qs`],aliases:[`Q#`,`qsharp`],loader:()=>Promise.resolve().then(()=>require(`./qsharp-D4zCyjyH.cjs`))}),t.registerLanguage({id:`r`,extensions:[`.r`,`.rhistory`,`.rmd`,`.rprofile`,`.rt`],aliases:[`R`,`r`],loader:()=>Promise.resolve().then(()=>require(`./r-QV1h-A-D.cjs`))}),t.registerLanguage({id:`razor`,extensions:[`.cshtml`],aliases:[`Razor`,`razor`],mimetypes:[`text/x-cshtml`],loader:()=>Promise.resolve().then(()=>require(`./razor-DojhdeOB.cjs`))}),t.registerLanguage({id:`redis`,extensions:[`.redis`],aliases:[`redis`],loader:()=>Promise.resolve().then(()=>require(`./redis-TR_IzN17.cjs`))}),t.registerLanguage({id:`redshift`,extensions:[],aliases:[`Redshift`,`redshift`],loader:()=>Promise.resolve().then(()=>require(`./redshift-C4suVLg9.cjs`))}),t.registerLanguage({id:`restructuredtext`,extensions:[`.rst`],aliases:[`reStructuredText`,`restructuredtext`],loader:()=>Promise.resolve().then(()=>require(`./restructuredtext-DRwT_k2k.cjs`))}),t.registerLanguage({id:`ruby`,extensions:[`.rb`,`.rbx`,`.rjs`,`.gemspec`,`.pp`],filenames:[`rakefile`,`Gemfile`],aliases:[`Ruby`,`rb`],loader:()=>Promise.resolve().then(()=>require(`./ruby-D3D3m8iP.cjs`))}),t.registerLanguage({id:`rust`,extensions:[`.rs`,`.rlib`],aliases:[`Rust`,`rust`],loader:()=>Promise.resolve().then(()=>require(`./rust-WdMiJxnE.cjs`))}),t.registerLanguage({id:`sb`,extensions:[`.sb`],aliases:[`Small Basic`,`sb`],loader:()=>Promise.resolve().then(()=>require(`./sb-BxcgUeMg.cjs`))}),t.registerLanguage({id:`scala`,extensions:[`.scala`,`.sc`,`.sbt`],aliases:[`Scala`,`scala`,`SBT`,`Sbt`,`sbt`,`Dotty`,`dotty`],mimetypes:[`text/x-scala-source`,`text/x-scala`,`text/x-sbt`,`text/x-dotty`],loader:()=>Promise.resolve().then(()=>require(`./scala-BNgiGpdP.cjs`))}),t.registerLanguage({id:`scheme`,extensions:[`.scm`,`.ss`,`.sch`,`.rkt`],aliases:[`scheme`,`Scheme`],loader:()=>Promise.resolve().then(()=>require(`./scheme-BgknIm6O.cjs`))}),t.registerLanguage({id:`scss`,extensions:[`.scss`],aliases:[`Sass`,`sass`,`scss`],mimetypes:[`text/x-scss`,`text/scss`],loader:()=>Promise.resolve().then(()=>require(`./scss-BtxjKl1K.cjs`))}),t.registerLanguage({id:`shell`,extensions:[`.sh`,`.bash`],aliases:[`Shell`,`sh`],loader:()=>Promise.resolve().then(()=>require(`./shell-DN_e5K_-.cjs`))}),t.registerLanguage({id:`sol`,extensions:[`.sol`],aliases:[`sol`,`solidity`,`Solidity`],loader:()=>Promise.resolve().then(()=>require(`./solidity-ClN_UjX_.cjs`))}),t.registerLanguage({id:`aes`,extensions:[`.aes`],aliases:[`aes`,`sophia`,`Sophia`],loader:()=>Promise.resolve().then(()=>require(`./sophia-BywF1JFC.cjs`))}),t.registerLanguage({id:`sparql`,extensions:[`.rq`],aliases:[`sparql`,`SPARQL`],loader:()=>Promise.resolve().then(()=>require(`./sparql-DHoTMjKo.cjs`))}),t.registerLanguage({id:`sql`,extensions:[`.sql`],aliases:[`SQL`],loader:()=>Promise.resolve().then(()=>require(`./sql-C2GsX0AB.cjs`))}),t.registerLanguage({id:`st`,extensions:[`.st`,`.iecst`,`.iecplc`,`.lc3lib`,`.TcPOU`,`.TcDUT`,`.TcGVL`,`.TcIO`],aliases:[`StructuredText`,`scl`,`stl`],loader:()=>Promise.resolve().then(()=>require(`./st-AkaCI2A4.cjs`))}),t.registerLanguage({id:`swift`,aliases:[`Swift`,`swift`],extensions:[`.swift`],mimetypes:[`text/swift`],loader:()=>Promise.resolve().then(()=>require(`./swift-BoGpU9bT.cjs`))}),t.registerLanguage({id:`systemverilog`,extensions:[`.sv`,`.svh`],aliases:[`SV`,`sv`,`SystemVerilog`,`systemverilog`],loader:()=>Promise.resolve().then(()=>require(`./systemverilog-MYFSE_nC.cjs`))}),t.registerLanguage({id:`verilog`,extensions:[`.v`,`.vh`],aliases:[`V`,`v`,`Verilog`,`verilog`],loader:()=>Promise.resolve().then(()=>require(`./systemverilog-MYFSE_nC.cjs`))}),t.registerLanguage({id:`tcl`,extensions:[`.tcl`],aliases:[`tcl`,`Tcl`,`tcltk`,`TclTk`,`tcl/tk`,`Tcl/Tk`],loader:()=>Promise.resolve().then(()=>require(`./tcl-BLKLI4eY.cjs`))}),t.registerLanguage({id:`twig`,extensions:[`.twig`],aliases:[`Twig`,`twig`],mimetypes:[`text/x-twig`],loader:()=>Promise.resolve().then(()=>require(`./twig-Dd1Rt3RY.cjs`))}),t.registerLanguage({id:`typescript`,extensions:[`.ts`,`.tsx`,`.cts`,`.mts`],aliases:[`TypeScript`,`ts`,`typescript`],mimetypes:[`text/typescript`],loader:()=>Promise.resolve().then(()=>require(`./typescript-DamtYzr2.cjs`))}),t.registerLanguage({id:`typespec`,extensions:[`.tsp`],aliases:[`TypeSpec`],loader:()=>Promise.resolve().then(()=>require(`./typespec-B2Iuw6_r.cjs`))}),t.registerLanguage({id:`vb`,extensions:[`.vb`],aliases:[`Visual Basic`,`vb`],loader:()=>Promise.resolve().then(()=>require(`./vb-CTLHbbhw.cjs`))}),t.registerLanguage({id:`wgsl`,extensions:[`.wgsl`],aliases:[`WebGPU Shading Language`,`WGSL`,`wgsl`],loader:()=>Promise.resolve().then(()=>require(`./wgsl-C2NJ8eOt.cjs`))}),t.registerLanguage({id:`xml`,extensions:[`.xml`,`.xsd`,`.dtd`,`.ascx`,`.csproj`,`.config`,`.props`,`.targets`,`.wxi`,`.wxl`,`.wxs`,`.xaml`,`.svg`,`.svgz`,`.opf`,`.xslt`,`.xsl`],firstLine:`(\\<\\?xml.*)|(\\<svg)|(\\<\\!doctype\\s+svg)`,aliases:[`XML`,`xml`],mimetypes:[`text/xml`,`application/xml`,`application/xaml+xml`,`application/xml-dtd`],loader:()=>Promise.resolve().then(()=>require(`./xml-CJ5toPqS.cjs`))}),t.registerLanguage({id:`yaml`,extensions:[`.yaml`,`.yml`],aliases:[`YAML`,`yaml`,`YML`,`yml`],mimetypes:[`application/x-yaml`,`text/x-yaml`],loader:()=>Promise.resolve().then(()=>require(`./yaml-CD5bqndm.cjs`))});
/*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*/
var uv=Object.defineProperty,dv=Object.getOwnPropertyDescriptor,fv=Object.getOwnPropertyNames,pv=Object.prototype.hasOwnProperty,mv=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of fv(t))!pv.call(e,i)&&i!==n&&uv(e,i,{get:()=>t[i],enumerable:!(r=dv(t,i))||r.enumerable});return e},hv=(e,t,n)=>(mv(e,t,`default`),n&&mv(n,t,`default`)),gv={};hv(gv,e.editor_api_exports);var _v=class{constructor(e,t,n){this._onDidChange=new gv.Emitter,this._languageId=e,this.setOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this.options}get options(){return this._options}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setDiagnosticsOptions(e){this.setOptions(e)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},vv={validate:!0,lint:{compatibleVendorPrefixes:`ignore`,vendorPrefix:`warning`,duplicateProperties:`warning`,emptyRules:`warning`,importStatement:`ignore`,boxModel:`ignore`,universalSelector:`ignore`,zeroUnits:`ignore`,fontFaceProperties:`warning`,hexColorLength:`error`,argumentsInColorFunction:`error`,unknownProperties:`warning`,ieHack:`ignore`,unknownVendorSpecificProperties:`ignore`,propertyIgnoredDueToDisplay:`warning`,important:`ignore`,float:`ignore`,idSelector:`ignore`},data:{useDefaultDataProvider:!0},format:{newlineBetweenSelectors:!0,newlineBetweenRules:!0,spaceAroundSelectorSeparator:!1,braceStyle:`collapse`,maxPreserveNewLines:void 0,preserveNewLines:!0}},yv={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0,documentFormattingEdits:!0,documentRangeFormattingEdits:!0},bv=new _v(`css`,vv,yv),xv=new _v(`scss`,vv,yv),Sv=new _v(`less`,vv,yv);gv.languages.css={cssDefaults:bv,lessDefaults:Sv,scssDefaults:xv};function Cv(){return Promise.resolve().then(()=>require(`./cssMode-Clll_1j8.cjs`))}gv.languages.onLanguage(`less`,()=>{Cv().then(e=>e.setupMode(Sv))}),gv.languages.onLanguage(`scss`,()=>{Cv().then(e=>e.setupMode(xv))}),gv.languages.onLanguage(`css`,()=>{Cv().then(e=>e.setupMode(bv))});
/*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*/
var wv=Object.defineProperty,Tv=Object.getOwnPropertyDescriptor,Ev=Object.getOwnPropertyNames,Dv=Object.prototype.hasOwnProperty,Ov=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of Ev(t))!Dv.call(e,i)&&i!==n&&wv(e,i,{get:()=>t[i],enumerable:!(r=Tv(t,i))||r.enumerable});return e},kv=(e,t,n)=>(Ov(e,t,`default`),n&&Ov(n,t,`default`)),Av={};kv(Av,e.editor_api_exports);var jv=class{constructor(e,t,n){this._onDidChange=new Av.Emitter,this._languageId=e,this.setOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get options(){return this._options}get modeConfiguration(){return this._modeConfiguration}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},Mv={format:{tabSize:4,insertSpaces:!1,wrapLineLength:120,unformatted:`default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var`,contentUnformatted:`pre`,indentInnerHtml:!1,preserveNewLines:!0,maxPreserveNewLines:void 0,indentHandlebars:!1,endWithNewline:!1,extraLiners:`head, body, /html`,wrapAttributes:`auto`},suggest:{},data:{useDefaultDataProvider:!0}};function Nv(e){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:e===Pv,documentFormattingEdits:e===Pv,documentRangeFormattingEdits:e===Pv}}var Pv=`html`,Fv=`handlebars`,Iv=`razor`,Lv=Wv(Pv,Mv,Nv(Pv)),Rv=Lv.defaults,zv=Wv(Fv,Mv,Nv(Fv)),Bv=zv.defaults,Vv=Wv(Iv,Mv,Nv(Iv)),Hv=Vv.defaults;Av.languages.html={htmlDefaults:Rv,razorDefaults:Hv,handlebarDefaults:Bv,htmlLanguageService:Lv,handlebarLanguageService:zv,razorLanguageService:Vv,registerHTMLLanguageService:Wv};function Uv(){return Promise.resolve().then(()=>require(`./htmlMode-D_uk2IA0.cjs`))}function Wv(e,t=Mv,n=Nv(e)){let r=new jv(e,t,n),i,a=Av.languages.onLanguage(e,async()=>{i=(await Uv()).setupMode(r)});return{defaults:r,dispose(){a.dispose(),i?.dispose(),i=void 0}}}var Gv=e.__export({CancellationTokenSource:()=>e.CancellationTokenSource,Emitter:()=>e.Emitter,KeyCode:()=>e.KeyCode,KeyMod:()=>e.KeyMod,MarkerSeverity:()=>e.MarkerSeverity,MarkerTag:()=>e.MarkerTag,Position:()=>e.Position,Range:()=>e.Range,Selection:()=>e.Selection,SelectionDirection:()=>e.SelectionDirection,Token:()=>e.Token,Uri:()=>e.Uri,editor:()=>e.editor,languages:()=>e.languages}),Kv=class{_onDidChange=new e.Emitter;_formattingOptions;_modeConfiguration;_diagnosticSettings;_completionSettings;_schemas=null;_schemasById=Object.create(null);_languageId;_externalFragmentDefinitions;constructor({languageId:e,schemas:t,modeConfiguration:n,formattingOptions:r,diagnosticSettings:i,completionSettings:a}){this._languageId=e,t&&this.setSchemaConfig(t),this._modeConfiguration=n,this._completionSettings=a,this._diagnosticSettings=i,this._formattingOptions=r}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get schemas(){return this._schemas}schemasById(){return this._schemasById}get formattingOptions(){return this._formattingOptions}get diagnosticSettings(){return this._diagnosticSettings}get completionSettings(){return{...this._completionSettings,fillLeafsOnComplete:this._completionSettings.__experimental__fillLeafsOnComplete??this._completionSettings.fillLeafsOnComplete}}get externalFragmentDefinitions(){return this._externalFragmentDefinitions}setSchemaConfig(e){this._schemas=e,this._schemasById=e.reduce((e,t)=>(e[t.uri]=t,e),Object.create(null)),this._onDidChange.fire(this)}setExternalFragmentDefinitions(e){this._externalFragmentDefinitions=e}setModeConfiguration(e){this._modeConfiguration=e,this._onDidChange.fire(this)}setFormattingOptions(e){this._formattingOptions=e,this._onDidChange.fire(this)}setDiagnosticSettings(e){this._diagnosticSettings=e,this._onDidChange.fire(this)}setCompletionSettings(e){this._completionSettings=e,this._onDidChange.fire(this)}};function qv(e,t){if(!t)return new Kv({languageId:e,schemas:[],formattingOptions:Yv,modeConfiguration:Jv,diagnosticSettings:Xv,completionSettings:Zv});let{schemas:n,formattingOptions:r,modeConfiguration:i,diagnosticSettings:a,completionSettings:o}=t;return new Kv({languageId:e,schemas:n,formattingOptions:{...Yv,...r,prettierConfig:{...Yv.prettierConfig,...r?.prettierConfig}},modeConfiguration:{...Jv,...i},diagnosticSettings:{...Xv,...a},completionSettings:{...Zv,...o}})}const Jv={documentFormattingEdits:!0,documentRangeFormattingEdits:!1,completionItems:!0,hovers:!0,documentSymbols:!1,tokens:!1,colors:!1,foldingRanges:!1,diagnostics:!0,selectionRanges:!1},Yv={prettierConfig:{tabWidth:2}},Xv={jsonDiagnosticSettings:{schemaValidation:`error`}},Zv={__experimental__fillLeafsOnComplete:!1},Qv=`graphql`;var $v;function ey(t){return $v||($v=qv(`graphql`,t),e.languages.graphql={api:$v},ty().then(e=>e.setupMode($v))),$v}function ty(){return Promise.resolve().then(()=>require(`./graphqlMode-CLKjFTyM.cjs`))}function ny(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function ry(e){if(Array.isArray(e))return e}function iy(e,t,n){return(t=py(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ay(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t!==0)for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function oy(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function sy(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function cy(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?sy(Object(n),!0).forEach(function(t){iy(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):sy(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ly(e,t){if(e==null)return{};var n,r,i=uy(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function uy(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 dy(e,t){return ry(e)||ay(e,t)||my(e,t)||oy()}function fy(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 TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function py(e){var t=fy(e,`string`);return typeof t==`symbol`?t:t+``}function my(e,t){if(e){if(typeof e==`string`)return ny(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ny(e,t):void 0}}function hy(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function gy(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _y(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?gy(Object(n),!0).forEach(function(t){hy(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):gy(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function vy(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return t.reduceRight(function(e,t){return t(e)},e)}}function yy(e){return function t(){for(var n=this,r=arguments.length,i=Array(r),a=0;a<r;a++)i[a]=arguments[a];return i.length>=e.length?e.apply(this,i):function(){for(var e=arguments.length,r=Array(e),a=0;a<e;a++)r[a]=arguments[a];return t.apply(n,[].concat(i,r))}}}function by(e){return{}.toString.call(e).includes(`Object`)}function xy(e){return!Object.keys(e).length}function Sy(e){return typeof e==`function`}function Cy(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function wy(e,t){return by(t)||ky(`changeType`),Object.keys(t).some(function(t){return!Cy(e,t)})&&ky(`changeField`),t}function Ty(e){Sy(e)||ky(`selectorType`)}function Ey(e){Sy(e)||by(e)||ky(`handlerType`),by(e)&&Object.values(e).some(function(e){return!Sy(e)})&&ky(`handlersType`)}function Dy(e){e||ky(`initialIsRequired`),by(e)||ky(`initialType`),xy(e)&&ky(`initialContent`)}function Oy(e,t){throw Error(e[t]||e.default)}var ky=yy(Oy)({initialIsRequired:`initial state is required`,initialType:`initial state should be an object`,initialContent:`initial state shouldn't be an empty object`,handlerType:`handler should be an object or a function`,handlersType:`all handlers should be a functions`,selectorType:`selector should be a function`,changeType:`provided value of changes should be an object`,changeField:`it seams you want to change a field in the state which is not specified in the "initial" state`,default:"an unknown error accured in `state-local` package"}),Ay={changes:wy,selector:Ty,handler:Ey,initial:Dy};function jy(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Ay.initial(e),Ay.handler(t);var n={current:e},r=yy(Py)(n,t),i=yy(Ny)(n),a=yy(Ay.changes)(e),o=yy(My)(n);function s(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(e){return e};return Ay.selector(e),e(n.current)}function c(e){vy(r,i,a,o)(e)}return[s,c]}function My(e,t){return Sy(t)?t(e.current):t}function Ny(e,t){return e.current=_y(_y({},e.current),t),t}function Py(e,t,n){return Sy(t)?t(e.current):Object.keys(n).forEach(function(n){return t[n]?.call(t,e.current[n])}),n}var Fy={create:jy},Iy=Fy,Ly={paths:{vs:`https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs`}};function Ry(e){return function t(){for(var n=this,r=arguments.length,i=Array(r),a=0;a<r;a++)i[a]=arguments[a];return i.length>=e.length?e.apply(this,i):function(){for(var e=arguments.length,r=Array(e),a=0;a<e;a++)r[a]=arguments[a];return t.apply(n,[].concat(i,r))}}}function zy(e){return{}.toString.call(e).includes(`Object`)}function By(e){return e||Wy(`configIsRequired`),zy(e)||Wy(`configType`),e.urls?(Vy(),{paths:{vs:e.urls.monacoBase}}):e}function Vy(){console.warn(Uy.deprecation)}function Hy(e,t){throw Error(e[t]||e.default)}var Uy={configIsRequired:`the configuration object is required`,configType:`the configuration object should be an object`,default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:`Deprecation warning!
You are using deprecated way of configuration.
Instead of using
monaco.config({ urls: { monacoBase: '...' } })
use
monaco.config({ paths: { vs: '...' } })
For more please check the link https://github.com/suren-atoyan/monaco-loader#config
`},Wy=Ry(Hy)(Uy),Gy={config:By},Ky=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return t.reduceRight(function(e,t){return t(e)},e)}};function qy(e,t){return Object.keys(t).forEach(function(n){t[n]instanceof Object&&e[n]&&Object.assign(t[n],qy(e[n],t[n]))}),cy(cy({},e),t)}var Jy={type:`cancelation`,msg:`operation is manually canceled`};function Yy(e){var t=!1,n=new Promise(function(n,r){e.then(function(e){return t?r(Jy):n(e)}),e.catch(r)});return n.cancel=function(){return t=!0},n}var Xy=[`monaco`],Zy=Iy.create({config:Ly,isInitialized:!1,resolve:null,reject:null,monaco:null}),Qy=dy(Zy,2),$y=Qy[0],eb=Qy[1];function tb(e){var t=Gy.config(e),n=t.monaco,r=ly(t,Xy);eb(function(e){return{config:qy(e.config,r),monaco:n}})}function nb(){var e=$y(function(e){var t=e.monaco,n=e.isInitialized,r=e.resolve;return{monaco:t,isInitialized:n,resolve:r}});if(!e.isInitialized){if(eb({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),Yy(lb);if(window.monaco&&window.monaco.editor)return sb(window.monaco),e.resolve(window.monaco),Yy(lb);Ky(rb,ab)(ob)}return Yy(lb)}function rb(e){return document.body.appendChild(e)}function ib(e){var t=document.createElement(`script`);return e&&(t.src=e),t}function ab(e){var t=$y(function(e){var t=e.config,n=e.reject;return{config:t,reject:n}}),n=ib(`${t.config.paths.vs}/loader.js`);return n.onload=function(){return e()},n.onerror=t.reject,n}function ob(){var e=$y(function(e){var t=e.config,n=e.resolve,r=e.reject;return{config:t,resolve:n,reject:r}}),t=window.require;t.config(e.config),t([`vs/editor/editor.main`],function(t){var n=t.m||t;sb(n),e.resolve(n)},function(t){e.reject(t)})}function sb(e){$y().monaco||eb({monaco:e})}function cb(){return $y(function(e){return e.monaco})}var lb=new Promise(function(e,t){return eb({resolve:e,reject:t})}),ub={config:tb,init:nb,__getMonacoInstance:cb},db={wrapper:{display:`flex`,position:`relative`,textAlign:`initial`},fullWidth:{width:`100%`},hide:{display:`none`}},fb={container:{display:`flex`,height:`100%`,width:`100%`,justifyContent:`center`,alignItems:`center`}};function pb({children:e}){return r.default.createElement(`div`,{style:fb.container},e)}var mb=pb;function hb({width:e,height:t,isEditorReady:n,loading:i,_ref:a,className:o,wrapperProps:s}){return r.default.createElement(`section`,{style:{...db.wrapper,width:e,height:t},...s},!n&&r.default.createElement(mb,null,i),r.default.createElement(`div`,{ref:a,style:{...db.fullWidth,...!n&&db.hide},className:o}))}var gb=(0,r.memo)(hb);function _b(e){(0,r.useEffect)(e,[])}var vb=_b;function yb(e,t,n=!0){let i=(0,r.useRef)(!0);(0,r.useEffect)(i.current||!n?()=>{i.current=!1}:e,t)}var bb=yb;function xb(){}function Sb(e,t,n,r){return Cb(e,r)||wb(e,t,n,r)}function Cb(e,t){return e.editor.getModel(Tb(e,t))}function wb(e,t,n,r){return e.editor.createModel(t,n,r?Tb(e,r):void 0)}function Tb(e,t){return e.Uri.parse(t)}function Eb({original:e,modified:t,language:n,originalLanguage:i,modifiedLanguage:a,originalModelPath:o,modifiedModelPath:s,keepCurrentOriginalModel:c=!1,keepCurrentModifiedModel:l=!1,theme:u=`light`,loading:d=`Loading...`,options:f={},height:p=`100%`,width:m=`100%`,className:h,wrapperProps:g={},beforeMount:_=xb,onMount:v=xb}){let[y,b]=(0,r.useState)(!1),[x,S]=(0,r.useState)(!0),C=(0,r.useRef)(null),w=(0,r.useRef)(null),T=(0,r.useRef)(null),E=(0,r.useRef)(v),D=(0,r.useRef)(_),O=(0,r.useRef)(!1);vb(()=>{let e=ub.init();return e.then(e=>(w.current=e)&&S(!1)).catch(e=>e?.type!==`cancelation`&&console.error(`Monaco initialization: error:`,e)),()=>C.current?j():e.cancel()}),bb(()=>{if(C.current&&w.current){let t=C.current.getOriginalEditor(),r=Sb(w.current,e||``,i||n||`text`,o||``);r!==t.getModel()&&t.setModel(r)}},[o],y),bb(()=>{if(C.current&&w.current){let e=C.current.getModifiedEditor(),r=Sb(w.current,t||``,a||n||`text`,s||``);r!==e.getModel()&&e.setModel(r)}},[s],y),bb(()=>{let e=C.current.getModifiedEditor();e.getOption(w.current.editor.EditorOption.readOnly)?e.setValue(t||``):t!==e.getValue()&&(e.executeEdits(``,[{range:e.getModel().getFullModelRange(),text:t||``,forceMoveMarkers:!0}]),e.pushUndoStop())},[t],y),bb(()=>{C.current?.getModel()?.original.setValue(e||``)},[e],y),bb(()=>{let{original:e,modified:t}=C.current.getModel();w.current.editor.setModelLanguage(e,i||n||`text`),w.current.editor.setModelLanguage(t,a||n||`text`)},[n,i,a],y),bb(()=>{w.current?.editor.setTheme(u)},[u],y),bb(()=>{C.current?.updateOptions(f)},[f],y);let k=(0,r.useCallback)(()=>{if(!w.current)return;D.current(w.current);let r=Sb(w.current,e||``,i||n||`text`,o||``),c=Sb(w.current,t||``,a||n||`text`,s||``);C.current?.setModel({original:r,modified:c})},[n,t,a,e,i,o,s]),A=(0,r.useCallback)(()=>{!O.current&&T.current&&(C.current=w.current.editor.createDiffEditor(T.current,{automaticLayout:!0,...f}),k(),w.current?.editor.setTheme(u),b(!0),O.current=!0)},[f,u,k]);(0,r.useEffect)(()=>{y&&E.current(C.current,w.current)},[y]),(0,r.useEffect)(()=>{!x&&!y&&A()},[x,y,A]);function j(){let e=C.current?.getModel();c||e?.original?.dispose(),l||e?.modified?.dispose(),C.current?.dispose()}return r.default.createElement(gb,{width:m,height:p,isEditorReady:y,loading:d,_ref:T,className:h,wrapperProps:g})}var Db=(0,r.memo)(Eb);function Ob(e){let t=(0,r.useRef)();return(0,r.useEffect)(()=>{t.current=e},[e]),t.current}var kb=Ob,Ab=new Map;function jb({defaultValue:e,defaultLanguage:t,defaultPath:n,value:i,language:a,path:o,theme:s=`light`,line:c,loading:l=`Loading...`,options:u={},overrideServices:d={},saveViewState:f=!0,keepCurrentModel:p=!1,width:m=`100%`,height:h=`100%`,className:g,wrapperProps:_={},beforeMount:v=xb,onMount:y=xb,onChange:b,onValidate:x=xb}){let[S,C]=(0,r.useState)(!1),[w,T]=(0,r.useState)(!0),E=(0,r.useRef)(null),D=(0,r.useRef)(null),O=(0,r.useRef)(null),k=(0,r.useRef)(y),A=(0,r.useRef)(v),j=(0,r.useRef)(void 0),M=(0,r.useRef)(i),N=kb(o),P=(0,r.useRef)(!1),F=(0,r.useRef)(!1);vb(()=>{let e=ub.init();return e.then(e=>(E.current=e)&&T(!1)).catch(e=>e?.type!==`cancelation`&&console.error(`Monaco initialization: error:`,e)),()=>D.current?L():e.cancel()}),bb(()=>{let r=Sb(E.current,e||i||``,t||a||``,o||n||``);r!==D.current?.getModel()&&(f&&Ab.set(N,D.current?.saveViewState()),D.current?.setModel(r),f&&D.current?.restoreViewState(Ab.get(o)))},[o],S),bb(()=>{D.current?.updateOptions(u)},[u],S),bb(()=>{!D.current||i===void 0||(D.current.getOption(E.current.editor.EditorOption.readOnly)?D.current.setValue(i):i!==D.current.getValue()&&(F.current=!0,D.current.executeEdits(``,[{range:D.current.getModel().getFullModelRange(),text:i,forceMoveMarkers:!0}]),D.current.pushUndoStop(),F.current=!1))},[i],S),bb(()=>{let e=D.current?.getModel();S&&e&&a&&E.current?.editor.setModelLanguage(e,a)},[a,S],S),bb(()=>{c!==void 0&&D.current?.revealLine(c)},[c],S),bb(()=>{E.current?.editor.setTheme(s)},[s],S);let I=(0,r.useCallback)(()=>{if(!(!O.current||!E.current)&&!P.current){A.current(E.current);let r=o||n,l=Sb(E.current,i||e||``,t||a||``,r||``);D.current=E.current?.editor.create(O.current,{model:l,automaticLayout:!0,...u},d),f&&D.current.restoreViewState(Ab.get(r)),E.current.editor.setTheme(s),c!==void 0&&D.current.revealLine(c),C(!0),P.current=!0}},[e,t,n,i,a,o,u,d,f,s,c]);(0,r.useEffect)(()=>{S&&k.current(D.current,E.current)},[S]),(0,r.useEffect)(()=>{!w&&!S&&I()},[w,S,I]),M.current=i,(0,r.useEffect)(()=>{S&&b&&(j.current?.dispose(),j.current=D.current?.onDidChangeModelContent(e=>{F.current||b(D.current.getValue(),e)}))},[S,b]),(0,r.useEffect)(()=>{if(S){let e=E.current.editor.onDidChangeMarkers(e=>{let t=D.current.getModel()?.uri;if(t&&e.find(e=>e.path===t.path)){let e=E.current.editor.getModelMarkers({resource:t});x?.(e)}});return()=>{e?.dispose()}}return()=>{}},[S,x]);function L(){j.current?.dispose(),p?f&&Ab.set(o,D.current.saveViewState()):D.current.getModel()?.dispose(),D.current.dispose(),D.current=null,P.current=!1,C(!1)}return r.default.createElement(gb,{width:m,height:h,isEditorReady:S,loading:l,_ref:O,className:g,wrapperProps:_})}var Mb=(0,r.memo)(jb),Nb=Mb;typeof window<`u`&&(window.monaco=Gv),ub.config({monaco:Gv}),e.languages.register({id:`dotenv`}),e.editor.defineTheme(`hive-laboratory-dark`,{base:`vs-dark`,inherit:!0,rules:[{token:``,foreground:`F8F9FA`,background:`fffffe`},{token:`invalid`,foreground:`cd3131`},{token:`emphasis`,fontStyle:`italic`},{token:`strong`,fontStyle:`bold`},{token:`variable`,foreground:`001188`},{token:`variable.predefined`,foreground:`4864AA`},{token:`constant`,foreground:`dd0000`},{token:`comment`,foreground:`15803d`},{token:`number`,foreground:`fde68a`},{token:`number.hex`,foreground:`3030c0`},{token:`regexp`,foreground:`800000`},{token:`annotation`,foreground:`808080`},{token:`type`,foreground:`fde68a`},{token:`delimiter`,foreground:`6E757C`},{token:`delimiter.html`,foreground:`383838`},{token:`delimiter.xml`,foreground:`facc15`},{token:`tag`,foreground:`800000`},{token:`tag.id.jade`,foreground:`4F76AC`},{token:`tag.class.jade`,foreground:`4F76AC`},{token:`meta.scss`,foreground:`800000`},{token:`metatag`,foreground:`e00000`},{token:`metatag.content.html`,foreground:`FF0000`},{token:`metatag.html`,foreground:`808080`},{token:`metatag.xml`,foreground:`808080`},{token:`metatag.php`,fontStyle:`bold`},{token:`key`,foreground:`93c5fd`},{token:`string.key.json`,foreground:`93c5fd`},{token:`string.value.json`,foreground:`fdba74`},{token:`attribute.name`,foreground:`FF0000`},{token:`attribute.value`,foreground:`34d399`},{token:`attribute.value.number`,foreground:`fdba74`},{token:`attribute.value.unit`,foreground:`fdba74`},{token:`attribute.value.html`,foreground:`facc15`},{token:`attribute.value.xml`,foreground:`facc15`},{token:`string`,foreground:`2dd4bf`},{token:`string.html`,foreground:`facc15`},{token:`string.sql`,foreground:`FF0000`},{token:`string.yaml`,foreground:`34d399`},{token:`keyword`,foreground:`60a5fa`},{token:`keyword.json`,foreground:`34d399`},{token:`keyword.flow`,foreground:`AF00DB`},{token:`keyword.flow.scss`,foreground:`facc15`},{token:`operator.scss`,foreground:`666666`},{token:`operator.sql`,foreground:`778899`},{token:`operator.swift`,foreground:`666666`},{token:`predefined.sql`,foreground:`FF00FF`}],colors:{"editor.foreground":`#f6f8fa`,"editor.background":`#0f1214`,"editor.selectionBackground":`#2A2F34`,"editor.inactiveSelectionBackground":`#2A2F34`,"editor.lineHighlightBackground":`#2A2F34`,"editorCursor.foreground":`#ffffff`,"editorWhitespace.foreground":`#6a737d`,"editorIndentGuide.background":`#6E757C`,"editorIndentGuide.activeBackground":`#CFD4D9`,"editor.selectionHighlightBorder":`#2A2F34`}}),e.editor.defineTheme(`hive-laboratory-light`,{base:`vs`,inherit:!0,rules:[],colors:{}}),e.languages.setMonarchTokensProvider(`dotenv`,{tokenizer:{root:[[/^\s*#.*$/,`comment`],[/^\s*([A-Za-z_][A-Za-z0-9_]*)\s*=/,`key`,`@value`]],value:[[/"([^"\\]|\\.)*$/,`string`,`@pop`],[/"([^"\\]|\\.)*"/,`string`,`@pop`],[/'([^'\\]|\\.)*$/,`string`,`@pop`],[/'([^'\\]|\\.)*'/,`string`,`@pop`],[/[^#\n]+/,`string`,`@pop`]]}});var Pb=(0,r.forwardRef)((t,n)=>{let i=(0,r.useId)(),a=(0,r.useRef)(null),{introspection:o,endpoint:s,theme:c}=e_(),[l,u]=(0,r.useState)(!!e.languages.typescript);return(0,r.useEffect)(()=>{o&&ey({schemas:[{introspectionJSON:o,uri:`schema_${s}.graphql`}],diagnosticSettings:t.uri&&t.variablesUri?{validateVariablesJSON:{[t.uri.toString()]:[t.variablesUri.toString()]},jsonDiagnosticSettings:{allowComments:!0}}:void 0}).setCompletionSettings({__experimental__fillLeafsOnComplete:!0})},[o,t.uri?.toString(),t.variablesUri?.toString()]),(0,r.useEffect)(()=>{(async function(){if(!t.extraLibs?.length)return;e.languages.typescript||(await Promise.resolve().then(()=>require(`./monaco.contribution-GoKIXKId.cjs`)),u(!0));let n=e.languages.typescript;if(!n)return;let r=Object.values(n.typescriptDefaults.getExtraLibs()).map(e=>e.content);if(t.extraLibs.every(e=>r.includes(e)))return;let a=i.replace(/[^a-zA-Z0-9_-]/g,`_`);n.typescriptDefaults.setCompilerOptions({target:n.ScriptTarget.ESNext,module:n.ModuleKind.ESNext,allowNonTsExtensions:!0,allowJs:!0,lib:[`esnext`,`webworker`]}),n.typescriptDefaults.setExtraLibs(t.extraLibs.map((e,t)=>({content:e,filePath:`file:///hive-lab-globals-${a}-${t}.d.ts`})))})()},[i,t.extraLibs]),(0,r.useImperativeHandle)(n,()=>({setValue:e=>{a.current&&a.current.setValue(e)}}),[]),!l&&t.language===`typescript`?null:(0,d.jsx)(`div`,{className:`size-full overflow-hidden`,children:(0,d.jsx)(Nb,{className:`size-full`,...t,theme:c===`dark`?`hive-laboratory-dark`:`hive-laboratory-light`,onMount:e=>{a.current=e},loading:null,options:{...t.options,lineNumbers:`on`,cursorStyle:`line`,cursorBlinking:`smooth`,padding:{top:16},fontFamily:`ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace`,minimap:{enabled:!1},automaticLayout:!0,tabSize:2,formatOnPaste:!0},defaultPath:t.uri?.toString()})})});const Fb=Pb,Ib=()=>{let{env:e,setEnv:t}=e_();return(0,d.jsx)(`div`,{className:`bg-card size-full`,children:(0,d.jsx)(Fb,{defaultValue:Object.entries(e?.variables??{}).map(([e,t])=>`${e}=${t}`).join(`
`),onChange:e=>{t({variables:Object.fromEntries(e?.split(`
`).filter(e=>e.trim()&&!e.trim().startsWith(`#`)).map(e=>{let t=e.split(/=(.*)/s);return[t[0].trim(),(t[1]??``).trim()]})??[])})},language:`dotenv`,options:{scrollbar:{horizontal:`hidden`}}})})},Lb=e=>{let{activeTab:t,addTab:n,setActiveTab:i,deleteHistory:o}=e_(),s=(0,r.useMemo)(()=>t?.type===`history`&&t.data.id===e.historyItem.id,[t,e.historyItem]),l=(0,r.useMemo)(()=>e.historyItem.status?e.historyItem.status<200||e.historyItem.status>=300||`response`in e.historyItem&&JSON.parse(e.historyItem.response).errors:!0,[e.historyItem]);return(0,d.jsxs)(W,{variant:`ghost`,size:`sm`,className:H(`bg-background group sticky top-0 w-full justify-start px-2`,{"bg-accent/50":s}),onClick:()=>{i(n({type:`history`,data:e.historyItem,readOnly:!0}))},children:[(0,d.jsx)(a.HistoryIcon,{className:H(`size-4 text-indigo-400`,{"text-green-500":!e.historyItem.status||e.historyItem.status>=200&&e.historyItem.status<300,"text-red-500":l})}),(0,d.jsx)(`span`,{className:`text-muted-foreground`,children:(0,c.format)(new Date(e.historyItem.createdAt),`HH:mm`)}),(0,d.jsx)(`div`,{className:`truncate`,children:e.historyItem.operation.name||`Untitled`}),(0,d.jsx)(`div`,{className:`ml-auto flex items-center gap-2`,children:(0,d.jsxs)(eh,{children:[(0,d.jsx)(th,{asChild:!0,children:(0,d.jsxs)(Rh,{children:[(0,d.jsx)(zh,{asChild:!0,children:(0,d.jsx)(W,{variant:`link`,className:`text-muted-foreground hover:text-destructive p-1! pr-0! ml-auto opacity-0 transition-opacity group-hover:opacity-100`,onClick:e=>{e.stopPropagation()},children:(0,d.jsx)(a.TrashIcon,{})})}),(0,d.jsxs)(Hh,{children:[(0,d.jsxs)(Uh,{children:[(0,d.jsx)(Gh,{children:`Are you sure you want to delete history?`}),(0,d.jsx)(Kh,{children:`This history operation will be permanently deleted.`})]}),(0,d.jsxs)(Wh,{children:[(0,d.jsx)(Jh,{children:`Cancel`}),(0,d.jsx)(qh,{asChild:!0,children:(0,d.jsx)(W,{variant:`destructive`,onClick:t=>{t.stopPropagation(),o(e.historyItem.id)},children:`Delete`})})]})]})]})}),(0,d.jsx)(nh,{children:`Delete history`})]})})]})},Rb=e=>{let{deleteHistoryByDay:t}=e_(),[n,i]=(0,r.useState)(!1);return(0,d.jsxs)(cg,{open:n,onOpenChange:i,children:[(0,d.jsx)(lg,{asChild:!0,children:(0,d.jsxs)(W,{variant:`ghost`,className:`bg-background group sticky top-0 w-full justify-start px-2`,size:`sm`,children:[n?(0,d.jsx)(a.FolderOpenIcon,{className:`text-muted-foreground size-4`}):(0,d.jsx)(a.FolderClockIcon,{className:`text-muted-foreground size-4`}),e.group.date,(0,d.jsxs)(eh,{children:[(0,d.jsx)(th,{asChild:!0,children:(0,d.jsxs)(Rh,{children:[(0,d.jsx)(zh,{asChild:!0,children:(0,d.jsx)(W,{variant:`link`,className:`text-muted-foreground hover:text-destructive p-1! pr-0! ml-auto opacity-0 transition-opacity group-hover:opacity-100`,onClick:e=>{e.stopPropagation()},children:(0,d.jsx)(a.TrashIcon,{})})}),(0,d.jsxs)(Hh,{children:[(0,d.jsxs)(Uh,{children:[(0,d.jsx)(Gh,{children:`Are you sure you want to delete history?`}),(0,d.jsxs)(Kh,{children:[`All history for `,e.group.date,` will be permanently deleted.`]})]}),(0,d.jsxs)(Wh,{children:[(0,d.jsx)(Jh,{children:`Cancel`}),(0,d.jsx)(qh,{asChild:!0,children:(0,d.jsx)(W,{variant:`destructive`,onClick:n=>{n.stopPropagation(),t(e.group.date)},children:`Delete`})})]})]})]})}),(0,d.jsx)(nh,{children:`Delete history`})]})]})}),(0,d.jsx)(ug,{className:H(`border-border ml-4 flex flex-col gap-1 border-l pl-2`),children:e.group.items.map(e=>(0,d.jsx)(Lb,{historyItem:e},e.id))})]})},zb=()=>{let{history:e,deleteAllHistory:t,tabs:n,setTabs:i,setActiveTab:o}=e_(),s=(0,r.useMemo)(()=>e.sort((e,t)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime()),[e]),l=(0,r.useMemo)(()=>s.reduce((e,t)=>{let n=(0,c.format)(new Date(t.createdAt),`dd MMM yyyy`),r=e.find(e=>e.date===n);return r||(r={date:n,items:[]},e.push(r)),r.items.push(t),e},[]),[s]),u=(0,r.useCallback)(()=>{t(),i(n.filter(e=>e.type!==`history`));let e=n.find(e=>e.type!==`history`);e&&o(e)},[t,i,n,o]);return(0,d.jsxs)(`div`,{className:`grid size-full grid-rows-[auto_1fr] pb-0`,children:[(0,d.jsxs)(`div`,{className:`border-border flex h-12 items-center gap-2 border-b p-3`,children:[(0,d.jsx)(`span`,{className:`text-base font-medium`,children:`History`}),(0,d.jsx)(`div`,{className:`ml-auto flex items-center`,children:(0,d.jsxs)(eh,{children:[(0,d.jsx)(th,{asChild:!0,children:(0,d.jsxs)(Rh,{children:[(0,d.jsx)(zh,{asChild:!0,children:(0,d.jsx)(W,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground hover:text-destructive p-1! size-6 rounded-sm`,disabled:e.length===0,children:(0,d.jsx)(a.TrashIcon,{className:`size-4`})})}),(0,d.jsxs)(Hh,{children:[(0,d.jsxs)(Uh,{children:[(0,d.jsx)(Gh,{children:`Are you sure you want to delete all history?`}),(0,d.jsx)(Kh,{children:`All history will be permanently deleted.`})]}),(0,d.jsxs)(Wh,{children:[(0,d.jsx)(Jh,{children:`Cancel`}),(0,d.jsx)(qh,{asChild:!0,children:(0,d.jsx)(W,{variant:`destructive`,onClick:e=>{e.stopPropagation(),u()},children:`Delete`})})]})]})]})}),(0,d.jsx)(nh,{children:`Delete all`})]})})]}),(0,d.jsx)(`div`,{className:`size-full overflow-hidden`,children:(0,d.jsxs)(Zg,{className:`size-full`,children:[(0,d.jsx)(`div`,{className:`flex flex-col gap-1 p-3`,children:l.length>0?l.map(e=>(0,d.jsx)(Rb,{group:e},e.date)):(0,d.jsx)(Zd,{className:`px-0! w-full`,children:(0,d.jsxs)(Qd,{children:[(0,d.jsx)(ef,{variant:`icon`,children:(0,d.jsx)(a.ClockIcon,{className:`text-muted-foreground size-6`})}),(0,d.jsx)(tf,{className:`text-base`,children:`No history yet`}),(0,d.jsx)(nf,{className:`text-xs`,children:`You haven't run any operations yet. Get started by running your first operation.`})]})})}),(0,d.jsx)(Qg,{})]})})]})};var Bb=Dn(`inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden`,{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90`,secondary:`border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90`,destructive:`border-transparent text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/40 bg-destructive/60`,outline:`text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground`}},defaultVariants:{variant:`default`}});function Vb({className:e,variant:t,asChild:n=!1,...r}){return(0,d.jsx)(n?Fn:`span`,{"data-slot":`badge`,className:H(Bb({variant:t}),e),...r})}function Hb(e){let t=r.useRef({value:e,previous:e});return r.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var Ub=[` `,`Enter`,`ArrowUp`,`ArrowDown`],Wb=[` `,`Enter`],Gb=`Select`,[Kb,qb,Jb]=so(Gb),[Yb,Xb]=Wn(Gb,[Jb,Fc]),Zb=Fc(),[Qb,$b]=Yb(Gb),[ex,tx]=Yb(Gb),nx=e=>{let{__scopeSelect:t,children:n,open:i,defaultOpen:a,onOpenChange:o,value:s,defaultValue:c,onValueChange:l,dir:u,name:f,autoComplete:p,disabled:m,required:h,form:g}=e,_=Zb(t),[v,y]=r.useState(null),[b,x]=r.useState(null),[S,C]=r.useState(!1),w=lo(u),[T,E]=Zn({prop:i,defaultProp:a??!1,onChange:o,caller:Gb}),[D,O]=Zn({prop:s,defaultProp:c,onChange:l,caller:Gb}),k=r.useRef(null),A=v?g||!!v.closest(`form`):!0,[j,M]=r.useState(new Set),N=Array.from(j).map(e=>e.props.value).join(`;`);return(0,d.jsx)(Zc,{..._,children:(0,d.jsxs)(Qb,{required:h,scope:t,trigger:v,onTriggerChange:y,valueNode:b,onValueNodeChange:x,valueNodeHasChildren:S,onValueNodeHasChildrenChange:C,contentId:Yn(),value:D,onValueChange:O,open:T,onOpenChange:E,dir:w,triggerPointerDownPosRef:k,disabled:m,children:[(0,d.jsx)(Kb.Provider,{scope:t,children:(0,d.jsx)(ex,{scope:e.__scopeSelect,onNativeOptionAdd:r.useCallback(e=>{M(t=>new Set(t).add(e))},[]),onNativeOptionRemove:r.useCallback(e=>{M(t=>{let n=new Set(t);return n.delete(e),n})},[]),children:n})}),A?(0,d.jsxs)(Zx,{"aria-hidden":!0,required:h,tabIndex:-1,name:f,autoComplete:p,value:D,onChange:e=>O(e.target.value),disabled:m,form:g,children:[D===void 0?(0,d.jsx)(`option`,{value:``}):null,Array.from(j)]},N):null]})})};nx.displayName=Gb;var rx=`SelectTrigger`,ix=r.forwardRef((e,t)=>{let{__scopeSelect:n,disabled:i=!1,...a}=e,o=Zb(n),s=$b(rx,n),c=s.disabled||i,l=U(t,s.onTriggerChange),u=qb(n),f=r.useRef(`touch`),[p,m,h]=$x(e=>{let t=u().filter(e=>!e.disabled),n=t.find(e=>e.value===s.value),r=eS(t,e,n);r!==void 0&&s.onValueChange(r.value)}),g=e=>{c||(s.onOpenChange(!0),h()),e&&(s.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,d.jsx)(Qc,{asChild:!0,...o,children:(0,d.jsx)(K.button,{type:`button`,role:`combobox`,"aria-controls":s.contentId,"aria-expanded":s.open,"aria-required":s.required,"aria-autocomplete":`none`,dir:s.dir,"data-state":s.open?`open`:`closed`,disabled:c,"data-disabled":c?``:void 0,"data-placeholder":Qx(s.value)?``:void 0,...a,ref:l,onClick:G(a.onClick,e=>{e.currentTarget.focus(),f.current!==`mouse`&&g(e)}),onPointerDown:G(a.onPointerDown,e=>{f.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(g(e),e.preventDefault())}),onKeyDown:G(a.onKeyDown,e=>{let t=p.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&m(e.key),!(t&&e.key===` `)&&Ub.includes(e.key)&&(g(),e.preventDefault())})})})});ix.displayName=rx;var ax=`SelectValue`,ox=r.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:i,children:a,placeholder:o=``,...s}=e,c=$b(ax,n),{onValueNodeHasChildrenChange:l}=c,u=a!==void 0,f=U(t,c.onValueNodeChange);return Kn(()=>{l(u)},[l,u]),(0,d.jsx)(K.span,{...s,ref:f,style:{pointerEvents:`none`},children:Qx(c.value)?(0,d.jsx)(d.Fragment,{children:o}):a})});ox.displayName=ax;var sx=`SelectIcon`,cx=r.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,...i}=e;return(0,d.jsx)(K.span,{"aria-hidden":!0,...i,ref:t,children:r||`▼`})});cx.displayName=sx;var lx=`SelectPortal`,ux=e=>(0,d.jsx)(zr,{asChild:!0,...e});ux.displayName=lx;var dx=`SelectContent`,fx=r.forwardRef((e,t)=>{let n=$b(dx,e.__scopeSelect),[a,o]=r.useState();if(Kn(()=>{o(new DocumentFragment)},[]),!n.open){let t=a;return t?i.createPortal((0,d.jsx)(mx,{scope:e.__scopeSelect,children:(0,d.jsx)(Kb.Slot,{scope:e.__scopeSelect,children:(0,d.jsx)(`div`,{children:e.children})})}),t):null}return(0,d.jsx)(vx,{...e,ref:t})});fx.displayName=dx;var px=10,[mx,hx]=Yb(dx),gx=`SelectContentImpl`,_x=tr(`SelectContent.RemoveScroll`),vx=r.forwardRef((e,t)=>{let{__scopeSelect:n,position:i=`item-aligned`,onCloseAutoFocus:a,onEscapeKeyDown:o,onPointerDownOutside:s,side:c,sideOffset:l,align:u,alignOffset:f,arrowPadding:p,collisionBoundary:m,collisionPadding:h,sticky:g,hideWhenDetached:_,avoidCollisions:v,...y}=e,b=$b(dx,n),[x,S]=r.useState(null),[C,w]=r.useState(null),T=U(t,e=>S(e)),[E,D]=r.useState(null),[O,k]=r.useState(null),A=qb(n),[j,M]=r.useState(!1),N=r.useRef(!1);r.useEffect(()=>{if(x)return la(x)},[x]),Kr();let P=r.useCallback(e=>{let[t,...n]=A().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n?.scrollIntoView({block:`nearest`}),n===t&&C&&(C.scrollTop=0),n===r&&C&&(C.scrollTop=C.scrollHeight),n?.focus(),document.activeElement!==i))return},[A,C]),F=r.useCallback(()=>P([E,x]),[P,E,x]);r.useEffect(()=>{j&&F()},[j,F]);let{onOpenChange:I,triggerPointerDownPosRef:L}=b;r.useEffect(()=>{if(x){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(L.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(L.current?.y??0))}},n=n=>{e.x<=10&&e.y<=10?n.preventDefault():x.contains(n.target)||I(!1),document.removeEventListener(`pointermove`,t),L.current=null};return L.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[x,I,L]),r.useEffect(()=>{let e=()=>I(!1);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[I]);let[ee,te]=$x(e=>{let t=A().filter(e=>!e.disabled),n=t.find(e=>e.ref.current===document.activeElement),r=eS(t,e,n);r&&setTimeout(()=>r.ref.current.focus())}),R=r.useCallback((e,t,n)=>{let r=!N.current&&!n;(b.value!==void 0&&b.value===t||r)&&(D(e),r&&(N.current=!0))},[b.value]),ne=r.useCallback(()=>x?.focus(),[x]),re=r.useCallback((e,t,n)=>{let r=!N.current&&!n;(b.value!==void 0&&b.value===t||r)&&k(e)},[b.value]),ie=i===`popper`?Sx:bx,ae=ie===Sx?{side:c,sideOffset:l,align:u,alignOffset:f,arrowPadding:p,collisionBoundary:m,collisionPadding:h,sticky:g,hideWhenDetached:_,avoidCollisions:v}:{};return(0,d.jsx)(mx,{scope:n,content:x,viewport:C,onViewportChange:w,itemRefCallback:R,selectedItem:E,onItemLeave:ne,itemTextRefCallback:re,focusSelectedItem:F,selectedItemText:O,position:i,isPositioned:j,searchRef:ee,children:(0,d.jsx)(ea,{as:_x,allowPinchZoom:!0,children:(0,d.jsx)(Or,{asChild:!0,trapped:b.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:G(a,e=>{b.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,d.jsx)(_r,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>b.onOpenChange(!1),children:(0,d.jsx)(ie,{role:`listbox`,id:b.contentId,"data-state":b.open?`open`:`closed`,dir:b.dir,onContextMenu:e=>e.preventDefault(),...y,...ae,onPlaced:()=>M(!0),ref:T,style:{display:`flex`,flexDirection:`column`,outline:`none`,...y.style},onKeyDown:G(y.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&te(e.key),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=A().filter(e=>!e.disabled).map(e=>e.ref.current);if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>P(t)),e.preventDefault()}})})})})})})});vx.displayName=gx;var yx=`SelectItemAlignedPosition`,bx=r.forwardRef((e,t)=>{let{__scopeSelect:n,onPlaced:i,...a}=e,o=$b(dx,n),s=hx(dx,n),[c,l]=r.useState(null),[u,f]=r.useState(null),p=U(t,e=>f(e)),m=qb(n),h=r.useRef(!1),g=r.useRef(!0),{viewport:_,selectedItem:v,selectedItemText:y,focusSelectedItem:b}=s,x=r.useCallback(()=>{if(o.trigger&&o.valueNode&&c&&u&&_&&v&&y){let e=o.trigger.getBoundingClientRect(),t=u.getBoundingClientRect(),n=o.valueNode.getBoundingClientRect(),r=y.getBoundingClientRect();if(o.dir!==`rtl`){let i=r.left-t.left,a=n.left-i,o=e.left-a,s=e.width+o,l=Math.max(s,t.width),u=window.innerWidth-px,d=dg(a,[px,Math.max(px,u-l)]);c.style.minWidth=s+`px`,c.style.left=d+`px`}else{let i=t.right-r.right,a=window.innerWidth-n.right-i,o=window.innerWidth-e.right-a,s=e.width+o,l=Math.max(s,t.width),u=window.innerWidth-px,d=dg(a,[px,Math.max(px,u-l)]);c.style.minWidth=s+`px`,c.style.right=d+`px`}let a=m(),s=window.innerHeight-px*2,l=_.scrollHeight,d=window.getComputedStyle(u),f=parseInt(d.borderTopWidth,10),p=parseInt(d.paddingTop,10),g=parseInt(d.borderBottomWidth,10),b=parseInt(d.paddingBottom,10),x=f+p+l+b+g,S=Math.min(v.offsetHeight*5,x),C=window.getComputedStyle(_),w=parseInt(C.paddingTop,10),T=parseInt(C.paddingBottom,10),E=e.top+e.height/2-px,D=s-E,O=v.offsetHeight/2,k=v.offsetTop+O,A=f+p+k,j=x-A;if(A<=E){let e=a.length>0&&v===a[a.length-1].ref.current;c.style.bottom=`0px`;let t=u.clientHeight-_.offsetTop-_.offsetHeight,n=Math.max(D,O+(e?T:0)+t+g),r=A+n;c.style.height=r+`px`}else{let e=a.length>0&&v===a[0].ref.current;c.style.top=`0px`;let t=Math.max(E,f+_.offsetTop+(e?w:0)+O)+j;c.style.height=t+`px`,_.scrollTop=A-E+_.offsetTop}c.style.margin=`${px}px 0`,c.style.minHeight=S+`px`,c.style.maxHeight=s+`px`,i?.(),requestAnimationFrame(()=>h.current=!0)}},[m,o.trigger,o.valueNode,c,u,_,v,y,o.dir,i]);Kn(()=>x(),[x]);let[S,C]=r.useState();Kn(()=>{u&&C(window.getComputedStyle(u).zIndex)},[u]);let w=r.useCallback(e=>{e&&g.current===!0&&(x(),b?.(),g.current=!1)},[x,b]);return(0,d.jsx)(Cx,{scope:n,contentWrapper:c,shouldExpandOnScrollRef:h,onScrollButtonChange:w,children:(0,d.jsx)(`div`,{ref:l,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:S},children:(0,d.jsx)(K.div,{...a,ref:p,style:{boxSizing:`border-box`,maxHeight:`100%`,...a.style}})})})});bx.displayName=yx;var xx=`SelectPopperPosition`,Sx=r.forwardRef((e,t)=>{let{__scopeSelect:n,align:r=`start`,collisionPadding:i=px,...a}=e,o=Zb(n);return(0,d.jsx)($c,{...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.style,"--radix-select-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-select-content-available-width":`var(--radix-popper-available-width)`,"--radix-select-content-available-height":`var(--radix-popper-available-height)`,"--radix-select-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-select-trigger-height":`var(--radix-popper-anchor-height)`}})});Sx.displayName=xx;var[Cx,wx]=Yb(dx,{}),Tx=`SelectViewport`,Ex=r.forwardRef((e,t)=>{let{__scopeSelect:n,nonce:i,...a}=e,o=hx(Tx,n),s=wx(Tx,n),c=U(t,o.onViewportChange),l=r.useRef(0);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`},nonce:i}),(0,d.jsx)(Kb.Slot,{scope:n,children:(0,d.jsx)(K.div,{"data-radix-select-viewport":``,role:`presentation`,...a,ref:c,style:{position:`relative`,flex:1,overflow:`hidden auto`,...a.style},onScroll:G(a.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=s;if(r?.current&&n){let e=Math.abs(l.current-t.scrollTop);if(e>0){let r=window.innerHeight-px*2,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o<r){let i=o+e,a=Math.min(r,i),s=i-a;n.style.height=a+`px`,n.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,n.style.justifyContent=`flex-end`)}}}l.current=t.scrollTop})})})]})});Ex.displayName=Tx;var Dx=`SelectGroup`,[Ox,kx]=Yb(Dx),Ax=r.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=Yn();return(0,d.jsx)(Ox,{scope:n,id:i,children:(0,d.jsx)(K.div,{role:`group`,"aria-labelledby":i,...r,ref:t})})});Ax.displayName=Dx;var jx=`SelectLabel`,Mx=r.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=kx(jx,n);return(0,d.jsx)(K.div,{id:i.id,...r,ref:t})});Mx.displayName=jx;var Nx=`SelectItem`,[Px,Fx]=Yb(Nx),Ix=r.forwardRef((e,t)=>{let{__scopeSelect:n,value:i,disabled:a=!1,textValue:o,...s}=e,c=$b(Nx,n),l=hx(Nx,n),u=c.value===i,[f,p]=r.useState(o??``),[m,h]=r.useState(!1),g=U(t,e=>l.itemRefCallback?.(e,i,a)),_=Yn(),v=r.useRef(`touch`),y=()=>{a||(c.onValueChange(i),c.onOpenChange(!1))};if(i===``)throw Error(`A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.`);return(0,d.jsx)(Px,{scope:n,value:i,disabled:a,textId:_,isSelected:u,onItemTextChange:r.useCallback(e=>{p(t=>t||(e?.textContent??``).trim())},[]),children:(0,d.jsx)(Kb.ItemSlot,{scope:n,value:i,disabled:a,textValue:f,children:(0,d.jsx)(K.div,{role:`option`,"aria-labelledby":_,"data-highlighted":m?``:void 0,"aria-selected":u&&m,"data-state":u?`checked`:`unchecked`,"aria-disabled":a||void 0,"data-disabled":a?``:void 0,tabIndex:a?void 0:-1,...s,ref:g,onFocus:G(s.onFocus,()=>h(!0)),onBlur:G(s.onBlur,()=>h(!1)),onClick:G(s.onClick,()=>{v.current!==`mouse`&&y()}),onPointerUp:G(s.onPointerUp,()=>{v.current===`mouse`&&y()}),onPointerDown:G(s.onPointerDown,e=>{v.current=e.pointerType}),onPointerMove:G(s.onPointerMove,e=>{v.current=e.pointerType,a?l.onItemLeave?.():v.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:G(s.onPointerLeave,e=>{e.currentTarget===document.activeElement&&l.onItemLeave?.()}),onKeyDown:G(s.onKeyDown,e=>{l.searchRef?.current!==``&&e.key===` `||(Wb.includes(e.key)&&y(),e.key===` `&&e.preventDefault())})})})})});Ix.displayName=Nx;var Lx=`SelectItemText`,Rx=r.forwardRef((e,t)=>{let{__scopeSelect:n,className:a,style:o,...s}=e,c=$b(Lx,n),l=hx(Lx,n),u=Fx(Lx,n),f=tx(Lx,n),[p,m]=r.useState(null),h=U(t,e=>m(e),u.onItemTextChange,e=>l.itemTextRefCallback?.(e,u.value,u.disabled)),g=p?.textContent,_=r.useMemo(()=>(0,d.jsx)(`option`,{value:u.value,disabled:u.disabled,children:g},u.value),[u.disabled,u.value,g]),{onNativeOptionAdd:v,onNativeOptionRemove:y}=f;return Kn(()=>(v(_),()=>y(_)),[v,y,_]),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(K.span,{id:u.textId,...s,ref:h}),u.isSelected&&c.valueNode&&!c.valueNodeHasChildren?i.createPortal(s.children,c.valueNode):null]})});Rx.displayName=Lx;var zx=`SelectItemIndicator`,Bx=r.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return Fx(zx,n).isSelected?(0,d.jsx)(K.span,{"aria-hidden":!0,...r,ref:t}):null});Bx.displayName=zx;var Vx=`SelectScrollUpButton`,Hx=r.forwardRef((e,t)=>{let n=hx(Vx,e.__scopeSelect),i=wx(Vx,e.__scopeSelect),[a,o]=r.useState(!1),s=U(t,i.onScrollButtonChange);return Kn(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollTop>0;o(e)},t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),a?(0,d.jsx)(Gx,{...e,ref:s,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null});Hx.displayName=Vx;var Ux=`SelectScrollDownButton`,Wx=r.forwardRef((e,t)=>{let n=hx(Ux,e.__scopeSelect),i=wx(Ux,e.__scopeSelect),[a,o]=r.useState(!1),s=U(t,i.onScrollButtonChange);return Kn(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight,n=Math.ceil(t.scrollTop)<e;o(n)},t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),a?(0,d.jsx)(Gx,{...e,ref:s,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null});Wx.displayName=Ux;var Gx=r.forwardRef((e,t)=>{let{__scopeSelect:n,onAutoScroll:i,...a}=e,o=hx(`SelectScrollButton`,n),s=r.useRef(null),c=qb(n),l=r.useCallback(()=>{s.current!==null&&(window.clearInterval(s.current),s.current=null)},[]);return r.useEffect(()=>()=>l(),[l]),Kn(()=>{c().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[c]),(0,d.jsx)(K.div,{"aria-hidden":!0,...a,ref:t,style:{flexShrink:0,...a.style},onPointerDown:G(a.onPointerDown,()=>{s.current===null&&(s.current=window.setInterval(i,50))}),onPointerMove:G(a.onPointerMove,()=>{o.onItemLeave?.(),s.current===null&&(s.current=window.setInterval(i,50))}),onPointerLeave:G(a.onPointerLeave,()=>{l()})})}),Kx=`SelectSeparator`,qx=r.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return(0,d.jsx)(K.div,{"aria-hidden":!0,...r,ref:t})});qx.displayName=Kx;var Jx=`SelectArrow`,Yx=r.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=Zb(n),a=$b(Jx,n),o=hx(Jx,n);return a.open&&o.position===`popper`?(0,d.jsx)(el,{...i,...r,ref:t}):null});Yx.displayName=Jx;var Xx=`SelectBubbleInput`,Zx=r.forwardRef(({__scopeSelect:e,value:t,...n},i)=>{let a=r.useRef(null),o=U(i,a),s=Hb(t);return r.useEffect(()=>{let e=a.current;if(!e)return;let n=window.HTMLSelectElement.prototype,r=Object.getOwnPropertyDescriptor(n,`value`).set;if(s!==t&&r){let n=new Event(`change`,{bubbles:!0});r.call(e,t),e.dispatchEvent(n)}},[s,t]),(0,d.jsx)(K.select,{...n,style:{...lm,...n.style},ref:o,defaultValue:t})});Zx.displayName=Xx;function Qx(e){return e===``||e===void 0}function $x(e){let t=lr(e),n=r.useRef(``),i=r.useRef(0),a=r.useCallback(e=>{let r=n.current+e;t(r),(function e(t){n.current=t,window.clearTimeout(i.current),t!==``&&(i.current=window.setTimeout(()=>e(``),1e3))})(r)},[t]),o=r.useCallback(()=>{n.current=``,window.clearTimeout(i.current)},[]);return r.useEffect(()=>()=>window.clearTimeout(i.current),[]),[n,a,o]}function eS(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=tS(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.textValue.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function tS(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var nS=nx,rS=ix,iS=ox,aS=cx,oS=ux,sS=fx,cS=Ex,lS=Ix,uS=Rx,dS=Bx,fS=Hx,pS=Wx;function mS({...e}){return(0,d.jsx)(nS,{"data-slot":`select`,...e})}function hS({...e}){return(0,d.jsx)(iS,{"data-slot":`select-value`,...e})}function gS({className:e,size:t=`default`,children:n,...r}){return(0,d.jsxs)(rS,{"data-slot":`select-trigger`,"data-size":t,className:H(`border-input data-placeholder:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/40 aria-invalid:border-destructive bg-input/30 hover:bg-input/50 flex w-fit items-center justify-between gap-2 whitespace-nowrap rounded-md border px-3 py-2 text-sm shadow-sm outline-none transition-[color,box-shadow] focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`,e),...r,children:[n,(0,d.jsx)(aS,{asChild:!0,children:(0,d.jsx)(a.ChevronDownIcon,{className:`size-4 opacity-50`})})]})}function _S({className:e,children:t,position:n=`popper`,align:r=`center`,...i}){let{container:a}=e_();return(0,d.jsx)(oS,{container:a,children:(0,d.jsxs)(sS,{"data-slot":`select-content`,className:H(`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 relative z-50 max-h-[var(--radix-select-content-available-height)] min-w-[8rem] origin-[var(--radix-select-content-transform-origin)] overflow-y-auto overflow-x-hidden rounded-md border shadow-md`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,e),position:n,align:r,...i,children:[(0,d.jsx)(yS,{}),(0,d.jsx)(cS,{className:H(`p-1`,n===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1`),children:t}),(0,d.jsx)(bS,{})]})})}function vS({className:e,children:t,...n}){return(0,d.jsxs)(lS,{"data-slot":`select-item`,className:H(`focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground outline-hidden *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 data-disabled:pointer-events-none data-disabled:opacity-50 relative flex w-full cursor-default select-none items-center gap-2 rounded-sm py-1.5 pl-2 pr-8 text-sm [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`,e),...n,children:[(0,d.jsx)(`span`,{className:`absolute right-2 flex size-3.5 items-center justify-center`,children:(0,d.jsx)(dS,{children:(0,d.jsx)(a.CheckIcon,{className:`size-4`})})}),(0,d.jsx)(uS,{children:t})]})}function yS({className:e,...t}){return(0,d.jsx)(fS,{"data-slot":`select-scroll-up-button`,className:H(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,d.jsx)(a.ChevronUpIcon,{className:`size-4`})})}function bS({className:e,...t}){return(0,d.jsx)(pS,{"data-slot":`select-scroll-down-button`,className:H(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,d.jsx)(a.ChevronDownIcon,{className:`size-4`})})}function xS({className:e,...t}){return(0,d.jsx)(a.Loader2Icon,{role:`status`,"aria-label":`Loading`,className:H(`size-4 animate-spin`,e),...t})}var SS=`Tabs`,[CS,wS]=Wn(SS,[cl]),TS=cl(),[ES,DS]=CS(SS),OS=r.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:i,defaultValue:a,orientation:o=`horizontal`,dir:s,activationMode:c=`automatic`,...l}=e,u=lo(s),[f,p]=Zn({prop:r,onChange:i,defaultProp:a??``,caller:SS});return(0,d.jsx)(ES,{scope:n,baseId:Yn(),value:f,onValueChange:p,orientation:o,dir:u,activationMode:c,children:(0,d.jsx)(K.div,{dir:u,"data-orientation":o,...l,ref:t})})});OS.displayName=SS;var kS=`TabsList`,AS=r.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...i}=e,a=DS(kS,n),o=TS(n);return(0,d.jsx)(bl,{asChild:!0,...o,orientation:a.orientation,dir:a.dir,loop:r,children:(0,d.jsx)(K.div,{role:`tablist`,"aria-orientation":a.orientation,...i,ref:t})})});AS.displayName=kS;var jS=`TabsTrigger`,MS=r.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:i=!1,...a}=e,o=DS(jS,n),s=TS(n),c=FS(o.baseId,r),l=IS(o.baseId,r),u=r===o.value;return(0,d.jsx)(xl,{asChild:!0,...s,focusable:!i,active:u,children:(0,d.jsx)(K.button,{type:`button`,role:`tab`,"aria-selected":u,"aria-controls":l,"data-state":u?`active`:`inactive`,"data-disabled":i?``:void 0,disabled:i,id:c,...a,ref:t,onMouseDown:G(e.onMouseDown,e=>{!i&&e.button===0&&e.ctrlKey===!1?o.onValueChange(r):e.preventDefault()}),onKeyDown:G(e.onKeyDown,e=>{[` `,`Enter`].includes(e.key)&&o.onValueChange(r)}),onFocus:G(e.onFocus,()=>{let e=o.activationMode!==`manual`;!u&&!i&&e&&o.onValueChange(r)})})})});MS.displayName=jS;var NS=`TabsContent`,PS=r.forwardRef((e,t)=>{let{__scopeTabs:n,value:i,forceMount:a,children:o,...s}=e,c=DS(NS,n),l=FS(c.baseId,i),u=IS(c.baseId,i),f=i===c.value,p=r.useRef(f);return r.useEffect(()=>{let e=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,d.jsx)(Vr,{present:a||f,children:({present:n})=>(0,d.jsx)(K.div,{"data-state":f?`active`:`inactive`,"data-orientation":c.orientation,role:`tabpanel`,"aria-labelledby":l,hidden:!n,id:u,tabIndex:0,...s,ref:t,style:{...e.style,animationDuration:p.current?`0s`:void 0},children:n&&o})})});PS.displayName=NS;function FS(e,t){return`${e}-trigger-${t}`}function IS(e,t){return`${e}-content-${t}`}var LS=OS,RS=AS,zS=MS,BS=PS;function VS({className:e,...t}){return(0,d.jsx)(LS,{"data-slot":`tabs`,className:H(`flex flex-col`,e),...t})}function HS({className:e,...t}){return(0,d.jsx)(RS,{"data-slot":`tabs-list`,className:H(`bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]`,e),...t})}function US({className:e,...t}){return(0,d.jsx)(zS,{"data-slot":`tabs-trigger`,className:H(`data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring data-[state=active]:border-input data-[state=active]:bg-input/30 text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 whitespace-nowrap rounded-md border border-transparent px-2 py-1 text-sm font-medium transition-[color,box-shadow] focus-visible:outline-1 focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`,e),...t})}function WS({className:e,...t}){return(0,d.jsx)(BS,{"data-slot":`tabs-content`,className:H(`flex-1 outline-none`,e),...t})}var GS=`Toggle`,KS=r.forwardRef((e,t)=>{let{pressed:n,defaultPressed:r,onPressedChange:i,...a}=e,[o,s]=Zn({prop:n,onChange:i,defaultProp:r??!1,caller:GS});return(0,d.jsx)(K.button,{type:`button`,"aria-pressed":o,"data-state":o?`on`:`off`,"data-disabled":e.disabled?``:void 0,...a,ref:t,onClick:G(e.onClick,()=>{e.disabled||s(!o)})})});KS.displayName=GS;var qS=KS,JS=Dn(`inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap`,{variants:{variant:{default:`bg-transparent`,outline:`border border-input bg-transparent shadow-sm hover:bg-accent hover:text-accent-foreground`},size:{default:`h-9 px-2 min-w-9`,sm:`h-8 px-1.5 min-w-8`,lg:`h-10 px-2.5 min-w-10`}},defaultVariants:{variant:`default`,size:`default`}});function YS({className:e,variant:t,size:n,...r}){return(0,d.jsx)(qS,{"data-slot":`toggle`,className:H(JS({variant:t,size:n,className:e})),...r})}var XS=`Checkbox`,[ZS,QS]=Wn(XS),[$S,eC]=ZS(XS);function tC(e){let{__scopeCheckbox:t,checked:n,children:i,defaultChecked:a,disabled:o,form:s,name:c,onCheckedChange:l,required:u,value:f=`on`,internal_do_not_use_render:p}=e,[m,h]=Zn({prop:n,defaultProp:a??!1,onChange:l,caller:XS}),[g,_]=r.useState(null),[v,y]=r.useState(null),b=r.useRef(!1),x=g?!!s||!!g.closest(`form`):!0,S={checked:m,disabled:o,setChecked:h,control:g,setControl:_,name:c,form:s,value:f,hasConsumerStoppedPropagationRef:b,required:u,defaultChecked:uC(a)?!1:a,isFormControl:x,bubbleInput:v,setBubbleInput:y};return(0,d.jsx)($S,{scope:t,...S,children:lC(p)?p(S):i})}var nC=`CheckboxTrigger`,rC=r.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...i},a)=>{let{control:o,value:s,disabled:c,checked:l,required:u,setControl:f,setChecked:p,hasConsumerStoppedPropagationRef:m,isFormControl:h,bubbleInput:g}=eC(nC,e),_=U(a,f),v=r.useRef(l);return r.useEffect(()=>{let e=o?.form;if(e){let t=()=>p(v.current);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[o,p]),(0,d.jsx)(K.button,{type:`button`,role:`checkbox`,"aria-checked":uC(l)?`mixed`:l,"aria-required":u,"data-state":dC(l),"data-disabled":c?``:void 0,disabled:c,value:s,...i,ref:_,onKeyDown:G(t,e=>{e.key===`Enter`&&e.preventDefault()}),onClick:G(n,e=>{p(e=>uC(e)?!0:!e),g&&h&&(m.current=e.isPropagationStopped(),m.current||e.stopPropagation())})})});rC.displayName=nC;var iC=r.forwardRef((e,t)=>{let{__scopeCheckbox:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c,onCheckedChange:l,form:u,...f}=e;return(0,d.jsx)(tC,{__scopeCheckbox:n,checked:i,defaultChecked:a,disabled:s,required:o,onCheckedChange:l,name:r,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(rC,{...f,ref:t,__scopeCheckbox:n}),e&&(0,d.jsx)(cC,{__scopeCheckbox:n})]})})});iC.displayName=XS;var aC=`CheckboxIndicator`,oC=r.forwardRef((e,t)=>{let{__scopeCheckbox:n,forceMount:r,...i}=e,a=eC(aC,n);return(0,d.jsx)(Vr,{present:r||uC(a.checked)||a.checked===!0,children:(0,d.jsx)(K.span,{"data-state":dC(a.checked),"data-disabled":a.disabled?``:void 0,...i,ref:t,style:{pointerEvents:`none`,...e.style}})})});oC.displayName=aC;var sC=`CheckboxBubbleInput`,cC=r.forwardRef(({__scopeCheckbox:e,...t},n)=>{let{control:i,hasConsumerStoppedPropagationRef:a,checked:o,defaultChecked:s,required:c,disabled:l,name:u,value:f,form:p,bubbleInput:m,setBubbleInput:h}=eC(sC,e),g=U(n,h),_=Hb(o),v=Mc(i);r.useEffect(()=>{let e=m;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set,r=!a.current;if(_!==o&&n){let t=new Event(`click`,{bubbles:r});e.indeterminate=uC(o),n.call(e,uC(o)?!1:o),e.dispatchEvent(t)}},[m,_,o,a]);let y=r.useRef(uC(o)?!1:o);return(0,d.jsx)(K.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:s??y.current,required:c,disabled:l,name:u,value:f,form:p,...t,tabIndex:-1,ref:g,style:{...t.style,...v,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})});cC.displayName=sC;function lC(e){return typeof e==`function`}function uC(e){return e===`indeterminate`}function dC(e){return uC(e)?`indeterminate`:e?`checked`:`unchecked`}var fC=`ContextMenu`,[pC,mC]=Wn(fC,[Nl]),hC=Nl(),[gC,_C]=pC(fC),vC=e=>{let{__scopeContextMenu:t,children:n,onOpenChange:i,dir:a,modal:o=!0}=e,[s,c]=r.useState(!1),l=hC(t),u=lr(i),f=r.useCallback(e=>{c(e),u(e)},[u]);return(0,d.jsx)(gC,{scope:t,open:s,onOpenChange:f,modal:o,children:(0,d.jsx)(Vu,{...l,dir:a,open:s,onOpenChange:f,modal:o,children:n})})};vC.displayName=fC;var yC=`ContextMenuTrigger`,bC=r.forwardRef((e,t)=>{let{__scopeContextMenu:n,disabled:i=!1,...a}=e,o=_C(yC,n),s=hC(n),c=r.useRef({x:0,y:0}),l=r.useRef({getBoundingClientRect:()=>DOMRect.fromRect({width:0,height:0,...c.current})}),u=r.useRef(0),f=r.useCallback(()=>window.clearTimeout(u.current),[]),p=e=>{c.current={x:e.clientX,y:e.clientY},o.onOpenChange(!0)};return r.useEffect(()=>f,[f]),r.useEffect(()=>void(i&&f()),[i,f]),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Hu,{...s,virtualRef:l}),(0,d.jsx)(K.span,{"data-state":o.open?`open`:`closed`,"data-disabled":i?``:void 0,...a,ref:t,style:{WebkitTouchCallout:`none`,...e.style},onContextMenu:i?e.onContextMenu:G(e.onContextMenu,e=>{f(),p(e),e.preventDefault()}),onPointerDown:i?e.onPointerDown:G(e.onPointerDown,YC(e=>{f(),u.current=window.setTimeout(()=>p(e),700)})),onPointerMove:i?e.onPointerMove:G(e.onPointerMove,YC(f)),onPointerCancel:i?e.onPointerCancel:G(e.onPointerCancel,YC(f)),onPointerUp:i?e.onPointerUp:G(e.onPointerUp,YC(f))})]})});bC.displayName=yC;var xC=`ContextMenuPortal`,SC=e=>{let{__scopeContextMenu:t,...n}=e,r=hC(t);return(0,d.jsx)(Uu,{...r,...n})};SC.displayName=xC;var CC=`ContextMenuContent`,wC=r.forwardRef((e,t)=>{let{__scopeContextMenu:n,...i}=e,a=_C(CC,n),o=hC(n),s=r.useRef(!1);return(0,d.jsx)(Wu,{...o,...i,ref:t,side:`right`,sideOffset:2,align:`start`,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),!t.defaultPrevented&&s.current&&t.preventDefault(),s.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),!t.defaultPrevented&&!a.modal&&(s.current=!0)},style:{...e.style,"--radix-context-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-context-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-context-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-context-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-context-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});wC.displayName=CC;var TC=`ContextMenuGroup`,EC=r.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=hC(n);return(0,d.jsx)(Gu,{...i,...r,ref:t})});EC.displayName=TC;var DC=`ContextMenuLabel`,OC=r.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=hC(n);return(0,d.jsx)(Ku,{...i,...r,ref:t})});OC.displayName=DC;var kC=`ContextMenuItem`,AC=r.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=hC(n);return(0,d.jsx)(qu,{...i,...r,ref:t})});AC.displayName=kC;var jC=`ContextMenuCheckboxItem`,MC=r.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=hC(n);return(0,d.jsx)(Ju,{...i,...r,ref:t})});MC.displayName=jC;var NC=`ContextMenuRadioGroup`,PC=r.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=hC(n);return(0,d.jsx)(Yu,{...i,...r,ref:t})});PC.displayName=NC;var FC=`ContextMenuRadioItem`,IC=r.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=hC(n);return(0,d.jsx)(Xu,{...i,...r,ref:t})});IC.displayName=FC;var LC=`ContextMenuItemIndicator`,RC=r.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=hC(n);return(0,d.jsx)(Zu,{...i,...r,ref:t})});RC.displayName=LC;var zC=`ContextMenuSeparator`,BC=r.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=hC(n);return(0,d.jsx)(Q,{...i,...r,ref:t})});BC.displayName=zC;var VC=`ContextMenuArrow`,HC=r.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=hC(n);return(0,d.jsx)(Qu,{...i,...r,ref:t})});HC.displayName=VC;var UC=`ContextMenuSub`,WC=e=>{let{__scopeContextMenu:t,children:n,onOpenChange:r,open:i,defaultOpen:a}=e,o=hC(t),[s,c]=Zn({prop:i,defaultProp:a??!1,onChange:r,caller:UC});return(0,d.jsx)($u,{...o,open:s,onOpenChange:c,children:n})};WC.displayName=UC;var GC=`ContextMenuSubTrigger`,KC=r.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=hC(n);return(0,d.jsx)(ed,{...i,...r,ref:t})});KC.displayName=GC;var qC=`ContextMenuSubContent`,JC=r.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=hC(n);return(0,d.jsx)(td,{...i,...r,ref:t,style:{...e.style,"--radix-context-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-context-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-context-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-context-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-context-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});JC.displayName=qC;function YC(e){return t=>t.pointerType===`mouse`?void 0:e(t)}var XC=vC,ZC=bC,QC=SC,$C=wC,ew=AC,tw=`ToggleGroup`,[nw,rw]=Wn(tw,[cl]),iw=cl(),aw=r.default.forwardRef((e,t)=>{let{type:n,...r}=e;if(n===`single`)return(0,d.jsx)(cw,{...r,ref:t});if(n===`multiple`)return(0,d.jsx)(lw,{...r,ref:t});throw Error(`Missing prop \`type\` expected on \`${tw}\``)});aw.displayName=tw;var[ow,sw]=nw(tw),cw=r.default.forwardRef((e,t)=>{let{value:n,defaultValue:i,onValueChange:a=()=>{},...o}=e,[s,c]=Zn({prop:n,defaultProp:i??``,onChange:a,caller:tw});return(0,d.jsx)(ow,{scope:e.__scopeToggleGroup,type:`single`,value:r.default.useMemo(()=>s?[s]:[],[s]),onItemActivate:c,onItemDeactivate:r.default.useCallback(()=>c(``),[c]),children:(0,d.jsx)(fw,{...o,ref:t})})}),lw=r.default.forwardRef((e,t)=>{let{value:n,defaultValue:i,onValueChange:a=()=>{},...o}=e,[s,c]=Zn({prop:n,defaultProp:i??[],onChange:a,caller:tw}),l=r.default.useCallback(e=>c((t=[])=>[...t,e]),[c]),u=r.default.useCallback(e=>c((t=[])=>t.filter(t=>t!==e)),[c]);return(0,d.jsx)(ow,{scope:e.__scopeToggleGroup,type:`multiple`,value:s,onItemActivate:l,onItemDeactivate:u,children:(0,d.jsx)(fw,{...o,ref:t})})});aw.displayName=tw;var[uw,dw]=nw(tw),fw=r.default.forwardRef((e,t)=>{let{__scopeToggleGroup:n,disabled:r=!1,rovingFocus:i=!0,orientation:a,dir:o,loop:s=!0,...c}=e,l=iw(n),u=lo(o),f={role:`group`,dir:u,...c};return(0,d.jsx)(uw,{scope:n,rovingFocus:i,disabled:r,children:i?(0,d.jsx)(bl,{asChild:!0,...l,orientation:a,dir:u,loop:s,children:(0,d.jsx)(K.div,{...f,ref:t})}):(0,d.jsx)(K.div,{...f,ref:t})})}),pw=`ToggleGroupItem`,mw=r.default.forwardRef((e,t)=>{let n=sw(pw,e.__scopeToggleGroup),i=dw(pw,e.__scopeToggleGroup),a=iw(e.__scopeToggleGroup),o=n.value.includes(e.value),s=i.disabled||e.disabled,c={...e,pressed:o,disabled:s},l=r.default.useRef(null);return i.rovingFocus?(0,d.jsx)(xl,{asChild:!0,...a,focusable:!s,active:o,ref:l,children:(0,d.jsx)(hw,{...c,ref:t})}):(0,d.jsx)(hw,{...c,ref:t})});mw.displayName=pw;var hw=r.default.forwardRef((e,t)=>{let{__scopeToggleGroup:n,value:r,...i}=e,a=sw(pw,n),o={role:`radio`,"aria-checked":e.pressed,"aria-pressed":void 0},s=a.type===`single`?o:void 0;return(0,d.jsx)(KS,{...s,...i,ref:t,onPressedChange:e=>{e?a.onItemActivate(r):a.onItemDeactivate(r)}})}),gw=aw,_w=mw,vw=Dn(`inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-[color,box-shadow] outline-none hover:bg-muted hover:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,{variants:{variant:{default:`bg-transparent`,outline:`border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground`},size:{default:`h-9 min-w-9 px-2`,sm:`h-8 min-w-8 px-1.5`,lg:`h-10 min-w-10 px-2.5`}},defaultVariants:{variant:`default`,size:`default`}}),yw=r.createContext({size:`default`,variant:`default`,spacing:0});function bw({className:e,variant:t,size:n,spacing:r=0,children:i,...a}){return(0,d.jsx)(gw,{"data-slot":`toggle-group`,"data-variant":t,"data-size":n,"data-spacing":r,style:{"--gap":r},className:H(`group/toggle-group data-[spacing=default]:data-[variant=outline]:shadow-xs flex w-fit items-center gap-[--spacing(var(--gap))] rounded-md`,e),...a,children:(0,d.jsx)(yw.Provider,{value:{variant:t,size:n,spacing:r},children:i})})}function xw({className:e,children:t,variant:n,size:i,...a}){let o=r.useContext(yw);return(0,d.jsx)(_w,{"data-slot":`toggle-group-item`,"data-variant":o.variant||n,"data-size":o.size||i,"data-spacing":o.spacing,className:H(vw({variant:o.variant||n,size:o.size||i}),`w-auto min-w-0 shrink-0 px-3 focus:z-10 focus-visible:z-10`,`data-[spacing=0]:rounded-none data-[spacing=0]:data-[variant=outline]:border-l-0 data-[spacing=0]:shadow-none data-[spacing=0]:first:rounded-l-md data-[spacing=0]:data-[variant=outline]:first:border-l data-[spacing=0]:last:rounded-r-md`,e),...a,children:t})}const Sw=e=>e.type instanceof t.GraphQLNonNull?(0,d.jsxs)(`span`,{children:[(0,d.jsx)(Sw,{type:e.type.ofType}),(0,d.jsx)(`span`,{className:`text-muted-foreground!`,children:`!`})]}):e.type instanceof t.GraphQLList?(0,d.jsxs)(`span`,{children:[(0,d.jsx)(`span`,{className:`text-muted-foreground!`,children:`[`}),(0,d.jsx)(Sw,{type:e.type.ofType}),(0,d.jsx)(`span`,{className:`text-muted-foreground!`,children:`]`})]}):e.type instanceof t.GraphQLScalarType||e.type instanceof t.GraphQLEnumType?(0,d.jsx)(`span`,{className:`text-teal-400`,children:e.type.name}):(0,d.jsx)(`span`,{className:`text-amber-400`,children:e.type.name});function Cw({className:e,...t}){return(0,d.jsx)(iC,{"data-slot":`checkbox`,className:H(`border-input bg-input/30 data-[state=checked]:text-primary-foreground data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/40 aria-invalid:border-destructive peer size-4 shrink-0 rounded-[4px] border shadow-sm outline-none transition-shadow focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50`,e),...t,children:(0,d.jsx)(oC,{"data-slot":`checkbox-indicator`,className:`grid place-content-center text-current transition-none`,children:(0,d.jsx)(a.CheckIcon,{className:`size-3.5`})})})}function ww({className:e,...t}){return(0,d.jsx)(`div`,{"data-slot":`input-group`,role:`group`,className:H(`group/input-group border-input dark:bg-input/30 relative flex w-full items-center rounded-md border shadow-sm outline-none transition-[color,box-shadow]`,`h-9 min-w-0 has-[>textarea]:h-auto`,`has-[>[data-align=inline-start]]:[&>input]:pl-2`,`has-[>[data-align=inline-end]]:[&>input]:pr-2`,`has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3`,`has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3`,`has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot=input-group-control]:focus-visible]:ring-[3px]`,`has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[[data-slot][aria-invalid=true]]:border-destructive dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40`,e),...t})}var Tw=Dn(`text-muted-foreground flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium select-none [&>svg:not([class*='size-'])]:size-4 [&>kbd]:rounded-[calc(var(--radius)-5px)] group-data-[disabled=true]/input-group:opacity-50`,{variants:{align:{"inline-start":`order-first pl-3 has-[>button]:ml-[-0.45rem] has-[>kbd]:ml-[-0.35rem]`,"inline-end":`order-last pr-3 has-[>button]:mr-[-0.45rem] has-[>kbd]:mr-[-0.35rem]`,"block-start":`order-first w-full justify-start px-3 pt-3 [.border-b]:pb-3 group-has-[>input]/input-group:pt-2.5`,"block-end":`order-last w-full justify-start px-3 pb-3 [.border-t]:pt-3 group-has-[>input]/input-group:pb-2.5`}},defaultVariants:{align:`inline-start`}});function Ew({className:e,align:t=`inline-start`,...n}){return(0,d.jsx)(`div`,{role:`group`,"data-slot":`input-group-addon`,"data-align":t,className:H(Tw({align:t}),e),onClick:e=>{e.target.closest(`button`)||e.currentTarget.parentElement?.querySelector(`input`)?.focus()},...n})}var Dw=Dn(`text-sm shadow-none flex gap-2 items-center`,{variants:{size:{xs:`h-6 gap-1 px-2 rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-3.5 has-[>svg]:px-2`,sm:`h-8 px-2.5 gap-1.5 rounded-md has-[>svg]:px-2.5`,"icon-xs":`size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0`,"icon-sm":`size-8 p-0 has-[>svg]:p-0`}},defaultVariants:{size:`xs`}});function Ow({className:e,type:t=`button`,variant:n=`ghost`,size:r=`xs`,...i}){return(0,d.jsx)(W,{type:t,"data-size":r,variant:n,className:H(Dw({size:r}),e),...i})}function kw({className:e,...t}){return(0,d.jsx)(gf,{"data-slot":`input-group-control`,className:H(`flex-1 rounded-none border-0 bg-transparent shadow-none focus-visible:ring-0 dark:bg-transparent`,e),...t})}var Aw=e.__toESM(Ee());const jw=e=>{let{schema:t,activeOperation:n,addArgToActiveOperation:i,deleteArgFromActiveOperation:o,activeTab:s}=e_(),c=(0,r.useMemo)(()=>e.operation??n??null,[e.operation,n]),l=(0,r.useMemo)(()=>e.path.join(`.`),[e.path]),u=(0,r.useMemo)(()=>Pe(c?.query??``,l,e.field.name),[c?.query,l,e.field.name]);return(0,d.jsxs)(W,{variant:`ghost`,className:H(`text-muted-foreground p-1! w-full justify-start text-xs`,{"text-foreground-primary":u}),size:`sm`,children:[(0,d.jsx)(`div`,{className:`size-4`}),(0,d.jsx)(Cw,{onClick:e=>e.stopPropagation(),checked:u,disabled:s?.type!==`operation`||e.isReadOnly,onCheckedChange:n=>{t&&(n?i(e.path.join(`.`),e.field.name,t):o(e.path.join(`.`),e.field.name))}}),(0,d.jsx)(a.BoxIcon,{className:`size-4 text-rose-400`}),e.field.name,`: `,(0,d.jsx)(Sw,{type:e.field.type})]},e.field.name)},Mw=e=>{let{activeOperation:t,addPathToActiveOperation:n,deletePathFromActiveOperation:i,activeTab:o}=e_(),s=(0,r.useMemo)(()=>e.operation??t??null,[e.operation,t]),c=(0,r.useMemo)(()=>e.path.join(`.`),[e.path]),l=(0,r.useMemo)(()=>e.openPaths.includes(c)||!!e.forcedOpenPaths?.has(c),[e.openPaths,e.forcedOpenPaths,c]),u=(0,r.useCallback)(t=>{e.setOpenPaths(t?[...e.openPaths,c]:e.openPaths.filter(e=>e!==c))},[c,e]),f=(0,r.useMemo)(()=>ke(s?.query??``,c),[s?.query,c]),p=(0,r.useMemo)(()=>e.field.args??[],[e.field]),m=(0,r.useMemo)(()=>p.some(e=>Pe(s?.query??``,c,e.name)),[s?.query,p,c]),h=(0,r.useMemo)(()=>wn(e.field.name).some(t=>e.searchValue?.toLowerCase().includes(t.toLowerCase())),[e.searchValue,e.field.name]);return e.isSearchActive&&e.visiblePaths&&!e.visiblePaths.has(c)?null:e.disableChildren?(0,d.jsxs)(W,{variant:`ghost`,className:H(`text-muted-foreground bg-card p-1! group sticky top-0 z-10 w-full justify-start overflow-hidden text-xs`,{"text-foreground-primary":f}),style:{top:`${(e.path.length-2)*32}px`},size:`sm`,children:[(0,d.jsx)(`div`,{className:`bg-card absolute left-0 top-0 -z-20 size-full`}),(0,d.jsx)(`div`,{className:`group-hover:bg-accent/50 absolute left-0 top-0 -z-10 size-full transition-colors`}),(0,d.jsx)(Cw,{onClick:e=>e.stopPropagation(),checked:f,disabled:o?.type!==`operation`||e.isReadOnly,onCheckedChange:e=>{e?(u(!0),n(c)):i(c)}}),(0,d.jsx)(a.BoxIcon,{className:`size-4 text-rose-400`}),e.label??(0,d.jsx)(`span`,{className:H({"text-primary-foreground bg-primary -mx-0.5 rounded-sm px-0.5":h}),children:e.field.name}),`: `,(0,d.jsx)(Sw,{type:e.field.type})]}):p.length>0?(0,d.jsxs)(cg,{open:l,onOpenChange:u,children:[(0,d.jsx)(lg,{asChild:!0,children:(0,d.jsxs)(W,{variant:`ghost`,className:H(`text-muted-foreground bg-card p-1! group sticky top-0 z-10 w-full justify-start overflow-hidden text-xs`,{"text-foreground-primary":f}),style:{top:`${(e.path.length-2)*32}px`},size:`sm`,children:[(0,d.jsx)(`div`,{className:`bg-card absolute left-0 top-0 -z-20 size-full`}),(0,d.jsx)(`div`,{className:`group-hover:bg-accent/50 absolute left-0 top-0 -z-10 size-full transition-colors`}),(0,d.jsx)(a.ChevronDownIcon,{className:H(`text-muted-foreground size-4 transition-all`,{"-rotate-90":!l})}),(0,d.jsx)(Cw,{onClick:e=>e.stopPropagation(),checked:f,disabled:o?.type!==`operation`||e.isReadOnly,onCheckedChange:e=>{e?(u(!0),n(c)):i(c)}}),(0,d.jsx)(a.BoxIcon,{className:`size-4 text-rose-400`}),e.label??(0,d.jsx)(`span`,{className:H({"text-primary-foreground bg-primary -mx-0.5 rounded-sm px-0.5":h}),children:e.field.name}),`: `,(0,d.jsx)(Sw,{type:e.field.type})]})}),(0,d.jsx)(ug,{className:`border-border relative z-0 ml-3 flex flex-col border-l pl-2`,children:l&&(0,d.jsx)(`div`,{children:p.length>0&&(0,d.jsxs)(cg,{children:[(0,d.jsx)(lg,{asChild:!0,children:(0,d.jsxs)(W,{variant:`ghost`,className:H(`text-muted-foreground bg-card p-1! group sticky top-0 z-10 w-full justify-start overflow-hidden text-xs`,{"text-foreground-primary":m}),style:{top:`${(e.path.length-1)*32}px`},size:`sm`,children:[(0,d.jsx)(a.ChevronDownIcon,{className:H(`text-muted-foreground size-4 transition-all`,{"-rotate-90":!l})}),(0,d.jsx)(Cw,{onClick:e=>e.stopPropagation(),checked:m,disabled:!0}),(0,d.jsx)(a.CuboidIcon,{className:`size-4 text-rose-400`}),`[arguments]`]})}),(0,d.jsx)(ug,{className:`border-border ml-3 flex flex-col border-l pl-2`,children:p.map(t=>(0,d.jsx)(jw,{field:t,path:[...e.path],isReadOnly:e.isReadOnly,operation:s},t.name))})]})})})]},e.field.name):(0,d.jsxs)(W,{variant:`ghost`,className:H(`text-muted-foreground p-1! w-full justify-start text-xs`,{"text-foreground-primary":f}),size:`sm`,children:[(0,d.jsx)(`div`,{className:`size-4`}),(0,d.jsx)(Cw,{onClick:e=>e.stopPropagation(),checked:f,disabled:o?.type!==`operation`,onCheckedChange:t=>{t?n(e.path.join(`.`)):i(e.path.join(`.`))}}),(0,d.jsx)(a.BoxIcon,{className:`size-4 text-rose-400`}),e.label??(0,d.jsx)(`span`,{className:H({"text-primary-foreground bg-primary -mx-0.5 rounded-sm px-0.5":h}),children:e.field.name}),`: `,(0,d.jsx)(Sw,{type:e.field.type})]},e.field.name)},Nw=e=>{let{schema:t,activeOperation:n,addPathToActiveOperation:i,deletePathFromActiveOperation:o,activeTab:s}=e_(),c=(0,r.useMemo)(()=>e.operation??n??null,[e.operation,n]),l=(0,r.useMemo)(()=>e.path.join(`.`),[e.path]),u=(0,r.useMemo)(()=>e.openPaths.includes(l)||!!e.forcedOpenPaths?.has(l),[e.openPaths,e.forcedOpenPaths,l]),f=(0,r.useCallback)(t=>{e.setOpenPaths(t?[...e.openPaths,l]:e.openPaths.filter(e=>e!==l))},[l,e]),p=(0,r.useMemo)(()=>Object.values((t?.getType(e.field.type.toString().replace(/\[|\]|!/g,``)))?.getFields?.()??{}),[t,e.field.type]),m=(0,r.useMemo)(()=>e.field.args??[],[e.field]),h=(0,r.useMemo)(()=>m.some(t=>Pe(c?.query??``,e.path.join(`.`),t.name)),[c?.query,m,e.path]),g=(0,r.useMemo)(()=>ke(c?.query??``,l),[c?.query,l]),_=(0,r.useMemo)(()=>wn(e.field.name).some(t=>e.searchValue?.toLowerCase().includes(t.toLowerCase())),[e.searchValue,e.field.name]);return e.isSearchActive&&e.visiblePaths&&!e.visiblePaths.has(l)?null:e.disableChildren?(0,d.jsxs)(W,{variant:`ghost`,className:H(`text-muted-foreground bg-card p-1! group sticky top-0 z-10 w-full justify-start overflow-hidden text-xs`,{"text-foreground-primary":g}),style:{top:`${(e.path.length-2)*32}px`},size:`sm`,children:[(0,d.jsx)(`div`,{className:`bg-card absolute left-0 top-0 -z-20 size-full`}),(0,d.jsx)(`div`,{className:`group-hover:bg-accent/50 absolute left-0 top-0 -z-10 size-full transition-colors`}),(0,d.jsx)(Cw,{onClick:e=>e.stopPropagation(),checked:g,disabled:s?.type!==`operation`||e.isReadOnly,onCheckedChange:e=>{e?(f(!0),i(l)):o(l)}}),(0,d.jsx)(a.BoxIcon,{className:`size-4 text-rose-400`}),e.label??(0,d.jsx)(`span`,{className:H({"text-primary-foreground bg-primary -mx-0.5 rounded-sm px-0.5":_}),children:e.field.name}),`: `,(0,d.jsx)(Sw,{type:e.field.type})]}):(0,d.jsxs)(cg,{open:u,onOpenChange:f,children:[(0,d.jsx)(lg,{asChild:!0,children:(0,d.jsxs)(W,{variant:`ghost`,className:H(`text-muted-foreground bg-card p-1! group sticky top-0 z-10 w-full justify-start overflow-hidden text-xs`,{"text-foreground-primary":g}),style:{top:`${(e.path.length-2)*32}px`},size:`sm`,children:[(0,d.jsx)(`div`,{className:`bg-card absolute left-0 top-0 -z-20 size-full`}),(0,d.jsx)(`div`,{className:`group-hover:bg-accent/50 absolute left-0 top-0 -z-10 size-full transition-colors`}),(0,d.jsx)(a.ChevronDownIcon,{className:H(`text-muted-foreground size-4 transition-all`,{"-rotate-90":!u})}),(0,d.jsx)(Cw,{onClick:e=>e.stopPropagation(),checked:g,disabled:s?.type!==`operation`||e.isReadOnly,onCheckedChange:e=>{e?(f(!0),i(l)):o(l)}}),(0,d.jsx)(a.BoxIcon,{className:`size-4 text-rose-400`}),e.label??(0,d.jsx)(`span`,{className:H({"text-primary-foreground bg-primary -mx-0.5 rounded-sm px-0.5":_}),children:e.field.name}),`: `,(0,d.jsx)(Sw,{type:e.field.type})]})}),(0,d.jsx)(ug,{className:`border-border relative z-0 ml-4 flex flex-col border-l pl-1`,children:u&&(0,d.jsxs)(`div`,{children:[m.length>0&&(0,d.jsxs)(cg,{children:[(0,d.jsx)(lg,{asChild:!0,children:(0,d.jsxs)(W,{variant:`ghost`,className:H(`text-muted-foreground bg-card p-1! group sticky top-0 z-10 w-full justify-start overflow-hidden text-xs`,{"text-foreground-primary":h}),style:{top:`${(e.path.length-1)*32}px`},size:`sm`,children:[(0,d.jsx)(a.ChevronDownIcon,{className:H(`text-muted-foreground size-4 transition-all`,{"-rotate-90":!u})}),(0,d.jsx)(Cw,{onClick:e=>e.stopPropagation(),checked:h,disabled:!0}),(0,d.jsx)(a.CuboidIcon,{className:`size-4 text-rose-400`}),`[arguments]`]})}),(0,d.jsx)(ug,{className:`border-border ml-4 flex flex-col border-l pl-1`,children:m.map(t=>(0,d.jsx)(jw,{field:t,path:[...e.path],operation:c},t.name))})]}),p?.map(t=>(0,d.jsx)(Pw,{field:t,path:[...e.path,t.name],openPaths:e.openPaths,setOpenPaths:e.setOpenPaths,visiblePaths:e.visiblePaths,forcedOpenPaths:e.forcedOpenPaths,isSearchActive:e.isSearchActive,isReadOnly:e.isReadOnly,operation:c,searchValue:e.searchValue},t.name))]})})]},e.field.name)},Pw=e=>{let{schema:n}=e_(),r=n?.getType(e.field.type.toString().replace(/\[|\]|!/g,``));return!r||r instanceof t.GraphQLScalarType||r instanceof t.GraphQLEnumType||r instanceof t.GraphQLUnionType?(0,d.jsx)(Mw,{field:e.field,path:e.path,openPaths:e.openPaths,setOpenPaths:e.setOpenPaths,visiblePaths:e.visiblePaths,forcedOpenPaths:e.forcedOpenPaths,isSearchActive:e.isSearchActive,isReadOnly:e.isReadOnly,operation:e.operation,searchValue:e.searchValue,label:e.label,disableChildren:e.disableChildren}):(0,d.jsx)(Nw,{field:e.field,path:e.path,openPaths:e.openPaths,setOpenPaths:e.setOpenPaths,visiblePaths:e.visiblePaths,forcedOpenPaths:e.forcedOpenPaths,isSearchActive:e.isSearchActive,isReadOnly:e.isReadOnly,operation:e.operation,searchValue:e.searchValue,label:e.label,disableChildren:e.disableChildren})};var Fw=function(e){return e.LIST=`list`,e.TREE=`tree`,e}(Fw||{});const Iw=e=>e.mode===Fw.LIST?e.matchedPaths.map(t=>{let n=Ke(t,e.schema);return n?(0,d.jsx)(Pw,{field:n,path:[t],openPaths:e.openPaths,setOpenPaths:e.setOpenPaths,visiblePaths:e.visiblePaths,forcedOpenPaths:e.forcedOpenPaths,isSearchActive:e.isSearchActive,isReadOnly:e.isReadOnly,operation:e.operation,searchValue:e.searchValue,disableChildren:!0,label:(0,d.jsx)(`span`,{children:t.split(`.`).map((n,i)=>wn(n).some(t=>e.searchValue.toLowerCase().includes(t.toLowerCase()))?(0,d.jsxs)(r.Fragment,{children:[(0,d.jsx)(`span`,{className:`text-primary-foreground bg-primary -mx-0.5 rounded-sm px-0.5`,children:n}),i<t.split(`.`).length-1&&`.`]},i):(0,d.jsxs)(`span`,{children:[n,i<t.split(`.`).length-1&&`.`]},i))})},t):null}):e.fields.filter(t=>e.visiblePaths?.has(`${e.tab}.${t.name}`)).map(t=>(0,d.jsx)(Pw,{field:t,path:[e.tab,t.name],openPaths:e.openPaths,setOpenPaths:e.setOpenPaths,visiblePaths:e.visiblePaths,forcedOpenPaths:e.forcedOpenPaths,isSearchActive:e.isSearchActive,isReadOnly:e.isReadOnly,operation:e.operation,searchValue:e.searchValue},t.name)),Lw=e=>{let{schema:n,activeOperation:i,endpoint:o,setEndpoint:s,defaultEndpoint:c}=e_(),[l,u]=(0,r.useState)(o??``),[f,p]=(0,r.useState)(``),m=(0,r.useDeferredValue)(f[f.length-1]===`.`?f.slice(0,-1):f),[h,g]=(0,r.useState)([]),[_,v]=(0,r.useState)(t.OperationTypeNode.QUERY),y=(0,r.useMemo)(()=>e.operation??i??null,[e.operation,i]);(0,r.useEffect)(()=>{if(n){let e=Be(y?.query??``);e.length>0&&(g(e),v(e[0]))}},[n,y?.query]);let b=(0,r.useMemo)(()=>Object.values(n?.getQueryType()?.getFields?.()??{}),[n]),x=(0,r.useMemo)(()=>Object.values(n?.getMutationType()?.getFields?.()??{}),[n]),S=(0,r.useMemo)(()=>Object.values(n?.getSubscriptionType()?.getFields?.()??{}),[n]),C=m.trim().length>0,w=(0,r.useMemo)(()=>!n||!C?null:We(n,m,{maxDepth:8,maxMatches:100,maxNodes:1e4,operationTypes:[_]}),[n,m,C,_]);console.log(w);let T=C?w?.visiblePaths??null:null,E=C&&m.includes(`.`)?w?.forcedOpenPaths??null:null,[D,O]=(0,r.useState)(Fw.TREE),k=(0,r.useMemo)(()=>(0,Aw.throttle)(e=>{s(e)},1e3),[s]);(0,r.useEffect)(()=>{k(l)},[l,k]);let A=(0,r.useCallback)(()=>{u(o??``),s(c??``)},[c,u]);return(0,d.jsxs)(`div`,{className:`bg-card flex size-full flex-col overflow-hidden`,children:[(0,d.jsxs)(`div`,{className:`flex items-center px-3 pt-3`,children:[(0,d.jsx)(`span`,{className:`text-base font-medium`,children:`Builder`}),(0,d.jsx)(`div`,{className:`ml-auto flex items-center`,children:(0,d.jsxs)(eh,{children:[(0,d.jsx)(th,{asChild:!0,children:(0,d.jsx)(W,{onClick:()=>g([]),variant:`ghost`,size:`icon-sm`,className:`p-1! size-6 rounded-sm`,disabled:h.length===0,children:(0,d.jsx)(a.CopyMinusIcon,{className:`text-muted-foreground size-4`})})}),(0,d.jsx)(nh,{children:`Collapse all`})]})})]}),(0,d.jsx)(`div`,{className:`px-3 pt-3`,children:(0,d.jsxs)(ww,{children:[(0,d.jsx)(kw,{placeholder:`Enter endpoint`,value:l,onChange:e=>u(e.currentTarget.value)}),(0,d.jsx)(Ew,{children:(0,d.jsx)(rh,{})}),c&&(0,d.jsx)(Ew,{align:`inline-end`,children:(0,d.jsx)(Ow,{className:`rounded-full`,size:`icon-xs`,onClick:A,children:(0,d.jsxs)(eh,{children:[(0,d.jsx)(th,{children:(0,d.jsx)(a.RotateCcwIcon,{className:`size-4`})}),(0,d.jsx)(nh,{children:`Restore default endpoint`})]})})})]})}),(0,d.jsx)(`div`,{className:`flex-1 overflow-hidden`,children:n?(0,d.jsxs)(VS,{value:_,onValueChange:e=>v(e),className:`flex size-full flex-col gap-0`,children:[(0,d.jsx)(`div`,{className:`border-border flex items-center border-b p-3`,children:(0,d.jsxs)(HS,{className:`w-full`,children:[(0,d.jsx)(US,{value:`query`,disabled:b.length===0,className:`text-xs`,children:`Query`}),(0,d.jsx)(US,{value:`mutation`,disabled:x.length===0,className:`text-xs`,children:`Mutation`}),(0,d.jsx)(US,{value:`subscription`,disabled:S.length===0,className:`text-xs`,children:`Subscription`})]})}),n&&(0,d.jsx)(`div`,{className:`border-border sticky top-0 z-10 border-b p-3`,children:(0,d.jsxs)(ww,{className:`pr-0`,children:[(0,d.jsx)(kw,{placeholder:`Search fields`,value:f,onChange:e=>p(e.currentTarget.value)}),(0,d.jsx)(Ew,{children:(0,d.jsx)(a.SearchIcon,{className:`text-muted-foreground size-4`})}),(0,d.jsx)(Ew,{align:`inline-end`,className:`py-0 pr-1.5`,children:(0,d.jsxs)(bw,{type:`single`,variant:`outline`,defaultValue:D,onValueChange:e=>O(e),children:[(0,d.jsxs)(eh,{children:[(0,d.jsx)(th,{children:(0,d.jsx)(xw,{value:Fw.TREE,"aria-label":`Toggle tree`,className:`h-6 !rounded-l-sm !rounded-r-none border-r-0 p-2`,children:(0,d.jsx)(a.ListTreeIcon,{className:`size-4`})})}),(0,d.jsx)(nh,{children:`Tree`})]}),(0,d.jsxs)(eh,{children:[(0,d.jsx)(th,{children:(0,d.jsx)(xw,{value:Fw.LIST,"aria-label":`Toggle list`,className:`h-6 !rounded-l-none !rounded-r-sm p-2`,children:(0,d.jsx)(a.TextAlignStartIcon,{className:`size-4`})})}),(0,d.jsx)(nh,{children:`List`})]})]})})]})}),(0,d.jsx)(`div`,{className:`flex-1 overflow-hidden`,children:(0,d.jsxs)(Zg,{className:`h-full font-mono`,children:[(0,d.jsxs)(`div`,{className:`p-3`,children:[(0,d.jsx)(WS,{value:`query`,children:C?(0,d.jsx)(Iw,{type:`query`,fields:b,openPaths:h,setOpenPaths:g,visiblePaths:T,matchedPaths:w?.matchedPaths??[],forcedOpenPaths:w?.forcedOpenPaths??null,isSearchActive:C,mode:D,isReadOnly:e.isReadOnly??!1,operation:y,searchValue:m,schema:n,tab:_}):b.map(t=>(0,d.jsx)(Pw,{field:t,path:[`query`,t.name],openPaths:h,setOpenPaths:g,visiblePaths:T,forcedOpenPaths:E,isSearchActive:C,isReadOnly:e.isReadOnly,operation:y,searchValue:m},t.name))}),(0,d.jsx)(WS,{value:`mutation`,children:C?(0,d.jsx)(Iw,{type:`mutation`,fields:x,openPaths:h,setOpenPaths:g,visiblePaths:T,matchedPaths:w?.matchedPaths??[],forcedOpenPaths:w?.forcedOpenPaths??null,isSearchActive:C,mode:D,isReadOnly:e.isReadOnly??!1,operation:y,searchValue:m,schema:n,tab:_}):x.map(t=>(0,d.jsx)(Pw,{field:t,path:[`mutation`,t.name],openPaths:h,setOpenPaths:g,visiblePaths:T,forcedOpenPaths:E,isSearchActive:C,isReadOnly:e.isReadOnly,operation:y,searchValue:m},t.name))}),(0,d.jsx)(WS,{value:`subscription`,children:C?(0,d.jsx)(Iw,{type:`subscription`,fields:S,openPaths:h,setOpenPaths:g,visiblePaths:T,matchedPaths:w?.matchedPaths??[],forcedOpenPaths:w?.forcedOpenPaths??null,isSearchActive:C,mode:D,isReadOnly:e.isReadOnly??!1,operation:y,searchValue:m,schema:n,tab:_}):S.map(t=>(0,d.jsx)(Pw,{field:t,path:[`subscription`,t.name],openPaths:h,setOpenPaths:g,visiblePaths:T,forcedOpenPaths:E,isSearchActive:C,isReadOnly:e.isReadOnly,operation:y,searchValue:m},t.name))})]}),(0,d.jsx)(Qg,{className:`relative z-50`}),(0,d.jsx)(Qg,{orientation:`horizontal`,className:`relative z-50`})]})})]},y?.id):(0,d.jsx)(Zd,{className:`px-0! h-96 w-full`,children:(0,d.jsxs)(Qd,{children:[(0,d.jsx)(ef,{variant:`icon`,children:(0,d.jsx)(a.FolderIcon,{className:`text-muted-foreground size-6`})}),(0,d.jsx)(tf,{className:`text-base`,children:`No endpoint selected`}),(0,d.jsx)(nf,{className:`text-xs`,children:`You haven't selected any endpoint yet. Get started by selecting an endpoint.`})]})})})]})};var Rw=e.Uri.file(`variables.json`),zw=e=>{let{activeOperation:t,updateActiveOperation:n}=e_(),i=(0,r.useMemo)(()=>e.operation??t??null,[e.operation,t]);return(0,d.jsx)(Fb,{uri:Rw,value:i?.variables??``,language:`json`,onChange:e=>{n({variables:e??``})},options:{readOnly:e.isReadOnly}})},Bw=t=>{let{activeOperation:n,updateActiveOperation:i}=e_(),a=(0,r.useMemo)(()=>t.operation??n??null,[t.operation,n]);return(0,d.jsx)(Fb,{uri:e.Uri.file(`headers.json`),value:a?.headers??``,onChange:e=>{i({headers:e??``})},options:{readOnly:t.isReadOnly}})},Vw=t=>{let{activeOperation:n,updateActiveOperation:i}=e_(),a=(0,r.useMemo)(()=>t.operation??n??null,[t.operation,n]);return(0,d.jsx)(Fb,{uri:e.Uri.file(`extensions.json`),value:a?.extensions??``,onChange:e=>{i({extensions:e??``})},options:{readOnly:t.isReadOnly}})};const Hw=({historyItem:e})=>(0,d.jsx)(Fb,{value:JSON.stringify(JSON.parse(e?.response??`{}`),null,2),defaultLanguage:`json`,theme:`hive-laboratory`,options:{readOnly:!0}}),Uw=({historyItem:e})=>(0,d.jsx)(Fb,{value:JSON.stringify(JSON.parse(e?.headers??`{}`),null,2),defaultLanguage:`json`,theme:`hive-laboratory`}),Ww=({historyItem:e})=>(0,d.jsxs)(Zg,{className:`h-full`,children:[(0,d.jsx)(`div`,{className:`flex flex-col gap-1.5 whitespace-pre-wrap p-3`,children:e?.preflightLogs?.map((e,t)=>(0,d.jsxs)(`div`,{className:`gap-2 font-mono`,children:[(0,d.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:e.createdAt}),` `,(0,d.jsx)(`span`,{className:H(`text-xs font-medium`,{"text-blue-400":e.level===`info`,"text-green-400":e.level===`log`,"text-yellow-400":e.level===`warn`,"text-red-400":e.level===`error`,"text-gray-400":e.level===`system`}),children:e.level.toUpperCase()}),` `,(0,d.jsx)(`span`,{className:`text-xs`,children:e.message.join(` `)})]},t))}),(0,d.jsx)(Qg,{})]}),Gw=({historyItem:e})=>{let{isActiveOperationLoading:t}=e_();return(0,d.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,d.jsxs)(`div`,{className:`border-border flex h-12 border-b p-3 text-base font-medium`,children:[`Subscription`,(0,d.jsx)(`div`,{className:`ml-auto flex items-center gap-2`,children:t?(0,d.jsx)(Vb,{variant:`default`,className:`bg-green-400/10 text-green-500`,children:`Listening`}):(0,d.jsx)(Vb,{variant:`default`,className:`bg-red-400/10 text-red-500`,children:`Not listening`})})]}),(0,d.jsx)(`div`,{className:`flex-1 overflow-hidden`,children:(0,d.jsxs)(Zg,{className:`h-full`,children:[(0,d.jsx)(`div`,{className:`flex flex-col overflow-hidden`,children:e?.responses.sort((e,t)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime()).map((e,t)=>{let n=[`// ${e.createdAt}`,``,JSON.stringify(JSON.parse(e.data),null,2)].join(`
`),r=20.5*n.split(`
`).length;return(0,d.jsx)(`div`,{className:`border-border border-b`,style:{height:`${r}px`},children:(0,d.jsx)(Fb,{value:n,defaultLanguage:`json`,theme:`hive-laboratory`,options:{readOnly:!0,scrollBeyondLastLine:!1,scrollbar:{vertical:`hidden`,handleMouseWheel:!1,alwaysConsumeMouseWheel:!1}}},e.createdAt)},t)})}),(0,d.jsx)(Qg,{})]})})]})},Kw=({historyItem:e})=>{let t=(0,r.useMemo)(()=>e?e.status?e.status<200||e.status>=300||`response`in e&&JSON.parse(e.response).errors:!0:!1,[e]);return(0,d.jsxs)(VS,{defaultValue:`response`,className:`grid size-full grid-rows-[auto_1fr]`,children:[(0,d.jsxs)(HS,{className:`h-[49.5px] w-full justify-start rounded-none border-b bg-transparent p-3`,children:[(0,d.jsx)(US,{value:`response`,className:`grow-0 rounded-sm`,children:`Response`}),(0,d.jsx)(US,{value:`headers`,className:`grow-0 rounded-sm`,children:`Headers`}),e?.preflightLogs&&e?.preflightLogs.length>0&&(0,d.jsx)(US,{value:`preflight`,className:`grow-0 rounded-sm`,children:`Preflight`}),e?(0,d.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[e?.status&&(0,d.jsxs)(Vb,{className:H(`bg-green-400/10 text-green-500`,{"bg-red-400/10 text-red-500":t}),children:[t?(0,d.jsx)(a.CircleXIcon,{className:`size-3`}):(0,d.jsx)(a.CircleCheckIcon,{className:`size-3`}),(0,d.jsx)(`span`,{children:e.status})]}),e?.duration&&(0,d.jsxs)(Vb,{variant:`outline`,className:`bg-card`,children:[(0,d.jsx)(a.ClockIcon,{className:`size-3`}),(0,d.jsxs)(`span`,{children:[Math.round(e.duration),`ms`]})]}),e?.size&&(0,d.jsxs)(Vb,{variant:`outline`,className:`bg-card`,children:[(0,d.jsx)(a.FileTextIcon,{className:`size-3`}),(0,d.jsxs)(`span`,{children:[Math.round(e.size/1024),`KB`]})]})]}):null]}),(0,d.jsx)(WS,{value:`response`,className:`overflow-hidden`,children:(0,d.jsx)(Hw,{historyItem:e})}),(0,d.jsx)(WS,{value:`headers`,className:`overflow-hidden`,children:(0,d.jsx)(Uw,{historyItem:e})}),(0,d.jsx)(WS,{value:`preflight`,className:`overflow-hidden`,children:(0,d.jsx)(Ww,{historyItem:e})})]})};var qw=o.z.object({collectionId:o.z.string().min(1,`Collection is required`)});const Jw=t=>{let{endpoint:n,runActiveOperation:i,activeOperation:o,isActiveOperationLoading:c,updateActiveOperation:l,collections:f,addOperationToCollection:p,addHistory:m,stopActiveOperation:h,addResponseToHistory:g,isActiveOperationSubscription:_,runPreflight:v,addTab:y,setActiveTab:b,addOperation:x,checkPermissions:S,preflight:C,setPreflight:w,plugins:T,pluginsState:E,setPluginsState:D}=e_(),O=(0,r.useMemo)(()=>t.operation??o??null,[t.operation,o]),k=(0,r.useCallback)(async()=>{if(!O||!n)return;let e=await v?.(T,E);if(D(e?.pluginsState??{}),e?.status===`error`){let n=m({headers:`{}`,operation:O,preflightLogs:e?.logs??[],response:`{
"errors": [
{
"message": "Preflight failed check logs for more details"
}
]
}`,createdAt:new Date().toISOString()});t.onAfterOperationRun?.(n);return}if(_){let r=m({responses:[],operation:O,preflightLogs:e?.logs??[],createdAt:new Date().toISOString()});i(n,{env:e?.env,headers:e?.headers,onResponse:e=>{g(r.id,e)}}),t.onAfterOperationRun?.(r)}else{let r=performance.now(),a=await i(n,{env:e?.env,headers:e?.headers});if(!a)return;let o=a.status,s=performance.now()-r,c=await a.text(),l=c.length,u=m({status:o,duration:s,size:l,headers:JSON.stringify(Object.fromEntries(a.headers.entries()),null,2),operation:O,preflightLogs:e?.logs??[],response:c,createdAt:new Date().toISOString()});t.onAfterOperationRun?.(u)}},[O,n,_,m,i,t,g,v,E]);(0,r.useEffect)(()=>{let e=e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),e.stopPropagation(),k())};return document.addEventListener(`keydown`,e,{capture:!0}),()=>document.removeEventListener(`keydown`,e,{capture:!0})},[k]);let[A,j]=(0,r.useState)(!1),M=(0,s.useForm)({defaultValues:{collectionId:``},validators:{onSubmit:qw},onSubmit:({value:e})=>{O&&(p(e.collectionId,{id:O.id??``,name:O.name??``,query:O.query??``,variables:O.variables??``,headers:O.headers??``,extensions:O.extensions??``,description:``}),j(!1))}}),N=(0,r.useCallback)(()=>{M.reset({collectionId:f[0]?.id??``}),j(!0)},[M,f]),P=(0,r.useMemo)(()=>f.some(e=>e.operations.some(e=>e.id===O?.id)),[O?.id,f]),F=(0,r.useCallback)(e=>{let t=(0,u.compressToEncodedURIComponent)(JSON.stringify({n:O?.name,q:O?.query,v:e.variables?O?.variables:void 0,h:e.headers?O?.headers:void 0,e:e.extensions?O?.extensions:void 0}));navigator.clipboard.writeText(`${window.location.origin}${window.location.pathname}?share=${t}`),se.success(`Operation copied to clipboard`)},[O]);return(0,d.jsxs)(`div`,{className:`grid size-full grid-rows-[auto_1fr] overflow-hidden pb-0`,children:[(0,d.jsx)(Za,{open:A,onOpenChange:j,children:(0,d.jsxs)(no,{className:`sm:max-w-[425px]`,children:[(0,d.jsxs)(ro,{children:[(0,d.jsx)(ao,{children:`Add collection`}),(0,d.jsx)(oo,{children:`Add a new collection of operations to your laboratory.`})]}),(0,d.jsx)(`div`,{className:`grid gap-4`,children:(0,d.jsx)(`form`,{id:`save-to-collection`,onSubmit:e=>{e.preventDefault(),M.handleSubmit()},children:(0,d.jsx)(df,{children:(0,d.jsx)(M.Field,{name:`collectionId`,children:e=>{let t=e.state.meta.isTouched&&!e.state.meta.isValid;return(0,d.jsxs)(pf,{"data-invalid":t,children:[(0,d.jsx)(mf,{htmlFor:e.name,children:`Collection`}),(0,d.jsxs)(mS,{name:e.name,value:e.state.value,onValueChange:e.handleChange,children:[(0,d.jsx)(gS,{id:e.name,"aria-invalid":t,children:(0,d.jsx)(hS,{placeholder:`Select collection`})}),(0,d.jsx)(_S,{children:f.map(e=>(0,d.jsx)(vS,{value:e.id,children:e.name},e.id))})]})]})}})})})}),(0,d.jsxs)(io,{children:[(0,d.jsx)(eo,{asChild:!0,children:(0,d.jsx)(W,{variant:`outline`,children:`Cancel`})}),(0,d.jsx)(W,{type:`submit`,form:`save-to-collection`,children:`Save to collection`})]})]})}),(0,d.jsxs)(`div`,{className:`border-border flex w-full items-center gap-2 overflow-hidden border-b p-3`,children:[(0,d.jsx)(`span`,{className:`text-base font-medium`,children:`Operation`}),S?.(`collectionsOperations:create`)&&(0,d.jsxs)(YS,{"aria-label":`Save operation`,size:`sm`,variant:`default`,pressed:P,disabled:P,className:`data-[state=on]:*:[svg]:fill-yellow-500 data-[state=on]:*:[svg]:stroke-yellow-500 h-6 data-[state=on]:bg-transparent`,onClick:N,children:[(0,d.jsx)(a.BookmarkIcon,{className:`size-4`}),P?`Saved`:`Save`]}),(0,d.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,d.jsxs)(Wd,{children:[(0,d.jsx)(ud,{children:(0,d.jsxs)(W,{variant:`outline`,size:`sm`,className:`h-6 rounded-sm`,children:[`Share`,(0,d.jsx)(a.MoreHorizontalIcon,{className:`size-4`})]})}),(0,d.jsxs)(Kd,{align:`end`,children:[(0,d.jsx)(Jd,{onClick:()=>F({variables:!0}),children:`Share with variables`}),(0,d.jsx)(Jd,{onClick:()=>F({variables:!0,extensions:!0}),children:`Share with variables and extensions`}),(0,d.jsx)(Jd,{onClick:()=>F({variables:!0,headers:!0,extensions:!0}),children:`Share with variables, extensions, headers`})]})]}),(0,d.jsxs)(YS,{"aria-label":C?.enabled?`Disable preflight`:`Enable preflight`,size:`sm`,variant:`default`,pressed:C?.enabled,className:`hover:text-accent-foreground bg-input/30 border-input hover:bg-input/50 h-6 rounded-sm border shadow-sm data-[state=on]:bg-transparent`,onClick:()=>{w({...C??{script:``,enabled:!0},enabled:!C?.enabled})},children:[C?.enabled?(0,d.jsx)(a.PowerIcon,{className:`size-4 text-green-500`}):(0,d.jsx)(a.PowerOffIcon,{className:`size-4 text-red-500`}),`Preflight`]}),t.isReadOnly?(0,d.jsxs)(W,{variant:`default`,size:`sm`,className:`h-6 rounded-sm`,onClick:()=>{O&&b(y({type:`operation`,data:x(O)}))},children:[(0,d.jsx)(a.SquarePenIcon,{className:`size-4`}),`Edit`]}):(0,d.jsx)(W,{variant:`default`,size:`sm`,className:`h-6 rounded-sm`,onClick:()=>{c?h?.():k()},disabled:!O||!n,children:c?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(xS,{className:`size-4`}),(0,d.jsx)(`span`,{children:`Stop`})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(a.PlayIcon,{className:`size-4`}),(0,d.jsx)(`span`,{children:`Run`})]})})]})]}),(0,d.jsx)(Fb,{uri:e.Uri.file(`operation_${n}.graphql`),variablesUri:Rw,value:O?.query??``,onChange:e=>{l({query:e??``})},language:`graphql`,theme:`hive-laboratory`,options:{readOnly:t.isReadOnly}})]})},Yw=e=>{let{activeOperation:t,history:n}=e_(),i=(0,r.useMemo)(()=>e.operation??t??null,[e.operation,t]),o=(0,r.useMemo)(()=>e.historyItem??n.filter(e=>e.operation.id===i?.id).sort((e,t)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime())[0]??null,[n,e.historyItem,i?.id]),s=(0,r.useMemo)(()=>!!e.historyItem,[e.historyItem]);return(0,d.jsx)(`div`,{className:`bg-card size-full`,children:(0,d.jsxs)(am,{direction:`horizontal`,className:`size-full`,children:[(0,d.jsx)(om,{defaultSize:25,children:(0,d.jsx)(Lw,{operation:i,isReadOnly:s})}),(0,d.jsx)(sm,{}),(0,d.jsx)(om,{minSize:10,defaultSize:40,children:(0,d.jsxs)(am,{direction:`vertical`,children:[(0,d.jsx)(om,{defaultSize:70,children:(0,d.jsx)(Jw,{operation:i,isReadOnly:s})}),(0,d.jsx)(sm,{}),(0,d.jsx)(om,{minSize:10,defaultSize:30,children:(0,d.jsxs)(VS,{className:`grid size-full grid-rows-[auto_1fr]`,defaultValue:`variables`,children:[(0,d.jsxs)(HS,{className:`h-[49.5px] w-full justify-start rounded-none border-b bg-transparent p-3`,children:[(0,d.jsx)(US,{value:`variables`,className:`grow-0 rounded-sm`,children:`Variables`}),(0,d.jsx)(US,{value:`headers`,className:`grow-0 rounded-sm`,children:`Headers`}),(0,d.jsx)(US,{value:`extensions`,className:`grow-0 rounded-sm`,children:`Extensions`})]}),(0,d.jsx)(WS,{value:`variables`,className:`overflow-hidden`,children:(0,d.jsx)(zw,{operation:i,isReadOnly:s})}),(0,d.jsx)(WS,{value:`headers`,className:`overflow-hidden`,children:(0,d.jsx)(Bw,{operation:i,isReadOnly:s})}),(0,d.jsx)(WS,{value:`extensions`,className:`overflow-hidden`,children:(0,d.jsx)(Vw,{operation:i,isReadOnly:s})})]})})]})}),(0,d.jsx)(sm,{}),(0,d.jsx)(om,{minSize:10,defaultSize:35,children:o?(0,d.jsx)(d.Fragment,{children:`responses`in o?(0,d.jsx)(Gw,{historyItem:o}):(0,d.jsx)(Kw,{historyItem:o})}):(0,d.jsx)(Zd,{className:`size-full`,children:(0,d.jsxs)(Qd,{children:[(0,d.jsx)(ef,{variant:`icon`,children:(0,d.jsx)(a.HistoryIcon,{className:`text-muted-foreground size-6`})}),(0,d.jsx)(tf,{children:`No history yet`}),(0,d.jsx)(nf,{children:`No response available yet. Run your operation to see the response here.`})]})})})]})})},Xw=()=>{let{activeTab:e,history:t}=e_(),n=(0,r.useMemo)(()=>e?.type===`history`?t.find(t=>t.id===e.data.id)??null:null,[t,e]);return n?(0,d.jsx)(Yw,{operation:n.operation,historyItem:n}):null},Zw=()=>{let{preflight:e,setLastTestResult:t,setPreflight:n,env:i,setEnv:o,openPreflightPromptModal:s,checkPermissions:c,plugins:l,pluginsState:u,setPluginsState:f}=e_(),p=(0,r.useCallback)(async()=>{if(!e?.script)return;let n=await Ze(e?.script??``,i??{variables:{}},(e,t)=>new Promise(n=>{s?.({placeholder:e,defaultValue:t,onSubmit:e=>{n(e)}})}),l,u);o(n?.env??{variables:{}}),f(n?.pluginsState??{}),t(n)},[i,o,e,t,s]);return(0,d.jsxs)(am,{direction:`horizontal`,className:`size-full`,children:[(0,d.jsx)(om,{defaultSize:50,className:`bg-card`,children:(0,d.jsxs)(`div`,{className:`grid size-full grid-rows-[auto_1fr] pb-0`,children:[(0,d.jsxs)(`div`,{className:`border-border flex w-full items-center gap-2 border-b p-3`,children:[(0,d.jsx)(`span`,{className:`text-base font-medium`,children:`Preflight`}),(0,d.jsx)(`div`,{className:`ml-auto flex items-center gap-2`,children:(0,d.jsxs)(W,{variant:`default`,size:`sm`,className:`h-6 rounded-sm`,onClick:p,children:[(0,d.jsx)(a.PlayIcon,{className:`size-4`}),(0,d.jsx)(`span`,{children:`Test`})]})})]}),(0,d.jsx)(`div`,{className:`size-full`,children:(0,d.jsx)(Fb,{value:e?.script??``,onChange:t=>{n({...e??{script:``,enabled:!0},script:t??``})},language:`typescript`,extraLibs:[`
interface Lab {
environment: {
set: (key: string, value: string) => void;
get: (key: string) => string;
delete: (key: string) => void;
};
request: {
headers: Headers;
};
prompt: (placeholder: string, defaultValue: string) => Promise<string | null>;
CryptoJS: typeof CryptoJS;
plugins: {
${l.filter(e=>e.preflight?.lab?.definition).map(e=>e.preflight?.lab?.definition).join(`
`)}
}
}
declare namespace CryptoJS {
namespace lib {
interface WordArray {
words: number[];
sigBytes: number;
toString(encoder?: Encoder): string;
concat(wordArray: WordArray): WordArray;
clone(): WordArray;
}
interface CipherParams {
ciphertext: WordArray;
key: WordArray;
iv: WordArray;
salt: WordArray;
toString(formatter?: Format): string;
}
}
namespace enc {
interface Encoder {
stringify(wordArray: lib.WordArray): string;
parse(str: string): lib.WordArray;
}
const Hex: Encoder;
const Latin1: Encoder;
const Utf8: Encoder;
const Base64: Encoder;
}
namespace algo {
interface HasherStatic {
create(cfg?: object): Hasher;
}
interface Hasher {
update(messageUpdate: lib.WordArray | string): Hasher;
finalize(messageUpdate?: lib.WordArray | string): lib.WordArray;
}
const MD5: HasherStatic;
const SHA1: HasherStatic;
const SHA256: HasherStatic;
const SHA224: HasherStatic;
const SHA512: HasherStatic;
const SHA384: HasherStatic;
const SHA3: HasherStatic;
const RIPEMD160: HasherStatic;
interface CipherStatic {
createEncryptor(key: lib.WordArray, cfg?: CipherOption): Cipher;
createDecryptor(key: lib.WordArray, cfg?: CipherOption): Cipher;
}
interface Cipher {
process(dataUpdate: lib.WordArray | string): lib.WordArray;
finalize(dataUpdate?: lib.WordArray | string): lib.WordArray;
}
interface CipherHelper {
encrypt(message: lib.WordArray | string, key: lib.WordArray | string, cfg?: CipherOption): lib.CipherParams;
decrypt(ciphertext: lib.CipherParams | string, key: lib.WordArray | string, cfg?: CipherOption): lib.WordArray;
}
const AES: CipherStatic;
const DES: CipherStatic;
const TripleDES: CipherStatic;
const RC4: CipherStatic;
}
namespace mode {
interface BlockCipherMode {
createEncryptor(cipher: algo.Cipher, iv: number[]): Mode;
createDecryptor(cipher: algo.Cipher, iv: number[]): Mode;
}
const CBC: BlockCipherMode;
const CFB: BlockCipherMode;
const CTR: BlockCipherMode;
const OFB: BlockCipherMode;
const ECB: BlockCipherMode;
}
namespace pad {
interface Padding {
pad(data: lib.WordArray, blockSize: number): void;
unpad(data: lib.WordArray): void;
}
const Pkcs7: Padding;
const AnsiX923: Padding;
const Iso10126: Padding;
const Iso97971: Padding;
const ZeroPadding: Padding;
const NoPadding: Padding;
}
namespace format {
interface Format {
stringify(cipherParams: lib.CipherParams): string;
parse(str: string): lib.CipherParams;
}
const OpenSSL: Format;
const Hex: Format;
}
interface CipherOption {
iv?: lib.WordArray;
mode?: mode.BlockCipherMode;
padding?: pad.Padding;
format?: format.Format;
[key: string]: any;
}
interface Mode {
processBlock(words: number[], offset: number): void;
}
type HasherHelper = (message: lib.WordArray | string, cfg?: object) => lib.WordArray;
type HmacHasherHelper = (message: lib.WordArray | string, key: lib.WordArray | string) => lib.WordArray;
type CipherHelper = {
encrypt(message: lib.WordArray | string, key: lib.WordArray | string, cfg?: CipherOption): lib.CipherParams;
decrypt(ciphertext: lib.CipherParams | string, key: lib.WordArray | string, cfg?: CipherOption): lib.WordArray;
};
const MD5: HasherHelper;
const SHA1: HasherHelper;
const SHA256: HasherHelper;
const SHA224: HasherHelper;
const SHA512: HasherHelper;
const SHA384: HasherHelper;
const SHA3: HasherHelper;
const RIPEMD160: HasherHelper;
const HmacMD5: HmacHasherHelper;
const HmacSHA1: HmacHasherHelper;
const HmacSHA256: HmacHasherHelper;
const HmacSHA224: HmacHasherHelper;
const HmacSHA512: HmacHasherHelper;
const HmacSHA384: HmacHasherHelper;
const HmacSHA3: HmacHasherHelper;
const HmacRIPEMD160: HmacHasherHelper;
const AES: CipherHelper;
const DES: CipherHelper;
const TripleDES: CipherHelper;
const RC4: CipherHelper;
const RC4Drop: CipherHelper;
const Rabbit: CipherHelper;
const RabbitLegacy: CipherHelper;
function PBKDF2(password: lib.WordArray | string, salt: lib.WordArray | string, cfg?: { keySize?: number; hasher?: algo.HasherStatic; iterations?: number }): lib.WordArray;
function EvpKDF(password: lib.WordArray | string, salt: lib.WordArray | string, cfg?: { keySize: number; hasher?: algo.HasherStatic; iterations: number }): lib.WordArray;
}
declare var lab: Lab;
declare var CryptoJS: typeof CryptoJS;
`],options:{readOnly:!c?.(`preflight:update`)}})})]})}),(0,d.jsx)(sm,{}),(0,d.jsx)(om,{minSize:10,defaultSize:50,className:`bg-card`,children:e?.lastTestResult?.logs&&e?.lastTestResult?.logs.length>0?(0,d.jsxs)(`div`,{className:`grid size-full grid-rows-[auto_1fr] pb-0`,children:[(0,d.jsxs)(`div`,{className:`border-border flex h-12 w-full items-center gap-2 border-b p-3`,children:[(0,d.jsx)(`span`,{className:`text-base font-medium`,children:`Logs`}),(0,d.jsx)(`div`,{className:`ml-auto flex items-center gap-2`})]}),(0,d.jsxs)(Zg,{className:`h-full`,children:[(0,d.jsx)(`div`,{className:`flex flex-col gap-1.5 whitespace-pre-wrap p-3`,children:e?.lastTestResult?.logs.map((e,t)=>(0,d.jsxs)(`div`,{className:`gap-2 font-mono`,children:[(0,d.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:e.createdAt}),` `,(0,d.jsx)(`span`,{className:H(`text-xs font-medium`,{"text-blue-400":e.level===`info`,"text-green-400":e.level===`log`,"text-yellow-400":e.level===`warn`,"text-red-400":e.level===`error`,"text-gray-400":e.level===`system`}),children:e.level.toUpperCase()}),` `,(0,d.jsx)(`span`,{className:`text-xs`,children:e.message.join(` `)})]},t))}),(0,d.jsx)(Qg,{})]})]}):(0,d.jsx)(Zd,{className:`size-full`,children:(0,d.jsxs)(Qd,{children:[(0,d.jsx)(ef,{variant:`icon`,children:(0,d.jsx)(a.HistoryIcon,{className:`text-muted-foreground size-6`})}),(0,d.jsx)(tf,{children:`No logs yet`}),(0,d.jsx)(nf,{children:`No logs available yet. Run your preflight to see the logs here.`})]})})})]})};function Qw({className:e,...t}){return(0,d.jsx)(`div`,{"data-slot":`card`,className:H(`bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm`,e),...t})}function $w({className:e,...t}){return(0,d.jsx)(`div`,{"data-slot":`card-header`,className:H(`[.border-b]:pb-6 grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-[>[data-slot=card-action]]:grid-cols-[1fr_auto]`,e),...t})}function eT({className:e,...t}){return(0,d.jsx)(`div`,{"data-slot":`card-title`,className:H(`font-semibold leading-none`,e),...t})}function tT({className:e,...t}){return(0,d.jsx)(`div`,{"data-slot":`card-description`,className:H(`text-muted-foreground text-sm`,e),...t})}function nT({className:e,...t}){return(0,d.jsx)(`div`,{"data-slot":`card-content`,className:H(`px-6`,e),...t})}var rT=o.z.object({fetch:o.z.object({credentials:o.z.enum([`include`,`omit`,`same-origin`])})});const iT=()=>{let{settings:e,setSettings:t}=e_(),n=(0,s.useForm)({defaultValues:e,validators:{onSubmit:rT},onSubmit:({value:e})=>{t(e)}});return(0,d.jsx)(`div`,{className:`bg-card size-full p-3`,children:(0,d.jsx)(`form`,{id:`settings-form`,onSubmit:n.handleSubmit,onChange:n.handleSubmit,className:`mx-auto max-w-2xl`,children:(0,d.jsxs)(Qw,{children:[(0,d.jsxs)($w,{children:[(0,d.jsx)(eT,{children:`Fetch`}),(0,d.jsx)(tT,{children:`Configure the fetch options for the laboratory.`})]}),(0,d.jsx)(nT,{children:(0,d.jsx)(df,{children:(0,d.jsx)(n.Field,{name:`fetch.credentials`,children:e=>{let t=e.state.meta.isTouched&&!e.state.meta.isValid;return(0,d.jsxs)(pf,{"data-invalid":t,children:[(0,d.jsx)(mf,{htmlFor:e.name,children:`Credentials`}),(0,d.jsxs)(mS,{name:e.name,value:e.state.value,onValueChange:t=>e.handleChange(t),children:[(0,d.jsx)(gS,{id:e.name,"aria-invalid":t,children:(0,d.jsx)(hS,{placeholder:`Select credentials`})}),(0,d.jsxs)(_S,{children:[(0,d.jsx)(vS,{value:`include`,children:`Include`}),(0,d.jsx)(vS,{value:`omit`,children:`Omit`}),(0,d.jsx)(vS,{value:`same-origin`,children:`Same-origin`})]})]})]})}})})})]})})})};function aT({...e}){return(0,d.jsx)(XC,{"data-slot":`context-menu`,...e})}function oT({...e}){return(0,d.jsx)(ZC,{"data-slot":`context-menu-trigger`,...e})}function sT({className:e,...t}){let[n,i]=(0,r.useState)(null);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(QC,{container:n,children:(0,d.jsx)($C,{"data-slot":`context-menu-content`,className:H(`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 max-h-(--radix-context-menu-content-available-height) origin-(--radix-context-menu-content-transform-origin) z-50 min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border p-1 shadow-md`,e),...t})}),(0,d.jsx)(`div`,{ref:i,style:{display:`contents`}})]})}function cT({className:e,inset:t,variant:n=`default`,...r}){return(0,d.jsx)(ew,{"data-slot":`context-menu-item`,"data-inset":t,"data-variant":n,className:H(`focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive! [&_svg:not([class*='text-'])]:text-muted-foreground outline-hidden data-disabled:pointer-events-none data-inset:pl-8 data-disabled:opacity-50 relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`,e),...r})}function lT(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,r.useMemo)(()=>e=>{t.forEach(t=>t(e))},t)}var uT=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function dT(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function fT(e){return`nodeType`in e}function pT(e){return e?dT(e)?e:fT(e)?e.ownerDocument?.defaultView??window:window:window}function mT(e){let{Document:t}=pT(e);return e instanceof t}function hT(e){return dT(e)?!1:e instanceof pT(e).HTMLElement}function gT(e){return e instanceof pT(e).SVGElement}function _T(e){return e?dT(e)?e.document:fT(e)?mT(e)?e:hT(e)||gT(e)?e.ownerDocument:document:document:document}var vT=uT?r.useLayoutEffect:r.useEffect;function yT(e){let t=(0,r.useRef)(e);return vT(()=>{t.current=e}),(0,r.useCallback)(function(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];return t.current==null?void 0:t.current(...n)},[])}function bT(){let e=(0,r.useRef)(null),t=(0,r.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),n=(0,r.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function xT(e,t){t===void 0&&(t=[e]);let n=(0,r.useRef)(e);return vT(()=>{n.current!==e&&(n.current=e)},t),n}function ST(e,t){let n=(0,r.useRef)();return(0,r.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function CT(e){let t=yT(e),n=(0,r.useRef)(null),i=(0,r.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[]);return[n,i]}function wT(e){let t=(0,r.useRef)();return(0,r.useEffect)(()=>{t.current=e},[e]),t.current}var TT={};function ET(e,t){return(0,r.useMemo)(()=>{if(t)return t;let n=TT[e]==null?0:TT[e]+1;return TT[e]=n,e+`-`+n},[e,t])}function DT(e){return function(t){for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return r.reduce((t,n)=>{let r=Object.entries(n);for(let[n,i]of r){let r=t[n];r!=null&&(t[n]=r+e*i)}return t},{...t})}}var OT=DT(1),kT=DT(-1);function AT(e){return`clientX`in e&&`clientY`in e}function jT(e){if(!e)return!1;let{KeyboardEvent:t}=pT(e.target);return t&&e instanceof t}function MT(e){if(!e)return!1;let{TouchEvent:t}=pT(e.target);return t&&e instanceof t}function NT(e){if(MT(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return AT(e)?{x:e.clientX,y:e.clientY}:null}var PT=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return`translate3d(`+(t?Math.round(t):0)+`px, `+(n?Math.round(n):0)+`px, 0)`}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return`scaleX(`+t+`) scaleY(`+n+`)`}},Transform:{toString(e){if(e)return[PT.Translate.toString(e),PT.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),FT=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function IT(e){return e.matches(FT)?e:e.querySelector(FT)}var LT={display:`none`};function RT(e){let{id:t,value:n}=e;return r.default.createElement(`div`,{id:t,style:LT},n)}function zT(e){let{id:t,announcement:n,ariaLiveType:i=`assertive`}=e;return r.default.createElement(`div`,{id:t,style:{position:`fixed`,top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(100%)`,whiteSpace:`nowrap`},role:`status`,"aria-live":i,"aria-atomic":!0},n)}function BT(){let[e,t]=(0,r.useState)(``);return{announce:(0,r.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var VT=(0,r.createContext)(null);function HT(e){let t=(0,r.useContext)(VT);(0,r.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function UT(){let[e]=(0,r.useState)(()=>new Set),t=(0,r.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,r.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var WT={draggable:`
To pick up a draggable item, press the space bar.
While dragging, use the arrow keys to move the item.
Press space again to drop the item in its new position, or press escape to cancel.
`},GT={onDragStart(e){let{active:t}=e;return`Picked up draggable item `+t.id+`.`},onDragOver(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was moved over droppable area `+n.id+`.`:`Draggable item `+t.id+` is no longer over a droppable area.`},onDragEnd(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was dropped over droppable area `+n.id:`Draggable item `+t.id+` was dropped.`},onDragCancel(e){let{active:t}=e;return`Dragging was cancelled. Draggable item `+t.id+` was dropped.`}};function KT(e){let{announcements:t=GT,container:n,hiddenTextDescribedById:a,screenReaderInstructions:o=WT}=e,{announce:s,announcement:c}=BT(),l=ET(`DndLiveRegion`),[u,d]=(0,r.useState)(!1);if((0,r.useEffect)(()=>{d(!0)},[]),HT((0,r.useMemo)(()=>({onDragStart(e){let{active:n}=e;s(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:r}=e;t.onDragMove&&s(t.onDragMove({active:n,over:r}))},onDragOver(e){let{active:n,over:r}=e;s(t.onDragOver({active:n,over:r}))},onDragEnd(e){let{active:n,over:r}=e;s(t.onDragEnd({active:n,over:r}))},onDragCancel(e){let{active:n,over:r}=e;s(t.onDragCancel({active:n,over:r}))}}),[s,t])),!u)return null;let f=r.default.createElement(r.default.Fragment,null,r.default.createElement(RT,{id:a,value:o.draggable}),r.default.createElement(zT,{id:l,announcement:c}));return n?(0,i.createPortal)(f,n):f}var qT;(function(e){e.DragStart=`dragStart`,e.DragMove=`dragMove`,e.DragEnd=`dragEnd`,e.DragCancel=`dragCancel`,e.DragOver=`dragOver`,e.RegisterDroppable=`registerDroppable`,e.SetDroppableDisabled=`setDroppableDisabled`,e.UnregisterDroppable=`unregisterDroppable`})(qT||={});function JT(){}function YT(e,t){return(0,r.useMemo)(()=>({sensor:e,options:t??{}}),[e,t])}function XT(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,r.useMemo)(()=>[...t].filter(e=>e!=null),[...t])}var ZT=Object.freeze({x:0,y:0});function QT(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2)}function $T(e,t){let n=NT(e);if(!n)return`0 0`;let r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+`% `+r.y+`%`}function eE(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function tE(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function nE(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function rE(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}function iE(e,t,n){return t===void 0&&(t=e.left),n===void 0&&(n=e.top),{x:t+e.width*.5,y:n+e.height*.5}}var aE=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=iE(t,t.left,t.top),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=QT(iE(r),i);a.push({id:t,data:{droppableContainer:e,value:n}})}}return a.sort(eE)},oE=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=nE(t),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=nE(r),o=i.reduce((e,t,r)=>e+QT(n[r],t),0),s=Number((o/4).toFixed(4));a.push({id:t,data:{droppableContainer:e,value:s}})}}return a.sort(eE)};function sE(e,t){let n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),a=Math.min(t.top+t.height,e.top+e.height),o=i-r,s=a-n;if(r<i&&n<a){let n=t.width*t.height,r=e.width*e.height,i=o*s,a=i/(n+r-i);return Number(a.toFixed(4))}return 0}var cE=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=[];for(let e of r){let{id:r}=e,a=n.get(r);if(a){let n=sE(a,t);n>0&&i.push({id:r,data:{droppableContainer:e,value:n}})}}return i.sort(tE)};function lE(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function uE(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:ZT}function dE(e){return function(t){for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return r.reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}var fE=dE(1);function pE(e){if(e.startsWith(`matrix3d(`)){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith(`matrix(`)){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function mE(e,t,n){let r=pE(t);if(!r)return e;let{scaleX:i,scaleY:a,x:o,y:s}=r,c=e.left-o-(1-i)*parseFloat(n),l=e.top-s-(1-a)*parseFloat(n.slice(n.indexOf(` `)+1)),u=i?e.width/i:e.width,d=a?e.height/a:e.height;return{width:u,height:d,top:l,right:c+u,bottom:l+d,left:c}}var hE={ignoreTransform:!1};function gE(e,t){t===void 0&&(t=hE);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=pT(e).getComputedStyle(e);t&&(n=mE(n,t,r))}let{top:r,left:i,width:a,height:o,bottom:s,right:c}=n;return{top:r,left:i,width:a,height:o,bottom:s,right:c}}function _E(e){return gE(e,{ignoreTransform:!0})}function vE(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function yE(e,t){return t===void 0&&(t=pT(e).getComputedStyle(e)),t.position===`fixed`}function bE(e,t){t===void 0&&(t=pT(e).getComputedStyle(e));let n=/(auto|scroll|overlay)/;return[`overflow`,`overflowX`,`overflowY`].some(e=>{let r=t[e];return typeof r==`string`?n.test(r):!1})}function xE(e,t){let n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(mT(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!hT(i)||gT(i)||n.includes(i))return n;let a=pT(e).getComputedStyle(i);return i!==e&&bE(i,a)&&n.push(i),yE(i,a)?n:r(i.parentNode)}return e?r(e):n}function SE(e){let[t]=xE(e,1);return t??null}function CE(e){return!uT||!e?null:dT(e)?e:fT(e)?mT(e)||e===_T(e).scrollingElement?window:hT(e)?e:null:null}function wE(e){return dT(e)?e.scrollX:e.scrollLeft}function TE(e){return dT(e)?e.scrollY:e.scrollTop}function EE(e){return{x:wE(e),y:TE(e)}}var DE;(function(e){e[e.Forward=1]=`Forward`,e[e.Backward=-1]=`Backward`})(DE||={});function OE(e){return!uT||!e?!1:e===document.scrollingElement}function kE(e){let t={x:0,y:0},n=OE(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},i=e.scrollTop<=t.y,a=e.scrollLeft<=t.x,o=e.scrollTop>=r.y,s=e.scrollLeft>=r.x;return{isTop:i,isLeft:a,isBottom:o,isRight:s,maxScroll:r,minScroll:t}}var AE={x:.2,y:.2};function jE(e,t,n,r,i){let{top:a,left:o,right:s,bottom:c}=n;r===void 0&&(r=10),i===void 0&&(i=AE);let{isTop:l,isBottom:u,isLeft:d,isRight:f}=kE(e),p={x:0,y:0},m={x:0,y:0},h={height:t.height*i.y,width:t.width*i.x};return!l&&a<=t.top+h.height?(p.y=DE.Backward,m.y=r*Math.abs((t.top+h.height-a)/h.height)):!u&&c>=t.bottom-h.height&&(p.y=DE.Forward,m.y=r*Math.abs((t.bottom-h.height-c)/h.height)),!f&&s>=t.right-h.width?(p.x=DE.Forward,m.x=r*Math.abs((t.right-h.width-s)/h.width)):!d&&o<=t.left+h.width&&(p.x=DE.Backward,m.x=r*Math.abs((t.left+h.width-o)/h.width)),{direction:p,speed:m}}function ME(e){if(e===document.scrollingElement){let{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}let{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function NE(e){return e.reduce((e,t)=>OT(e,EE(t)),ZT)}function PE(e){return e.reduce((e,t)=>e+wE(t),0)}function FE(e){return e.reduce((e,t)=>e+TE(t),0)}function IE(e,t){if(t===void 0&&(t=gE),!e)return;let{top:n,left:r,bottom:i,right:a}=t(e);SE(e)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:`center`,inline:`center`})}var LE=[[`x`,[`left`,`right`],PE],[`y`,[`top`,`bottom`],FE]],RE=class{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;let n=xE(t),r=NE(n);this.rect={...e},this.width=e.width,this.height=e.height;for(let[e,t,i]of LE)for(let a of t)Object.defineProperty(this,a,{get:()=>{let t=i(n),o=r[e]-t;return this.rect[a]+o},enumerable:!0});Object.defineProperty(this,`rect`,{enumerable:!1})}},zE=class{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>this.target?.removeEventListener(...e))},this.target=e}add(e,t,n){var r;(r=this.target)==null||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}};function BE(e){let{EventTarget:t}=pT(e);return e instanceof t?e:_T(e)}function VE(e,t){let n=Math.abs(e.x),r=Math.abs(e.y);return typeof t==`number`?Math.sqrt(n**2+r**2)>t:`x`in t&&`y`in t?n>t.x&&r>t.y:`x`in t?n>t.x:`y`in t?r>t.y:!1}var HE;(function(e){e.Click=`click`,e.DragStart=`dragstart`,e.Keydown=`keydown`,e.ContextMenu=`contextmenu`,e.Resize=`resize`,e.SelectionChange=`selectionchange`,e.VisibilityChange=`visibilitychange`})(HE||={});function UE(e){e.preventDefault()}function WE(e){e.stopPropagation()}var GE;(function(e){e.Space=`Space`,e.Down=`ArrowDown`,e.Right=`ArrowRight`,e.Left=`ArrowLeft`,e.Up=`ArrowUp`,e.Esc=`Escape`,e.Enter=`Enter`,e.Tab=`Tab`})(GE||={});var KE={start:[GE.Space,GE.Enter],cancel:[GE.Esc],end:[GE.Space,GE.Enter,GE.Tab]},qE=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case GE.Right:return{...n,x:n.x+25};case GE.Left:return{...n,x:n.x-25};case GE.Down:return{...n,y:n.y+25};case GE.Up:return{...n,y:n.y-25}}},JE=class{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;let{event:{target:t}}=e;this.props=e,this.listeners=new zE(_T(t)),this.windowListeners=new zE(pT(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(HE.Resize,this.handleCancel),this.windowListeners.add(HE.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(HE.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&IE(n),t(ZT)}handleKeyDown(e){if(jT(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:i=KE,coordinateGetter:a=qE,scrollBehavior:o=`smooth`}=r,{code:s}=e;if(i.end.includes(s)){this.handleEnd(e);return}if(i.cancel.includes(s)){this.handleCancel(e);return}let{collisionRect:c}=n.current,l=c?{x:c.left,y:c.top}:ZT;this.referenceCoordinates||=l;let u=a(e,{active:t,context:n.current,currentCoordinates:l});if(u){let t=kT(u,l),r={x:0,y:0},{scrollableAncestors:i}=n.current;for(let n of i){let i=e.code,{isTop:a,isRight:s,isLeft:c,isBottom:l,maxScroll:d,minScroll:f}=kE(n),p=ME(n),m={x:Math.min(i===GE.Right?p.right-p.width/2:p.right,Math.max(i===GE.Right?p.left:p.left+p.width/2,u.x)),y:Math.min(i===GE.Down?p.bottom-p.height/2:p.bottom,Math.max(i===GE.Down?p.top:p.top+p.height/2,u.y))},h=i===GE.Right&&!s||i===GE.Left&&!c,g=i===GE.Down&&!l||i===GE.Up&&!a;if(h&&m.x!==u.x){let e=n.scrollLeft+t.x,a=i===GE.Right&&e<=d.x||i===GE.Left&&e>=f.x;if(a&&!t.y){n.scrollTo({left:e,behavior:o});return}a?r.x=n.scrollLeft-e:r.x=i===GE.Right?n.scrollLeft-d.x:n.scrollLeft-f.x,r.x&&n.scrollBy({left:-r.x,behavior:o});break}else if(g&&m.y!==u.y){let e=n.scrollTop+t.y,a=i===GE.Down&&e<=d.y||i===GE.Up&&e>=f.y;if(a&&!t.x){n.scrollTo({top:e,behavior:o});return}a?r.y=n.scrollTop-e:r.y=i===GE.Down?n.scrollTop-d.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:o});break}}this.handleMove(e,OT(kT(u,this.referenceCoordinates),r))}}}handleMove(e,t){let{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){let{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){let{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};JE.activators=[{eventName:`onKeyDown`,handler:(e,t,n)=>{let{keyboardCodes:r=KE,onActivation:i}=t,{active:a}=n,{code:o}=e.nativeEvent;if(r.start.includes(o)){let t=a.activatorNode.current;return t&&e.target!==t?!1:(e.preventDefault(),i?.({event:e.nativeEvent}),!0)}return!1}}];function YE(e){return!!(e&&`distance`in e)}function XE(e){return!!(e&&`delay`in e)}var ZE=class{constructor(e,t,n){n===void 0&&(n=BE(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;let{event:r}=e,{target:i}=r;this.props=e,this.events=t,this.document=_T(i),this.documentListeners=new zE(this.document),this.listeners=new zE(n),this.windowListeners=new zE(pT(i)),this.initialCoordinates=NT(r)??ZT,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(HE.Resize,this.handleCancel),this.windowListeners.add(HE.DragStart,UE),this.windowListeners.add(HE.VisibilityChange,this.handleCancel),this.windowListeners.add(HE.ContextMenu,UE),this.documentListeners.add(HE.Keydown,this.handleKeydown),t){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(XE(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(YE(t)){this.handlePending(t);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){let{active:n,onPending:r}=this.props;r(n,e,this.initialCoordinates,t)}handleStart(){let{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(HE.Click,WE,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(HE.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){let{activated:t,initialCoordinates:n,props:r}=this,{onMove:i,options:{activationConstraint:a}}=r;if(!n)return;let o=NT(e)??ZT,s=kT(n,o);if(!t&&a){if(YE(a)){if(a.tolerance!=null&&VE(s,a.tolerance))return this.handleCancel();if(VE(s,a.distance))return this.handleStart()}if(XE(a)&&VE(s,a.tolerance))return this.handleCancel();this.handlePending(a,s);return}e.cancelable&&e.preventDefault(),i(o)}handleEnd(){let{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){let{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===GE.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}},QE={cancel:{name:`pointercancel`},move:{name:`pointermove`},end:{name:`pointerup`}},$E=class extends ZE{constructor(e){let{event:t}=e,n=_T(t.target);super(e,QE,n)}};$E.activators=[{eventName:`onPointerDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r?.({event:n}),!0)}}];var eD={move:{name:`mousemove`},end:{name:`mouseup`}},tD;(function(e){e[e.RightClick=2]=`RightClick`})(tD||={});var nD=class extends ZE{constructor(e){super(e,eD,_T(e.event.target))}};nD.activators=[{eventName:`onMouseDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===tD.RightClick?!1:(r?.({event:n}),!0)}}];var rD={cancel:{name:`touchcancel`},move:{name:`touchmove`},end:{name:`touchend`}},iD=class extends ZE{constructor(e){super(e,rD)}static setup(){return window.addEventListener(rD.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(rD.move.name,e)};function e(){}}};iD.activators=[{eventName:`onTouchStart`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t,{touches:i}=n;return i.length>1?!1:(r?.({event:n}),!0)}}];var aD;(function(e){e[e.Pointer=0]=`Pointer`,e[e.DraggableRect=1]=`DraggableRect`})(aD||={});var oD;(function(e){e[e.TreeOrder=0]=`TreeOrder`,e[e.ReversedTreeOrder=1]=`ReversedTreeOrder`})(oD||={});function sD(e){let{acceleration:t,activator:n=aD.Pointer,canScroll:i,draggingRect:a,enabled:o,interval:s=5,order:c=oD.TreeOrder,pointerCoordinates:l,scrollableAncestors:u,scrollableAncestorRects:d,delta:f,threshold:p}=e,m=lD({delta:f,disabled:!o}),[h,g]=bT(),_=(0,r.useRef)({x:0,y:0}),v=(0,r.useRef)({x:0,y:0}),y=(0,r.useMemo)(()=>{switch(n){case aD.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case aD.DraggableRect:return a}},[n,a,l]),b=(0,r.useRef)(null),x=(0,r.useCallback)(()=>{let e=b.current;if(!e)return;let t=_.current.x*v.current.x,n=_.current.y*v.current.y;e.scrollBy(t,n)},[]),S=(0,r.useMemo)(()=>c===oD.TreeOrder?[...u].reverse():u,[c,u]);(0,r.useEffect)(()=>{if(!o||!u.length||!y){g();return}for(let e of S){if(i?.(e)===!1)continue;let n=u.indexOf(e),r=d[n];if(!r)continue;let{direction:a,speed:o}=jE(e,r,y,t,p);for(let e of[`x`,`y`])m[e][a[e]]||(o[e]=0,a[e]=0);if(o.x>0||o.y>0){g(),b.current=e,h(x,s),_.current=o,v.current=a;return}}_.current={x:0,y:0},v.current={x:0,y:0},g()},[t,x,i,g,o,s,JSON.stringify(y),JSON.stringify(m),h,u,S,d,JSON.stringify(p)])}var cD={x:{[DE.Backward]:!1,[DE.Forward]:!1},y:{[DE.Backward]:!1,[DE.Forward]:!1}};function lD(e){let{delta:t,disabled:n}=e,r=wT(t);return ST(e=>{if(n||!r||!e)return cD;let i={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[DE.Backward]:e.x[DE.Backward]||i.x===-1,[DE.Forward]:e.x[DE.Forward]||i.x===1},y:{[DE.Backward]:e.y[DE.Backward]||i.y===-1,[DE.Forward]:e.y[DE.Forward]||i.y===1}}},[n,t,r])}function uD(e,t){let n=t==null?void 0:e.get(t),r=n?n.node.current:null;return ST(e=>t==null?null:r??e??null,[r,t])}function dD(e,t){return(0,r.useMemo)(()=>e.reduce((e,n)=>{let{sensor:r}=n,i=r.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}));return[...e,...i]},[]),[e,t])}var fD;(function(e){e[e.Always=0]=`Always`,e[e.BeforeDragging=1]=`BeforeDragging`,e[e.WhileDragging=2]=`WhileDragging`})(fD||={});var pD;(function(e){e.Optimized=`optimized`})(pD||={});var mD=new Map;function hD(e,t){let{dragging:n,dependencies:i,config:a}=t,[o,s]=(0,r.useState)(null),{frequency:c,measure:l,strategy:u}=a,d=(0,r.useRef)(e),f=_(),p=xT(f),m=(0,r.useCallback)(function(e){e===void 0&&(e=[]),!p.current&&s(t=>t===null?e:t.concat(e.filter(e=>!t.includes(e))))},[p]),h=(0,r.useRef)(null),g=ST(t=>{if(f&&!n)return mD;if(!t||t===mD||d.current!==e||o!=null){let t=new Map;for(let n of e){if(!n)continue;if(o&&o.length>0&&!o.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}let e=n.node.current,r=e?new RE(l(e),e):null;n.rect.current=r,r&&t.set(n.id,r)}return t}return t},[e,o,n,f,l]);return(0,r.useEffect)(()=>{d.current=e},[e]),(0,r.useEffect)(()=>{f||m()},[n,f]),(0,r.useEffect)(()=>{o&&o.length>0&&s(null)},[JSON.stringify(o)]),(0,r.useEffect)(()=>{f||typeof c!=`number`||h.current!==null||(h.current=setTimeout(()=>{m(),h.current=null},c))},[c,f,m,...i]),{droppableRects:g,measureDroppableContainers:m,measuringScheduled:o!=null};function _(){switch(u){case fD.Always:return!1;case fD.BeforeDragging:return n;default:return!n}}}function gD(e,t){return ST(n=>e?n||(typeof t==`function`?t(e):e):null,[t,e])}function _D(e,t){return gD(e,t)}function vD(e){let{callback:t,disabled:n}=e,i=yT(t),a=(0,r.useMemo)(()=>{if(n||typeof window>`u`||window.MutationObserver===void 0)return;let{MutationObserver:e}=window;return new e(i)},[i,n]);return(0,r.useEffect)(()=>()=>a?.disconnect(),[a]),a}function yD(e){let{callback:t,disabled:n}=e,i=yT(t),a=(0,r.useMemo)(()=>{if(n||typeof window>`u`||window.ResizeObserver===void 0)return;let{ResizeObserver:e}=window;return new e(i)},[n]);return(0,r.useEffect)(()=>()=>a?.disconnect(),[a]),a}function bD(e){return new RE(gE(e),e)}function xD(e,t,n){t===void 0&&(t=bD);let[i,a]=(0,r.useState)(null);function o(){a(r=>{if(!e)return null;if(e.isConnected===!1)return r??n??null;let i=t(e);return JSON.stringify(r)===JSON.stringify(i)?r:i})}let s=vD({callback(t){if(e)for(let n of t){let{type:t,target:r}=n;if(t===`childList`&&r instanceof HTMLElement&&r.contains(e)){o();break}}}}),c=yD({callback:o});return vT(()=>{o(),e?(c?.observe(e),s?.observe(document.body,{childList:!0,subtree:!0})):(c?.disconnect(),s?.disconnect())},[e]),i}function SD(e){let t=gD(e);return uE(e,t)}var CD=[];function wD(e){let t=(0,r.useRef)(e),n=ST(n=>e?n&&n!==CD&&e&&t.current&&e.parentNode===t.current.parentNode?n:xE(e):CD,[e]);return(0,r.useEffect)(()=>{t.current=e},[e]),n}function TD(e){let[t,n]=(0,r.useState)(null),i=(0,r.useRef)(e),a=(0,r.useCallback)(e=>{let t=CE(e.target);t&&n(e=>e?(e.set(t,EE(t)),new Map(e)):null)},[]);return(0,r.useEffect)(()=>{let t=i.current;if(e!==t){r(t);let o=e.map(e=>{let t=CE(e);return t?(t.addEventListener(`scroll`,a,{passive:!0}),[t,EE(t)]):null}).filter(e=>e!=null);n(o.length?new Map(o):null),i.current=e}return()=>{r(e),r(t)};function r(e){e.forEach(e=>{CE(e)?.removeEventListener(`scroll`,a)})}},[a,e]),(0,r.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>OT(e,t),ZT):NE(e):ZT,[e,t])}function ED(e,t){t===void 0&&(t=[]);let n=(0,r.useRef)(null);return(0,r.useEffect)(()=>{n.current=null},t),(0,r.useEffect)(()=>{let t=e!==ZT;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?kT(e,n.current):ZT}function DD(e){(0,r.useEffect)(()=>{if(!uT)return;let t=e.map(e=>{let{sensor:t}=e;return t.setup==null?void 0:t.setup()});return()=>{for(let e of t)e?.()}},e.map(e=>{let{sensor:t}=e;return t}))}function OD(e,t){return(0,r.useMemo)(()=>e.reduce((e,n)=>{let{eventName:r,handler:i}=n;return e[r]=e=>{i(e,t)},e},{}),[e,t])}function kD(e){return(0,r.useMemo)(()=>e?vE(e):null,[e])}var AD=[];function jD(e,t){t===void 0&&(t=gE);let[n]=e,i=kD(n?pT(n):null),[a,o]=(0,r.useState)(AD);function s(){o(()=>e.length?e.map(e=>OE(e)?i:new RE(t(e),e)):AD)}let c=yD({callback:s});return vT(()=>{c?.disconnect(),s(),e.forEach(e=>c?.observe(e))},[e]),a}function MD(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return hT(t)?t:e}function ND(e){let{measure:t}=e,[n,i]=(0,r.useState)(null),a=(0,r.useCallback)(e=>{for(let{target:n}of e)if(hT(n)){i(e=>{let r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t]),o=yD({callback:a}),s=(0,r.useCallback)(e=>{let n=MD(e);o?.disconnect(),n&&o?.observe(n),i(n?t(n):null)},[t,o]),[c,l]=CT(s);return(0,r.useMemo)(()=>({nodeRef:c,rect:n,setRef:l}),[n,c,l])}var PD=[{sensor:$E,options:{}},{sensor:JE,options:{}}],FD={current:{}},ID={draggable:{measure:_E},droppable:{measure:_E,strategy:fD.WhileDragging,frequency:pD.Optimized},dragOverlay:{measure:gE}},LD=class extends Map{get(e){return e==null?void 0:super.get(e)??void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){return this.get(e)?.node.current??void 0}},RD={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new LD,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:JT},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:ID,measureDroppableContainers:JT,windowRect:null,measuringScheduled:!1},zD={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:``},dispatch:JT,draggableNodes:new Map,over:null,measureDroppableContainers:JT},BD=(0,r.createContext)(zD),VD=(0,r.createContext)(RD);function HD(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new LD}}}function UD(e,t){switch(t.type){case qT.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case qT.DragMove:return e.draggable.active==null?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case qT.DragEnd:case qT.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case qT.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new LD(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case qT.SetDroppableDisabled:{let{id:n,key:r,disabled:i}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;let o=new LD(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case qT.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new LD(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function WD(e){let{disabled:t}=e,{active:n,activatorEvent:i,draggableNodes:a}=(0,r.useContext)(BD),o=wT(i),s=wT(n?.id);return(0,r.useEffect)(()=>{if(!t&&!i&&o&&s!=null){if(!jT(o)||document.activeElement===o.target)return;let e=a.get(s);if(!e)return;let{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(let e of[t.current,n.current]){if(!e)continue;let t=IT(e);if(t){t.focus();break}}})}},[i,t,a,s,o]),null}function GD(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}function KD(e){return(0,r.useMemo)(()=>({draggable:{...ID.draggable,...e?.draggable},droppable:{...ID.droppable,...e?.droppable},dragOverlay:{...ID.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function qD(e){let{activeNode:t,measure:n,initialRect:i,config:a=!0}=e,o=(0,r.useRef)(!1),{x:s,y:c}=typeof a==`boolean`?{x:a,y:a}:a;vT(()=>{if(!s&&!c||!t){o.current=!1;return}if(o.current||!i)return;let e=t?.node.current;if(!e||e.isConnected===!1)return;let r=n(e),a=uE(r,i);if(s||(a.x=0),c||(a.y=0),o.current=!0,Math.abs(a.x)>0||Math.abs(a.y)>0){let t=SE(e);t&&t.scrollBy({top:a.y,left:a.x})}},[t,s,c,i,n])}var JD=(0,r.createContext)({...ZT,scaleX:1,scaleY:1}),YD;(function(e){e[e.Uninitialized=0]=`Uninitialized`,e[e.Initializing=1]=`Initializing`,e[e.Initialized=2]=`Initialized`})(YD||={});var XD=(0,r.memo)(function(e){let{id:t,accessibility:n,autoScroll:a=!0,children:o,sensors:s=PD,collisionDetection:c=cE,measuring:l,modifiers:u,...d}=e,[f,p]=(0,r.useReducer)(UD,void 0,HD),[m,h]=UT(),[g,_]=(0,r.useState)(YD.Uninitialized),v=g===YD.Initialized,{draggable:{active:y,nodes:b,translate:x},droppable:{containers:S}}=f,C=y==null?null:b.get(y),w=(0,r.useRef)({initial:null,translated:null}),T=(0,r.useMemo)(()=>y==null?null:{id:y,data:C?.data??FD,rect:w},[y,C]),E=(0,r.useRef)(null),[D,O]=(0,r.useState)(null),[k,A]=(0,r.useState)(null),j=xT(d,Object.values(d)),M=ET(`DndDescribedBy`,t),N=(0,r.useMemo)(()=>S.getEnabled(),[S]),P=KD(l),{droppableRects:F,measureDroppableContainers:I,measuringScheduled:L}=hD(N,{dragging:v,dependencies:[x.x,x.y],config:P.droppable}),ee=uD(b,y),te=(0,r.useMemo)(()=>k?NT(k):null,[k]),R=Pe(),ne=_D(ee,P.draggable.measure);qD({activeNode:y==null?null:b.get(y),config:R.layoutShiftCompensation,initialRect:ne,measure:P.draggable.measure});let re=xD(ee,P.draggable.measure,ne),ie=xD(ee?ee.parentElement:null),ae=(0,r.useRef)({activatorEvent:null,active:null,activeNode:ee,collisionRect:null,collisions:null,droppableRects:F,draggableNodes:b,draggingNode:null,draggingNodeRect:null,droppableContainers:S,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),oe=S.getNodeFor(ae.current.over?.id),se=ND({measure:P.dragOverlay.measure}),ce=se.nodeRef.current??ee,le=v?se.rect??re:null,ue=!!(se.nodeRef.current&&se.rect),de=SD(ue?null:re),fe=kD(ce?pT(ce):null),pe=wD(v?oe??ee:null),me=jD(pe),he=GD(u,{transform:{x:x.x-de.x,y:x.y-de.y,scaleX:1,scaleY:1},activatorEvent:k,active:T,activeNodeRect:re,containerNodeRect:ie,draggingNodeRect:le,over:ae.current.over,overlayNodeRect:se.rect,scrollableAncestors:pe,scrollableAncestorRects:me,windowRect:fe}),ge=te?OT(te,x):null,_e=TD(pe),ve=ED(_e),ye=ED(_e,[re]),be=OT(he,ve),xe=le?fE(le,he):null,Se=T&&xe?c({active:T,collisionRect:xe,droppableRects:F,droppableContainers:N,pointerCoordinates:ge}):null,Ce=rE(Se,`id`),[we,Te]=(0,r.useState)(null),Ee=ue?he:OT(he,ye),De=lE(Ee,we?.rect??null,re),Oe=(0,r.useRef)(null),ke=(0,r.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(E.current==null)return;let a=b.get(E.current);if(!a)return;let o=e.nativeEvent;Oe.current=new n({active:E.current,activeNode:a,event:o,options:r,context:ae,onAbort(e){if(!b.get(e))return;let{onDragAbort:t}=j.current,n={id:e};t?.(n),m({type:`onDragAbort`,event:n})},onPending(e,t,n,r){if(!b.get(e))return;let{onDragPending:i}=j.current,a={id:e,constraint:t,initialCoordinates:n,offset:r};i?.(a),m({type:`onDragPending`,event:a})},onStart(e){let t=E.current;if(t==null)return;let n=b.get(t);if(!n)return;let{onDragStart:r}=j.current,a={activatorEvent:o,active:{id:t,data:n.data,rect:w}};(0,i.unstable_batchedUpdates)(()=>{r?.(a),_(YD.Initializing),p({type:qT.DragStart,initialCoordinates:e,active:t}),m({type:`onDragStart`,event:a}),O(Oe.current),A(o)})},onMove(e){p({type:qT.DragMove,coordinates:e})},onEnd:s(qT.DragEnd),onCancel:s(qT.DragCancel)});function s(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:a}=ae.current,s=null;if(t&&a){let{cancelDrop:i}=j.current;s={activatorEvent:o,active:t,collisions:n,delta:a,over:r},e===qT.DragEnd&&typeof i==`function`&&await Promise.resolve(i(s))&&(e=qT.DragCancel)}E.current=null,(0,i.unstable_batchedUpdates)(()=>{p({type:e}),_(YD.Uninitialized),Te(null),O(null),A(null),Oe.current=null;let t=e===qT.DragEnd?`onDragEnd`:`onDragCancel`;if(s){let e=j.current[t];e?.(s),m({type:t,event:s})}})}}},[b]),Ae=(0,r.useCallback)((e,t)=>(n,r)=>{let i=n.nativeEvent,a=b.get(r);if(E.current!==null||!a||i.dndKit||i.defaultPrevented)return;let o={active:a};e(n,t.options,o)===!0&&(i.dndKit={capturedBy:t.sensor},E.current=r,ke(n,t))},[b,ke]),je=dD(s,Ae);DD(s),vT(()=>{re&&g===YD.Initializing&&_(YD.Initialized)},[re,g]),(0,r.useEffect)(()=>{let{onDragMove:e}=j.current,{active:t,activatorEvent:n,collisions:r,over:a}=ae.current;if(!t||!n)return;let o={active:t,activatorEvent:n,collisions:r,delta:{x:be.x,y:be.y},over:a};(0,i.unstable_batchedUpdates)(()=>{e?.(o),m({type:`onDragMove`,event:o})})},[be.x,be.y]),(0,r.useEffect)(()=>{let{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:a}=ae.current;if(!e||E.current==null||!t||!a)return;let{onDragOver:o}=j.current,s=r.get(Ce),c=s&&s.rect.current?{id:s.id,rect:s.rect.current,data:s.data,disabled:s.disabled}:null,l={active:e,activatorEvent:t,collisions:n,delta:{x:a.x,y:a.y},over:c};(0,i.unstable_batchedUpdates)(()=>{Te(c),o?.(l),m({type:`onDragOver`,event:l})})},[Ce]),vT(()=>{ae.current={activatorEvent:k,active:T,activeNode:ee,collisionRect:xe,collisions:Se,droppableRects:F,draggableNodes:b,draggingNode:ce,draggingNodeRect:le,droppableContainers:S,over:we,scrollableAncestors:pe,scrollAdjustedTranslate:be},w.current={initial:le,translated:xe}},[T,ee,Se,xe,b,ce,le,F,S,we,pe,be]),sD({...R,delta:x,draggingRect:xe,pointerCoordinates:ge,scrollableAncestors:pe,scrollableAncestorRects:me});let Me=(0,r.useMemo)(()=>({active:T,activeNode:ee,activeNodeRect:re,activatorEvent:k,collisions:Se,containerNodeRect:ie,dragOverlay:se,draggableNodes:b,droppableContainers:S,droppableRects:F,over:we,measureDroppableContainers:I,scrollableAncestors:pe,scrollableAncestorRects:me,measuringConfiguration:P,measuringScheduled:L,windowRect:fe}),[T,ee,re,k,Se,ie,se,b,S,F,we,I,pe,me,P,L,fe]),Ne=(0,r.useMemo)(()=>({activatorEvent:k,activators:je,active:T,activeNodeRect:re,ariaDescribedById:{draggable:M},dispatch:p,draggableNodes:b,over:we,measureDroppableContainers:I}),[k,je,T,re,p,M,b,we,I]);return r.default.createElement(VT.Provider,{value:h},r.default.createElement(BD.Provider,{value:Ne},r.default.createElement(VD.Provider,{value:Me},r.default.createElement(JD.Provider,{value:De},o)),r.default.createElement(WD,{disabled:n?.restoreFocus===!1})),r.default.createElement(KT,{...n,hiddenTextDescribedById:M}));function Pe(){let e=D?.autoScrollEnabled===!1,t=typeof a==`object`?a.enabled===!1:a===!1,n=v&&!e&&!t;return typeof a==`object`?{...a,enabled:n}:{enabled:n}}}),ZD=(0,r.createContext)(null),QD=`button`,$D=`Draggable`;function eO(e){let{id:t,data:n,disabled:i=!1,attributes:a}=e,o=ET($D),{activators:s,activatorEvent:c,active:l,activeNodeRect:u,ariaDescribedById:d,draggableNodes:f,over:p}=(0,r.useContext)(BD),{role:m=QD,roleDescription:h=`draggable`,tabIndex:g=0}=a??{},_=l?.id===t,v=(0,r.useContext)(_?JD:ZD),[y,b]=CT(),[x,S]=CT(),C=OD(s,t),w=xT(n);vT(()=>(f.set(t,{id:t,key:o,node:y,activatorNode:x,data:w}),()=>{let e=f.get(t);e&&e.key===o&&f.delete(t)}),[f,t]);let T=(0,r.useMemo)(()=>({role:m,tabIndex:g,"aria-disabled":i,"aria-pressed":_&&m===QD?!0:void 0,"aria-roledescription":h,"aria-describedby":d.draggable}),[i,m,g,_,h,d.draggable]);return{active:l,activatorEvent:c,activeNodeRect:u,attributes:T,isDragging:_,listeners:i?void 0:C,node:y,over:p,setNodeRef:b,setActivatorNodeRef:S,transform:v}}function tO(){return(0,r.useContext)(VD)}var nO=`Droppable`,rO={timeout:25};function iO(e){let{data:t,disabled:n=!1,id:i,resizeObserverConfig:a}=e,o=ET(nO),{active:s,dispatch:c,over:l,measureDroppableContainers:u}=(0,r.useContext)(BD),d=(0,r.useRef)({disabled:n}),f=(0,r.useRef)(!1),p=(0,r.useRef)(null),m=(0,r.useRef)(null),{disabled:h,updateMeasurementsFor:g,timeout:_}={...rO,...a},v=xT(g??i),y=(0,r.useCallback)(()=>{if(!f.current){f.current=!0;return}m.current!=null&&clearTimeout(m.current),m.current=setTimeout(()=>{u(Array.isArray(v.current)?v.current:[v.current]),m.current=null},_)},[_]),b=yD({callback:y,disabled:h||!s}),x=(0,r.useCallback)((e,t)=>{b&&(t&&(b.unobserve(t),f.current=!1),e&&b.observe(e))},[b]),[S,C]=CT(x),w=xT(t);return(0,r.useEffect)(()=>{!b||!S.current||(b.disconnect(),f.current=!1,b.observe(S.current))},[S,b]),(0,r.useEffect)(()=>(c({type:qT.RegisterDroppable,element:{id:i,key:o,disabled:n,node:S,rect:p,data:w}}),()=>c({type:qT.UnregisterDroppable,key:o,id:i})),[i]),(0,r.useEffect)(()=>{n!==d.current.disabled&&(c({type:qT.SetDroppableDisabled,id:i,key:o,disabled:n}),d.current.disabled=n)},[i,o,n,c]),{active:s,rect:p,isOver:l?.id===i,node:S,over:l,setNodeRef:C}}function aO(e){let{animation:t,children:n}=e,[i,a]=(0,r.useState)(null),[o,s]=(0,r.useState)(null),c=wT(n);return!n&&!i&&c&&a(c),vT(()=>{if(!o)return;let e=i?.key,n=i?.props.id;if(e==null||n==null){a(null);return}Promise.resolve(t(n,o)).then(()=>{a(null)})},[t,i,o]),r.default.createElement(r.default.Fragment,null,n,i?(0,r.cloneElement)(i,{ref:s}):null)}var oO={x:0,y:0,scaleX:1,scaleY:1};function sO(e){let{children:t}=e;return r.default.createElement(BD.Provider,{value:zD},r.default.createElement(JD.Provider,{value:oO},t))}var cO={position:`fixed`,touchAction:`none`},lO=e=>jT(e)?`transform 250ms ease`:void 0,uO=(0,r.forwardRef)((e,t)=>{let{as:n,activatorEvent:i,adjustScale:a,children:o,className:s,rect:c,style:l,transform:u,transition:d=lO}=e;if(!c)return null;let f=a?u:{...u,scaleX:1,scaleY:1},p={...cO,width:c.width,height:c.height,top:c.top,left:c.left,transform:PT.Transform.toString(f),transformOrigin:a&&i?$T(i,c):void 0,transition:typeof d==`function`?d(i):d,...l};return r.default.createElement(n,{className:s,style:p,ref:t},o)}),dO=e=>t=>{let{active:n,dragOverlay:r}=t,i={},{styles:a,className:o}=e;if(a!=null&&a.active)for(let[e,t]of Object.entries(a.active))t!==void 0&&(i[e]=n.node.style.getPropertyValue(e),n.node.style.setProperty(e,t));if(a!=null&&a.dragOverlay)for(let[e,t]of Object.entries(a.dragOverlay))t!==void 0&&r.node.style.setProperty(e,t);return o!=null&&o.active&&n.node.classList.add(o.active),o!=null&&o.dragOverlay&&r.node.classList.add(o.dragOverlay),function(){for(let[e,t]of Object.entries(i))n.node.style.setProperty(e,t);o!=null&&o.active&&n.node.classList.remove(o.active)}},fO=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:PT.Transform.toString(t)},{transform:PT.Transform.toString(n)}]},pO={duration:250,easing:`ease`,keyframes:fO,sideEffects:dO({styles:{active:{opacity:`0`}}})};function mO(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return yT((e,a)=>{if(t===null)return;let o=n.get(e);if(!o)return;let s=o.node.current;if(!s)return;let c=MD(a);if(!c)return;let{transform:l}=pT(a).getComputedStyle(a),u=pE(l);if(!u)return;let d=typeof t==`function`?t:hO(t);return IE(s,i.draggable.measure),d({active:{id:e,data:o.data,node:s,rect:i.draggable.measure(s)},draggableNodes:n,dragOverlay:{node:a,rect:i.dragOverlay.measure(c)},droppableContainers:r,measuringConfiguration:i,transform:u})})}function hO(e){let{duration:t,easing:n,sideEffects:r,keyframes:i}={...pO,...e};return e=>{let{active:a,dragOverlay:o,transform:s,...c}=e;if(!t)return;let l={x:o.rect.left-a.rect.left,y:o.rect.top-a.rect.top},u={scaleX:s.scaleX===1?1:a.rect.width*s.scaleX/o.rect.width,scaleY:s.scaleY===1?1:a.rect.height*s.scaleY/o.rect.height},d={x:s.x-l.x,y:s.y-l.y,...u},f=i({...c,active:a,dragOverlay:o,transform:{initial:s,final:d}}),[p]=f,m=f[f.length-1];if(JSON.stringify(p)===JSON.stringify(m))return;let h=r?.({active:a,dragOverlay:o,...c}),g=o.node.animate(f,{duration:t,easing:n,fill:`forwards`});return new Promise(e=>{g.onfinish=()=>{h?.(),e()}})}}var gO=0;function _O(e){return(0,r.useMemo)(()=>{if(e!=null)return gO++,gO},[e])}var vO=r.default.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:i,style:a,transition:o,modifiers:s,wrapperElement:c=`div`,className:l,zIndex:u=999}=e,{activatorEvent:d,active:f,activeNodeRect:p,containerNodeRect:m,draggableNodes:h,droppableContainers:g,dragOverlay:_,over:v,measuringConfiguration:y,scrollableAncestors:b,scrollableAncestorRects:x,windowRect:S}=tO(),C=(0,r.useContext)(JD),w=_O(f?.id),T=GD(s,{activatorEvent:d,active:f,activeNodeRect:p,containerNodeRect:m,draggingNodeRect:_.rect,over:v,overlayNodeRect:_.rect,scrollableAncestors:b,scrollableAncestorRects:x,transform:C,windowRect:S}),E=gD(p),D=mO({config:i,draggableNodes:h,droppableContainers:g,measuringConfiguration:y}),O=E?_.setRef:void 0;return r.default.createElement(sO,null,r.default.createElement(aO,{animation:D},f&&w?r.default.createElement(uO,{key:w,id:f.id,ref:O,as:c,activatorEvent:d,adjustScale:t,className:l,transition:o,rect:E,style:{zIndex:u,...a},transform:T},n):null))}),yO=e=>{let{transform:t}=e;return{...t,y:0}};function bO(e,t,n){let r={...e};return t.top+e.y<=n.top?r.y=n.top-t.top:t.bottom+e.y>=n.top+n.height&&(r.y=n.top+n.height-t.bottom),t.left+e.x<=n.left?r.x=n.left-t.left:t.right+e.x>=n.left+n.width&&(r.x=n.left+n.width-t.right),r}var xO=e=>{let{containerNodeRect:t,draggingNodeRect:n,transform:r}=e;return!n||!t?r:bO(r,n,t)},SO=e=>{let{transform:t}=e;return{...t,x:0}};function CO(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function wO(e,t){return e.reduce((e,n,r)=>{let i=t.get(n);return i&&(e[r]=i),e},Array(e.length))}function TO(e){return e!==null&&e>=0}function EO(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function DO(e){return typeof e==`boolean`?{draggable:e,droppable:e}:e}var OO={scaleX:1,scaleY:1},kO=e=>{let{rects:t,activeNodeRect:n,activeIndex:r,overIndex:i,index:a}=e,o=t[r]??n;if(!o)return null;let s=AO(t,a,r);if(a===r){let e=t[i];return e?{x:r<i?e.left+e.width-(o.left+o.width):e.left-o.left,y:0,...OO}:null}return a>r&&a<=i?{x:-o.width-s,y:0,...OO}:a<r&&a>=i?{x:o.width+s,y:0,...OO}:{x:0,y:0,...OO}};function AO(e,t,n){let r=e[t],i=e[t-1],a=e[t+1];return!r||!i&&!a?0:n<t?i?r.left-(i.left+i.width):a.left-(r.left+r.width):a?a.left-(r.left+r.width):r.left-(i.left+i.width)}var jO=e=>{let{rects:t,activeIndex:n,overIndex:r,index:i}=e,a=CO(t,r,n),o=t[i],s=a[i];return!s||!o?null:{x:s.left-o.left,y:s.top-o.top,scaleX:s.width/o.width,scaleY:s.height/o.height}},MO={scaleX:1,scaleY:1},NO=e=>{let{activeIndex:t,activeNodeRect:n,index:r,rects:i,overIndex:a}=e,o=i[t]??n;if(!o)return null;if(r===t){let e=i[a];return e?{x:0,y:t<a?e.top+e.height-(o.top+o.height):e.top-o.top,...MO}:null}let s=PO(i,r,t);return r>t&&r<=a?{x:0,y:-o.height-s,...MO}:r<t&&r>=a?{x:0,y:o.height+s,...MO}:{x:0,y:0,...MO}};function PO(e,t,n){let r=e[t],i=e[t-1],a=e[t+1];return r?n<t?i?r.top-(i.top+i.height):a?a.top-(r.top+r.height):0:a?a.top-(r.top+r.height):i?r.top-(i.top+i.height):0:0}var FO=`Sortable`,IO=r.default.createContext({activeIndex:-1,containerId:FO,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:jO,disabled:{draggable:!1,droppable:!1}});function LO(e){let{children:t,id:n,items:i,strategy:a=jO,disabled:o=!1}=e,{active:s,dragOverlay:c,droppableRects:l,over:u,measureDroppableContainers:d}=tO(),f=ET(FO,n),p=c.rect!==null,m=(0,r.useMemo)(()=>i.map(e=>typeof e==`object`&&`id`in e?e.id:e),[i]),h=s!=null,g=s?m.indexOf(s.id):-1,_=u?m.indexOf(u.id):-1,v=(0,r.useRef)(m),y=!EO(m,v.current),b=_!==-1&&g===-1||y,x=DO(o);vT(()=>{y&&h&&d(m)},[y,m,h,d]),(0,r.useEffect)(()=>{v.current=m},[m]);let S=(0,r.useMemo)(()=>({activeIndex:g,containerId:f,disabled:x,disableTransforms:b,items:m,overIndex:_,useDragOverlay:p,sortedRects:wO(m,l),strategy:a}),[g,f,x.draggable,x.droppable,b,m,_,l,p,a]);return r.default.createElement(IO.Provider,{value:S},t)}var RO=e=>{let{id:t,items:n,activeIndex:r,overIndex:i}=e;return CO(n,r,i).indexOf(t)},zO=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:i,items:a,newIndex:o,previousItems:s,previousContainerId:c,transition:l}=e;return!l||!r||s!==a&&i===o?!1:n?!0:o!==i&&t===c},BO={duration:200,easing:`ease`},VO=`transform`,HO=PT.Transition.toString({property:VO,duration:0,easing:`linear`}),UO={roleDescription:`sortable`};function WO(e){let{disabled:t,index:n,node:i,rect:a}=e,[o,s]=(0,r.useState)(null),c=(0,r.useRef)(n);return vT(()=>{if(!t&&n!==c.current&&i.current){let e=a.current;if(e){let t=gE(i.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&s(n)}}n!==c.current&&(c.current=n)},[t,n,i,a]),(0,r.useEffect)(()=>{o&&s(null)},[o]),o}function GO(e){let{animateLayoutChanges:t=zO,attributes:n,disabled:i,data:a,getNewIndex:o=RO,id:s,strategy:c,resizeObserverConfig:l,transition:u=BO}=e,{items:d,containerId:f,activeIndex:p,disabled:m,disableTransforms:h,sortedRects:g,overIndex:_,useDragOverlay:v,strategy:y}=(0,r.useContext)(IO),b=KO(i,m),x=d.indexOf(s),S=(0,r.useMemo)(()=>({sortable:{containerId:f,index:x,items:d},...a}),[f,a,x,d]),C=(0,r.useMemo)(()=>d.slice(d.indexOf(s)),[d,s]),{rect:w,node:T,isOver:E,setNodeRef:D}=iO({id:s,data:S,disabled:b.droppable,resizeObserverConfig:{updateMeasurementsFor:C,...l}}),{active:O,activatorEvent:k,activeNodeRect:A,attributes:j,setNodeRef:M,listeners:N,isDragging:P,over:F,setActivatorNodeRef:I,transform:L}=eO({id:s,data:S,attributes:{...UO,...n},disabled:b.draggable}),ee=lT(D,M),te=!!O,R=te&&!h&&TO(p)&&TO(_),ne=!v&&P,re=R?(ne&&R?L:null)??(c??y)({rects:g,activeNodeRect:A,activeIndex:p,overIndex:_,index:x}):null,ie=TO(p)&&TO(_)?o({id:s,items:d,activeIndex:p,overIndex:_}):x,ae=O?.id,oe=(0,r.useRef)({activeId:ae,items:d,newIndex:ie,containerId:f}),se=d!==oe.current.items,ce=t({active:O,containerId:f,isDragging:P,isSorting:te,id:s,index:x,items:d,newIndex:oe.current.newIndex,previousItems:oe.current.items,previousContainerId:oe.current.containerId,transition:u,wasDragging:oe.current.activeId!=null}),le=WO({disabled:!ce,index:x,node:T,rect:w});return(0,r.useEffect)(()=>{te&&oe.current.newIndex!==ie&&(oe.current.newIndex=ie),f!==oe.current.containerId&&(oe.current.containerId=f),d!==oe.current.items&&(oe.current.items=d)},[te,ie,f,d]),(0,r.useEffect)(()=>{if(ae===oe.current.activeId)return;if(ae!=null&&oe.current.activeId==null){oe.current.activeId=ae;return}let e=setTimeout(()=>{oe.current.activeId=ae},50);return()=>clearTimeout(e)},[ae]),{active:O,activeIndex:p,attributes:j,data:S,rect:w,index:x,newIndex:ie,items:d,isOver:E,isSorting:te,isDragging:P,listeners:N,node:T,overIndex:_,over:F,setNodeRef:ee,setActivatorNodeRef:I,setDroppableNodeRef:D,setDraggableNodeRef:M,transform:le??re,transition:ue()};function ue(){if(le||se&&oe.current.newIndex===x)return HO;if(!(ne&&!jT(k)||!u)&&(te||ce))return PT.Transition.toString({...u,property:VO})}}function KO(e,t){return typeof e==`boolean`?{draggable:e,droppable:!1}:{draggable:e?.draggable??t.draggable,droppable:e?.droppable??t.droppable}}function qO(e){if(!e)return!1;let t=e.data.current;return!!(t&&`sortable`in t&&typeof t.sortable==`object`&&`containerId`in t.sortable&&`items`in t.sortable&&`index`in t.sortable)}var JO=[GE.Down,GE.Right,GE.Up,GE.Left],YO=(e,t)=>{let{context:{active:n,collisionRect:r,droppableRects:i,droppableContainers:a,over:o,scrollableAncestors:s}}=t;if(JO.includes(e.code)){if(e.preventDefault(),!n||!r)return;let t=[];a.getEnabled().forEach(n=>{if(!n||n!=null&&n.disabled)return;let a=i.get(n.id);if(a)switch(e.code){case GE.Down:r.top<a.top&&t.push(n);break;case GE.Up:r.top>a.top&&t.push(n);break;case GE.Left:r.left>a.left&&t.push(n);break;case GE.Right:r.left<a.left&&t.push(n);break}});let c=oE({active:n,collisionRect:r,droppableRects:i,droppableContainers:t,pointerCoordinates:null}),l=rE(c,`id`);if(l===o?.id&&c.length>1&&(l=c[1].id),l!=null){let e=a.get(n.id),t=a.get(l),o=t?i.get(t.id):null,c=t?.node.current;if(c&&o&&e&&t){let n=xE(c).some((e,t)=>s[t]!==e),i=XO(e,t),a=ZO(e,t),l=n||!i?{x:0,y:0}:{x:a?r.width-o.width:0,y:a?r.height-o.height:0},u={x:o.left,y:o.top};return l.x&&l.y?u:kT(u,l)}}}};function XO(e,t){return!qO(e)||!qO(t)?!1:e.data.current.sortable.containerId===t.data.current.sortable.containerId}function ZO(e,t){return!qO(e)||!qO(t)||!XO(e,t)?!1:e.data.current.sortable.index<t.data.current.sortable.index}function QO(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function $O(...e){return t=>{let n=!1,r=e.map(e=>{let r=QO(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():QO(e[t],null)}}}}function ek(...e){return(0,r.useCallback)($O(...e),e)}var tk={vertical:{modifiers:[SO,xO],strategy:NO,collisionDetection:aE},horizontal:{modifiers:[yO,xO],strategy:kO,collisionDetection:aE},mixed:{modifiers:[xO],strategy:void 0,collisionDetection:oE}},nk=`Sortable`,rk=`SortableContent`,ik=`SortableItem`,ak=`SortableOverlay`,ok=(0,r.createContext)(null);function sk(e){let t=(0,r.useContext)(ok);if(!t)throw Error(`\`${e}\` must be used within \`${nk}\``);return t}function ck(e){let{value:t,onValueChange:n,collisionDetection:i,modifiers:a,strategy:o,onMove:s,orientation:c=`vertical`,flatCursor:l=!1,getItemValue:u,accessibility:f,...p}=e,m=(0,r.useId)(),[h,g]=(0,r.useState)(null),_=XT(YT(nD),YT(iD),YT(JE,{coordinateGetter:YO})),v=(0,r.useMemo)(()=>tk[c],[c]),y=(0,r.useCallback)(e=>{if(typeof e==`object`&&!u)throw Error(`getItemValue is required when using array of objects`);return u?u(e):e},[u]),b=(0,r.useMemo)(()=>t.map(e=>y(e)),[t,y]),x=(0,r.useCallback)(e=>{p.onDragStart?.(e),!e.activatorEvent.defaultPrevented&&g(e.active.id)},[p.onDragStart]),S=(0,r.useCallback)(e=>{if(p.onDragEnd?.(e),e.activatorEvent.defaultPrevented)return;let{active:r,over:i}=e;if(i&&r.id!==i?.id){let a=t.findIndex(e=>y(e)===r.id),o=t.findIndex(e=>y(e)===i.id);s?s({...e,activeIndex:a,overIndex:o}):n?.(CO(t,a,o))}g(null)},[t,n,s,y,p.onDragEnd]),C=(0,r.useCallback)(e=>{p.onDragCancel?.(e),!e.activatorEvent.defaultPrevented&&g(null)},[p.onDragCancel]),w=(0,r.useMemo)(()=>({onDragStart({active:e}){return`Grabbed sortable item "${e.id.toString()}". Current position is ${e.data.current?.sortable.index+1} of ${t.length}. Use arrow keys to move, space to drop.`},onDragOver({active:e,over:n}){if(n){let r=n.data.current?.sortable.index??0,i=e.data.current?.sortable.index??0,a=r>i?`down`:`up`;return`Sortable item "${e.id.toString()}" moved ${a} to position ${r+1} of ${t.length}.`}return`Sortable item is no longer over a droppable area. Press escape to cancel.`},onDragEnd({active:e,over:n}){let r=e.id.toString();if(n){let e=n.data.current?.sortable.index??0;return`Sortable item "${r}" dropped at position ${e+1} of ${t.length}.`}return`Sortable item "${r}" dropped. No changes were made.`},onDragCancel({active:e}){let n=e.data.current?.sortable.index??0;return`Sorting cancelled. Sortable item "${e.id.toString()}" returned to position ${n+1} of ${t.length}.`},onDragMove({active:e,over:n}){if(n){let r=n.data.current?.sortable.index??0,i=e.data.current?.sortable.index??0,a=r>i?`down`:`up`;return`Sortable item "${e.id.toString()}" is moving ${a} to position ${r+1} of ${t.length}.`}return`Sortable item is no longer over a droppable area. Press escape to cancel.`}}),[t]),T=(0,r.useMemo)(()=>({draggable:`
To pick up a sortable item, press space or enter.
While dragging, use the ${c===`vertical`?`up and down`:c===`horizontal`?`left and right`:`arrow`} keys to move the item.
Press space or enter again to drop the item in its new position, or press escape to cancel.
`}),[c]),E=(0,r.useMemo)(()=>({id:m,items:b,modifiers:a??v.modifiers,strategy:o??v.strategy,activeId:h,setActiveId:g,getItemValue:y,flatCursor:l}),[m,b,a,o,v.modifiers,v.strategy,h,y,l]);return(0,d.jsx)(ok.Provider,{value:E,children:(0,d.jsx)(XD,{collisionDetection:i??v.collisionDetection,modifiers:a??v.modifiers,sensors:_,...p,id:m,onDragStart:x,onDragEnd:S,onDragCancel:C,accessibility:{announcements:w,screenReaderInstructions:T,...f}})})}var lk=(0,r.createContext)(!1);function uk(e){let{strategy:t,asChild:n,withoutSlot:r,children:i,ref:a,...o}=e,s=sk(rk),c=n?Fn:`div`;return(0,d.jsx)(lk.Provider,{value:!0,children:(0,d.jsx)(LO,{items:s.items,strategy:t??s.strategy,children:r?i:(0,d.jsx)(c,{"data-slot":`sortable-content`,...o,ref:a,children:i})})})}var dk=(0,r.createContext)(null);function fk(e){let{value:t,style:n,asHandle:i,asChild:a,disabled:o,className:s,ref:c,...l}=e,u=(0,r.useContext)(lk),f=(0,r.useContext)(pk);if(!u&&!f)throw Error(`\`${ik}\` must be used within \`${rk}\` or \`${ak}\``);if(t===``)throw Error(`\`${ik}\` value cannot be an empty string`);let p=sk(ik),m=(0,r.useId)(),{attributes:h,listeners:g,setNodeRef:_,setActivatorNodeRef:v,transform:y,transition:b,isDragging:x}=GO({id:t,disabled:o}),S=ek(c,e=>{o||(_(e),i&&v(e))}),C=(0,r.useMemo)(()=>({transform:PT.Translate.toString(y),transition:b,...n}),[y,b,n]),w=(0,r.useMemo)(()=>({id:m,attributes:h,listeners:g,setActivatorNodeRef:v,isDragging:x,disabled:o}),[m,h,g,v,x,o]),T=a?Fn:`div`;return(0,d.jsx)(dk.Provider,{value:w,children:(0,d.jsx)(T,{id:m,"data-disabled":o,"data-dragging":x?``:void 0,"data-slot":`sortable-item`,...l,...i&&!o?h:{},...i&&!o?g:{},ref:S,style:C,className:H(`focus-visible:ring-ring focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-offset-1`,{"touch-none select-none":i,"cursor-default":p.flatCursor,"data-dragging:cursor-grabbing":!p.flatCursor,"cursor-grab":!x&&i&&!p.flatCursor,"opacity-50":x,"pointer-events-none opacity-50":o},s)})})}var pk=(0,r.createContext)(!1),mk={sideEffects:dO({styles:{active:{opacity:`0.4`}}})};function hk(e){let{container:t,children:n,...a}=e,o=sk(ak),[s,c]=(0,r.useState)(!1);(0,r.useLayoutEffect)(()=>c(!0),[]);let l=t??(s?globalThis.document?.body:null);return l?i.createPortal((0,d.jsx)(vO,{dropAnimation:mk,modifiers:o.modifiers,className:H(!o.flatCursor&&`cursor-grabbing`),...a,children:(0,d.jsx)(pk.Provider,{value:!0,children:o.activeId?typeof n==`function`?n({value:o.activeId}):n:null})}),l):null}var gk=e.__toESM(Ee());const _k=e=>{let{history:t,operations:n,tests:i,plugins:o}=e_(),s=e_(),c=(0,r.useRef)(!1),l=(0,r.useRef)(null);(0,r.useEffect)(()=>{function e(){l.current&&=(clearTimeout(l.current),null),c.current=!1}return document.addEventListener(`mouseup`,e),()=>{document.removeEventListener(`mouseup`,e)}},[]);let u=(0,r.useMemo)(()=>e.activeTab?.id===e.item.id,[e.activeTab,e.item]),f=(0,r.useMemo)(()=>e.item.type===`history`?t.find(t=>e.item.type===`history`&&t.id===e.item.data.id):null,[t,e.item]),p=(0,r.useMemo)(()=>e.item.type===`operation`?n.find(t=>t.id===e.item.data.id):null,[e.item,n]),m=(0,r.useMemo)(()=>e.item.type===`test`?i.find(t=>t.id===e.item.data.id):null,[e.item,i]),h=(0,r.useMemo)(()=>f?`status`in f&&f.status<200||`status`in f&&f.status>=300||`response`in f&&JSON.parse(f.response).errors:!1,[f]),g=(0,r.useCallback)(()=>{e.handleDeleteTab(e.item.id)},[e]),_=(0,r.useCallback)(()=>{e.handleDeleteAllTabs()},[e]),v=(0,r.useCallback)(()=>{e.handleDeleteOtherTabs(e.item.id)},[e]),y=(0,r.useMemo)(()=>{if(e.item.type===`operation`){let e=p?.name||Me(p?.query||``)||`Untitled`;if(e===`Untitled`){let t=(0,gk.capitalize)(Ne(p?.query||``)||`query`);return e+t}return e}if(e.item.type===`history`){let e=f?.operation.name||Me(f?.operation.query||``)||`Untitled`;if(e===`Untitled`){let t=(0,gk.capitalize)(Ne(f?.operation.query||``)||`query`);return e+t}return e}if(e.item.type===`preflight`)return`Preflight`;if(e.item.type===`env`)return`Environment Variables`;if(e.item.type===`settings`)return`Settings`;if(e.item.type===`test`)return m?.name||`Untitled`;let t=null;for(let n of o)for(let r of n.tabs??[])if(r.type===e.item.type){t=r;break}return t?typeof t.name==`function`?t.name(s,{}):t.name:`Untitled`},[e.item,f,p,m]),b=(0,r.useMemo)(()=>{if(e.item.type===`operation`)return(0,d.jsx)(rh,{className:`size-4 text-pink-500`});if(e.item.type===`preflight`)return(0,d.jsx)(a.ScrollTextIcon,{className:`size-4 text-teal-400`});if(e.item.type===`env`)return(0,d.jsx)(a.GlobeIcon,{className:`size-4 text-blue-400`});if(e.item.type===`history`)return(0,d.jsx)(a.HistoryIcon,{className:H(`size-4 text-indigo-400`,{"text-green-500":!h,"text-red-500":h})});if(e.item.type===`settings`)return(0,d.jsx)(a.SettingsIcon,{className:`size-4 text-gray-400`});if(e.item.type===`test`)return(0,d.jsx)(a.FlaskConicalIcon,{className:`size-4 text-lime-400`});let t=null;for(let n of o)for(let r of n.tabs??[])if(r.type===e.item.type){t=r;break}return t?typeof t.icon==`function`?t.icon(s,{}):t.icon:(0,d.jsx)(a.FileIcon,{className:`text-muted-foreground size-4`})},[e.item,h]);return(0,d.jsxs)(aT,{children:[(0,d.jsx)(oT,{asChild:!0,children:(0,d.jsxs)(fk,{value:e.item.id,asHandle:!0,className:H(`data-dragging:opacity-0 flex h-12 w-max items-stretch`,e.isOverlay&&`bg-background`,e.isOverlay&&!u&&`h-12`),children:[(0,d.jsx)(`div`,{onMouseDown:e=>{if(c.current)return;e.preventDefault();let t={...e};l.current=setTimeout(()=>{c.current=!0,t.currentTarget.dispatchEvent(new MouseEvent(`mousedown`,{...t}))},200)},children:(0,d.jsxs)(`div`,{className:H(`text-muted-foreground hover:text-foreground group relative flex h-full cursor-pointer items-center gap-2 border-t-2 border-transparent px-3 pb-1 text-sm transition-all`,e.activeTab?.id===e.item.id&&`border-primary bg-card text-foreground`),onClick:()=>{e.setActiveTab(e.item)},onMouseUp:()=>{l.current&&=(clearTimeout(l.current),null),c.current=!1},children:[b,y,e.isOperationLoading(e.item.id)&&(0,d.jsx)(xS,{className:`size-3`}),e.item.readOnly&&(0,d.jsx)(a.LockIcon,{className:`size-3 text-gray-400`}),(0,d.jsx)(a.XIcon,{className:`text-muted-foreground size-3`,onMouseDown:e=>{e.stopPropagation()},onClick:t=>{t.stopPropagation(),e.handleDeleteTab(e.item.id)}})]})}),(0,d.jsx)(`div`,{className:`bg-border mb-px w-px`})]})}),(0,d.jsxs)(sT,{children:[(0,d.jsx)(cT,{onClick:g,children:`Close`}),(0,d.jsx)(cT,{onClick:v,children:`Close other`}),(0,d.jsx)(cT,{onClick:_,children:`Close all`})]})]})},vk=({className:e})=>{let{tabs:t,setTabs:n,activeTab:i,addTab:o,deleteTab:s,operations:c,setActiveTab:l,addOperation:u,setOperations:f,deleteOperation:p,isOperationLoading:m,goToFullScreen:h,exitFullScreen:g,isFullScreen:_}=e_(),v=(0,r.useCallback)(()=>{let e=u({name:``,query:``,variables:``,headers:``,extensions:``}),t=o({type:`operation`,data:e});l(t)},[u,o,l]),y=(0,r.useCallback)(e=>{let n=t.findIndex(t=>t.id===e);if(n===-1)return;let r=t[n];r.type===`operation`&&p(r.data.id),s(r.id),l(n===0?t[1]??null:n>0?t[n-1]??null:t[0]??null)},[t,s,p,l]),b=(0,r.useCallback)(()=>{f([]),n([])},[f,n]),x=(0,r.useCallback)(e=>{let r=t.find(t=>t.id===e);if(r){let i=t.filter(t=>t.id!==e).filter(e=>e.type===`operation`).map(e=>e.data.id);f(c.filter(e=>!i.includes(e.id))),n([r]),l(r)}},[t,f,c,n,l]);return(0,d.jsxs)(`div`,{className:H(`relative z-10 grid size-full grid-cols-[1fr_auto] overflow-hidden`,e),children:[(0,d.jsx)(`div`,{className:`bg-border absolute bottom-0 left-0 -z-10 h-px w-full`}),(0,d.jsx)(`div`,{className:`overflow-hidden`,children:(0,d.jsxs)(Zg,{className:`size-full whitespace-nowrap`,children:[(0,d.jsxs)(`div`,{className:`flex items-stretch`,children:[(0,d.jsxs)(ck,{value:t,onValueChange:n,getItemValue:e=>e.id,orientation:`horizontal`,children:[(0,d.jsx)(uk,{className:`flex w-max items-stretch`,children:t.map(e=>(0,d.jsx)(d.Fragment,{children:(0,d.jsx)(_k,{item:e,activeTab:i,setActiveTab:l,isOperationLoading:m,handleDeleteTab:y,handleDeleteAllTabs:b,handleDeleteOtherTabs:x},e.id)}))}),(0,d.jsx)(hk,{children:e=>{let n=t.find(t=>t.id===e.value);return n?(0,d.jsx)(_k,{item:n,activeTab:i,setActiveTab:l,isOperationLoading:m,handleDeleteTab:y,isOverlay:!0,handleDeleteAllTabs:b,handleDeleteOtherTabs:x}):null}})]}),(0,d.jsx)(`div`,{className:`group ml-2 flex h-12 items-center border-b-2 border-transparent`,children:(0,d.jsxs)(W,{variant:`ghost`,size:`sm`,className:`text-primary hover:text-primary`,onClick:v,children:[(0,d.jsx)(a.CirclePlus,{className:`size-4`}),`Add operation`]})})]}),(0,d.jsx)(Qg,{orientation:`horizontal`})]})}),(0,d.jsx)(`div`,{className:`group flex h-12 items-center border-l px-2`,children:_?(0,d.jsxs)(eh,{children:[(0,d.jsx)(th,{children:(0,d.jsx)(W,{variant:`ghost`,size:`sm`,onClick:g,children:(0,d.jsx)(a.MinimizeIcon,{className:`size-4`})})}),(0,d.jsx)(nh,{side:`bottom`,children:`Exit full screen`})]}):(0,d.jsxs)(eh,{children:[(0,d.jsx)(th,{children:(0,d.jsx)(W,{variant:`ghost`,size:`sm`,onClick:h,children:(0,d.jsx)(a.MaximizeIcon,{className:`size-4`})})}),(0,d.jsx)(nh,{side:`bottom`,children:`Go to full screen`})]})})]})};var yk=e=>{let t=(0,r.useRef)(null),[n,a]=(0,r.useState)(null);return(0,r.useLayoutEffect)(()=>{!t.current||n||a(t.current.attachShadow({mode:`open`}))},[n]),(0,r.useLayoutEffect)(()=>{n&&document.head.querySelectorAll(`style`).forEach(e=>{e.textContent?.includes(`[data-sonner-toaster]`)&&n.append(e.cloneNode(!0))})},[n]),(0,d.jsx)(`div`,{ref:t,className:`hive-laboratory-host size-full`,children:n?(0,i.createPortal)(e.children,n):null})},bk=o.object({name:o.string().min(1,`Name is required`)}),xk=o.object({endpoint:o.string().min(1,`Endpoint is required`)}),Sk=o.object({name:o.string().min(1,`Name is required`)}),Ck=e=>{let t=(0,s.useForm)({defaultValues:{value:e.defaultValue||null},validators:{onSubmit:o.object({value:o.string().min(1,`Value is required`).nullable()})},onSubmit:({value:n})=>{e.onSubmit?.(n.value||null),e.onOpenChange(!1),t.reset()}});return(0,d.jsx)(Za,{open:e.open,onOpenChange:n=>{t.state.isSubmitted||t.handleSubmit(),e.onOpenChange(n)},children:(0,d.jsxs)(no,{children:[(0,d.jsx)(ro,{children:(0,d.jsx)(ao,{children:`Preflight prompt`})}),(0,d.jsx)(oo,{children:`Enter values for the preflight script.`}),(0,d.jsx)(`form`,{id:`preflight-prompt-form`,onSubmit:e=>{e.preventDefault(),t.handleSubmit()},children:(0,d.jsx)(df,{children:(0,d.jsx)(t.Field,{name:`value`,children:t=>{let n=t.state.meta.isTouched&&!t.state.meta.isValid;return(0,d.jsxs)(pf,{"data-invalid":n,children:[(0,d.jsx)(gf,{id:t.name,name:t.name,value:t.state.value||``,onBlur:t.handleBlur,onChange:e=>t.handleChange(e.target.value),"aria-invalid":n,placeholder:e.placeholder,autoComplete:`off`}),n&&(0,d.jsx)(hf,{errors:t.state.meta.errors})]})}})})}),(0,d.jsx)(io,{children:(0,d.jsx)(W,{type:`submit`,form:`preflight-prompt-form`,onClick:()=>{t.handleSubmit()},children:`Submit`})})]})})},wk=()=>{let{activeTab:e,addOperation:t,collections:n,addTab:i,setActiveTab:o,preflight:s,tabs:c,env:l,plugins:u,pluginsState:f,setPluginsState:p}=e_(),m=e_(),[h,g]=(0,r.useState)(n.length>0?`collections`:null),[_,v]=(0,r.useState)(!1),y=(0,r.useMemo)(()=>{switch(e?.type){case`operation`:return(0,d.jsx)(Yw,{});case`preflight`:return(0,d.jsx)(Zw,{});case`env`:return(0,d.jsx)(Ib,{});case`history`:return(0,d.jsx)(Xw,{});case`settings`:return(0,d.jsx)(iT,{});default:{let n=null,r=null;for(let t of u)for(let i of t.tabs??[])if(i.type===e?.type){r=i,n=t.id;break}return r&&n?r.component(e,m,f[n]??{},e=>p({...f,[n]:e})):(0,d.jsxs)(Zd,{className:`px-0! w-full`,children:[(0,d.jsxs)(Qd,{children:[(0,d.jsx)(ef,{variant:`icon`,children:(0,d.jsx)(a.FileIcon,{className:`text-muted-foreground size-6`})}),(0,d.jsx)(tf,{children:`No operation selected`}),(0,d.jsx)(nf,{children:`You haven't selected any operation yet. Get started by selecting an operation or add a new one.`})]}),(0,d.jsx)(rf,{children:(0,d.jsx)(W,{size:`sm`,onClick:()=>{let e=t({name:``,query:``,variables:``,headers:``,extensions:``}),n=i({type:`operation`,data:e});o(n)},children:`Add operation`})})]})}}},[e?.type,t,i,o]);return(0,d.jsxs)(`div`,{className:`flex size-full`,children:[(0,d.jsx)(lv,{open:_,onOpenChange:v}),(0,d.jsxs)(`div`,{className:`flex h-full w-12 flex-col`,children:[(0,d.jsxs)(eh,{children:[(0,d.jsx)(th,{asChild:!0,children:(0,d.jsx)(`div`,{className:H(`relative z-10 flex aspect-square h-12 w-full items-center justify-center border-l-2 border-transparent`,{"border-primary":h===`collections`}),children:(0,d.jsx)(W,{variant:`ghost`,size:`icon`,onClick:()=>g(h===`collections`?null:`collections`),className:H(`text-muted-foreground hover:text-foreground`,{"text-foreground":h===`collections`}),children:(0,d.jsx)(a.FoldersIcon,{className:`size-5`})})})}),(0,d.jsx)(nh,{side:`right`,children:`Collections`})]}),(0,d.jsxs)(eh,{children:[(0,d.jsx)(th,{asChild:!0,children:(0,d.jsx)(`div`,{className:H(`relative z-10 flex aspect-square h-12 w-full items-center justify-center border-l-2 border-transparent`,{"border-primary":h===`history`}),children:(0,d.jsx)(W,{variant:`ghost`,size:`icon`,onClick:()=>g(h===`history`?null:`history`),className:H(`text-muted-foreground hover:text-foreground`,{"text-foreground":h===`history`}),children:(0,d.jsx)(a.HistoryIcon,{className:`size-5`})})})}),(0,d.jsx)(nh,{side:`right`,children:`History`})]}),(0,d.jsx)(`div`,{className:H(`relative z-10 mt-auto flex aspect-square h-12 w-full items-center justify-center border-l-2 border-transparent`,{"border-primary":h===`settings`}),children:(0,d.jsxs)(eh,{children:[(0,d.jsxs)(Wd,{children:[(0,d.jsx)(Gd,{children:(0,d.jsx)(th,{asChild:!0,children:(0,d.jsx)(W,{variant:`ghost`,size:`icon`,onClick:()=>g(h===`history`?null:`history`),className:H(`text-muted-foreground hover:text-foreground`,{"text-foreground":h===`history`}),children:(0,d.jsx)(a.SettingsIcon,{className:`size-5`})})})}),(0,d.jsxs)(Kd,{className:`mb-2 w-56`,align:`start`,side:`right`,children:[(0,d.jsx)(qd,{children:(0,d.jsxs)(Jd,{onSelect:()=>v(!0),children:[`Command Palette...`,(0,d.jsx)(Xd,{children:`⌘J`})]})}),(0,d.jsx)(Yd,{}),(0,d.jsx)(Jd,{onSelect:()=>{let e=c.find(e=>e.type===`env`)??i({type:`env`,data:l??{variables:{}}});o(e)},children:`Environment Variables`}),(0,d.jsx)(Jd,{onSelect:()=>{let e=c.find(e=>e.type===`preflight`)??i({type:`preflight`,data:s??{script:``}});o(e)},children:`Preflight Script`}),(0,d.jsx)(Yd,{}),(0,d.jsx)(Jd,{onSelect:()=>{let e=c.find(e=>e.type===`settings`)??i({type:`settings`,data:{}});o(e)},children:`Settings`})]})]}),(0,d.jsx)(nh,{side:`right`,children:`Settings`})]})})]}),(0,d.jsxs)(am,{direction:`horizontal`,className:`h-full flex-1`,children:[(0,d.jsxs)(om,{minSize:10,defaultSize:17,hidden:!h,className:`border-l`,children:[h===`collections`&&(0,d.jsx)(i_,{}),h===`history`&&(0,d.jsx)(zb,{})]}),(0,d.jsx)(sm,{}),(0,d.jsxs)(om,{minSize:10,defaultSize:83,className:`flex flex-col`,children:[(0,d.jsx)(`div`,{className:`w-full`,children:(0,d.jsx)(vk,{})}),(0,d.jsx)(`div`,{className:`bg-card flex-1 overflow-hidden`,children:y})]})]})]})};const Tk=e=>{let t=(0,r.useCallback)(t=>{let[n,r]=t.split(`:`);return e.permissions?.[n]?.[r]??!0},[e.permissions]),n=Qe(e),i=we(e),a=Xe({...e,envApi:i}),o=Je(e),c=et(e),l=$e(e),u=Ce(e),f=T({...e,tabsApi:l}),h=qe({...e,collectionsApi:f,tabsApi:l,envApi:i,preflightApi:a,settingsApi:n,pluginsApi:o,checkPermissions:t}),g=Te(e),[_,v]=(0,r.useState)(!1),[y,b]=(0,r.useState)(!1),[x,S]=(0,r.useState)(!1),C=(0,r.useCallback)(()=>{v(!0)},[]),w=(0,r.useCallback)(()=>{b(!0)},[]),E=(0,r.useCallback)(()=>{S(!0)},[]),D=(0,s.useForm)({defaultValues:{name:``},validators:{onSubmit:bk},onSubmit:({value:e})=>{f.addCollection({name:e.name}),v(!1)}}),O=(0,s.useForm)({defaultValues:{endpoint:u.endpoint??``},validators:{onSubmit:xk},onSubmit:({value:e})=>{u.setEndpoint(e.endpoint),b(!1)}}),k=(0,s.useForm)({defaultValues:{name:``},validators:{onSubmit:Sk},onSubmit:({value:e})=>{c.addTest({name:e.name}),S(!1)}}),[A,j]=(0,r.useState)(!1),[M,N]=(0,r.useState)({placeholder:``,defaultValue:void 0,onSubmit:void 0}),P=(0,r.useCallback)(e=>{N({placeholder:e.placeholder,defaultValue:e.defaultValue,onSubmit:e.onSubmit}),setTimeout(()=>{j(!0)},200)},[]),F=(0,r.useRef)(null),[I,L]=(0,r.useState)(!1),ee=(0,r.useCallback)(()=>{L(!0)},[]),te=(0,r.useCallback)(()=>{L(!1)},[]);return(0,d.jsxs)(yk,{children:[(0,d.jsx)(`style`,{children:`${p}\n${m}`}),(0,d.jsxs)(`div`,{className:H(`hive-laboratory bg-background size-full`,e.theme,{"fixed inset-0 z-50":I}),ref:F,children:[(0,d.jsx)(cm,{richColors:!0,closeButton:!0,position:`top-right`,theme:e.theme}),(0,d.jsx)(Za,{open:y,onOpenChange:b,children:(0,d.jsxs)(no,{className:`sm:max-w-[425px]`,children:[(0,d.jsxs)(ro,{children:[(0,d.jsx)(ao,{children:`Update endpoint`}),(0,d.jsx)(oo,{children:`Update the endpoint of your laboratory.`})]}),(0,d.jsx)(`div`,{className:`grid gap-4`,children:(0,d.jsx)(`form`,{id:`update-endpoint-form`,onSubmit:e=>{e.preventDefault(),O.handleSubmit()},children:(0,d.jsx)(df,{children:(0,d.jsx)(O.Field,{name:`endpoint`,children:e=>{let t=e.state.meta.isTouched&&!e.state.meta.isValid;return(0,d.jsx)(gf,{id:e.name,name:e.name,value:e.state.value,onBlur:e.handleBlur,onChange:t=>e.handleChange(t.target.value),"aria-invalid":t,placeholder:`Enter endpoint`,autoComplete:`off`})}})})})}),(0,d.jsxs)(io,{children:[(0,d.jsx)(eo,{asChild:!0,children:(0,d.jsx)(W,{variant:`outline`,children:`Cancel`})}),(0,d.jsx)(W,{type:`submit`,form:`update-endpoint-form`,children:`Update endpoint`})]})]})}),(0,d.jsx)(Ck,{open:A,onOpenChange:j,...M}),(0,d.jsx)(Za,{open:_,onOpenChange:v,children:(0,d.jsxs)(no,{className:`sm:max-w-[425px]`,children:[(0,d.jsxs)(ro,{children:[(0,d.jsx)(ao,{children:`Add collection`}),(0,d.jsx)(oo,{children:`Add a new collection of operations to your laboratory.`})]}),(0,d.jsx)(`div`,{className:`grid gap-4`,children:(0,d.jsx)(`form`,{id:`add-collection-form`,onSubmit:e=>{e.preventDefault(),D.handleSubmit()},children:(0,d.jsx)(df,{children:(0,d.jsx)(D.Field,{name:`name`,children:e=>{let t=e.state.meta.isTouched&&!e.state.meta.isValid;return(0,d.jsxs)(pf,{"data-invalid":t,children:[(0,d.jsx)(mf,{htmlFor:e.name,children:`Name`}),(0,d.jsx)(gf,{id:e.name,name:e.name,value:e.state.value,onBlur:e.handleBlur,onChange:t=>e.handleChange(t.target.value),"aria-invalid":t,placeholder:`Enter name of the collection`,autoComplete:`off`}),t&&(0,d.jsx)(hf,{errors:e.state.meta.errors})]})}})})})}),(0,d.jsxs)(io,{children:[(0,d.jsx)(eo,{asChild:!0,children:(0,d.jsx)(W,{variant:`outline`,children:`Cancel`})}),(0,d.jsx)(W,{type:`submit`,form:`add-collection-form`,children:`Add collection`})]})]})}),(0,d.jsx)(Za,{open:x,onOpenChange:S,children:(0,d.jsxs)(no,{className:`sm:max-w-[425px]`,children:[(0,d.jsxs)(ro,{children:[(0,d.jsx)(ao,{children:`Add test`}),(0,d.jsx)(oo,{children:`Add a new test to your laboratory.`})]}),(0,d.jsx)(`div`,{className:`grid gap-4`,children:(0,d.jsx)(`form`,{id:`add-test-form`,onSubmit:e=>{e.preventDefault(),k.handleSubmit()},children:(0,d.jsx)(df,{children:(0,d.jsx)(k.Field,{name:`name`,children:e=>{let t=e.state.meta.isTouched&&!e.state.meta.isValid;return(0,d.jsxs)(pf,{"data-invalid":t,children:[(0,d.jsx)(mf,{htmlFor:e.name,children:`Name`}),(0,d.jsx)(gf,{id:e.name,name:e.name,value:e.state.value,onBlur:e.handleBlur,onChange:t=>e.handleChange(t.target.value),"aria-invalid":t,placeholder:`Enter name of the test`,autoComplete:`off`}),t&&(0,d.jsx)(hf,{errors:e.state.meta.errors})]})}})})})}),(0,d.jsxs)(io,{children:[(0,d.jsx)(eo,{asChild:!0,children:(0,d.jsx)(W,{variant:`outline`,children:`Cancel`})}),(0,d.jsx)(W,{type:`submit`,form:`add-test-form`,children:`Add test`})]})]})}),(0,d.jsx)(t_,{...e,...c,...n,...o,...i,...a,...l,...u,...f,...h,...g,container:F.current,openAddCollectionDialog:C,openUpdateEndpointDialog:w,openAddTestDialog:E,openPreflightPromptModal:P,goToFullScreen:ee,exitFullScreen:te,isFullScreen:I,checkPermissions:t,children:(0,d.jsx)(wk,{})})]})]})},Ek=e=>{let t=`hive-laboratory`,r=e=>{let n=localStorage.getItem(`${t}:${e}`);return n?JSON.parse(n):null},i=(e,n)=>{localStorage.setItem(`${t}:${e}`,JSON.stringify(n))};if(!e)throw Error(`Laboratory element not found`);return n.default.createRoot(e).render((0,d.jsx)(Tk,{theme:`dark`,defaultEndpoint:r(`endpoint`)??window.location.origin+window.location.pathname,onEndpointChange:e=>{i(`endpoint`,e??``)},defaultCollections:r(`collections`)??[],onCollectionsChange:e=>{i(`collections`,e)},defaultTabs:r(`tabs`)??[],onTabsChange:e=>{i(`tabs`,e)},defaultOperations:r(`operations`)??[],onOperationsChange:e=>{i(`operations`,e)},defaultActiveTabId:r(`activeTabId`)??null,onActiveTabIdChange:e=>{i(`activeTabId`,e??``)},defaultPreflight:r(`preflight`)??null,onPreflightChange:e=>{i(`preflight`,e??``)},defaultEnv:r(`env`)??null,onEnvChange:e=>{i(`env`,e??``)},defaultSettings:r(`settings`)??null,onSettingsChange:e=>{i(`settings`,e??``)},defaultHistory:r(`history`)??[],onHistoryChange:e=>{i(`history`,e)}}))};exports.Dialog=Za,exports.DialogClose=eo,exports.DialogContent=no,exports.DialogDescription=oo,exports.DialogFooter=io,exports.DialogHeader=ro,exports.DialogOverlay=to,exports.DialogPortal=$a,exports.DialogTitle=ao,exports.DialogTrigger=Qa,exports.Editor=Fb,exports.Laboratory=Tk,exports.LaboratoryProvider=t_,exports.Tabs=VS,exports.TabsContent=WS,exports.TabsList=HS,exports.TabsTrigger=US,exports.renderLaboratory=Ek,exports.runIsolatedLabScript=Ze,exports.useCollections=T,exports.useEndpoint=Ce,exports.useEnv=we,exports.useHistory=Te,exports.useLaboratory=e_,exports.useOperations=qe,exports.usePlugins=Je,exports.usePreflight=Xe,exports.useSettings=Qe,exports.useTabs=$e,exports.useTests=et;