From a26410532aecde713618ba7cf0a5d483bd7fd119 Mon Sep 17 00:00:00 2001 From: Eric Date: Mon, 17 Aug 2026 10:43:50 +0200 Subject: [PATCH 1/3] Add bidirectional sync: object transform, geometry creation, material edit Lets the frontend edit the scene and have it mirrored to the backend's live COMPAS objects instead of only receiving updates: - object_transform: gizmo drag/rotate on a picked object mutates the same live backend geometry in place via Transformation.from_matrix + .transform(), so anything else still mutating it (e.g. an App.loop callback) continues from the new position instead of snapping back. - create_geometry: toolbar "Add" action constructs a real Box/Sphere/Point on the backend and broadcasts it through the existing add_geometry pipeline. - material_edit: toolbar color/metalness/roughness controls mutate the live Material instance via the existing update_material path, so they can't drift out of sync with script-authored material changes. Requires the paired compas_threejs_ts frontend changes (synced build included in src/compas_threejs/viewer/frontend/). Co-Authored-By: Claude Sonnet 5 --- src/compas_threejs/viewer/app.py | 2 +- .../frontend/assets/InterVariable.woff2 | Bin 0 -> 352240 bytes .../viewer/frontend/assets/index.css | 2 +- .../viewer/frontend/assets/index.js | 66 ++++----- src/compas_threejs/viewer/frontend/index.html | 2 - .../frontend/licenses/Inter-LICENSE.txt | 92 ++++++++++++ src/compas_threejs/viewer/inbox.py | 131 +++++++++++++++++- src/compas_threejs/viewer/workspace.py | 1 + 8 files changed, 258 insertions(+), 38 deletions(-) create mode 100644 src/compas_threejs/viewer/frontend/assets/InterVariable.woff2 create mode 100644 src/compas_threejs/viewer/frontend/licenses/Inter-LICENSE.txt diff --git a/src/compas_threejs/viewer/app.py b/src/compas_threejs/viewer/app.py index d7e95c6..1c3b1a3 100644 --- a/src/compas_threejs/viewer/app.py +++ b/src/compas_threejs/viewer/app.py @@ -99,7 +99,7 @@ def __init__(self, host: str = "127.0.0.1", websocket_port: int = 9001, frontend self.server = AppServer(frontend_dir=frontend_dir) self.outbox = Outbox(self.server) - self.inbox = Inbox() + self.inbox = Inbox(self) # Setter Attributes self._loop_interval = 0.01 diff --git a/src/compas_threejs/viewer/frontend/assets/InterVariable.woff2 b/src/compas_threejs/viewer/frontend/assets/InterVariable.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..5a8d3e72ad7ffb62af3b146e1b1f54ab5813a212 GIT binary patch literal 352240 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 z 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 z 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 literal 0 HcmV?d00001 diff --git a/src/compas_threejs/viewer/frontend/assets/index.css b/src/compas_threejs/viewer/frontend/assets/index.css index af16ca7..d9c606d 100644 --- a/src/compas_threejs/viewer/frontend/assets/index.css +++ b/src/compas_threejs/viewer/frontend/assets/index.css @@ -1,2 +1,2 @@ /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */ -@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-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:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-sm:calc(var(--radius) - 4px);--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)}}@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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}html,body{margin:0;padding:0;overflow:hidden}body{background-color:var(--background);color:var(--foreground);font-family:Inter,sans-serif}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-1\/2{top:50%}.right-0{right:0}.right-2{right:calc(var(--spacing) * 2)}.left-0{left:0}.z-50{z-index:50}.z-1000{z-index:1000}.z-\[4000\]{z-index:4000}.z-\[4100\]{z-index:4100}.z-\[5000\]{z-index:5000}.col-span-2{grid-column:span 2/span 2}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.my-1{margin-block:var(--spacing)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.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)}.h-\(--reka-select-trigger-height\){height:var(--reka-select-trigger-height)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-full{height:100%}.h-px{height:1px}.max-h-96{max-height:calc(var(--spacing) * 96)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-8{width:calc(var(--spacing) * 8)}.w-72{width:calc(var(--spacing) * 72)}.w-84{width:calc(var(--spacing) * 84)}.w-\[80\%\]{width:80%}.w-fit{width:fit-content}.w-full{width:100%}.min-w-\(--reka-select-trigger-width\){min-width:var(--reka-select-trigger-width)}.min-w-0{min-width:0}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-32{min-width:calc(var(--spacing) * 32)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.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)}.cursor-default{cursor:default}.touch-none{touch-action:none}.resize{resize:both}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.place-content-center{place-content:center}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.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-5{gap:calc(var(--spacing) * 5)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:2147483647px}.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)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-input{border-color:var(--input)}.border-primary{border-color:var(--primary)}.bg-background{background-color:var(--background)}.bg-destructive{background-color:var(--destructive)}.bg-muted{background-color:var(--muted)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-secondary-foreground{background-color:var(--secondary-foreground)}.bg-transparent{background-color:#0000}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-5{padding:calc(var(--spacing) * 5)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pl-2{padding-left:calc(var(--spacing) * 2)}.text-center{text-align:center}.text-start{text-align:start}.font-sans{font-family:var(--font-sans)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-current{color:currentColor}.text-foreground{color:var(--foreground)}.text-input{color:var(--input)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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-ring\/50{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.ring-ring\/50{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,color\,box-shadow\]{transition-property:background-color,color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-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))}.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}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:ring-4:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-1:focus{--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\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.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-4:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\: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-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-20:disabled{opacity:.2}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[orientation\=horizontal\]\:h-1\.5[data-orientation=horizontal]{height:calc(var(--spacing) * 1.5)}.data-\[orientation\=horizontal\]\:h-full[data-orientation=horizontal]{height:100%}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:min-h-44[data-orientation=vertical]{min-height:calc(var(--spacing) * 44)}.data-\[orientation\=vertical\]\:w-1\.5[data-orientation=vertical]{width:calc(var(--spacing) * 1.5)}.data-\[orientation\=vertical\]\:w-auto[data-orientation=vertical]{width:auto}.data-\[orientation\=vertical\]\:w-full[data-orientation=vertical]{width:100%}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical]{flex-direction:column}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--spacing);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:var(--spacing);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-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\: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\=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\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 60%, transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}@media (hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\\\'size-\\\'\]\)\]\:size-3 svg:not([class*="'size-'"]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&\>\[data-slot\=input\]\]\:has-\[\[data-slot\=decrement\]\]\:pl-5>[data-slot=input]:has([data-slot=decrement]){padding-left:calc(var(--spacing) * 5)}.\[\&\>\[data-slot\=input\]\]\:has-\[\[data-slot\=increment\]\]\:pr-5>[data-slot=input]:has([data-slot=increment]){padding-right:calc(var(--spacing) * 5)}.\[\&\>span\]\:truncate>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}[data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/20{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){[data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/20{background-color:color-mix(in oklab, var(--background) 20%, transparent)}}[data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:text-background{color:var(--background)}[data-slot=tooltip-content] .dark\:\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/10:is(.dark *){background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){[data-slot=tooltip-content] .dark\:\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/10:is(.dark *){background-color:color-mix(in oklab, var(--background) 10%, transparent)}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0/.88);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0/.92);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0/.72);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0);--button-hover:oklch(100% 0 0/0);--toolbar-button-hover-shadow:3px 3px 10px 0px var(--foreground)}@supports (color:color-mix(in lab, red, red)){:root{--toolbar-button-hover-shadow:3px 3px 10px 0px color-mix(in oklab, var(--foreground) 30%, transparent)}}:root{--toolbar-button-active-shadow:3px 3px 2px 1px var(--foreground) inset, -3px -3px 2px 2px var(--background) inset}@supports (color:color-mix(in lab, red, red)){:root{--toolbar-button-active-shadow:3px 3px 2px 1px color-mix(in oklab, var(--foreground) 55%, transparent) inset, -3px -3px 2px 2px color-mix(in oklab, var(--background) 70%, transparent) inset}}:root{font-feature-settings:"liga" 1, "calt" 1;--theme-bg-start:#ffffff1f;--theme-bg-end:#ffffff24;--theme-border-color:#ffffff24;--theme-box-shadow:0 6px 20px #0000001f, inset 2px 2px 6px #fff9, inset -2px -2px 6px #0000000a;--theme-inset-highlight:#fff9;--theme-inset-shadow:#0000000a;font-family:Inter,sans-serif}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0/.88);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0/.92);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0/.72);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0);--theme-bg-start:#1118271f;--theme-bg-end:#1118272e;--theme-border-color:#ffffff1f;--theme-box-shadow:0 6px 22px 0 #00000047, inset 0 0 8px #ffffff0f;--toolbar-button-hover-shadow:3px 3px 10px 0px var(--foreground)}@supports (color:color-mix(in lab, red, red)){.dark{--toolbar-button-hover-shadow:3px 3px 10px 0px color-mix(in oklab, var(--foreground) 40%, transparent)}}.dark{--toolbar-button-active-shadow:3px 3px 2px 1px var(--foreground) inset, -2px -2px 2px 1px var(--background) inset}@supports (color:color-mix(in lab, red, red)){.dark{--toolbar-button-active-shadow:3px 3px 2px 1px color-mix(in oklab, var(--foreground) 70%, transparent) inset, -2px -2px 2px 1px color-mix(in oklab, var(--background) 40%, transparent) inset}}@supports (font-variation-settings:normal){:root{font-family:InterVariable,sans-serif}}div#app{margin:0;padding:0}.theme{background:linear-gradient(135deg, var(--theme-bg-start) 0%, var(--theme-bg-end) 100%);-webkit-backdrop-filter:blur(25px)saturate(180%);backdrop-filter:blur(25px)saturate(180%);border:1px solid var(--theme-border-color);box-shadow:var(--theme-box-shadow)}*{scrollbar-width:thin;scrollbar-color:#888 transparent}.text-tag{color:var(--popover-foreground);background:var(--popover);border:1px solid var(--border);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;padding:2px 6px;font-family:Inter,sans-serif;font-size:12px}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";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:"";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:"";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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@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))}}div.right-bar[data-v-2390ba1f]{pointer-events:none;flex-direction:column;width:30vw;min-width:250px;max-width:300px;height:100%;padding:20px;display:flex;position:absolute;top:0;right:0}div.object-info[data-v-2390ba1f]{z-index:1000;max-width:400px;height:100%;color:var(--foreground);pointer-events:auto;border-radius:10px;flex-direction:column;margin:0;padding:20px;transition:transform .4s cubic-bezier(.4,0,.2,1);display:flex;right:0%}div.is-hidden[data-v-2390ba1f]{pointer-events:none;transform:translate(150%)}div#data-container[data-v-2390ba1f]{flex-direction:column;gap:30px;display:flex;position:relative;overflow-y:auto}div.item[data-v-2390ba1f]{align-items:left;flex-direction:column;display:flex}h1.section-title[data-v-2390ba1f]{color:var(--foreground);background:color-mix(in oklab, var(--background) 25%, transparent);-webkit-backdrop-filter:blur(10px);box-shadow:1px 1px 3px 0px color-mix(in oklab, var(--foreground) 35%, transparent) inset, -1px -1px 3px 0px color-mix(in oklab, var(--background) 70%, transparent) inset;border-radius:10px;margin-bottom:10px;padding:5px 5px 5px 10px}div.data-entry[data-v-2390ba1f]{margin-bottom:8px;padding:0 0 0 10px}Button#closeObjectBar[data-v-2390ba1f]{align-self:flex-end;margin-top:auto;position:relative}Button#openObjectBar[data-v-2390ba1f]{z-index:1;visibility:hidden;pointer-events:auto;transition:visibility 1s;display:flex;position:absolute;bottom:40px;right:40px}Button#openObjectBar.is-hidden[data-v-2390ba1f]{opacity:1;visibility:visible}.save-view-icon[data-v-c0eebdad]{justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex;position:relative}.save-view-overlay[data-v-c0eebdad]{background:color-mix(in srgb, var(--secondary-foreground) 92%, white);width:11px;height:11px;color:var(--secondary);border:1px solid color-mix(in srgb, var(--secondary) 65%, white);border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;bottom:-2px;right:-4px;overflow:hidden}.save-view-overlay-icon[data-v-c0eebdad]{stroke-width:5px;width:5px;min-width:5px;height:5px;min-height:5px;display:inline-flex;transform:translateY(-.1px)}.saved-view-delete-pressed[data-v-1562f39a]{color:#fff;background:color-mix(in srgb, var(--destructive) 85%, black);box-shadow:inset 2px 2px 2px #00000059,inset -1px -1px 1px #fff3}select option[data-v-1562f39a]{background:var(--secondary);color:var(--secondary-foreground)}.error-pill[data-v-ed1ef026]{width:16px;height:16px;color:var(--destructive-foreground,#fff);background:color-mix(in srgb, var(--destructive) 80%, transparent);cursor:default;-webkit-user-select:none;user-select:none;border-radius:9999px;justify-content:center;align-items:center;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.themed-number[data-v-ed1ef026]{color:var(--foreground);caret-color:var(--foreground);accent-color:var(--foreground);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.dark .themed-number[data-v-ed1ef026]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.themed-number[data-v-ed1ef026]::-webkit-inner-spin-button{color:inherit}.themed-number[data-v-ed1ef026]::-webkit-outer-spin-button{color:inherit}.toolbar[data-v-7f20b0a6]{z-index:1001;pointer-events:auto;border-radius:10px;flex-direction:column;gap:12px;width:100%;height:auto;margin:0;padding:12px;display:flex;position:relative}[data-v-7f20b0a6] .toolbar-group{grid-auto-columns:max-content;grid-auto-flow:column;gap:6px;padding-right:6px;display:grid}[data-v-7f20b0a6] .button-icon{transform-origin:50%;justify-content:center;align-items:center;line-height:1;display:inline-flex}[data-v-7f20b0a6] .button-icon.front-icon{transform:scale(.75)}[data-v-7f20b0a6] .display-tools-wrapper{display:contents}[data-v-7f20b0a6] Button:hover{box-shadow:var(--toolbar-button-hover-shadow)}[data-v-7f20b0a6] Button.active{box-shadow:var(--toolbar-button-active-shadow)}h1[data-v-7f20b0a6]{color:var(--foreground)}div#openbar[data-v-a83066fb]{z-index:1000;gap:15px;align-items:left;pointer-events:auto;will-change:transform;border-radius:10px;flex-direction:column;width:100%;height:100%;margin:0;padding:20px;transition:transform .4s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow-y:auto}div#openbar.is-hidden[data-v-a83066fb]{pointer-events:none;transform:translate(-150%)}.slider-container[data-v-a83066fb]{align-items:center;gap:10px;display:flex}.dynamic-item[data-v-a83066fb]{align-items:left;flex-direction:column;gap:8px;width:100%;display:flex}.dynamic-label[data-v-a83066fb]{color:var(--foreground);padding:0;font-size:15px;font-weight:500}.slider-value[data-v-a83066fb]{color:var(--foreground)}.checkbox-ui-component[data-v-a83066fb]{align-items:center;gap:8px;display:flex}.select-container[data-v-a83066fb]{align-items:center;width:100%;display:flex}Button.mb-4[data-v-a83066fb]{margin:auto 0 0;position:relative}Button.mb-5[data-v-a83066fb]{z-index:1;opacity:0;visibility:hidden;margin:0;transition:visibility 1s;display:flex;position:absolute;bottom:40px;left:40px}Button.mb-5.is-hidden[data-v-a83066fb]{opacity:1;visibility:visible}div#sidebar[data-v-1cbddba3]{z-index:1000;pointer-events:none;flex-direction:column;row-gap:30px;width:30vw;min-width:250px;max-width:300px;height:100%;padding:20px;display:flex;position:absolute;top:0;left:0}[data-v-1cbddba3] .toolbar,[data-v-1cbddba3] #openbar{pointer-events:auto}.theme-indicator[data-v-ebb8d4d4]{z-index:1105;pointer-events:none;background:color-mix(in oklab, var(--background) 78%, transparent);border:1px solid color-mix(in oklab, var(--foreground) 14%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:9999px;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .4s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:18px;right:18px;box-shadow:0 10px 28px #0000002e}.dark .theme-indicator[data-v-ebb8d4d4]{border-color:color-mix(in oklab, var(--foreground) 14%, transparent);background:oklch(26.9% 0 0);box-shadow:0 8px 24px #00000080,inset 0 0 10px #ffffff0f}.theme-indicator-icon[data-v-ebb8d4d4]{width:20px;height:20px;color:var(--foreground)}.theme-indicator-enter-active[data-v-ebb8d4d4],.theme-indicator-leave-active[data-v-ebb8d4d4]{transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .4s cubic-bezier(.4,0,.2,1)}.theme-indicator-enter-from[data-v-ebb8d4d4],.theme-indicator-leave-to[data-v-ebb8d4d4]{opacity:0;transform:translate(150%)}.theme-indicator-enter-to[data-v-ebb8d4d4],.theme-indicator-leave-from[data-v-ebb8d4d4]{opacity:1;transform:translate(0)}div.app-container[data-v-dc8ca966]{width:100%;height:100%;margin:0;padding:0;display:inline-flex;position:relative;overflow:hidden}div.three-container[data-v-dc8ca966]{flex:1;position:relative;overflow:hidden} +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-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:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-sm:calc(var(--radius) - 4px);--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)}}@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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}html,body{margin:0;padding:0;overflow:hidden}body{background-color:var(--background);color:var(--foreground);font-family:Inter,sans-serif}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.top-1\/2{top:50%}.right-0{right:0}.right-2{right:calc(var(--spacing) * 2)}.left-0{left:0}.z-50{z-index:50}.z-1000{z-index:1000}.z-\[4000\]{z-index:4000}.z-\[4100\]{z-index:4100}.z-\[5000\]{z-index:5000}.col-span-2{grid-column:span 2/span 2}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.my-1{margin-block:var(--spacing)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.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)}.h-\(--reka-select-trigger-height\){height:var(--reka-select-trigger-height)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-full{height:100%}.h-px{height:1px}.max-h-96{max-height:calc(var(--spacing) * 96)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-8{width:calc(var(--spacing) * 8)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-84{width:calc(var(--spacing) * 84)}.w-\[80\%\]{width:80%}.w-fit{width:fit-content}.w-full{width:100%}.min-w-\(--reka-select-trigger-width\){min-width:var(--reka-select-trigger-width)}.min-w-0{min-width:0}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-32{min-width:calc(var(--spacing) * 32)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.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)}.cursor-default{cursor:default}.touch-none{touch-action:none}.resize{resize:both}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.place-content-center{place-content:center}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.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-5{gap:calc(var(--spacing) * 5)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:2147483647px}.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)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-input{border-color:var(--input)}.border-primary{border-color:var(--primary)}.bg-background{background-color:var(--background)}.bg-destructive{background-color:var(--destructive)}.bg-muted{background-color:var(--muted)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-secondary-foreground{background-color:var(--secondary-foreground)}.bg-transparent{background-color:#0000}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-5{padding:calc(var(--spacing) * 5)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pl-2{padding-left:calc(var(--spacing) * 2)}.text-center{text-align:center}.text-start{text-align:start}.font-sans{font-family:var(--font-sans)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-current{color:currentColor}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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-ring\/50{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.ring-ring\/50{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,color\,box-shadow\]{transition-property:background-color,color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-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))}.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}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:ring-4:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-1:focus{--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\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.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-4:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\: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-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-20:disabled{opacity:.2}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[orientation\=horizontal\]\:h-1\.5[data-orientation=horizontal]{height:calc(var(--spacing) * 1.5)}.data-\[orientation\=horizontal\]\:h-full[data-orientation=horizontal]{height:100%}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:min-h-44[data-orientation=vertical]{min-height:calc(var(--spacing) * 44)}.data-\[orientation\=vertical\]\:w-1\.5[data-orientation=vertical]{width:calc(var(--spacing) * 1.5)}.data-\[orientation\=vertical\]\:w-auto[data-orientation=vertical]{width:auto}.data-\[orientation\=vertical\]\:w-full[data-orientation=vertical]{width:100%}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical]{flex-direction:column}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--spacing);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:var(--spacing);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-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\: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\=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\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 60%, transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}@media (hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\\\'size-\\\'\]\)\]\:size-3 svg:not([class*="'size-'"]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&\>\[data-slot\=input\]\]\:has-\[\[data-slot\=decrement\]\]\:pl-5>[data-slot=input]:has([data-slot=decrement]){padding-left:calc(var(--spacing) * 5)}.\[\&\>\[data-slot\=input\]\]\:has-\[\[data-slot\=increment\]\]\:pr-5>[data-slot=input]:has([data-slot=increment]){padding-right:calc(var(--spacing) * 5)}.\[\&\>span\]\:truncate>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}[data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/20{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){[data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/20{background-color:color-mix(in oklab, var(--background) 20%, transparent)}}[data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:text-background{color:var(--background)}[data-slot=tooltip-content] .dark\:\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/10:is(.dark *){background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){[data-slot=tooltip-content] .dark\:\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/10:is(.dark *){background-color:color-mix(in oklab, var(--background) 10%, transparent)}}}@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}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/InterVariable.woff2)format("woff2-variations")}:root{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0/.88);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0/.92);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0/.72);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0);--button-hover:oklch(100% 0 0/0);--toolbar-button-hover-shadow:3px 3px 10px 0px var(--foreground)}@supports (color:color-mix(in lab, red, red)){:root{--toolbar-button-hover-shadow:3px 3px 10px 0px color-mix(in oklab, var(--foreground) 30%, transparent)}}:root{--toolbar-button-active-shadow:3px 3px 2px 1px var(--foreground) inset, -3px -3px 2px 2px var(--background) inset}@supports (color:color-mix(in lab, red, red)){:root{--toolbar-button-active-shadow:3px 3px 2px 1px color-mix(in oklab, var(--foreground) 55%, transparent) inset, -3px -3px 2px 2px color-mix(in oklab, var(--background) 70%, transparent) inset}}:root{font-feature-settings:"liga" 1, "calt" 1;--theme-bg-start:#ffffff1f;--theme-bg-end:#ffffff24;--theme-border-color:#ffffff24;--theme-box-shadow:0 6px 20px #0000001f, inset 2px 2px 6px #fff9, inset -2px -2px 6px #0000000a;--theme-inset-highlight:#fff9;--theme-inset-shadow:#0000000a;font-family:Inter,sans-serif}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0/.88);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0/.92);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0/.72);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0);--theme-bg-start:#1118271f;--theme-bg-end:#1118272e;--theme-border-color:#ffffff1f;--theme-box-shadow:0 6px 22px 0 #00000047, inset 0 0 8px #ffffff0f;--toolbar-button-hover-shadow:3px 3px 10px 0px var(--foreground)}@supports (color:color-mix(in lab, red, red)){.dark{--toolbar-button-hover-shadow:3px 3px 10px 0px color-mix(in oklab, var(--foreground) 40%, transparent)}}.dark{--toolbar-button-active-shadow:3px 3px 2px 1px var(--foreground) inset, -2px -2px 2px 1px var(--background) inset}@supports (color:color-mix(in lab, red, red)){.dark{--toolbar-button-active-shadow:3px 3px 2px 1px color-mix(in oklab, var(--foreground) 70%, transparent) inset, -2px -2px 2px 1px color-mix(in oklab, var(--background) 40%, transparent) inset}}div#app{margin:0;padding:0}.theme{background:linear-gradient(135deg, var(--theme-bg-start) 0%, var(--theme-bg-end) 100%);-webkit-backdrop-filter:blur(25px)saturate(180%);backdrop-filter:blur(25px)saturate(180%);border:1px solid var(--theme-border-color);box-shadow:var(--theme-box-shadow)}*{scrollbar-width:thin;scrollbar-color:#888 transparent}.text-tag{color:var(--popover-foreground);background:var(--popover);border:1px solid var(--border);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;padding:2px 6px;font-family:Inter,sans-serif;font-size:12px}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";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:"";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:"";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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@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))}}div.right-bar[data-v-2390ba1f]{pointer-events:none;flex-direction:column;width:30vw;min-width:250px;max-width:300px;height:100%;padding:20px;display:flex;position:absolute;top:0;right:0}div.object-info[data-v-2390ba1f]{z-index:1000;max-width:400px;height:100%;color:var(--foreground);pointer-events:auto;border-radius:10px;flex-direction:column;margin:0;padding:20px;transition:transform .4s cubic-bezier(.4,0,.2,1);display:flex;right:0%}div.is-hidden[data-v-2390ba1f]{pointer-events:none;transform:translate(150%)}div#data-container[data-v-2390ba1f]{flex-direction:column;gap:30px;display:flex;position:relative;overflow-y:auto}div.item[data-v-2390ba1f]{align-items:left;flex-direction:column;display:flex}h1.section-title[data-v-2390ba1f]{color:var(--foreground);background:color-mix(in oklab, var(--background) 25%, transparent);-webkit-backdrop-filter:blur(10px);box-shadow:1px 1px 3px 0px color-mix(in oklab, var(--foreground) 35%, transparent) inset, -1px -1px 3px 0px color-mix(in oklab, var(--background) 70%, transparent) inset;border-radius:10px;margin-bottom:10px;padding:5px 5px 5px 10px}div.data-entry[data-v-2390ba1f]{margin-bottom:8px;padding:0 0 0 10px}Button#closeObjectBar[data-v-2390ba1f]{align-self:flex-end;margin-top:auto;position:relative}Button#openObjectBar[data-v-2390ba1f]{z-index:1;visibility:hidden;pointer-events:auto;transition:visibility 1s;display:flex;position:absolute;bottom:40px;right:40px}Button#openObjectBar.is-hidden[data-v-2390ba1f]{opacity:1;visibility:visible}.add-object-form[data-v-faffd903]{flex-direction:column;gap:10px;display:flex}.param-grid[data-v-faffd903]{flex-direction:column;gap:6px;display:flex}.param-label[data-v-faffd903]{flex-direction:column;gap:4px;font-size:.8rem;display:flex}.material-form[data-v-062ecf41]{flex-direction:column;gap:12px;display:flex}.param-label[data-v-062ecf41]{flex-direction:column;gap:6px;font-size:.8rem;display:flex}.color-input[data-v-062ecf41]{cursor:pointer;background:0 0;border:none;border-radius:6px;width:100%;height:28px;padding:0}.slider-row[data-v-062ecf41]{align-items:center;gap:8px;display:flex}.slider-value[data-v-062ecf41]{text-align:right;font-variant-numeric:tabular-nums;min-width:2.5em}.save-view-icon[data-v-c0eebdad]{justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex;position:relative}.save-view-overlay[data-v-c0eebdad]{background:color-mix(in srgb, var(--secondary-foreground) 92%, white);width:11px;height:11px;color:var(--secondary);border:1px solid color-mix(in srgb, var(--secondary) 65%, white);border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;bottom:-2px;right:-4px;overflow:hidden}.save-view-overlay-icon[data-v-c0eebdad]{stroke-width:5px;width:5px;min-width:5px;height:5px;min-height:5px;display:inline-flex;transform:translateY(-.1px)}.saved-view-delete-pressed[data-v-1562f39a]{color:#fff;background:color-mix(in srgb, var(--destructive) 85%, black);box-shadow:inset 2px 2px 2px #00000059,inset -1px -1px 1px #fff3}select option[data-v-1562f39a]{background:var(--secondary);color:var(--secondary-foreground)}.error-pill[data-v-ed1ef026]{width:16px;height:16px;color:var(--destructive-foreground,#fff);background:color-mix(in srgb, var(--destructive) 80%, transparent);cursor:default;-webkit-user-select:none;user-select:none;border-radius:9999px;justify-content:center;align-items:center;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.themed-number[data-v-ed1ef026]{color:var(--foreground);caret-color:var(--foreground);accent-color:var(--foreground);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.dark .themed-number[data-v-ed1ef026]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.themed-number[data-v-ed1ef026]::-webkit-inner-spin-button{color:inherit}.themed-number[data-v-ed1ef026]::-webkit-outer-spin-button{color:inherit}.toolbar[data-v-e2902cdd]{z-index:1001;pointer-events:auto;border-radius:10px;flex-direction:column;gap:12px;width:100%;height:auto;margin:0;padding:12px;display:flex;position:relative}[data-v-e2902cdd] .toolbar-group{grid-auto-columns:max-content;grid-auto-flow:column;gap:6px;padding-right:6px;display:grid}[data-v-e2902cdd] .button-icon{transform-origin:50%;justify-content:center;align-items:center;line-height:1;display:inline-flex}[data-v-e2902cdd] .button-icon.front-icon{transform:scale(.75)}[data-v-e2902cdd] .display-tools-wrapper{display:contents}[data-v-e2902cdd] Button:hover{box-shadow:var(--toolbar-button-hover-shadow)}[data-v-e2902cdd] Button.active{box-shadow:var(--toolbar-button-active-shadow)}h1[data-v-e2902cdd]{color:var(--foreground)}div#openbar[data-v-a83066fb]{z-index:1000;gap:15px;align-items:left;pointer-events:auto;will-change:transform;border-radius:10px;flex-direction:column;width:100%;height:100%;margin:0;padding:20px;transition:transform .4s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow-y:auto}div#openbar.is-hidden[data-v-a83066fb]{pointer-events:none;transform:translate(-150%)}.slider-container[data-v-a83066fb]{align-items:center;gap:10px;display:flex}.dynamic-item[data-v-a83066fb]{align-items:left;flex-direction:column;gap:8px;width:100%;display:flex}.dynamic-label[data-v-a83066fb]{color:var(--foreground);padding:0;font-size:15px;font-weight:500}.slider-value[data-v-a83066fb]{color:var(--foreground)}.checkbox-ui-component[data-v-a83066fb]{align-items:center;gap:8px;display:flex}.select-container[data-v-a83066fb]{align-items:center;width:100%;display:flex}Button.mb-4[data-v-a83066fb]{margin:auto 0 0;position:relative}Button.mb-5[data-v-a83066fb]{z-index:1;opacity:0;visibility:hidden;margin:0;transition:visibility 1s;display:flex;position:absolute;bottom:40px;left:40px}Button.mb-5.is-hidden[data-v-a83066fb]{opacity:1;visibility:visible}div#sidebar[data-v-1cbddba3]{z-index:1000;pointer-events:none;flex-direction:column;row-gap:30px;width:30vw;min-width:250px;max-width:300px;height:100%;padding:20px;display:flex;position:absolute;top:0;left:0}[data-v-1cbddba3] .toolbar,[data-v-1cbddba3] #openbar{pointer-events:auto}.theme-indicator[data-v-ebb8d4d4]{z-index:1105;pointer-events:none;background:color-mix(in oklab, var(--background) 78%, transparent);border:1px solid color-mix(in oklab, var(--foreground) 14%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:9999px;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .4s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:18px;right:18px;box-shadow:0 10px 28px #0000002e}.dark .theme-indicator[data-v-ebb8d4d4]{border-color:color-mix(in oklab, var(--foreground) 14%, transparent);background:oklch(26.9% 0 0);box-shadow:0 8px 24px #00000080,inset 0 0 10px #ffffff0f}.theme-indicator-icon[data-v-ebb8d4d4]{width:20px;height:20px;color:var(--foreground)}.theme-indicator-enter-active[data-v-ebb8d4d4],.theme-indicator-leave-active[data-v-ebb8d4d4]{transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .4s cubic-bezier(.4,0,.2,1)}.theme-indicator-enter-from[data-v-ebb8d4d4],.theme-indicator-leave-to[data-v-ebb8d4d4]{opacity:0;transform:translate(150%)}.theme-indicator-enter-to[data-v-ebb8d4d4],.theme-indicator-leave-from[data-v-ebb8d4d4]{opacity:1;transform:translate(0)}.global-spinner-overlay[data-v-1f2a3347]{z-index:9999;background:color-mix(in srgb, var(--background) 25%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:all;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:fixed;inset:0}.global-spinner-icon[data-v-1f2a3347]{color:var(--foreground);animation:1s linear infinite global-spinner-spin-1f2a3347}.global-spinner-official-text[data-v-1f2a3347]{color:var(--foreground);opacity:.7;text-align:center;margin:0;padding:0 24px;font-size:.9rem;font-weight:500}.global-spinner-funny-text[data-v-1f2a3347]{color:var(--foreground);text-align:center;margin:0;padding:0 24px;font-size:2rem;font-weight:700}@keyframes global-spinner-spin-1f2a3347{0%{transform:rotate(0)}to{transform:rotate(360deg)}}div.app-container[data-v-8d82b7cc]{width:100%;height:100%;margin:0;padding:0;display:inline-flex;position:relative;overflow:hidden}div.three-container[data-v-8d82b7cc]{flex:1;position:relative;overflow:hidden} diff --git a/src/compas_threejs/viewer/frontend/assets/index.js b/src/compas_threejs/viewer/frontend/assets/index.js index 4080d78..ac11964 100644 --- a/src/compas_threejs/viewer/frontend/assets/index.js +++ b/src/compas_threejs/viewer/frontend/assets/index.js @@ -3,11 +3,11 @@ var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],en `)&&(bi(e,0)||ui(),e.textContent=t.children)}if(d){if(_||b||!o||f&48){let t=e.tagName.includes(`-`),i=e.namespaceURI.includes(`svg`)?`svg`:e.namespaceURI.includes(`MathML`)?`mathml`:void 0;for(let a in d)if(_&&(a.endsWith(`value`)||a===`indeterminate`)||s(a)&&!O(a)||a[0]===`.`||t&&!O(a)||u&&u.includes(a)){if(_i(e,a,d[a]))continue;r(e,a,null,d[a],i,n)}}else if(d.onClick)r(e,`onClick`,null,d.onClick,void 0,n);else if(f&4&&Zt(d.style))for(let e in d.style)d.style[e]}let x;(x=d&&d.onVnodeBeforeMount)&&As(x,n,t),h&&mr(t,null,n,`beforeMount`),((x=d&&d.onVnodeMounted)||h||l)&&ts(()=>{x&&As(x,n,t),l&&g.enter(e),h&&mr(t,null,n,`mounted`)},i)}return e.nextSibling},m=(e,t,r,o,s,c,u)=>{u||=!!t.dynamicChildren;let d=t.children,p=d.length,m=!1;for(let t=0;t{let{slotScopeIds:c}=t;c&&(i=i?i.concat(c):c);let d=o(e),f=m(a(e),t,d,n,r,i,s);return f&&mi(f)&&f.data===`]`?a(t.anchor=f):(ui(),l(t.anchor=u(`]`),d,f),f)},g=(e,t,r,i,s,l)=>{if(Si(e,t)||ui(),t.el=null,l){let t=_(e);for(;;){let n=a(e);if(n&&n!==t)c(n);else break}}let u=a(e),d=o(e);return c(e),n(null,t,d,u,r,i,pi(d),s),r&&(r.vnode.el=t.el,mo(r,t.el)),u},_=(e,t=`[`,n=`]`)=>{let r=0;for(;e;)if(e=a(e),e&&mi(e)&&(e.data===t&&r++,e.data===n)){if(r===0)return a(e);r--}return e},v=(e,t,n)=>{let r=t.parentNode;r&&r.replaceChild(e,t);let i=n;for(;i;)i.vnode.el===t&&(i.vnode.el=i.subTree.el=e),i=i.parent},y=e=>e.nodeType===1&&e.tagName===`TEMPLATE`;return[d,f]}var gi=new Set([`src`,`srcset`,`href`,`poster`]);function _i(e,t,n){return gi.has(t)?e.getAttribute(t)===(n==null?null:`${n}`):!1}var vi=`data-allow-mismatch`,yi={0:`text`,1:`children`,2:`class`,3:`style`,4:`attribute`};function bi(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(vi);)e=e.parentElement;return xi(e&&e.getAttribute(vi),t)}function xi(e,t){if(e==null)return!1;if(e===``)return!0;{let n=e.split(`,`);return t===0&&n.includes(`children`)?!0:n.includes(yi[t])}}function Si(e,t){return bi(e.parentElement,1)||Ci(e)||wi(t)}function Ci(e){return e.nodeType===1&&xi(e.getAttribute(vi),1)}function wi({props:e}){let t=e&&e[vi];return typeof t==`string`&&xi(t,1)}var Ti=ce().requestIdleCallback||(e=>setTimeout(e,1)),Ei=ce().cancelIdleCallback||(e=>clearTimeout(e)),Di=(e=1e4)=>t=>{let n=Ti(t,{timeout:e});return()=>Ei(n)};function Oi(e){let{top:t,left:n,bottom:r,right:i}=e.getBoundingClientRect(),{innerHeight:a,innerWidth:o}=window;return(t>0&&t0&&r0&&n0&&i(t,n)=>{let r=new IntersectionObserver(e=>{for(let n of e)if(n.isIntersecting){r.disconnect(),t();break}},e);return n(e=>{if(e instanceof Element){if(Oi(e))return t(),r.disconnect(),!1;r.observe(e)}}),()=>r.disconnect()},Ai=e=>t=>{if(e){let n=matchMedia(e);if(n.matches)t();else return n.addEventListener(`change`,t,{once:!0}),()=>n.removeEventListener(`change`,t)}},ji=(e=[])=>(t,n)=>{y(e)&&(e=[e]);let r=!1,i=e=>{r||(r=!0,a(),t(),e.target.dispatchEvent(new e.constructor(e.type,e)))},a=()=>{n(t=>{for(let n of e)t.removeEventListener(n,i)})};return n(t=>{for(let n of e)t.addEventListener(n,i,{once:!0})}),a};function Mi(e,t){if(mi(e)&&e.data===`[`){let n=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(mi(r)){if(r.data===`]`){if(--n===0)break}else r.data===`[`&&n++}r=r.nextSibling}}else t(e)}var Ni=e=>!!e.type.__asyncLoader;function Pi(e){v(e)&&(e={loader:e});let{loader:t,loadingComponent:n,errorComponent:r,delay:i=200,hydrate:a,timeout:o,suspensible:s=!0,onError:c}=e,l=null,u,d=0,f=()=>(d++,l=null,p()),p=()=>{let e;return l||(e=l=t().catch(e=>{if(e=e instanceof Error?e:Error(String(e)),c)return new Promise((t,n)=>{c(e,()=>t(f()),()=>n(e),d+1)});throw e}).then(t=>e!==l&&l?l:(t&&(t.__esModule||t[Symbol.toStringTag]===`Module`)&&(t=t.default),u=t,t)))};return R({name:`AsyncComponentWrapper`,__asyncLoader:p,__asyncHydrate(e,t,n){let r=e.isConnected,i=!1;(t.bu||=[]).push(()=>i=!0);let o=()=>{i||!e.parentNode||r&&!e.isConnected||n()},s=a?()=>{let n=a(o,t=>Mi(e,t));n&&(t.bum||=[]).push(n)}:o;u?s():p().then(()=>!t.isUnmounted&&s())},get __asyncResolved(){return u},setup(){let e=Ps;if(ri(e),u)return()=>Fi(u,e);let t=t=>{l=null,Bn(t,e,13,!r)};if(s&&e.suspense||Vs)return p().then(t=>()=>Fi(t,e)).catch(e=>(t(e),()=>r?U(r,{error:e}):null));let a=F(!1),c=F(),d=F(!!i),f,m;return Qi(()=>{f!=null&&clearTimeout(f),m!=null&&clearTimeout(m)}),i&&(m=setTimeout(()=>{e.isUnmounted||(d.value=!1)},i)),o!=null&&(f=setTimeout(()=>{if(!e.isUnmounted&&!a.value&&!c.value){let e=Error(`Async component timed out after ${o}ms.`);t(e),c.value=e}},o)),p().then(()=>{e.isUnmounted||(a.value=!0,e.parent&&Ii(e.parent.vnode)&&e.parent.update())}).catch(n=>{if(e.isUnmounted){l=null;return}t(n),c.value=n}),()=>{if(a.value&&u)return Fi(u,e);if(c.value&&r)return U(r,{error:c.value});if(n&&!d.value)return Fi(n,e)}}})}function Fi(e,t){let{ref:n,props:r,children:i,ce:a}=t.vnode,o=U(e,r,i);return o.ref=n,o.ce=a,delete t.vnode.ce,o}var Ii=e=>e.type.__isKeepAlive,Li={name:`KeepAlive`,__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){let n=Fs(),r=n.ctx;if(!r.renderer)return()=>{let e=t.default&&t.default();return e&&e.length===1?e[0]:e};let i=new Map,a=new Set,o=null,s=n.suspense,{renderer:{p:c,m:l,um:u,o:{createElement:d}}}=r,f=d(`div`);r.activate=(e,t,n,r,i)=>{let a=e.component;l(e,t,n,0,s),c(a.vnode,e,t,n,a,s,r,e.slotScopeIds,i),No(()=>{a.isDeactivated=!1,a.a&&re(a.a);let t=e.props&&e.props.onVnodeMounted;t&&As(t,a.parent,e)},s)},r.deactivate=e=>{let t=e.component;Uo(t.m),Uo(t.a),l(e,f,null,1,s),No(()=>{t.da&&re(t.da);let n=e.props&&e.props.onVnodeUnmounted;n&&As(n,t.parent,e),t.isDeactivated=!0},s)};function p(e){Ui(e),u(e,n,s,!0)}function m(e){i.forEach((t,n)=>{let r=$s(Ni(t)?t.type.__asyncResolved||{}:t.type);r&&!e(r)&&h(n)})}function h(e){let t=i.get(e);t&&(!o||!gs(t,o))?p(t):o&&Ui(o),i.delete(e),a.delete(e)}Cr(()=>[e.include,e.exclude],([e,t])=>{e&&m(t=>Ri(e,t)),t&&m(e=>!Ri(t,e))},{flush:`post`,deep:!0});let g=null,_=()=>{g!=null&&(Go(n.subTree.type)?No(()=>{i.set(g,Wi(n.subTree))},n.subTree.suspense):i.set(g,Wi(n.subTree)))};return Ji(_),Xi(_),Zi(()=>{i.forEach(e=>{let{subTree:t,suspense:r}=n,i=Wi(t);if(e.type===i.type&&e.key===i.key){Ui(i);let e=i.component.da;e&&No(e,r);return}p(e)})}),()=>{if(g=null,!t.default)return o=null;let n=t.default(),r=n[0];if(n.length>1)return o=null,n;if(!hs(r)||!(r.shapeFlag&4)&&!(r.shapeFlag&128))return o=null,r;let s=Wi(r);if(s.type===os)return o=null,s;let c=s.type,l=$s(Ni(s)?s.type.__asyncResolved||{}:c),{include:u,exclude:d,max:f}=e;if(u&&(!l||!Ri(u,l))||d&&l&&Ri(d,l))return s.shapeFlag&=-257,o=s,r;let p=s.key==null?c:s.key,m=i.get(p);return s.el&&(s=Ss(s),r.shapeFlag&128&&(r.ssContent=s)),g=p,m?(s.el=m.el,s.component=m.component,s.transition&&ei(s,s.transition),s.shapeFlag|=512,a.delete(p),a.add(p)):(a.add(p),f&&a.size>parseInt(f,10)&&h(a.values().next().value)),s.shapeFlag|=256,o=s,Go(r.type)?r:s}}};function Ri(e,t){return p(e)?e.some(e=>Ri(e,t)):y(e)?e.split(`,`).includes(t):_(e)?(e.lastIndex=0,e.test(t)):!1}function zi(e,t){Vi(e,`a`,t)}function Bi(e,t){Vi(e,`da`,t)}function Vi(e,t,n=Ps){let r=e.__wdc||=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()};if(Gi(t,r,n),n){let e=n.parent;for(;e&&e.parent;)Ii(e.parent.vnode)&&Hi(r,t,n,e),e=e.parent}}function Hi(e,t,n,r){let i=Gi(t,e,r,!0);Qi(()=>{u(r[t],i)},n)}function Ui(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function Wi(e){return e.shapeFlag&128?e.ssContent:e}function Gi(e,t,n=Ps,r=!1){if(n){let i=n[e]||(n[e]=[]),a=t.__weh||=(...r)=>{Ze();let i=Rs(n),a=zn(t,n,e,r);return i(),Qe(),a};return r?i.unshift(a):i.push(a),a}}var Ki=e=>(t,n=Ps)=>{(!Vs||e===`sp`)&&Gi(e,(...e)=>t(...e),n)},qi=Ki(`bm`),Ji=Ki(`m`),Yi=Ki(`bu`),Xi=Ki(`u`),Zi=Ki(`bum`),Qi=Ki(`um`),$i=Ki(`sp`),ea=Ki(`rtg`),ta=Ki(`rtc`);function na(e,t=Ps){Gi(`ec`,e,t)}var ra=`components`,ia=`directives`;function aa(e,t){return la(ra,e,!0,t)||e}var oa=Symbol.for(`v-ndc`);function sa(e){return y(e)?la(ra,e,!1)||e:e||oa}function ca(e){return la(ia,e)}function la(e,t,n=!0,r=!1){let i=sr||Ps;if(i){let n=i.type;if(e===ra){let e=$s(n,!1);if(e&&(e===t||e===A(t)||e===ne(A(t))))return n}let a=ua(i[e]||n[e],t)||ua(i.appContext[e],t);return!a&&r?n:a}}function ua(e,t){return e&&(e[t]||e[A(t)]||e[ne(A(t))])}function da(e,t,n,r){let i,a=n&&n[r],o=p(e);if(o||y(e)){let n=o&&Zt(e),r=!1,s=!1;n&&(r=!$t(e),s=Qt(e),e=ft(e)),i=Array(e.length);for(let n=0,o=e.length;nt(e,n,void 0,a&&a[n]));else{let n=Object.keys(e);i=Array(n.length);for(let r=0,o=n.length;r{let t=r.fn(...e);return t&&(t.key=r.key),t}:r.fn)}return e}function z(e,t,n,r,i,a){if(n??={},sr.ce||sr.parent&&Ni(sr.parent)&&sr.parent.ce){let e=a!=null&&n.key==null?l({},n,{key:a}):n,i=Object.keys(e).length>0;return t!=="default"&&(e.name=t),B(),V(is,null,[U(`slot`,e,r&&r())],i?-2:64)}let o=e[t];o&&o._c&&(o._d=!1);let s=cs.length;B();let c;try{let i=o&&pa(o(n)),s=n.key||a||i&&i.key;c=V(is,{key:(s&&!b(s)?s:`_${t}`)+(!i&&r?`_fb`:``)},i||(r?r():[]),i&&e._===1?64:-2)}catch(e){for(let e=cs.length;e>s;e--)us();throw e}finally{o&&o._c&&(o._d=!0)}return!i&&c.scopeId&&(c.slotScopeIds=[c.scopeId+`-s`]),c}function pa(e){return e.some(e=>!hs(e)||!(e.type===os||e.type===is&&!pa(e.children)))?e:null}function ma(e,t){let n={};for(let r in e)n[t&&/[A-Z]/.test(r)?`on:${r}`:M(r)]=e[r];return n}var ha=e=>e?Bs(e)?Qs(e):ha(e.parent):null,ga=l(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ha(e.parent),$root:e=>ha(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ba(e),$forceUpdate:e=>e.f||=()=>{Zn(e.update)},$nextTick:e=>e.n||=Yn.bind(e.proxy),$watch:e=>Tr.bind(e)}),_a=(e,t)=>e!==r&&!e.__isScriptSetup&&f(e,t),va={get({_:e},t){if(t===`__v_skip`)return!0;let{ctx:n,setupState:i,data:a,props:o,accessCache:s,type:c,appContext:l}=e;if(t[0]!==`$`){let e=s[t];if(e!==void 0)switch(e){case 1:return i[t];case 2:return a[t];case 4:return n[t];case 3:return o[t]}else if(_a(i,t))return s[t]=1,i[t];else if(a!==r&&f(a,t))return s[t]=2,a[t];else if(f(o,t))return s[t]=3,o[t];else if(n!==r&&f(n,t))return s[t]=4,n[t];else Fa&&(s[t]=0)}let u=ga[t],d,p;if(u)return t===`$attrs`&&ct(e.attrs,`get`,``),u(e);if((d=c.__cssModules)&&(d=d[t]))return d;if(n!==r&&f(n,t))return s[t]=4,n[t];if(p=l.config.globalProperties,f(p,t))return p[t]},set({_:e},t,n){let{data:i,setupState:a,ctx:o}=e;return _a(a,t)?(a[t]=n,!0):i!==r&&f(i,t)?(i[t]=n,!0):f(e.props,t)||t[0]===`$`&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:i,appContext:a,props:o,type:s}},c){let l;return!!(n[c]||e!==r&&c[0]!==`$`&&f(e,c)||_a(t,c)||f(o,c)||f(i,c)||f(ga,c)||f(a.config.globalProperties,c)||(l=s.__cssModules)&&l[c])},defineProperty(e,t,n){return n.get==null?f(n,`value`)&&this.set(e,t,n.value,null):e._.accessCache[t]=0,Reflect.defineProperty(e,t,n)}},ya=l({},va,{get(e,t){if(t!==Symbol.unscopables)return va.get(e,t,e)},has(e,t){return t[0]!==`_`&&!le(t)}});function ba(){return null}function xa(){return null}function Sa(e){}function Ca(e){}function wa(){return null}function Ta(){}function Ea(e,t){return null}function Da(){return ka(`useSlots`).slots}function Oa(){return ka(`useAttrs`).attrs}function ka(e){let t=Fs();return t.setupContext||=Zs(t)}function Aa(e){return p(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}function ja(e,t){let n=Aa(e);for(let e in t){if(e.startsWith(`__skip`))continue;let r=n[e];r?p(r)||v(r)?r=n[e]={type:r,default:t[e]}:r.default=t[e]:r===null&&(r=n[e]={default:t[e]}),r&&t[`__skip_${e}`]&&(r.skipFactory=!0)}return n}function Ma(e,t){return!e||!t?e||t:p(e)&&p(t)?e.concat(t):l({},Aa(e),Aa(t))}function Na(e,t){let n={};for(let r in e)t.includes(r)||Object.defineProperty(n,r,{enumerable:!0,get:()=>e[r]});return n}function Pa(e){let t=Fs(),n=Vs,r=e();zs(),n&&Ls(!1);let i=()=>{Rs(t),n&&Ls(!0)},a=()=>{Fs()!==t&&t.scope.off(),zs(),n&&Ls(!1)};return S(r)&&(r=r.catch(e=>{throw i(),Promise.resolve().then(()=>Promise.resolve().then(a)),e})),[r,()=>{i(),Promise.resolve().then(a)}]}var Fa=!0;function Ia(e){let t=Ba(e),n=e.proxy,r=e.ctx;Fa=!1,t.beforeCreate&&Ra(t.beforeCreate,e,`bc`);let{data:i,computed:o,methods:s,watch:c,provide:l,inject:u,created:d,beforeMount:f,mounted:m,beforeUpdate:h,updated:g,activated:_,deactivated:y,beforeDestroy:b,beforeUnmount:S,destroyed:C,unmounted:w,render:T,renderTracked:E,renderTriggered:D,errorCaptured:O,serverPrefetch:ee,expose:k,inheritAttrs:A,components:te,directives:j,filters:ne}=t;if(u&&La(u,r,null),s)for(let e in s){let t=s[e];v(t)&&(r[e]=t.bind(n))}if(i){let t=i.call(n,n);x(t)&&(e.data=Kt(t))}if(Fa=!0,o)for(let e in o){let t=o[e],i=W({get:v(t)?t.bind(n,n):v(t.get)?t.get.bind(n,n):a,set:!v(t)&&v(t.set)?t.set.bind(n):a});Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e})}if(c)for(let e in c)za(c[e],r,n,e);if(l){let e=v(l)?l.call(n):l;Reflect.ownKeys(e).forEach(t=>{hr(t,e[t])})}d&&Ra(d,e,`c`);function M(e,t){p(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(M(qi,f),M(Ji,m),M(Yi,h),M(Xi,g),M(zi,_),M(Bi,y),M(na,O),M(ta,E),M(ea,D),M(Zi,S),M(Qi,w),M($i,ee),p(k)){if(k.length){let t=e.exposed||={};k.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t,enumerable:!0})})}else e.exposed||={}}T&&e.render===a&&(e.render=T),A!=null&&(e.inheritAttrs=A),te&&(e.components=te),j&&(e.directives=j),ee&&ri(e)}function La(e,t,n=a){p(e)&&(e=Ga(e));for(let n in e){let r=e[n],i;i=x(r)?`default`in r?gr(r.from||n,r.default,!0):gr(r.from||n):gr(r),on(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[n]=i}}function Ra(e,t,n){zn(p(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function za(e,t,n,r){let i=r.includes(`.`)?Er(n,r):()=>n[r];if(y(e)){let n=t[e];v(n)&&Cr(i,n)}else if(v(e))Cr(i,e.bind(n));else if(x(e)){if(p(e))e.forEach(e=>za(e,t,n,r));else{let r=v(e.handler)?e.handler.bind(n):t[e.handler];v(r)&&Cr(i,r,e)}}}function Ba(e){let t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,s=a.get(t),c;return s?c=s:!i.length&&!n&&!r?c=t:(c={},i.length&&i.forEach(e=>Va(c,e,o,!0)),Va(c,t,o)),x(t)&&a.set(t,c),c}function Va(e,t,n,r=!1){let{mixins:i,extends:a}=t;a&&Va(e,a,n,!0),i&&i.forEach(t=>Va(e,t,n,!0));for(let i in t)if(!(r&&i===`expose`)){let r=Ha[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}var Ha={data:Ua,props:Ja,emits:Ja,methods:qa,computed:qa,beforeCreate:Ka,created:Ka,beforeMount:Ka,mounted:Ka,beforeUpdate:Ka,updated:Ka,beforeDestroy:Ka,beforeUnmount:Ka,destroyed:Ka,unmounted:Ka,activated:Ka,deactivated:Ka,errorCaptured:Ka,serverPrefetch:Ka,components:qa,directives:qa,watch:Ya,provide:Ua,inject:Wa};function Ua(e,t){return t?e?function(){return l(v(e)?e.call(this,this):e,v(t)?t.call(this,this):t)}:t:e}function Wa(e,t){return qa(Ga(e),Ga(t))}function Ga(e){if(p(e)){let t={};for(let n=0;n{let l,u=r,d;return Sr(()=>{let t=e[a];N(l,t)&&(l=t,c())}),{get(){return s(),n.get?n.get(l):l},set(e){let s=n.set?n.set(e):e;if(!N(s,l)&&!(u!==r&&N(e,u)))return;let f=i.vnode.props,p=!!(f&&(t in f||a in f||o in f)&&(`onUpdate:${t}`in f||`onUpdate:${a}`in f||`onUpdate:${o}`in f));p||(l=e,c()),i.emit(`update:${t}`,s),N(e,u)&&(N(e,s)&&!N(s,d)||p&&u!==r&&!N(s,l))&&c(),u=e,d=s}}});return c[Symbol.iterator]=()=>{let e=0;return{next(){return e<2?{value:e++?s||r:c,done:!1}:{done:!0}}}},c}var to=(e,t)=>t===`modelValue`||t===`model-value`?e.modelModifiers:e[`${t}Modifiers`]||e[`${A(t)}Modifiers`]||e[`${j(t)}Modifiers`];function no(e,t,...n){if(e.isUnmounted)return;let i=e.vnode.props||r,a=n,o=t.startsWith(`update:`),s=o&&to(i,t.slice(7));s&&(s.trim&&(a=n.map(e=>y(e)?e.trim():e)),s.number&&(a=n.map(ae)));let c,l=i[c=M(t)]||i[c=M(A(t))];!l&&o&&(l=i[c=M(j(t))]),l&&zn(l,e,6,a);let u=i[c+`Once`];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,zn(u,e,6,a)}}var ro=new WeakMap;function io(e,t,n=!1){let r=n?ro:t.emitsCache,i=r.get(e);if(i!==void 0)return i;let a=e.emits,o={},s=!1;if(!v(e)){let r=e=>{let n=io(e,t,!0);n&&(s=!0,l(o,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return!a&&!s?(x(e)&&r.set(e,null),null):(p(a)?a.forEach(e=>o[e]=null):l(o,a),x(e)&&r.set(e,o),o)}function ao(e,t){return!e||!s(t)?!1:(t=t.slice(2),t=t===`Once`?t:t.replace(/Once$/,``),f(e,t[0].toLowerCase()+t.slice(1))||f(e,j(t))||f(e,t))}function oo(e){let{type:t,vnode:n,proxy:r,withProxy:i,propsOptions:[a],slots:o,attrs:s,emit:l,render:u,renderCache:d,props:f,data:p,setupState:m,ctx:h,inheritAttrs:g}=e,_=lr(e),v,y;try{if(n.shapeFlag&4){let e=i||r,t=e;v=Es(u.call(t,e,d,f,m,p,h)),y=s}else{let e=t;v=Es(e.length>1?e(f,{attrs:s,slots:o,emit:l}):e(f,null)),y=t.props?s:co(s)}}catch(t){cs.length=0,Bn(t,e,1),v=U(os)}let b=v;if(y&&g!==!1){let e=Object.keys(y),{shapeFlag:t}=b;e.length&&t&7&&(a&&e.some(c)&&(y=lo(y,a)),b=Ss(b,y,!1,!0))}return n.dirs&&(b=Ss(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&ei(kr(b.type)&&$r(b)||b,n.transition),v=b,lr(_),v}function so(e,t=!0){let n;for(let t=0;t{let t;for(let n in e)(n===`class`||n===`style`||s(n))&&((t||={})[n]=e[n]);return t},lo=(e,t)=>{let n={};for(let r in e)(!c(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function uo(e,t,n){let{props:r,children:i,component:a}=e,{props:o,children:s,patchFlag:c}=t,l=a.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?fo(r,o,l):!!o;if(c&8){let e=t.dynamicProps;for(let t=0;tObject.create(ho),_o=e=>Object.getPrototypeOf(e)===ho;function vo(e,t,n,r=!1){let i={},a=go();e.propsDefaults=Object.create(null),bo(e,t,i,a);for(let t in e.propsOptions[0])t in i||(i[t]=void 0);e.props=n?r?i:qt(i):e.type.props?i:a,e.attrs=a}function yo(e,t,n,r){let{props:i,attrs:a,vnode:{patchFlag:o}}=e,s=tn(i),[c]=e.propsOptions,l=!1;if((r||o>0)&&!(o&16)){if(o&8){let n=e.vnode.dynamicProps;for(let r=0;r{d=!0;let[n,r]=Co(e,t,!0);l(c,n),r&&u.push(...r)};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}if(!s&&!d)return x(e)&&a.set(e,i),i;if(p(s))for(let e=0;ee===`_`||e===`_ctx`||e===`$stable`,Eo=e=>p(e)?e.map(Es):[Es(e)],Do=(e,t,n)=>{if(t._n)return t;let r=L((...e)=>Eo(t(...e)),n);return r._c=!1,r},Oo=(e,t,n)=>{let r=e._ctx;for(let n in e){if(To(n))continue;let i=e[n];if(v(i))t[n]=Do(n,i,r);else if(i!=null){let e=Eo(i);t[n]=()=>e}}},ko=(e,t)=>{let n=Eo(t);e.slots.default=()=>n},Ao=(e,t,n)=>{for(let r in t)(n||!To(r))&&(e[r]=t[r])},jo=(e,t,n)=>{let r=e.slots=go();if(e.vnode.shapeFlag&32){let e=t._;e?(Ao(r,t,n),n&&ie(r,`_`,e,!0)):Oo(t,r)}else t&&ko(e,t)},Mo=(e,t,n)=>{let{vnode:i,slots:a}=e,o=!0,s=r;if(i.shapeFlag&32){let e=t._;e?n&&e===1?o=!1:Ao(a,t,n):(o=!t.$stable,Oo(t,a)),s=t}else t&&(ko(e,t),s={default:1});if(o)for(let e in a)!To(e)&&s[e]==null&&delete a[e]},No=ts;function Po(e){return Io(e)}function Fo(e){return Io(e,hi)}function Io(e,t){let n=ce();n.__VUE__=!0;let{insert:o,remove:s,patchProp:c,createElement:l,createText:u,createComment:d,setText:f,setElementText:p,parentNode:m,nextSibling:h,setScopeId:g=a,insertStaticContent:_}=e,v=(e,t,n,r=null,i=null,a=null,o=void 0,s=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!gs(e,t)&&(r=he(e),ue(e,i,a,!0),e=null),t.patchFlag===-2&&(c=!1,t.dynamicChildren=null);let{type:l,ref:u,shapeFlag:d}=t;switch(l){case as:y(e,t,n,r);break;case os:b(e,t,n,r);break;case ss:e??x(t,n,r,o);break;case is:te(e,t,n,r,i,a,o,s,c);break;default:d&1?w(e,t,n,r,i,a,o,s,c):d&6?j(e,t,n,r,i,a,o,s,c):(d&64||d&128)&&l.process(e,t,n,r,i,a,o,s,c,ve)}u!=null&&i?si(u,e&&e.ref,a,t||e,!t):u==null&&e&&e.ref!=null&&si(e.ref,null,a,e,!0)},y=(e,t,n,r)=>{if(e==null)o(t.el=u(t.children),n,r);else{let n=t.el=e.el;t.children!==e.children&&f(n,t.children)}},b=(e,t,n,r)=>{e==null?o(t.el=d(t.children||``),n,r):t.el=e.el},x=(e,t,n,r)=>{[e.el,e.anchor]=_(e.children,t,n,r,e.el,e.anchor)},S=({el:e,anchor:t},n,r)=>{let i;for(;e&&e!==t;)i=h(e),o(e,n,r),e=i;o(t,n,r)},C=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=h(e),s(e),e=n;s(t)},w=(e,t,n,r,i,a,o,s,c)=>{if(t.type===`svg`?o=`svg`:t.type===`math`&&(o=`mathml`),e==null)T(t,n,r,i,a,o,s,c);else{let n=e.el&&e.el._isVueCE?e.el:null;try{n&&n._beginPatch(),ee(e,t,i,a,o,s,c)}finally{n&&n._endPatch()}}},T=(e,t,n,r,i,a,s,u)=>{let d,f,{props:m,shapeFlag:h,transition:g,dirs:_}=e;if(d=e.el=l(e.type,a,m&&m.is,m),h&8?p(d,e.children):h&16&&D(e.children,d,null,r,i,Lo(e,a),s,u),_&&mr(e,null,r,`created`),E(d,e,e.scopeId,s,r),m){for(let e in m)e!==`value`&&!O(e)&&c(d,e,null,m[e],a,r);`value`in m&&c(d,`value`,null,m.value,a),(f=m.onVnodeBeforeMount)&&As(f,r,e)}_&&mr(e,null,r,`beforeMount`);let v=zo(i,g);v&&g.beforeEnter(d),o(d,t,n),((f=m&&m.onVnodeMounted)||v||_)&&No(()=>{try{f&&As(f,r,e),v&&g.enter(d),_&&mr(e,null,r,`mounted`)}finally{}},i)},E=(e,t,n,r,i)=>{if(n&&g(e,n),r)for(let t=0;t{for(let l=c;l{let l=t.el=e.el,{patchFlag:u,dynamicChildren:d,dirs:f}=t;u|=e.patchFlag&16;let m=e.props||r,h=t.props||r,g;if(n&&Ro(n,!1),(g=h.onVnodeBeforeUpdate)&&As(g,n,t,e),f&&mr(t,e,n,`beforeUpdate`),n&&Ro(n,!0),d&&(!e.dynamicChildren||e.dynamicChildren.length!==d.length)&&(u=0,s=!1,d=null),(m.innerHTML&&h.innerHTML==null||m.textContent&&h.textContent==null)&&p(l,``),d?k(e.dynamicChildren,d,l,n,i,Lo(t,a),o):s||ae(e,t,l,null,n,i,Lo(t,a),o,!1),u>0){if(u&16)A(l,m,h,n,a);else if(u&2&&m.class!==h.class&&c(l,`class`,null,h.class,a),u&4&&c(l,`style`,m.style,h.style,a),u&8){let e=t.dynamicProps;for(let t=0;t{g&&As(g,n,t,e),f&&mr(t,e,n,`updated`)},i)},k=(e,t,n,r,i,a,o)=>{for(let s=0;s{if(t!==n){if(t!==r)for(let r in t)!O(r)&&!(r in n)&&c(e,r,t[r],null,a,i);for(let r in n){if(O(r))continue;let o=n[r],s=t[r];o!==s&&r!==`value`&&c(e,r,s,o,a,i)}`value`in n&&c(e,`value`,t.value,n.value,a)}},te=(e,t,n,r,i,a,s,c,l)=>{let d=t.el=e?e.el:u(``),f=t.anchor=e?e.anchor:u(``),{patchFlag:p,dynamicChildren:m,slotScopeIds:h}=t;h&&(c=c?c.concat(h):h),e==null?(o(d,n,r),o(f,n,r),D(t.children||[],n,f,i,a,s,c,l)):p>0&&p&64&&m&&e.dynamicChildren&&e.dynamicChildren.length===m.length?(k(e.dynamicChildren,m,n,i,a,s,c),(t.key!=null||i&&t===i.subTree)&&Bo(e,t,!0)):ae(e,t,n,f,i,a,s,c,l)},j=(e,t,n,r,i,a,o,s,c)=>{t.slotScopeIds=s,e==null?t.shapeFlag&512?i.ctx.activate(t,n,r,o,c):ne(t,n,r,i,a,o,c):M(e,t,c)},ne=(e,t,n,r,i,a,o)=>{let s=e.component=Ns(e,r,i);if(Ii(e)&&(s.ctx.renderer=ve),Hs(s,!1,o),s.asyncDep){if(i&&i.registerDep(s,N,o),!e.el){let r=s.subTree=U(os);b(null,r,t,n),e.placeholder=r.el}}else N(s,e,t,n,i,a,o)},M=(e,t,n)=>{let r=t.component=e.component;if(uo(e,t,n)){if(r.asyncDep&&!r.asyncResolved){ie(r,t,n);return}r.next=t,r.update()}else t.el=e.el,r.vnode=t},N=(e,t,n,r,i,a,o)=>{let s=()=>{if(e.isMounted){let{next:t,bu:n,u:r,parent:s,vnode:c}=e;{let n=Ho(e);if(n){t&&(t.el=c.el,ie(e,t,o)),n.asyncDep.then(()=>{No(()=>{e.isUnmounted||l()},i)});return}}let u=t,d;Ro(e,!1),t?(t.el=c.el,ie(e,t,o)):t=c,n&&re(n),(d=t.props&&t.props.onVnodeBeforeUpdate)&&As(d,s,t,c),Ro(e,!0);let f=oo(e),p=e.subTree;e.subTree=f,v(p,f,m(p.el),he(p),e,i,a),t.el=f.el,u===null&&mo(e,f.el),r&&No(r,i),(d=t.props&&t.props.onVnodeUpdated)&&No(()=>As(d,s,t,c),i)}else{let o,{el:s,props:c}=t,{bm:l,m:u,parent:d,root:f,type:p}=e,m=Ni(t);if(Ro(e,!1),l&&re(l),!m&&(o=c&&c.onVnodeBeforeMount)&&As(o,d,t),Ro(e,!0),s&&ye){let t=()=>{e.subTree=oo(e),ye(s,e.subTree,e,i,null)};m&&p.__asyncHydrate?p.__asyncHydrate(s,e,t):t()}else{f.ce&&f.ce._hasShadowRoot()&&f.ce._injectChildStyle(p,e.parent?e.parent.type:void 0);let o=e.subTree=oo(e);v(null,o,n,r,e,i,a),t.el=o.el}if(u&&No(u,i),!m&&(o=c&&c.onVnodeMounted)){let e=t;No(()=>As(o,d,e),i)}(t.shapeFlag&256||d&&Ni(d.vnode)&&d.vnode.shapeFlag&256)&&e.a&&No(e.a,i),e.isMounted=!0,t=n=r=null}};e.scope.on();let c=e.effect=new Pe(s);e.scope.off();let l=e.update=c.run.bind(c),u=e.job=c.runIfDirty.bind(c);u.i=e,u.id=e.uid,c.scheduler=()=>Zn(u),Ro(e,!0),l()},ie=(e,t,n)=>{t.component=e;let r=e.vnode.props;e.vnode=t,e.next=null,yo(e,t.props,r,n),Mo(e,t.children,n),Ze(),er(e),Qe()},ae=(e,t,n,r,i,a,o,s,c=!1)=>{let l=e&&e.children,u=e?e.shapeFlag:0,d=t.children,{patchFlag:f,shapeFlag:m}=t;if(f>0){if(f&128){se(l,d,n,r,i,a,o,s,c);return}if(f&256){oe(l,d,n,r,i,a,o,s,c);return}}m&8?(u&16&&me(l,i,a),d!==l&&p(n,d)):u&16?m&16?se(l,d,n,r,i,a,o,s,c):me(l,i,a,!0):(u&8&&p(n,``),m&16&&D(d,n,r,i,a,o,s,c))},oe=(e,t,n,r,a,o,s,c,l)=>{e||=i,t||=i;let u=e.length,d=t.length,f=Math.min(u,d),p;for(p=0;pd?me(e,a,o,!0,!1,f):D(t,n,r,a,o,s,c,l,f)},se=(e,t,n,r,a,o,s,c,l)=>{let u=0,d=t.length,f=e.length-1,p=d-1;for(;u<=f&&u<=p;){let r=e[u],i=t[u]=l?Ds(t[u]):Es(t[u]);if(gs(r,i))v(r,i,n,null,a,o,s,c,l);else break;u++}for(;u<=f&&u<=p;){let r=e[f],i=t[p]=l?Ds(t[p]):Es(t[p]);if(gs(r,i))v(r,i,n,null,a,o,s,c,l);else break;f--,p--}if(u>f){if(u<=p){let e=p+1,i=ep)for(;u<=f;)ue(e[u],a,o,!0),u++;else{let m=u,h=u,g=new Map;for(u=h;u<=p;u++){let e=t[u]=l?Ds(t[u]):Es(t[u]);e.key!=null&&g.set(e.key,u)}let _,y=0,b=p-h+1,x=!1,S=0,C=Array(b);for(u=0;u=b){ue(r,a,o,!0);continue}let i;if(r.key!=null)i=g.get(r.key);else for(_=h;_<=p;_++)if(C[_-h]===0&&gs(r,t[_])){i=_;break}i===void 0?ue(r,a,o,!0):(C[i-h]=u+1,i>=S?S=i:x=!0,v(r,t[i],n,null,a,o,s,c,l),y++)}let w=x?Vo(C):i;for(_=w.length-1,u=b-1;u>=0;u--){let e=h+u,i=t[e],f=t[e+1],p=e+1{let{el:a,type:c,transition:l,children:u,shapeFlag:d}=e;if(d&6){le(e.component.subTree,t,n,r);return}if(d&128){e.suspense.move(t,n,r);return}if(d&64){c.move(e,t,n,ve);return}if(c===is){o(a,t,n);for(let e=0;el.enter(a),i));else{let{leave:r,delayLeave:i,afterLeave:c}=l,u=()=>{e.ctx.isUnmounted?s(a):o(a,t,n)},d=()=>{let e=a._isLeaving||!!a[Vr];a._isLeaving&&a[Vr](!0),l.persisted&&!e?u():r(a,()=>{u(),c&&c()})};i?i(a,u,d):d()}}else o(a,t,n)},ue=(e,t,n,r=!1,i=!1)=>{let{type:a,props:o,ref:s,children:c,dynamicChildren:l,shapeFlag:u,patchFlag:d,dirs:f,cacheIndex:p,memo:m}=e;if(d===-2&&(i=!1),s!=null&&(Ze(),si(s,null,n,e,!0),Qe()),p!=null&&(t.renderCache[p]=void 0),u&256){t.ctx.deactivate(e);return}let h=u&1&&f,g=!Ni(e),_;if(g&&(_=o&&o.onVnodeBeforeUnmount)&&As(_,t,e),u&6)pe(e.component,n,r);else{if(u&128){e.suspense.unmount(n,r);return}h&&mr(e,null,t,`beforeUnmount`),u&64?e.type.remove(e,t,n,ve,r):l&&!l.hasOnce&&(a!==is||d>0&&d&64)?me(l,t,n,!1,!0):(a===is&&d&384||!i&&u&16)&&me(c,t,n),r&&de(e)}let v=m!=null&&p==null;(g&&(_=o&&o.onVnodeUnmounted)||h||v)&&No(()=>{_&&As(_,t,e),h&&mr(e,null,t,`unmounted`),v&&(e.el=null)},n)},de=e=>{let{type:t,el:n,anchor:r,transition:i}=e;if(t===is){fe(n,r);return}if(t===ss){C(e);return}let a=()=>{s(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(e.shapeFlag&1&&i&&!i.persisted){let{leave:t,delayLeave:r}=i,o=()=>t(n,a);r?r(e.el,a,o):o()}else a()},fe=(e,t)=>{let n;for(;e!==t;)n=h(e),s(e),e=n;s(t)},pe=(e,t,n)=>{let{bum:r,scope:i,job:a,subTree:o,um:s,m:c,a:l}=e;Uo(c),Uo(l),r&&re(r),i.stop(),a&&(a.flags|=8,ue(o,e,t,n)),s&&No(s,t),No(()=>{e.isUnmounted=!0},t)},me=(e,t,n,r=!1,i=!1,a=0)=>{for(let o=a;o{if(e.shapeFlag&6)return he(e.component.subTree);if(e.shapeFlag&128)return e.suspense.next();let t=h(e.anchor||e.el),n=t&&t[Or];return n?h(n):t},ge=!1,_e=(e,t,n)=>{let r;e==null?t._vnode&&(ue(t._vnode,null,null,!0),r=t._vnode.component):v(t._vnode||null,e,t,null,null,null,n),t._vnode=e,ge||=(ge=!0,er(r),tr(),!1)},ve={p:v,um:ue,m:le,r:de,mt:ne,mc:D,pc:ae,pbc:k,n:he,o:e},P,ye;return t&&([P,ye]=t(ve)),{render:_e,hydrate:P,createApp:Qa(_e,P)}}function Lo({type:e,props:t},n){return n===`svg`&&e===`foreignObject`||n===`mathml`&&e===`annotation-xml`&&t&&t.encoding&&t.encoding.includes(`html`)?void 0:n}function Ro({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function zo(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Bo(e,t,n=!1){let r=e.children,i=t.children;if(p(r)&&p(i))for(let e=0;e>1,e[n[s]]0&&(t[r]=n[a-1]),n[a]=r)}}for(a=n.length,o=n[a-1];a-->0;)n[a]=o,o=t[o];return n}function Ho(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Ho(t)}function Uo(e){if(e)for(let t=0;te.__isSuspense,Ko=0,qo={name:`Suspense`,__isSuspense:!0,process(e,t,n,r,i,a,o,s,c,l){if(e==null)Yo(t,n,r,i,a,o,s,c,l);else{if(a&&a.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}Xo(e,t,n,r,i,o,s,c,l)}},hydrate:Qo,normalize:$o};function Jo(e,t){let n=e.props&&e.props[t];v(n)&&n()}function Yo(e,t,n,r,i,a,o,s,c){let{p:l,o:{createElement:u}}=c,d=u(`div`),f=e.suspense=Zo(e,i,r,t,d,n,a,o,s,c);l(null,f.pendingBranch=e.ssContent,d,null,r,f,a,o),f.deps>0?(Jo(e,`onPending`),Jo(e,`onFallback`),l(null,e.ssFallback,t,n,r,null,a,o),ns(f,e.ssFallback)):f.resolve(!1,!0)}function Xo(e,t,n,r,i,a,o,s,{p:c,um:l,o:{createElement:u}}){let d=t.suspense=e.suspense;d.vnode=t,t.el=e.el;let f=t.ssContent,p=t.ssFallback,{activeBranch:m,pendingBranch:h,isInFallback:g,isHydrating:_}=d;if(h)d.pendingBranch=f,gs(h,f)?(c(h,f,d.hiddenContainer,null,i,d,a,o,s),d.deps<=0?d.resolve():g&&(_||(c(m,p,n,r,i,null,a,o,s),ns(d,p)))):(d.pendingId=Ko++,_?(d.isHydrating=!1,d.activeBranch=h):l(h,i,d),d.deps=0,d.effects.length=0,d.hiddenContainer=u(`div`),g?(c(null,f,d.hiddenContainer,null,i,d,a,o,s),d.deps<=0?d.resolve():(c(m,p,n,r,i,null,a,o,s),ns(d,p))):m&&gs(m,f)?(c(m,f,n,r,i,d,a,o,s),d.resolve(!0)):(c(null,f,d.hiddenContainer,null,i,d,a,o,s),d.deps<=0&&d.resolve()));else if(m&&gs(m,f))c(m,f,n,r,i,d,a,o,s),ns(d,f);else if(Jo(t,`onPending`),d.pendingBranch=f,d.pendingId=f.shapeFlag&512?f.component.suspenseId:Ko++,c(null,f,d.hiddenContainer,null,i,d,a,o,s),d.deps<=0)d.resolve();else{let{timeout:e,pendingId:t}=d;e>0?setTimeout(()=>{d.pendingId===t&&d.fallback(p)},e):e===0&&d.fallback(p)}}function Zo(e,t,n,r,i,a,o,s,c,l,u=!1){let{p:d,m:f,um:p,n:m,o:{parentNode:h,remove:g}}=l,_,v=rs(e);v&&t&&t.pendingBranch&&(_=t.pendingId,t.deps++);let y=e.props?oe(e.props.timeout):void 0,b=a,x={vnode:e,parent:t,parentComponent:n,namespace:o,container:r,hiddenContainer:i,deps:0,pendingId:Ko++,timeout:typeof y==`number`?y:-1,activeBranch:null,isFallbackMountPending:!1,pendingBranch:null,isInFallback:!u,isHydrating:u,isUnmounted:!1,effects:[],resolve(e=!1,n=!1){let{vnode:r,activeBranch:i,pendingBranch:o,pendingId:s,effects:c,parentComponent:l,container:u,isInFallback:d}=x,g=!1;if(x.isHydrating)x.isHydrating=!1;else if(!e){g=i&&o.transition&&o.transition.mode===`out-in`;let e=!1;g&&(i.transition.afterLeave=()=>{s===x.pendingId&&(f(o,u,a===b&&!e?m(i):a,0),$n(c),d&&r.ssFallback&&(r.ssFallback.el=null))}),i&&!x.isFallbackMountPending&&(h(i.el)===u&&(a=m(i),e=!0),p(i,l,x,!0),!g&&d&&r.ssFallback&&No(()=>r.ssFallback.el=null,x)),g||f(o,u,a,0)}x.isFallbackMountPending=!1,ns(x,o),x.pendingBranch=null,x.isInFallback=!1;let y=x.parent,S=!1;for(;y;){if(y.pendingBranch){for(let e=0;e{x.isFallbackMountPending=!1,x.isInFallback&&(d(null,e,i,o,r,null,a,s,c),ns(x,e))},u=e.transition&&e.transition.mode===`out-in`;u&&(x.isFallbackMountPending=!0,n.transition.afterLeave=l),x.isInFallback=!0,p(n,r,null,!0),u||l()},move(e,t,n){x.activeBranch&&f(x.activeBranch,e,t,n),x.container=e},next(){return x.activeBranch&&m(x.activeBranch)},registerDep(e,t,n){let r=!!x.pendingBranch;r&&x.deps++;let i=e.vnode.el;e.asyncDep.catch(t=>{Bn(t,e,0)}).then(a=>{if(e.isUnmounted||x.isUnmounted||x.pendingId!==e.suspenseId)return;zs(),e.asyncResolved=!0;let{vnode:s}=e;Ws(e,a,!1),i&&(s.el=i);let c=!i&&e.subTree.el;t(e,s,h(i||e.subTree.el),i?null:m(e.subTree),x,o,n),c&&(s.placeholder=null,g(c)),mo(e,s.el),r&&--x.deps===0&&x.resolve()})},unmount(e,t){x.isUnmounted=!0,x.activeBranch&&p(x.activeBranch,n,e,t),x.pendingBranch&&p(x.pendingBranch,n,e,t)}};return x}function Qo(e,t,n,r,i,a,o,s,c){let l=t.suspense=Zo(t,r,n,e.parentNode,document.createElement(`div`),null,i,a,o,s,!0),u=c(e,l.pendingBranch=t.ssContent,n,l,a,o);return l.deps===0&&l.resolve(!1,!0),u}function $o(e){let{shapeFlag:t,children:n}=e,r=t&32;e.ssContent=es(r?n.default:n),e.ssFallback=r?es(n.fallback):U(os)}function es(e){let t;if(v(e)){let n=ds&&e._c;n&&(e._d=!1,B()),e=e(),n&&(e._d=!0,t=ls,us())}return p(e)&&(e=so(e)),e=Es(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(t=>t!==e)),e}function ts(e,t){t&&t.pendingBranch?p(e)?t.effects.push(...e):t.effects.push(e):$n(e)}function ns(e,t){e.activeBranch=t;let{vnode:n,parentComponent:r}=e,i=t.el;for(;!i&&t.component;)t=t.component.subTree,i=t.el;n.el=i,r&&r.subTree===n&&(r.vnode.el=i,mo(r,i))}function rs(e){let t=e.props&&e.props.suspensible;return t!=null&&t!==!1}var is=Symbol.for(`v-fgt`),as=Symbol.for(`v-txt`),os=Symbol.for(`v-cmt`),ss=Symbol.for(`v-stc`),cs=[],ls=null;function B(e=!1){cs.push(ls=e?null:[])}function us(){cs.pop(),ls=cs[cs.length-1]||null}var ds=1;function fs(e,t=!1){ds+=e,e<0&&ls&&t&&(ls.hasOnce=!0)}function ps(e){return e.dynamicChildren=ds>0?ls||i:null,us(),ds>0&&ls&&ls.push(e),e}function ms(e,t,n,r,i,a){return ps(H(e,t,n,r,i,a,!0))}function V(e,t,n,r,i){return ps(U(e,t,n,r,i,!0))}function hs(e){return e?e.__v_isVNode===!0:!1}function gs(e,t){return e.type===t.type&&e.key===t.key}function _s(e){}var vs=({key:e})=>e??null,ys=({ref:e,ref_key:t,ref_for:n})=>(typeof e==`number`&&(e=``+e),e==null?null:y(e)||on(e)||v(e)?{i:sr,r:e,k:t,f:!!n}:e);function H(e,t=null,n=null,r=0,i=null,a=e===is?0:1,o=!1,s=!1){let c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&vs(t),ref:t&&ys(t),scopeId:cr,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:sr};return s?(Os(c,n),a&128&&e.normalize(c)):n&&(c.shapeFlag|=y(n)?8:16),ds>0&&!o&&ls&&(c.patchFlag>0||a&6)&&c.patchFlag!==32&&ls.push(c),c}var U=bs;function bs(e,t=null,n=null,r=0,i=null,a=!1){if((!e||e===oa)&&(e=os),hs(e)){let r=Ss(e,t,!0);return n&&Os(r,n),ds>0&&!a&&ls&&(r.shapeFlag&6?ls[ls.indexOf(e)]=r:ls.push(r)),r.patchFlag=-2,r}if(ec(e)&&(e=e.__vccOpts),t){t=xs(t);let{class:e,style:n}=t;e&&!y(e)&&(t.class=he(e)),x(n)&&(en(n)&&!p(n)&&(n=l({},n)),t.style=ue(n))}let o=y(e)?1:Go(e)?128:kr(e)?64:x(e)?4:v(e)?2:0;return H(e,t,n,r,i,o,a,!0)}function xs(e){return e?en(e)||_o(e)?l({},e):e:null}function Ss(e,t,n=!1,r=!1){let{props:i,ref:a,patchFlag:o,children:s,transition:c}=e,l=t?ks(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&vs(l),ref:t&&t.ref?n&&a?p(a)?a.concat(ys(t)):[a,ys(t)]:ys(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==is?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ss(e.ssContent),ssFallback:e.ssFallback&&Ss(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&ei(u,c.clone(u)),u}function Cs(e=` `,t=0){return U(as,null,e,t)}function ws(e,t){let n=U(ss,null,e);return n.staticCount=t,n}function Ts(e=``,t=!1){return t?(B(),V(os,null,e)):U(os,null,e)}function Es(e){return e==null||typeof e==`boolean`?U(os):p(e)?U(is,null,e.slice()):hs(e)?Ds(e):U(as,null,String(e))}function Ds(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ss(e)}function Os(e,t){let n=0,{shapeFlag:r}=e;if(t==null)t=null;else if(p(t))n=16;else if(typeof t==`object`){if(r&65){let n=t.default;n&&(n._c&&(n._d=!1),Os(e,n()),n._c&&(n._d=!0));return}{n=32;let r=t._;!r&&!_o(t)?t._ctx=sr:r===3&&sr&&(sr.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}}else if(v(t)){if(r&65){Os(e,{default:t});return}t={default:t,_ctx:sr},n=32}else t=String(t),r&64?(n=16,t=[Cs(t)]):n=8;e.children=t,e.shapeFlag|=n}function ks(...e){let t={};for(let n=0;nPs||sr,Is,Ls;{let e=ce(),t=(t,n)=>{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach(t=>t(e)):r[0](e)}};Is=t(`__VUE_INSTANCE_SETTERS__`,e=>Ps=e),Ls=t(`__VUE_SSR_SETTERS__`,e=>Vs=e)}var Rs=e=>{let t=Ps;return Is(e),e.scope.on(),()=>{e.scope.off(),Is(t)}},zs=()=>{Ps&&Ps.scope.off(),Is(null)};function Bs(e){return e.vnode.shapeFlag&4}var Vs=!1;function Hs(e,t=!1,n=!1){t&&Ls(t);let{props:r,children:i}=e.vnode,a=Bs(e);vo(e,r,a,t),jo(e,i,n||t);let o=a?Us(e,t):void 0;return t&&Ls(!1),o}function Us(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,va);let{setup:r}=n;if(r){Ze();let n=e.setupContext=r.length>1?Zs(e):null,i=Rs(e),a=Rn(r,e,0,[e.props,n]),o=S(a);if(Qe(),i(),(o||e.sp)&&!Ni(e)&&ri(e),o){if(a.then(zs,zs),t)return a.then(n=>{Ls(!0);try{Ws(e,n,t)}finally{Ls(!1)}}).catch(t=>{Bn(t,e,0)});e.asyncDep=a}else Ws(e,a,t)}else Ys(e,t)}function Ws(e,t,n){v(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:x(t)&&(e.setupState=pn(t)),Ys(e,n)}var Gs,Ks;function qs(e){Gs=e,Ks=e=>{e.render._rc&&(e.withProxy=new Proxy(e.ctx,ya))}}var Js=()=>!Gs;function Ys(e,t,n){let r=e.type;if(!e.render){if(!t&&Gs&&!r.render){let t=r.template||Ba(e).template;if(t){let{isCustomElement:n,compilerOptions:i}=e.appContext.config,{delimiters:a,compilerOptions:o}=r,s=l(l({isCustomElement:n,delimiters:a},i),o);r.render=Gs(t,s)}}e.render=r.render||a,Ks&&Ks(e)}{let t=Rs(e);Ze();try{Ia(e)}finally{Qe(),t()}}}var Xs={get(e,t){return ct(e,`get`,``),e[t]}};function Zs(e){return{attrs:new Proxy(e.attrs,Xs),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function Qs(e){return e.exposed?e.exposeProxy||=new Proxy(pn(nn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in ga)return ga[n](e)},has(e,t){return t in e||t in ga}}):e.proxy}function $s(e,t=!0){return v(e)?e.displayName||e.name:e.name||t&&e.__name}function ec(e){return v(e)&&`__vccOpts`in e}var W=(e,t)=>Sn(e,t,Vs);function tc(e,t,n){try{fs(-1);let r=arguments.length;return r===2?x(t)&&!p(t)?hs(t)?U(e,null,[t]):U(e,t):U(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&hs(n)&&(n=[n]),U(e,t,n))}finally{fs(1)}}function nc(){}function rc(e,t,n,r){let i=n[r];if(i&&ic(i,e))return i;let a=t();return a.memo=e.slice(),a.cacheIndex=r,n[r]=a}function ic(e,t){let n=e.memo;if(n.length!=t.length)return!1;for(let e=0;e0&&ls&&ls.push(e),!0}var ac=`3.5.41`,oc=a,sc=Ln,cc=ir,lc=or,uc={createComponentInstance:Ns,setupComponent:Hs,renderComponentRoot:oo,setCurrentRenderingInstance:lr,isVNode:hs,normalizeVNode:Es,getComponentPublicInstance:Qs,ensureValidVNode:pa,pushWarningContext:Nn,popWarningContext:Pn},dc=void 0,fc=typeof window<`u`&&window.trustedTypes;if(fc)try{dc=fc.createPolicy(`vue`,{createHTML:e=>e})}catch{}var pc=dc?e=>dc.createHTML(e):e=>e,mc=`http://www.w3.org/2000/svg`,hc=`http://www.w3.org/1998/Math/MathML`,gc=typeof document<`u`?document:null,_c=gc&&gc.createElement(`template`),vc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?gc.createElementNS(mc,e):t===`mathml`?gc.createElementNS(hc,e):n?gc.createElement(e,{is:n}):gc.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>gc.createTextNode(e),createComment:e=>gc.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>gc.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===a||!(i=i.nextSibling)););else{_c.innerHTML=pc(r===`svg`?`${e}`:r===`mathml`?`${e}`:e);let i=_c.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},yc=`transition`,bc=`animation`,xc=Symbol(`_vtc`),Sc={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Cc=l({},Gr,Sc),wc=(e=>(e.displayName=`Transition`,e.props=Cc,e))((e,{slots:t})=>tc(Yr,Dc(e),t)),Tc=(e,t=[])=>{p(e)?e.forEach(e=>e(...t)):e&&e(...t)},Ec=e=>e?p(e)?e.some(e=>e.length>1):e.length>1:!1;function Dc(e){let t={};for(let n in e)n in Sc||(t[n]=e[n]);if(e.css===!1)return t;let{name:n=`v`,type:r,duration:i,enterFromClass:a=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:c=a,appearActiveClass:u=o,appearToClass:d=s,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,h=Oc(i),g=h&&h[0],_=h&&h[1],{onBeforeEnter:v,onEnter:y,onEnterCancelled:b,onLeave:x,onLeaveCancelled:S,onBeforeAppear:C=v,onAppear:w=y,onAppearCancelled:T=b}=t,E=(e,t,n,r)=>{e._enterCancelled=r,jc(e,t?d:s),jc(e,t?u:o),n&&n()},D=(e,t)=>{e._isLeaving=!1,jc(e,f),jc(e,m),jc(e,p),t&&t()},O=e=>(t,n)=>{let i=e?w:y,o=()=>E(t,e,n);Tc(i,[t,o]),Mc(()=>{jc(t,e?c:a),Ac(t,e?d:s),Ec(i)||Pc(t,r,g,o)})};return l(t,{onBeforeEnter(e){Tc(v,[e]),Ac(e,a),Ac(e,o)},onBeforeAppear(e){Tc(C,[e]),Ac(e,c),Ac(e,u)},onEnter:O(!1),onAppear:O(!0),onLeave(e,t){e._isLeaving=!0;let n=()=>D(e,t);Ac(e,f),e._enterCancelled?(Ac(e,p),Rc(e)):(Rc(e),Ac(e,p)),Mc(()=>{e._isLeaving&&(jc(e,f),Ac(e,m),Ec(x)||Pc(e,r,_,n))}),Tc(x,[e,n])},onEnterCancelled(e){E(e,!1,void 0,!0),Tc(b,[e])},onAppearCancelled(e){E(e,!0,void 0,!0),Tc(T,[e])},onLeaveCancelled(e){D(e),Tc(S,[e])}})}function Oc(e){if(e==null)return null;if(x(e))return[kc(e.enter),kc(e.leave)];{let t=kc(e);return[t,t]}}function kc(e){return oe(e)}function Ac(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[xc]||(e[xc]=new Set)).add(t)}function jc(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));let n=e[xc];n&&(n.delete(t),n.size||(e[xc]=void 0))}function Mc(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}var Nc=0;function Pc(e,t,n,r){let i=e._endId=++Nc,a=()=>{i===e._endId&&r()};if(n!=null)return setTimeout(a,n);let{type:o,timeout:s,propCount:c}=Fc(e,t);if(!o)return r();let l=o+`end`,u=0,d=()=>{e.removeEventListener(l,f),a()},f=t=>{t.target===e&&++u>=c&&d()};setTimeout(()=>{u(n[e]||``).split(`, `),i=r(`${yc}Delay`),a=r(`${yc}Duration`),o=Ic(i,a),s=r(`${bc}Delay`),c=r(`${bc}Duration`),l=Ic(s,c),u=null,d=0,f=0;t===yc?o>0&&(u=yc,d=o,f=a.length):t===bc?l>0&&(u=bc,d=l,f=c.length):(d=Math.max(o,l),u=d>0?o>l?yc:bc:null,f=u?u===yc?a.length:c.length:0);let p=u===yc&&/\b(?:transform|all)(?:,|$)/.test(r(`${yc}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function Ic(e,t){for(;e.lengthLc(t)+Lc(e[n])))}function Lc(e){return e===`auto`?0:Number(e.slice(0,-1).replace(`,`,`.`))*1e3}function Rc(e){return(e?e.ownerDocument:document).body.offsetHeight}function zc(e,t,n){let r=e[xc];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var Bc=Symbol(`_vod`),Vc=Symbol(`_vsh`),Hc={name:`show`,beforeMount(e,{value:t},{transition:n}){e[Bc]=e.style.display===`none`?``:e.style.display,n&&t?n.beforeEnter(e):Uc(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),Uc(e,!0),r.enter(e)):r.leave(e,()=>{Uc(e,!1)}):Uc(e,t))},beforeUnmount(e,{value:t}){Uc(e,t)}};function Uc(e,t){e.style.display=t?e[Bc]:`none`,e[Vc]=!t}function Wc(){Hc.getSSRProps=({value:e})=>{if(!e)return{style:{display:`none`}}}}var Gc=Symbol(``);function Kc(e){let t=Fs();if(!t)return;let n=t.ut=(n=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(e=>Jc(e,n))},r=()=>{let r=e(t.proxy);t.ce?Jc(t.ce,r):qc(t.subTree,r),n(r)};Yi(()=>{$n(r)}),Ji(()=>{Cr(r,a,{flush:`post`});let e=new MutationObserver(r);e.observe(t.subTree.el.parentNode,{childList:!0}),Qi(()=>e.disconnect())})}function qc(e,t){if(e.shapeFlag&128){let n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{qc(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)Jc(e.el,t);else if(e.type===is)e.children.forEach(e=>qc(e,t));else if(e.type===ss){let{el:n,anchor:r}=e;for(;n&&(Jc(n,t),n!==r);)n=n.nextSibling}}function Jc(e,t){if(e.nodeType===1){let n=e.style,r=``;for(let e in t){let i=Ee(t[e]);n.setProperty(`--${e}`,i),r+=`--${e}: ${i};`}n[Gc]=r}}var Yc=/(?:^|;)\s*display\s*:/;function Xc(e,t,n){let r=e.style,i=y(n),a=!1;if(n&&!i){if(t){if(y(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??Qc(r,t,``)}else for(let e in t)n[e]??Qc(r,e,``)}for(let i in n){i===`display`&&(a=!0);let o=n[i];o==null?Qc(r,i,``):nl(e,i,!y(t)&&t?t[i]:void 0,o)||Qc(r,i,o)}}else if(i){if(t!==n){let e=r[Gc];e&&(n+=`;`+e),r.cssText=n,a=Yc.test(n)}}else t&&e.removeAttribute(`style`);Bc in e&&(e[Bc]=a?r.display:``,e[Vc]&&(r.display=`none`))}var Zc=/\s*!important$/;function Qc(e,t,n){if(p(n))n.forEach(n=>Qc(e,t,n));else if(n??=``,t.startsWith(`--`))e.setProperty(t,n);else{let r=tl(e,t);Zc.test(n)?e.setProperty(j(r),n.replace(Zc,``),`important`):e[r]=n}}var $c=[`Webkit`,`Moz`,`ms`],el={};function tl(e,t){let n=el[t];if(n)return n;let r=A(t);if(r!==`filter`&&r in e)return el[t]=r;r=ne(r);for(let n=0;n<$c.length;n++){let i=$c[n]+r;if(i in e)return el[t]=i}return t}function nl(e,t,n,r){return e.tagName===`TEXTAREA`&&(t===`width`||t===`height`)&&y(r)&&n===r}var rl=`http://www.w3.org/1999/xlink`;function il(e,t,n,r,i,a=ve(t)){r&&t.startsWith(`xlink:`)?n==null?e.removeAttributeNS(rl,t.slice(6,t.length)):e.setAttributeNS(rl,t,n):n==null||a&&!P(n)?e.removeAttribute(t):e.setAttribute(t,a?``:b(n)?String(n):n)}function al(e,t,n,r,i){if(t===`innerHTML`||t===`textContent`){n!=null&&(e[t]=t===`innerHTML`?pc(n):n);return}let a=e.tagName;if(t===`value`&&a!==`PROGRESS`&&!a.includes(`-`)){let r=a===`OPTION`?e.getAttribute(`value`)||``:e.value,i=n==null?e.type===`checkbox`?`on`:``:String(n);(r!==i||!(`_value`in e))&&(e.value=i),n??e.removeAttribute(t),e._value=n;return}let o=!1;if(n===``||n==null){let r=typeof e[t];r===`boolean`?n=P(n):n==null&&r===`string`?(n=``,o=!0):r===`number`&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(i||t)}function ol(e,t,n,r){e.addEventListener(t,n,r)}function sl(e,t,n,r){e.removeEventListener(t,n,r)}var cl=Symbol(`_vei`);function ll(e,t,n,r,i=null){let a=e[cl]||(e[cl]={}),o=a[t];if(r&&o)o.value=r;else{let[n,s]=fl(t);r?ol(e,n,a[t]=gl(r,i),s):o&&(sl(e,n,o,s),a[t]=void 0)}}var ul=/(Once|Passive|Capture)$/,dl=/^on:?(?:Once|Passive|Capture)$/;function fl(e){let t,n;for(;(n=e.match(ul))&&!dl.test(e);)t||={},e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===`:`?e.slice(3):j(e.slice(2)),t]}var pl=0,ml=Promise.resolve(),hl=()=>pl||=(ml.then(()=>pl=0),Date.now());function gl(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;let r=n.value;if(p(r)){let n=e.stopImmediatePropagation;e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0};let i=r.slice(),a=[e];for(let n=0;ne.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,vl=(e,t,n,r,i,a)=>{let o=i===`svg`;t===`class`?zc(e,r,o):t===`style`?Xc(e,n,r):s(t)?c(t)||ll(e,t,n,r,a):(t[0]===`.`?(t=t.slice(1),!0):t[0]===`^`?(t=t.slice(1),!1):yl(e,t,r,o))?(al(e,t,r),!e.tagName.includes(`-`)&&(t===`value`||t===`checked`||t===`selected`)&&il(e,t,r,o,a,t!==`value`)):e._isVueCE&&(bl(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!y(r)))?al(e,A(t),r,a,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),il(e,t,r,o))};function yl(e,t,n,r){if(r)return!!(t===`innerHTML`||t===`textContent`||t in e&&_l(t)&&v(n));if(t===`spellcheck`||t===`draggable`||t===`translate`||t===`autocorrect`||t===`sandbox`&&e.tagName===`IFRAME`||t===`form`||t===`list`&&e.tagName===`INPUT`||t===`type`&&e.tagName===`TEXTAREA`)return!1;if(t===`width`||t===`height`){let t=e.tagName;if(t===`IMG`||t===`VIDEO`||t===`CANVAS`||t===`SOURCE`)return!1}return _l(t)&&y(n)?!1:t in e}function bl(e,t){let n=e._def.props;if(!n)return!1;let r=A(t);return Array.isArray(n)?n.some(e=>A(e)===r):Object.keys(n).some(e=>A(e)===r)}var xl={};function Sl(e,t,n){let r=R(e,t);E(r)&&(r=l({},r,t));class i extends Tl{constructor(e){super(r,e,n)}}return i.def=r,i}var Cl=((e,t)=>Sl(e,t,gu)),wl=typeof HTMLElement<`u`?HTMLElement:class{},Tl=class e extends wl{constructor(e,t={},n=hu){super(),this._def=e,this._props=t,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&n!==hu?this._root=this.shadowRoot:e.shadowRoot===!1?this._root=this:(this.attachShadow(l({},e.shadowRootOptions,{mode:`open`})),this._root=this.shadowRoot)}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t&&=t.assignedSlot||t.parentNode||t.host;)if(t instanceof e){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(e=this._parent){e&&(this._instance.parent=e._instance,this._inheritParentContext(e))}_inheritParentContext(e=this._parent){e&&this._app&&Object.setPrototypeOf(this._app._context.provides,e._instance.provides)}disconnectedCallback(){this._connected=!1,Yn(()=>{this._connected||(this._ob&&=(this._ob.disconnect(),null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&=(this._teleportTargets.clear(),void 0))})}_processMutations(e){for(let t of e)this._setAttr(t.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let e=0;e{this._resolved=!0,this._pendingResolve=void 0;let{props:n,styles:r}=e,i;if(n&&!p(n))for(let e in n){let t=n[e];(t===Number||t&&t.type===Number)&&(e in this._props&&(this._props[e]=oe(this._props[e])),(i||=Object.create(null))[A(e)]=!0)}this._numberProps=i,this._resolveProps(e),this.shadowRoot&&this._applyStyles(r),this._mount(e)},t=this._def.__asyncLoader;if(t)return this._pendingResolve=t().then(t=>{t.configureApp=this._def.configureApp,e(this._def=t,!0)}),this._pendingResolve;e(this._def)}_mount(e){this._app=this._createApp(e),this._inheritParentContext(),e.configureApp&&e.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);let t=this._instance&&this._instance.exposed;if(t)for(let e in t)f(this,e)||Object.defineProperty(this,e,{get:()=>I(t[e])})}_resolveProps(e){let{props:t}=e,n=p(t)?t:Object.keys(t||{});for(let e of Object.keys(this))e[0]!==`_`&&n.includes(e)&&this._setProp(e,this[e]);for(let e of n.map(A))Object.defineProperty(this,e,{get(){return this._getProp(e)},set(t){this._setProp(e,t,!0,!this._patching)}})}_setAttr(e){if(e.startsWith(`data-v-`))return;let t=this.hasAttribute(e),n=t?this.getAttribute(e):xl,r=A(e);t&&this._numberProps&&this._numberProps[r]&&(n=oe(n)),this._setProp(r,n,!1,!0)}_getProp(e){return this._props[e]}_setProp(e,t,n=!0,r=!1){if(t!==this._props[e]&&(this._dirty=!0,t===xl?delete this._props[e]:(this._props[e]=t,e===`key`&&this._app&&(this._app._ceVNode.key=t)),r&&this._instance&&this._update(),n)){let n=this._ob;n&&(this._processMutations(n.takeRecords()),n.disconnect()),t===!0?this.setAttribute(j(e),``):typeof t==`string`||typeof t==`number`?this.setAttribute(j(e),t+``):t||this.removeAttribute(j(e)),n&&n.observe(this,{attributes:!0})}}_update(){let e=this._createVNode();this._app&&(e.appContext=this._app._context),pu(e,this._root)}_createVNode(){let e={};this.shadowRoot||(e.onVnodeMounted=e.onVnodeUpdated=this._renderSlots.bind(this));let t=U(this._def,l(e,this._props));return this._instance||(t.ce=e=>{this._instance=e,e.ce=this,e.isCE=!0;let t=(e,t)=>{this.dispatchEvent(new CustomEvent(e,E(t[0])?l({detail:t},t[0]):{detail:t}))};e.emit=(e,...n)=>{t(e,n),j(e)!==e&&t(j(e),n)},this._setParent()}),t}_applyStyles(e,t,n){if(!e)return;if(t){if(t===this._def||this._styleChildren.has(t))return;this._styleChildren.add(t)}let r=this._nonce,i=this.shadowRoot,a=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(i),o=null;for(let s=e.length-1;s>=0;s--){let c=document.createElement(`style`);r&&c.setAttribute(`nonce`,r),c.textContent=e[s],i.insertBefore(c,o||a),o=c,s===0&&(n||this._styleAnchors.set(this._def,c),t&&this._styleAnchors.set(t,c))}}_getStyleAnchor(e){if(!e)return null;let t=this._styleAnchors.get(e);return t&&t.parentNode===this.shadowRoot?t:(t&&this._styleAnchors.delete(e),null)}_getRootStyleInsertionAnchor(e){for(let t=0;t(delete e.props.mode,e))({name:`TransitionGroup`,props:l({},Cc,{tag:String,moveClass:String}),setup(e,{slots:t}){let n=Fs(),r=Ur(),i,a;return Xi(()=>{if(!i.length)return;let t=e.moveClass||`${e.name||`v`}-move`;if(!Rl(i[0].el,n.vnode.el,t)){i=[];return}i.forEach(Pl),i.forEach(Fl);let r=i.filter(Il);Rc(n.vnode.el),r.forEach(e=>{let n=e.el,r=n.style;Ac(n,t),r.transform=r.webkitTransform=r.transitionDuration=``;let i=n[jl]=e=>{e&&e.target!==n||(!e||e.propertyName.endsWith(`transform`))&&(n.removeEventListener(`transitionend`,i),n[jl]=null,jc(n,t))};n.addEventListener(`transitionend`,i)}),i=[]}),()=>{let o=tn(e),s=Dc(o),c=o.tag||is;if(i=[],a)for(let e=0;e{e.split(/\s+/).forEach(e=>e&&r.classList.remove(e))}),n.split(/\s+/).forEach(e=>e&&r.classList.add(e)),r.style.display=`none`;let a=t.nodeType===1?t:t.parentNode;a.appendChild(r);let{hasTransform:o}=Fc(r);return a.removeChild(r),o}var zl=e=>{let t=e.props[`onUpdate:modelValue`]||!1;return p(t)?e=>re(t,e):t};function Bl(e){e.target.composing=!0}function Vl(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event(`input`)))}var Hl=Symbol(`_assign`),Ul=Symbol(`_initialValue`);function Wl(e,t,n){return t&&(e=e.trim()),n&&(e=ae(e)),e}var Gl={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e.parentNode&&(e.type===`text`?e[Ul]=e.defaultValue.replace(/[\r\n]/g,``):e.type===`textarea`&&(e[Ul]=e.defaultValue.replace(/\r\n?/g,` `))),e[Hl]=zl(i);let a=r||i.props&&i.props.type===`number`;ol(e,t?`change`:`input`,t=>{t.target.composing||e[Hl](Wl(e.value,n,a))}),(n||a)&&ol(e,`change`,()=>{e.value=Wl(e.value,n,a)}),t||(ol(e,`compositionstart`,Bl),ol(e,`compositionend`,Vl),ol(e,`change`,Vl))},mounted(e,{value:t,modifiers:{trim:n,number:r}}){let i=t??``,a=e[Ul];delete e[Ul],a!==void 0&&(e.type===`text`||e.type===`textarea`)&&e.value!==a?e[Hl](Wl(e.value,n,r)):e.value=i},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:a}},o){if(e[Hl]=zl(o),e.composing)return;let s=(a||e.type===`number`)&&!/^0\d/.test(e.value)?ae(e.value):e.value,c=t??``;if(s===c)return;let l=e.getRootNode();(l instanceof Document||l instanceof ShadowRoot)&&l.activeElement===e&&e.type!==`range`&&(r&&t===n||i&&e.value.trim()===c)||(e.value=c)}},Kl={deep:!0,created(e,t,n){e[Hl]=zl(n),ol(e,`change`,()=>{let t=e._modelValue,n=Zl(e),r=e.checked,i=e[Hl];if(p(t)){let e=xe(t,n),a=e!==-1;if(r&&!a)i(t.concat(n));else if(!r&&a){let n=[...t];n.splice(e,1),i(n)}}else if(h(t)){let e=new Set(t);r?e.add(n):e.delete(n),i(e)}else i(Ql(e,r))})},mounted:ql,beforeUpdate(e,t,n){e[Hl]=zl(n),ql(e,t,n)}};function ql(e,{value:t,oldValue:n},r){e._modelValue=t;let i;if(p(t))i=xe(t,r.props.value)>-1;else if(h(t))i=t.has(r.props.value);else{if(t===n)return;i=be(t,Ql(e,!0))}e.checked!==i&&(e.checked=i)}var Jl={created(e,{value:t},n){e.checked=be(t,n.props.value),e[Hl]=zl(n),ol(e,`change`,()=>{e[Hl](Zl(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[Hl]=zl(r),t!==n&&(e.checked=be(t,r.props.value))}},Yl={deep:!0,created(e,{value:t,modifiers:{number:n}},r){e._modelValue=t,ol(e,`change`,()=>{let t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>n?ae(Zl(e)):Zl(e));e[Hl](e.multiple?h(e._modelValue)?new Set(t):t:t[0]),e._assigning=!0,Yn(()=>{e._assigning=!1})}),e[Hl]=zl(r)},mounted(e,{value:t}){Xl(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[Hl]=zl(n)},updated(e,{value:t}){e._assigning||Xl(e,t)}};function Xl(e,t){let n=e.multiple,r=p(t);if(!(n&&!r&&!h(t))){for(let i=0,a=e.options.length;iString(e)===String(o)):xe(t,o)>-1}else a.selected=t.has(o)}else if(be(Zl(a),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Zl(e){return`_value`in e?e._value:e.value}function Ql(e,t){let n=t?`_trueValue`:`_falseValue`;return n in e?e[n]:t}var $l={created(e,t,n){tu(e,t,n,null,`created`)},mounted(e,t,n){tu(e,t,n,null,`mounted`)},beforeUpdate(e,t,n,r){tu(e,t,n,r,`beforeUpdate`)},updated(e,t,n,r){tu(e,t,n,r,`updated`)}};function eu(e,t){switch(e){case`SELECT`:return Yl;case`TEXTAREA`:return Gl;default:switch(t){case`checkbox`:return Kl;case`radio`:return Jl;default:return Gl}}}function tu(e,t,n,r,i){let a=eu(e.tagName,n.props&&n.props.type)[i];a&&a(e,t,n,r)}function nu(){Gl.getSSRProps=({value:e})=>({value:e}),Jl.getSSRProps=({value:e},t)=>{if(t.props&&be(t.props.value,e))return{checked:!0}},Kl.getSSRProps=({value:e},t)=>{if(p(e)){if(t.props&&xe(e,t.props.value)>-1)return{checked:!0}}else if(h(e)){if(t.props&&e.has(t.props.value))return{checked:!0}}else if(e)return{checked:!0}},$l.getSSRProps=(e,t)=>{if(typeof t.type!=`string`)return;let n=eu(t.type.toUpperCase(),t.props&&t.props.type);if(n.getSSRProps)return n.getSSRProps(e,t)}}var ru=[`ctrl`,`shift`,`alt`,`meta`],iu={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,t)=>ru.some(n=>e[`${n}Key`]&&!t.includes(n))},au=(e,t)=>{if(!e)return e;let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e{let n=e._withKeys||={},r=t.join(`.`);return n[r]||(n[r]=(n=>{if(!(`key`in n))return;let r=j(n.key);if(t.some(e=>e===r||ou[e]===r))return e(n)}))},cu=l({patchProp:vl},vc),lu,uu=!1;function du(){return lu||=Po(cu)}function fu(){return lu=uu?lu:Fo(cu),uu=!0,lu}var pu=((...e)=>{du().render(...e)}),mu=((...e)=>{fu().hydrate(...e)}),hu=((...e)=>{let t=du().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=vu(e);if(!r)return;let i=t._component;!v(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent=``);let a=n(r,!1,_u(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t}),gu=((...e)=>{let t=fu().createApp(...e),{mount:n}=t;return t.mount=e=>{let t=vu(e);if(t)return n(t,!0,_u(t))},t});function _u(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function vu(e){return y(e)?document.querySelector(e):e}var yu=!1,bu=()=>{yu||(yu=!0,nu(),Wc())},xu=t({BaseTransition:()=>Yr,BaseTransitionPropsValidators:()=>Gr,Comment:()=>os,DeprecationTypes:()=>null,EffectScope:()=>Oe,ErrorCodes:()=>In,ErrorTypeStrings:()=>sc,Fragment:()=>is,KeepAlive:()=>Li,ReactiveEffect:()=>Pe,Static:()=>ss,Suspense:()=>qo,Teleport:()=>Rr,Text:()=>as,TrackOpTypes:()=>Cn,Transition:()=>wc,TransitionGroup:()=>Nl,TriggerOpTypes:()=>wn,VueElement:()=>Tl,assertNumber:()=>Fn,callWithAsyncErrorHandling:()=>zn,callWithErrorHandling:()=>Rn,camelize:()=>A,capitalize:()=>ne,cloneVNode:()=>Ss,compatUtils:()=>null,compile:()=>Su,computed:()=>W,createApp:()=>hu,createBlock:()=>V,createCommentVNode:()=>Ts,createElementBlock:()=>ms,createElementVNode:()=>H,createHydrationRenderer:()=>Fo,createPropsRestProxy:()=>Na,createRenderer:()=>Po,createSSRApp:()=>gu,createSlots:()=>fa,createStaticVNode:()=>ws,createTextVNode:()=>Cs,createVNode:()=>U,customRef:()=>hn,defineAsyncComponent:()=>Pi,defineComponent:()=>R,defineCustomElement:()=>Sl,defineEmits:()=>xa,defineExpose:()=>Sa,defineModel:()=>Ta,defineOptions:()=>Ca,defineProps:()=>ba,defineSSRCustomElement:()=>Cl,defineSlots:()=>wa,devtools:()=>cc,effect:()=>qe,effectScope:()=>ke,getCurrentInstance:()=>Fs,getCurrentScope:()=>Ae,getCurrentWatcher:()=>On,getTransitionRawChildren:()=>ti,guardReactiveProps:()=>xs,h:()=>tc,handleError:()=>Bn,hasInjectionContext:()=>_r,hydrate:()=>mu,hydrateOnIdle:()=>Di,hydrateOnInteraction:()=>ji,hydrateOnMediaQuery:()=>Ai,hydrateOnVisible:()=>ki,initCustomFormatter:()=>nc,initDirectivesForSSR:()=>bu,inject:()=>gr,isMemoSame:()=>ic,isProxy:()=>en,isReactive:()=>Zt,isReadonly:()=>Qt,isRef:()=>on,isRuntimeOnly:()=>Js,isShallow:()=>$t,isVNode:()=>hs,markRaw:()=>nn,mergeDefaults:()=>ja,mergeModels:()=>Ma,mergeProps:()=>ks,nextTick:()=>Yn,nodeOps:()=>vc,normalizeClass:()=>he,normalizeProps:()=>ge,normalizeStyle:()=>ue,onActivated:()=>zi,onBeforeMount:()=>qi,onBeforeUnmount:()=>Zi,onBeforeUpdate:()=>Yi,onDeactivated:()=>Bi,onErrorCaptured:()=>na,onMounted:()=>Ji,onRenderTracked:()=>ta,onRenderTriggered:()=>ea,onScopeDispose:()=>je,onServerPrefetch:()=>$i,onUnmounted:()=>Qi,onUpdated:()=>Xi,onWatcherCleanup:()=>kn,openBlock:()=>B,patchProp:()=>vl,popScopeId:()=>dr,provide:()=>hr,proxyRefs:()=>pn,pushScopeId:()=>ur,queuePostFlushCb:()=>$n,reactive:()=>Kt,readonly:()=>Jt,ref:()=>F,registerRuntimeCompiler:()=>qs,render:()=>pu,renderList:()=>da,renderSlot:()=>z,resolveComponent:()=>aa,resolveDirective:()=>ca,resolveDynamicComponent:()=>sa,resolveFilter:()=>null,resolveTransitionHooks:()=>Zr,setBlockTracking:()=>fs,setDevtoolsHook:()=>lc,setTransitionHooks:()=>ei,shallowReactive:()=>qt,shallowReadonly:()=>Yt,shallowRef:()=>sn,ssrContextKey:()=>vr,ssrUtils:()=>uc,stop:()=>Je,toDisplayString:()=>Ce,toHandlerKey:()=>M,toHandlers:()=>ma,toRaw:()=>tn,toRef:()=>yn,toRefs:()=>gn,toValue:()=>dn,transformVNodeArgs:()=>_s,triggerRef:()=>un,unref:()=>I,useAttrs:()=>Oa,useCssModule:()=>Ol,useCssVars:()=>Kc,useHost:()=>El,useId:()=>ni,useModel:()=>eo,useSSRContext:()=>yr,useShadowRoot:()=>Dl,useSlots:()=>Da,useTemplateRef:()=>ii,useTransitionState:()=>Ur,vModelCheckbox:()=>Kl,vModelDynamic:()=>$l,vModelRadio:()=>Jl,vModelSelect:()=>Yl,vModelText:()=>Gl,vShow:()=>Hc,version:()=>ac,warn:()=>oc,watch:()=>Cr,watchEffect:()=>br,watchPostEffect:()=>xr,watchSyncEffect:()=>Sr,withAsyncContext:()=>Pa,withCtx:()=>L,withDefaults:()=>Ea,withDirectives:()=>pr,withKeys:()=>su,withMemo:()=>rc,withModifiers:()=>au,withScopeId:()=>fr}),Su=()=>{};function Cu(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;ttypeof e==`boolean`?`${e}`:e===0?`0`:e,Eu=wu,Du=(e,t)=>n=>{if(t?.variants==null)return Eu(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=Tu(t)||Tu(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},{});return Eu(e,a,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},[]),n?.class,n?.className)};function Ou(e){return typeof e==`string`?`'${e}'`:new ku().serialize(e)}var ku=function(){class e{#e=new Map;compare(e,t){let n=typeof e,r=typeof t;return n===`string`&&r===`string`?e.localeCompare(t):n===`number`&&r===`number`?e-t:String.prototype.localeCompare.call(this.serialize(e,!0),this.serialize(t,!0))}serialize(e,t){if(e===null)return`null`;switch(typeof e){case`string`:return t?e:`'${e}'`;case`bigint`:return`${e}n`;case`object`:return this.$object(e);case`function`:return this.$function(e)}return String(e)}serializeObject(e){let t=Object.prototype.toString.call(e);if(t!==`[object Object]`)return this.serializeBuiltInType(t.length<10?`unknown:${t}`:t.slice(8,-1),e);let n=e.constructor,r=n===Object||n===void 0?``:n.name;if(r!==``&&globalThis[r]===n)return this.serializeBuiltInType(r,e);if(typeof e.toJSON==`function`){let t=e.toJSON();return r+(typeof t==`object`&&t?this.$object(t):`(${this.serialize(t)})`)}return this.serializeObjectEntries(r,Object.entries(e))}serializeBuiltInType(e,t){let n=this[`$`+e];if(n)return n.call(this,t);if(typeof t?.entries==`function`)return this.serializeObjectEntries(e,t.entries());throw Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,t){let n=Array.from(t).sort((e,t)=>this.compare(e[0],t[0])),r=`${e}{`;for(let e=0;ethis.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries(`Map`,e.entries())}}for(let t of[`Error`,`RegExp`,`URL`])e.prototype[`$`+t]=function(e){return`${t}(${e})`};for(let t of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`,`)}]`};for(let t of[`BigInt64Array`,`BigUint64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`n,`)}${e.length>0?`n`:``}]`};return e}();function Au(e,t){return e===t||Ou(e)===Ou(t)}function ju(e,t=-1/0,n=1/0){return Math.min(n,Math.max(t,e))}function Mu(e,t){let n=e,r=t.toString(),i=r.indexOf(`.`),a=i>=0?r.length-i:0;if(a>0){let e=10**a;n=Math.round(n*e)/e}return n}function Nu(e,t,n,r){t=Number(t),n=Number(n);let i=(e-(Number.isNaN(t)?0:t))%r,a=Mu(Math.abs(i)*2>=r?e+Math.sign(i)*(r-Math.abs(i)):e-i,r);return Number.isNaN(t)?!Number.isNaN(n)&&a>n&&(a=Math.floor(Mu(n/r,r))*r):an&&(a=t+Math.floor(Mu((n-t)/r,r))*r),a=Mu(a,r),a}function Pu(e,t){let n=typeof e==`string`&&!t?`${e}Context`:t,r=Symbol(n);return[t=>{let n=gr(r,t);if(n||n===null)return n;throw Error(`Injection \`${r.toString()}\` not found. Component must be used within ${Array.isArray(e)?`one of the following components: ${e.join(`, `)}`:`\`${e}\``}`)},e=>(hr(r,e),e)]}function Fu(){let e=document.activeElement;if(e==null)return null;for(;e!=null&&e.shadowRoot!=null&&e.shadowRoot.activeElement!=null;)e=e.shadowRoot.activeElement;return e}function Iu(e,t,n){let r=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),r.dispatchEvent(i)}function Lu(e){return e==null}function Ru(e,t){return Lu(e)?!1:Array.isArray(e)?e.some(e=>Au(e,t)):Au(e,t)}function zu(e,t){return Ae()?(je(e,t),!0):!1}function Bu(){let e=new Set,t=t=>{e.delete(t)};return{on:n=>{e.add(n);let r=()=>t(n);return zu(r),{off:r}},off:t,trigger:(...t)=>Promise.all(Array.from(e).map(e=>e(...t))),clear:()=>{e.clear()}}}function Vu(e){let t=!1,n,r=ke(!0);return((...i)=>(t||=(n=r.run(()=>e(...i)),!0),n))}var Hu=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var Uu=e=>e!==void 0,Wu=Object.prototype.toString,Gu=e=>Wu.call(e)===`[object Object]`,Ku=qu();function qu(){var e,t;return Hu&&!!((e=window)!=null&&(e=e.navigator)!=null&&e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window)==null||(t=t.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function Ju(e){return Array.isArray(e)?e:[e]}function Yu(e){return e||Fs()}function Xu(e){if(!Hu)return e;let t=0,n,r,i=()=>{--t,r&&t<=0&&(r.stop(),n=void 0,r=void 0)};return((...a)=>(t+=1,r||(r=ke(!0),n=r.run(()=>e(...a))),zu(i),n))}function Zu(e){return Kt(on(e)?new Proxy({},{get(t,n,r){return I(Reflect.get(e.value,n,r))},set(t,n,r){return on(e.value[n])&&!on(r)?e.value[n].value=r:e.value[n]=r,!0},deleteProperty(t,n){return Reflect.deleteProperty(e.value,n)},has(t,n){return Reflect.has(e.value,n)},ownKeys(){return Object.keys(e.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}}):e)}function Qu(e){return Zu(W(e))}function $u(e,...t){let n=t.flat(),r=n[0];return Qu(()=>Object.fromEntries(typeof r==`function`?Object.entries(gn(e)).filter(([e,t])=>!r(dn(t),e)):Object.entries(gn(e)).filter(e=>!n.includes(e[0]))))}function ed(e,t=1e4){return hn((n,r)=>{let i=dn(e),a,o=()=>setTimeout(()=>{i=dn(e),r()},dn(t));return zu(()=>{clearTimeout(a)}),{get(){return n(),i},set(e){i=e,r(),clearTimeout(a),a=o()}}})}function td(e,t){Yu(t)&&Zi(e,t)}function nd(e,t,n={}){let{immediate:r=!0,immediateCallback:i=!1}=n,a=sn(!1),o;function s(){o&&=(clearTimeout(o),void 0)}function c(){a.value=!1,s()}function l(...n){i&&e(),s(),a.value=!0,o=setTimeout(()=>{a.value=!1,o=void 0,e(...n)},dn(t))}return r&&(a.value=!0,Hu&&l()),zu(c),{isPending:Yt(a),start:l,stop:c}}function rd(e,t,n){return Cr(e,t,{...n,immediate:!0})}var id=Hu?window:void 0;Hu&&window.document,Hu&&window.navigator,Hu&&window.location;function ad(e){let t=dn(e);return t?.$el??t}function od(...e){let t=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),n=W(()=>{let t=Ju(dn(e[0])).filter(e=>e!=null);return t.every(e=>typeof e!=`string`)?t:void 0});return rd(()=>[n.value?.map(e=>ad(e))??[id].filter(e=>e!=null),Ju(dn(n.value?e[1]:e[0])),Ju(I(n.value?e[2]:e[1])),dn(n.value?e[3]:e[2])],([e,n,r,i],a,o)=>{if(!e?.length||!n?.length||!r?.length)return;let s=Gu(i)?{...i}:i,c=e.flatMap(e=>n.flatMap(n=>r.map(r=>t(e,n,r,s))));o(()=>{c.forEach(e=>e())})},{flush:`post`})}function sd(){let e=sn(!1),t=Fs();return t&&Ji(()=>{e.value=!0},t),e}function cd(e){let t=sd();return W(()=>(t.value,!!e()))}function ld(e){return typeof e==`function`?e:typeof e==`string`?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function ud(...e){let t,n,r={};e.length===3?(t=e[0],n=e[1],r=e[2]):e.length===2?typeof e[1]==`object`?(t=!0,n=e[0],r=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);let{target:i=id,eventName:a=`keydown`,passive:o=!1,dedupe:s=!1}=r,c=ld(t);return od(i,a,e=>{e.repeat&&dn(s)||c(e)&&n(e)},o)}function dd(e){return JSON.parse(JSON.stringify(e))}function fd(e,t,n={}){let{window:r=id,...i}=n,a,o=cd(()=>r&&`ResizeObserver`in r),s=()=>{a&&=(a.disconnect(),void 0)},c=Cr(W(()=>{let t=dn(e);return Array.isArray(t)?t.map(e=>ad(e)):[ad(t)]}),e=>{if(s(),o.value&&r){a=new ResizeObserver(t);for(let t of e)t&&a.observe(t,i)}},{immediate:!0,flush:`post`}),l=()=>{s(),c()};return zu(l),{isSupported:o,stop:l}}function pd(e,t,n,r={}){var i,a;let{clone:o=!1,passive:s=!1,eventName:c,deep:l=!1,defaultValue:u,shouldEmit:d}=r,f=Fs(),p=n||f?.emit||(f==null||(i=f.$emit)==null?void 0:i.bind(f))||(f==null||(a=f.proxy)==null||(a=a.$emit)==null?void 0:a.bind(f?.proxy)),m=c;t||=`modelValue`,m||=`update:${t.toString()}`;let h=e=>o?typeof o==`function`?o(e):dd(e):e,g=()=>Uu(e[t])?h(e[t]):u,_=e=>{d?d(e)&&p(m,e):p(m,e)};if(s){let n=F(g()),r=!1;return Cr(()=>e[t],e=>{r||(r=!0,n.value=h(e),Yn(()=>r=!1))}),Cr(n,n=>{!r&&(n!==e[t]||l)&&_(n)},{deep:l}),n}return W({get(){return g()},set(e){_(e)}})}function md(e){return e?e.flatMap(e=>e.type===is?md(e.children):[e]):[]}var[hd,gd]=Pu(`ConfigProvider`),_d=Kt({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,originalBodyPointerEvents:void 0,branches:new Set});function vd(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)===`[object Module]`:!0}function yd(e,t,n=`.`,r){if(!vd(t))return yd(e,{},n,r);let i={...t};for(let t of Object.keys(e)){if(t===`__proto__`||t===`constructor`)continue;let a=e[t];a!=null&&(r&&r(i,t,a,n)||(i[t]=Array.isArray(a)&&Array.isArray(i[t])?[...a,...i[t]]:vd(a)&&vd(i[t])?yd(a,i[t],(n?`${n}.`:``)+t.toString(),r):a))}return i}function bd(e){return(...t)=>t.reduce((t,n)=>yd(t,n,``,e),{})}var xd=bd(),Sd=Xu(()=>{let e=F(new Map),t=F(),n=W(()=>{for(let t of e.value.values())if(t)return!0;return!1}),r=hd({scrollBody:F(!0)}),i=null,a=()=>{document.body.style.paddingRight=``,document.body.style.marginRight=``,_d.layersWithOutsidePointerEventsDisabled.size===0&&(document.body.style.pointerEvents=``),document.documentElement.style.removeProperty(`--scrollbar-width`),document.body.style.overflow=t.value??``,Ku&&i?.(),t.value=void 0};return Cr(n,(e,o)=>{if(!Hu)return;if(!e){o&&a();return}t.value===void 0&&(t.value=document.body.style.overflow);let s=window.innerWidth-document.documentElement.clientWidth,c={padding:s,margin:0},l=r.scrollBody?.value?typeof r.scrollBody.value==`object`?xd({padding:r.scrollBody.value.padding===!0?s:r.scrollBody.value.padding,margin:r.scrollBody.value.margin===!0?s:r.scrollBody.value.margin},c):c:{padding:0,margin:0};s>0&&(document.body.style.paddingRight=typeof l.padding==`number`?`${l.padding}px`:String(l.padding),document.body.style.marginRight=typeof l.margin==`number`?`${l.margin}px`:String(l.margin),document.documentElement.style.setProperty(`--scrollbar-width`,`${s}px`),document.body.style.overflow=`hidden`),Ku&&(i=od(document,`touchmove`,e=>Td(e),{passive:!1})),Yn(()=>{n.value&&(document.body.style.pointerEvents=`none`,document.body.style.overflow=`hidden`)})},{immediate:!0,flush:`sync`}),e});function Cd(e){let t=Math.random().toString(36).substring(2,7),n=Sd();n.value.set(t,e??!1);let r=W({get:()=>n.value.get(t)??!1,set:e=>n.value.set(t,e)});return td(()=>{n.value.delete(t)}),r}function wd(e){let t=window.getComputedStyle(e);if(t.overflowX===`scroll`||t.overflowY===`scroll`||t.overflowX===`auto`&&e.clientWidth1||(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}var Ed=/[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Bopomofo}]/u,Dd=/android/i;function Od(){return typeof navigator<`u`&&Dd.test(navigator.userAgent)}function kd(e){let t=F(!1),n=F(!0),r=F(!1),i=W(()=>t.value&&n.value);function a(){t.value=!0,n.value=!0,r.value=!1}function o(e){e.data&&(Ed.test(e.data)?(n.value=!0,r.value=!0):Od()&&!r.value&&(n.value=!1))}function s(n){Yn(()=>{t.value=!1,e?.(n)})}return{isComposing:t,shouldDeferInput:i,handleCompositionStart:a,handleCompositionUpdate:o,handleCompositionEnd:s}}function Ad(e){let t=hd({dir:F(`ltr`)});return W(()=>e?.value||t.dir?.value||`ltr`)}function jd(e){let t=Fs(),n=t?.type.emits,r={};return n?.length||console.warn(`No emitted event found. Please check component: ${t?.type.__name}`),n?.forEach(t=>{r[M(A(t))]=(...n)=>e(t,...n)}),r}var Md=0;function Nd(){br(e=>{if(!Hu)return;let t=document.querySelectorAll(`[data-reka-focus-guard]`);document.body.insertAdjacentElement(`afterbegin`,t[0]??Pd()),document.body.insertAdjacentElement(`beforeend`,t[1]??Pd()),Md++,e(()=>{Md===1&&document.querySelectorAll(`[data-reka-focus-guard]`).forEach(e=>e.remove()),Md--})})}function Pd(){let e=document.createElement(`span`);return e.setAttribute(`data-reka-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}function Fd(e){return W(()=>!dn(e)||!!ad(e)?.closest(`form`))}function Id(){let e=Fs(),t=F(),n=W(()=>r());Xi(()=>{n.value!==r()&&un(t)});function r(){return t.value&&`$el`in t.value&&[`#text`,`#comment`].includes(t.value.$el.nodeName)?t.value.$el.nextElementSibling:ad(t)}let i=Object.assign({},e.exposed),a={};for(let t in e.props)Object.defineProperty(a,t,{enumerable:!0,configurable:!0,get:()=>e.props[t]});if(Object.keys(i).length>0)for(let e in i)Object.defineProperty(a,e,{enumerable:!0,configurable:!0,get:()=>i[e]});Object.defineProperty(a,"$el",{enumerable:!0,configurable:!0,get:()=>e.vnode.el}),e.exposed=a;function o(n){if(t.value=n,n&&(Object.defineProperty(a,"$el",{enumerable:!0,configurable:!0,get:()=>n instanceof Element?n:n.$el}),!(n instanceof Element)&&!Object.hasOwn(n,`$el`))){let t=n.$.exposed,r=Object.assign({},a);for(let e in t)Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:()=>t[e]});e.exposed=r}}return{forwardRef:o,currentRef:t,currentElement:n}}function Ld(e){let t=Fs(),n=Object.keys(t?.type.props??{}).reduce((e,n)=>{let r=(t?.type.props[n]).default;return r!==void 0&&(e[n]=r),e},{}),r=yn(e);return W(()=>{let e={},i=t?.vnode.props??{};return Object.keys(i).forEach(t=>{e[A(t)]=i[t]}),Object.keys({...n,...e}).reduce((e,t)=>(r.value[t]!==void 0&&(e[t]=r.value[t]),e),{})})}function Rd(e,t){let n=Ld(e),r=t?jd(t):{};return W(()=>({...n.value,...r}))}function zd(){let e=Fs()?.vnode?.scopeId;return e?{[e]:``}:{}}function Bd(e,t){let n=ed(!1,300);zu(()=>{n.value=!1});let r=F(null),i=Bu();function a(){r.value=null,n.value=!1}function o(e,t){if(!t)return;let i=e.currentTarget,a={x:e.clientX,y:e.clientY},o=Hd(a,Vd(a,i.getBoundingClientRect()),1),s=Ud(t.getBoundingClientRect()),c=Gd([...o,...s]);r.value=c,n.value=!0}return br(n=>{if(e.value&&t.value){let r=e=>o(e,t.value),i=t=>o(t,e.value);e.value.addEventListener(`pointerleave`,r),t.value.addEventListener(`pointerleave`,i),n(()=>{e.value?.removeEventListener(`pointerleave`,r),t.value?.removeEventListener(`pointerleave`,i)})}}),br(n=>{if(r.value){let o=n=>{if(!r.value||!(n.target instanceof Element))return;let o=n.target,s={x:n.clientX,y:n.clientY},c=e.value?.contains(o)||t.value?.contains(o),l=!Wd(s,r.value),u=!!o.closest(`[data-grace-area-trigger]`);c?a():(l||u)&&(a(),i.trigger())};e.value?.ownerDocument.addEventListener(`pointermove`,o),n(()=>e.value?.ownerDocument.removeEventListener(`pointermove`,o))}}),{isPointerInTransit:n,onPointerExit:i.on}}function Vd(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 Hd(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})}return r}function Ud(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 Wd(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;er!=l>r&&n<(c-o)*(r-s)/(l-s)+o&&(i=!i)}return i}function Gd(e){let t=e.slice();return t.sort((e,t)=>e.xt.x?1:e.yt.y)),Kd(t)}function Kd(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n=2;){let e=t.at(-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.at(-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 qd=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},Jd=new WeakMap,Yd=new WeakMap,Xd={},Zd=0,Qd=function(e){return e&&(e.host||Qd(e.parentNode))},$d=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=Qd(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})},ef=function(e,t,n,r){var i=$d(t,Array.isArray(e)?e:[e]);Xd[n]||(Xd[n]=new WeakMap);var a=Xd[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=(Jd.get(e)||0)+1,l=(a.get(e)||0)+1;Jd.set(e,c),a.set(e,l),o.push(e),c===1&&i&&Yd.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(),Zd++,function(){o.forEach(function(e){var t=Jd.get(e)-1,i=a.get(e)-1;Jd.set(e,t),a.set(e,i),t||(Yd.has(e)||e.removeAttribute(r),Yd.delete(e)),i||e.removeAttribute(n)}),Zd--,Zd||(Jd=new WeakMap,Jd=new WeakMap,Yd=new WeakMap,Xd={})}},tf=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||qd(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),ef(r,i,n,`aria-hidden`)):function(){return null}};function nf(e){let t;Cr(()=>ad(e),e=>{let n=!1;try{n=!!e?.closest(`[popover]:not(:popover-open)`)}catch{}e&&!n?t=tf(e):t&&t()}),Qi(()=>{t&&t()})}var rf=0;function af(e,t=`reka`){if(e)return e;let n,r=hd({useId:void 0});return n=r.useId?r.useId():`useId`in xu?ni?.():`${++rf}`,t?`${t}-${n}`:n}function of(){return{ALT:`Alt`,ARROW_DOWN:`ArrowDown`,ARROW_LEFT:`ArrowLeft`,ARROW_RIGHT:`ArrowRight`,ARROW_UP:`ArrowUp`,BACKSPACE:`Backspace`,CAPS_LOCK:`CapsLock`,CONTROL:`Control`,DELETE:`Delete`,END:`End`,ENTER:`Enter`,ESCAPE:`Escape`,F1:`F1`,F10:`F10`,F11:`F11`,F12:`F12`,F2:`F2`,F3:`F3`,F4:`F4`,F5:`F5`,F6:`F6`,F7:`F7`,F8:`F8`,F9:`F9`,HOME:`Home`,META:`Meta`,PAGE_DOWN:`PageDown`,PAGE_UP:`PageUp`,SHIFT:`Shift`,SPACE:` `,TAB:`Tab`,CTRL:`Control`,ASTERISK:`*`,SPACE_CODE:`Space`}}function sf(e){let t=hd({locale:F(`en`)});return W(()=>e?.value||t.locale?.value||`en`)}function cf(e){let t=F(),n=W(()=>t.value?.width??0),r=W(()=>t.value?.height??0),i;return Ji(()=>{let n=ad(e);n?(t.value={width:n.offsetWidth,height:n.offsetHeight},i=new ResizeObserver(e=>{if(!Array.isArray(e)||!e.length)return;let r=e[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=n.offsetWidth,a=n.offsetHeight;t.value={width:i,height:a}}),i.observe(n,{box:`border-box`})):t.value=void 0}),Qi(()=>{i?.disconnect(),i=void 0}),{width:n,height:r}}function lf(e,t){let n=F(e);function r(e){return t[n.value][e]??n.value}return{state:n,dispatch:e=>{n.value=r(e)}}}function uf(e){let t=ed(``,1e3);return{search:t,handleTypeaheadSearch:(n,r)=>{if(t.value+=n,e)e(n);else{let e=Fu(),n=r.map(e=>({...e,textValue:e.value?.textValue??e.ref.textContent?.trim()??``})),i=n.find(t=>t.ref===e),a=ff(n.map(e=>e.textValue),t.value,i?.textValue),o=n.find(e=>e.textValue===a);return o&&o.ref.focus(),o?.ref}},resetTypeahead:()=>{t.value=``}}}function df(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function ff(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=df(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 pf(e,t){let n=F({}),r=F(`none`),i=F(e),a=e.value?`mounted`:`unmounted`,o,s=t.value?.ownerDocument.defaultView??id,{state:c,dispatch:l}=lf(a,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}}),u=e=>{if(Hu){let n=new CustomEvent(e,{bubbles:!1,cancelable:!1});t.value?.dispatchEvent(n)}};Cr(e,async(e,i)=>{let a=i!==e;if(await Yn(),a){let a=r.value,o=mf(t.value);e?(l(`MOUNT`),u(`enter`),o===`none`&&u(`after-enter`)):o===`none`||o===`undefined`||n.value?.display===`none`?(l(`UNMOUNT`),u(`leave`),u(`after-leave`)):i&&a!==o?(l(`ANIMATION_OUT`),u(`leave`)):(l(`UNMOUNT`),u(`after-leave`))}},{immediate:!0});let d=e=>{if(e.target!==t.value)return;let n=mf(t.value),r=n.includes(CSS.escape(e.animationName)),a=c.value===`mounted`?`enter`:`leave`;if(r&&(u(`after-${a}`),l(`ANIMATION_END`),!i.value)){let e=t.value.style.animationFillMode;t.value.style.animationFillMode=`forwards`,o=s?.setTimeout(()=>{t.value?.style.animationFillMode===`forwards`&&(t.value.style.animationFillMode=e)})}n===`none`&&l(`ANIMATION_END`)},f=e=>{e.target===t.value&&(r.value=mf(t.value))},p=Cr(t,(e,t)=>{e?(n.value=getComputedStyle(e),e.addEventListener(`animationstart`,f),e.addEventListener(`animationcancel`,d),e.addEventListener(`animationend`,d)):(l(`ANIMATION_END`),o!==void 0&&s?.clearTimeout(o),t?.removeEventListener(`animationstart`,f),t?.removeEventListener(`animationcancel`,d),t?.removeEventListener(`animationend`,d))},{immediate:!0}),m=Cr(c,()=>{let e=mf(t.value);r.value=c.value===`mounted`?e:`none`});return Qi(()=>{p(),m(),t.value&&(t.value.removeEventListener(`animationstart`,f),t.value.removeEventListener(`animationcancel`,d),t.value.removeEventListener(`animationend`,d)),o!==void 0&&s?.clearTimeout(o)}),{isPresent:W(()=>[`mounted`,`unmountSuspended`].includes(c.value))}}function mf(e){return e&&getComputedStyle(e).animationName||`none`}var hf=R({name:`Presence`,props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(e,{slots:t,expose:n}){let{present:r,forceMount:i}=gn(e),a=F(),{isPresent:o}=pf(r,a);n({present:o});let s=t.default({present:o.value});s=md(s||[]);let c=Fs();if(s&&s?.length>1){let e=c?.parent?.type.name?`<${c.parent.type.name} />`:`component`;throw Error([`Detected an invalid children for \`${e}\` for \`Presence\` component.`,``,"Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.",`You can apply a few solutions:`,["Provide a single child element so that `presence` directive attach correctly.",`Ensure the first child is an actual element instead of a raw text node or comment node.`].map(e=>` - ${e}`).join(` `)].join(` -`))}return()=>i.value||r.value||o.value?tc(t.default({present:o.value})[0],{ref:e=>{let t=ad(e);return t?.hasAttribute===void 0||(t?.hasAttribute(`data-reka-popper-content-wrapper`)?a.value=t.firstElementChild:a.value=t),t}}):null}}),gf=R({name:`PrimitiveSlot`,inheritAttrs:!1,setup(e,{attrs:t,slots:n}){return()=>{if(!n.default)return null;let e=md(n.default()),r=e.findIndex(e=>e.type!==os);if(r===-1)return e;let i=e[r];delete i.props?.ref;let a=i.props?ks(t,i.props):t,o=Ss({...i,props:{}},a);return e.length===1?o:(e[r]=o,e)}}}),_f=[`area`,`img`,`input`],vf=R({name:`Primitive`,inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:`div`}},setup(e,{attrs:t,slots:n}){let r=e.asChild?`template`:e.as;return typeof r==`string`&&_f.includes(r)?()=>tc(r,t):r===`template`?()=>tc(gf,t,{default:n.default}):()=>tc(e.as,t,{default:n.default})}});function yf(){let e=F();return{primitiveElement:e,currentElement:W(()=>[`#text`,`#comment`].includes(e.value?.$el.nodeName)?e.value?.$el.nextElementSibling:ad(e))}}var bf=`dismissableLayer.pointerDownOutside`,xf=`dismissableLayer.focusOutside`;function Sf(e,t){if(!(t instanceof Element))return!1;let n=t.closest(`[data-dismissable-layer]`),r=e.dataset.dismissableLayer===``?e:e.querySelector(`[data-dismissable-layer]`),i=Array.from(e.ownerDocument.querySelectorAll(`[data-dismissable-layer]`));return!!(n&&(r===n||i.indexOf(r){});return br(o=>{if(!Hu||!dn(n))return;let s=async n=>{let o=n.target;if(!(!t?.value||!o)){if(Sf(t.value,o)){i.value=!1;return}if(n.target&&!i.value){let t={originalEvent:n};function i(){Iu(bf,e,t)}n.pointerType===`touch`?(r.removeEventListener(`click`,a.value),a.value=i,r.addEventListener(`click`,a.value,{once:!0})):i()}else r.removeEventListener(`click`,a.value);i.value=!1}},c=window.setTimeout(()=>{r.addEventListener(`pointerdown`,s)},0);o(()=>{window.clearTimeout(c),r.removeEventListener(`pointerdown`,s),r.removeEventListener(`click`,a.value)})}),{onPointerDownCapture:()=>{dn(n)&&(i.value=!0)}}}function wf(e,t,n=!0){let r=t?.value?.ownerDocument??globalThis?.document,i=F(!1);return br(a=>{if(!Hu||!dn(n))return;let o=async n=>{if(!t?.value)return;await Yn(),await Yn();let r=n.target;!t.value||!r||Sf(t.value,r)||n.target&&!i.value&&Iu(xf,e,{originalEvent:n})};r.addEventListener(`focusin`,o),a(()=>r.removeEventListener(`focusin`,o))}),{onFocusCapture:()=>{dn(n)&&(i.value=!0)},onBlurCapture:()=>{dn(n)&&(i.value=!1)}}}var Tf=R({__name:`DismissableLayer`,props:{disableOutsidePointerEvents:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1,default:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`dismiss`],setup(e,{emit:t}){let n=e,r=t,{forwardRef:i,currentElement:a}=Id(),o=W(()=>a.value?.ownerDocument??globalThis.document),s=W(()=>_d.layersRoot),c=W(()=>a.value?Array.from(s.value).indexOf(a.value):-1),l=W(()=>_d.layersWithOutsidePointerEventsDisabled.size>0),u=W(()=>{let e=Array.from(s.value),[t]=[..._d.layersWithOutsidePointerEventsDisabled].slice(-1),n=e.indexOf(t);return c.value>=n}),d=Cf(async e=>{let t=[..._d.branches].some(t=>t?.contains(e.target));!n.present||!u.value||t||(r(`pointerDownOutside`,e),r(`interactOutside`,e),await Yn(),e.defaultPrevented||r(`dismiss`))},a),f=wf(e=>{let t=[..._d.branches].some(t=>t?.contains(e.target));!n.present||t||(r(`focusOutside`,e),r(`interactOutside`,e),e.defaultPrevented||r(`dismiss`))},a);return ud(`Escape`,e=>{n.present&&c.value===s.value.size-1&&(r(`escapeKeyDown`,e),e.defaultPrevented||r(`dismiss`))}),Cr([a,()=>n.disableOutsidePointerEvents,()=>n.present],([e,t,n],r,i)=>{!e||!n||t&&(_d.layersWithOutsidePointerEventsDisabled.size===0&&(_d.originalBodyPointerEvents=o.value.body.style.pointerEvents,o.value.body.style.pointerEvents=`none`),_d.layersWithOutsidePointerEventsDisabled.add(e),i(()=>{_d.layersWithOutsidePointerEventsDisabled.delete(e),_d.layersWithOutsidePointerEventsDisabled.size===0&&!Lu(_d.originalBodyPointerEvents)&&(o.value.body.style.pointerEvents=_d.originalBodyPointerEvents)}))},{immediate:!0}),Cr([a,()=>n.present],([e,t],n,r)=>{!e||!t||(s.value.add(e),r(()=>{s.value.delete(e)}))},{immediate:!0}),br(e=>{e(()=>{a.value&&(s.value.delete(a.value),_d.layersWithOutsidePointerEventsDisabled.delete(a.value))})}),(e,t)=>(B(),V(I(vf),{ref:I(i),"as-child":e.asChild,as:e.as,"data-dismissable-layer":``,style:ue({pointerEvents:l.value?u.value?`auto`:`none`:void 0}),onFocusCapture:I(f).onFocusCapture,onBlurCapture:I(f).onBlurCapture,onPointerdownCapture:I(d).onPointerDownCapture},{default:L(()=>[z(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`style`,`onFocusCapture`,`onBlurCapture`,`onPointerdownCapture`]))}}),Ef=Vu(()=>F([]));function Df(){let e=Ef();return{add(t){let n=e.value[0];t!==n&&n?.pause(),e.value=Of(e.value,t),e.value.unshift(t)},remove(t){e.value=Of(e.value,t),e.value[0]?.resume()}}}function Of(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}var kf=`focusScope.autoFocusOnMount`,Af=`focusScope.autoFocusOnUnmount`,jf={bubbles:!1,cancelable:!0};function Mf(e,{select:t=!1}={}){let n=Fu();for(let r of e)if(Rf(r,{select:t}),Fu()!==n)return!0}function Nf(e){let t=Pf(e);return[Ff(t,e),Ff(t.reverse(),e)]}function Pf(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 Ff(e,t){for(let n of e)if(!If(n,{upTo:t}))return n}function If(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 Lf(e){return e instanceof HTMLInputElement&&`select`in e}function Rf(e,{select:t=!1}={}){if(e&&e.focus){let n=Fu();e.focus({preventScroll:!0}),e!==n&&Lf(e)&&t&&e.select()}}var zf=R({__name:`FocusScope`,props:{loop:{type:Boolean,required:!1,default:!1},trapped:{type:Boolean,required:!1,default:!1},present:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`mountAutoFocus`,`unmountAutoFocus`],setup(e,{emit:t}){let n=e,r=t,{currentRef:i,currentElement:a}=Id(),o=F(null),s=Df(),c=Kt({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});br(e=>{if(!Hu)return;let t=a.value;if(!n.trapped)return;function r(e){if(c.paused||!t)return;let n=e.target;t.contains(n)?o.value=n:Rf(o.value,{select:!0})}function i(e){if(c.paused||!t)return;let n=e.relatedTarget;n!==null&&(t.contains(n)||Rf(o.value,{select:!0}))}function s(e){let n=o.value;n!==null&&e.some(e=>e.removedNodes.length>0)&&(t.contains(n)||Rf(t))}document.addEventListener(`focusin`,r),document.addEventListener(`focusout`,i);let l=new MutationObserver(s);t&&l.observe(t,{childList:!0,subtree:!0}),e(()=>{document.removeEventListener(`focusin`,r),document.removeEventListener(`focusout`,i),l.disconnect()})});function l(e,t){let n=new CustomEvent(kf,jf),i=e=>r(`mountAutoFocus`,e);e.addEventListener(kf,i),e.dispatchEvent(n),e.removeEventListener(kf,i),n.defaultPrevented||(Mf(Pf(e),{select:!0}),Fu()===t&&Rf(e))}br(async e=>{let t=a.value;if(await Yn(),!t)return;n.present!==!1&&s.add(c);let i=Fu();!t.contains(i)&&n.present!==!1&&l(t,i),e(()=>{let e=new CustomEvent(Af,jf),n=e=>{r(`unmountAutoFocus`,e)};t.addEventListener(Af,n),t.dispatchEvent(e),t.setAttribute(`data-focus-scope-unmounting`,``),setTimeout(()=>{e.defaultPrevented||Rf(i??document.body,{select:!0}),t.removeEventListener(Af,n),s.remove(c),t.removeAttribute(`data-focus-scope-unmounting`)},0)})}),Cr(()=>n.present,async(e,t)=>{if(!Hu)return;if(e===!1&&t===!0){s.remove(c);return}if(e!==!0||t!==!1)return;s.add(c),await Yn();let n=a.value;if(!n)return;let r=Fu();n.contains(r)||l(n,r)});function u(e){if(!n.loop&&!n.trapped||c.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,r=Fu();if(t&&r){let t=e.currentTarget,[i,a]=Nf(t);i&&a?!e.shiftKey&&r===a?(e.preventDefault(),n.loop&&Rf(i,{select:!0})):e.shiftKey&&r===i&&(e.preventDefault(),n.loop&&Rf(a,{select:!0})):r===t&&e.preventDefault()}}return(e,t)=>(B(),V(I(vf),{ref_key:`currentRef`,ref:i,tabindex:`-1`,"as-child":e.asChild,as:e.as,onKeydown:u},{default:L(()=>[z(e.$slots,`default`)]),_:3},8,[`as-child`,`as`]))}}),Bf=[`Enter`,` `],Vf=[`ArrowDown`,`PageUp`,`Home`],Hf=[`ArrowUp`,`PageDown`,`End`];[...Vf,...Hf],[...Bf],[...Bf];function Uf(e){let t=Fu();for(let n of e)if(n===t||(n.focus(),Fu()!==t))return}var Wf=R({__name:`Teleport`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e,n=hd({}),r=W(()=>t.to??n.teleportTo?.value??`body`),i=sd();return(e,t)=>I(i)||e.forceMount?(B(),V(Rr,{key:0,to:r.value,disabled:e.disabled,defer:e.defer},[z(e.$slots,`default`)],8,[`to`,`disabled`,`defer`])):Ts(`v-if`,!0)}}),Gf=`data-reka-collection-item`;function Kf(e={}){let{key:t=``,isProvider:n=!1}=e,r=`${t}CollectionProvider`,i;n?(i={collectionRef:F(),itemMap:F(new Map)},hr(r,i)):i=gr(r);let a=(e=!1)=>{let t=i.collectionRef.value;if(!t)return[];let n=Array.from(t.querySelectorAll(`[${Gf}]`)),r=new Map(n.map((e,t)=>[e,t])),a=Array.from(i.itemMap.value.values()).sort((e,t)=>(r.get(e.ref)??-1)-(r.get(t.ref)??-1));return e?a:a.filter(e=>e.ref.dataset.disabled!==``)},o=R({name:`CollectionSlot`,inheritAttrs:!1,setup(e,{slots:t,attrs:n}){let{primitiveElement:r,currentElement:a}=yf();return Cr(a,()=>{i.collectionRef.value=a.value}),()=>tc(gf,{ref:r,...n},t)}}),s=R({name:`CollectionItem`,inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(e,{slots:t,attrs:n}){let{primitiveElement:r,currentElement:a}=yf();return br(t=>{if(a.value){let n=nn(a.value);i.itemMap.value.set(n,{ref:a.value,value:e.value}),t(()=>i.itemMap.value.delete(n))}}),()=>tc(gf,{...n,[Gf]:``,ref:r},t)}});return{getItems:a,reactiveItems:W(()=>Array.from(i.itemMap.value.values())),itemMapSize:W(()=>i.itemMap.value.size),CollectionSlot:o,CollectionItem:s}}var qf=R({__name:`VisuallyHidden`,props:{feature:{type:String,required:!1,default:`focusable`},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){return(e,t)=>(B(),V(I(vf),{as:e.as,"as-child":e.asChild,"aria-hidden":e.feature===`focusable`||e.feature===`fully-hidden`?`true`:void 0,"data-hidden":e.feature===`fully-hidden`?``:void 0,tabindex:e.feature===`fully-hidden`?`-1`:void 0,style:{position:`absolute`,border:0,width:`1px`,height:`1px`,padding:0,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,clipPath:`inset(50%)`,whiteSpace:`nowrap`,wordWrap:`normal`,top:`-1px`,left:`-1px`}},{default:L(()=>[z(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`aria-hidden`,`data-hidden`,`tabindex`]))}}),Jf=R({inheritAttrs:!1,__name:`VisuallyHiddenInputBubble`,props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:`fully-hidden`}},setup(e){let t=e,{primitiveElement:n,currentElement:r}=yf();return Cr(W(()=>t.checked??t.value),(e,t)=>{if(!r.value)return;let n=r.value,i=window.HTMLInputElement.prototype,a=Object.getOwnPropertyDescriptor(i,`value`).set;if(a&&e!==t){let t=new Event(`input`,{bubbles:!0}),r=new Event(`change`,{bubbles:!0});a.call(n,e),n.dispatchEvent(t),n.dispatchEvent(r)}}),(e,r)=>(B(),V(qf,ks({ref_key:`primitiveElement`,ref:n},{...t,...e.$attrs},{as:`input`}),null,16))}}),Yf=R({inheritAttrs:!1,__name:`VisuallyHiddenInput`,props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:`fully-hidden`}},setup(e){let t=e,n=W(()=>typeof t.value==`object`&&Array.isArray(t.value)&&t.value.length===0&&t.required),r=W(()=>typeof t.value==`string`||typeof t.value==`number`||typeof t.value==`boolean`||t.value===null||t.value===void 0?[{name:t.name,value:t.value}]:typeof t.value==`object`&&Array.isArray(t.value)?t.value.flatMap((e,n)=>typeof e==`object`?Object.entries(e).map(([e,r])=>({name:`${t.name}[${n}][${e}]`,value:r})):{name:`${t.name}[${n}]`,value:e}):t.value!==null&&typeof t.value==`object`&&!Array.isArray(t.value)?Object.entries(t.value).map(([e,n])=>({name:`${t.name}[${e}]`,value:n})):[]);return(e,i)=>(B(),ms(is,null,[Ts(` We render single input if it's required `),n.value?(B(),V(Jf,ks({key:e.name},{...t,...e.$attrs},{name:e.name,value:e.value}),null,16,[`name`,`value`])):(B(!0),ms(is,{key:1},da(r.value,n=>(B(),V(Jf,ks({key:n.name},{ref_for:!0},{...t,...e.$attrs},{name:n.name,value:n.value}),null,16,[`name`,`value`]))),128))],2112))}}),Xf={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function Zf(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function Qf(e,t,n){let r=Zf(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return Xf[r]}function $f(e,t=!1){let n=Fu();for(let r of e)if(r===n||(r.focus({preventScroll:t}),Fu()!==n))return}function ep(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var[tp,np]=Pu(`PopperRoot`),rp=R({inheritAttrs:!1,__name:`PopperRoot`,setup(e){let t=F();return np({anchor:t,onAnchorChange:e=>t.value=e}),(e,t)=>z(e.$slots,`default`)}}),ip=R({__name:`PopperAnchor`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{forwardRef:n,currentElement:r}=Id(),i=tp();return xr(()=>{i.onAnchorChange(t.reference??r.value)}),(e,t)=>(B(),V(I(vf),{ref:I(n),as:e.as,"as-child":e.asChild},{default:L(()=>[z(e.$slots,`default`)]),_:3},8,[`as`,`as-child`]))}});function ap(e){return e!==null}function op(e){return{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]=sp(n),u={start:e.dir===`rtl`?`100%`:`0%`,center:`50%`,end:e.dir===`rtl`?`0%`:`100%`}[l],d={start:`0%`,center:`50%`,end:`100%`}[l],f=(i.arrow?.x??0)+o/2,p=(i.arrow?.y??0)+s/2,m=``,h=``;return c===`bottom`?(m=a?u:`${f}px`,h=`${-s}px`):c===`top`?(m=a?u:`${f}px`,h=`${r.floating.height+s}px`):c===`right`?(m=`${-s}px`,h=a?d:`${p}px`):c===`left`&&(m=`${r.floating.width+s}px`,h=a?d:`${p}px`),{data:{x:m,y:h}}}}}function sp(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var cp=[`top`,`right`,`bottom`,`left`],lp=Math.min,up=Math.max,dp=Math.round,fp=Math.floor,pp=e=>({x:e,y:e}),mp={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function hp(e,t,n){return up(e,lp(t,n))}function gp(e,t){return typeof e==`function`?e(t):e}function _p(e){return e.split(`-`)[0]}function vp(e){return e.split(`-`)[1]}function yp(e){return e===`x`?`y`:`x`}function bp(e){return e===`y`?`height`:`width`}function xp(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Sp(e){return yp(xp(e))}function Cp(e,t,n){n===void 0&&(n=!1);let r=vp(e),i=Sp(e),a=bp(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Mp(o)),[o,Mp(o)]}function wp(e){let t=Mp(e);return[Tp(e),t,Tp(t)]}function Tp(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Ep=[`left`,`right`],Dp=[`right`,`left`],Op=[`top`,`bottom`],kp=[`bottom`,`top`];function Ap(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Dp:Ep:t?Ep:Dp;case`left`:case`right`:return t?Op:kp;default:return[]}}function jp(e,t,n,r){let i=vp(e),a=Ap(_p(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Tp)))),a}function Mp(e){let t=_p(e);return mp[t]+e.slice(t.length)}function Np(e){return{top:0,right:0,bottom:0,left:0,...e}}function Pp(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Np(e)}function Fp(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 Ip(e,t,n){let{reference:r,floating:i}=e,a=xp(t),o=Sp(t),s=bp(o),c=_p(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(vp(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1)}return p}async function Lp(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}=gp(t,e),p=Pp(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Fp(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=Fp(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 Rp=50,zp=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Lp},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Ip(l,r,c),f=r,p=0,m={};for(let n=0;n({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}=gp(e,t)||{};if(l==null)return{};let d=Pp(u),f={x:n,y:r},p=Sp(i),m=bp(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=lp(d[_],T),D=lp(d[v],T),O=E,ee=C-h[m]-D,k=C/2-h[m]/2+w,A=hp(O,k,ee),te=!c.arrow&&vp(i)!=null&&k!==A&&a.reference[m]/2-(ke<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(u!==`alignment`||_===xp(t)||T.every(e=>xp(e.placement)!==_||e.overflows[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=xp(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}if(r!==n)return{reset:{placement:n}}}return{}}}};function Hp(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Up(e){return cp.some(t=>e[t]>=0)}var Wp=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=gp(e,t);switch(i){case`referenceHidden`:{let e=Hp(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:Up(e)}}}case`escaped`:{let e=Hp(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:Up(e)}}}default:return{}}}}},Gp=new Set([`left`,`top`]);async function Kp(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=_p(n),s=vp(n),c=xp(n)===`y`,l=Gp.has(o)?-1:1,u=a&&c?-1:1,d=gp(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 qp=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 Kp(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}}}}},Jp=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}=gp(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=xp(_p(i)),p=yp(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=hp(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=hp(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}}}}}},Yp=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}=gp(e,t),u={x:n,y:r},d=xp(i),f=yp(d),p=u[f],m=u[d],h=gp(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;pn&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=Gp.has(_p(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);mr&&(m=r)}return{[f]:p,[d]:m}}}},Xp=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}=gp(e,t),u=await o.detectOverflow(t,l),d=_p(i),f=vp(i),p=xp(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=lp(h-u[g],v),x=lp(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=up(u.left,0),t=up(u.right,0),n=up(u.top,0),r=up(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:up(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:up(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 Zp(){return typeof window<`u`}function Qp(e){return tm(e)?(e.nodeName||``).toLowerCase():`#document`}function $p(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function em(e){return((tm(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function tm(e){return Zp()?e instanceof Node||e instanceof $p(e).Node:!1}function nm(e){return Zp()?e instanceof Element||e instanceof $p(e).Element:!1}function rm(e){return Zp()?e instanceof HTMLElement||e instanceof $p(e).HTMLElement:!1}function im(e){return!Zp()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof $p(e).ShadowRoot}function am(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=gm(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function om(e){return/^(table|td|th)$/.test(Qp(e))}function sm(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var cm=/transform|translate|scale|rotate|perspective|filter/,lm=/paint|layout|strict|content/,um=e=>!!e&&e!==`none`,dm;function fm(e){let t=nm(e)?gm(e):e;return um(t.transform)||um(t.translate)||um(t.scale)||um(t.rotate)||um(t.perspective)||!mm()&&(um(t.backdropFilter)||um(t.filter))||cm.test(t.willChange||``)||lm.test(t.contain||``)}function pm(e){let t=vm(e);for(;rm(t)&&!hm(t);){if(fm(t))return t;if(sm(t))return null;t=vm(t)}return null}function mm(){return dm??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),dm}function hm(e){return/^(html|body|#document)$/.test(Qp(e))}function gm(e){return $p(e).getComputedStyle(e)}function _m(e){return nm(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function vm(e){if(Qp(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||im(e)&&e.host||em(e);return im(t)?t.host:t}function ym(e){let t=vm(e);return hm(t)?e.ownerDocument?e.ownerDocument.body:e.body:rm(t)&&am(t)?t:ym(t)}function bm(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=ym(e),i=r===e.ownerDocument?.body,a=$p(r);if(i){let e=xm(a);return t.concat(a,a.visualViewport||[],am(r)?r:[],e&&n?bm(e):[])}return t.concat(r,bm(r,[],n))}function xm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Sm(e){let t=gm(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=rm(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=dp(n)!==a||dp(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Cm(e){return nm(e)?e:e.contextElement}function wm(e){let t=Cm(e);if(!rm(t))return pp(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Sm(t),o=(a?dp(n.width):n.width)/r,s=(a?dp(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Tm=pp(0);function Em(e){let t=$p(e);return!mm()||!t.visualViewport?Tm:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Dm(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==$p(e)?!1:t}function Om(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Cm(e),o=pp(1);t&&(r?nm(r)&&(o=wm(r)):o=wm(e));let s=Dm(a,n,r)?Em(a):pp(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=$p(a),t=r&&nm(r)?$p(r):r,n=e,i=xm(n);for(;i&&r&&t!==n;){let e=wm(i),t=i.getBoundingClientRect(),r=gm(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=$p(i),i=xm(n)}}return Fp({width:u,height:d,x:c,y:l})}function km(e,t){let n=_m(e).scrollLeft;return t?t.left+n:Om(em(e)).left+n}function Am(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-km(e,n),y:n.top+t.scrollTop}}function jm(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=em(r),s=t?sm(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=pp(1),u=pp(0),d=rm(r);if((d||!d&&!a)&&((Qp(r)!==`body`||am(o))&&(c=_m(r)),d)){let e=Om(r);l=wm(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Am(o,c):pp(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 Mm(e){return Array.from(e.getClientRects())}function Nm(e){let t=em(e),n=_m(e),r=e.ownerDocument.body,i=up(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=up(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+km(e),s=-n.scrollTop;return gm(r).direction===`rtl`&&(o+=up(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var Pm=25;function Fm(e,t){let n=$p(e),r=em(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=mm();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=km(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<=Pm&&(a-=o)}else l<=Pm&&(a+=l);return{width:a,height:o,x:s,y:c}}function Im(e,t){let n=Om(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=rm(e)?wm(e):pp(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Lm(e,t,n){let r;if(t===`viewport`)r=Fm(e,n);else if(t===`document`)r=Nm(em(e));else if(nm(t))r=Im(t,n);else{let n=Em(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Fp(r)}function Rm(e,t){let n=vm(e);return n===t||!nm(n)||hm(n)?!1:gm(n).position===`fixed`||Rm(n,t)}function zm(e,t){let n=t.get(e);if(n)return n;let r=bm(e,[],!1).filter(e=>nm(e)&&Qp(e)!==`body`),i=null,a=gm(e).position===`fixed`,o=a?vm(e):e;for(;nm(o)&&!hm(o);){let t=gm(o),n=fm(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||am(o)&&!n&&Rm(e,o))?r=r.filter(e=>e!==o):i=t,o=vm(o)}return t.set(e,r),r}function Bm(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?sm(t)?[]:zm(t,this._c):[].concat(n),r],o=Lm(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e{o(!1,1e-7)},1e3)}n===1&&!Ym(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 Zm(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=Cm(e),u=i||a?[...l?bm(l):[],...t?bm(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Xm(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?Om(e):null;c&&g();function g(){let t=Om(e);h&&!Ym(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 Qm=qp,$m=Jp,eh=Vp,th=Xp,nh=Wp,rh=Bp,ih=Yp,ah=(e,t,n)=>{let r=new Map,i={platform:Jm,...n},a={...i.platform,_c:r};return zp(e,t,{...i,platform:a})};function oh(e){return typeof e==`object`&&!!e&&`$el`in e}function sh(e){if(oh(e)){let t=e.$el;return tm(t)&&Qp(t)===`#comment`?null:t}return e}function ch(e){return typeof e==`function`?e():I(e)}function lh(e){return{name:`arrow`,options:e,fn(t){let n=sh(ch(e.element));return n==null?{}:rh({element:n,padding:e.padding}).fn(t)}}}function uh(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function dh(e,t){let n=uh(e);return Math.round(t*n)/n}function fh(e,t,n){n===void 0&&(n={});let r=n.whileElementsMounted,i=W(()=>ch(n.open)??!0),a=W(()=>ch(n.middleware)),o=W(()=>ch(n.placement)??`bottom`),s=W(()=>ch(n.strategy)??`absolute`),c=W(()=>ch(n.transform)??!0),l=W(()=>sh(e.value)),u=W(()=>sh(t.value)),d=F(0),f=F(0),p=F(s.value),m=F(o.value),h=sn({}),g=F(!1),_=W(()=>{let e={position:p.value,left:`0`,top:`0`};if(!u.value)return e;let t=dh(u.value,d.value),n=dh(u.value,f.value);return c.value?{...e,transform:`translate(`+t+`px, `+n+`px)`,...uh(u.value)>=1.5&&{willChange:`transform`}}:{position:p.value,left:t+`px`,top:n+`px`}}),v;function y(){if(l.value==null||u.value==null)return;let e=i.value;ah(l.value,u.value,{middleware:a.value,placement:o.value,strategy:s.value}).then(t=>{d.value=t.x,f.value=t.y,p.value=t.strategy,m.value=t.placement,h.value=t.middlewareData,g.value=e!==!1})}function b(){typeof v==`function`&&(v(),v=void 0)}function x(){if(b(),r===void 0){y();return}if(l.value!=null&&u.value!=null){v=r(l.value,u.value,y);return}}function S(){i.value||(g.value=!1)}return Cr([a,o,s,i],y,{flush:`sync`}),Cr([l,u],x,{flush:`sync`}),Cr(i,S,{flush:`sync`}),Ae()&&je(b),{x:Yt(d),y:Yt(f),strategy:Yt(p),placement:Yt(m),middlewareData:Yt(h),isPositioned:Yt(g),floatingStyles:_,update:y}}var ph=[`dir`],mh={side:`bottom`,sideOffset:0,sideFlip:!0,align:`center`,alignOffset:0,alignFlip:!0,arrowPadding:0,hideShiftedArrow:!0,avoidCollisions:!0,collisionBoundary:()=>[],collisionPadding:0,sticky:`partial`,hideWhenDetached:!1,positionStrategy:`fixed`,updatePositionStrategy:`optimized`,prioritizePosition:!1},[hh,gh]=Pu(`PopperContent`),_h=R({inheritAttrs:!1,__name:`PopperContent`,props:ja({memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...mh}),emits:[`placed`],setup(e,{emit:t}){let n=e,r=t,i=tp(),{forwardRef:a,currentElement:o}=Id(),s=Ad(W(()=>n.dir)),c=F(),l=F(),{width:u,height:d}=cf(l),f=W(()=>n.side+(n.align===`center`?``:`-${n.align}`)),p=W(()=>typeof n.collisionPadding==`number`?n.collisionPadding:{top:0,right:0,bottom:0,left:0,...n.collisionPadding}),m=W(()=>Array.isArray(n.collisionBoundary)?n.collisionBoundary:[n.collisionBoundary]),h=W(()=>({padding:p.value,boundary:m.value.filter(ap),altBoundary:m.value.length>0})),g=W(()=>({mainAxis:n.sideFlip,crossAxis:n.alignFlip})),_=W(()=>[Qm({mainAxis:n.sideOffset+d.value,alignmentAxis:n.alignOffset}),n.prioritizePosition&&n.avoidCollisions&&eh({...h.value,...g.value}),n.avoidCollisions&&$m({mainAxis:!0,crossAxis:!!n.prioritizePosition,limiter:n.sticky===`partial`?ih():void 0,...h.value}),!n.prioritizePosition&&n.avoidCollisions&&eh({...h.value,...g.value}),th({...h.value,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--reka-popper-available-width`,`${n}px`),o.setProperty(`--reka-popper-available-height`,`${r}px`),o.setProperty(`--reka-popper-anchor-width`,`${i}px`),o.setProperty(`--reka-popper-anchor-height`,`${a}px`)}}),l.value&&lh({element:l.value,padding:n.arrowPadding}),op({arrowWidth:u.value,arrowHeight:d.value,dir:s.value}),n.hideWhenDetached&&nh({strategy:`referenceHidden`,...h.value})]),{floatingStyles:v,placement:y,isPositioned:b,middlewareData:x,update:S}=fh(W(()=>n.reference??i.anchor.value),c,{strategy:n.positionStrategy,placement:f,whileElementsMounted:(...e)=>Zm(...e,{layoutShift:!n.disableUpdateOnLayoutShift,animationFrame:n.updatePositionStrategy===`always`}),middleware:_}),C=W(()=>sp(y.value)[0]),w=W(()=>sp(y.value)[1]);xr(()=>{b.value&&r(`placed`)});let T=W(()=>{let e=x.value.arrow?.centerOffset!==0;return n.hideShiftedArrow&&e}),E=F(``);return br(()=>{o.value&&(E.value=window.getComputedStyle(o.value).zIndex)}),gh({placedSide:C,onArrowChange:e=>l.value=e,arrowX:W(()=>x.value.arrow?.x??0),arrowY:W(()=>x.value.arrow?.y??0),shouldHideArrow:T}),(e,t)=>(B(),ms(`div`,{ref_key:`floatingRef`,ref:c,"data-reka-popper-content-wrapper":``,dir:I(s),style:ue({...I(v),transform:I(b)?I(v).transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:E.value,"--reka-popper-transform-origin":[I(x).transformOrigin?.x,I(x).transformOrigin?.y].join(` `),...I(x).hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}})},[n.memoDependencies?rc([n.asChild,n.as,C.value,w.value,I(b),...Object.values(e.$attrs),...n.memoDependencies],()=>(B(),V(I(vf),ks({key:0,ref:I(a)},e.$attrs,{"as-child":n.asChild,as:n.as,"data-side":C.value,"data-align":w.value,style:{animation:I(b)?void 0:`none`}}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`as-child`,`as`,`data-side`,`data-align`,`style`])),t,0):(B(),V(I(vf),ks({key:1,ref:I(a)},e.$attrs,{"as-child":n.asChild,as:n.as,"data-side":C.value,"data-align":w.value,dir:I(s),style:{animation:I(b)?void 0:`none`}}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`as-child`,`as`,`data-side`,`data-align`,`dir`,`style`]))],12,ph))}});function vh(e){let t=hd({nonce:F()});return W(()=>e?.value||t.nonce?.value)}var[yh,bh]=Pu(`RovingFocusGroup`),xh=R({__name:`RovingFocusItem`,props:{tabStopId:{type:String,required:!1},focusable:{type:Boolean,required:!1,default:!0},active:{type:Boolean,required:!1},allowShiftKey:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,n=yh(),r=af(),i=W(()=>t.tabStopId||r),a=W(()=>n.currentTabStopId.value===i.value),{getItems:o,CollectionItem:s}=Kf();Ji(()=>{t.focusable&&n.onFocusableItemAdd()}),Qi(()=>{t.focusable&&n.onFocusableItemRemove()}),Cr(()=>t.focusable,(e,t)=>{e!==t&&(e?n.onFocusableItemAdd():n.onFocusableItemRemove())});function c(e){if(e.key===`Tab`&&e.shiftKey){n.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let r=Qf(e,n.orientation.value,n.dir.value);if(r!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||!t.allowShiftKey&&e.shiftKey)return;e.preventDefault();let i=[...o().map(e=>e.ref).filter(e=>e.dataset.disabled!==``)];if(r===`last`)i.reverse();else if(r===`prev`||r===`next`){r===`prev`&&i.reverse();let t=i.indexOf(e.currentTarget);i=n.loop.value?ep(i,t+1):i.slice(t+1)}Yn(()=>$f(i))}}return(e,t)=>(B(),V(I(s),null,{default:L(()=>[U(I(vf),{tabindex:a.value?0:-1,"data-orientation":I(n).orientation.value,"data-active":e.active?``:void 0,"data-disabled":e.focusable?void 0:``,as:e.as,"as-child":e.asChild,onMousedown:t[0]||=t=>{e.focusable?I(n).onItemFocus(i.value):t.preventDefault()},onFocus:t[1]||=e=>I(n).onItemFocus(i.value),onKeydown:c},{default:L(()=>[z(e.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`data-active`,`data-disabled`,`as`,`as-child`])]),_:3}))}}),[Sh,Ch]=Pu(`CheckboxGroupRoot`);function wh(e){return e===`indeterminate`}function Th(e){return wh(e)?`indeterminate`:e?`checked`:`unchecked`}var[Eh,Dh]=Pu(`CheckboxRoot`),Oh=R({inheritAttrs:!1,__name:`CheckboxRoot`,props:{defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},disabled:{type:Boolean,required:!1},value:{type:null,required:!1,default:`on`},id:{type:String,required:!1},trueValue:{type:null,required:!1,default:()=>!0},falseValue:{type:null,required:!1,default:()=>!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,{forwardRef:i,currentElement:a}=Id(),o=Sh(null),s=pd(n,`modelValue`,r,{defaultValue:n.defaultValue??n.falseValue,passive:n.modelValue===void 0}),c=W(()=>o?.disabled.value||n.disabled),l=W(()=>Au(s.value,n.trueValue)),u=W(()=>Lu(o?.modelValue.value)?s.value===`indeterminate`?`indeterminate`:l.value:Ru(o.modelValue.value,n.value));function d(){if(Lu(o?.modelValue.value))s.value===`indeterminate`?s.value=n.trueValue:s.value=l.value?n.falseValue:n.trueValue;else{let e=[...o.modelValue.value||[]];if(Ru(e,n.value)){let t=e.findIndex(e=>Au(e,n.value));e.splice(t,1)}else e.push(n.value);o.modelValue.value=e}}let f=Fd(a),p=zd(),m=Oa(),h=W(()=>{if(!m[`aria-label`])return n.id&&a.value?document.querySelector(`[for="${n.id}"]`)?.innerText:void 0});return Dh({disabled:c,state:u}),(e,t)=>(B(),ms(is,null,[(B(),V(sa(I(o)?.rovingFocus.value?I(xh):I(vf)),ks({...e.$attrs,...I(p)},{id:e.id,ref:I(i),role:`checkbox`,"as-child":e.asChild,as:e.as,type:e.as===`button`?`button`:void 0,"aria-checked":I(wh)(u.value)?`mixed`:u.value,"aria-required":e.required,"aria-label":e.$attrs[`aria-label`]||h.value,"data-state":I(Th)(u.value),"data-disabled":c.value?``:void 0,disabled:c.value,focusable:I(o)?.rovingFocus.value?!c.value:void 0,onKeydown:su(au(()=>{},[`prevent`]),[`enter`]),onClick:d}),{default:L(()=>[z(e.$slots,`default`,{modelValue:I(s),state:u.value})]),_:3},16,[`id`,`as-child`,`as`,`type`,`aria-checked`,`aria-required`,`aria-label`,`data-state`,`data-disabled`,`disabled`,`focusable`,`onKeydown`])),I(f)&&e.name&&!I(o)?(B(),V(I(Yf),ks({key:0,type:`checkbox`,checked:!!u.value,name:e.name,value:e.value,disabled:c.value,required:e.required},I(p)),null,16,[`checked`,`name`,`value`,`disabled`,`required`])):Ts(`v-if`,!0)],64))}}),kh=R({__name:`CheckboxIndicator`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let{forwardRef:t}=Id(),n=Eh();return(e,r)=>(B(),V(I(hf),{present:e.forceMount||I(wh)(I(n).state.value)||I(n).state.value===!0},{default:L(()=>[U(I(vf),ks({ref:I(t),"data-state":I(Th)(I(n).state.value),"data-disabled":I(n).disabled.value?``:void 0,style:{pointerEvents:`none`},"as-child":e.asChild,as:e.as},e.$attrs),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`data-state`,`data-disabled`,`as-child`,`as`])]),_:3},8,[`present`]))}});function Ah(e=[],t,n){let r=[...e];return r[n]=t,r.sort((e,t)=>e-t)}function jh(e,t,n){return ju(100/(n-t)*(e-t),0,100)}function Mh(e,t){if(t>2)return`Value ${e+1} of ${t}`;if(t===2)return[`Minimum`,`Maximum`][e]}function Nh(e,t){if(e.length===1)return 0;let n=e.map(e=>Math.abs(e-t)),r=Math.min(...n);return n.indexOf(r)}function Ph(e,t,n){let r=e/2;return(r-Lh([0,50],[0,r])(t)*n)*n}function Fh(e){return e.slice(0,-1).map((t,n)=>e[n+1]-t)}function Ih(e,t){if(t>0){let n=Fh(e);return Math.min(...n)>=t}return!0}function Lh(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 Rh(e){return(String(e).split(`.`)[1]||``).length}function zh(e,t){let n=10**t;return Math.round(e*n)/n}var Bh=[`PageUp`,`PageDown`],Vh=[`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`],Hh={"from-left":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-right":[`Home`,`PageDown`,`ArrowDown`,`ArrowRight`],"from-bottom":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-top":[`Home`,`PageUp`,`ArrowUp`,`ArrowLeft`]},[Uh,Wh]=Pu([`SliderVertical`,`SliderHorizontal`]),Gh=R({__name:`SliderHorizontal`,props:{dir:{type:String,required:!1},min:{type:Number,required:!0},max:{type:Number,required:!0},inverted:{type:Boolean,required:!0}},emits:[`slideEnd`,`slideStart`,`slideMove`,`homeKeyDown`,`endKeyDown`,`stepKeyDown`],setup(e,{emit:t}){let n=e,r=t,{max:i,min:a,dir:o,inverted:s}=gn(n),{forwardRef:c,currentElement:l}=Id(),u=qh(),d=F(),f=F(),p=W(()=>o?.value!==`rtl`&&!s.value||o?.value!==`ltr`&&s.value);function m(e,t){let n=f.value||l.value.getBoundingClientRect(),r=[...u.thumbElements.value][u.valueIndexToChangeRef.value],o=u.thumbAlignment.value===`contain`?r.clientWidth:0;!d.value&&!t&&u.thumbAlignment.value===`contain`&&(d.value=e.clientX-r.getBoundingClientRect().left);let s=Lh([0,n.width-o],p.value?[a.value,i.value]:[i.value,a.value]);return f.value=n,s(t?e.clientX-n.left-o/2:e.clientX-n.left-(d.value??0))}return Wh({startEdge:W(()=>p.value?`left`:`right`),endEdge:W(()=>p.value?`right`:`left`),direction:W(()=>p.value?1:-1),size:`width`}),(e,t)=>(B(),V(Xh,{ref:I(c),dir:I(o),"data-orientation":`horizontal`,style:ue({"--reka-slider-thumb-transform":!p.value&&I(u).thumbAlignment.value===`overflow`?`translateX(50%)`:`translateX(-50%)`}),onSlideStart:t[0]||=e=>{let t=m(e,!0);r(`slideStart`,t)},onSlideMove:t[1]||=e=>{let t=m(e);r(`slideMove`,t)},onSlideEnd:t[2]||=()=>{f.value=void 0,d.value=void 0,r(`slideEnd`)},onStepKeyDown:t[3]||=e=>{let t=p.value?`from-left`:`from-right`,n=I(Hh)[t].includes(e.key);r(`stepKeyDown`,e,n?-1:1)},onEndKeyDown:t[4]||=e=>r(`endKeyDown`,e),onHomeKeyDown:t[5]||=e=>r(`homeKeyDown`,e)},{default:L(()=>[z(e.$slots,`default`)]),_:3},8,[`dir`,`style`]))}}),Kh=R({__name:`SliderVertical`,props:{min:{type:Number,required:!0},max:{type:Number,required:!0},inverted:{type:Boolean,required:!0}},emits:[`slideEnd`,`slideStart`,`slideMove`,`homeKeyDown`,`endKeyDown`,`stepKeyDown`],setup(e,{emit:t}){let n=e,r=t,{max:i,min:a,inverted:o}=gn(n),s=qh(),{forwardRef:c,currentElement:l}=Id(),u=F(),d=F(),f=W(()=>!o.value);function p(e,t){let n=d.value||l.value.getBoundingClientRect(),r=[...s.thumbElements.value][s.valueIndexToChangeRef.value],o=s.thumbAlignment.value===`contain`?r.clientHeight:0;!u.value&&!t&&s.thumbAlignment.value===`contain`&&(u.value=e.clientY-r.getBoundingClientRect().top);let c=Lh([0,n.height-o],f.value?[i.value,a.value]:[a.value,i.value]),p=t?e.clientY-n.top-o/2:e.clientY-n.top-(u.value??0);return d.value=n,c(p)}return Wh({startEdge:W(()=>f.value?`bottom`:`top`),endEdge:W(()=>f.value?`top`:`bottom`),direction:W(()=>f.value?1:-1),size:`height`}),(e,t)=>(B(),V(Xh,{ref:I(c),"data-orientation":`vertical`,style:ue({"--reka-slider-thumb-transform":!f.value&&I(s).thumbAlignment.value===`overflow`?`translateY(-50%)`:`translateY(50%)`}),onSlideStart:t[0]||=e=>{let t=p(e,!0);r(`slideStart`,t)},onSlideMove:t[1]||=e=>{let t=p(e);r(`slideMove`,t)},onSlideEnd:t[2]||=()=>{d.value=void 0,u.value=void 0,r(`slideEnd`)},onStepKeyDown:t[3]||=e=>{let t=f.value?`from-bottom`:`from-top`,n=I(Hh)[t].includes(e.key);r(`stepKeyDown`,e,n?-1:1)},onEndKeyDown:t[4]||=e=>r(`endKeyDown`,e),onHomeKeyDown:t[5]||=e=>r(`homeKeyDown`,e)},{default:L(()=>[z(e.$slots,`default`)]),_:3},8,[`style`]))}}),[qh,Jh]=Pu(`SliderRoot`),Yh=R({inheritAttrs:!1,__name:`SliderRoot`,props:{defaultValue:{type:Array,required:!1,default:()=>[0]},modelValue:{type:[Array,null],required:!1},disabled:{type:Boolean,required:!1,default:!1},orientation:{type:String,required:!1,default:`horizontal`},dir:{type:String,required:!1},inverted:{type:Boolean,required:!1,default:!1},min:{type:Number,required:!1,default:0},max:{type:Number,required:!1,default:100},step:{type:Number,required:!1,default:1},minStepsBetweenThumbs:{type:Number,required:!1,default:0},thumbAlignment:{type:String,required:!1,default:`contain`},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`,`valueCommit`],setup(e,{emit:t}){let n=e,r=t,{min:i,max:a,step:o,minStepsBetweenThumbs:s,orientation:c,disabled:l,thumbAlignment:u,dir:d}=gn(n),f=Ad(d),{forwardRef:p,currentElement:m}=Id(),h=Fd(m),{CollectionSlot:g}=Kf({isProvider:!0}),_=pd(n,`modelValue`,r,{defaultValue:n.defaultValue,passive:n.modelValue===void 0}),v=W(()=>Array.isArray(_.value)?[..._.value]:[]),y=F(0),b=F(v.value);function x(e){w(e,Nh(v.value,e))}function S(e){w(e,y.value)}function C(){let e=b.value[y.value];v.value[y.value]!==e&&r(`valueCommit`,tn(v.value))}function w(e,t,{commit:n}={commit:!1}){let c=Rh(o.value),l=ju(zh(Math.round((e-i.value)/o.value)*o.value+i.value,c),i.value,a.value),u=Ah(v.value,l,t);if(Ih(u,s.value*o.value)){y.value=u.indexOf(l);let e=String(u)!==String(_.value);e&&n&&r(`valueCommit`,u),e&&(T.value[y.value]?.focus(),_.value=u)}}let T=F([]);return Jh({modelValue:_,currentModelValue:v,valueIndexToChangeRef:y,thumbElements:T,orientation:c,min:i,max:a,disabled:l,thumbAlignment:u}),(e,t)=>(B(),V(I(g),null,{default:L(()=>[(B(),V(sa(I(c)===`horizontal`?Gh:Kh),ks(e.$attrs,{ref:I(p),"as-child":e.asChild,as:e.as,min:I(i),max:I(a),dir:I(f),inverted:e.inverted,"aria-disabled":I(l),"data-disabled":I(l)?``:void 0,onPointerdown:t[0]||=()=>{I(l)||(b.value=v.value)},onSlideStart:t[1]||=e=>!I(l)&&x(e),onSlideMove:t[2]||=e=>!I(l)&&S(e),onSlideEnd:t[3]||=e=>!I(l)&&C(),onHomeKeyDown:t[4]||=e=>!I(l)&&w(I(i),0,{commit:!0}),onEndKeyDown:t[5]||=e=>!I(l)&&w(I(a),v.value.length-1,{commit:!0}),onStepKeyDown:t[6]||=(e,t)=>{if(!I(l)){let n=I(Bh).includes(e.key)||e.shiftKey&&I(Vh).includes(e.key)?10:1,r=y.value,i=v.value[r];w(i+I(o)*n*t,r,{commit:!0})}}}),{default:L(()=>[z(e.$slots,`default`,{modelValue:I(_)}),I(h)&&e.name?(B(),V(I(Yf),{key:0,type:`number`,value:I(_),name:e.name,required:e.required,disabled:I(l),step:I(o)},null,8,[`value`,`name`,`required`,`disabled`,`step`])):Ts(`v-if`,!0)]),_:3},16,[`as-child`,`as`,`min`,`max`,`dir`,`inverted`,`aria-disabled`,`data-disabled`]))]),_:3}))}}),Xh=R({__name:`SliderImpl`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},emits:[`slideStart`,`slideMove`,`slideEnd`,`homeKeyDown`,`endKeyDown`,`stepKeyDown`],setup(e,{emit:t}){let n=e,r=t,i=qh();return(e,t)=>(B(),V(I(vf),ks({"data-slider-impl":``},n,{onKeydown:t[0]||=e=>{e.key===`Home`?(r(`homeKeyDown`,e),e.preventDefault()):e.key===`End`?(r(`endKeyDown`,e),e.preventDefault()):I(Bh).concat(I(Vh)).includes(e.key)&&(r(`stepKeyDown`,e),e.preventDefault())},onPointerdown:t[1]||=e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),I(i).thumbElements.value.includes(t)?t.focus():r(`slideStart`,e)},onPointermove:t[2]||=e=>{e.target.hasPointerCapture(e.pointerId)&&r(`slideMove`,e)},onPointerup:t[3]||=e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),r(`slideEnd`,e))}}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}}),Zh=R({__name:`SliderRange`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=qh(),n=Uh();Id();let r=W(()=>t.currentModelValue.value.map(e=>jh(e,t.min.value,t.max.value))),i=W(()=>t.currentModelValue.value.length>1?Math.min(...r.value):0),a=W(()=>100-Math.max(...r.value,0));return(e,r)=>(B(),V(I(vf),{"data-disabled":I(t).disabled.value?``:void 0,"data-orientation":I(t).orientation.value,"as-child":e.asChild,as:e.as,style:ue({[I(n).startEdge.value]:`${i.value}%`,[I(n).endEdge.value]:`${a.value}%`})},{default:L(()=>[z(e.$slots,`default`)]),_:3},8,[`data-disabled`,`data-orientation`,`as-child`,`as`,`style`]))}}),Qh=R({inheritAttrs:!1,__name:`SliderThumbImpl`,props:{index:{type:Number,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,n=qh(),r=Uh(),{forwardRef:i,currentElement:a}=Id(),{CollectionItem:o}=Kf(),s=W(()=>n.modelValue?.value?.[t.index]),c=W(()=>s.value===void 0?0:jh(s.value,n.min.value??0,n.max.value??100)),l=W(()=>Mh(t.index,n.modelValue?.value?.length??0)),u=cf(a),d=W(()=>u[r.size].value),f=W(()=>n.thumbAlignment.value===`overflow`||!d.value?0:Ph(d.value,c.value,r.direction.value)),p=sd();return Ji(()=>{n.thumbElements.value.push(a.value)}),Qi(()=>{let e=n.thumbElements.value.findIndex(e=>e===a.value)??-1;n.thumbElements.value.splice(e,1)}),(e,t)=>(B(),V(I(o),null,{default:L(()=>[U(I(vf),ks(e.$attrs,{ref:I(i),role:`slider`,tabindex:I(n).disabled.value?void 0:0,"aria-label":e.$attrs[`aria-label`]||l.value,"data-disabled":I(n).disabled.value?``:void 0,"data-orientation":I(n).orientation.value,"aria-valuenow":s.value,"aria-valuemin":I(n).min.value,"aria-valuemax":I(n).max.value,"aria-orientation":I(n).orientation.value,"as-child":e.asChild,as:e.as,style:{transform:`var(--reka-slider-thumb-transform)`,position:`absolute`,[I(r).startEdge.value]:`calc(${c.value}% + ${f.value}px)`,display:!I(p)&&s.value===void 0?`none`:void 0},onFocus:t[0]||=()=>{I(n).valueIndexToChangeRef.value=e.index}}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`tabindex`,`aria-label`,`data-disabled`,`data-orientation`,`aria-valuenow`,`aria-valuemin`,`aria-valuemax`,`aria-orientation`,`as-child`,`as`,`style`])]),_:3}))}}),$h=R({__name:`SliderThumb`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,{getItems:n}=Kf(),{forwardRef:r,currentElement:i}=Id(),a=W(()=>i.value?n(!0).findIndex(e=>e.ref===i.value):-1);return(e,n)=>(B(),V(Qh,ks({ref:I(r)},t,{index:a.value}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`index`]))}}),eg=R({__name:`SliderTrack`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=qh();return Id(),(e,n)=>(B(),V(I(vf),{"as-child":e.asChild,as:e.as,"data-disabled":I(t).disabled.value?``:void 0,"data-orientation":I(t).orientation.value},{default:L(()=>[z(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`data-disabled`,`data-orientation`]))}}),[tg,ng]=Pu(`PopoverRoot`),rg=R({__name:`PopoverRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},modal:{type:Boolean,required:!1,default:!1}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t,{modal:i}=gn(n),a=pd(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0});return ng({contentId:``,triggerId:``,modal:i,open:a,onOpenChange:e=>{a.value=e},onOpenToggle:()=>{a.value=!a.value},triggerElement:F(),hasCustomAnchor:F(!1)}),(e,t)=>(B(),V(I(rp),null,{default:L(()=>[z(e.$slots,`default`,{open:I(a),close:()=>a.value=!1})]),_:3}))}}),ig=R({__name:`PopoverContentImpl`,props:{trapFocus:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Ld($u(n,`trapFocus`,`disableOutsidePointerEvents`)),{forwardRef:a}=Id(),o=tg();return Nd(),(e,t)=>(B(),V(I(zf),{"as-child":``,loop:``,trapped:e.trapFocus,onMountAutoFocus:t[5]||=e=>r(`openAutoFocus`,e),onUnmountAutoFocus:t[6]||=e=>r(`closeAutoFocus`,e)},{default:L(()=>[U(I(Tf),{"as-child":``,"disable-outside-pointer-events":e.disableOutsidePointerEvents,onPointerDownOutside:t[0]||=e=>r(`pointerDownOutside`,e),onInteractOutside:t[1]||=e=>r(`interactOutside`,e),onEscapeKeyDown:t[2]||=e=>r(`escapeKeyDown`,e),onFocusOutside:t[3]||=e=>r(`focusOutside`,e),onDismiss:t[4]||=e=>I(o).onOpenChange(!1)},{default:L(()=>[U(I(_h),ks(I(i),{id:I(o).contentId,ref:I(a),"data-state":I(o).open.value?`open`:`closed`,"aria-labelledby":I(o).triggerId,style:{"--reka-popover-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-popover-content-available-width":`var(--reka-popper-available-width)`,"--reka-popover-content-available-height":`var(--reka-popper-available-height)`,"--reka-popover-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-popover-trigger-height":`var(--reka-popper-anchor-height)`},role:`dialog`}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`aria-labelledby`])]),_:3},8,[`disable-outside-pointer-events`])]),_:3},8,[`trapped`]))}}),ag=R({__name:`PopoverContentModal`,props:{memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=tg(),a=F(!1);Cd(!0);let o=Rd(n,r),{forwardRef:s,currentElement:c}=Id();return nf(c),(e,t)=>(B(),V(ig,ks(I(o),{ref:I(s),"trap-focus":I(i).open.value,"disable-outside-pointer-events":``,onCloseAutoFocus:t[0]||=au(e=>{r(`closeAutoFocus`,e),a.value||I(i).triggerElement.value?.focus()},[`prevent`]),onPointerDownOutside:t[1]||=e=>{r(`pointerDownOutside`,e);let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,i=t.button===2||n;a.value=i},onFocusOutside:t[2]||=au(()=>{},[`prevent`])}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`trap-focus`]))}}),og=R({__name:`PopoverContentNonModal`,props:{memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=tg(),a=F(!1),o=F(!1),s=Rd(n,r);return(e,t)=>(B(),V(ig,ks(I(s),{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:t[0]||=e=>{r(`closeAutoFocus`,e),e.defaultPrevented||(a.value||I(i).triggerElement.value?.focus(),e.preventDefault()),a.value=!1,o.value=!1},onInteractOutside:t[1]||=async e=>{r(`interactOutside`,e),e.defaultPrevented||(a.value=!0,e.detail.originalEvent.type===`pointerdown`&&(o.value=!0));let t=e.target;I(i).triggerElement.value?.contains(t)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&o.value&&e.preventDefault()}}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}}),sg=R({__name:`PopoverContent`,props:{forceMount:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=tg(),a=Rd(n,r),{forwardRef:o}=Id();return i.contentId||=af(void 0,`reka-popover-content`),(e,t)=>(B(),V(I(hf),{present:e.forceMount||I(i).open.value},{default:L(()=>[I(i).modal.value?(B(),V(ag,ks({key:0},I(a),{ref:I(o)}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16)):(B(),V(og,ks({key:1},I(a),{ref:I(o)}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),cg=R({__name:`PopoverPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(B(),V(I(Wf),ge(xs(t)),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}}),lg=R({__name:`PopoverTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=tg(),{forwardRef:r,currentElement:i}=Id();return n.triggerId||=af(void 0,`reka-popover-trigger`),Ji(()=>{n.triggerElement.value=i.value}),(e,i)=>(B(),V(sa(I(n).hasCustomAnchor.value?I(vf):I(ip)),{"as-child":``},{default:L(()=>[U(I(vf),{id:I(n).triggerId,ref:I(r),type:e.as===`button`?`button`:void 0,"aria-haspopup":`dialog`,"aria-expanded":I(n).open.value,"aria-controls":I(n).contentId,"data-state":I(n).open.value?`open`:`closed`,as:e.as,"as-child":t.asChild,onClick:I(n).onOpenToggle},{default:L(()=>[z(e.$slots,`default`)]),_:3},8,[`id`,`type`,`aria-expanded`,`aria-controls`,`data-state`,`as`,`as-child`,`onClick`])]),_:3}))}}),ug=new Map,dg=!1;try{dg=new Intl.NumberFormat(`de-DE`,{signDisplay:`exceptZero`}).resolvedOptions().signDisplay===`exceptZero`}catch{}var fg=!1;try{fg=new Intl.NumberFormat(`de-DE`,{style:`unit`,unit:`degree`}).resolvedOptions().style===`unit`}catch{}var pg={degree:{narrow:{default:`°`,"ja-JP":` 度`,"zh-TW":`度`,"sl-SI":` °`}}},mg=class{format(e){let t=``;if(t=!dg&&this.options.signDisplay!=null?gg(this.numberFormatter,this.options.signDisplay,e):this.numberFormatter.format(e),this.options.style===`unit`&&!fg){let{unit:e,unitDisplay:n=`short`,locale:r}=this.resolvedOptions();if(!e)return t;let i=pg[e]?.[n];t+=i[r]||i.default}return t}formatToParts(e){return this.numberFormatter.formatToParts(e)}formatRange(e,t){if(typeof this.numberFormatter.formatRange==`function`)return this.numberFormatter.formatRange(e,t);if(t= start date`);return`${this.format(e)} \u{2013} ${this.format(t)}`}formatRangeToParts(e,t){if(typeof this.numberFormatter.formatRangeToParts==`function`)return this.numberFormatter.formatRangeToParts(e,t);if(t= start date`);let n=this.numberFormatter.formatToParts(e),r=this.numberFormatter.formatToParts(t);return[...n.map(e=>({...e,source:`startRange`})),{type:`literal`,value:` – `,source:`shared`},...r.map(e=>({...e,source:`endRange`}))]}resolvedOptions(){let e=this.numberFormatter.resolvedOptions();return!dg&&this.options.signDisplay!=null&&(e={...e,signDisplay:this.options.signDisplay}),!fg&&this.options.style===`unit`&&(e={...e,style:`unit`,unit:this.options.unit,unitDisplay:this.options.unitDisplay}),e}constructor(e,t={}){this.numberFormatter=hg(e,t),this.options=t}};function hg(e,t={}){let{numberingSystem:n}=t;if(n&&e.includes(`-nu-`)&&(e.includes(`-u-`)||(e+=`-u-`),e+=`-nu-${n}`),t.style===`unit`&&!fg){let{unit:e,unitDisplay:n=`short`}=t;if(!e)throw Error(`unit option must be provided with style: "unit"`);if(!pg[e]?.[n])throw Error(`Unsupported unit ${e} with unitDisplay = ${n}`);t={...t,style:`decimal`}}let r=e+(t?Object.entries(t).sort((e,t)=>e[0]0||Object.is(n,0):t===`exceptZero`&&(Object.is(n,-0)||Object.is(n,0)?n=Math.abs(n):r=n>0),r){let t=e.format(-n),r=e.format(n),i=t.replace(r,``).replace(/\u200e|\u061C/,``);return[...i].length!==1&&console.warn(`@react-aria/i18n polyfill for NumberFormat signDisplay: Unsupported case`),t.replace(r,`!!!`).replace(i,`+`).replace(`!!!`,r)}return e.format(n)}}var _g=RegExp(`^.*\\(.*\\).*$`),vg=[`latn`,`arab`,`hanidec`,`deva`,`beng`,`fullwide`],yg=class{parse(e){return xg(this.locale,this.options,e).parse(e)}isValidPartialNumber(e,t,n){return xg(this.locale,this.options,e).isValidPartialNumber(e,t,n)}getNumberingSystem(e){return xg(this.locale,this.options,e).options.numberingSystem}constructor(e,t={}){this.locale=e,this.options=t}},bg=new Map;function xg(e,t,n){let r=Sg(e,t);if(!e.includes(`-nu-`)&&!r.isValidPartialNumber(n)){for(let i of vg)if(i!==r.options.numberingSystem){let r=Sg(e+(e.includes(`-u-`)?`-nu-`:`-u-nu-`)+i,t);if(r.isValidPartialNumber(n))return r}}return r}function Sg(e,t){let n=e+(t?Object.entries(t).sort((e,t)=>e[0]-1&&(t=`-${t}`)}let n=t?+t:NaN;if(isNaN(n))return NaN;if(this.options.style===`percent`){let e={...this.options,style:`decimal`,minimumFractionDigits:Math.min((this.options.minimumFractionDigits??0)+2,20),maximumFractionDigits:Math.min((this.options.maximumFractionDigits??0)+2,20)};return new yg(this.locale,e).parse(new mg(this.locale,e).format(n))}return this.options.currencySign===`accounting`&&_g.test(e)&&(n=-1*n),n}sanitize(e){return e=e.replace(this.symbols.literals,``),this.symbols.minusSign&&(e=e.replace(`-`,this.symbols.minusSign)),this.options.numberingSystem===`arab`&&(this.symbols.decimal&&(e=e.replace(`,`,this.symbols.decimal),e=e.replace(`،`,this.symbols.decimal)),this.symbols.group&&(e=Dg(e,`.`,this.symbols.group))),this.symbols.group===`’`&&e.includes(`'`)&&(e=Dg(e,`'`,this.symbols.group)),this.options.locale===`fr-FR`&&this.symbols.group&&(e=Dg(e,` `,this.symbols.group),e=Dg(e,/\u00A0/g,this.symbols.group)),e}isValidPartialNumber(e,t=-1/0,n=1/0){return e=this.sanitize(e),this.symbols.minusSign&&e.startsWith(this.symbols.minusSign)&&t<0?e=e.slice(this.symbols.minusSign.length):this.symbols.plusSign&&e.startsWith(this.symbols.plusSign)&&n>0&&(e=e.slice(this.symbols.plusSign.length)),this.symbols.group&&e.startsWith(this.symbols.group)||this.symbols.decimal&&e.indexOf(this.symbols.decimal)>-1&&this.options.maximumFractionDigits===0?!1:(this.symbols.group&&(e=Dg(e,this.symbols.group,``)),e=e.replace(this.symbols.numeral,``),this.symbols.decimal&&(e=e.replace(this.symbols.decimal,``)),e.length===0)}constructor(e,t={}){this.locale=e,t.roundingIncrement!==1&&t.roundingIncrement!=null&&(t.maximumFractionDigits==null&&t.minimumFractionDigits==null?(t.maximumFractionDigits=0,t.minimumFractionDigits=0):t.maximumFractionDigits==null?t.maximumFractionDigits=t.minimumFractionDigits:t.minimumFractionDigits??=t.maximumFractionDigits),this.formatter=new Intl.NumberFormat(e,t),this.options=this.formatter.resolvedOptions(),this.symbols=Eg(e,this.formatter,this.options,t),this.options.style===`percent`&&((this.options.minimumFractionDigits??0)>18||(this.options.maximumFractionDigits??0)>18)&&console.warn(`NumberParser cannot handle percentages with greater than 18 decimal places, please reduce the number in your options.`)}},wg=new Set([`decimal`,`fraction`,`integer`,`minusSign`,`plusSign`,`group`]),Tg=[0,4,2,1,11,20,3,7,100,21,.1,1.1];function Eg(e,t,n,r){let i=new Intl.NumberFormat(e,{...n,minimumSignificantDigits:1,maximumSignificantDigits:21,roundingIncrement:1,roundingPriority:`auto`,roundingMode:`halfExpand`}),a=i.formatToParts(-10000.111),o=i.formatToParts(10000.111),s=Tg.map(e=>i.formatToParts(e)),c=a.find(e=>e.type===`minusSign`)?.value??`-`,l=o.find(e=>e.type===`plusSign`)?.value;!l&&(r?.signDisplay===`exceptZero`||r?.signDisplay===`always`)&&(l=`+`);let u=new Intl.NumberFormat(e,{...n,minimumFractionDigits:2,maximumFractionDigits:2}).formatToParts(.001).find(e=>e.type===`decimal`)?.value,d=a.find(e=>e.type===`group`)?.value,f=a.filter(e=>!wg.has(e.type)).map(e=>Og(e.value)),p=s.flatMap(e=>e.filter(e=>!wg.has(e.type)).map(e=>Og(e.value))),m=[...new Set([...f,...p])].sort((e,t)=>t.length-e.length),h=m.length===0?RegExp(`[\\p{White_Space}]`,`gu`):RegExp(`${m.join(`|`)}|[\\p{White_Space}]`,`gu`),g=[...new Intl.NumberFormat(n.locale,{useGrouping:!1}).format(9876543210)].reverse(),_=new Map(g.map((e,t)=>[e,t])),v=RegExp(`[${g.join(``)}]`,`g`);return{minusSign:c,plusSign:l,decimal:u,group:d,literals:h,numeral:v,index:e=>String(_.get(e))}}function Dg(e,t,n){return e.replaceAll?e.replaceAll(t,n):e.split(t).join(n)}function Og(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function kg(e){let{disabled:t}=e,n=F(),r=Bu(),i=()=>window.clearTimeout(n.value),a=e=>{i(),!t.value&&(r.trigger(),n.value=window.setTimeout(()=>{a(60)},e))},o=()=>{a(400)},s=()=>{i()},c=F(!1),l=W(()=>ad(e.target)),u=e=>{e.button!==0||c.value||(e.preventDefault(),c.value=!0,o())},d=()=>{c.value=!1,s()};return Hu&&(od(l||window,`pointerdown`,u),od(window,`pointerup`,d),od(window,`pointercancel`,d)),{isPressed:c,onTrigger:r.on}}function Ag(e,t=F({})){return Qu(()=>new mg(e.value,t.value))}function jg(e,t=F({})){return Qu(()=>new yg(e.value,t.value))}function Mg(e,t,n){let r=e===`+`?t+n:t-n;if(t%1!=0||n%1!=0){let i=t.toString().split(`.`),a=n.toString().split(`.`),o=i[1]&&i[1].length||0,s=a[1]&&a[1].length||0,c=10**Math.max(o,s);t=Math.round(t*c),n=Math.round(n*c),r=e===`+`?t+n:t-n,r/=c}return r}var[Ng,Pg]=Pu(`NumberFieldRoot`),Fg=R({inheritAttrs:!1,__name:`NumberFieldRoot`,props:{defaultValue:{type:Number,required:!1,default:void 0},modelValue:{type:[Number,null],required:!1},min:{type:Number,required:!1},max:{type:Number,required:!1},step:{type:Number,required:!1,default:1},stepSnapping:{type:Boolean,required:!1,default:!0},focusOnChange:{type:Boolean,required:!1,default:!0},formatOptions:{type:null,required:!1},locale:{type:String,required:!1},disabled:{type:Boolean,required:!1},readonly:{type:Boolean,required:!1},disableWheelChange:{type:Boolean,required:!1},invertWheelChange:{type:Boolean,required:!1},id:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`div`},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,{disabled:i,readonly:a,disableWheelChange:o,invertWheelChange:s,min:c,max:l,step:u,stepSnapping:d,formatOptions:f,id:p,locale:m}=gn(n),h=pd(n,`modelValue`,r,{defaultValue:n.defaultValue,passive:n.modelValue===void 0}),{primitiveElement:g,currentElement:_}=yf(),v=sf(m),y=Fd(_),b=F(),x=W(()=>Lu(h.value)||isNaN(h.value)?!1:C(`decrease`,h.value)>=h.value),S=W(()=>Lu(h.value)||isNaN(h.value)?!1:C(`increase`,h.value)<=h.value);function C(e,t,n=1){let r=u.value??1,i=e===`increase`?`+`:`-`,a;if(d.value&&!isNaN(r)){let o=Nu(t,c.value,l.value,r);if(o===t)a=Mg(i,t,r*n);else{let s=e===`increase`?o>t?o:Mg(`+`,o,r):o1?Mg(i,s,r*(n-1)):s}}else a=Mg(i,t,r*n);return M(a)}function w(e,t=1){if(n.focusOnChange&&b.value?.focus(),n.disabled||n.readonly)return;let r=ee.parse(b.value?.value??``);if(isNaN(r)){h.value=M(c.value??0);return}h.value=C(e,r,t)}function T(e=1){w(`increase`,e)}function E(e=1){w(`decrease`,e)}function D(e){e===`min`&&c.value!==void 0?h.value=M(c.value):e===`max`&&l.value!==void 0&&(h.value=M(l.value))}let O=Ag(v,f),ee=jg(v,f),k=W(()=>O.resolvedOptions().maximumFractionDigits>0?`decimal`:`numeric`),A=Ag(v,f),te=W(()=>Lu(h.value)||isNaN(h.value)?``:A.format(h.value));function j(e){return ee.isValidPartialNumber(e,c.value,l.value)}function ne(e){b.value&&(b.value.value=e)}function M(e){let t;return t=u.value===void 0||isNaN(u.value)||!d.value?ju(e,c.value,l.value):Nu(e,c.value,l.value,u.value),t=ee.parse(O.format(t)),t}function N(e){let t=ee.parse(e);return h.value=isNaN(t)?void 0:M(t),e.length?ne(te.value):ne(e)}return Pg({modelValue:h,handleDecrease:E,handleIncrease:T,handleMinMaxValue:D,inputMode:k,inputEl:b,onInputElement:e=>b.value=e,textValue:te,readonly:a,validate:j,applyInputValue:N,disabled:i,disableWheelChange:o,invertWheelChange:s,max:l,min:c,isDecreaseDisabled:x,isIncreaseDisabled:S,id:p}),(e,t)=>(B(),V(I(vf),ks(e.$attrs,{ref_key:`primitiveElement`,ref:g,role:`group`,as:e.as,"as-child":e.asChild,"data-disabled":I(i)?``:void 0,"data-readonly":I(a)?``:void 0}),{default:L(()=>[z(e.$slots,`default`,{modelValue:I(h),textValue:te.value,readonly:I(a)}),I(y)&&e.name?(B(),V(I(Yf),{key:0,type:`text`,value:I(h),name:e.name,disabled:I(i),readonly:I(a),required:e.required},null,8,[`value`,`name`,`disabled`,`readonly`,`required`])):Ts(`v-if`,!0)]),_:3},16,[`as`,`as-child`,`data-disabled`,`data-readonly`]))}}),Ig=R({__name:`NumberFieldDecrement`,props:{disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=Ng(),r=W(()=>n.disabled?.value||n.readonly.value||t.disabled||n.isDecreaseDisabled.value),{primitiveElement:i,currentElement:a}=yf(),{isPressed:o,onTrigger:s}=kg({target:a,disabled:r});return s(()=>{n.handleDecrease()}),(e,n)=>(B(),V(I(vf),ks(t,{ref_key:`primitiveElement`,ref:i,tabindex:`-1`,"aria-label":`Decrease`,type:e.as===`button`?`button`:void 0,style:{userSelect:I(o)?`none`:void 0},disabled:r.value?``:void 0,"data-disabled":r.value?``:void 0,"data-pressed":I(o)?`true`:void 0,onContextmenu:n[0]||=au(()=>{},[`prevent`])}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`type`,`style`,`disabled`,`data-disabled`,`data-pressed`]))}}),Lg=R({__name:`NumberFieldIncrement`,props:{disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=Ng(),r=W(()=>n.disabled?.value||n.readonly.value||t.disabled||n.isIncreaseDisabled.value),{primitiveElement:i,currentElement:a}=yf(),{isPressed:o,onTrigger:s}=kg({target:a,disabled:r});return s(()=>{n.handleIncrease()}),(e,n)=>(B(),V(I(vf),ks(t,{ref_key:`primitiveElement`,ref:i,tabindex:`-1`,"aria-label":`Increase`,type:e.as===`button`?`button`:void 0,style:{userSelect:I(o)?`none`:void 0},disabled:r.value?``:void 0,"data-disabled":r.value?``:void 0,"data-pressed":I(o)?`true`:void 0,onContextmenu:n[0]||=au(()=>{},[`prevent`])}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`type`,`style`,`disabled`,`data-disabled`,`data-pressed`]))}}),Rg=R({__name:`NumberFieldInput`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`input`}},setup(e){let t=e,{primitiveElement:n,currentElement:r}=yf(),i=Ng(),a=of(),{isComposing:o,handleCompositionStart:s,handleCompositionEnd:c}=kd();function l(e){if(!(o.value||e.isComposing))switch(e.key){case a.ARROW_UP:e.preventDefault(),i.handleIncrease();break;case a.ARROW_DOWN:e.preventDefault(),i.handleDecrease();break;case a.PAGE_UP:e.preventDefault(),i.handleIncrease(10);break;case a.PAGE_DOWN:e.preventDefault(),i.handleDecrease(10);break;case a.HOME:e.preventDefault(),i.handleMinMaxValue(`min`);break;case a.END:e.preventDefault(),i.handleMinMaxValue(`max`);break;case a.ENTER:i.applyInputValue(e.target?.value)}}function u(e){i.disableWheelChange.value||e.target===Fu()&&(Math.abs(e.deltaY)<=Math.abs(e.deltaX)||(e.preventDefault(),e.deltaY>0?i.invertWheelChange.value?i.handleDecrease():i.handleIncrease():e.deltaY<0&&(i.invertWheelChange.value?i.handleIncrease():i.handleDecrease())))}Ji(()=>{i.onInputElement(r.value)});let d=F(i.textValue.value);Cr(()=>i.textValue.value,()=>{d.value=i.textValue.value},{immediate:!0,deep:!0});function f(){requestAnimationFrame(()=>{d.value=i.textValue.value})}return(e,r)=>(B(),V(I(vf),ks(t,{id:I(i).id.value,ref_key:`primitiveElement`,ref:n,value:d.value,role:`spinbutton`,type:`text`,tabindex:`0`,inputmode:I(i).inputMode.value,disabled:I(i).disabled.value?``:void 0,"data-disabled":I(i).disabled.value?``:void 0,readonly:I(i).readonly.value?``:void 0,"data-readonly":I(i).readonly.value?``:void 0,autocomplete:`off`,autocorrect:`off`,spellcheck:`false`,"aria-roledescription":`Number field`,"aria-valuenow":I(i).modelValue.value,"aria-valuemin":I(i).min.value,"aria-valuemax":I(i).max.value,onKeydown:l,onWheel:u,onBeforeinput:r[0]||=e=>{if(e.isComposing||e.inputType.startsWith(`delete`)||e.inputType.startsWith(`history`))return;let t=e.target,n=t.value.slice(0,t.selectionStart??void 0)+(e.data??``)+t.value.slice(t.selectionEnd??void 0);I(i).validate(n)||e.preventDefault()},onInput:r[1]||=e=>{let t=e.target;d.value=t.value},onChange:f,onBlur:r[2]||=e=>I(i).applyInputValue(e.target?.value),onCompositionstart:I(s),onCompositionend:I(c)}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`id`,`value`,`inputmode`,`disabled`,`data-disabled`,`readonly`,`data-readonly`,`aria-valuenow`,`aria-valuemin`,`aria-valuemax`,`onCompositionstart`,`onCompositionend`]))}}),zg=[` `,`Enter`,`ArrowUp`,`ArrowDown`],Bg=[` `,`Enter`];function Vg(e,t,n){return e===void 0?!1:Array.isArray(e)?e.some(e=>Hg(e,t,n)):Hg(e,t,n)}function Hg(e,t,n){return e===void 0||t===void 0?!1:typeof e==`string`?e===t:typeof n==`function`?n(e,t):typeof n==`string`?e?.[n]===t?.[n]:Au(e,t)}function Ug(e){return e==null||e===``||Array.isArray(e)&&e.length===0}var Wg=[`value`],[Gg,Kg]=Pu(`SelectRoot`),qg=R({inheritAttrs:!1,__name:`SelectRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},nullableValue:{type:String,required:!1,default:``},by:{type:[String,Function],required:!1},dir:{type:String,required:!1},multiple:{type:Boolean,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`,`update:open`],setup(e,{emit:t}){let n=e,r=t,{required:i,disabled:a,multiple:o,dir:s}=gn(n),c=pd(n,`modelValue`,r,{defaultValue:n.defaultValue??(o.value?[]:void 0),passive:n.modelValue===void 0,deep:!0}),l=pd(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0}),u=F(),d=F(),f=F({x:0,y:0}),p=W(()=>o.value&&Array.isArray(c.value)?c.value?.length===0:Lu(c.value));Kf({isProvider:!0});let m=Ad(s),h=Fd(u),g=F(new Set),_=W(()=>Array.from(g.value).map(e=>e.value).join(`;`));function v(e){if(o.value){let t=Array.isArray(c.value)?[...c.value]:[],r=t.findIndex(t=>Hg(t,e,n.by));r===-1?t.push(e):t.splice(r,1),c.value=[...t]}else c.value=e}function y(e){return Array.from(g.value).find(t=>Vg(e,t.value,n.by))}return Kg({triggerElement:u,onTriggerChange:e=>{u.value=e},valueElement:d,onValueElementChange:e=>{d.value=e},contentId:``,modelValue:c,onValueChange:v,by:n.by,open:l,multiple:o,required:i,onOpenChange:e=>{l.value=e},dir:m,triggerPointerDownPosRef:f,disabled:a,isEmptyModelValue:p,optionsSet:g,onOptionAdd:e=>{let t=y(e.value);t&&g.value.delete(t),g.value.add(e)},onOptionRemove:e=>{let t=y(e.value);t&&g.value.delete(t)}}),(e,t)=>(B(),V(I(rp),null,{default:L(()=>[z(e.$slots,`default`,{modelValue:I(c),open:I(l)}),I(h)&&e.name?(B(),V(Jg,{key:_.value,"aria-hidden":`true`,tabindex:`-1`,multiple:I(o),required:I(i),name:e.name,autocomplete:e.autocomplete,disabled:I(a),value:I(c)},{default:L(()=>[I(Lu)(I(c))?(B(),ms(`option`,{key:0,value:e.nullableValue},null,8,Wg)):Ts(`v-if`,!0),(B(!0),ms(is,null,da(Array.from(g.value),e=>(B(),ms(`option`,ks({key:e.value??``},{ref_for:!0},e),null,16))),128))]),_:1},8,[`multiple`,`required`,`name`,`autocomplete`,`disabled`,`value`])):Ts(`v-if`,!0)]),_:3}))}}),Jg=R({__name:`BubbleSelect`,props:{autocomplete:{type:String,required:!1},autofocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},form:{type:String,required:!1},multiple:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},size:{type:Number,required:!1},value:{type:null,required:!1}},setup(e){let t=e,n=F(),r=Gg();Cr(()=>t.value,(e,t)=>{let r=window.HTMLSelectElement.prototype,i=Object.getOwnPropertyDescriptor(r,`value`).set;if(e!==t&&i&&n.value){let t=new Event(`change`,{bubbles:!0});i.call(n.value,e),n.value.dispatchEvent(t)}});function i(e){r.onValueChange(e.target.value)}return(e,r)=>(B(),V(I(qf),{"as-child":``},{default:L(()=>[H(`select`,ks({ref_key:`selectElement`,ref:n},t,{onInput:i}),[z(e.$slots,`default`)],16)]),_:3}))}}),Yg=R({__name:`SelectPopperPosition`,props:{memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:`start`},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1,default:10},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=Ld(e);return(e,n)=>(B(),V(I(_h),ks(I(t),{style:{boxSizing:`border-box`,"--reka-select-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-select-content-available-width":`var(--reka-popper-available-width)`,"--reka-select-content-available-height":`var(--reka-popper-available-height)`,"--reka-select-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-select-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}}),Xg={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[Zg,Qg]=Pu(`SelectContent`),$g=R({__name:`SelectContentImpl`,props:{position:{type:String,required:!1,default:`item-aligned`},bodyLock:{type:Boolean,required:!1,default:!0},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:`start`},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=Gg();Nd(),Cd(n.bodyLock);let{CollectionSlot:a,getItems:o}=Kf(),s=F();nf(s);let{search:c,handleTypeaheadSearch:l}=uf(),u=F(),d=F(),f=F(),p=F(!1),m=F(!1),h=F(!1);function g(){d.value&&s.value&&Uf([d.value,s.value])}Cr(p,()=>{g()});let{onOpenChange:_,triggerPointerDownPosRef:v}=i;br(e=>{if(!s.value)return;let t={x:0,y:0},n=e=>{t={x:Math.abs(Math.round(e.pageX)-(v.value?.x??0)),y:Math.abs(Math.round(e.pageY)-(v.value?.y??0))}},r=e=>{e.pointerType!==`touch`&&(t.x<=10&&t.y<=10?e.preventDefault():s.value?.contains(e.target)||_(!1),document.removeEventListener(`pointermove`,n),v.value=null)};v.value!==null&&(document.addEventListener(`pointermove`,n),document.addEventListener(`pointerup`,r,{capture:!0,once:!0})),e(()=>{document.removeEventListener(`pointermove`,n),document.removeEventListener(`pointerup`,r,{capture:!0})})});function y(e){let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&l(e.key,o()),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=[...o().map(e=>e.ref)];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(()=>Uf(t)),e.preventDefault()}}let b=Ld(W(()=>n.position===`popper`?n:{}).value);return Qg({content:s,viewport:u,onViewportChange:e=>{u.value=e},itemRefCallback:(e,t,n)=>{let r=!m.value&&!n,a=Vg(i.modelValue.value,t,i.by);if(i.multiple.value){if(h.value)return;(a||r)&&(d.value=e,a&&(h.value=!0))}else(a||r)&&(d.value=e);r&&(m.value=!0)},selectedItem:d,selectedItemText:f,onItemLeave:()=>{s.value?.focus()},itemTextRefCallback:(e,t,n)=>{let r=!m.value&&!n;(Vg(i.modelValue.value,t,i.by)||r)&&(f.value=e)},focusSelectedItem:g,position:n.position,isPositioned:p,searchRef:c}),(e,t)=>(B(),V(I(a),null,{default:L(()=>[U(I(zf),{"as-child":``,onMountAutoFocus:t[6]||=au(()=>{},[`prevent`]),onUnmountAutoFocus:t[7]||=e=>{r(`closeAutoFocus`,e),!e.defaultPrevented&&(I(i).triggerElement.value?.focus({preventScroll:!0}),e.preventDefault())}},{default:L(()=>[U(I(Tf),{"as-child":``,"disable-outside-pointer-events":e.disableOutsidePointerEvents,onFocusOutside:t[2]||=au(()=>{},[`prevent`]),onDismiss:t[3]||=e=>I(i).onOpenChange(!1),onEscapeKeyDown:t[4]||=e=>r(`escapeKeyDown`,e),onPointerDownOutside:t[5]||=e=>r(`pointerDownOutside`,e)},{default:L(()=>[(B(),V(sa(e.position===`popper`?Yg:n_),ks({...e.$attrs,...I(b)},{id:I(i).contentId,ref:e=>{if(!e)return;let t=I(ad)(e);t?.hasAttribute(`data-reka-popper-content-wrapper`)?s.value=t.firstElementChild:s.value=t},role:`listbox`,"data-state":I(i).open.value?`open`:`closed`,dir:I(i).dir.value,style:{display:`flex`,flexDirection:`column`,outline:`none`},onContextmenu:t[0]||=au(()=>{},[`prevent`]),onPlaced:t[1]||=e=>p.value=!0,onKeydown:y}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`dir`,`onKeydown`]))]),_:3},8,[`disable-outside-pointer-events`])]),_:3})]),_:3}))}}),[e_,t_]=Pu(`SelectItemAlignedPosition`),n_=R({inheritAttrs:!1,__name:`SelectItemAlignedPosition`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`placed`],setup(e,{emit:t}){let n=e,r=t,{getItems:i}=Kf(),a=Gg(),o=Zg(),s=F(!1),c=F(!0),l=F(),{forwardRef:u,currentElement:d}=Id(),{viewport:f,selectedItem:p,selectedItemText:m,focusSelectedItem:h}=o;function g(){if(a.triggerElement.value&&a.valueElement.value&&l.value&&d.value&&f?.value&&p?.value&&m?.value){let e=a.triggerElement.value.getBoundingClientRect(),t=d.value.getBoundingClientRect(),n=a.valueElement.value.getBoundingClientRect(),o=m.value.getBoundingClientRect();if(a.dir.value!==`rtl`){let r=o.left-t.left,i=n.left-r,a=e.left-i,s=e.width+a,c=Math.max(s,t.width),u=window.innerWidth-10,d=ju(i,10,Math.max(10,u-c));l.value.style.minWidth=`${s}px`,l.value.style.left=`${d}px`}else{let r=t.right-o.right,i=window.innerWidth-n.right-r,a=window.innerWidth-e.right-i,s=e.width+a,c=Math.max(s,t.width),u=window.innerWidth-10,d=ju(i,10,Math.max(10,u-c));l.value.style.minWidth=`${s}px`,l.value.style.right=`${d}px`}let c=i().map(e=>e.ref),u=window.innerHeight-20,h=f.value.scrollHeight,g=window.getComputedStyle(d.value),_=Number.parseInt(g.borderTopWidth,10),v=Number.parseInt(g.paddingTop,10),y=Number.parseInt(g.borderBottomWidth,10),b=Number.parseInt(g.paddingBottom,10),x=_+v+h+b+y,S=Math.min(p.value.offsetHeight*5,x),C=window.getComputedStyle(f.value),w=Number.parseInt(C.paddingTop,10),T=Number.parseInt(C.paddingBottom,10),E=e.top+e.height/2-10,D=u-E,O=p.value.offsetHeight/2,ee=p.value.offsetTop+O,k=_+v+ee,A=x-k;if(k<=E){let e=p.value===c.at(-1);l.value.style.bottom=`0px`;let t=d.value.clientHeight-f.value.offsetTop-f.value.offsetHeight,n=k+Math.max(D,O+(e?T:0)+t+y);l.value.style.height=`${n}px`}else{let e=p.value===c[0];l.value.style.top=`0px`;let t=Math.max(E,_+f.value.offsetTop+(e?w:0)+O)+A;l.value.style.height=`${t}px`,f.value.scrollTop=k-E+f.value.offsetTop}l.value.style.margin=`10px 0`,l.value.style.minHeight=`${S}px`,l.value.style.maxHeight=`${u}px`,r(`placed`),requestAnimationFrame(()=>s.value=!0)}}let _=F(``);Ji(async()=>{await Yn(),g(),d.value&&(_.value=window.getComputedStyle(d.value).zIndex)});function v(e){e&&c.value===!0&&(g(),h?.(),c.value=!1)}return fd(a.triggerElement,()=>{g()}),t_({contentWrapper:l,shouldExpandOnScrollRef:s,onScrollButtonChange:v}),(e,t)=>(B(),ms(`div`,{ref_key:`contentWrapperElement`,ref:l,style:ue({display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:_.value})},[U(I(vf),ks({ref:I(u),style:{boxSizing:`border-box`,maxHeight:`100%`}},{...e.$attrs,...n}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16)],4))}}),r_=R({inheritAttrs:!1,__name:`SelectProvider`,props:{context:{type:Object,required:!0}},setup(e){return Kg(e.context),Qg(Xg),(e,t)=>z(e.$slots,`default`)}}),i_={key:1},a_=R({inheritAttrs:!1,__name:`SelectContent`,props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=Rd(n,t),i=Gg(),a=F();Ji(()=>{a.value=new DocumentFragment});let o=F(),s=W(()=>n.forceMount||i.open.value),c=F(s.value),l;function u(){l&&=(clearTimeout(l),void 0)}return Cr(s,(e,t,n)=>{u(),l=setTimeout(()=>{c.value=s.value,l=void 0}),n(u)}),Qi(u),(e,t)=>s.value||c.value||o.value?.present?(B(),V(I(hf),{key:0,ref_key:`presenceRef`,ref:o,present:s.value},{default:L(()=>[U($g,ge(xs({...I(r),...e.$attrs})),{default:L(()=>[z(e.$slots,`default`)]),_:3},16)]),_:3},8,[`present`])):a.value?(B(),ms(`div`,i_,[(B(),V(Rr,{to:a.value},[U(r_,{context:I(i)},{default:L(()=>[z(e.$slots,`default`)]),_:3},8,[`context`])],8,[`to`]))])):Ts(`v-if`,!0)}}),o_=R({__name:`SelectIcon`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){return(e,t)=>(B(),V(I(vf),{"aria-hidden":`true`,as:e.as,"as-child":e.asChild},{default:L(()=>[z(e.$slots,`default`,{},()=>[t[0]||=Cs(`▼`)])]),_:3},8,[`as`,`as-child`]))}}),[s_,c_]=Pu(`SelectItem`),l_=R({__name:`SelectItem`,props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`select`],setup(e,{emit:t}){let n=e,r=t,{disabled:i}=gn(n),a=Gg(),o=Zg(),{forwardRef:s,currentElement:c}=Id(),{CollectionItem:l}=Kf(),u=W(()=>Vg(a.modelValue?.value,n.value,a.by)),d=F(!1),f=F(n.textValue??``),p=af(void 0,`reka-select-item-text`);async function m(e){e.defaultPrevented||Iu(`select.select`,h,{originalEvent:e,value:n.value})}async function h(e){await Yn(),r(`select`,e),!e.defaultPrevented&&(i.value||(a.onValueChange(n.value),a.multiple.value||a.onOpenChange(!1)))}async function g(e){await Yn(),!e.defaultPrevented&&(i.value?o.onItemLeave?.():e.currentTarget?.focus({preventScroll:!0}))}async function _(e){await Yn(),!e.defaultPrevented&&e.currentTarget===Fu()&&o.onItemLeave?.()}async function v(e){await Yn(),!e.defaultPrevented&&(o.searchRef?.value===``||e.key!==` `)&&(Bg.includes(e.key)&&m(e),e.key===` `&&e.preventDefault())}if(n.value===``)throw Error(`A 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 Ji(()=>{c.value&&o.itemRefCallback(c.value,n.value,n.disabled)}),c_({value:n.value,disabled:i,textId:p,isSelected:u,onItemTextChange:e=>{f.value=((f.value||e?.textContent)??``).trim()}}),(e,t)=>(B(),V(I(l),{value:{textValue:f.value}},{default:L(()=>[U(I(vf),{ref:I(s),role:`option`,"aria-labelledby":I(p),"data-highlighted":d.value?``:void 0,"aria-selected":u.value,"data-state":u.value?`checked`:`unchecked`,"aria-disabled":I(i)||void 0,"data-disabled":I(i)?``:void 0,tabindex:I(i)?void 0:-1,as:e.as,"as-child":e.asChild,onFocus:t[0]||=e=>d.value=!0,onBlur:t[1]||=e=>d.value=!1,onPointerup:m,onPointerdown:t[2]||=e=>{e.currentTarget.focus({preventScroll:!0})},onTouchend:t[3]||=au(()=>{},[`prevent`,`stop`]),onPointermove:g,onPointerleave:_,onKeydown:v},{default:L(()=>[z(e.$slots,`default`)]),_:3},8,[`aria-labelledby`,`data-highlighted`,`aria-selected`,`data-state`,`aria-disabled`,`data-disabled`,`tabindex`,`as`,`as-child`])]),_:3},8,[`value`]))}}),u_=R({__name:`SelectItemIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,n=s_();return(e,r)=>I(n).isSelected.value?(B(),V(I(vf),ks({key:0,"aria-hidden":`true`},t),{default:L(()=>[z(e.$slots,`default`)]),_:3},16)):Ts(`v-if`,!0)}}),d_=R({inheritAttrs:!1,__name:`SelectItemText`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,n=Gg(),r=Zg(),i=s_(),{forwardRef:a,currentElement:o}=Id(),s=W(()=>({value:i.value,disabled:i.disabled.value,textContent:o.value?.textContent??i.value?.toString()??``}));return Ji(()=>{o.value&&(i.onItemTextChange(o.value),r.itemTextRefCallback(o.value,i.value,i.disabled.value),n.onOptionAdd(s.value))}),Qi(()=>{n.onOptionRemove(s.value)}),(e,n)=>(B(),V(I(vf),ks({id:I(i).textId,ref:I(a)},{...t,...e.$attrs}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`id`]))}}),f_=R({__name:`SelectPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(B(),V(I(Wf),ge(xs(t)),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}}),p_=R({__name:`SelectScrollButtonImpl`,emits:[`autoScroll`],setup(e,{emit:t}){let n=t,{getItems:r}=Kf(),i=Zg(),a=F(null);function o(){a.value!==null&&(window.clearInterval(a.value),a.value=null)}br(()=>{r().map(e=>e.ref).find(e=>e===Fu())?.scrollIntoView({block:`nearest`})});function s(){a.value===null&&(a.value=window.setInterval(()=>{n(`autoScroll`)},50))}function c(){i.onItemLeave?.(),a.value===null&&(a.value=window.setInterval(()=>{n(`autoScroll`)},50))}return Zi(()=>o()),(e,t)=>(B(),V(I(vf),ks({"aria-hidden":`true`,style:{flexShrink:0}},e.$parent?.$props,{onPointerdown:s,onPointermove:c,onPointerleave:t[0]||=()=>{o()}}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}}),m_=R({__name:`SelectScrollDownButton`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=Zg(),n=t.position===`item-aligned`?e_():void 0,{forwardRef:r,currentElement:i}=Id(),a=F(!1);return br(e=>{if(t.viewport?.value&&t.isPositioned?.value){let n=t.viewport.value;function r(){let e=n.scrollHeight-n.clientHeight;a.value=Math.ceil(n.scrollTop)n.removeEventListener(`scroll`,r))}}),Cr(i,()=>{i.value&&n?.onScrollButtonChange(i.value)}),(e,n)=>a.value?(B(),V(p_,{key:0,ref:I(r),onAutoScroll:n[0]||=()=>{let{viewport:e,selectedItem:n}=I(t);e?.value&&n?.value&&(e.value.scrollTop=e.value.scrollTop+n.value.offsetHeight)}},{default:L(()=>[z(e.$slots,`default`)]),_:3},512)):Ts(`v-if`,!0)}}),h_=R({__name:`SelectScrollUpButton`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=Zg(),n=t.position===`item-aligned`?e_():void 0,{forwardRef:r,currentElement:i}=Id(),a=F(!1);return br(e=>{if(t.viewport?.value&&t.isPositioned?.value){let n=t.viewport.value;function r(){a.value=n.scrollTop>0}r(),n.addEventListener(`scroll`,r),e(()=>n.removeEventListener(`scroll`,r))}}),Cr(i,()=>{i.value&&n?.onScrollButtonChange(i.value)}),(e,n)=>a.value?(B(),V(p_,{key:0,ref:I(r),onAutoScroll:n[0]||=()=>{let{viewport:e,selectedItem:n}=I(t);e?.value&&n?.value&&(e.value.scrollTop=e.value.scrollTop-n.value.offsetHeight)}},{default:L(()=>[z(e.$slots,`default`)]),_:3},512)):Ts(`v-if`,!0)}}),g_=R({__name:`SelectTrigger`,props:{disabled:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=Gg(),{forwardRef:r,currentElement:i}=Id(),a=W(()=>n.disabled?.value||t.disabled);n.contentId||=af(void 0,`reka-select-content`),Ji(()=>{n.onTriggerChange(i.value)});let{getItems:o}=Kf(),{search:s,handleTypeaheadSearch:c,resetTypeahead:l}=uf();function u(){a.value||(n.onOpenChange(!0),l())}function d(e){u(),n.triggerPointerDownPosRef.value={x:Math.round(e.pageX),y:Math.round(e.pageY)}}function f(e){return e.button===0&&e.ctrlKey===!1}let p=!1;function m(e){if(e.pointerType===`touch`)return e.preventDefault();let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),f(e)&&(d(e),p=!0)}function h(e){f(e)&&e.preventDefault()}function g(e){p||e.currentTarget?.focus(),p=!1}return(e,t)=>(B(),V(I(ip),{"as-child":``,reference:e.reference},{default:L(()=>[U(I(vf),{ref:I(r),role:`combobox`,type:e.as===`button`?`button`:void 0,"aria-controls":I(n).contentId,"aria-expanded":I(n).open.value||!1,"aria-required":I(n).required?.value,"aria-autocomplete":`none`,disabled:a.value,dir:I(n)?.dir.value,"data-state":I(n)?.open.value?`open`:`closed`,"data-disabled":a.value?``:void 0,"data-placeholder":I(Ug)(I(n).modelValue?.value)?``:void 0,"as-child":e.asChild,as:e.as,onClick:g,onPointerdown:m,onMousedown:h,onPointerup:t[0]||=au(e=>{e.pointerType===`touch`&&d(e)},[`prevent`]),onKeydown:t[1]||=e=>{let t=I(s)!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&t&&e.key===` `||(I(c)(e.key,I(o)()),I(zg).includes(e.key)&&(u(),e.preventDefault()))}},{default:L(()=>[z(e.$slots,`default`)]),_:3},8,[`type`,`aria-controls`,`aria-expanded`,`aria-required`,`disabled`,`dir`,`data-state`,`data-disabled`,`data-placeholder`,`as-child`,`as`])]),_:3},8,[`reference`]))}}),__=R({__name:`SelectValue`,props:{placeholder:{type:String,required:!1,default:``},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,{forwardRef:n,currentElement:r}=Id(),i=Gg();Ji(()=>{i.valueElement=r});let a=W(()=>{let e=[],t=Array.from(i.optionsSet.value),n=e=>t.find(t=>Vg(e,t.value,i.by));return e=Array.isArray(i.modelValue.value)?i.modelValue.value.map(e=>n(e)?.textContent??``):[n(i.modelValue.value)?.textContent??``],e.filter(Boolean)}),o=W(()=>a.value.length?a.value.join(`, `):t.placeholder);return(e,r)=>(B(),V(I(vf),{ref:I(n),as:e.as,"as-child":e.asChild,style:{pointerEvents:`none`},"data-placeholder":a.value.length?void 0:t.placeholder},{default:L(()=>[z(e.$slots,`default`,{selectedLabel:a.value,modelValue:I(i).modelValue.value},()=>[Cs(Ce(o.value),1)])]),_:3},8,[`as`,`as-child`,`data-placeholder`]))}}),v_=R({__name:`SelectViewport`,props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{nonce:n}=gn(t),r=vh(n),i=Zg(),a=i.position===`item-aligned`?e_():void 0,{forwardRef:o,currentElement:s}=Id();Ji(()=>{i?.onViewportChange(s.value)});let c=F(0);function l(e){let t=e.currentTarget,{shouldExpandOnScrollRef:n,contentWrapper:r}=a??{};if(n?.value&&r?.value){let e=Math.abs(c.value-t.scrollTop);if(e>0){let n=window.innerHeight-20,i=Number.parseFloat(r.value.style.minHeight),a=Number.parseFloat(r.value.style.height),o=Math.max(i,a);if(o0?s:0,r.value.style.justifyContent=`flex-end`)}}}c.value=t.scrollTop}return(e,n)=>(B(),ms(is,null,[U(I(vf),ks({ref:I(o),"data-reka-select-viewport":``,role:`presentation`},{...e.$attrs,...t},{style:{position:`relative`,flex:1,overflow:`hidden auto`},onScroll:l}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16),U(I(vf),{as:`style`,nonce:I(r)},{default:L(()=>n[0]||=[Cs(` /* Hide scrollbars cross-browser and enable momentum scroll for touch devices */ [data-reka-select-viewport] { scrollbar-width:none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } [data-reka-select-viewport]::-webkit-scrollbar { display: none; } `)]),_:1,__:[0]},8,[`nonce`])],64))}}),[y_,b_]=Pu(`TooltipProvider`),x_=R({inheritAttrs:!1,__name:`TooltipProvider`,props:{delayDuration:{type:Number,required:!1,default:700},skipDelayDuration:{type:Number,required:!1,default:300},disableHoverableContent:{type:Boolean,required:!1,default:!1},disableClosingTrigger:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:!1},content:{type:Object,required:!1}},setup(e){let{delayDuration:t,skipDelayDuration:n,disableHoverableContent:r,disableClosingTrigger:i,ignoreNonKeyboardFocus:a,disabled:o,content:s}=gn(e);Id();let c=F(!0),l=F(!1),{start:u,stop:d}=nd(()=>{c.value=!0},n,{immediate:!1});return b_({isOpenDelayed:c,delayDuration:t,onOpen(){d(),c.value=!1},onClose(){u()},isPointerInTransitRef:l,disableHoverableContent:r,disableClosingTrigger:i,disabled:o,ignoreNonKeyboardFocus:a,content:s}),(e,t)=>z(e.$slots,`default`)}}),S_=`tooltip.open`,[C_,w_]=Pu(`TooltipRoot`),T_=R({__name:`TooltipRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},delayDuration:{type:Number,required:!1,default:void 0},disableHoverableContent:{type:Boolean,required:!1,default:void 0},disableClosingTrigger:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1,default:void 0},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:void 0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t;Id();let i=y_(),a=W(()=>n.disableHoverableContent??i.disableHoverableContent.value),o=W(()=>n.disableClosingTrigger??i.disableClosingTrigger.value),s=W(()=>n.disabled??i.disabled.value),c=W(()=>n.delayDuration??i.delayDuration.value),l=W(()=>n.ignoreNonKeyboardFocus??i.ignoreNonKeyboardFocus.value),u=pd(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0});Cr(u,e=>{i.onClose&&(e?(i.onOpen(),document.dispatchEvent(new CustomEvent(S_))):i.onClose())});let d=F(!1),f=F(),p=W(()=>u.value?d.value?`delayed-open`:`instant-open`:`closed`),{start:m,stop:h}=nd(()=>{d.value=!0,u.value=!0},c,{immediate:!1});function g(){h(),d.value=!1,u.value=!0}function _(){h(),u.value=!1}function v(){m()}return w_({contentId:``,open:u,stateAttribute:p,trigger:f,onTriggerChange(e){f.value=e},onTriggerEnter(){i.isOpenDelayed.value?v():g()},onTriggerLeave(){a.value?_():h()},onOpen:g,onClose:_,disableHoverableContent:a,disableClosingTrigger:o,disabled:s,ignoreNonKeyboardFocus:l}),(e,t)=>(B(),V(I(rp),null,{default:L(()=>[z(e.$slots,`default`,{open:I(u)})]),_:3}))}}),E_=R({__name:`TooltipContentImpl`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1,default:void 0},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1,default:void 0},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1,default:void 0},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=C_(),a=y_(),{forwardRef:o,currentElement:s}=Id(),c=W(()=>n.ariaLabel||s.value?.textContent),l=W(()=>{let{ariaLabel:e,...t}=n;return xd(t,a.content.value??{},{side:`top`,sideOffset:0,align:`center`,avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:`partial`,hideWhenDetached:!1})});return Ji(()=>{od(window,`scroll`,e=>{e.target?.contains(i.trigger.value)&&i.onClose()},{capture:!0}),od(window,S_,i.onClose)}),(e,t)=>(B(),V(I(Tf),{"as-child":``,"disable-outside-pointer-events":!1,onEscapeKeyDown:t[0]||=e=>r(`escapeKeyDown`,e),onPointerDownOutside:t[1]||=e=>{I(i).disableClosingTrigger.value&&I(i).trigger.value?.contains(e.target)&&e.preventDefault(),r(`pointerDownOutside`,e)},onFocusOutside:t[2]||=au(()=>{},[`prevent`]),onDismiss:t[3]||=e=>I(i).onClose()},{default:L(()=>[U(I(_h),ks({ref:I(o),"data-state":I(i).stateAttribute.value},{...e.$attrs,...l.value},{style:{"--reka-tooltip-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-tooltip-content-available-width":`var(--reka-popper-available-width)`,"--reka-tooltip-content-available-height":`var(--reka-popper-available-height)`,"--reka-tooltip-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-tooltip-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:L(()=>[z(e.$slots,`default`),U(I(qf),{id:I(i).contentId,role:`tooltip`},{default:L(()=>[Cs(Ce(c.value),1)]),_:1},8,[`id`])]),_:3},16,[`data-state`])]),_:3}))}}),D_=R({__name:`TooltipContentHoverable`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},setup(e){let t=Ld(e),{forwardRef:n,currentElement:r}=Id(),{trigger:i,onClose:a}=C_(),o=y_(),{isPointerInTransit:s,onPointerExit:c}=Bd(i,r);return o.isPointerInTransitRef=s,c(()=>{a()}),(e,r)=>(B(),V(E_,ks({ref:I(n)},I(t)),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}}),O_=R({__name:`TooltipContent`,props:{forceMount:{type:Boolean,required:!1},ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=C_(),a=Rd(n,r),{forwardRef:o}=Id();return(e,t)=>(B(),V(I(hf),{present:e.forceMount||I(i).open.value},{default:L(()=>[(B(),V(sa(I(i).disableHoverableContent.value?E_:D_),ks({ref:I(o)},I(a)),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),k_=R({__name:`TooltipPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(B(),V(I(Wf),ge(xs(t)),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}}),A_=R({__name:`TooltipTrigger`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=C_(),r=y_();n.contentId||=af(void 0,`reka-tooltip-content`);let{forwardRef:i,currentElement:a}=Id(),o=F(!1),s=F(!1),c=W(()=>n.disabled.value?{}:{click:h,focus:p,pointermove:d,pointerleave:f,pointerdown:u,blur:m});Ji(()=>{n.onTriggerChange(a.value)});function l(){setTimeout(()=>{o.value=!1},1)}function u(){n.open&&!n.disableClosingTrigger.value&&n.onClose(),o.value=!0,document.addEventListener(`pointerup`,l,{once:!0})}function d(e){e.pointerType!==`touch`&&!s.value&&!r.isPointerInTransitRef.value&&(n.onTriggerEnter(),s.value=!0)}function f(){n.onTriggerLeave(),s.value=!1}function p(e){o.value||n.ignoreNonKeyboardFocus.value&&!e.target.matches?.(`:focus-visible`)||n.onOpen()}function m(){n.onClose()}function h(){n.disableClosingTrigger.value||n.onClose()}return(e,r)=>(B(),V(I(ip),{"as-child":``,reference:e.reference},{default:L(()=>[U(I(vf),ks({ref:I(i),"aria-describedby":I(n).open.value?I(n).contentId:void 0,"data-state":I(n).stateAttribute.value,as:e.as,"as-child":t.asChild,"data-grace-area-trigger":``},ma(c.value)),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`aria-describedby`,`data-state`,`as`,`as-child`])]),_:3},8,[`reference`]))}}),j_=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t({classGroupId:e,validator:t}),N_=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),P_=`-`,F_=[],I_=`arbitrary..`,L_=e=>{let t=B_(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return z_(e);let n=e.split(P_);return R_(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?j_(i,t):t:i||F_}return n[e]||F_}}},R_=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=R_(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(P_):e.slice(t).join(P_),s=a.length;for(let e=0;ee.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?I_+r:void 0})(),B_=e=>{let{theme:t,classGroups:n}=e;return V_(n,t)},V_=(e,t)=>{let n=N_();for(let r in e){let i=e[r];H_(i,n,r,t)}return n},H_=(e,t,n,r)=>{let i=e.length;for(let a=0;a{if(typeof e==`string`){W_(e,t,n);return}if(typeof e==`function`){G_(e,t,n,r);return}K_(e,t,n,r)},W_=(e,t,n)=>{let r=e===``?t:q_(t,e);r.classGroupId=n},G_=(e,t,n,r)=>{if(J_(e)){H_(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(M_(n,e))},K_=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e{let n=e,r=t.split(P_),i=r.length;for(let e=0;e`isThemeGetter`in e&&e.isThemeGetter===!0,Y_=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)}}},X_=`!`,Z_=`:`,Q_=[],$_=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),ev=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;si?a-i:void 0;return $_(t,l,c,u)};if(t){let e=t+Z_,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):$_(Q_,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},tv=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},nv=e=>({cache:Y_(e.cacheSize),parseClassName:ev(e),sortModifiers:tv(e),postfixLookupClassGroupIds:rv(e),...L_(e)}),rv=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(iv),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:m}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let h=!!m,g;if(h){g=r(p.substring(0,m));let e=g&&o[g]?r(p):void 0;e&&e!==g&&(g=e,h=!1)}else g=r(p);if(!g){if(!h){l=t+(l.length>0?` `+l:l);continue}if(g=r(p),!g){l=t+(l.length>0?` `+l:l);continue}h=!1}let _=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),v=f?_+X_:_,y=v+g;if(s.indexOf(y)>-1)continue;s.push(y);let b=i(g,h);for(let e=0;e0?` `+l:l)}return l},ov=(...e)=>{let t=0,n,r,i=``;for(;t{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r{let n,r,i,a,o=o=>(n=nv(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=av(e,n);return i(e,a),a};return a=o,(...e)=>a(ov(...e))},lv=[],uv=e=>{let t=t=>t[e]||lv;return t.isThemeGetter=!0,t},dv=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,fv=/^\((?:(\w[\w-]*):)?(.+)\)$/i,pv=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,mv=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,hv=/\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$/,gv=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,_v=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,vv=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,yv=e=>pv.test(e),bv=e=>!!e&&!Number.isNaN(Number(e)),xv=e=>!!e&&Number.isInteger(Number(e)),Sv=e=>e.endsWith(`%`)&&bv(e.slice(0,-1)),Cv=e=>mv.test(e),wv=()=>!0,Tv=e=>hv.test(e)&&!gv.test(e),Ev=()=>!1,Dv=e=>_v.test(e),Ov=e=>vv.test(e),kv=e=>!G(e)&&!K(e),Av=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),jv=e=>Kv(e,Xv,Ev),G=e=>dv.test(e),Mv=e=>Kv(e,Zv,Tv),Nv=e=>Kv(e,Qv,bv),Pv=e=>Kv(e,ey,wv),Fv=e=>Kv(e,$v,Ev),Iv=e=>Kv(e,Jv,Ev),Lv=e=>Kv(e,Yv,Ov),Rv=e=>Kv(e,ty,Dv),K=e=>fv.test(e),zv=e=>qv(e,Zv),Bv=e=>qv(e,$v),Vv=e=>qv(e,Jv),Hv=e=>qv(e,Xv),Uv=e=>qv(e,Yv),Wv=e=>qv(e,ty,!0),Gv=e=>qv(e,ey,!0),Kv=(e,t,n)=>{let r=dv.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},qv=(e,t,n=!1)=>{let r=fv.exec(e);return r?r[1]?t(r[1]):n:!1},Jv=e=>e===`position`||e===`percentage`,Yv=e=>e===`image`||e===`url`,Xv=e=>e===`length`||e===`size`||e===`bg-size`,Zv=e=>e===`length`,Qv=e=>e===`number`,$v=e=>e===`family-name`,ey=e=>e===`number`||e===`weight`,ty=e=>e===`shadow`,ny=cv(()=>{let e=uv(`color`),t=uv(`font`),n=uv(`text`),r=uv(`font-weight`),i=uv(`tracking`),a=uv(`leading`),o=uv(`breakpoint`),s=uv(`container`),c=uv(`spacing`),l=uv(`radius`),u=uv(`shadow`),d=uv(`inset-shadow`),f=uv(`text-shadow`),p=uv(`drop-shadow`),m=uv(`blur`),h=uv(`perspective`),g=uv(`aspect`),_=uv(`ease`),v=uv(`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(),K,G],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[K,G,c],T=()=>[yv,`full`,`auto`,...w()],E=()=>[xv,`none`,`subgrid`,K,G],D=()=>[`auto`,{span:[`full`,xv,K,G]},xv,K,G],O=()=>[xv,`auto`,K,G],ee=()=>[`auto`,`min`,`max`,`fr`,K,G],k=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],A=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],te=()=>[`auto`,...w()],j=()=>[yv,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],ne=()=>[yv,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],M=()=>[yv,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],N=()=>[e,K,G],re=()=>[...b(),Vv,Iv,{position:[K,G]}],ie=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ae=()=>[`auto`,`cover`,`contain`,Hv,jv,{size:[K,G]}],oe=()=>[Sv,zv,Mv],se=()=>[``,`none`,`full`,l,K,G],ce=()=>[``,bv,zv,Mv],le=()=>[`solid`,`dashed`,`dotted`,`double`],ue=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],de=()=>[bv,Sv,Vv,Iv],fe=()=>[``,`none`,m,K,G],pe=()=>[`none`,bv,K,G],me=()=>[`none`,bv,K,G],he=()=>[bv,K,G],ge=()=>[yv,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[Cv],breakpoint:[Cv],color:[wv],container:[Cv],"drop-shadow":[Cv],ease:[`in`,`out`,`in-out`],font:[kv],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[Cv],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[Cv],shadow:[Cv],spacing:[`px`,bv],text:[Cv],"text-shadow":[Cv],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,yv,G,K,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,K,G]}],"container-named":[Av],columns:[{columns:[bv,G,K,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:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[xv,`auto`,K,G]}],basis:[{basis:[yv,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[bv,yv,`auto`,`initial`,`none`,G]}],grow:[{grow:[``,bv,K,G]}],shrink:[{shrink:[``,bv,K,G]}],order:[{order:[xv,`first`,`last`,`none`,K,G]}],"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":ee()}],"auto-rows":[{"auto-rows":ee()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...k(),`normal`]}],"justify-items":[{"justify-items":[...A(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...A()]}],"align-content":[{content:[`normal`,...k()]}],"align-items":[{items:[...A(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...A(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":k()}],"place-items":[{"place-items":[...A(),`baseline`]}],"place-self":[{"place-self":[`auto`,...A()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:te()}],mx:[{mx:te()}],my:[{my:te()}],ms:[{ms:te()}],me:[{me:te()}],mbs:[{mbs:te()}],mbe:[{mbe:te()}],mt:[{mt:te()}],mr:[{mr:te()}],mb:[{mb:te()}],ml:[{ml:te()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:j()}],"inline-size":[{inline:[`auto`,...ne()]}],"min-inline-size":[{"min-inline":[`auto`,...ne()]}],"max-inline-size":[{"max-inline":[`none`,...ne()]}],"block-size":[{block:[`auto`,...M()]}],"min-block-size":[{"min-block":[`auto`,...M()]}],"max-block-size":[{"max-block":[`none`,...M()]}],w:[{w:[s,`screen`,...j()]}],"min-w":[{"min-w":[s,`screen`,`none`,...j()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...j()]}],h:[{h:[`screen`,`lh`,...j()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...j()]}],"max-h":[{"max-h":[`screen`,`lh`,...j()]}],"font-size":[{text:[`base`,n,zv,Mv]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,Gv,Pv]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,Sv,G]}],"font-family":[{font:[Bv,Fv,t]}],"font-features":[{"font-features":[G]}],"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,K,G]}],"line-clamp":[{"line-clamp":[bv,`none`,K,Nv]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,K,G]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,K,G]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:N()}],"text-color":[{text:N()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...le(),`wavy`]}],"text-decoration-thickness":[{decoration:[bv,`from-font`,`auto`,K,Mv]}],"text-decoration-color":[{decoration:N()}],"underline-offset":[{"underline-offset":[bv,`auto`,K,G]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"tab-size":[{tab:[xv,K,G]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,K,G]}],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`,K,G]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:re()}],"bg-repeat":[{bg:ie()}],"bg-size":[{bg:ae()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},xv,K,G],radial:[``,K,G],conic:[xv,K,G]},Uv,Lv]}],"bg-color":[{bg:N()}],"gradient-from-pos":[{from:oe()}],"gradient-via-pos":[{via:oe()}],"gradient-to-pos":[{to:oe()}],"gradient-from":[{from:N()}],"gradient-via":[{via:N()}],"gradient-to":[{to:N()}],rounded:[{rounded:se()}],"rounded-s":[{"rounded-s":se()}],"rounded-e":[{"rounded-e":se()}],"rounded-t":[{"rounded-t":se()}],"rounded-r":[{"rounded-r":se()}],"rounded-b":[{"rounded-b":se()}],"rounded-l":[{"rounded-l":se()}],"rounded-ss":[{"rounded-ss":se()}],"rounded-se":[{"rounded-se":se()}],"rounded-ee":[{"rounded-ee":se()}],"rounded-es":[{"rounded-es":se()}],"rounded-tl":[{"rounded-tl":se()}],"rounded-tr":[{"rounded-tr":se()}],"rounded-br":[{"rounded-br":se()}],"rounded-bl":[{"rounded-bl":se()}],"border-w":[{border:ce()}],"border-w-x":[{"border-x":ce()}],"border-w-y":[{"border-y":ce()}],"border-w-s":[{"border-s":ce()}],"border-w-e":[{"border-e":ce()}],"border-w-bs":[{"border-bs":ce()}],"border-w-be":[{"border-be":ce()}],"border-w-t":[{"border-t":ce()}],"border-w-r":[{"border-r":ce()}],"border-w-b":[{"border-b":ce()}],"border-w-l":[{"border-l":ce()}],"divide-x":[{"divide-x":ce()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":ce()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...le(),`hidden`,`none`]}],"divide-style":[{divide:[...le(),`hidden`,`none`]}],"border-color":[{border:N()}],"border-color-x":[{"border-x":N()}],"border-color-y":[{"border-y":N()}],"border-color-s":[{"border-s":N()}],"border-color-e":[{"border-e":N()}],"border-color-bs":[{"border-bs":N()}],"border-color-be":[{"border-be":N()}],"border-color-t":[{"border-t":N()}],"border-color-r":[{"border-r":N()}],"border-color-b":[{"border-b":N()}],"border-color-l":[{"border-l":N()}],"divide-color":[{divide:N()}],"outline-style":[{outline:[...le(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[bv,K,G]}],"outline-w":[{outline:[``,bv,zv,Mv]}],"outline-color":[{outline:N()}],shadow:[{shadow:[``,`none`,u,Wv,Rv]}],"shadow-color":[{shadow:N()}],"inset-shadow":[{"inset-shadow":[`none`,d,Wv,Rv]}],"inset-shadow-color":[{"inset-shadow":N()}],"ring-w":[{ring:ce()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:N()}],"ring-offset-w":[{"ring-offset":[bv,Mv]}],"ring-offset-color":[{"ring-offset":N()}],"inset-ring-w":[{"inset-ring":ce()}],"inset-ring-color":[{"inset-ring":N()}],"text-shadow":[{"text-shadow":[`none`,f,Wv,Rv]}],"text-shadow-color":[{"text-shadow":N()}],opacity:[{opacity:[bv,K,G]}],"mix-blend":[{"mix-blend":[...ue(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":ue()}],"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":[bv]}],"mask-image-linear-from-pos":[{"mask-linear-from":de()}],"mask-image-linear-to-pos":[{"mask-linear-to":de()}],"mask-image-linear-from-color":[{"mask-linear-from":N()}],"mask-image-linear-to-color":[{"mask-linear-to":N()}],"mask-image-t-from-pos":[{"mask-t-from":de()}],"mask-image-t-to-pos":[{"mask-t-to":de()}],"mask-image-t-from-color":[{"mask-t-from":N()}],"mask-image-t-to-color":[{"mask-t-to":N()}],"mask-image-r-from-pos":[{"mask-r-from":de()}],"mask-image-r-to-pos":[{"mask-r-to":de()}],"mask-image-r-from-color":[{"mask-r-from":N()}],"mask-image-r-to-color":[{"mask-r-to":N()}],"mask-image-b-from-pos":[{"mask-b-from":de()}],"mask-image-b-to-pos":[{"mask-b-to":de()}],"mask-image-b-from-color":[{"mask-b-from":N()}],"mask-image-b-to-color":[{"mask-b-to":N()}],"mask-image-l-from-pos":[{"mask-l-from":de()}],"mask-image-l-to-pos":[{"mask-l-to":de()}],"mask-image-l-from-color":[{"mask-l-from":N()}],"mask-image-l-to-color":[{"mask-l-to":N()}],"mask-image-x-from-pos":[{"mask-x-from":de()}],"mask-image-x-to-pos":[{"mask-x-to":de()}],"mask-image-x-from-color":[{"mask-x-from":N()}],"mask-image-x-to-color":[{"mask-x-to":N()}],"mask-image-y-from-pos":[{"mask-y-from":de()}],"mask-image-y-to-pos":[{"mask-y-to":de()}],"mask-image-y-from-color":[{"mask-y-from":N()}],"mask-image-y-to-color":[{"mask-y-to":N()}],"mask-image-radial":[{"mask-radial":[K,G]}],"mask-image-radial-from-pos":[{"mask-radial-from":de()}],"mask-image-radial-to-pos":[{"mask-radial-to":de()}],"mask-image-radial-from-color":[{"mask-radial-from":N()}],"mask-image-radial-to-color":[{"mask-radial-to":N()}],"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":[bv]}],"mask-image-conic-from-pos":[{"mask-conic-from":de()}],"mask-image-conic-to-pos":[{"mask-conic-to":de()}],"mask-image-conic-from-color":[{"mask-conic-from":N()}],"mask-image-conic-to-color":[{"mask-conic-to":N()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:re()}],"mask-repeat":[{mask:ie()}],"mask-size":[{mask:ae()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,K,G]}],filter:[{filter:[``,`none`,K,G]}],blur:[{blur:fe()}],brightness:[{brightness:[bv,K,G]}],contrast:[{contrast:[bv,K,G]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Wv,Rv]}],"drop-shadow-color":[{"drop-shadow":N()}],grayscale:[{grayscale:[``,bv,K,G]}],"hue-rotate":[{"hue-rotate":[bv,K,G]}],invert:[{invert:[``,bv,K,G]}],saturate:[{saturate:[bv,K,G]}],sepia:[{sepia:[``,bv,K,G]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,K,G]}],"backdrop-blur":[{"backdrop-blur":fe()}],"backdrop-brightness":[{"backdrop-brightness":[bv,K,G]}],"backdrop-contrast":[{"backdrop-contrast":[bv,K,G]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,bv,K,G]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[bv,K,G]}],"backdrop-invert":[{"backdrop-invert":[``,bv,K,G]}],"backdrop-opacity":[{"backdrop-opacity":[bv,K,G]}],"backdrop-saturate":[{"backdrop-saturate":[bv,K,G]}],"backdrop-sepia":[{"backdrop-sepia":[``,bv,K,G]}],"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`,K,G]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[bv,`initial`,K,G]}],ease:[{ease:[`linear`,`initial`,_,K,G]}],delay:[{delay:[bv,K,G]}],animate:[{animate:[`none`,v,K,G]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,K,G]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:pe()}],"rotate-x":[{"rotate-x":pe()}],"rotate-y":[{"rotate-y":pe()}],"rotate-z":[{"rotate-z":pe()}],scale:[{scale:me()}],"scale-x":[{"scale-x":me()}],"scale-y":[{"scale-y":me()}],"scale-z":[{"scale-z":me()}],"scale-3d":[`scale-3d`],skew:[{skew:he()}],"skew-x":[{"skew-x":he()}],"skew-y":[{"skew-y":he()}],transform:[{transform:[K,G,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:ge()}],"translate-x":[{"translate-x":ge()}],"translate-y":[{"translate-y":ge()}],"translate-z":[{"translate-z":ge()}],"translate-none":[`translate-none`],zoom:[{zoom:[xv,K,G]}],accent:[{accent:N()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:N()}],"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`,K,G]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":N()}],"scrollbar-track-color":[{"scrollbar-track":N()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"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-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":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-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":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`,K,G]}],fill:[{fill:[`none`,...N()]}],"stroke-w":[{stroke:[bv,zv,Mv,Nv]}],stroke:[{stroke:[`none`,...N()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`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`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`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-bs`,`border-w-be`,`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-bs`,`border-color-be`,`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-mbs`,`scroll-mbe`,`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-pbs`,`scroll-pbe`,`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`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function ry(...e){return ny(wu(e))}var iy=Symbol(`compas-viewer-runtime`);function ay(){let e=gr(iy);if(!e)throw Error(`COMPAS viewer runtime is not available in this component`);return e}var oy=R({__name:`Button`,props:{variant:{},size:{},class:{type:[Boolean,null,String,Object,Array]},asChild:{type:Boolean},as:{default:`button`}},setup(e){let t=e,{theme:n}=ay().store;return(r,i)=>(B(),V(I(vf),{"data-slot":`button`,as:e.as,"as-child":e.asChild,class:he(I(ry)(I(sy)({variant:e.variant,size:e.size}),t.class,{dark:I(n).value===`dark`}))},{default:L(()=>[z(r.$slots,`default`)]),_:3},8,[`as`,`as-child`,`class`]))}}),sy=Du(`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/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90`,destructive:`bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground dark: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`}}),cy=R({__name:`Select`,props:{open:{type:Boolean},defaultOpen:{type:Boolean},defaultValue:{},modelValue:{},nullableValue:{},by:{type:[String,Function]},dir:{},multiple:{type:Boolean},autocomplete:{},disabled:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:open`],setup(e,{emit:t}){let n=Rd(e,t);return(e,t)=>(B(),V(I(qg),ge(xs(I(n))),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}}),ly=R({inheritAttrs:!1,__name:`SelectContent`,props:{forceMount:{type:Boolean},position:{default:`popper`},bodyLock:{type:Boolean},memoDependencies:{},side:{},sideOffset:{},sideFlip:{type:Boolean},align:{},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},dir:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=Rd($u(n,`class`),r);return(t,r)=>(B(),V(I(f_),null,{default:L(()=>[U(I(a_),ks({...I(i),...t.$attrs},{class:I(ry)(`relative z-50 max-h-96 min-w-32 overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md 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`,e.position===`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`,n.class)}),{default:L(()=>[U(I(Wy)),U(I(v_),{class:he(I(ry)(`p-1`,e.position===`popper`&&`h-(--reka-select-trigger-height) w-full min-w-(--reka-select-trigger-width)`))},{default:L(()=>[z(t.$slots,`default`)]),_:3},8,[`class`]),U(I(Uy))]),_:3},16,[`class`])]),_:3}))}}),uy=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},dy=e=>e===``,fy=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),py=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),my=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),hy=e=>{let t=my(e);return t.charAt(0).toUpperCase()+t.slice(1)},gy={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`},_y=({name:e,iconNode:t,absoluteStrokeWidth:n,"absolute-stroke-width":r,strokeWidth:i,"stroke-width":a,size:o=gy.width,color:s=gy.stroke,...c},{slots:l})=>tc(`svg`,{...gy,...c,width:o,height:o,stroke:s,"stroke-width":dy(n)||dy(r)||n===!0||r===!0?Number(i||a||gy[`stroke-width`])*24/Number(o):i||a||gy[`stroke-width`],class:fy(`lucide`,c.class,...e?[`lucide-${py(hy(e))}-icon`,`lucide-${py(e)}`]:[`lucide-icon`]),...!l.default&&!uy(c)&&{"aria-hidden":`true`}},[...t.map(e=>tc(...e)),...l.default?[l.default()]:[]]),vy=(e,t)=>(n,{slots:r,attrs:i})=>tc(_y,{...i,...n,iconNode:t,name:e},r),yy=vy(`arrow-big-left-dash`,[[`path`,{d:`M13 9a1 1 0 0 1-1-1V5.061a1 1 0 0 0-1.811-.75l-6.835 6.836a1.207 1.207 0 0 0 0 1.707l6.835 6.835a1 1 0 0 0 1.811-.75V16a1 1 0 0 1 1-1h2a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1z`,key:`p8w4w5`}],[`path`,{d:`M20 9v6`,key:`14roy0`}]]),by=vy(`arrow-big-right-dash`,[[`path`,{d:`M11 9a1 1 0 0 0 1-1V5.061a1 1 0 0 1 1.811-.75l6.836 6.836a1.207 1.207 0 0 1 0 1.707l-6.836 6.835a1 1 0 0 1-1.811-.75V16a1 1 0 0 0-1-1H9a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1z`,key:`67vhrh`}],[`path`,{d:`M4 9v6`,key:`bns7oa`}]]),xy=vy(`box`,[[`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`,key:`hh9hay`}],[`path`,{d:`m3.3 7 8.7 5 8.7-5`,key:`g66t2b`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}]]),Sy=vy(`camera`,[[`path`,{d:`M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z`,key:`18u6gg`}],[`circle`,{cx:`12`,cy:`13`,r:`3`,key:`1vg3eu`}]]),Cy=vy(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),wy=vy(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),Ty=vy(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),Ey=vy(`clipboard-list`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}],[`path`,{d:`M12 11h4`,key:`1jrz19`}],[`path`,{d:`M12 16h4`,key:`n85exb`}],[`path`,{d:`M8 11h.01`,key:`1dfujw`}],[`path`,{d:`M8 16h.01`,key:`18s6g9`}]]),Dy=vy(`house`,[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`,key:`5wwlr5`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`r6nss1`}]]),Oy=vy(`image-down`,[[`path`,{d:`M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21`,key:`9csbqa`}],[`path`,{d:`m14 19 3 3v-5.5`,key:`9ldu5r`}],[`path`,{d:`m17 22 3-3`,key:`1nkfve`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}]]),ky=vy(`minus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]),Ay=vy(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),jy=vy(`move-3d`,[[`path`,{d:`M5 3v16h16`,key:`1mqmf9`}],[`path`,{d:`m5 19 6-6`,key:`jh6hbb`}],[`path`,{d:`m2 6 3-3 3 3`,key:`tkyvxa`}],[`path`,{d:`m18 16 3 3-3 3`,key:`1d4glt`}]]),My=vy(`plane`,[[`path`,{d:`M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z`,key:`1v9wt8`}]]),Ny=vy(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),Py=vy(`pointer-off`,[[`path`,{d:`M10 4.5V4a2 2 0 0 0-2.41-1.957`,key:`jsi14n`}],[`path`,{d:`M13.9 8.4a2 2 0 0 0-1.26-1.295`,key:`hirc7f`}],[`path`,{d:`M21.7 16.2A8 8 0 0 0 22 14v-3a2 2 0 1 0-4 0v-1a2 2 0 0 0-3.63-1.158`,key:`1jxb2e`}],[`path`,{d:`m7 15-1.8-1.8a2 2 0 0 0-2.79 2.86L6 19.7a7.74 7.74 0 0 0 6 2.3h2a8 8 0 0 0 5.657-2.343`,key:`10r7hm`}],[`path`,{d:`M6 6v8`,key:`tv5xkp`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),Fy=vy(`pointer`,[[`path`,{d:`M22 14a8 8 0 0 1-8 8`,key:`56vcr3`}],[`path`,{d:`M18 11v-1a2 2 0 0 0-2-2a2 2 0 0 0-2 2`,key:`1agjmk`}],[`path`,{d:`M14 10V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1`,key:`wdbh2u`}],[`path`,{d:`M10 9.5V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v10`,key:`1ibuk9`}],[`path`,{d:`M18 11a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15`,key:`g6ys72`}]]),Iy=vy(`rabbit`,[[`path`,{d:`M13 16a3 3 0 0 1 2.24 5`,key:`1epib5`}],[`path`,{d:`M18 12h.01`,key:`yjnet6`}],[`path`,{d:`M18 21h-8a4 4 0 0 1-4-4 7 7 0 0 1 7-7h.2L9.6 6.4a1 1 0 1 1 2.8-2.8L15.8 7h.2c3.3 0 6 2.7 6 6v1a2 2 0 0 1-2 2h-1a3 3 0 0 0-3 3`,key:`ue9ozu`}],[`path`,{d:`M20 8.54V4a2 2 0 1 0-4 0v3`,key:`49iql8`}],[`path`,{d:`M7.612 12.524a3 3 0 1 0-1.6 4.3`,key:`1e33i0`}]]),Ly=vy(`rotate-3d`,[[`path`,{d:`M16.466 7.5C15.643 4.237 13.952 2 12 2 9.239 2 7 6.477 7 12s2.239 10 5 10c.342 0 .677-.069 1-.2`,key:`10n0gc`}],[`path`,{d:`m15.194 13.707 3.814 1.86-1.86 3.814`,key:`16shm9`}],[`path`,{d:`M19 15.57c-1.804.885-4.274 1.43-7 1.43-5.523 0-10-2.239-10-5s4.477-5 10-5c4.838 0 8.873 1.718 9.8 4`,key:`1lxi77`}]]),Ry=vy(`scale-3d`,[[`path`,{d:`M5 7v11a1 1 0 0 0 1 1h11`,key:`13dt1j`}],[`path`,{d:`M5.293 18.707 11 13`,key:`ezgbsx`}],[`circle`,{cx:`19`,cy:`19`,r:`2`,key:`17f5cg`}],[`circle`,{cx:`5`,cy:`5`,r:`2`,key:`1gwv83`}]]),zy=vy(`sun-medium`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 3v1`,key:`1asbbs`}],[`path`,{d:`M12 20v1`,key:`1wcdkc`}],[`path`,{d:`M3 12h1`,key:`lp3yf2`}],[`path`,{d:`M20 12h1`,key:`1vloll`}],[`path`,{d:`m18.364 5.636-.707.707`,key:`1hakh0`}],[`path`,{d:`m6.343 17.657-.707.707`,key:`18m9nf`}],[`path`,{d:`m5.636 5.636.707.707`,key:`1xv1c5`}],[`path`,{d:`m17.657 17.657.707.707`,key:`vl76zb`}]]),By=vy(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),Vy={class:`absolute right-2 flex h-3.5 w-3.5 items-center justify-center`},Hy=R({__name:`SelectItem`,props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=Ld($u(t,`class`));return(e,r)=>(B(),V(I(l_),ks(I(n),{class:I(ry)(`relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,t.class)}),{default:L(()=>[H(`span`,Vy,[U(I(u_),null,{default:L(()=>[U(I(Cy),{class:`h-4 w-4`})]),_:1})]),U(I(d_),null,{default:L(()=>[z(e.$slots,`default`)]),_:3})]),_:3},16,[`class`]))}}),Uy=R({__name:`SelectScrollDownButton`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=Ld($u(t,`class`));return(e,r)=>(B(),V(I(m_),ks(I(n),{class:I(ry)(`flex cursor-default items-center justify-center py-1`,t.class)}),{default:L(()=>[z(e.$slots,`default`,{},()=>[U(I(wy))])]),_:3},16,[`class`]))}}),Wy=R({__name:`SelectScrollUpButton`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=Ld($u(t,`class`));return(e,r)=>(B(),V(I(h_),ks(I(n),{class:I(ry)(`flex cursor-default items-center justify-center py-1`,t.class)}),{default:L(()=>[z(e.$slots,`default`,{},()=>[U(I(Ty))])]),_:3},16,[`class`]))}}),Gy=R({__name:`SelectTrigger`,props:{disabled:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=Ld($u(t,`class`));return(e,r)=>(B(),V(I(g_),ks(I(n),{class:I(ry)(`flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:truncate text-start`,t.class)}),{default:L(()=>[z(e.$slots,`default`),U(I(o_),{"as-child":``},{default:L(()=>[U(I(wy),{class:`w-4 h-4 opacity-50 shrink-0`})]),_:1})]),_:3},16,[`class`]))}}),Ky=R({__name:`SelectValue`,props:{placeholder:{},asChild:{type:Boolean},as:{}},setup(e){let t=e;return(e,n)=>(B(),V(I(__),ge(xs(t)),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}});function qy(e){let t=F(!1);function n(n){let r=e.value;t.value=r!==null&&r.matches(`:hover`)}return Ji(()=>{window.addEventListener(`mousemove`,n)}),Qi(()=>{window.removeEventListener(`mousemove`,n)}),{isHovered:t}}var Jy={class:`right-bar`},Yy={id:`data-container`},Xy={class:`metadata item`},Zy={class:`data-container`},Qy=R({__name:`ObjectInfo`,setup(e){let t=ay(),{objectActionsState:n,objectBarData:r,blockPicker:i,theme:a}=t.store,o=(e,n)=>t.handleObjectAction({...e},n),s=F(null),{isHovered:c}=qy(s);br(()=>{i.value=c.value&&r.isVisible});let l=()=>{r.isVisible=!r.isVisible};return(e,t)=>(B(),ms(`div`,Jy,[H(`div`,{class:he([`theme object-info`,{"is-hidden":!I(r).isVisible}]),id:`info-panel`,ref_key:`infoPanel`,ref:s},[H(`div`,Yy,[H(`div`,Xy,[H(`h1`,{class:he([`text-lg font-bold section-title`,{dark:I(a).value===`dark`}])},` METADATA `,2),(B(!0),ms(is,null,da(I(r).data,(e,t)=>(B(),ms(`div`,{key:t,class:`data-entry`},[H(`p`,null,[H(`strong`,null,Ce(t)+`:`,1),Cs(` `+Ce(e),1)])]))),128))])]),H(`div`,Zy,[H(`h1`,{class:he([`text-lg font-bold section-title`,{dark:I(a).value===`dark`}])},` FUNCTIONS `,2),(B(!0),ms(is,null,da(I(n),e=>(B(),ms(`div`,{key:e.guid,class:`single_data`},[e.type===`button`?(B(),V(I(oy),{key:0,variant:`outline`,onClick:t=>o(e),class:`w-full`},{default:L(()=>[Cs(Ce(e.text),1)]),_:2},1032,[`onClick`])):e.type===`select`?(B(),V(I(cy),{key:1,"model-value":typeof e.defaultValue==`string`?e.defaultValue:``,"onUpdate:modelValue":t=>{e.defaultValue=typeof t==`string`?t:``,o(e,t)}},{default:L(()=>[U(I(Gy),{class:`w-full`},{default:L(()=>[U(I(Ky),{placeholder:e.placeholder??`Select an option`},null,8,[`placeholder`])]),_:2},1024),U(I(ly),{class:`z-[4000]`},{default:L(()=>[(B(!0),ms(is,null,da(e.options,e=>(B(),V(I(Hy),{key:e,value:e},{default:L(()=>[Cs(Ce(e),1)]),_:2},1032,[`value`]))),128))]),_:2},1024)]),_:2},1032,[`model-value`,`onUpdate:modelValue`])):Ts(``,!0)]))),128))]),U(I(oy),{variant:`secondary`,size:`icon`,id:`closeObjectBar`,onClick:t[0]||=e=>l()},{default:L(()=>[U(I(by))]),_:1})],2),U(I(oy),{variant:`secondary`,size:`icon`,id:`openObjectBar`,class:he({"is-hidden":!I(r).isVisible}),onClick:t[1]||=e=>l()},{default:L(()=>[U(I(yy))]),_:1},8,[`class`])]))}}),$y=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},eb=$y(Qy,[[`__scopeId`,`data-v-2390ba1f`]]);function tb(e){if(e.ctrlKey||e.metaKey||e.altKey)return!0;let t=e.target;if(!t)return!1;let n=t.tagName;return n===`INPUT`||n===`TEXTAREA`||n===`SELECT`||t.isContentEditable}function nb(e){let{root:t}=ay(),n=t=>{if(tb(t))return;let n=e[t.key.toLowerCase()];n&&(t.preventDefault(),n(t))};Ji(()=>{t.addEventListener(`keydown`,n)}),Zi(()=>{t.removeEventListener(`keydown`,n)})}var rb=R({__name:`Kbd`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,n)=>(B(),ms(`kbd`,{class:he(I(ry)(`bg-muted text-muted-foreground pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm px-1 font-sans text-xs font-medium select-none`,`[&_svg:not([class*='size-'])]:size-3`,`[[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:text-background dark:[[data-slot=tooltip-content]_&]:bg-background/10`,t.class))},[z(e.$slots,`default`)],2))}}),ib=R({__name:`Tooltip`,props:{defaultOpen:{type:Boolean},open:{type:Boolean},delayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=Rd(e,t);return(e,t)=>(B(),V(I(T_),ge(xs(I(n))),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}}),ab=R({inheritAttrs:!1,__name:`TooltipContent`,props:{forceMount:{type:Boolean},ariaLabel:{},asChild:{type:Boolean},as:{},side:{},sideOffset:{default:4},align:{},alignOffset:{},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},class:{type:[Boolean,null,String,Object,Array]}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=Rd($u(n,`class`),r),{theme:a}=ay().store;return(e,t)=>(B(),V(I(k_),null,{default:L(()=>[U(I(O_),ks({...I(i),...e.$attrs},{class:I(ry)(`z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,n.class,{dark:I(a).value===`dark`})}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`class`])]),_:3}))}}),ob=R({__name:`TooltipProvider`,props:{delayDuration:{},skipDelayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean},content:{}},setup(e){let t=e;return(e,n)=>(B(),V(I(x_),ge(xs(t)),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}}),sb=R({__name:`TooltipTrigger`,props:{reference:{},asChild:{type:Boolean},as:{}},setup(e){let t=e;return(e,n)=>(B(),V(I(A_),ge(xs(t)),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}}),cb=R({__name:`MoveButton`,setup(e){let t=ay(),{pickerEnabled:n,pickerMode:r}=t.store;function i(){t.setTransformMode(`translate`)}return(e,t)=>(B(),V(I(ob),{"delay-duration":600},{default:L(()=>[U(I(ib),null,{default:L(()=>[U(I(sb),null,{default:L(()=>[U(I(oy),{variant:`secondary`,size:`icon`,class:he({active:I(r).value==`translate`,disabled:!I(n).value}),onClick:i,disabled:!I(n).value},{default:L(()=>[U(I(jy))]),_:1},8,[`class`,`disabled`])]),_:1}),U(I(ab),{class:`z-1000`,side:`bottom`},{default:L(()=>[H(`p`,null,[t[1]||=Cs(`Move mode `,-1),U(I(rb),null,{default:L(()=>[...t[0]||=[Cs(`W`,-1)]]),_:1})])]),_:1})]),_:1})]),_:1}))}}),lb=R({__name:`RotateButton`,setup(e){let t=ay(),{pickerEnabled:n,pickerMode:r}=t.store;function i(){t.setTransformMode(`rotate`)}return(e,t)=>(B(),V(I(ob),{"delay-duration":600},{default:L(()=>[U(I(ib),null,{default:L(()=>[U(I(sb),null,{default:L(()=>[U(I(oy),{variant:`secondary`,size:`icon`,class:he({active:I(r).value==`rotate`,disabled:!I(n).value}),onClick:i,disabled:!I(n).value},{default:L(()=>[U(I(Ly),{size:16,"stroke-width":2,"aria-hidden":`true`})]),_:1},8,[`class`,`disabled`])]),_:1}),U(I(ab),{class:`z-1000`,side:`bottom`},{default:L(()=>[H(`p`,null,[t[1]||=Cs(`Rotate mode `,-1),U(I(rb),null,{default:L(()=>[...t[0]||=[Cs(`E`,-1)]]),_:1})])]),_:1})]),_:1})]),_:1}))}}),ub={class:`button-icon`},db=R({__name:`ScaleButton`,props:{active:{type:Boolean}},emits:[`activated`],setup(e){let t=ay(),{pickerEnabled:n,pickerMode:r}=t.store;function i(){t.setTransformMode(`scale`)}return(e,t)=>(B(),V(I(ob),{"delay-duration":600},{default:L(()=>[U(I(ib),null,{default:L(()=>[U(I(sb),null,{default:L(()=>[U(I(oy),{variant:`secondary`,size:`icon`,class:he([`toolbar-button`,{active:I(r).value==`scale`,disabled:!I(n).value}]),onClick:i,disabled:!I(n).value},{default:L(()=>[H(`span`,ub,[U(I(Ry),{size:16,"stroke-width":2,"aria-hidden":`true`})])]),_:1},8,[`class`,`disabled`])]),_:1}),U(I(ab),{class:`z-1000`,side:`bottom`},{default:L(()=>[H(`p`,null,[t[1]||=Cs(`Rotate mode `,-1),U(I(rb),null,{default:L(()=>[...t[0]||=[Cs(`R`,-1)]]),_:1})])]),_:1})]),_:1})]),_:1}))}}),fb={key:0},pb={key:1},mb=R({__name:`EnablePicker`,setup(e){let{pickerEnabled:t}=ay().store;function n(){t.value=!t.value}return(e,r)=>(B(),V(I(ob),{"delay-duration":600},{default:L(()=>[U(I(ib),null,{default:L(()=>[U(I(sb),null,{default:L(()=>[U(I(oy),{variant:`secondary`,size:`icon`,onClick:n,class:he({active:!I(t).value})},{default:L(()=>[I(t).value?(B(),ms(`span`,fb,[U(I(Fy))])):(B(),ms(`span`,pb,[U(I(Py))]))]),_:1},8,[`class`])]),_:1}),U(I(ab),{class:`z-1000`,side:`bottom`},{default:L(()=>[H(`p`,null,[r[1]||=Cs(`Enable/Disable object selection `,-1),U(I(rb),null,{default:L(()=>[...r[0]||=[Cs(`P`,-1)]]),_:1})])]),_:1})]),_:1})]),_:1}))}}),hb={class:`toolbar-group`},gb=R({__name:`TransformGroup`,setup(e){let t=F(null),n=ay();function r(e){t.value=e}return nb({w:()=>{n.setTransformMode(`translate`),r(`move`)},e:()=>{n.setTransformMode(`rotate`),r(`rotate`)},r:()=>{n.setTransformMode(`scale`),r(`scale`)}}),(e,n)=>(B(),ms(`div`,hb,[U(I(mb),{active:t.value===`move`,onActivated:n[0]||=e=>r(`move`)},null,8,[`active`]),U(I(cb),{active:t.value===`move`,onActivated:n[1]||=e=>r(`move`)},null,8,[`active`]),U(I(lb),{active:t.value===`rotate`,onActivated:n[2]||=e=>r(`rotate`)},null,8,[`active`]),U(I(db),{active:t.value===`scale`,onActivated:n[3]||=e=>r(`scale`)},null,8,[`active`])]))}}),_b=R({__name:`TopViewButton`,setup(e){let t=ay();function n(){t.setCameraViewPreset(`top`)}return(e,t)=>(B(),V(I(ob),{"delay-duration":600},{default:L(()=>[U(I(ib),null,{default:L(()=>[U(I(sb),null,{default:L(()=>[U(I(oy),{variant:`secondary`,size:`icon`,class:`toolbar-button`,onClick:n},{default:L(()=>[U(I(My))]),_:1})]),_:1}),U(I(ab),{class:`z-1000`,side:`bottom`},{default:L(()=>[H(`p`,null,[t[1]||=Cs(`Top view `,-1),U(I(rb),null,{default:L(()=>[...t[0]||=[Cs(`5`,-1)]]),_:1})])]),_:1})]),_:1})]),_:1}))}}),vb=R({__name:`FrontViewButton`,setup(e){let t=ay();function n(){t.setCameraViewPreset(`front`)}return(e,t)=>(B(),V(I(ob),{"delay-duration":600},{default:L(()=>[U(I(ib),null,{default:L(()=>[U(I(sb),null,{default:L(()=>[U(I(oy),{variant:`secondary`,size:`icon`,onClick:n},{default:L(()=>[U(I(Dy))]),_:1})]),_:1}),U(I(ab),{class:`z-1000`,side:`bottom`},{default:L(()=>[H(`p`,null,[t[1]||=Cs(`Front view `,-1),U(I(rb),null,{default:L(()=>[...t[0]||=[Cs(`2`,-1)]]),_:1})])]),_:1})]),_:1})]),_:1}))}}),yb={class:`button-icon`},bb=R({__name:`RightViewButton`,setup(e){let t=ay();function n(){t.setCameraViewPreset(`right`)}return(e,t)=>(B(),V(I(ob),{"delay-duration":600},{default:L(()=>[U(I(ib),null,{default:L(()=>[U(I(sb),null,{default:L(()=>[U(I(oy),{variant:`secondary`,size:`icon`,class:`toolbar-button`,onClick:n},{default:L(()=>[H(`span`,yb,[U(I(Iy),{size:16,"stroke-width":2,"aria-hidden":`true`})])]),_:1})]),_:1}),U(I(ab),{class:`z-1000`,side:`bottom`},{default:L(()=>[H(`p`,null,[t[1]||=Cs(`Right view `,-1),U(I(rb),null,{default:L(()=>[...t[0]||=[Cs(`6`,-1)]]),_:1})])]),_:1})]),_:1})]),_:1}))}}),xb={class:`button-icon`},Sb=R({__name:`PerspectiveViewButton`,setup(e){let t=ay();function n(){t.setCameraViewPreset(`front_right`)}return(e,t)=>(B(),V(I(ob),{"delay-duration":600},{default:L(()=>[U(I(ib),null,{default:L(()=>[U(I(sb),null,{default:L(()=>[U(I(oy),{variant:`secondary`,size:`icon`,class:`toolbar-button`,onClick:n},{default:L(()=>[H(`span`,xb,[U(I(xy),{size:16,"stroke-width":2,"aria-hidden":`true`})])]),_:1})]),_:1}),U(I(ab),{class:`z-1000`,side:`bottom`},{default:L(()=>[H(`p`,null,[t[1]||=Cs(`Perspective view `,-1),U(I(rb),null,{default:L(()=>[...t[0]||=[Cs(`3`,-1)]]),_:1})])]),_:1})]),_:1})]),_:1}))}}),Cb={class:`toolbar-group`},wb=R({__name:`ViewGroup`,setup(e){let t=ay();return nb({2:()=>{t.setCameraViewPreset(`front`)},3:()=>{t.setCameraViewPreset(`front_right`)},5:()=>{t.setCameraViewPreset(`top`)},6:()=>{t.setCameraViewPreset(`right`)}}),(e,t)=>(B(),ms(`div`,Cb,[U(I(_b)),U(I(vb)),U(I(bb)),U(I(Sb))]))}}),Tb={class:`button-icon save-view-icon`},Eb={class:`save-view-overlay`,"aria-hidden":`true`},Db=$y(R({__name:`SaveViewButton`,props:{defaultName:{}},emits:[`saved`],setup(e,{emit:t}){let n=e,r=ay(),i=t;function a(){let e=window.prompt(`Name for saved view`,n.defaultName);if(e===null)return;let t=e.trim()||n.defaultName,a=r.captureCurrentView(t);i(`saved`,a)}return(e,t)=>(B(),V(I(ob),{"delay-duration":600},{default:L(()=>[U(I(ib),null,{default:L(()=>[U(I(sb),null,{default:L(()=>[U(I(oy),{variant:`secondary`,size:`icon`,onClick:a},{default:L(()=>[H(`span`,Tb,[U(I(Sy),{size:15,"stroke-width":2,"aria-hidden":`true`}),H(`span`,Eb,[U(I(Ny),{class:`save-view-overlay-icon`})])])]),_:1})]),_:1}),U(I(ab),{class:`z-1000`,side:`bottom`},{default:L(()=>[H(`p`,null,[t[1]||=Cs(`Save Current View `,-1),U(I(rb),null,{default:L(()=>[...t[0]||=[Cs(`S`,-1)]]),_:1})])]),_:1})]),_:1})]),_:1}))}}),[[`__scopeId`,`data-v-c0eebdad`]]),Ob=R({__name:`Popover`,props:{defaultOpen:{type:Boolean},open:{type:Boolean},modal:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=Rd(e,t);return(e,t)=>(B(),V(I(rg),ge(xs(I(n))),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}}),kb=R({__name:`PopoverTrigger`,props:{asChild:{type:Boolean},as:{}},setup(e){let t=e;return(e,n)=>(B(),V(I(lg),ge(xs(t)),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}}),Ab=R({inheritAttrs:!1,__name:`PopoverContent`,props:{forceMount:{type:Boolean},memoDependencies:{},side:{},sideOffset:{default:8},sideFlip:{type:Boolean},align:{},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},dir:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Rd($u(n,`class`),r),{theme:a}=ay().store;return(e,t)=>(B(),V(I(cg),null,{default:L(()=>[U(I(sg),ks({...I(i),...e.$attrs},{class:I(ry)(`z-50 rounded-md border bg-popover text-popover-foreground shadow-md outline-none 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`,n.class,{dark:I(a).value===`dark`})}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`class`])]),_:3}))}}),jb={class:`inline-flex h-full w-full items-center justify-center`},Mb={class:`flex h-8 items-stretch overflow-hidden rounded-lg border border-input bg-secondary`},Nb={key:0,disabled:``,value:``},Pb=[`value`],Fb=$y(R({__name:`SavedViewsButton`,props:{views:{},selectedViewId:{}},emits:[`select`,`delete`],setup(e,{emit:t}){let n=e,r=t,i=F(!1),a=F(``),o=F(!1),s=null;Cr(()=>[n.selectedViewId,n.views],([e,t])=>{if(t.length===0){a.value=``;return}let n=t.some(t=>t.id===e);a.value=n?e:t[0]?.id??``},{immediate:!0});function c(){a.value&&r(`select`,a.value)}function l(){a.value&&(o.value=!0,s&&clearTimeout(s),s=setTimeout(()=>{o.value=!1,s=null},160),r(`delete`,a.value))}return Zi(()=>{s&&clearTimeout(s)}),(t,n)=>(B(),V(I(ob),{"delay-duration":600},{default:L(()=>[U(I(Ob),{open:i.value,"onUpdate:open":n[1]||=e=>i.value=e,modal:!0},{default:L(()=>[U(I(kb),{"as-child":``},{default:L(()=>[U(I(oy),{variant:`secondary`,size:`icon`},{default:L(()=>[U(I(ib),null,{default:L(()=>[U(I(sb),{"as-child":``},{default:L(()=>[H(`span`,jb,[U(I(Ey))])]),_:1}),U(I(ab),{class:`z-1000`,side:`bottom`},{default:L(()=>[...n[2]||=[H(`p`,null,`Saved views`,-1)]]),_:1})]),_:1})]),_:1})]),_:1}),U(I(Ab),{class:`theme z-[4000] w-72 rounded-xl p-2 text-secondary-foreground`,side:`bottom`,align:`start`},{default:L(()=>[H(`div`,Mb,[pr(H(`select`,{"onUpdate:modelValue":n[0]||=e=>a.value=e,class:`h-full min-w-0 flex-1 truncate border-0 bg-secondary px-3 py-1 text-sm text-secondary-foreground outline-none`,onChange:c},[e.views.length===0?(B(),ms(`option`,Nb,` No saved views `)):Ts(``,!0),(B(!0),ms(is,null,da(e.views,e=>(B(),ms(`option`,{key:e.id,value:e.id},Ce(e.name),9,Pb))),128))],544),[[Yl,a.value]]),U(I(ib),null,{default:L(()=>[U(I(sb),{"as-child":``},{default:L(()=>[U(I(oy),{variant:`secondary`,size:`icon-sm`,class:he([`h-full w-8 rounded-none border-l border-input transition-[background-color,color,box-shadow]`,{"saved-view-delete-pressed":o.value}]),disabled:!a.value,onClick:au(l,[`stop`])},{default:L(()=>[U(I(By),{class:`h-3 w-3`})]),_:1},8,[`class`,`disabled`])]),_:1}),U(I(ab),{class:`z-[4100]`,side:`bottom`},{default:L(()=>[...n[3]||=[H(`p`,null,`Delete saved view`,-1)]]),_:1})]),_:1})])]),_:1})]),_:1},8,[`open`])]),_:1}))}}),[[`__scopeId`,`data-v-1562f39a`]]),Ib={class:`inline-flex h-full w-full items-center justify-center`},Lb={class:`grid gap-5`},Rb={class:`grid gap-3`},zb={class:`grid grid-cols-3 items-center gap-4`},Bb={class:`flex items-center gap-2`},Vb={class:`grid grid-cols-3 items-center gap-4`},Hb={class:`flex items-center gap-2`},Ub={class:`grid grid-cols-3 items-center gap-4`},Wb={class:`flex justify-end gap-2`},Gb=64,Kb=8192,qb=$y(R({__name:`SaveScreenshotButton`,setup(e){let t=F(!1),n=F(1920),r=F(1080),i=F(`png`),a=F(!1),o=ay(),s=W(()=>Number.isFinite(n.value)?n.valueKb?`Width must be between ${Gb} and ${Kb} px.`:``:`Width must be a number.`),c=W(()=>Number.isFinite(r.value)?r.valueKb?`Height must be between ${Gb} and ${Kb} px.`:``:`Height must be a number.`);function l(e,t){return Number.isFinite(e)?Math.min(Kb,Math.max(Gb,Math.round(e))):t}function u(){a.value=!0}function d(){n.value=l(n.value,1920)}function f(){r.value=l(r.value,1080)}function p(){let e=o.renderer.domElement;if(!e)return;let t=e.getBoundingClientRect(),i=Math.round(t.width)||e.clientWidth||e.width,a=Math.round(t.height)||e.clientHeight||e.height;n.value=l(i,n.value),r.value=l(a,r.value)}function m(){d(),f(),!(s.value||c.value)&&(o.saveCurrentCanvasImage({width:n.value,height:r.value,format:i.value}),t.value=!1)}return Cr(t,e=>{e&&!a.value&&p()}),(e,a)=>(B(),V(I(ob),{"delay-duration":600},{default:L(()=>[U(I(Ob),{open:t.value,"onUpdate:open":a[4]||=e=>t.value=e,modal:!0},{default:L(()=>[U(I(kb),{"as-child":``},{default:L(()=>[U(I(oy),{variant:`secondary`,size:`icon`},{default:L(()=>[U(I(ib),null,{default:L(()=>[U(I(sb),{"as-child":``},{default:L(()=>[H(`span`,Ib,[U(I(Oy))])]),_:1}),U(I(ab),{class:`z-1000`,side:`bottom`},{default:L(()=>[H(`p`,null,[a[6]||=Cs(`Save screenshot `,-1),U(I(rb),null,{default:L(()=>[...a[5]||=[Cs(`F`,-1)]]),_:1})])]),_:1})]),_:1})]),_:1})]),_:1}),U(I(Ab),{class:`theme z-[4000] w-84 rounded-xl p-5 text-secondary-foreground`,side:`bottom`,align:`start`},{default:L(()=>[H(`div`,Lb,[a[15]||=H(`div`,{class:`space-y-2`},[H(`h4`,{class:`font-medium leading-none`},`Export Screenshot`),H(`p`,{class:`text-sm text-muted-foreground`},` Set width, height, and image format. `)],-1),H(`div`,Rb,[H(`div`,zb,[H(`div`,Bb,[a[8]||=H(`label`,{for:`screenshot-width`,class:`text-sm`},`Width`,-1),s.value?(B(),V(I(ib),{key:0},{default:L(()=>[U(I(sb),{"as-child":``},{default:L(()=>[...a[7]||=[H(`span`,{class:`error-pill`,"aria-label":`Width error`},`!`,-1)]]),_:1}),U(I(ab),{class:`z-[5000]`,side:`top`},{default:L(()=>[H(`p`,null,Ce(s.value),1)]),_:1})]),_:1})):Ts(``,!0)]),pr(H(`input`,{id:`screenshot-width`,"onUpdate:modelValue":a[0]||=e=>n.value=e,type:`number`,onInput:u,onBlur:d,class:`themed-number col-span-2 h-8 rounded-lg border border-input bg-secondary px-3 py-1 text-sm text-secondary-foreground shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`},null,544),[[Gl,n.value,void 0,{number:!0}]])]),H(`div`,Vb,[H(`div`,Hb,[a[10]||=H(`label`,{for:`screenshot-height`,class:`text-sm`},`Height`,-1),c.value?(B(),V(I(ib),{key:0},{default:L(()=>[U(I(sb),{"as-child":``},{default:L(()=>[...a[9]||=[H(`span`,{class:`error-pill`,"aria-label":`Height error`},`!`,-1)]]),_:1}),U(I(ab),{class:`z-[5000]`,side:`top`},{default:L(()=>[H(`p`,null,Ce(c.value),1)]),_:1})]),_:1})):Ts(``,!0)]),pr(H(`input`,{id:`screenshot-height`,"onUpdate:modelValue":a[1]||=e=>r.value=e,type:`number`,onInput:u,onBlur:f,class:`themed-number col-span-2 h-8 rounded-lg border border-input bg-secondary px-3 py-1 text-sm text-secondary-foreground shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`},null,544),[[Gl,r.value,void 0,{number:!0}]])]),H(`div`,Ub,[a[12]||=H(`label`,{for:`screenshot-format`,class:`text-sm`},`Format`,-1),pr(H(`select`,{id:`screenshot-format`,"onUpdate:modelValue":a[2]||=e=>i.value=e,class:`col-span-2 h-8 rounded-lg border border-input bg-secondary px-3 py-1 text-sm text-secondary-foreground shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`},[...a[11]||=[H(`option`,{value:`png`},`PNG`,-1),H(`option`,{value:`jpg`},`JPG`,-1),H(`option`,{value:`webp`},`WEBP`,-1)]],512),[[Yl,i.value]])])]),H(`div`,Wb,[U(I(oy),{variant:`secondary`,size:`sm`,onClick:a[3]||=e=>t.value=!1},{default:L(()=>[...a[13]||=[Cs(`Cancel`,-1)]]),_:1}),U(I(oy),{variant:`secondary`,size:`sm`,onClick:m},{default:L(()=>[...a[14]||=[Cs(`Save`,-1)]]),_:1})])])]),_:1})]),_:1},8,[`open`])]),_:1}))}}),[[`__scopeId`,`data-v-ed1ef026`]]),Jb={class:`display-tools-wrapper`},Yb={class:`toolbar-group`},Xb=`compas_threejs_saved_views`,Zb=R({__name:`DisplayGroup`,setup(e){let t=ay(),n=F([]),r=F(``);function i(){localStorage.setItem(Xb,JSON.stringify(n.value))}function a(){let e=localStorage.getItem(Xb);if(e)try{let t=JSON.parse(e);Array.isArray(t)&&(n.value=t)}catch{n.value=[]}}function o(e){n.value=[...n.value,e],r.value=e.id,i()}function s(){let e=`View ${n.value.length+1}`,r=window.prompt(`Name for saved view`,e);if(r===null)return;let i=r.trim()||e;o(t.captureCurrentView(i))}function c(e){r.value=e;let i=n.value.find(t=>t.id===e);i&&t.applySavedView(i)}function l(e){let t=n.value.filter(t=>t.id!==e);n.value=t,r.value===e&&(r.value=t[0]?.id??``),i()}return Ji(()=>{a()}),nb({s:()=>{s()},f:()=>{t.saveCurrentCanvasImage({format:`png`})},d:()=>{t.toggleTheme()}}),(e,t)=>(B(),ms(`div`,Jb,[H(`div`,Yb,[U(I(Db),{"default-name":`View ${n.value.length+1}`,onSaved:o},null,8,[`default-name`]),U(I(Fb),{views:n.value,"selected-view-id":r.value,onSelect:c,onDelete:l},null,8,[`views`,`selected-view-id`]),U(I(qb))])]))}}),Qb=$y(R({__name:`Toolbar`,setup(e){let t=F(null),{isHovered:n}=qy(t),{theme:r,blockPicker:i}=ay().store;return br(()=>{i.value=n.value}),(e,n)=>(B(),ms(`div`,{ref_key:`toolbarElement`,ref:t,class:`toolbar theme`,id:`toolbar`},[H(`h1`,{class:he([`text-lg font-bold`,{dark:I(r).value===`dark`}])},` COMPAS ThreeJs `,2),U(gb),U(wb),U(Zb)],512))}}),[[`__scopeId`,`data-v-7f20b0a6`]]),$b=R({__name:`Slider`,props:{defaultValue:{},modelValue:{},disabled:{type:Boolean},orientation:{},dir:{},inverted:{type:Boolean},min:{},max:{},step:{},minStepsBetweenThumbs:{},thumbAlignment:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:[`update:modelValue`,`valueCommit`],setup(e,{emit:t}){let n=e,r=t,i=Rd($u(n,`class`),r);return(e,t)=>(B(),V(I(Yh),ks({"data-slot":`slider`,class:I(ry)(`relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col`,n.class)},I(i)),{default:L(({modelValue:e})=>[U(I(eg),{"data-slot":`slider-track`,class:`bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5`},{default:L(()=>[U(I(Zh),{"data-slot":`slider-range`,class:`bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full`})]),_:1}),(B(!0),ms(is,null,da(e,(e,t)=>(B(),V(I($h),{key:t,"data-slot":`slider-thumb`,class:`bg-secondary-foreground border-primary ring-ring/50 block size-4 shrink-0 rounded-full border shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50`}))),128))]),_:1},16,[`class`]))}}),ex=R({__name:`NumberField`,props:{defaultValue:{},modelValue:{},min:{},max:{},step:{},stepSnapping:{type:Boolean},focusOnChange:{type:Boolean},formatOptions:{},locale:{},disabled:{type:Boolean},readonly:{type:Boolean},disableWheelChange:{type:Boolean},invertWheelChange:{type:Boolean},id:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,i=Rd($u(n,`class`),r);return(e,t)=>(B(),V(I(Fg),ks(I(i),{class:I(ry)(`grid gap-1.5`,n.class)}),{default:L(t=>[z(e.$slots,`default`,ge(xs(t)))]),_:3},16,[`class`]))}}),tx=R({__name:`NumberFieldContent`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,n)=>(B(),ms(`div`,{class:he(I(ry)(`relative [&>[data-slot=input]]:has-[[data-slot=increment]]:pr-5 [&>[data-slot=input]]:has-[[data-slot=decrement]]:pl-5`,t.class))},[z(e.$slots,`default`)],2))}}),nx=R({__name:`NumberFieldDecrement`,props:{disabled:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=Ld($u(t,`class`));return(e,r)=>(B(),V(I(Ig),ks({"data-slot":`decrement`},I(n),{class:I(ry)(`absolute top-1/2 -translate-y-1/2 left-0 p-3 disabled:cursor-not-allowed disabled:opacity-20`,t.class)}),{default:L(()=>[z(e.$slots,`default`,{},()=>[U(I(ky),{class:`h-4 w-4`})])]),_:3},16,[`class`]))}}),rx=R({__name:`NumberFieldIncrement`,props:{disabled:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=Ld($u(t,`class`));return(e,r)=>(B(),V(I(Lg),ks({"data-slot":`increment`},I(n),{class:I(ry)(`absolute top-1/2 -translate-y-1/2 right-0 disabled:cursor-not-allowed disabled:opacity-20 p-3`,t.class)}),{default:L(()=>[z(e.$slots,`default`,{},()=>[U(I(Ny),{class:`h-4 w-4`})])]),_:3},16,[`class`]))}}),ix=R({__name:`NumberFieldInput`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,n)=>(B(),V(I(Rg),{"data-slot":`input`,class:he(I(ry)(`flex h-9 w-full rounded-md border border-input bg-transparent py-1 text-sm text-center text-foreground shadow-sm transition-colors placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50`,t.class))},null,8,[`class`]))}}),ax=R({__name:`Checkbox`,props:{defaultValue:{},modelValue:{},disabled:{type:Boolean},value:{},id:{},trueValue:{},falseValue:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,i=Rd($u(n,`class`),r);return(e,t)=>(B(),V(I(Oh),ks(I(i),{class:I(ry)(`grid place-content-center peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground`,n.class)}),{default:L(()=>[U(I(kh),{class:`grid place-content-center text-current`},{default:L(()=>[z(e.$slots,`default`,{},()=>[U(I(Cy),{class:`h-4 w-4`})])]),_:3})]),_:3},16,[`class`]))}}),ox={class:`load-json-button-container inline-block`},sx=R({__name:`LoadJsonButton`,props:{text:{},action:{}},setup(e){let t=e,n=ay(),r=F(null),i=()=>{r.value?.click()},a=e=>{let r=e.target,i=r.files?.[0];if(i){let e=new FileReader;e.onload=e=>{try{let r=e.target?.result,i=JSON.parse(r);console.log(`Preparing to send JSON payload via WS for action: ${t.action}`);let a={dispatch:`loaded_json`,action:t.action,json_data:i};n.sendData(a)&&console.log(`Successfully sent JSON payload via WS for action: ${t.action}`)}catch(e){console.error(`Failed to parse or send uploaded JSON file:`,e)}},e.readAsText(i),r.value=``}};return(t,n)=>(B(),ms(`div`,ox,[H(`input`,{ref_key:`fileInput`,ref:r,type:`file`,class:`hidden`,accept:`.json`,onChange:a},null,544),U(I(oy),{type:`button`,onClick:i,variant:`secondary`},{default:L(()=>[Cs(Ce(e.text),1)]),_:1})]))}}),cx={key:1,class:`button-container`},lx={key:2,class:`slider-container`},ux={key:0,class:`slider-value`},dx={key:3,class:`number-field-container`},fx={key:4,class:`load-json-button-container`},px={key:5,class:`checkbox-ui-component`},mx={key:0},hx={key:6,class:`select-container`},gx=$y(R({__name:`Openbar`,setup(e){let t=F(!0),n=F(null),r=ay(),{sidebarComponents:i,theme:a,blockPicker:o}=r.store,s=(e,t)=>r.handleUiAction(e,t);function c(){t.value=!t.value}nb({q:c});let{isHovered:l}=qy(n),u=W(()=>t.value);return br(()=>{o.value=l.value&&u.value}),(e,r)=>(B(),ms(is,null,[H(`div`,{ref_key:`openbarElement`,ref:n,id:`openbar`,class:he([`fixed-openbar theme`,{"is-hidden":!t.value}])},[(B(!0),ms(is,null,da(I(i),e=>(B(),ms(`div`,{key:e.id,class:`dynamic-item`},[e.label?(B(),ms(`label`,{key:0,class:he([`dynamic-label`,{dark:I(a).value===`dark`}])},Ce(e.label),3)):Ts(``,!0),e.component===`Button`?(B(),ms(`div`,cx,[U(I(oy),{variant:`secondary`,onClick:t=>s(e.action)},{default:L(()=>[Cs(Ce(e.props.text),1)]),_:2},1032,[`onClick`])])):e.component===`Slider`?(B(),ms(`div`,lx,[U(I($b),{min:e.props.min,max:e.props.max,step:e.props.step,"default-value":e.props.defaultValue,modelValue:e.props.defaultValue,"onUpdate:modelValue":[t=>e.props.defaultValue=t,t=>s(e.action,t?.[0])],class:`w-[80%]`},null,8,[`min`,`max`,`step`,`default-value`,`modelValue`,`onUpdate:modelValue`]),e.props.defaultValue?(B(),ms(`span`,ux,Ce(e.props.defaultValue[0]),1)):Ts(``,!0)])):e.component===`NumberField`?(B(),ms(`div`,dx,[U(I(ex),{min:e.props.min,max:e.props.max,step:e.props.step,"default-value":e.props.value,modelValue:e.props.value,"onUpdate:modelValue":[t=>e.props.value=t,t=>s(e.action,t)],class:`w-full`},{default:L(()=>[U(I(tx),null,{default:L(()=>[U(I(nx)),U(I(ix)),U(I(rx))]),_:1})]),_:1},8,[`min`,`max`,`step`,`default-value`,`modelValue`,`onUpdate:modelValue`])])):e.component===`LoadJsonButton`?(B(),ms(`div`,fx,[U(sx,{text:e.props.text,action:e.action},null,8,[`text`,`action`])])):e.component===`Checkbox`?(B(),ms(`div`,px,[U(I(ax),{id:`checkbox-${e.id}`,"model-value":!!e.props.defaultValue,"onUpdate:modelValue":t=>{e.props.defaultValue=!!t,s(e.action,t)}},null,8,[`id`,`model-value`,`onUpdate:modelValue`]),e.props.text?(B(),ms(`span`,mx,Ce(e.props.text),1)):Ts(``,!0)])):e.component===`Select`?(B(),ms(`div`,hx,[U(I(cy),{"model-value":e.props.defaultValue??``,"onUpdate:modelValue":t=>{e.props.defaultValue=typeof t==`string`?t:``,s(e.action,t)}},{default:L(()=>[U(I(Gy),{class:`w-full`},{default:L(()=>[U(I(Ky),{placeholder:e.props.placeholder??`Select an option`},null,8,[`placeholder`])]),_:2},1024),U(I(ly),{class:`z-[4000]`},{default:L(()=>[(B(!0),ms(is,null,da(e.props.options,e=>(B(),V(I(Hy),{key:e,value:e},{default:L(()=>[Cs(Ce(e),1)]),_:2},1032,[`value`]))),128))]),_:2},1024)]),_:2},1032,[`model-value`,`onUpdate:modelValue`])])):Ts(``,!0)]))),128)),U(I(oy),{variant:`secondary`,size:`icon`,class:`mb-4`,onClick:r[0]||=e=>c()},{default:L(()=>[U(I(yy))]),_:1})],2),U(I(oy),{variant:`secondary`,size:`icon`,class:he([`mb-5`,{"is-hidden":!t.value}]),onClick:r[1]||=e=>c()},{default:L(()=>[U(I(by))]),_:1},8,[`class`])],64))}}),[[`__scopeId`,`data-v-a83066fb`]]),_x={id:`sidebar`},vx=$y(R({__name:`Sidebar`,props:{showToolbar:{type:Boolean,default:!0}},setup(e){let{sideBarInfoState:t}=ay().store;return(n,r)=>(B(),ms(`div`,_x,[e.showToolbar?(B(),V(Qb,{key:0})):Ts(``,!0),I(t).isVisible?(B(),V(gx,{key:1})):Ts(``,!0)]))}}),[[`__scopeId`,`data-v-1cbddba3`]]),yx={key:0,class:`theme-indicator`,"aria-hidden":`true`},bx=$y(R({__name:`ThemeIndicator`,setup(e){let{theme:t}=ay().store,n=F(!1),r=F(t.value),i=null,a=!0;function o(e){r.value=e,n.value=!0,i&&window.clearTimeout(i),i=window.setTimeout(()=>{n.value=!1,i=null},900)}let s=Cr(()=>t.value,e=>{if(a){r.value=e,a=!1;return}e!==r.value&&o(e)},{immediate:!0});return Zi(()=>{i&&=(window.clearTimeout(i),null),s()}),Ji(()=>{}),(e,t)=>(B(),V(wc,{name:`theme-indicator`},{default:L(()=>[n.value?(B(),ms(`div`,yx,[r.value===`dark`?(B(),V(I(Ay),{key:0,class:`theme-indicator-icon`})):(B(),V(I(zy),{key:1,class:`theme-indicator-icon`}))])):Ts(``,!0)]),_:1}))}}),[[`__scopeId`,`data-v-ebb8d4d4`]]),xx=$y(R({__name:`App`,props:{runtime:{},showToolbar:{type:Boolean,default:!0}},setup(e){let t=F(null),n=e,{theme:r}=n.runtime.store;return Ji(()=>{t.value&&n.runtime.attach(t.value)}),(e,i)=>(B(),ms(`div`,{class:he([`app-container`,{dark:I(r).value===`dark`}])},[U(vx,{"show-toolbar":n.showToolbar},null,8,[`show-toolbar`]),H(`div`,{ref_key:`threeContainer`,ref:t,class:`three-container`},null,512),U(bx),U(eb)],2))}}),[[`__scopeId`,`data-v-dc8ca966`]]);function Sx(){let e=0,t=0;for(let n=0;n<28;n+=7){let r=this.buf[this.pos++];if(e|=(r&127)<>4,!(n&128))return this.assertBounds(),[e,t];for(let n=3;n<=31;n+=7){let r=this.buf[this.pos++];if(t|=(r&127)<>>r,a=!(!(i>>>7)&&t==0),o=(a?i|128:i)&255;if(n.push(o),!a)return}let r=e>>>28&15|(t&7)<<4,i=!!(t>>3);if(n.push((i?r|128:r)&255),i){for(let e=3;e<31;e+=7){let r=t>>>e,i=!!(r>>>7),a=(i?r|128:r)&255;if(n.push(a),!i)return}n.push(t>>>31&1)}}var wx=4294967296;function Tx(e){let t=e[0]===`-`;t&&(e=e.slice(1));let n=1e6,r=0,i=0;function a(t,a){let o=Number(e.slice(t,a));i*=n,r=r*n+o,r>=wx&&(i+=r/wx|0,r%=wx)}return a(-24,-18),a(-18,-12),a(-12,-6),a(-6),t?Ax(r,i):kx(r,i)}function Ex(e,t){let n=kx(e,t),r=n.hi&2147483648;r&&(n=Ax(n.lo,n.hi));let i=Dx(n.lo,n.hi);return r?`-`+i:i}function Dx(e,t){if({lo:e,hi:t}=Ox(e,t),t<=2097151)return String(wx*t+e);let n=e&16777215,r=(e>>>24|t<<8)&16777215,i=t>>16&65535,a=n+r*6777216+i*6710656,o=r+i*8147497,s=i*2,c=1e7;return a>=c&&(o+=Math.floor(a/c),a%=c),o>=c&&(s+=Math.floor(o/c),o%=c),s.toString()+jx(o)+jx(a)}function Ox(e,t){return{lo:e>>>0,hi:t>>>0}}function kx(e,t){return{lo:e|0,hi:t|0}}function Ax(e,t){return t=~t,e?e=~e+1:t+=1,kx(e,t)}var jx=e=>{let t=String(e);return`0000000`.slice(t.length)+t};function Mx(e,t){if(e>=0){for(;e>127;)t.push(e&127|128),e>>>=7;t.push(e)}else{for(let n=0;n<9;n++)t.push(e&127|128),e>>=7;t.push(1)}}function Nx(){let e=this.buf[this.pos++],t=e&127;if(!(e&128)||(e=this.buf[this.pos++],t|=(e&127)<<7,!(e&128))||(e=this.buf[this.pos++],t|=(e&127)<<14,!(e&128))||(e=this.buf[this.pos++],t|=(e&127)<<21,!(e&128)))return this.assertBounds(),t;e=this.buf[this.pos++],t|=(e&15)<<28;for(let t=5;e&128&&t<10;t++)e=this.buf[this.pos++];if(e&128)throw Error(`invalid varint`);return this.assertBounds(),t>>>0}var Px=Fx();function Fx(){let e=new DataView(new ArrayBuffer(8));if(typeof BigInt==`function`&&typeof e.getBigInt64==`function`&&typeof e.getBigUint64==`function`&&typeof e.setBigInt64==`function`&&typeof e.setBigUint64==`function`&&(globalThis.Deno||globalThis.Bun||typeof process!=`object`||{}.BUF_BIGINT_DISABLE!==`1`)){let t=BigInt(`-9223372036854775808`),n=BigInt(`9223372036854775807`),r=BigInt(`0`),i=BigInt(`18446744073709551615`);return{zero:BigInt(0),supported:!0,parse(e){let r=typeof e==`bigint`?e:BigInt(e);if(r>n||ri||t>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(Ux(e);e>127;)this.buf.push(e&127|128),e>>>=7;return this.buf.push(e),this}int32(e){return Hx(e),Mx(e,this.buf),this}bool(e){return this.buf.push(+!!e),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let t=this.encodeUtf8(e);return this.uint32(t.byteLength),this.raw(t)}float(e){Wx(e);let t=new Uint8Array(4);return new DataView(t.buffer).setFloat32(0,e,!0),this.raw(t)}double(e){let t=new Uint8Array(8);return new DataView(t.buffer).setFloat64(0,e,!0),this.raw(t)}fixed32(e){Ux(e);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!0),this.raw(t)}sfixed32(e){Hx(e);let t=new Uint8Array(4);return new DataView(t.buffer).setInt32(0,e,!0),this.raw(t)}sint32(e){return Hx(e),e=(e<<1^e>>31)>>>0,Mx(e,this.buf),this}sfixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),r=Px.enc(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}fixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),r=Px.uEnc(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}int64(e){let t=Px.enc(e);return Cx(t.lo,t.hi,this.buf),this}sint64(e){let t=Px.enc(e),n=t.hi>>31;return Cx(t.lo<<1^n,(t.hi<<1|t.lo>>>31)^n,this.buf),this}uint64(e){let t=Px.uEnc(e);return Cx(t.lo,t.hi,this.buf),this}},q=class{constructor(e,t=zx().decodeUtf8){this.decodeUtf8=t,this.varint64=Sx,this.uint32=Nx,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength)}tag(){let e=this.pos,t=this.uint32(),n=this.pos-e;if(n>5||n==5&&this.buf[this.pos-1]>15)throw Error(`illegal tag: varint overflows uint32`);let r=t>>>3,i=t&7;if(r<=0||i>5)throw Error(`illegal tag: field no `+r+` wire type `+i);return[r,i]}skip(e,t,n=100){let r=this.pos;switch(e){case Bx.Varint:for(;this.buf[this.pos++]&128;);break;case Bx.Bit64:this.pos+=4;case Bx.Bit32:this.pos+=4;break;case Bx.LengthDelimited:let r=this.uint32();this.pos+=r;break;case Bx.StartGroup:if(n<=0)throw Error(`maximum recursion depth reached`);for(;;){let[e,r]=this.tag();if(r===Bx.EndGroup){if(t!==void 0&&e!==t)throw Error(`invalid end group tag`);break}this.skip(r,e,n-1)}break;default:throw Error(`cant skip wire type `+e)}return this.assertBounds(),this.buf.subarray(r,this.pos)}assertBounds(){if(this.pos>this.len)throw RangeError(`premature EOF`)}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return Px.dec(...this.varint64())}uint64(){return Px.uDec(...this.varint64())}sint64(){let[e,t]=this.varint64(),n=-(e&1);return e=(e>>>1|(t&1)<<31)^n,t=t>>>1^n,Px.dec(e,t)}bool(){let[e,t]=this.varint64();return e!==0||t!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return Px.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return Px.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),t=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(t,t+e)}string(e){return this.decodeUtf8(this.bytes(),e)}};function Hx(e){if(typeof e==`string`)e=Number(e);else if(typeof e!=`number`)throw Error(`invalid int32: `+typeof e);if(!Number.isInteger(e)||e>2147483647||e<-2147483648)throw Error(`invalid int32: `+e)}function Ux(e){if(typeof e==`string`)e=Number(e);else if(typeof e!=`number`)throw Error(`invalid uint32: `+typeof e);if(!Number.isInteger(e)||e>4294967295||e<0)throw Error(`invalid uint32: `+e)}function Wx(e){if(typeof e==`string`){let t=e;if(e=Number(e),Number.isNaN(e)&&t!==`NaN`)throw Error(`invalid float32: `+t)}else if(typeof e!=`number`)throw Error(`invalid float32: `+typeof e);if(Number.isFinite(e)&&(e>34028234663852886e22||e<-34028234663852886e22))throw Error(`invalid float32: `+e)}function Gx(){return{typeUrl:``,value:new Uint8Array}}var Kx={encode(e,t=new Vx){return e.typeUrl!==``&&t.uint32(10).string(e.typeUrl),e.value.length!==0&&t.uint32(18).bytes(e.value),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=Gx();for(;n.pos>>3){case 1:if(e!==10)break;i.typeUrl=n.string();continue;case 2:if(e!==18)break;i.value=n.bytes();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{typeUrl:Yx(e.typeUrl)?globalThis.String(e.typeUrl):Yx(e.type_url)?globalThis.String(e.type_url):``,value:Yx(e.value)?qx(e.value):new Uint8Array}},toJSON(e){let t={};return e.typeUrl!==``&&(t.typeUrl=e.typeUrl),e.value.length!==0&&(t.value=Jx(e.value)),t},create(e){return Kx.fromPartial(e??{})},fromPartial(e){let t=Gx();return t.typeUrl=e.typeUrl??``,t.value=e.value??new Uint8Array,t}};function qx(e){if(globalThis.Buffer)return Uint8Array.from(globalThis.Buffer.from(e,`base64`));{let t=globalThis.atob(e),n=new Uint8Array(t.length);for(let e=0;e{t.push(globalThis.String.fromCharCode(e))}),globalThis.btoa(t.join(``))}}function Yx(e){return e!=null}var Xx=function(e){return e[e.NULL_VALUE=0]=`NULL_VALUE`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e}({});function Zx(e){switch(e){case 0:case`NULL_VALUE`:return Xx.NULL_VALUE;default:return Xx.UNRECOGNIZED}}function Qx(e){switch(e){case Xx.NULL_VALUE:return`NULL_VALUE`;case Xx.UNRECOGNIZED:default:return`UNRECOGNIZED`}}function $x(){return{fields:{}}}var eS={encode(e,t=new Vx){return globalThis.Object.entries(e.fields).forEach(([e,n])=>{n!==void 0&&nS.encode({key:e,value:n},t.uint32(10).fork()).join()}),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=$x();for(;n.pos>>3){case 1:{if(e!==10)break;let t=nS.decode(n,n.uint32());t.value!==void 0&&(i.fields[t.key]=t.value);continue}}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{fields:sS(e.fields)?globalThis.Object.entries(e.fields).reduce((e,[t,n])=>(e[t]=n,e),{}):{}}},toJSON(e){let t={};if(e.fields){let n=globalThis.Object.entries(e.fields);n.length>0&&(t.fields={},n.forEach(([e,n])=>{t.fields[e]=n}))}return t},create(e){return eS.fromPartial(e??{})},fromPartial(e){let t=$x();return t.fields=globalThis.Object.entries(e.fields??{}).reduce((e,[t,n])=>(n!==void 0&&(e[t]=n),e),{}),t},wrap(e){let t=$x();if(e!==void 0)for(let n of globalThis.Object.keys(e))t.fields[n]=e[n];return t},unwrap(e){let t={};if(e.fields)for(let n of globalThis.Object.keys(e.fields))t[n]=e.fields[n];return t}};function tS(){return{key:``,value:void 0}}var nS={encode(e,t=new Vx){return e.key!==``&&t.uint32(10).string(e.key),e.value!==void 0&&iS.encode(iS.wrap(e.value),t.uint32(18).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=tS();for(;n.pos>>3){case 1:if(e!==10)break;i.key=n.string();continue;case 2:if(e!==18)break;i.value=iS.unwrap(iS.decode(n,n.uint32()));continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{key:cS(e.key)?globalThis.String(e.key):``,value:cS(e?.value)?e.value:void 0}},toJSON(e){let t={};return e.key!==``&&(t.key=e.key),e.value!==void 0&&(t.value=e.value),t},create(e){return nS.fromPartial(e??{})},fromPartial(e){let t=tS();return t.key=e.key??``,t.value=e.value??void 0,t}};function rS(){return{nullValue:void 0,numberValue:void 0,stringValue:void 0,boolValue:void 0,structValue:void 0,listValue:void 0}}var iS={encode(e,t=new Vx){return e.nullValue!==void 0&&t.uint32(8).int32(e.nullValue),e.numberValue!==void 0&&t.uint32(17).double(e.numberValue),e.stringValue!==void 0&&t.uint32(26).string(e.stringValue),e.boolValue!==void 0&&t.uint32(32).bool(e.boolValue),e.structValue!==void 0&&eS.encode(eS.wrap(e.structValue),t.uint32(42).fork()).join(),e.listValue!==void 0&&oS.encode(oS.wrap(e.listValue),t.uint32(50).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=rS();for(;n.pos>>3){case 1:if(e!==8)break;i.nullValue=n.int32();continue;case 2:if(e!==17)break;i.numberValue=n.double();continue;case 3:if(e!==26)break;i.stringValue=n.string();continue;case 4:if(e!==32)break;i.boolValue=n.bool();continue;case 5:if(e!==42)break;i.structValue=eS.unwrap(eS.decode(n,n.uint32()));continue;case 6:if(e!==50)break;i.listValue=oS.unwrap(oS.decode(n,n.uint32()));continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{nullValue:cS(e.nullValue)?Zx(e.nullValue):cS(e.null_value)?Zx(e.null_value):void 0,numberValue:cS(e.numberValue)?globalThis.Number(e.numberValue):cS(e.number_value)?globalThis.Number(e.number_value):void 0,stringValue:cS(e.stringValue)?globalThis.String(e.stringValue):cS(e.string_value)?globalThis.String(e.string_value):void 0,boolValue:cS(e.boolValue)?globalThis.Boolean(e.boolValue):cS(e.bool_value)?globalThis.Boolean(e.bool_value):void 0,structValue:sS(e.structValue)?e.structValue:sS(e.struct_value)?e.struct_value:void 0,listValue:globalThis.Array.isArray(e.listValue)?[...e.listValue]:globalThis.Array.isArray(e.list_value)?[...e.list_value]:void 0}},toJSON(e){let t={};return e.nullValue!==void 0&&(t.nullValue=Qx(e.nullValue)),e.numberValue!==void 0&&(t.numberValue=e.numberValue),e.stringValue!==void 0&&(t.stringValue=e.stringValue),e.boolValue!==void 0&&(t.boolValue=e.boolValue),e.structValue!==void 0&&(t.structValue=e.structValue),e.listValue!==void 0&&(t.listValue=e.listValue),t},create(e){return iS.fromPartial(e??{})},fromPartial(e){let t=rS();return t.nullValue=e.nullValue??void 0,t.numberValue=e.numberValue??void 0,t.stringValue=e.stringValue??void 0,t.boolValue=e.boolValue??void 0,t.structValue=e.structValue??void 0,t.listValue=e.listValue??void 0,t},wrap(e){let t=rS();if(e===null)t.nullValue=Xx.NULL_VALUE;else if(typeof e==`boolean`)t.boolValue=e;else if(typeof e==`number`)t.numberValue=e;else if(typeof e==`string`)t.stringValue=e;else if(globalThis.Array.isArray(e))t.listValue=e;else if(typeof e==`object`)t.structValue=e;else if(e!==void 0)throw new globalThis.Error(`Unsupported any value type: `+typeof e);return t},unwrap(e){if(e.stringValue!==void 0)return e.stringValue;if(e?.numberValue!==void 0)return e.numberValue;if(e?.boolValue!==void 0)return e.boolValue;if(e?.structValue!==void 0)return e.structValue;if(e?.listValue!==void 0)return e.listValue;if(e?.nullValue!==void 0)return null}};function aS(){return{values:[]}}var oS={encode(e,t=new Vx){for(let n of e.values)iS.encode(iS.wrap(n),t.uint32(10).fork()).join();return t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=aS();for(;n.pos>>3){case 1:if(e!==10)break;i.values.push(iS.unwrap(iS.decode(n,n.uint32())));continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{values:globalThis.Array.isArray(e?.values)?[...e.values]:[]}},toJSON(e){let t={};return e.values?.length&&(t.values=e.values),t},create(e){return oS.fromPartial(e??{})},fromPartial(e){let t=aS();return t.values=e.values?.map(e=>e)||[],t},wrap(e){let t=aS();return t.values=e??[],t},unwrap(e){return e?.hasOwnProperty(`values`)&&globalThis.Array.isArray(e.values)?e.values:e}};function sS(e){return typeof e==`object`&&!!e}function cS(e){return e!=null}function lS(){return{message:void 0,value:void 0,fallback:void 0,intValue:void 0,doubleValue:void 0,dictValue:void 0,listValue:void 0}}var J={encode(e,t=new Vx){return e.message!==void 0&&Kx.encode(e.message,t.uint32(10).fork()).join(),e.value!==void 0&&iS.encode(iS.wrap(e.value),t.uint32(18).fork()).join(),e.fallback!==void 0&&dS.encode(e.fallback,t.uint32(26).fork()).join(),e.intValue!==void 0&&t.uint32(32).int64(e.intValue),e.doubleValue!==void 0&&t.uint32(41).double(e.doubleValue),e.dictValue!==void 0&&hS.encode(e.dictValue,t.uint32(50).fork()).join(),e.listValue!==void 0&&pS.encode(e.listValue,t.uint32(58).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=lS();for(;n.pos>>3){case 1:if(e!==10)break;i.message=Kx.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.value=iS.unwrap(iS.decode(n,n.uint32()));continue;case 3:if(e!==26)break;i.fallback=dS.decode(n,n.uint32());continue;case 4:if(e!==32)break;i.intValue=bS(n.int64());continue;case 5:if(e!==41)break;i.doubleValue=n.double();continue;case 6:if(e!==50)break;i.dictValue=hS.decode(n,n.uint32());continue;case 7:if(e!==58)break;i.listValue=pS.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{message:SS(e.message)?Kx.fromJSON(e.message):void 0,value:SS(e?.value)?e.value:void 0,fallback:SS(e.fallback)?dS.fromJSON(e.fallback):void 0,intValue:SS(e.intValue)?globalThis.Number(e.intValue):SS(e.int_value)?globalThis.Number(e.int_value):void 0,doubleValue:SS(e.doubleValue)?globalThis.Number(e.doubleValue):SS(e.double_value)?globalThis.Number(e.double_value):void 0,dictValue:SS(e.dictValue)?hS.fromJSON(e.dictValue):SS(e.dict_value)?hS.fromJSON(e.dict_value):void 0,listValue:SS(e.listValue)?pS.fromJSON(e.listValue):SS(e.list_value)?pS.fromJSON(e.list_value):void 0}},toJSON(e){let t={};return e.message!==void 0&&(t.message=Kx.toJSON(e.message)),e.value!==void 0&&(t.value=e.value),e.fallback!==void 0&&(t.fallback=dS.toJSON(e.fallback)),e.intValue!==void 0&&(t.intValue=Math.round(e.intValue)),e.doubleValue!==void 0&&(t.doubleValue=e.doubleValue),e.dictValue!==void 0&&(t.dictValue=hS.toJSON(e.dictValue)),e.listValue!==void 0&&(t.listValue=pS.toJSON(e.listValue)),t},create(e){return J.fromPartial(e??{})},fromPartial(e){let t=lS();return t.message=e.message!==void 0&&e.message!==null?Kx.fromPartial(e.message):void 0,t.value=e.value??void 0,t.fallback=e.fallback!==void 0&&e.fallback!==null?dS.fromPartial(e.fallback):void 0,t.intValue=e.intValue??void 0,t.doubleValue=e.doubleValue??void 0,t.dictValue=e.dictValue!==void 0&&e.dictValue!==null?hS.fromPartial(e.dictValue):void 0,t.listValue=e.listValue!==void 0&&e.listValue!==null?pS.fromPartial(e.listValue):void 0,t}};function uS(){return{data:void 0}}var dS={encode(e,t=new Vx){return e.data!==void 0&&hS.encode(e.data,t.uint32(10).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=uS();for(;n.pos>>3){case 1:if(e!==10)break;i.data=hS.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{data:SS(e.data)?hS.fromJSON(e.data):void 0}},toJSON(e){let t={};return e.data!==void 0&&(t.data=hS.toJSON(e.data)),t},create(e){return dS.fromPartial(e??{})},fromPartial(e){let t=uS();return t.data=e.data!==void 0&&e.data!==null?hS.fromPartial(e.data):void 0,t}};function fS(){return{items:[]}}var pS={encode(e,t=new Vx){for(let n of e.items)J.encode(n,t.uint32(10).fork()).join();return t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=fS();for(;n.pos>>3){case 1:if(e!==10)break;i.items.push(J.decode(n,n.uint32()));continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{items:globalThis.Array.isArray(e?.items)?e.items.map(e=>J.fromJSON(e)):[]}},toJSON(e){let t={};return e.items?.length&&(t.items=e.items.map(e=>J.toJSON(e))),t},create(e){return pS.fromPartial(e??{})},fromPartial(e){let t=fS();return t.items=e.items?.map(e=>J.fromPartial(e))||[],t}};function mS(){return{items:{}}}var hS={encode(e,t=new Vx){return globalThis.Object.entries(e.items).forEach(([e,n])=>{_S.encode({key:e,value:n},t.uint32(10).fork()).join()}),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=mS();for(;n.pos>>3){case 1:{if(e!==10)break;let t=_S.decode(n,n.uint32());t.value!==void 0&&(i.items[t.key]=t.value);continue}}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{items:xS(e.items)?globalThis.Object.entries(e.items).reduce((e,[t,n])=>(e[t]=J.fromJSON(n),e),{}):{}}},toJSON(e){let t={};if(e.items){let n=globalThis.Object.entries(e.items);n.length>0&&(t.items={},n.forEach(([e,n])=>{t.items[e]=J.toJSON(n)}))}return t},create(e){return hS.fromPartial(e??{})},fromPartial(e){let t=mS();return t.items=globalThis.Object.entries(e.items??{}).reduce((e,[t,n])=>(n!==void 0&&(e[t]=J.fromPartial(n)),e),{}),t}};function gS(){return{key:``,value:void 0}}var _S={encode(e,t=new Vx){return e.key!==``&&t.uint32(10).string(e.key),e.value!==void 0&&J.encode(e.value,t.uint32(18).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=gS();for(;n.pos>>3){case 1:if(e!==10)break;i.key=n.string();continue;case 2:if(e!==18)break;i.value=J.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{key:SS(e.key)?globalThis.String(e.key):``,value:SS(e.value)?J.fromJSON(e.value):void 0}},toJSON(e){let t={};return e.key!==``&&(t.key=e.key),e.value!==void 0&&(t.value=J.toJSON(e.value)),t},create(e){return _S.fromPartial(e??{})},fromPartial(e){let t=gS();return t.key=e.key??``,t.value=e.value!==void 0&&e.value!==null?J.fromPartial(e.value):void 0,t}};function vS(){return{data:void 0,version:void 0}}var yS={encode(e,t=new Vx){return e.data!==void 0&&J.encode(e.data,t.uint32(10).fork()).join(),e.version!==void 0&&t.uint32(18).string(e.version),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=vS();for(;n.pos>>3){case 1:if(e!==10)break;i.data=J.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.version=n.string();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{data:SS(e.data)?J.fromJSON(e.data):void 0,version:SS(e.version)?globalThis.String(e.version):void 0}},toJSON(e){let t={};return e.data!==void 0&&(t.data=J.toJSON(e.data)),e.version!==void 0&&(t.version=e.version),t},create(e){return yS.fromPartial(e??{})},fromPartial(e){let t=vS();return t.data=e.data!==void 0&&e.data!==null?J.fromPartial(e.data):void 0,t.version=e.version??void 0,t}};function bS(e){let t=globalThis.Number(e.toString());if(t>globalThis.Number.MAX_SAFE_INTEGER)throw new globalThis.Error(`Value is larger than Number.MAX_SAFE_INTEGER`);if(t>>3){case 1:if(e!==10)break;i.name=n.string();continue;case 2:if(e===16){i.indices.push(n.uint32());continue}if(e===18){let e=n.uint32()+n.pos;for(;n.posglobalThis.Number(e)):[],kind:YS(e.kind)?globalThis.Number(e.kind):0,doubles:globalThis.Array.isArray(e?.doubles)?e.doubles.map(e=>globalThis.Number(e)):[],ints:globalThis.Array.isArray(e?.ints)?e.ints.map(e=>globalThis.Number(e)):[],bools:globalThis.Array.isArray(e?.bools)?e.bools.map(e=>globalThis.Boolean(e)):[],values:globalThis.Array.isArray(e?.values)?e.values.map(e=>J.fromJSON(e)):[]}},toJSON(e){let t={};return e.name!==``&&(t.name=e.name),e.indices?.length&&(t.indices=e.indices.map(e=>Math.round(e))),e.kind!==0&&(t.kind=Math.round(e.kind)),e.doubles?.length&&(t.doubles=e.doubles),e.ints?.length&&(t.ints=e.ints.map(e=>Math.round(e))),e.bools?.length&&(t.bools=e.bools),e.values?.length&&(t.values=e.values.map(e=>J.toJSON(e))),t},create(e){return wS.fromPartial(e??{})},fromPartial(e){let t=CS();return t.name=e.name??``,t.indices=e.indices?.map(e=>e)||[],t.kind=e.kind??0,t.doubles=e.doubles?.map(e=>e)||[],t.ints=e.ints?.map(e=>e)||[],t.bools=e.bools?.map(e=>e)||[],t.values=e.values?.map(e=>J.fromPartial(e))||[],t}};function TS(){return{guid:void 0,name:void 0,vertices:[],faceVertices:[],faceSizes:[],attributes:{},vertexAttributeColumns:[],faceAttributeColumns:[],edgeAttributeColumns:[],edgeKeys:[],defaultVertexAttributes:{},defaultFaceAttributes:{},defaultEdgeAttributes:{}}}var ES={encode(e,t=new Vx){e.guid!==void 0&&t.uint32(10).string(e.guid),e.name!==void 0&&t.uint32(18).string(e.name),t.uint32(26).fork();for(let n of e.vertices)t.double(n);t.join(),t.uint32(34).fork();for(let n of e.faceVertices)t.uint32(n);t.join(),t.uint32(98).fork();for(let n of e.faceSizes)t.uint32(n);t.join(),globalThis.Object.entries(e.attributes).forEach(([e,n])=>{OS.encode({key:e,value:n},t.uint32(42).fork()).join()});for(let n of e.vertexAttributeColumns)wS.encode(n,t.uint32(50).fork()).join();for(let n of e.faceAttributeColumns)wS.encode(n,t.uint32(58).fork()).join();for(let n of e.edgeAttributeColumns)wS.encode(n,t.uint32(66).fork()).join();for(let n of e.edgeKeys)J.encode(n,t.uint32(106).fork()).join();return globalThis.Object.entries(e.defaultVertexAttributes).forEach(([e,n])=>{AS.encode({key:e,value:n},t.uint32(74).fork()).join()}),globalThis.Object.entries(e.defaultFaceAttributes).forEach(([e,n])=>{MS.encode({key:e,value:n},t.uint32(82).fork()).join()}),globalThis.Object.entries(e.defaultEdgeAttributes).forEach(([e,n])=>{PS.encode({key:e,value:n},t.uint32(90).fork()).join()}),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=TS();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e===25){i.vertices.push(n.double());continue}if(e===26){let e=n.uint32()+n.pos;for(;n.posglobalThis.Number(e)):[],faceVertices:globalThis.Array.isArray(e?.faceVertices)?e.faceVertices.map(e=>globalThis.Number(e)):globalThis.Array.isArray(e?.face_vertices)?e.face_vertices.map(e=>globalThis.Number(e)):[],faceSizes:globalThis.Array.isArray(e?.faceSizes)?e.faceSizes.map(e=>globalThis.Number(e)):globalThis.Array.isArray(e?.face_sizes)?e.face_sizes.map(e=>globalThis.Number(e)):[],attributes:JS(e.attributes)?globalThis.Object.entries(e.attributes).reduce((e,[t,n])=>(e[t]=J.fromJSON(n),e),{}):{},vertexAttributeColumns:globalThis.Array.isArray(e?.vertexAttributeColumns)?e.vertexAttributeColumns.map(e=>wS.fromJSON(e)):globalThis.Array.isArray(e?.vertex_attribute_columns)?e.vertex_attribute_columns.map(e=>wS.fromJSON(e)):[],faceAttributeColumns:globalThis.Array.isArray(e?.faceAttributeColumns)?e.faceAttributeColumns.map(e=>wS.fromJSON(e)):globalThis.Array.isArray(e?.face_attribute_columns)?e.face_attribute_columns.map(e=>wS.fromJSON(e)):[],edgeAttributeColumns:globalThis.Array.isArray(e?.edgeAttributeColumns)?e.edgeAttributeColumns.map(e=>wS.fromJSON(e)):globalThis.Array.isArray(e?.edge_attribute_columns)?e.edge_attribute_columns.map(e=>wS.fromJSON(e)):[],edgeKeys:globalThis.Array.isArray(e?.edgeKeys)?e.edgeKeys.map(e=>J.fromJSON(e)):globalThis.Array.isArray(e?.edge_keys)?e.edge_keys.map(e=>J.fromJSON(e)):[],defaultVertexAttributes:JS(e.defaultVertexAttributes)?globalThis.Object.entries(e.defaultVertexAttributes).reduce((e,[t,n])=>(e[t]=J.fromJSON(n),e),{}):JS(e.default_vertex_attributes)?globalThis.Object.entries(e.default_vertex_attributes).reduce((e,[t,n])=>(e[t]=J.fromJSON(n),e),{}):{},defaultFaceAttributes:JS(e.defaultFaceAttributes)?globalThis.Object.entries(e.defaultFaceAttributes).reduce((e,[t,n])=>(e[t]=J.fromJSON(n),e),{}):JS(e.default_face_attributes)?globalThis.Object.entries(e.default_face_attributes).reduce((e,[t,n])=>(e[t]=J.fromJSON(n),e),{}):{},defaultEdgeAttributes:JS(e.defaultEdgeAttributes)?globalThis.Object.entries(e.defaultEdgeAttributes).reduce((e,[t,n])=>(e[t]=J.fromJSON(n),e),{}):JS(e.default_edge_attributes)?globalThis.Object.entries(e.default_edge_attributes).reduce((e,[t,n])=>(e[t]=J.fromJSON(n),e),{}):{}}},toJSON(e){let t={};if(e.guid!==void 0&&(t.guid=e.guid),e.name!==void 0&&(t.name=e.name),e.vertices?.length&&(t.vertices=e.vertices),e.faceVertices?.length&&(t.faceVertices=e.faceVertices.map(e=>Math.round(e))),e.faceSizes?.length&&(t.faceSizes=e.faceSizes.map(e=>Math.round(e))),e.attributes){let n=globalThis.Object.entries(e.attributes);n.length>0&&(t.attributes={},n.forEach(([e,n])=>{t.attributes[e]=J.toJSON(n)}))}if(e.vertexAttributeColumns?.length&&(t.vertexAttributeColumns=e.vertexAttributeColumns.map(e=>wS.toJSON(e))),e.faceAttributeColumns?.length&&(t.faceAttributeColumns=e.faceAttributeColumns.map(e=>wS.toJSON(e))),e.edgeAttributeColumns?.length&&(t.edgeAttributeColumns=e.edgeAttributeColumns.map(e=>wS.toJSON(e))),e.edgeKeys?.length&&(t.edgeKeys=e.edgeKeys.map(e=>J.toJSON(e))),e.defaultVertexAttributes){let n=globalThis.Object.entries(e.defaultVertexAttributes);n.length>0&&(t.defaultVertexAttributes={},n.forEach(([e,n])=>{t.defaultVertexAttributes[e]=J.toJSON(n)}))}if(e.defaultFaceAttributes){let n=globalThis.Object.entries(e.defaultFaceAttributes);n.length>0&&(t.defaultFaceAttributes={},n.forEach(([e,n])=>{t.defaultFaceAttributes[e]=J.toJSON(n)}))}if(e.defaultEdgeAttributes){let n=globalThis.Object.entries(e.defaultEdgeAttributes);n.length>0&&(t.defaultEdgeAttributes={},n.forEach(([e,n])=>{t.defaultEdgeAttributes[e]=J.toJSON(n)}))}return t},create(e){return ES.fromPartial(e??{})},fromPartial(e){let t=TS();return t.guid=e.guid??void 0,t.name=e.name??void 0,t.vertices=e.vertices?.map(e=>e)||[],t.faceVertices=e.faceVertices?.map(e=>e)||[],t.faceSizes=e.faceSizes?.map(e=>e)||[],t.attributes=globalThis.Object.entries(e.attributes??{}).reduce((e,[t,n])=>(n!==void 0&&(e[t]=J.fromPartial(n)),e),{}),t.vertexAttributeColumns=e.vertexAttributeColumns?.map(e=>wS.fromPartial(e))||[],t.faceAttributeColumns=e.faceAttributeColumns?.map(e=>wS.fromPartial(e))||[],t.edgeAttributeColumns=e.edgeAttributeColumns?.map(e=>wS.fromPartial(e))||[],t.edgeKeys=e.edgeKeys?.map(e=>J.fromPartial(e))||[],t.defaultVertexAttributes=globalThis.Object.entries(e.defaultVertexAttributes??{}).reduce((e,[t,n])=>(n!==void 0&&(e[t]=J.fromPartial(n)),e),{}),t.defaultFaceAttributes=globalThis.Object.entries(e.defaultFaceAttributes??{}).reduce((e,[t,n])=>(n!==void 0&&(e[t]=J.fromPartial(n)),e),{}),t.defaultEdgeAttributes=globalThis.Object.entries(e.defaultEdgeAttributes??{}).reduce((e,[t,n])=>(n!==void 0&&(e[t]=J.fromPartial(n)),e),{}),t}};function DS(){return{key:``,value:void 0}}var OS={encode(e,t=new Vx){return e.key!==``&&t.uint32(10).string(e.key),e.value!==void 0&&J.encode(e.value,t.uint32(18).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=DS();for(;n.pos>>3){case 1:if(e!==10)break;i.key=n.string();continue;case 2:if(e!==18)break;i.value=J.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{key:YS(e.key)?globalThis.String(e.key):``,value:YS(e.value)?J.fromJSON(e.value):void 0}},toJSON(e){let t={};return e.key!==``&&(t.key=e.key),e.value!==void 0&&(t.value=J.toJSON(e.value)),t},create(e){return OS.fromPartial(e??{})},fromPartial(e){let t=DS();return t.key=e.key??``,t.value=e.value!==void 0&&e.value!==null?J.fromPartial(e.value):void 0,t}};function kS(){return{key:``,value:void 0}}var AS={encode(e,t=new Vx){return e.key!==``&&t.uint32(10).string(e.key),e.value!==void 0&&J.encode(e.value,t.uint32(18).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=kS();for(;n.pos>>3){case 1:if(e!==10)break;i.key=n.string();continue;case 2:if(e!==18)break;i.value=J.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{key:YS(e.key)?globalThis.String(e.key):``,value:YS(e.value)?J.fromJSON(e.value):void 0}},toJSON(e){let t={};return e.key!==``&&(t.key=e.key),e.value!==void 0&&(t.value=J.toJSON(e.value)),t},create(e){return AS.fromPartial(e??{})},fromPartial(e){let t=kS();return t.key=e.key??``,t.value=e.value!==void 0&&e.value!==null?J.fromPartial(e.value):void 0,t}};function jS(){return{key:``,value:void 0}}var MS={encode(e,t=new Vx){return e.key!==``&&t.uint32(10).string(e.key),e.value!==void 0&&J.encode(e.value,t.uint32(18).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=jS();for(;n.pos>>3){case 1:if(e!==10)break;i.key=n.string();continue;case 2:if(e!==18)break;i.value=J.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{key:YS(e.key)?globalThis.String(e.key):``,value:YS(e.value)?J.fromJSON(e.value):void 0}},toJSON(e){let t={};return e.key!==``&&(t.key=e.key),e.value!==void 0&&(t.value=J.toJSON(e.value)),t},create(e){return MS.fromPartial(e??{})},fromPartial(e){let t=jS();return t.key=e.key??``,t.value=e.value!==void 0&&e.value!==null?J.fromPartial(e.value):void 0,t}};function NS(){return{key:``,value:void 0}}var PS={encode(e,t=new Vx){return e.key!==``&&t.uint32(10).string(e.key),e.value!==void 0&&J.encode(e.value,t.uint32(18).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=NS();for(;n.pos>>3){case 1:if(e!==10)break;i.key=n.string();continue;case 2:if(e!==18)break;i.value=J.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{key:YS(e.key)?globalThis.String(e.key):``,value:YS(e.value)?J.fromJSON(e.value):void 0}},toJSON(e){let t={};return e.key!==``&&(t.key=e.key),e.value!==void 0&&(t.value=J.toJSON(e.value)),t},create(e){return PS.fromPartial(e??{})},fromPartial(e){let t=NS();return t.key=e.key??``,t.value=e.value!==void 0&&e.value!==null?J.fromPartial(e.value):void 0,t}};function FS(){return{vertexIndices:[]}}var IS={encode(e,t=new Vx){t.uint32(10).fork();for(let n of e.vertexIndices)t.int32(n);return t.join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=FS();for(;n.pos>>3==1){if(e===8){i.vertexIndices.push(n.int32());continue}if(e===10){let e=n.uint32()+n.pos;for(;n.posglobalThis.Number(e)):globalThis.Array.isArray(e?.vertex_indices)?e.vertex_indices.map(e=>globalThis.Number(e)):[]}},toJSON(e){let t={};return e.vertexIndices?.length&&(t.vertexIndices=e.vertexIndices.map(e=>Math.round(e))),t},create(e){return IS.fromPartial(e??{})},fromPartial(e){let t=FS();return t.vertexIndices=e.vertexIndices?.map(e=>e)||[],t}};function LS(){return{guid:void 0,name:void 0,vertices:[],faces:[]}}var RS={encode(e,t=new Vx){e.guid!==void 0&&t.uint32(10).string(e.guid),e.name!==void 0&&t.uint32(18).string(e.name),t.uint32(26).fork();for(let n of e.vertices)t.double(n);t.join();for(let n of e.faces)IS.encode(n,t.uint32(34).fork()).join();return t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=LS();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e===25){i.vertices.push(n.double());continue}if(e===26){let e=n.uint32()+n.pos;for(;n.posglobalThis.Number(e)):[],faces:globalThis.Array.isArray(e?.faces)?e.faces.map(e=>IS.fromJSON(e)):[]}},toJSON(e){let t={};return e.guid!==void 0&&(t.guid=e.guid),e.name!==void 0&&(t.name=e.name),e.vertices?.length&&(t.vertices=e.vertices),e.faces?.length&&(t.faces=e.faces.map(e=>IS.toJSON(e))),t},create(e){return RS.fromPartial(e??{})},fromPartial(e){let t=LS();return t.guid=e.guid??void 0,t.name=e.name??void 0,t.vertices=e.vertices?.map(e=>e)||[],t.faces=e.faces?.map(e=>IS.fromPartial(e))||[],t}};function zS(){return{guid:void 0,name:void 0,nodeKeys:[],nodeAttributes:[],attributes:{},defaultNodeAttributes:{},defaultEdgeAttributes:{},edgeU:[],edgeV:[],edgeAttributes:[]}}var BS={encode(e,t=new Vx){e.guid!==void 0&&t.uint32(10).string(e.guid),e.name!==void 0&&t.uint32(18).string(e.name);for(let n of e.nodeKeys)J.encode(n,t.uint32(26).fork()).join();for(let n of e.nodeAttributes)wS.encode(n,t.uint32(34).fork()).join();globalThis.Object.entries(e.attributes).forEach(([e,n])=>{HS.encode({key:e,value:n},t.uint32(42).fork()).join()}),globalThis.Object.entries(e.defaultNodeAttributes).forEach(([e,n])=>{WS.encode({key:e,value:n},t.uint32(50).fork()).join()}),globalThis.Object.entries(e.defaultEdgeAttributes).forEach(([e,n])=>{KS.encode({key:e,value:n},t.uint32(58).fork()).join()}),t.uint32(66).fork();for(let n of e.edgeU)t.uint32(n);t.join(),t.uint32(74).fork();for(let n of e.edgeV)t.uint32(n);t.join();for(let n of e.edgeAttributes)wS.encode(n,t.uint32(82).fork()).join();return t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=zS();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==26)break;i.nodeKeys.push(J.decode(n,n.uint32()));continue;case 4:if(e!==34)break;i.nodeAttributes.push(wS.decode(n,n.uint32()));continue;case 5:{if(e!==42)break;let t=HS.decode(n,n.uint32());t.value!==void 0&&(i.attributes[t.key]=t.value);continue}case 6:{if(e!==50)break;let t=WS.decode(n,n.uint32());t.value!==void 0&&(i.defaultNodeAttributes[t.key]=t.value);continue}case 7:{if(e!==58)break;let t=KS.decode(n,n.uint32());t.value!==void 0&&(i.defaultEdgeAttributes[t.key]=t.value);continue}case 8:if(e===64){i.edgeU.push(n.uint32());continue}if(e===66){let e=n.uint32()+n.pos;for(;n.posJ.fromJSON(e)):globalThis.Array.isArray(e?.node_keys)?e.node_keys.map(e=>J.fromJSON(e)):[],nodeAttributes:globalThis.Array.isArray(e?.nodeAttributes)?e.nodeAttributes.map(e=>wS.fromJSON(e)):globalThis.Array.isArray(e?.node_attributes)?e.node_attributes.map(e=>wS.fromJSON(e)):[],attributes:JS(e.attributes)?globalThis.Object.entries(e.attributes).reduce((e,[t,n])=>(e[t]=J.fromJSON(n),e),{}):{},defaultNodeAttributes:JS(e.defaultNodeAttributes)?globalThis.Object.entries(e.defaultNodeAttributes).reduce((e,[t,n])=>(e[t]=J.fromJSON(n),e),{}):JS(e.default_node_attributes)?globalThis.Object.entries(e.default_node_attributes).reduce((e,[t,n])=>(e[t]=J.fromJSON(n),e),{}):{},defaultEdgeAttributes:JS(e.defaultEdgeAttributes)?globalThis.Object.entries(e.defaultEdgeAttributes).reduce((e,[t,n])=>(e[t]=J.fromJSON(n),e),{}):JS(e.default_edge_attributes)?globalThis.Object.entries(e.default_edge_attributes).reduce((e,[t,n])=>(e[t]=J.fromJSON(n),e),{}):{},edgeU:globalThis.Array.isArray(e?.edgeU)?e.edgeU.map(e=>globalThis.Number(e)):globalThis.Array.isArray(e?.edge_u)?e.edge_u.map(e=>globalThis.Number(e)):[],edgeV:globalThis.Array.isArray(e?.edgeV)?e.edgeV.map(e=>globalThis.Number(e)):globalThis.Array.isArray(e?.edge_v)?e.edge_v.map(e=>globalThis.Number(e)):[],edgeAttributes:globalThis.Array.isArray(e?.edgeAttributes)?e.edgeAttributes.map(e=>wS.fromJSON(e)):globalThis.Array.isArray(e?.edge_attributes)?e.edge_attributes.map(e=>wS.fromJSON(e)):[]}},toJSON(e){let t={};if(e.guid!==void 0&&(t.guid=e.guid),e.name!==void 0&&(t.name=e.name),e.nodeKeys?.length&&(t.nodeKeys=e.nodeKeys.map(e=>J.toJSON(e))),e.nodeAttributes?.length&&(t.nodeAttributes=e.nodeAttributes.map(e=>wS.toJSON(e))),e.attributes){let n=globalThis.Object.entries(e.attributes);n.length>0&&(t.attributes={},n.forEach(([e,n])=>{t.attributes[e]=J.toJSON(n)}))}if(e.defaultNodeAttributes){let n=globalThis.Object.entries(e.defaultNodeAttributes);n.length>0&&(t.defaultNodeAttributes={},n.forEach(([e,n])=>{t.defaultNodeAttributes[e]=J.toJSON(n)}))}if(e.defaultEdgeAttributes){let n=globalThis.Object.entries(e.defaultEdgeAttributes);n.length>0&&(t.defaultEdgeAttributes={},n.forEach(([e,n])=>{t.defaultEdgeAttributes[e]=J.toJSON(n)}))}return e.edgeU?.length&&(t.edgeU=e.edgeU.map(e=>Math.round(e))),e.edgeV?.length&&(t.edgeV=e.edgeV.map(e=>Math.round(e))),e.edgeAttributes?.length&&(t.edgeAttributes=e.edgeAttributes.map(e=>wS.toJSON(e))),t},create(e){return BS.fromPartial(e??{})},fromPartial(e){let t=zS();return t.guid=e.guid??void 0,t.name=e.name??void 0,t.nodeKeys=e.nodeKeys?.map(e=>J.fromPartial(e))||[],t.nodeAttributes=e.nodeAttributes?.map(e=>wS.fromPartial(e))||[],t.attributes=globalThis.Object.entries(e.attributes??{}).reduce((e,[t,n])=>(n!==void 0&&(e[t]=J.fromPartial(n)),e),{}),t.defaultNodeAttributes=globalThis.Object.entries(e.defaultNodeAttributes??{}).reduce((e,[t,n])=>(n!==void 0&&(e[t]=J.fromPartial(n)),e),{}),t.defaultEdgeAttributes=globalThis.Object.entries(e.defaultEdgeAttributes??{}).reduce((e,[t,n])=>(n!==void 0&&(e[t]=J.fromPartial(n)),e),{}),t.edgeU=e.edgeU?.map(e=>e)||[],t.edgeV=e.edgeV?.map(e=>e)||[],t.edgeAttributes=e.edgeAttributes?.map(e=>wS.fromPartial(e))||[],t}};function VS(){return{key:``,value:void 0}}var HS={encode(e,t=new Vx){return e.key!==``&&t.uint32(10).string(e.key),e.value!==void 0&&J.encode(e.value,t.uint32(18).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=VS();for(;n.pos>>3){case 1:if(e!==10)break;i.key=n.string();continue;case 2:if(e!==18)break;i.value=J.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{key:YS(e.key)?globalThis.String(e.key):``,value:YS(e.value)?J.fromJSON(e.value):void 0}},toJSON(e){let t={};return e.key!==``&&(t.key=e.key),e.value!==void 0&&(t.value=J.toJSON(e.value)),t},create(e){return HS.fromPartial(e??{})},fromPartial(e){let t=VS();return t.key=e.key??``,t.value=e.value!==void 0&&e.value!==null?J.fromPartial(e.value):void 0,t}};function US(){return{key:``,value:void 0}}var WS={encode(e,t=new Vx){return e.key!==``&&t.uint32(10).string(e.key),e.value!==void 0&&J.encode(e.value,t.uint32(18).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=US();for(;n.pos>>3){case 1:if(e!==10)break;i.key=n.string();continue;case 2:if(e!==18)break;i.value=J.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{key:YS(e.key)?globalThis.String(e.key):``,value:YS(e.value)?J.fromJSON(e.value):void 0}},toJSON(e){let t={};return e.key!==``&&(t.key=e.key),e.value!==void 0&&(t.value=J.toJSON(e.value)),t},create(e){return WS.fromPartial(e??{})},fromPartial(e){let t=US();return t.key=e.key??``,t.value=e.value!==void 0&&e.value!==null?J.fromPartial(e.value):void 0,t}};function GS(){return{key:``,value:void 0}}var KS={encode(e,t=new Vx){return e.key!==``&&t.uint32(10).string(e.key),e.value!==void 0&&J.encode(e.value,t.uint32(18).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=GS();for(;n.pos>>3){case 1:if(e!==10)break;i.key=n.string();continue;case 2:if(e!==18)break;i.value=J.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{key:YS(e.key)?globalThis.String(e.key):``,value:YS(e.value)?J.fromJSON(e.value):void 0}},toJSON(e){let t={};return e.key!==``&&(t.key=e.key),e.value!==void 0&&(t.value=J.toJSON(e.value)),t},create(e){return KS.fromPartial(e??{})},fromPartial(e){let t=GS();return t.key=e.key??``,t.value=e.value!==void 0&&e.value!==null?J.fromPartial(e.value):void 0,t}};function qS(e){let t=globalThis.Number(e.toString());if(t>globalThis.Number.MAX_SAFE_INTEGER)throw new globalThis.Error(`Value is larger than Number.MAX_SAFE_INTEGER`);if(t>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==25)break;i.x=n.double();continue;case 4:if(e!==33)break;i.y=n.double();continue;case 5:if(e!==41)break;i.z=n.double();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,x:Y(e.x)?globalThis.Number(e.x):0,y:Y(e.y)?globalThis.Number(e.y):0,z:Y(e.z)?globalThis.Number(e.z):0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.x!==0&&(t.x=e.x),e.y!==0&&(t.y=e.y),e.z!==0&&(t.z=e.z),t},create(e){return ZS.fromPartial(e??{})},fromPartial(e){let t=XS();return t.guid=e.guid??``,t.name=e.name??``,t.x=e.x??0,t.y=e.y??0,t.z=e.z??0,t}};function QS(){return{guid:``,name:``,x:0,y:0,z:0}}var $S={encode(e,t=new Vx){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.x!==0&&t.uint32(25).double(e.x),e.y!==0&&t.uint32(33).double(e.y),e.z!==0&&t.uint32(41).double(e.z),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=QS();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==25)break;i.x=n.double();continue;case 4:if(e!==33)break;i.y=n.double();continue;case 5:if(e!==41)break;i.z=n.double();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,x:Y(e.x)?globalThis.Number(e.x):0,y:Y(e.y)?globalThis.Number(e.y):0,z:Y(e.z)?globalThis.Number(e.z):0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.x!==0&&(t.x=e.x),e.y!==0&&(t.y=e.y),e.z!==0&&(t.z=e.z),t},create(e){return $S.fromPartial(e??{})},fromPartial(e){let t=QS();return t.guid=e.guid??``,t.name=e.name??``,t.x=e.x??0,t.y=e.y??0,t.z=e.z??0,t}};function eC(){return{guid:``,name:``,point:void 0,xaxis:void 0,yaxis:void 0}}var tC={encode(e,t=new Vx){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.point!==void 0&&ZS.encode(e.point,t.uint32(26).fork()).join(),e.xaxis!==void 0&&$S.encode(e.xaxis,t.uint32(34).fork()).join(),e.yaxis!==void 0&&$S.encode(e.yaxis,t.uint32(42).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=eC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==26)break;i.point=ZS.decode(n,n.uint32());continue;case 4:if(e!==34)break;i.xaxis=$S.decode(n,n.uint32());continue;case 5:if(e!==42)break;i.yaxis=$S.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,point:Y(e.point)?ZS.fromJSON(e.point):void 0,xaxis:Y(e.xaxis)?$S.fromJSON(e.xaxis):void 0,yaxis:Y(e.yaxis)?$S.fromJSON(e.yaxis):void 0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.point!==void 0&&(t.point=ZS.toJSON(e.point)),e.xaxis!==void 0&&(t.xaxis=$S.toJSON(e.xaxis)),e.yaxis!==void 0&&(t.yaxis=$S.toJSON(e.yaxis)),t},create(e){return tC.fromPartial(e??{})},fromPartial(e){let t=eC();return t.guid=e.guid??``,t.name=e.name??``,t.point=e.point!==void 0&&e.point!==null?ZS.fromPartial(e.point):void 0,t.xaxis=e.xaxis!==void 0&&e.xaxis!==null?$S.fromPartial(e.xaxis):void 0,t.yaxis=e.yaxis!==void 0&&e.yaxis!==null?$S.fromPartial(e.yaxis):void 0,t}};function nC(){return{guid:``,name:``,point:void 0,normal:void 0}}var rC={encode(e,t=new Vx){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.point!==void 0&&ZS.encode(e.point,t.uint32(26).fork()).join(),e.normal!==void 0&&$S.encode(e.normal,t.uint32(34).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=nC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==26)break;i.point=ZS.decode(n,n.uint32());continue;case 4:if(e!==34)break;i.normal=$S.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,point:Y(e.point)?ZS.fromJSON(e.point):void 0,normal:Y(e.normal)?$S.fromJSON(e.normal):void 0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.point!==void 0&&(t.point=ZS.toJSON(e.point)),e.normal!==void 0&&(t.normal=$S.toJSON(e.normal)),t},create(e){return rC.fromPartial(e??{})},fromPartial(e){let t=nC();return t.guid=e.guid??``,t.name=e.name??``,t.point=e.point!==void 0&&e.point!==null?ZS.fromPartial(e.point):void 0,t.normal=e.normal!==void 0&&e.normal!==null?$S.fromPartial(e.normal):void 0,t}};function iC(){return{guid:``,name:``,w:0,x:0,y:0,z:0}}var aC={encode(e,t=new Vx){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.w!==0&&t.uint32(25).double(e.w),e.x!==0&&t.uint32(33).double(e.x),e.y!==0&&t.uint32(41).double(e.y),e.z!==0&&t.uint32(49).double(e.z),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=iC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==25)break;i.w=n.double();continue;case 4:if(e!==33)break;i.x=n.double();continue;case 5:if(e!==41)break;i.y=n.double();continue;case 6:if(e!==49)break;i.z=n.double();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,w:Y(e.w)?globalThis.Number(e.w):0,x:Y(e.x)?globalThis.Number(e.x):0,y:Y(e.y)?globalThis.Number(e.y):0,z:Y(e.z)?globalThis.Number(e.z):0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.w!==0&&(t.w=e.w),e.x!==0&&(t.x=e.x),e.y!==0&&(t.y=e.y),e.z!==0&&(t.z=e.z),t},create(e){return aC.fromPartial(e??{})},fromPartial(e){let t=iC();return t.guid=e.guid??``,t.name=e.name??``,t.w=e.w??0,t.x=e.x??0,t.y=e.y??0,t.z=e.z??0,t}};function oC(){return{guid:``,name:``,start:void 0,end:void 0}}var sC={encode(e,t=new Vx){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.start!==void 0&&ZS.encode(e.start,t.uint32(26).fork()).join(),e.end!==void 0&&ZS.encode(e.end,t.uint32(34).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=oC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==26)break;i.start=ZS.decode(n,n.uint32());continue;case 4:if(e!==34)break;i.end=ZS.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,start:Y(e.start)?ZS.fromJSON(e.start):void 0,end:Y(e.end)?ZS.fromJSON(e.end):void 0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.start!==void 0&&(t.start=ZS.toJSON(e.start)),e.end!==void 0&&(t.end=ZS.toJSON(e.end)),t},create(e){return sC.fromPartial(e??{})},fromPartial(e){let t=oC();return t.guid=e.guid??``,t.name=e.name??``,t.start=e.start!==void 0&&e.start!==null?ZS.fromPartial(e.start):void 0,t.end=e.end!==void 0&&e.end!==null?ZS.fromPartial(e.end):void 0,t}};function cC(){return{guid:``,name:``,radius:0,frame:void 0}}var lC={encode(e,t=new Vx){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.radius!==0&&t.uint32(25).double(e.radius),e.frame!==void 0&&tC.encode(e.frame,t.uint32(34).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=cC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==25)break;i.radius=n.double();continue;case 4:if(e!==34)break;i.frame=tC.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,radius:Y(e.radius)?globalThis.Number(e.radius):0,frame:Y(e.frame)?tC.fromJSON(e.frame):void 0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.radius!==0&&(t.radius=e.radius),e.frame!==void 0&&(t.frame=tC.toJSON(e.frame)),t},create(e){return lC.fromPartial(e??{})},fromPartial(e){let t=cC();return t.guid=e.guid??``,t.name=e.name??``,t.radius=e.radius??0,t.frame=e.frame!==void 0&&e.frame!==null?tC.fromPartial(e.frame):void 0,t}};function uC(){return{guid:``,name:``,circle:void 0,startAngle:0,endAngle:0}}var dC={encode(e,t=new Vx){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.circle!==void 0&&lC.encode(e.circle,t.uint32(26).fork()).join(),e.startAngle!==0&&t.uint32(33).double(e.startAngle),e.endAngle!==0&&t.uint32(41).double(e.endAngle),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=uC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==26)break;i.circle=lC.decode(n,n.uint32());continue;case 4:if(e!==33)break;i.startAngle=n.double();continue;case 5:if(e!==41)break;i.endAngle=n.double();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,circle:Y(e.circle)?lC.fromJSON(e.circle):void 0,startAngle:Y(e.startAngle)?globalThis.Number(e.startAngle):Y(e.start_angle)?globalThis.Number(e.start_angle):0,endAngle:Y(e.endAngle)?globalThis.Number(e.endAngle):Y(e.end_angle)?globalThis.Number(e.end_angle):0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.circle!==void 0&&(t.circle=lC.toJSON(e.circle)),e.startAngle!==0&&(t.startAngle=e.startAngle),e.endAngle!==0&&(t.endAngle=e.endAngle),t},create(e){return dC.fromPartial(e??{})},fromPartial(e){let t=uC();return t.guid=e.guid??``,t.name=e.name??``,t.circle=e.circle!==void 0&&e.circle!==null?lC.fromPartial(e.circle):void 0,t.startAngle=e.startAngle??0,t.endAngle=e.endAngle??0,t}};function fC(){return{guid:``,name:``,major:0,minor:0,frame:void 0}}var pC={encode(e,t=new Vx){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.major!==0&&t.uint32(25).double(e.major),e.minor!==0&&t.uint32(33).double(e.minor),e.frame!==void 0&&tC.encode(e.frame,t.uint32(42).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=fC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==25)break;i.major=n.double();continue;case 4:if(e!==33)break;i.minor=n.double();continue;case 5:if(e!==42)break;i.frame=tC.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,major:Y(e.major)?globalThis.Number(e.major):0,minor:Y(e.minor)?globalThis.Number(e.minor):0,frame:Y(e.frame)?tC.fromJSON(e.frame):void 0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.major!==0&&(t.major=e.major),e.minor!==0&&(t.minor=e.minor),e.frame!==void 0&&(t.frame=tC.toJSON(e.frame)),t},create(e){return pC.fromPartial(e??{})},fromPartial(e){let t=fC();return t.guid=e.guid??``,t.name=e.name??``,t.major=e.major??0,t.minor=e.minor??0,t.frame=e.frame!==void 0&&e.frame!==null?tC.fromPartial(e.frame):void 0,t}};function mC(){return{guid:``,name:``,focal:0,frame:void 0}}var hC={encode(e,t=new Vx){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.focal!==0&&t.uint32(25).double(e.focal),e.frame!==void 0&&tC.encode(e.frame,t.uint32(34).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=mC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==25)break;i.focal=n.double();continue;case 4:if(e!==34)break;i.frame=tC.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,focal:Y(e.focal)?globalThis.Number(e.focal):0,frame:Y(e.frame)?tC.fromJSON(e.frame):void 0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.focal!==0&&(t.focal=e.focal),e.frame!==void 0&&(t.frame=tC.toJSON(e.frame)),t},create(e){return hC.fromPartial(e??{})},fromPartial(e){let t=mC();return t.guid=e.guid??``,t.name=e.name??``,t.focal=e.focal??0,t.frame=e.frame!==void 0&&e.frame!==null?tC.fromPartial(e.frame):void 0,t}};function gC(){return{guid:``,name:``,major:0,minor:0,frame:void 0}}var _C={encode(e,t=new Vx){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.major!==0&&t.uint32(25).double(e.major),e.minor!==0&&t.uint32(33).double(e.minor),e.frame!==void 0&&tC.encode(e.frame,t.uint32(42).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=gC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==25)break;i.major=n.double();continue;case 4:if(e!==33)break;i.minor=n.double();continue;case 5:if(e!==42)break;i.frame=tC.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,major:Y(e.major)?globalThis.Number(e.major):0,minor:Y(e.minor)?globalThis.Number(e.minor):0,frame:Y(e.frame)?tC.fromJSON(e.frame):void 0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.major!==0&&(t.major=e.major),e.minor!==0&&(t.minor=e.minor),e.frame!==void 0&&(t.frame=tC.toJSON(e.frame)),t},create(e){return _C.fromPartial(e??{})},fromPartial(e){let t=gC();return t.guid=e.guid??``,t.name=e.name??``,t.major=e.major??0,t.minor=e.minor??0,t.frame=e.frame!==void 0&&e.frame!==null?tC.fromPartial(e.frame):void 0,t}};function vC(){return{guid:``,name:``,points:[],degree:0}}var yC={encode(e,t=new Vx){e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),t.uint32(26).fork();for(let n of e.points)t.double(n);return t.join(),e.degree!==0&&t.uint32(32).int32(e.degree),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=vC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e===25){i.points.push(n.double());continue}if(e===26){let e=n.uint32()+n.pos;for(;n.posglobalThis.Number(e)):[],degree:Y(e.degree)?globalThis.Number(e.degree):0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.points?.length&&(t.points=e.points),e.degree!==0&&(t.degree=Math.round(e.degree)),t},create(e){return yC.fromPartial(e??{})},fromPartial(e){let t=vC();return t.guid=e.guid??``,t.name=e.name??``,t.points=e.points?.map(e=>e)||[],t.degree=e.degree??0,t}};function bC(){return{guid:``,name:``,points:[]}}var xC={encode(e,t=new Vx){e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),t.uint32(26).fork();for(let n of e.points)t.double(n);return t.join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=bC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e===25){i.points.push(n.double());continue}if(e===26){let e=n.uint32()+n.pos;for(;n.posglobalThis.Number(e)):[]}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.points?.length&&(t.points=e.points),t},create(e){return xC.fromPartial(e??{})},fromPartial(e){let t=bC();return t.guid=e.guid??``,t.name=e.name??``,t.points=e.points?.map(e=>e)||[],t}};function SC(){return{guid:``,name:``,points:[]}}var CC={encode(e,t=new Vx){e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),t.uint32(26).fork();for(let n of e.points)t.double(n);return t.join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=SC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e===25){i.points.push(n.double());continue}if(e===26){let e=n.uint32()+n.pos;for(;n.posglobalThis.Number(e)):[]}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.points?.length&&(t.points=e.points),t},create(e){return CC.fromPartial(e??{})},fromPartial(e){let t=SC();return t.guid=e.guid??``,t.name=e.name??``,t.points=e.points?.map(e=>e)||[],t}};function wC(){return{guid:``,name:``,frame:void 0,xsize:0,ysize:0,zsize:0}}var TC={encode(e,t=new Vx){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.frame!==void 0&&tC.encode(e.frame,t.uint32(26).fork()).join(),e.xsize!==0&&t.uint32(33).double(e.xsize),e.ysize!==0&&t.uint32(41).double(e.ysize),e.zsize!==0&&t.uint32(49).double(e.zsize),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=wC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==26)break;i.frame=tC.decode(n,n.uint32());continue;case 4:if(e!==33)break;i.xsize=n.double();continue;case 5:if(e!==41)break;i.ysize=n.double();continue;case 6:if(e!==49)break;i.zsize=n.double();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,frame:Y(e.frame)?tC.fromJSON(e.frame):void 0,xsize:Y(e.xsize)?globalThis.Number(e.xsize):0,ysize:Y(e.ysize)?globalThis.Number(e.ysize):0,zsize:Y(e.zsize)?globalThis.Number(e.zsize):0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.frame!==void 0&&(t.frame=tC.toJSON(e.frame)),e.xsize!==0&&(t.xsize=e.xsize),e.ysize!==0&&(t.ysize=e.ysize),e.zsize!==0&&(t.zsize=e.zsize),t},create(e){return TC.fromPartial(e??{})},fromPartial(e){let t=wC();return t.guid=e.guid??``,t.name=e.name??``,t.frame=e.frame!==void 0&&e.frame!==null?tC.fromPartial(e.frame):void 0,t.xsize=e.xsize??0,t.ysize=e.ysize??0,t.zsize=e.zsize??0,t}};function EC(){return{guid:``,name:``,radius:0,frame:void 0}}var DC={encode(e,t=new Vx){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.radius!==0&&t.uint32(25).double(e.radius),e.frame!==void 0&&tC.encode(e.frame,t.uint32(34).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=EC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==25)break;i.radius=n.double();continue;case 4:if(e!==34)break;i.frame=tC.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,radius:Y(e.radius)?globalThis.Number(e.radius):0,frame:Y(e.frame)?tC.fromJSON(e.frame):void 0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.radius!==0&&(t.radius=e.radius),e.frame!==void 0&&(t.frame=tC.toJSON(e.frame)),t},create(e){return DC.fromPartial(e??{})},fromPartial(e){let t=EC();return t.guid=e.guid??``,t.name=e.name??``,t.radius=e.radius??0,t.frame=e.frame!==void 0&&e.frame!==null?tC.fromPartial(e.frame):void 0,t}};function OC(){return{guid:``,name:``,radius:0,height:0,frame:void 0}}var kC={encode(e,t=new Vx){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.radius!==0&&t.uint32(25).double(e.radius),e.height!==0&&t.uint32(33).double(e.height),e.frame!==void 0&&tC.encode(e.frame,t.uint32(42).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=OC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==25)break;i.radius=n.double();continue;case 4:if(e!==33)break;i.height=n.double();continue;case 5:if(e!==42)break;i.frame=tC.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,radius:Y(e.radius)?globalThis.Number(e.radius):0,height:Y(e.height)?globalThis.Number(e.height):0,frame:Y(e.frame)?tC.fromJSON(e.frame):void 0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.radius!==0&&(t.radius=e.radius),e.height!==0&&(t.height=e.height),e.frame!==void 0&&(t.frame=tC.toJSON(e.frame)),t},create(e){return kC.fromPartial(e??{})},fromPartial(e){let t=OC();return t.guid=e.guid??``,t.name=e.name??``,t.radius=e.radius??0,t.height=e.height??0,t.frame=e.frame!==void 0&&e.frame!==null?tC.fromPartial(e.frame):void 0,t}};function AC(){return{guid:``,name:``,radius:0,height:0,frame:void 0}}var jC={encode(e,t=new Vx){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.radius!==0&&t.uint32(25).double(e.radius),e.height!==0&&t.uint32(33).double(e.height),e.frame!==void 0&&tC.encode(e.frame,t.uint32(42).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=AC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==25)break;i.radius=n.double();continue;case 4:if(e!==33)break;i.height=n.double();continue;case 5:if(e!==42)break;i.frame=tC.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,radius:Y(e.radius)?globalThis.Number(e.radius):0,height:Y(e.height)?globalThis.Number(e.height):0,frame:Y(e.frame)?tC.fromJSON(e.frame):void 0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.radius!==0&&(t.radius=e.radius),e.height!==0&&(t.height=e.height),e.frame!==void 0&&(t.frame=tC.toJSON(e.frame)),t},create(e){return jC.fromPartial(e??{})},fromPartial(e){let t=AC();return t.guid=e.guid??``,t.name=e.name??``,t.radius=e.radius??0,t.height=e.height??0,t.frame=e.frame!==void 0&&e.frame!==null?tC.fromPartial(e.frame):void 0,t}};function MC(){return{guid:``,name:``,radius:0,height:0,frame:void 0}}var NC={encode(e,t=new Vx){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.radius!==0&&t.uint32(25).double(e.radius),e.height!==0&&t.uint32(33).double(e.height),e.frame!==void 0&&tC.encode(e.frame,t.uint32(42).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=MC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==25)break;i.radius=n.double();continue;case 4:if(e!==33)break;i.height=n.double();continue;case 5:if(e!==42)break;i.frame=tC.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,radius:Y(e.radius)?globalThis.Number(e.radius):0,height:Y(e.height)?globalThis.Number(e.height):0,frame:Y(e.frame)?tC.fromJSON(e.frame):void 0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.radius!==0&&(t.radius=e.radius),e.height!==0&&(t.height=e.height),e.frame!==void 0&&(t.frame=tC.toJSON(e.frame)),t},create(e){return NC.fromPartial(e??{})},fromPartial(e){let t=MC();return t.guid=e.guid??``,t.name=e.name??``,t.radius=e.radius??0,t.height=e.height??0,t.frame=e.frame!==void 0&&e.frame!==null?tC.fromPartial(e.frame):void 0,t}};function PC(){return{guid:``,name:``,radiusAxis:0,radiusPipe:0,frame:void 0}}var FC={encode(e,t=new Vx){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.radiusAxis!==0&&t.uint32(25).double(e.radiusAxis),e.radiusPipe!==0&&t.uint32(33).double(e.radiusPipe),e.frame!==void 0&&tC.encode(e.frame,t.uint32(42).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=PC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==25)break;i.radiusAxis=n.double();continue;case 4:if(e!==33)break;i.radiusPipe=n.double();continue;case 5:if(e!==42)break;i.frame=tC.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,radiusAxis:Y(e.radiusAxis)?globalThis.Number(e.radiusAxis):Y(e.radius_axis)?globalThis.Number(e.radius_axis):0,radiusPipe:Y(e.radiusPipe)?globalThis.Number(e.radiusPipe):Y(e.radius_pipe)?globalThis.Number(e.radius_pipe):0,frame:Y(e.frame)?tC.fromJSON(e.frame):void 0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.radiusAxis!==0&&(t.radiusAxis=e.radiusAxis),e.radiusPipe!==0&&(t.radiusPipe=e.radiusPipe),e.frame!==void 0&&(t.frame=tC.toJSON(e.frame)),t},create(e){return FC.fromPartial(e??{})},fromPartial(e){let t=PC();return t.guid=e.guid??``,t.name=e.name??``,t.radiusAxis=e.radiusAxis??0,t.radiusPipe=e.radiusPipe??0,t.frame=e.frame!==void 0&&e.frame!==null?tC.fromPartial(e.frame):void 0,t}};function IC(){return{guid:``,name:``,points:[]}}var LC={encode(e,t=new Vx){e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),t.uint32(26).fork();for(let n of e.points)t.double(n);return t.join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=IC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e===25){i.points.push(n.double());continue}if(e===26){let e=n.uint32()+n.pos;for(;n.posglobalThis.Number(e)):[]}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.points?.length&&(t.points=e.points),t},create(e){return LC.fromPartial(e??{})},fromPartial(e){let t=IC();return t.guid=e.guid??``,t.name=e.name??``,t.points=e.points?.map(e=>e)||[],t}};function RC(){return{guid:``,name:``,matrix:[]}}var zC={encode(e,t=new Vx){e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),t.uint32(26).fork();for(let n of e.matrix)t.double(n);return t.join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=RC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e===25){i.matrix.push(n.double());continue}if(e===26){let e=n.uint32()+n.pos;for(;n.posglobalThis.Number(e)):[]}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.matrix?.length&&(t.matrix=e.matrix),t},create(e){return zC.fromPartial(e??{})},fromPartial(e){let t=RC();return t.guid=e.guid??``,t.name=e.name??``,t.matrix=e.matrix?.map(e=>e)||[],t}};function BC(){return{guid:``,name:``,translationVector:void 0}}var VC={encode(e,t=new Vx){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.translationVector!==void 0&&$S.encode(e.translationVector,t.uint32(26).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=BC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==26)break;i.translationVector=$S.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,translationVector:Y(e.translationVector)?$S.fromJSON(e.translationVector):Y(e.translation_vector)?$S.fromJSON(e.translation_vector):void 0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.translationVector!==void 0&&(t.translationVector=$S.toJSON(e.translationVector)),t},create(e){return VC.fromPartial(e??{})},fromPartial(e){let t=BC();return t.guid=e.guid??``,t.name=e.name??``,t.translationVector=e.translationVector!==void 0&&e.translationVector!==null?$S.fromPartial(e.translationVector):void 0,t}};function HC(){return{guid:``,name:``,matrix:[]}}var UC={encode(e,t=new Vx){e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),t.uint32(26).fork();for(let n of e.matrix)t.double(n);return t.join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=HC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e===25){i.matrix.push(n.double());continue}if(e===26){let e=n.uint32()+n.pos;for(;n.posglobalThis.Number(e)):[]}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.matrix?.length&&(t.matrix=e.matrix),t},create(e){return UC.fromPartial(e??{})},fromPartial(e){let t=HC();return t.guid=e.guid??``,t.name=e.name??``,t.matrix=e.matrix?.map(e=>e)||[],t}};function WC(){return{guid:``,name:``,matrix:[]}}var GC={encode(e,t=new Vx){e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),t.uint32(26).fork();for(let n of e.matrix)t.double(n);return t.join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=WC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e===25){i.matrix.push(n.double());continue}if(e===26){let e=n.uint32()+n.pos;for(;n.posglobalThis.Number(e)):[]}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.matrix?.length&&(t.matrix=e.matrix),t},create(e){return GC.fromPartial(e??{})},fromPartial(e){let t=WC();return t.guid=e.guid??``,t.name=e.name??``,t.matrix=e.matrix?.map(e=>e)||[],t}};function KC(){return{guid:``,name:``,matrix:[]}}var qC={encode(e,t=new Vx){e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),t.uint32(26).fork();for(let n of e.matrix)t.double(n);return t.join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=KC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e===25){i.matrix.push(n.double());continue}if(e===26){let e=n.uint32()+n.pos;for(;n.posglobalThis.Number(e)):[]}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.matrix?.length&&(t.matrix=e.matrix),t},create(e){return qC.fromPartial(e??{})},fromPartial(e){let t=KC();return t.guid=e.guid??``,t.name=e.name??``,t.matrix=e.matrix?.map(e=>e)||[],t}};function JC(){return{guid:``,name:``,matrix:[]}}var YC={encode(e,t=new Vx){e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),t.uint32(26).fork();for(let n of e.matrix)t.double(n);return t.join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=JC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e===25){i.matrix.push(n.double());continue}if(e===26){let e=n.uint32()+n.pos;for(;n.posglobalThis.Number(e)):[]}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.matrix?.length&&(t.matrix=e.matrix),t},create(e){return YC.fromPartial(e??{})},fromPartial(e){let t=JC();return t.guid=e.guid??``,t.name=e.name??``,t.matrix=e.matrix?.map(e=>e)||[],t}};function XC(){return{guid:``,name:``,matrix:[]}}var ZC={encode(e,t=new Vx){e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),t.uint32(26).fork();for(let n of e.matrix)t.double(n);return t.join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=XC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e===25){i.matrix.push(n.double());continue}if(e===26){let e=n.uint32()+n.pos;for(;n.posglobalThis.Number(e)):[]}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.matrix?.length&&(t.matrix=e.matrix),t},create(e){return ZC.fromPartial(e??{})},fromPartial(e){let t=XC();return t.guid=e.guid??``,t.name=e.name??``,t.matrix=e.matrix?.map(e=>e)||[],t}};function Y(e){return e!=null}var QC=class{data;constructor(e){let t;if(t=`bytes`in e?$C(e.bytes):e.data,t.x===void 0||t.y===void 0||t.z===void 0)throw Error(`Invalid PointData: Missing required properties (x, y, or z).`);this.data=t}get bytes(){return ew(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get x(){return this.data.x}get y(){return this.data.y}get z(){return this.data.z}};function $C(e){return ZS.decode(e)}function ew(e){return ZS.encode(e).finish()}function tw(e){if(e.length%3!=0)throw Error(`Invalid coordinate array: expected x, y, z triplets.`);let t=[];for(let n=0;ne+t,0);if(t.vertices.length%3!=0||n!==t.faceVertices.length)throw Error(`Invalid MeshData: malformed vertices or face arrays.`);this.data=t}get bytes(){return pw(this.data)}get guid(){return this.data.guid?this.data.guid:``}get name(){return this.data.name?this.data.name:``}get vertices(){return this._vertices||=tw(this.data.vertices),this._vertices}get faces(){let e=[],t=0;for(let n of this.data.faceSizes){let r=this.data.faceVertices.slice(t,t+n);e.push(new cw({data:{indices:r}})),t+=n}return e}};function fw(e){return ES.decode(e)}function pw(e){return ES.encode(e).finish()}var mw=class{data;constructor(e){this.data=`bytes`in e?hw(e.bytes):e.data}get bytes(){return gw(this.data)}get guid(){return this.data.guid||``}get name(){return this.data.name||``}get nodeKeys(){return this.data.nodeKeys.map(nE)}};function hw(e){return BS.decode(e)}function gw(e){return BS.encode(e).finish()}var _w=class{data;constructor(e){let t;if(t=`bytes`in e?vw(e.bytes):e.data,t.x===void 0||t.y===void 0||t.z===void 0)throw Error(`Invalid VectorData: Missing required properties (x, y, or z).`);this.data=t}get bytes(){return yw(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get x(){return this.data.x}get y(){return this.data.y}get z(){return this.data.z}};function vw(e){return $S.decode(e)}function yw(e){return $S.encode(e).finish()}var bw=class{data;_point;_xaxis;_yaxis;constructor(e){let t;if(t=`bytes`in e?xw(e.bytes):e.data,!t.point||!t.xaxis||!t.yaxis)throw Error(`Invalid FrameData: Missing required properties (point, xaxis, or yaxis).`);this.data=t}get bytes(){return Sw(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get point(){return this._point||=new QC({data:this.data.point}),this._point}get xaxis(){return this._xaxis||=new _w({data:this.data.xaxis}),this._xaxis}get yaxis(){return this._yaxis||=new _w({data:this.data.yaxis}),this._yaxis}};function xw(e){return tC.decode(e)}function Sw(e){return tC.encode(e).finish()}var Cw=class{data;_frame;constructor(e){let t;if(t=`bytes`in e?ww(e.bytes):e.data,!t.radius||!t.frame)throw Error(`Invalid CircleData: Missing required properties (radius or frame).`);this.data=t}get bytes(){return Tw(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get radius(){return this.data.radius}get frame(){return this._frame||=new bw({data:this.data.frame}),this._frame}};function ww(e){return lC.decode(e)}function Tw(e){return lC.encode(e).finish()}var Ew=class{data;_circle;constructor(e){let t;if(t=`bytes`in e?Dw(e.bytes):e.data,!t.startAngle||!t.endAngle||!t.circle)throw Error(`Invalid ArcData: Missing required properties (startAngle, endAngle, or circle).`);this.data=t}get bytes(){return Ow(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get startAngle(){return this.data.startAngle}get endAngle(){return this.data.endAngle}get circle(){return this._circle||=new Cw({data:this.data.circle}),this._circle}};function Dw(e){return dC.decode(e)}function Ow(e){return dC.encode(e).finish()}var kw=class{data;_points;constructor(e){let t;if(t=`bytes`in e?Aw(e.bytes):e.data,!t.points||t.points.length===0)throw Error(`Invalid BezierData: Missing required property points.`);this.data=t}get bytes(){return jw(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get points(){return this._points||=tw(this.data.points),this._points}};function Aw(e){return yC.decode(e)}function jw(e){return yC.encode(e).finish()}var Mw=class{data;_frame;constructor(e){let t;if(t=`bytes`in e?Nw(e.bytes):e.data,!t.xsize||!t.ysize||!t.zsize||!t.frame)throw Error(`Invalid BoxData: Missing required properties (xsize, ysize, zsize, or frame).`);this.data=t}get bytes(){return Pw(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get xsize(){return this.data.xsize}get ysize(){return this.data.ysize}get zsize(){return this.data.zsize}get frame(){return this._frame||=new bw({data:this.data.frame}),this._frame}};function Nw(e){return TC.decode(e)}function Pw(e){return TC.encode(e).finish()}var Fw=class{data;_frame;constructor(e){let t;if(t=`bytes`in e?Iw(e.bytes):e.data,!t.radius||!t.height||!t.frame)throw Error(`Invalid CapsuleData: Missing required properties (radius, height, or frame).`);this.data=t}get bytes(){return Lw(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get radius(){return this.data.radius}get height(){return this.data.height}get frame(){return this._frame||=new bw({data:this.data.frame}),this._frame}};function Iw(e){return NC.decode(e)}function Lw(e){return NC.encode(e).finish()}var Rw=class{data;_frame;constructor(e){let t;if(t=`bytes`in e?zw(e.bytes):e.data,!t.radius||!t.height||!t.frame)throw Error(`Invalid ConeData: Missing required properties (radius, height, or frame).`);this.data=t}get bytes(){return Bw(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get radius(){return this.data.radius}get height(){return this.data.height}get frame(){return this._frame||=new bw({data:this.data.frame}),this._frame}};function zw(e){return jC.decode(e)}function Bw(e){return jC.encode(e).finish()}var Vw=class{data;_frame;constructor(e){let t;if(t=`bytes`in e?Hw(e.bytes):e.data,!t.radius||!t.height||!t.frame)throw Error(`Invalid CylinderData: Missing required properties (radius, height, or frame).`);this.data=t}get bytes(){return Uw(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get radius(){return this.data.radius}get height(){return this.data.height}get frame(){return this._frame||=new bw({data:this.data.frame}),this._frame}};function Hw(e){return kC.decode(e)}function Uw(e){return kC.encode(e).finish()}var Ww=class{data;_frame;constructor(e){let t;if(t=`bytes`in e?Gw(e.bytes):e.data,!t.major||!t.minor||!t.frame)throw Error(`Invalid EllipseData: Missing required properties (major, minor, or frame).`);this.data=t}get bytes(){return Kw(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get major(){return this.data.major}get minor(){return this.data.minor}get frame(){return this._frame||=new bw({data:this.data.frame}),this._frame}};function Gw(e){return pC.decode(e)}function Kw(e){return pC.encode(e).finish()}var qw=class{data;_frame;constructor(e){let t;if(t=`bytes`in e?Jw(e.bytes):e.data,!t.major||!t.minor||!t.frame)throw Error(`Invalid HyperbolaData: Missing required properties (a, b, or frame).`);this.data=t}get bytes(){return Yw(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get major(){return this.data.major}get minor(){return this.data.minor}get frame(){return this._frame||=new bw({data:this.data.frame}),this._frame}};function Jw(e){return _C.decode(e)}function Yw(e){return _C.encode(e).finish()}var Xw=class{data;_start;_end;constructor(e){let t;if(t=`bytes`in e?Zw(e.bytes):e.data,!t.start||!t.end)throw Error(`Invalid LineData: Missing required properties (start or end).`);this.data=t}get bytes(){return Qw(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get start(){return this._start||=new QC({data:this.data.start}),this._start}get end(){return this._end||=new QC({data:this.data.end}),this._end}};function Zw(e){return sC.decode(e)}function Qw(e){return sC.encode(e).finish()}var $w=class{data;_frame;constructor(e){let t;if(t=`bytes`in e?eT(e.bytes):e.data,!t.focal||!t.frame)throw Error(`Invalid ParabolaData: Missing required properties (focal_length or frame).`);this.data=t}get bytes(){return tT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get focal(){return this.data.focal}get frame(){return this._frame||=new bw({data:this.data.frame}),this._frame}};function eT(e){return hC.decode(e)}function tT(e){return hC.encode(e).finish()}var nT=class{data;_point;_normal;constructor(e){let t;if(t=`bytes`in e?rT(e.bytes):e.data,!t.point||!t.normal)throw Error(`Invalid PlaneData: Missing required properties (point or normal).`);this.data=t}get bytes(){return iT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get point(){return this._point||=new QC({data:this.data.point}),this._point}get normal(){return this._normal||=new _w({data:this.data.normal}),this._normal}};function rT(e){return rC.decode(e)}function iT(e){return rC.encode(e).finish()}var aT=class{data;_points;constructor(e){let t;if(t=`bytes`in e?oT(e.bytes):e.data,!t.points||t.points.length===0)throw Error(`Invalid PointcloudData: Missing required property points.`);this.data=t}get bytes(){return sT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get points(){return this._points||=tw(this.data.points),this._points}};function oT(e){return LC.decode(e)}function sT(e){return LC.encode(e).finish()}var cT=class{data;_points;constructor(e){let t;if(t=`bytes`in e?lT(e.bytes):e.data,!t.points||t.points.length===0)throw Error(`Invalid PolygonData: Missing required property points.`);this.data=t}get bytes(){return uT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get points(){return this._points||=tw(this.data.points),this._points}};function lT(e){return CC.decode(e)}function uT(e){return CC.encode(e).finish()}var dT=class{data;_points;constructor(e){let t;if(t=`bytes`in e?fT(e.bytes):e.data,!t.points||t.points.length===0)throw Error(`Invalid PolylineData: Missing required property points.`);this.data=t}get bytes(){return pT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get points(){return this._points||=tw(this.data.points),this._points}};function fT(e){return xC.decode(e)}function pT(e){return xC.encode(e).finish()}var mT=class{data;constructor(e){let t;if(t=`bytes`in e?hT(e.bytes):e.data,!t.matrix)throw Error(`Invalid ProjectionData: Missing required properties (direction).`);this.data=t}get bytes(){return gT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get matrix(){return this.data.matrix}};function hT(e){return ZC.decode(e)}function gT(e){return ZC.encode(e).finish()}var _T=class{data;constructor(e){let t;if(t=`bytes`in e?vT(e.bytes):e.data,!t.w||!t.x||!t.y||!t.z)throw Error(`Invalid QuaternionData: Missing required properties (w, x, y, or z).`);this.data=t}get bytes(){return yT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get w(){return this.data.w}get x(){return this.data.x}get y(){return this.data.y}get z(){return this.data.z}};function vT(e){return aC.decode(e)}function yT(e){return aC.encode(e).finish()}var bT=class{data;constructor(e){let t;if(t=`bytes`in e?xT(e.bytes):e.data,!t.matrix)throw Error(`Invalid ReflectionData: Missing required properties (frame).`);this.data=t}get bytes(){return ST(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get matrix(){return this.data.matrix}};function xT(e){return qC.decode(e)}function ST(e){return qC.encode(e).finish()}var CT=class{data;constructor(e){let t;if(t=`bytes`in e?wT(e.bytes):e.data,t.matrix.length!==16)throw Error(`Invalid RotationData: matrix must contain 16 values.`);this.data=t}get bytes(){return TT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get matrix(){return this.data.matrix}};function wT(e){return UC.decode(e)}function TT(e){return UC.encode(e).finish()}var ET=class{data;constructor(e){let t;if(t=`bytes`in e?DT(e.bytes):e.data,!t.matrix)throw Error(`Invalid ScaleData: Missing required properties (factor or frame).`);this.data=t}get bytes(){return OT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get matrix(){return this.data.matrix}};function DT(e){return GC.decode(e)}function OT(e){return GC.encode(e).finish()}var kT=class{data;constructor(e){let t;if(t=`bytes`in e?AT(e.bytes):e.data,!t.matrix)throw Error(`Invalid ShearData: Missing required properties (matrix).`);this.data=t}get bytes(){return jT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get matrix(){return this.data.matrix}};function AT(e){return YC.decode(e)}function jT(e){return YC.encode(e).finish()}var MT=class{data;_frame;constructor(e){let t;if(t=`bytes`in e?NT(e.bytes):e.data,!t.radius||!t.frame)throw Error(`Invalid SphereData: Missing required properties (radius or frame).`);this.data=t}get bytes(){return PT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get radius(){return this.data.radius}get frame(){return this._frame||=new bw({data:this.data.frame}),this._frame}};function NT(e){return DC.decode(e)}function PT(e){return DC.encode(e).finish()}var FT=class{data;_frame;constructor(e){let t;if(t=`bytes`in e?IT(e.bytes):e.data,!t.radiusAxis||!t.radiusPipe||!t.frame)throw Error(`Invalid TorusData: Missing required properties (major, minor, or frame).`);this.data=t}get bytes(){return LT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get radiusAxis(){return this.data.radiusAxis}get radiusPipe(){return this.data.radiusPipe}get frame(){return this._frame||=new bw({data:this.data.frame}),this._frame}};function IT(e){return FC.decode(e)}function LT(e){return FC.encode(e).finish()}var RT=class{data;constructor(e){let t;t=`bytes`in e?zT(e.bytes):e.data,this.data=t}get bytes(){return BT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get matrix(){return this.data.matrix}};function zT(e){return zC.decode(e)}function BT(e){return zC.encode(e).finish()}var VT=class{data;_translationVector;constructor(e){let t;if(t=`bytes`in e?HT(e.bytes):e.data,!t.translationVector)throw Error(`Invalid TranslationData: Missing required properties (vector or frame).`);this.data=t}get bytes(){return UT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get translationVector(){return this._translationVector||=new _w({data:this.data.translationVector}),this._translationVector}};function HT(e){return VC.decode(e)}function UT(e){return VC.encode(e).finish()}var WT=class{data;constructor(e){let t;t=`bytes`in e?GT(e.bytes):e.data,this.data=t}get bytes(){return KT(this.data)}get asDict(){return oE(this.data)}};function GT(e){return hS.decode(e)}function KT(e){return hS.encode(e).finish()}var qT=class{data;constructor(e){let t;t=`bytes`in e?JT(e.bytes):e.data,this.data=t}get bytes(){return YT(this.data)}get asList(){return aE(this.data)}};function JT(e){return pS.decode(e)}function YT(e){return pS.encode(e).finish()}var XT=new Map([[`ArcData`,Ew],[`BezierData`,kw],[`BoxData`,Mw],[`CapsuleData`,Fw],[`CircleData`,Cw],[`ConeData`,Rw],[`CylinderData`,Vw],[`EllipseData`,Ww],[`FrameData`,bw],[`HyperbolaData`,qw],[`LineData`,Xw],[`ParabolaData`,$w],[`PlaneData`,nT],[`PointData`,QC],[`PointcloudData`,aT],[`PolygonData`,cT],[`PolylineData`,dT],[`ProjectionData`,mT],[`QuaternionData`,_T],[`ReflectionData`,bT],[`RotationData`,CT],[`ScaleData`,ET],[`ShearData`,kT],[`SphereData`,MT],[`TorusData`,FT],[`TransformationData`,RT],[`TranslationData`,VT],[`VectorData`,_w],[`MeshData`,dw],[`PolyhedronData`,aw],[`GraphData`,mw],[`DictData`,WT],[`ListData`,qT]]),ZT=`1.0.0`;function QT(e){return nE($T(e))}function $T(e){if(e.length===0)throw Error(`Binary data is empty.`);let t=yS.decode(e);if(tE(t.version),!t.data)throw Error(`Message contains no data.`);return t.data}function eE(e){let t=e.split(`.`);return t[0]===`0`&&t.length>=2?`${t[0]}.${t[1]}`:t[0]}function tE(e){if(!e)throw Error(`No version tag in the message; cannot verify compas_pb wire-format compatibility (reader is ${ZT}).`);if(eE(e)!==eE(`1.0.0`))throw Error(`Incompatible compas_pb wire format: message was written by version ${e} but this reader is ${ZT}.`)}function nE(e){if(e.value!==void 0)return rE(e.value);if(e.intValue!==void 0)return e.intValue;if(e.doubleValue!==void 0)return e.doubleValue;if(e.dictValue!==void 0)return oE(e.dictValue);if(e.listValue!==void 0)return aE(e.listValue);if(e.message!==void 0)return iE(e.message);if(e.fallback?.data!==void 0)return oE(e.fallback.data)}function rE(e){if(typeof e!=`string`||!e.startsWith(`base64:`))return e;let t=globalThis.atob(e.slice(7));return Uint8Array.from(t,e=>e.charCodeAt(0))}function iE(e){let t=e.typeUrl.split(`.`).slice(-1)[0];if(t===`ListData`)return aE(pS.decode(e.value));if(t===`DictData`)return oE(hS.decode(e.value));let n=XT.get(t);return n?new n({bytes:e.value}):null}function aE(e){return e.items.map(nE)}function oE(e){let t={};for(let n of Object.keys(e.items))t[n]=nE(e.items[n]);return t}function sE(e){return QT(e)}var cE=class{options;socket=null;retryTimer=null;stopped=!0;constructor(e){this.options=e}start(){this.stopped&&(this.stopped=!1,this.connect())}send(e){return this.socket?.readyState===WebSocket.OPEN?(this.socket.send(e instanceof ArrayBuffer||ArrayBuffer.isView(e)||typeof e==`string`?e:JSON.stringify(e)),!0):this.options.send?.(e)!==!1&&this.options.send!==void 0}dispose(){this.stopped=!0,this.retryTimer!==null&&(clearTimeout(this.retryTimer),this.retryTimer=null);let e=this.socket;this.socket=null,e&&(e.onclose=null,e.close())}connect(){if(this.stopped)return;let e=new WebSocket(this.buildUrl());this.socket=e,e.binaryType=`arraybuffer`,e.onmessage=e=>{e.data instanceof ArrayBuffer&&this.options.dispatch(new Uint8Array(e.data))},e.onerror=()=>{this.options.onError(Error(`WebSocket connection failed: ${this.buildUrl()}`))},e.onclose=()=>{this.stopped||(this.retryTimer=setTimeout(()=>this.connect(),1e3))}}buildUrl(){let e=new URLSearchParams(window.location.search),t=this.options.host??e.get(`ws_host`)??`127.0.0.1`,n=this.options.port??Number(e.get(`ws_port`)??9001),r=this.options.workspace??e.get(`workspace`)??`main`;return`${this.options.secure??window.location.protocol===`https:`?`wss`:`ws`}://${t}:${n}/ws?workspace=${encodeURIComponent(r)}`}},lE={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},uE={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},dE=1e3,fE=1001,pE=1002,mE=1003,hE=1004,gE=1005,_E=1006,vE=1007,yE=1008,bE=1009,xE=1010,SE=1011,CE=1012,wE=1013,TE=1014,EE=1015,DE=1016,OE=1017,kE=1018,AE=1020,jE=35902,ME=35899,NE=1021,PE=1022,FE=1023,IE=1026,LE=1027,RE=1028,zE=1029,BE=1030,VE=1031,HE=1033,UE=33776,WE=33777,GE=33778,KE=33779,qE=35840,JE=35841,YE=35842,XE=35843,ZE=36196,QE=37492,$E=37496,eD=37488,tD=37489,nD=37490,rD=37491,iD=37808,aD=37809,oD=37810,sD=37811,cD=37812,lD=37813,uD=37814,dD=37815,fD=37816,pD=37817,mD=37818,hD=37819,gD=37820,_D=37821,vD=36492,yD=36494,bD=36495,xD=36283,SD=36284,CD=36285,wD=36286,TD=2300,ED=2301,DD=2302,OD=2400,kD=2401,AD=2402,jD=3200,MD=`srgb`,ND=`srgb-linear`,PD=`linear`,FD=`srgb`,ID=7680,LD=35044,RD=2e3;function zD(e){for(let t=e.length-1;t>=0;--t)if(e[t]>=65535)return!0;return!1}function BD(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function VD(e){return document.createElementNS(`http://www.w3.org/1999/xhtml`,e)}function HD(){let e=VD(`canvas`);return e.style.display=`block`,e}var UD={};function WD(...e){let t=`THREE.`+e.shift();console.log(t,...e)}function GD(...e){let t=`THREE.`+e.shift();console.warn(t,...e)}function KD(...e){let t=`THREE.`+e.shift();console.error(t,...e)}function qD(...e){let t=e.join(` `);t in UD||(UD[t]=!0,GD(...e))}function JD(e,t,n){return new Promise(function(r,i){function a(){switch(e.clientWaitSync(t,e.SYNC_FLUSH_COMMANDS_BIT,0)){case e.WAIT_FAILED:i();break;case e.TIMEOUT_EXPIRED:setTimeout(a,n);break;default:r()}}setTimeout(a,n)})}var YD=class{addEventListener(e,t){this._listeners===void 0&&(this._listeners={});let n=this._listeners;n[e]===void 0&&(n[e]=[]),n[e].indexOf(t)===-1&&n[e].push(t)}hasEventListener(e,t){let n=this._listeners;return n!==void 0&&n[e]!==void 0&&n[e].indexOf(t)!==-1}removeEventListener(e,t){let n=this._listeners;if(n===void 0)return;let r=n[e];if(r!==void 0){let e=r.indexOf(t);e!==-1&&r.splice(e,1)}}dispatchEvent(e){let t=this._listeners;if(t===void 0)return;let n=t[e.type];if(n!==void 0){e.target=this;let t=n.slice(0);for(let n=0,r=t.length;n>8&255]+XD[e>>16&255]+XD[e>>24&255]+`-`+XD[t&255]+XD[t>>8&255]+`-`+XD[t>>16&15|64]+XD[t>>24&255]+`-`+XD[n&63|128]+XD[n>>8&255]+`-`+XD[n>>16&255]+XD[n>>24&255]+XD[r&255]+XD[r>>8&255]+XD[r>>16&255]+XD[r>>24&255]).toLowerCase()}function tO(e,t,n){return Math.max(t,Math.min(n,e))}function nO(e,t){return(e%t+t)%t}function rO(e,t,n,r,i){return r+(e-t)*(i-r)/(n-t)}function iO(e,t,n){return e===t?0:(n-e)/(t-e)}function aO(e,t,n){return(1-n)*e+n*t}function oO(e,t,n,r){return aO(e,t,1-Math.exp(-n*r))}function sO(e,t=1){return t-Math.abs(nO(e,t*2)-t)}function cO(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t),e*e*(3-2*e))}function lO(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t),e*e*e*(e*(e*6-15)+10))}function uO(e,t){return e+Math.floor(Math.random()*(t-e+1))}function dO(e,t){return e+Math.random()*(t-e)}function fO(e){return e*(.5-Math.random())}function pO(e){e!==void 0&&(ZD=e);let t=ZD+=1831565813;return t=Math.imul(t^t>>>15,t|1),t^=t+Math.imul(t^t>>>7,t|61),((t^t>>>14)>>>0)/4294967296}function mO(e){return e*QD}function hO(e){return e*$D}function gO(e){return!(e&e-1)&&e!==0}function _O(e){return 2**Math.ceil(Math.log(e)/Math.LN2)}function vO(e){return 2**Math.floor(Math.log(e)/Math.LN2)}function yO(e,t,n,r,i){let a=Math.cos,o=Math.sin,s=a(n/2),c=o(n/2),l=a((t+r)/2),u=o((t+r)/2),d=a((t-r)/2),f=o((t-r)/2),p=a((r-t)/2),m=o((r-t)/2);switch(i){case`XYX`:e.set(s*u,c*d,c*f,s*l);break;case`YZY`:e.set(c*f,s*u,c*d,s*l);break;case`ZXZ`:e.set(c*d,c*f,s*u,s*l);break;case`XZX`:e.set(s*u,c*m,c*p,s*l);break;case`YXY`:e.set(c*p,s*u,c*m,s*l);break;case`ZYZ`:e.set(c*m,c*p,s*u,s*l);break;default:GD(`MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: `+i)}}function bO(e,t){switch(t.constructor){case Float32Array:return e;case Uint32Array:return e/4294967295;case Uint16Array:return e/65535;case Uint8Array:return e/255;case Int32Array:return Math.max(e/2147483647,-1);case Int16Array:return Math.max(e/32767,-1);case Int8Array:return Math.max(e/127,-1);default:throw Error(`Invalid component type.`)}}function xO(e,t){switch(t.constructor){case Float32Array:return e;case Uint32Array:return Math.round(e*4294967295);case Uint16Array:return Math.round(e*65535);case Uint8Array:return Math.round(e*255);case Int32Array:return Math.round(e*2147483647);case Int16Array:return Math.round(e*32767);case Int8Array:return Math.round(e*127);default:throw Error(`Invalid component type.`)}}var SO={DEG2RAD:QD,RAD2DEG:$D,generateUUID:eO,clamp:tO,euclideanModulo:nO,mapLinear:rO,inverseLerp:iO,lerp:aO,damp:oO,pingpong:sO,smoothstep:cO,smootherstep:lO,randInt:uO,randFloat:dO,randFloatSpread:fO,seededRandom:pO,degToRad:mO,radToDeg:hO,isPowerOfTwo:gO,ceilPowerOfTwo:_O,floorPowerOfTwo:vO,setQuaternionFromProperEuler:yO,normalize:xO,denormalize:bO},X=class e{constructor(t=0,n=0){e.prototype.isVector2=!0,this.x=t,this.y=n}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw Error(`index is out of range: `+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw Error(`index is out of range: `+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){let t=this.x,n=this.y,r=e.elements;return this.x=r[0]*t+r[3]*n+r[6],this.y=r[1]*t+r[4]*n+r[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=tO(this.x,e.x,t.x),this.y=tO(this.y,e.y,t.y),this}clampScalar(e,t){return this.x=tO(this.x,e,t),this.y=tO(this.y,e,t),this}clampLength(e,t){let n=this.length();return this.divideScalar(n||1).multiplyScalar(tO(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){let t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;let n=this.dot(e)/t;return Math.acos(tO(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let t=this.x-e.x,n=this.y-e.y;return t*t+n*n}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){let n=Math.cos(t),r=Math.sin(t),i=this.x-e.x,a=this.y-e.y;return this.x=i*n-a*r+e.x,this.y=i*r+a*n+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}},CO=class{constructor(e=0,t=0,n=0,r=1){this.isQuaternion=!0,this._x=e,this._y=t,this._z=n,this._w=r}static slerpFlat(e,t,n,r,i,a,o){let s=n[r+0],c=n[r+1],l=n[r+2],u=n[r+3],d=i[a+0],f=i[a+1],p=i[a+2],m=i[a+3];if(o<=0){e[t+0]=s,e[t+1]=c,e[t+2]=l,e[t+3]=u;return}if(o>=1){e[t+0]=d,e[t+1]=f,e[t+2]=p,e[t+3]=m;return}if(u!==m||s!==d||c!==f||l!==p){let e=s*d+c*f+l*p+u*m;e<0&&(d=-d,f=-f,p=-p,m=-m,e=-e);let t=1-o;if(e<.9995){let n=Math.acos(e),r=Math.sin(n);t=Math.sin(t*n)/r,o=Math.sin(o*n)/r,s=s*t+d*o,c=c*t+f*o,l=l*t+p*o,u=u*t+m*o}else{s=s*t+d*o,c=c*t+f*o,l=l*t+p*o,u=u*t+m*o;let e=1/Math.sqrt(s*s+c*c+l*l+u*u);s*=e,c*=e,l*=e,u*=e}}e[t]=s,e[t+1]=c,e[t+2]=l,e[t+3]=u}static multiplyQuaternionsFlat(e,t,n,r,i,a){let o=n[r],s=n[r+1],c=n[r+2],l=n[r+3],u=i[a],d=i[a+1],f=i[a+2],p=i[a+3];return e[t]=o*p+l*u+s*f-c*d,e[t+1]=s*p+l*d+c*u-o*f,e[t+2]=c*p+l*f+o*d-s*u,e[t+3]=l*p-o*u-s*d-c*f,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,n,r){return this._x=e,this._y=t,this._z=n,this._w=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t=!0){let n=e._x,r=e._y,i=e._z,a=e._order,o=Math.cos,s=Math.sin,c=o(n/2),l=o(r/2),u=o(i/2),d=s(n/2),f=s(r/2),p=s(i/2);switch(a){case`XYZ`:this._x=d*l*u+c*f*p,this._y=c*f*u-d*l*p,this._z=c*l*p+d*f*u,this._w=c*l*u-d*f*p;break;case`YXZ`:this._x=d*l*u+c*f*p,this._y=c*f*u-d*l*p,this._z=c*l*p-d*f*u,this._w=c*l*u+d*f*p;break;case`ZXY`:this._x=d*l*u-c*f*p,this._y=c*f*u+d*l*p,this._z=c*l*p+d*f*u,this._w=c*l*u-d*f*p;break;case`ZYX`:this._x=d*l*u-c*f*p,this._y=c*f*u+d*l*p,this._z=c*l*p-d*f*u,this._w=c*l*u+d*f*p;break;case`YZX`:this._x=d*l*u+c*f*p,this._y=c*f*u+d*l*p,this._z=c*l*p-d*f*u,this._w=c*l*u-d*f*p;break;case`XZY`:this._x=d*l*u-c*f*p,this._y=c*f*u-d*l*p,this._z=c*l*p+d*f*u,this._w=c*l*u+d*f*p;break;default:GD(`Quaternion: .setFromEuler() encountered an unknown order: `+a)}return t===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,t){let n=t/2,r=Math.sin(n);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(e){let t=e.elements,n=t[0],r=t[4],i=t[8],a=t[1],o=t[5],s=t[9],c=t[2],l=t[6],u=t[10],d=n+o+u;if(d>0){let e=.5/Math.sqrt(d+1);this._w=.25/e,this._x=(l-s)*e,this._y=(i-c)*e,this._z=(a-r)*e}else if(n>o&&n>u){let e=2*Math.sqrt(1+n-o-u);this._w=(l-s)/e,this._x=.25*e,this._y=(r+a)/e,this._z=(i+c)/e}else if(o>u){let e=2*Math.sqrt(1+o-n-u);this._w=(i-c)/e,this._x=(r+a)/e,this._y=.25*e,this._z=(s+l)/e}else{let e=2*Math.sqrt(1+u-n-o);this._w=(a-r)/e,this._x=(i+c)/e,this._y=(s+l)/e,this._z=.25*e}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let n=e.dot(t)+1;return n<1e-8?(n=0,Math.abs(e.x)>Math.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=n):(this._x=0,this._y=-e.z,this._z=e.y,this._w=n)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=n),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(tO(this.dot(e),-1,1)))}rotateTowards(e,t){let n=this.angleTo(e);if(n===0)return this;let r=Math.min(1,t/n);return this.slerp(e,r),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x*=e,this._y*=e,this._z*=e,this._w*=e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){let n=e._x,r=e._y,i=e._z,a=e._w,o=t._x,s=t._y,c=t._z,l=t._w;return this._x=n*l+a*o+r*c-i*s,this._y=r*l+a*s+i*o-n*c,this._z=i*l+a*c+n*s-r*o,this._w=a*l-n*o-r*s-i*c,this._onChangeCallback(),this}slerp(e,t){if(t<=0)return this;if(t>=1)return this.copy(e);let n=e._x,r=e._y,i=e._z,a=e._w,o=this.dot(e);o<0&&(n=-n,r=-r,i=-i,a=-a,o=-o);let s=1-t;if(o<.9995){let e=Math.acos(o),c=Math.sin(e);s=Math.sin(s*e)/c,t=Math.sin(t*e)/c,this._x=this._x*s+n*t,this._y=this._y*s+r*t,this._z=this._z*s+i*t,this._w=this._w*s+a*t,this._onChangeCallback()}else this._x=this._x*s+n*t,this._y=this._y*s+r*t,this._z=this._z*s+i*t,this._w=this._w*s+a*t,this.normalize();return this}slerpQuaternions(e,t,n){return this.copy(e).slerp(t,n)}random(){let e=2*Math.PI*Math.random(),t=2*Math.PI*Math.random(),n=Math.random(),r=Math.sqrt(1-n),i=Math.sqrt(n);return this.set(r*Math.sin(e),r*Math.cos(e),i*Math.sin(t),i*Math.cos(t))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}},Z=class e{constructor(t=0,n=0,r=0){e.prototype.isVector3=!0,this.x=t,this.y=n,this.z=r}set(e,t,n){return n===void 0&&(n=this.z),this.x=e,this.y=t,this.z=n,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw Error(`index is out of range: `+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw Error(`index is out of range: `+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(TO.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(TO.setFromAxisAngle(e,t))}applyMatrix3(e){let t=this.x,n=this.y,r=this.z,i=e.elements;return this.x=i[0]*t+i[3]*n+i[6]*r,this.y=i[1]*t+i[4]*n+i[7]*r,this.z=i[2]*t+i[5]*n+i[8]*r,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){let t=this.x,n=this.y,r=this.z,i=e.elements,a=1/(i[3]*t+i[7]*n+i[11]*r+i[15]);return this.x=(i[0]*t+i[4]*n+i[8]*r+i[12])*a,this.y=(i[1]*t+i[5]*n+i[9]*r+i[13])*a,this.z=(i[2]*t+i[6]*n+i[10]*r+i[14])*a,this}applyQuaternion(e){let t=this.x,n=this.y,r=this.z,i=e.x,a=e.y,o=e.z,s=e.w,c=2*(a*r-o*n),l=2*(o*t-i*r),u=2*(i*n-a*t);return this.x=t+s*c+a*u-o*l,this.y=n+s*l+o*c-i*u,this.z=r+s*u+i*l-a*c,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){let t=this.x,n=this.y,r=this.z,i=e.elements;return this.x=i[0]*t+i[4]*n+i[8]*r,this.y=i[1]*t+i[5]*n+i[9]*r,this.z=i[2]*t+i[6]*n+i[10]*r,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=tO(this.x,e.x,t.x),this.y=tO(this.y,e.y,t.y),this.z=tO(this.z,e.z,t.z),this}clampScalar(e,t){return this.x=tO(this.x,e,t),this.y=tO(this.y,e,t),this.z=tO(this.z,e,t),this}clampLength(e,t){let n=this.length();return this.divideScalar(n||1).multiplyScalar(tO(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){let n=e.x,r=e.y,i=e.z,a=t.x,o=t.y,s=t.z;return this.x=r*s-i*o,this.y=i*a-n*s,this.z=n*o-r*a,this}projectOnVector(e){let t=e.lengthSq();if(t===0)return this.set(0,0,0);let n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){return wO.copy(this).projectOnVector(e),this.sub(wO)}reflect(e){return this.sub(wO.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){let t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;let n=this.dot(e)/t;return Math.acos(tO(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let t=this.x-e.x,n=this.y-e.y,r=this.z-e.z;return t*t+n*n+r*r}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,n){let r=Math.sin(t)*e;return this.x=r*Math.sin(n),this.y=Math.cos(t)*e,this.z=r*Math.cos(n),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,n){return this.x=e*Math.sin(t),this.y=n,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){let t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){let t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),r=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=r,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){let e=Math.random()*Math.PI*2,t=Math.random()*2-1,n=Math.sqrt(1-t*t);return this.x=n*Math.cos(e),this.y=t,this.z=n*Math.sin(e),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}},wO=new Z,TO=new CO,EO=class e{constructor(t,n,r,i,a,o,s,c,l){e.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],t!==void 0&&this.set(t,n,r,i,a,o,s,c,l)}set(e,t,n,r,i,a,o,s,c){let l=this.elements;return l[0]=e,l[1]=r,l[2]=o,l[3]=t,l[4]=i,l[5]=s,l[6]=n,l[7]=a,l[8]=c,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){let t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],this}extractBasis(e,t,n){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(e){let t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){let n=e.elements,r=t.elements,i=this.elements,a=n[0],o=n[3],s=n[6],c=n[1],l=n[4],u=n[7],d=n[2],f=n[5],p=n[8],m=r[0],h=r[3],g=r[6],_=r[1],v=r[4],y=r[7],b=r[2],x=r[5],S=r[8];return i[0]=a*m+o*_+s*b,i[3]=a*h+o*v+s*x,i[6]=a*g+o*y+s*S,i[1]=c*m+l*_+u*b,i[4]=c*h+l*v+u*x,i[7]=c*g+l*y+u*S,i[2]=d*m+f*_+p*b,i[5]=d*h+f*v+p*x,i[8]=d*g+f*y+p*S,this}multiplyScalar(e){let t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){let e=this.elements,t=e[0],n=e[1],r=e[2],i=e[3],a=e[4],o=e[5],s=e[6],c=e[7],l=e[8];return t*a*l-t*o*c-n*i*l+n*o*s+r*i*c-r*a*s}invert(){let e=this.elements,t=e[0],n=e[1],r=e[2],i=e[3],a=e[4],o=e[5],s=e[6],c=e[7],l=e[8],u=l*a-o*c,d=o*s-l*i,f=c*i-a*s,p=t*u+n*d+r*f;if(p===0)return this.set(0,0,0,0,0,0,0,0,0);let m=1/p;return e[0]=u*m,e[1]=(r*c-l*n)*m,e[2]=(o*n-r*a)*m,e[3]=d*m,e[4]=(l*t-r*s)*m,e[5]=(r*i-o*t)*m,e[6]=f*m,e[7]=(n*s-c*t)*m,e[8]=(a*t-n*i)*m,this}transpose(){let e,t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){let t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,n,r,i,a,o){let s=Math.cos(i),c=Math.sin(i);return this.set(n*s,n*c,-n*(s*a+c*o)+a+e,-r*c,r*s,-r*(-c*a+s*o)+o+t,0,0,1),this}scale(e,t){return this.premultiply(DO.makeScale(e,t)),this}rotate(e){return this.premultiply(DO.makeRotation(-e)),this}translate(e,t){return this.premultiply(DO.makeTranslation(e,t)),this}makeTranslation(e,t){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,t,0,0,1),this}makeRotation(e){let t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,n,t,0,0,0,1),this}makeScale(e,t){return this.set(e,0,0,0,t,0,0,0,1),this}equals(e){let t=this.elements,n=e.elements;for(let e=0;e<9;e++)if(t[e]!==n[e])return!1;return!0}fromArray(e,t=0){for(let n=0;n<9;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){let n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e}clone(){return new this.constructor().fromArray(this.elements)}},DO=new EO,OO=new EO().set(.4123908,.3575843,.1804808,.212639,.7151687,.0721923,.0193308,.1191948,.9505322),kO=new EO().set(3.2409699,-1.5373832,-.4986108,-.9692436,1.8759675,.0415551,.0556301,-.203977,1.0569715);function AO(){let e={enabled:!0,workingColorSpace:ND,spaces:{},convert:function(e,t,n){return this.enabled===!1||t===n||!t||!n?e:(this.spaces[t].transfer===`srgb`&&(e.r=MO(e.r),e.g=MO(e.g),e.b=MO(e.b)),this.spaces[t].primaries!==this.spaces[n].primaries&&(e.applyMatrix3(this.spaces[t].toXYZ),e.applyMatrix3(this.spaces[n].fromXYZ)),this.spaces[n].transfer===`srgb`&&(e.r=NO(e.r),e.g=NO(e.g),e.b=NO(e.b)),e)},workingToColorSpace:function(e,t){return this.convert(e,this.workingColorSpace,t)},colorSpaceToWorking:function(e,t){return this.convert(e,t,this.workingColorSpace)},getPrimaries:function(e){return this.spaces[e].primaries},getTransfer:function(e){return e===``?PD:this.spaces[e].transfer},getToneMappingMode:function(e){return this.spaces[e].outputColorSpaceConfig.toneMappingMode||`standard`},getLuminanceCoefficients:function(e,t=this.workingColorSpace){return e.fromArray(this.spaces[t].luminanceCoefficients)},define:function(e){Object.assign(this.spaces,e)},_getMatrix:function(e,t,n){return e.copy(this.spaces[t].toXYZ).multiply(this.spaces[n].fromXYZ)},_getDrawingBufferColorSpace:function(e){return this.spaces[e].outputColorSpaceConfig.drawingBufferColorSpace},_getUnpackColorSpace:function(e=this.workingColorSpace){return this.spaces[e].workingColorSpaceConfig.unpackColorSpace},fromWorkingColorSpace:function(t,n){return qD(`ColorManagement: .fromWorkingColorSpace() has been renamed to .workingToColorSpace().`),e.workingToColorSpace(t,n)},toWorkingColorSpace:function(t,n){return qD(`ColorManagement: .toWorkingColorSpace() has been renamed to .colorSpaceToWorking().`),e.colorSpaceToWorking(t,n)}},t=[.64,.33,.3,.6,.15,.06],n=[.2126,.7152,.0722],r=[.3127,.329];return e.define({[ND]:{primaries:t,whitePoint:r,transfer:PD,toXYZ:OO,fromXYZ:kO,luminanceCoefficients:n,workingColorSpaceConfig:{unpackColorSpace:MD},outputColorSpaceConfig:{drawingBufferColorSpace:MD}},[MD]:{primaries:t,whitePoint:r,transfer:FD,toXYZ:OO,fromXYZ:kO,luminanceCoefficients:n,outputColorSpaceConfig:{drawingBufferColorSpace:MD}}}),e}var jO=AO();function MO(e){return e<.04045?e*.0773993808:(e*.9478672986+.0521327014)**2.4}function NO(e){return e<.0031308?e*12.92:1.055*e**.41666-.055}var PO,FO=class{static getDataURL(e,t=`image/png`){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>`u`)return e.src;let n;if(e instanceof HTMLCanvasElement)n=e;else{PO===void 0&&(PO=VD(`canvas`)),PO.width=e.width,PO.height=e.height;let t=PO.getContext(`2d`);e instanceof ImageData?t.putImageData(e,0,0):t.drawImage(e,0,0,e.width,e.height),n=PO}return n.toDataURL(t)}static sRGBToLinear(e){if(typeof HTMLImageElement<`u`&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<`u`&&e instanceof HTMLCanvasElement||typeof ImageBitmap<`u`&&e instanceof ImageBitmap){let t=VD(`canvas`);t.width=e.width,t.height=e.height;let n=t.getContext(`2d`);n.drawImage(e,0,0,e.width,e.height);let r=n.getImageData(0,0,e.width,e.height),i=r.data;for(let e=0;e1),this.pmremVersion=0}get width(){return this.source.getSize(BO).x}get height(){return this.source.getSize(BO).y}get depth(){return this.source.getSize(BO).z}get image(){return this.source.data}set image(e=null){this.source.data=e}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}clone(){return new this.constructor().copy(this)}copy(e){return this.name=e.name,this.source=e.source,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.channel=e.channel,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.internalFormat=e.internalFormat,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.center.copy(e.center),this.rotation=e.rotation,this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrix.copy(e.matrix),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.colorSpace=e.colorSpace,this.renderTarget=e.renderTarget,this.isRenderTargetTexture=e.isRenderTargetTexture,this.isArrayTexture=e.isArrayTexture,this.userData=JSON.parse(JSON.stringify(e.userData)),this.needsUpdate=!0,this}setValues(e){for(let t in e){let n=e[t];if(n===void 0){GD(`Texture.setValues(): parameter '${t}' has value of undefined.`);continue}let r=this[t];if(r===void 0){GD(`Texture.setValues(): property '${t}' does not exist.`);continue}r&&n&&r.isVector2&&n.isVector2||r&&n&&r.isVector3&&n.isVector3||r&&n&&r.isMatrix3&&n.isMatrix3?r.copy(n):this[t]=n}}toJSON(e){let t=e===void 0||typeof e==`string`;if(!t&&e.textures[this.uuid]!==void 0)return e.textures[this.uuid];let n={metadata:{version:4.7,type:`Texture`,generator:`Texture.toJSON`},uuid:this.uuid,name:this.name,image:this.source.toJSON(e).uuid,mapping:this.mapping,channel:this.channel,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,internalFormat:this.internalFormat,type:this.type,colorSpace:this.colorSpace,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};return Object.keys(this.userData).length>0&&(n.userData=this.userData),t||(e.textures[this.uuid]=n),n}dispose(){this.dispatchEvent({type:`dispose`})}transformUv(e){if(this.mapping!==300)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case dE:e.x-=Math.floor(e.x);break;case fE:e.x=e.x<0?0:1;break;case pE:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x-=Math.floor(e.x)}if(e.y<0||e.y>1)switch(this.wrapT){case dE:e.y-=Math.floor(e.y);break;case fE:e.y=e.y<0?0:1;break;case pE:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y-=Math.floor(e.y)}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(e){e===!0&&this.pmremVersion++}};VO.DEFAULT_IMAGE=null,VO.DEFAULT_MAPPING=300,VO.DEFAULT_ANISOTROPY=1;var HO=class e{constructor(t=0,n=0,r=0,i=1){e.prototype.isVector4=!0,this.x=t,this.y=n,this.z=r,this.w=i}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,n,r){return this.x=e,this.y=t,this.z=n,this.w=r,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw Error(`index is out of range: `+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw Error(`index is out of range: `+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w===void 0?1:e.w,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){let t=this.x,n=this.y,r=this.z,i=this.w,a=e.elements;return this.x=a[0]*t+a[4]*n+a[8]*r+a[12]*i,this.y=a[1]*t+a[5]*n+a[9]*r+a[13]*i,this.z=a[2]*t+a[6]*n+a[10]*r+a[14]*i,this.w=a[3]*t+a[7]*n+a[11]*r+a[15]*i,this}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this.w/=e.w,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);let t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,n,r,i,a=.01,o=.1,s=e.elements,c=s[0],l=s[4],u=s[8],d=s[1],f=s[5],p=s[9],m=s[2],h=s[6],g=s[10];if(Math.abs(l-d)s&&e>_?e_?s1);this.dispose()}this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.textures.length=0;for(let t=0,n=e.textures.length;t=this.min.x&&e.x<=this.max.x&&e.y>=this.min.y&&e.y<=this.max.y&&e.z>=this.min.z&&e.z<=this.max.z}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.max.y>=this.min.y&&e.min.y<=this.max.y&&e.max.z>=this.min.z&&e.min.z<=this.max.z}intersectsSphere(e){return this.clampPoint(e.center,YO),YO.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,n;return e.normal.x>0?(t=e.normal.x*this.min.x,n=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,n=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,n+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,n+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,n+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,n+=e.normal.z*this.min.z),t<=-e.constant&&n>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(rk),ik.subVectors(this.max,rk),ZO.subVectors(e.a,rk),QO.subVectors(e.b,rk),$O.subVectors(e.c,rk),ek.subVectors(QO,ZO),tk.subVectors($O,QO),nk.subVectors(ZO,$O);let t=[0,-ek.z,ek.y,0,-tk.z,tk.y,0,-nk.z,nk.y,ek.z,0,-ek.x,tk.z,0,-tk.x,nk.z,0,-nk.x,-ek.y,ek.x,0,-tk.y,tk.x,0,-nk.y,nk.x,0];return!sk(t,ZO,QO,$O,ik)||(t=[1,0,0,0,1,0,0,0,1],!sk(t,ZO,QO,$O,ik))?!1:(ak.crossVectors(ek,tk),t=[ak.x,ak.y,ak.z],sk(t,ZO,QO,$O,ik))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,YO).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(YO).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(JO[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),JO[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),JO[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),JO[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),JO[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),JO[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),JO[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),JO[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(JO),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}toJSON(){return{min:this.min.toArray(),max:this.max.toArray()}}fromJSON(e){return this.min.fromArray(e.min),this.max.fromArray(e.max),this}},JO=[new Z,new Z,new Z,new Z,new Z,new Z,new Z,new Z],YO=new Z,XO=new qO,ZO=new Z,QO=new Z,$O=new Z,ek=new Z,tk=new Z,nk=new Z,rk=new Z,ik=new Z,ak=new Z,ok=new Z;function sk(e,t,n,r,i){for(let a=0,o=e.length-3;a<=o;a+=3){ok.fromArray(e,a);let o=i.x*Math.abs(ok.x)+i.y*Math.abs(ok.y)+i.z*Math.abs(ok.z),s=t.dot(ok),c=n.dot(ok),l=r.dot(ok);if(Math.max(-Math.max(s,c,l),Math.min(s,c,l))>o)return!1}return!0}var ck=new qO,lk=new Z,uk=new Z,dk=class{constructor(e=new Z,t=-1){this.isSphere=!0,this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){let n=this.center;t===void 0?ck.setFromPoints(e).getCenter(n):n.copy(t);let r=0;for(let t=0,i=e.length;tthis.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius*=e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;lk.subVectors(e,this.center);let t=lk.lengthSq();if(t>this.radius*this.radius){let e=Math.sqrt(t),n=(e-this.radius)*.5;this.center.addScaledVector(lk,n/e),this.radius+=n}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(uk.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(lk.copy(e.center).add(uk)),this.expandByPoint(lk.copy(e.center).sub(uk))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}toJSON(){return{radius:this.radius,center:this.center.toArray()}}fromJSON(e){return this.radius=e.radius,this.center.fromArray(e.center),this}},fk=new Z,pk=new Z,mk=new Z,hk=new Z,gk=new Z,_k=new Z,vk=new Z,yk=class{constructor(e=new Z,t=new Z(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,fk)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);let n=t.dot(this.direction);return n<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,n)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){let t=fk.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(fk.copy(this.origin).addScaledVector(this.direction,t),fk.distanceToSquared(e))}distanceSqToSegment(e,t,n,r){pk.copy(e).add(t).multiplyScalar(.5),mk.copy(t).sub(e).normalize(),hk.copy(this.origin).sub(pk);let i=e.distanceTo(t)*.5,a=-this.direction.dot(mk),o=hk.dot(this.direction),s=-hk.dot(mk),c=hk.lengthSq(),l=Math.abs(1-a*a),u,d,f,p;if(l>0){if(u=a*s-o,d=a*o-s,p=i*l,u>=0){if(d>=-p){if(d<=p){let e=1/l;u*=e,d*=e,f=u*(u+a*d+2*o)+d*(a*u+d+2*s)+c}else d=i,u=Math.max(0,-(a*d+o)),f=-u*u+d*(d+2*s)+c}else d=-i,u=Math.max(0,-(a*d+o)),f=-u*u+d*(d+2*s)+c}else d<=-p?(u=Math.max(0,-(-a*i+o)),d=u>0?-i:Math.min(Math.max(-i,-s),i),f=-u*u+d*(d+2*s)+c):d<=p?(u=0,d=Math.min(Math.max(-i,-s),i),f=d*(d+2*s)+c):(u=Math.max(0,-(a*i+o)),d=u>0?i:Math.min(Math.max(-i,-s),i),f=-u*u+d*(d+2*s)+c)}else d=a>0?-i:i,u=Math.max(0,-(a*d+o)),f=-u*u+d*(d+2*s)+c;return n&&n.copy(this.origin).addScaledVector(this.direction,u),r&&r.copy(pk).addScaledVector(mk,d),f}intersectSphere(e,t){fk.subVectors(e.center,this.origin);let n=fk.dot(this.direction),r=fk.dot(fk)-n*n,i=e.radius*e.radius;if(r>i)return null;let a=Math.sqrt(i-r),o=n-a,s=n+a;return s<0?null:o<0?this.at(s,t):this.at(o,t)}intersectsSphere(e){return e.radius<0?!1:this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){let t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;let n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null}intersectPlane(e,t){let n=this.distanceToPlane(e);return n===null?null:this.at(n,t)}intersectsPlane(e){let t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let n,r,i,a,o,s,c=1/this.direction.x,l=1/this.direction.y,u=1/this.direction.z,d=this.origin;return c>=0?(n=(e.min.x-d.x)*c,r=(e.max.x-d.x)*c):(n=(e.max.x-d.x)*c,r=(e.min.x-d.x)*c),l>=0?(i=(e.min.y-d.y)*l,a=(e.max.y-d.y)*l):(i=(e.max.y-d.y)*l,a=(e.min.y-d.y)*l),n>a||i>r||((i>n||isNaN(n))&&(n=i),(a=0?(o=(e.min.z-d.z)*u,s=(e.max.z-d.z)*u):(o=(e.max.z-d.z)*u,s=(e.min.z-d.z)*u),n>s||o>r)||((o>n||n!==n)&&(n=o),(s=0?n:r,t)}intersectsBox(e){return this.intersectBox(e,fk)!==null}intersectTriangle(e,t,n,r,i){gk.subVectors(t,e),_k.subVectors(n,e),vk.crossVectors(gk,_k);let a=this.direction.dot(vk),o;if(a>0){if(r)return null;o=1}else if(a<0)o=-1,a=-a;else return null;hk.subVectors(this.origin,e);let s=o*this.direction.dot(_k.crossVectors(hk,_k));if(s<0)return null;let c=o*this.direction.dot(gk.cross(hk));if(c<0||s+c>a)return null;let l=-o*hk.dot(vk);return l<0?null:this.at(l/a,i)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}},bk=class e{constructor(t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g){e.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],t!==void 0&&this.set(t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g)}set(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){let g=this.elements;return g[0]=e,g[4]=t,g[8]=n,g[12]=r,g[1]=i,g[5]=a,g[9]=o,g[13]=s,g[2]=c,g[6]=l,g[10]=u,g[14]=d,g[3]=f,g[7]=p,g[11]=m,g[15]=h,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new e().fromArray(this.elements)}copy(e){let t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],this}copyPosition(e){let t=this.elements,n=e.elements;return t[12]=n[12],t[13]=n[13],t[14]=n[14],this}setFromMatrix3(e){let t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,n){return this.determinant()===0?(e.set(1,0,0),t.set(0,1,0),n.set(0,0,1),this):(e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this)}makeBasis(e,t,n){return this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1),this}extractRotation(e){if(e.determinant()===0)return this.identity();let t=this.elements,n=e.elements,r=1/xk.setFromMatrixColumn(e,0).length(),i=1/xk.setFromMatrixColumn(e,1).length(),a=1/xk.setFromMatrixColumn(e,2).length();return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=0,t[4]=n[4]*i,t[5]=n[5]*i,t[6]=n[6]*i,t[7]=0,t[8]=n[8]*a,t[9]=n[9]*a,t[10]=n[10]*a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){let t=this.elements,n=e.x,r=e.y,i=e.z,a=Math.cos(n),o=Math.sin(n),s=Math.cos(r),c=Math.sin(r),l=Math.cos(i),u=Math.sin(i);if(e.order===`XYZ`){let e=a*l,n=a*u,r=o*l,i=o*u;t[0]=s*l,t[4]=-s*u,t[8]=c,t[1]=n+r*c,t[5]=e-i*c,t[9]=-o*s,t[2]=i-e*c,t[6]=r+n*c,t[10]=a*s}else if(e.order===`YXZ`){let e=s*l,n=s*u,r=c*l,i=c*u;t[0]=e+i*o,t[4]=r*o-n,t[8]=a*c,t[1]=a*u,t[5]=a*l,t[9]=-o,t[2]=n*o-r,t[6]=i+e*o,t[10]=a*s}else if(e.order===`ZXY`){let e=s*l,n=s*u,r=c*l,i=c*u;t[0]=e-i*o,t[4]=-a*u,t[8]=r+n*o,t[1]=n+r*o,t[5]=a*l,t[9]=i-e*o,t[2]=-a*c,t[6]=o,t[10]=a*s}else if(e.order===`ZYX`){let e=a*l,n=a*u,r=o*l,i=o*u;t[0]=s*l,t[4]=r*c-n,t[8]=e*c+i,t[1]=s*u,t[5]=i*c+e,t[9]=n*c-r,t[2]=-c,t[6]=o*s,t[10]=a*s}else if(e.order===`YZX`){let e=a*s,n=a*c,r=o*s,i=o*c;t[0]=s*l,t[4]=i-e*u,t[8]=r*u+n,t[1]=u,t[5]=a*l,t[9]=-o*l,t[2]=-c*l,t[6]=n*u+r,t[10]=e-i*u}else if(e.order===`XZY`){let e=a*s,n=a*c,r=o*s,i=o*c;t[0]=s*l,t[4]=-u,t[8]=c*l,t[1]=e*u+i,t[5]=a*l,t[9]=n*u-r,t[2]=r*u-n,t[6]=o*l,t[10]=i*u+e}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(Ck,e,wk)}lookAt(e,t,n){let r=this.elements;return Dk.subVectors(e,t),Dk.lengthSq()===0&&(Dk.z=1),Dk.normalize(),Tk.crossVectors(n,Dk),Tk.lengthSq()===0&&(Math.abs(n.z)===1?Dk.x+=1e-4:Dk.z+=1e-4,Dk.normalize(),Tk.crossVectors(n,Dk)),Tk.normalize(),Ek.crossVectors(Dk,Tk),r[0]=Tk.x,r[4]=Ek.x,r[8]=Dk.x,r[1]=Tk.y,r[5]=Ek.y,r[9]=Dk.y,r[2]=Tk.z,r[6]=Ek.z,r[10]=Dk.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){let n=e.elements,r=t.elements,i=this.elements,a=n[0],o=n[4],s=n[8],c=n[12],l=n[1],u=n[5],d=n[9],f=n[13],p=n[2],m=n[6],h=n[10],g=n[14],_=n[3],v=n[7],y=n[11],b=n[15],x=r[0],S=r[4],C=r[8],w=r[12],T=r[1],E=r[5],D=r[9],O=r[13],ee=r[2],k=r[6],A=r[10],te=r[14],j=r[3],ne=r[7],M=r[11],N=r[15];return i[0]=a*x+o*T+s*ee+c*j,i[4]=a*S+o*E+s*k+c*ne,i[8]=a*C+o*D+s*A+c*M,i[12]=a*w+o*O+s*te+c*N,i[1]=l*x+u*T+d*ee+f*j,i[5]=l*S+u*E+d*k+f*ne,i[9]=l*C+u*D+d*A+f*M,i[13]=l*w+u*O+d*te+f*N,i[2]=p*x+m*T+h*ee+g*j,i[6]=p*S+m*E+h*k+g*ne,i[10]=p*C+m*D+h*A+g*M,i[14]=p*w+m*O+h*te+g*N,i[3]=_*x+v*T+y*ee+b*j,i[7]=_*S+v*E+y*k+b*ne,i[11]=_*C+v*D+y*A+b*M,i[15]=_*w+v*O+y*te+b*N,this}multiplyScalar(e){let t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){let e=this.elements,t=e[0],n=e[4],r=e[8],i=e[12],a=e[1],o=e[5],s=e[9],c=e[13],l=e[2],u=e[6],d=e[10],f=e[14],p=e[3],m=e[7],h=e[11],g=e[15],_=s*f-c*d,v=o*f-c*u,y=o*d-s*u,b=a*f-c*l,x=a*d-s*l,S=a*u-o*l;return t*(m*_-h*v+g*y)-n*(p*_-h*b+g*x)+r*(p*v-m*b+g*S)-i*(p*y-m*x+h*S)}transpose(){let e=this.elements,t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,n){let r=this.elements;return e.isVector3?(r[12]=e.x,r[13]=e.y,r[14]=e.z):(r[12]=e,r[13]=t,r[14]=n),this}invert(){let e=this.elements,t=e[0],n=e[1],r=e[2],i=e[3],a=e[4],o=e[5],s=e[6],c=e[7],l=e[8],u=e[9],d=e[10],f=e[11],p=e[12],m=e[13],h=e[14],g=e[15],_=u*h*c-m*d*c+m*s*f-o*h*f-u*s*g+o*d*g,v=p*d*c-l*h*c-p*s*f+a*h*f+l*s*g-a*d*g,y=l*m*c-p*u*c+p*o*f-a*m*f-l*o*g+a*u*g,b=p*u*s-l*m*s-p*o*d+a*m*d+l*o*h-a*u*h,x=t*_+n*v+r*y+i*b;if(x===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);let S=1/x;return e[0]=_*S,e[1]=(m*d*i-u*h*i-m*r*f+n*h*f+u*r*g-n*d*g)*S,e[2]=(o*h*i-m*s*i+m*r*c-n*h*c-o*r*g+n*s*g)*S,e[3]=(u*s*i-o*d*i-u*r*c+n*d*c+o*r*f-n*s*f)*S,e[4]=v*S,e[5]=(l*h*i-p*d*i+p*r*f-t*h*f-l*r*g+t*d*g)*S,e[6]=(p*s*i-a*h*i-p*r*c+t*h*c+a*r*g-t*s*g)*S,e[7]=(a*d*i-l*s*i+l*r*c-t*d*c-a*r*f+t*s*f)*S,e[8]=y*S,e[9]=(p*u*i-l*m*i-p*n*f+t*m*f+l*n*g-t*u*g)*S,e[10]=(a*m*i-p*o*i+p*n*c-t*m*c-a*n*g+t*o*g)*S,e[11]=(l*o*i-a*u*i-l*n*c+t*u*c+a*n*f-t*o*f)*S,e[12]=b*S,e[13]=(l*m*r-p*u*r+p*n*d-t*m*d-l*n*h+t*u*h)*S,e[14]=(p*o*r-a*m*r-p*n*s+t*m*s+a*n*h-t*o*h)*S,e[15]=(a*u*r-l*o*r+l*n*s-t*u*s-a*n*d+t*o*d)*S,this}scale(e){let t=this.elements,n=e.x,r=e.y,i=e.z;return t[0]*=n,t[4]*=r,t[8]*=i,t[1]*=n,t[5]*=r,t[9]*=i,t[2]*=n,t[6]*=r,t[10]*=i,t[3]*=n,t[7]*=r,t[11]*=i,this}getMaxScaleOnAxis(){let e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,r))}makeTranslation(e,t,n){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,t,0,0,1,n,0,0,0,1),this}makeRotationX(e){let t=Math.cos(e),n=Math.sin(e);return this.set(1,0,0,0,0,t,-n,0,0,n,t,0,0,0,0,1),this}makeRotationY(e){let t=Math.cos(e),n=Math.sin(e);return this.set(t,0,n,0,0,1,0,0,-n,0,t,0,0,0,0,1),this}makeRotationZ(e){let t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,0,n,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){let n=Math.cos(t),r=Math.sin(t),i=1-n,a=e.x,o=e.y,s=e.z,c=i*a,l=i*o;return this.set(c*a+n,c*o-r*s,c*s+r*o,0,c*o+r*s,l*o+n,l*s-r*a,0,c*s-r*o,l*s+r*a,i*s*s+n,0,0,0,0,1),this}makeScale(e,t,n){return this.set(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1),this}makeShear(e,t,n,r,i,a){return this.set(1,n,i,0,e,1,a,0,t,r,1,0,0,0,0,1),this}compose(e,t,n){let r=this.elements,i=t._x,a=t._y,o=t._z,s=t._w,c=i+i,l=a+a,u=o+o,d=i*c,f=i*l,p=i*u,m=a*l,h=a*u,g=o*u,_=s*c,v=s*l,y=s*u,b=n.x,x=n.y,S=n.z;return r[0]=(1-(m+g))*b,r[1]=(f+y)*b,r[2]=(p-v)*b,r[3]=0,r[4]=(f-y)*x,r[5]=(1-(d+g))*x,r[6]=(h+_)*x,r[7]=0,r[8]=(p+v)*S,r[9]=(h-_)*S,r[10]=(1-(d+m))*S,r[11]=0,r[12]=e.x,r[13]=e.y,r[14]=e.z,r[15]=1,this}decompose(e,t,n){let r=this.elements;if(e.x=r[12],e.y=r[13],e.z=r[14],this.determinant()===0)return n.set(1,1,1),t.identity(),this;let i=xk.set(r[0],r[1],r[2]).length(),a=xk.set(r[4],r[5],r[6]).length(),o=xk.set(r[8],r[9],r[10]).length();this.determinant()<0&&(i=-i),Sk.copy(this);let s=1/i,c=1/a,l=1/o;return Sk.elements[0]*=s,Sk.elements[1]*=s,Sk.elements[2]*=s,Sk.elements[4]*=c,Sk.elements[5]*=c,Sk.elements[6]*=c,Sk.elements[8]*=l,Sk.elements[9]*=l,Sk.elements[10]*=l,t.setFromRotationMatrix(Sk),n.x=i,n.y=a,n.z=o,this}makePerspective(e,t,n,r,i,a,o=RD,s=!1){let c=this.elements,l=2*i/(t-e),u=2*i/(n-r),d=(t+e)/(t-e),f=(n+r)/(n-r),p,m;if(s)p=i/(a-i),m=a*i/(a-i);else if(o===2e3)p=-(a+i)/(a-i),m=-2*a*i/(a-i);else if(o===2001)p=-a/(a-i),m=-a*i/(a-i);else throw Error(`THREE.Matrix4.makePerspective(): Invalid coordinate system: `+o);return c[0]=l,c[4]=0,c[8]=d,c[12]=0,c[1]=0,c[5]=u,c[9]=f,c[13]=0,c[2]=0,c[6]=0,c[10]=p,c[14]=m,c[3]=0,c[7]=0,c[11]=-1,c[15]=0,this}makeOrthographic(e,t,n,r,i,a,o=RD,s=!1){let c=this.elements,l=2/(t-e),u=2/(n-r),d=-(t+e)/(t-e),f=-(n+r)/(n-r),p,m;if(s)p=1/(a-i),m=a/(a-i);else if(o===2e3)p=-2/(a-i),m=-(a+i)/(a-i);else if(o===2001)p=-1/(a-i),m=-i/(a-i);else throw Error(`THREE.Matrix4.makeOrthographic(): Invalid coordinate system: `+o);return c[0]=l,c[4]=0,c[8]=0,c[12]=d,c[1]=0,c[5]=u,c[9]=0,c[13]=f,c[2]=0,c[6]=0,c[10]=p,c[14]=m,c[3]=0,c[7]=0,c[11]=0,c[15]=1,this}equals(e){let t=this.elements,n=e.elements;for(let e=0;e<16;e++)if(t[e]!==n[e])return!1;return!0}fromArray(e,t=0){for(let n=0;n<16;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){let n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e[t+9]=n[9],e[t+10]=n[10],e[t+11]=n[11],e[t+12]=n[12],e[t+13]=n[13],e[t+14]=n[14],e[t+15]=n[15],e}},xk=new Z,Sk=new bk,Ck=new Z(0,0,0),wk=new Z(1,1,1),Tk=new Z,Ek=new Z,Dk=new Z,Ok=new bk,kk=new CO,Ak=class e{constructor(t=0,n=0,r=0,i=e.DEFAULT_ORDER){this.isEuler=!0,this._x=t,this._y=n,this._z=r,this._order=i}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,n,r=this._order){return this._x=e,this._y=t,this._z=n,this._order=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,n=!0){let r=e.elements,i=r[0],a=r[4],o=r[8],s=r[1],c=r[5],l=r[9],u=r[2],d=r[6],f=r[10];switch(t){case`XYZ`:this._y=Math.asin(tO(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-l,f),this._z=Math.atan2(-a,i)):(this._x=Math.atan2(d,c),this._z=0);break;case`YXZ`:this._x=Math.asin(-tO(l,-1,1)),Math.abs(l)<.9999999?(this._y=Math.atan2(o,f),this._z=Math.atan2(s,c)):(this._y=Math.atan2(-u,i),this._z=0);break;case`ZXY`:this._x=Math.asin(tO(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(-u,f),this._z=Math.atan2(-a,c)):(this._y=0,this._z=Math.atan2(s,i));break;case`ZYX`:this._y=Math.asin(-tO(u,-1,1)),Math.abs(u)<.9999999?(this._x=Math.atan2(d,f),this._z=Math.atan2(s,i)):(this._x=0,this._z=Math.atan2(-a,c));break;case`YZX`:this._z=Math.asin(tO(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(-l,c),this._y=Math.atan2(-u,i)):(this._x=0,this._y=Math.atan2(o,f));break;case`XZY`:this._z=Math.asin(-tO(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(d,c),this._y=Math.atan2(o,i)):(this._x=Math.atan2(-l,f),this._y=0);break;default:GD(`Euler: .setFromRotationMatrix() encountered an unknown order: `+t)}return this._order=t,n===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,n){return Ok.makeRotationFromQuaternion(e),this.setFromRotationMatrix(Ok,t,n)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return kk.setFromEuler(this),this.setFromQuaternion(kk,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}};Ak.DEFAULT_ORDER=`XYZ`;var jk=class{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let e=0;e1){for(let e=0;e0&&(r.userData=this.userData),r.layers=this.layers.mask,r.matrix=this.matrix.toArray(),r.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(r.matrixAutoUpdate=!1),this.isInstancedMesh&&(r.type=`InstancedMesh`,r.count=this.count,r.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(r.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(r.type=`BatchedMesh`,r.perObjectFrustumCulled=this.perObjectFrustumCulled,r.sortObjects=this.sortObjects,r.drawRanges=this._drawRanges,r.reservedRanges=this._reservedRanges,r.geometryInfo=this._geometryInfo.map(e=>({...e,boundingBox:e.boundingBox?e.boundingBox.toJSON():void 0,boundingSphere:e.boundingSphere?e.boundingSphere.toJSON():void 0})),r.instanceInfo=this._instanceInfo.map(e=>({...e})),r.availableInstanceIds=this._availableInstanceIds.slice(),r.availableGeometryIds=this._availableGeometryIds.slice(),r.nextIndexStart=this._nextIndexStart,r.nextVertexStart=this._nextVertexStart,r.geometryCount=this._geometryCount,r.maxInstanceCount=this._maxInstanceCount,r.maxVertexCount=this._maxVertexCount,r.maxIndexCount=this._maxIndexCount,r.geometryInitialized=this._geometryInitialized,r.matricesTexture=this._matricesTexture.toJSON(e),r.indirectTexture=this._indirectTexture.toJSON(e),this._colorsTexture!==null&&(r.colorsTexture=this._colorsTexture.toJSON(e)),this.boundingSphere!==null&&(r.boundingSphere=this.boundingSphere.toJSON()),this.boundingBox!==null&&(r.boundingBox=this.boundingBox.toJSON()));function i(t,n){return t[n.uuid]===void 0&&(t[n.uuid]=n.toJSON(e)),n.uuid}if(this.isScene)this.background&&(this.background.isColor?r.background=this.background.toJSON():this.background.isTexture&&(r.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(r.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){r.geometry=i(e.geometries,this.geometry);let t=this.geometry.parameters;if(t!==void 0&&t.shapes!==void 0){let n=t.shapes;if(Array.isArray(n))for(let t=0,r=n.length;t0){r.children=[];for(let t=0;t0){r.animations=[];for(let t=0;t0&&(n.geometries=t),r.length>0&&(n.materials=r),i.length>0&&(n.textures=i),o.length>0&&(n.images=o),s.length>0&&(n.shapes=s),c.length>0&&(n.skeletons=c),l.length>0&&(n.animations=l),u.length>0&&(n.nodes=u)}return n.object=r,n;function a(e){let t=[];for(let n in e){let r=e[n];delete r.metadata,t.push(r)}return t}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let t=0;t0?r.multiplyScalar(1/Math.sqrt(i)):r.set(0,0,0)}static getBarycoord(e,t,n,r,i){Jk.subVectors(r,t),Yk.subVectors(n,t),Xk.subVectors(e,t);let a=Jk.dot(Jk),o=Jk.dot(Yk),s=Jk.dot(Xk),c=Yk.dot(Yk),l=Yk.dot(Xk),u=a*c-o*o;if(u===0)return i.set(0,0,0),null;let d=1/u,f=(c*s-o*l)*d,p=(a*l-o*s)*d;return i.set(1-f-p,p,f)}static containsPoint(e,t,n,r){return this.getBarycoord(e,t,n,r,Zk)!==null&&Zk.x>=0&&Zk.y>=0&&Zk.x+Zk.y<=1}static getInterpolation(e,t,n,r,i,a,o,s){return this.getBarycoord(e,t,n,r,Zk)===null?(s.x=0,s.y=0,`z`in s&&(s.z=0),`w`in s&&(s.w=0),null):(s.setScalar(0),s.addScaledVector(i,Zk.x),s.addScaledVector(a,Zk.y),s.addScaledVector(o,Zk.z),s)}static getInterpolatedAttribute(e,t,n,r,i,a){return iA.setScalar(0),aA.setScalar(0),oA.setScalar(0),iA.fromBufferAttribute(e,t),aA.fromBufferAttribute(e,n),oA.fromBufferAttribute(e,r),a.setScalar(0),a.addScaledVector(iA,i.x),a.addScaledVector(aA,i.y),a.addScaledVector(oA,i.z),a}static isFrontFacing(e,t,n,r){return Jk.subVectors(n,t),Yk.subVectors(e,t),Jk.cross(Yk).dot(r)<0}set(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this}setFromPointsAndIndices(e,t,n,r){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[r]),this}setFromAttributeAndIndices(e,t,n,r){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,n),this.c.fromBufferAttribute(e,r),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return Jk.subVectors(this.c,this.b),Yk.subVectors(this.a,this.b),Jk.cross(Yk).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(t){return e.getNormal(this.a,this.b,this.c,t)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(t,n){return e.getBarycoord(t,this.a,this.b,this.c,n)}getInterpolation(t,n,r,i,a){return e.getInterpolation(t,this.a,this.b,this.c,n,r,i,a)}containsPoint(t){return e.containsPoint(t,this.a,this.b,this.c)}isFrontFacing(t){return e.isFrontFacing(this.a,this.b,this.c,t)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){let n=this.a,r=this.b,i=this.c,a,o;Qk.subVectors(r,n),$k.subVectors(i,n),tA.subVectors(e,n);let s=Qk.dot(tA),c=$k.dot(tA);if(s<=0&&c<=0)return t.copy(n);nA.subVectors(e,r);let l=Qk.dot(nA),u=$k.dot(nA);if(l>=0&&u<=l)return t.copy(r);let d=s*u-l*c;if(d<=0&&s>=0&&l<=0)return a=s/(s-l),t.copy(n).addScaledVector(Qk,a);rA.subVectors(e,i);let f=Qk.dot(rA),p=$k.dot(rA);if(p>=0&&f<=p)return t.copy(i);let m=f*c-s*p;if(m<=0&&c>=0&&p<=0)return o=c/(c-p),t.copy(n).addScaledVector($k,o);let h=l*p-f*u;if(h<=0&&u-l>=0&&f-p>=0)return eA.subVectors(i,r),o=(u-l)/(u-l+(f-p)),t.copy(r).addScaledVector(eA,o);let g=1/(h+m+d);return a=m*g,o=d*g,t.copy(n).addScaledVector(Qk,a).addScaledVector($k,o)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}},cA={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},lA={h:0,s:0,l:0},uA={h:0,s:0,l:0};function dA(e,t,n){return n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*6*(2/3-n):e}var fA=class{constructor(e,t,n){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,t,n)}set(e,t,n){if(t===void 0&&n===void 0){let t=e;t&&t.isColor?this.copy(t):typeof t==`number`?this.setHex(t):typeof t==`string`&&this.setStyle(t)}else this.setRGB(e,t,n);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=MD){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,jO.colorSpaceToWorking(this,t),this}setRGB(e,t,n,r=jO.workingColorSpace){return this.r=e,this.g=t,this.b=n,jO.colorSpaceToWorking(this,r),this}setHSL(e,t,n,r=jO.workingColorSpace){if(e=nO(e,1),t=tO(t,0,1),n=tO(n,0,1),t===0)this.r=this.g=this.b=n;else{let r=n<=.5?n*(1+t):n+t-n*t,i=2*n-r;this.r=dA(i,r,e+1/3),this.g=dA(i,r,e),this.b=dA(i,r,e-1/3)}return jO.colorSpaceToWorking(this,r),this}setStyle(e,t=MD){function n(t){t!==void 0&&parseFloat(t)<1&&GD(`Color: Alpha component of `+e+` will be ignored.`)}let r;if(r=/^(\w+)\(([^\)]*)\)/.exec(e)){let i,a=r[1],o=r[2];switch(a){case`rgb`:case`rgba`:if(i=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return n(i[4]),this.setRGB(Math.min(255,parseInt(i[1],10))/255,Math.min(255,parseInt(i[2],10))/255,Math.min(255,parseInt(i[3],10))/255,t);if(i=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return n(i[4]),this.setRGB(Math.min(100,parseInt(i[1],10))/100,Math.min(100,parseInt(i[2],10))/100,Math.min(100,parseInt(i[3],10))/100,t);break;case`hsl`:case`hsla`:if(i=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return n(i[4]),this.setHSL(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,t);break;default:GD(`Color: Unknown color model `+e)}}else if(r=/^\#([A-Fa-f\d]+)$/.exec(e)){let n=r[1],i=n.length;if(i===3)return this.setRGB(parseInt(n.charAt(0),16)/15,parseInt(n.charAt(1),16)/15,parseInt(n.charAt(2),16)/15,t);if(i===6)return this.setHex(parseInt(n,16),t);GD(`Color: Invalid hex color `+e)}else if(e&&e.length>0)return this.setColorName(e,t);return this}setColorName(e,t=MD){let n=cA[e.toLowerCase()];return n===void 0?GD(`Color: Unknown color `+e):this.setHex(n,t),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=MO(e.r),this.g=MO(e.g),this.b=MO(e.b),this}copyLinearToSRGB(e){return this.r=NO(e.r),this.g=NO(e.g),this.b=NO(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=MD){return jO.workingToColorSpace(pA.copy(this),e),Math.round(tO(pA.r*255,0,255))*65536+Math.round(tO(pA.g*255,0,255))*256+Math.round(tO(pA.b*255,0,255))}getHexString(e=MD){return(`000000`+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=jO.workingColorSpace){jO.workingToColorSpace(pA.copy(this),t);let n=pA.r,r=pA.g,i=pA.b,a=Math.max(n,r,i),o=Math.min(n,r,i),s,c,l=(o+a)/2;if(o===a)s=0,c=0;else{let e=a-o;switch(c=l<=.5?e/(a+o):e/(2-a-o),a){case n:s=(r-i)/e+(r0!=e>0&&this.version++,this._alphaTest=e}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(let t in e){let n=e[t];if(n===void 0){GD(`Material: parameter '${t}' has value of undefined.`);continue}let r=this[t];if(r===void 0){GD(`Material: '${t}' is not a property of THREE.${this.type}.`);continue}r&&r.isColor?r.set(n):r&&r.isVector3&&n&&n.isVector3?r.copy(n):this[t]=n}}toJSON(e){let t=e===void 0||typeof e==`string`;t&&(e={textures:{},images:{}});let n={metadata:{version:4.7,type:`Material`,generator:`Material.toJSON`}};n.uuid=this.uuid,n.type=this.type,this.name!==``&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),this.roughness!==void 0&&(n.roughness=this.roughness),this.metalness!==void 0&&(n.metalness=this.metalness),this.sheen!==void 0&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity!==void 0&&this.emissiveIntensity!==1&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(n.shininess=this.shininess),this.clearcoat!==void 0&&(n.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.sheenColorMap&&this.sheenColorMap.isTexture&&(n.sheenColorMap=this.sheenColorMap.toJSON(e).uuid),this.sheenRoughnessMap&&this.sheenRoughnessMap.isTexture&&(n.sheenRoughnessMap=this.sheenRoughnessMap.toJSON(e).uuid),this.dispersion!==void 0&&(n.dispersion=this.dispersion),this.iridescence!==void 0&&(n.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(n.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(n.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(n.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(n.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(n.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(n.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(n.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(e).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(e).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(e).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(e).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(e).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(n.combine=this.combine)),this.envMapRotation!==void 0&&(n.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(n.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(n.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(n.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(n.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(n.size=this.size),this.shadowSide!==null&&(n.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==1&&(n.blending=this.blending),this.side!==0&&(n.side=this.side),this.vertexColors===!0&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),this.transparent===!0&&(n.transparent=!0),this.blendSrc!==204&&(n.blendSrc=this.blendSrc),this.blendDst!==205&&(n.blendDst=this.blendDst),this.blendEquation!==100&&(n.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(n.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(n.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(n.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(n.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(n.blendAlpha=this.blendAlpha),this.depthFunc!==3&&(n.depthFunc=this.depthFunc),this.depthTest===!1&&(n.depthTest=this.depthTest),this.depthWrite===!1&&(n.depthWrite=this.depthWrite),this.colorWrite===!1&&(n.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(n.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==519&&(n.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(n.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(n.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==7680&&(n.stencilFail=this.stencilFail),this.stencilZFail!==7680&&(n.stencilZFail=this.stencilZFail),this.stencilZPass!==7680&&(n.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(n.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(n.rotation=this.rotation),this.polygonOffset===!0&&(n.polygonOffset=!0),this.polygonOffsetFactor!==0&&(n.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(n.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(n.linewidth=this.linewidth),this.dashSize!==void 0&&(n.dashSize=this.dashSize),this.gapSize!==void 0&&(n.gapSize=this.gapSize),this.scale!==void 0&&(n.scale=this.scale),this.dithering===!0&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),this.alphaHash===!0&&(n.alphaHash=!0),this.alphaToCoverage===!0&&(n.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(n.premultipliedAlpha=!0),this.forceSinglePass===!0&&(n.forceSinglePass=!0),this.allowOverride===!1&&(n.allowOverride=!1),this.wireframe===!0&&(n.wireframe=!0),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!==`round`&&(n.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!==`round`&&(n.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(n.flatShading=!0),this.visible===!1&&(n.visible=!1),this.toneMapped===!1&&(n.toneMapped=!1),this.fog===!1&&(n.fog=!1),Object.keys(this.userData).length>0&&(n.userData=this.userData);function r(e){let t=[];for(let n in e){let r=e[n];delete r.metadata,t.push(r)}return t}if(t){let t=r(e.textures),i=r(e.images);t.length>0&&(n.textures=t),i.length>0&&(n.images=i)}return n}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;let t=e.clippingPlanes,n=null;if(t!==null){let e=t.length;n=Array(e);for(let r=0;r!==e;++r)n[r]=t[r].clone()}return this.clippingPlanes=n,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.allowOverride=e.allowOverride,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:`dispose`})}set needsUpdate(e){e===!0&&this.version++}},gA=class extends hA{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type=`MeshBasicMaterial`,this.color=new fA(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Ak,this.combine=0,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=`round`,this.wireframeLinejoin=`round`,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}},_A=new Z,vA=new X,yA=0,bA=class{constructor(e,t,n=!1){if(Array.isArray(e))throw TypeError(`THREE.BufferAttribute: array should be a Typed Array.`);this.isBufferAttribute=!0,Object.defineProperty(this,"id",{value:yA++}),this.name=``,this.array=e,this.itemSize=t,this.count=e===void 0?0:e.length/t,this.normalized=n,this.usage=LD,this.updateRanges=[],this.gpuType=EE,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,t,n){e*=this.itemSize,n*=t.itemSize;for(let r=0,i=this.itemSize;rt.count&&GD(`BufferGeometry: Buffer size too small for points data. Use .dispose() and create a new geometry.`),t.needsUpdate=!0}return this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new qO);let e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){KD(`BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.`,this),this.boundingBox.set(new Z(-1/0,-1/0,-1/0),new Z(1/0,1/0,1/0));return}if(e!==void 0){if(this.boundingBox.setFromBufferAttribute(e),t)for(let e=0,n=t.length;e0&&(e.userData=this.userData),this.parameters!==void 0){let t=this.parameters;for(let n in t)t[n]!==void 0&&(e[n]=t[n]);return e}e.data={attributes:{}};let t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});let n=this.attributes;for(let t in n){let r=n[t];e.data.attributes[t]=r.toJSON(e.data)}let r={},i=!1;for(let t in this.morphAttributes){let n=this.morphAttributes[t],a=[];for(let t=0,r=n.length;t0&&(r[t]=a,i=!0)}i&&(e.data.morphAttributes=r,e.data.morphTargetsRelative=this.morphTargetsRelative);let a=this.groups;a.length>0&&(e.data.groups=JSON.parse(JSON.stringify(a)));let o=this.boundingSphere;return o!==null&&(e.data.boundingSphere=o.toJSON()),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;let t={};this.name=e.name;let n=e.index;n!==null&&this.setIndex(n.clone());let r=e.attributes;for(let e in r){let n=r[e];this.setAttribute(e,n.clone(t))}let i=e.morphAttributes;for(let e in i){let n=[],r=i[e];for(let e=0,i=r.length;e0){let n=e[t[0]];if(n!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=n.length;e(e.far-e.near)**2))&&(MA.copy(i).invert(),NA.copy(e.ray).applyMatrix4(MA),(n.boundingBox===null||NA.intersectsBox(n.boundingBox)!==!1)&&this._computeIntersections(e,t,NA)))}_computeIntersections(e,t,n){let r,i=this.geometry,a=this.material,o=i.index,s=i.attributes.position,c=i.attributes.uv,l=i.attributes.uv1,u=i.attributes.normal,d=i.groups,f=i.drawRange;if(o!==null){if(Array.isArray(a))for(let i=0,s=d.length;in.far?null:{distance:l,point:HA.clone(),object:e}}function WA(e,t,n,r,i,a,o,s,c,l){e.getVertexPosition(s,IA),e.getVertexPosition(c,LA),e.getVertexPosition(l,RA);let u=UA(e,t,n,r,IA,LA,RA,VA);if(u){let e=new Z;sA.getBarycoord(VA,IA,LA,RA,e),i&&(u.uv=sA.getInterpolatedAttribute(i,s,c,l,e,new X)),a&&(u.uv1=sA.getInterpolatedAttribute(a,s,c,l,e,new X)),o&&(u.normal=sA.getInterpolatedAttribute(o,s,c,l,e,new Z),u.normal.dot(r.direction)>0&&u.normal.multiplyScalar(-1));let t={a:s,b:c,c:l,normal:new Z,materialIndex:0};sA.getNormal(IA,LA,RA,t.normal),u.face=t,u.barycoord=e}return u}var GA=class e extends jA{constructor(e=1,t=1,n=1,r=1,i=1,a=1){super(),this.type=`BoxGeometry`,this.parameters={width:e,height:t,depth:n,widthSegments:r,heightSegments:i,depthSegments:a};let o=this;r=Math.floor(r),i=Math.floor(i),a=Math.floor(a);let s=[],c=[],l=[],u=[],d=0,f=0;p(`z`,`y`,`x`,-1,-1,n,t,e,a,i,0),p(`z`,`y`,`x`,1,-1,n,t,-e,a,i,1),p(`x`,`z`,`y`,1,1,e,n,t,r,a,2),p(`x`,`z`,`y`,1,-1,e,n,-t,r,a,3),p(`x`,`y`,`z`,1,-1,e,t,n,r,i,4),p(`x`,`y`,`z`,-1,-1,e,t,-n,r,i,5),this.setIndex(s),this.setAttribute(`position`,new CA(c,3)),this.setAttribute(`normal`,new CA(l,3)),this.setAttribute(`uv`,new CA(u,2));function p(e,t,n,r,i,a,p,m,h,g,_){let v=a/h,y=p/g,b=a/2,x=p/2,S=m/2,C=h+1,w=g+1,T=0,E=0,D=new Z;for(let a=0;a0?1:-1,l.push(D.x,D.y,D.z),u.push(s/h),u.push(1-a/g),T+=1}for(let e=0;ei.value||r.value||o.value?tc(t.default({present:o.value})[0],{ref:e=>{let t=ad(e);return t?.hasAttribute===void 0||(t?.hasAttribute(`data-reka-popper-content-wrapper`)?a.value=t.firstElementChild:a.value=t),t}}):null}}),gf=R({name:`PrimitiveSlot`,inheritAttrs:!1,setup(e,{attrs:t,slots:n}){return()=>{if(!n.default)return null;let e=md(n.default()),r=e.findIndex(e=>e.type!==os);if(r===-1)return e;let i=e[r];delete i.props?.ref;let a=i.props?ks(t,i.props):t,o=Ss({...i,props:{}},a);return e.length===1?o:(e[r]=o,e)}}}),_f=[`area`,`img`,`input`],vf=R({name:`Primitive`,inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:`div`}},setup(e,{attrs:t,slots:n}){let r=e.asChild?`template`:e.as;return typeof r==`string`&&_f.includes(r)?()=>tc(r,t):r===`template`?()=>tc(gf,t,{default:n.default}):()=>tc(e.as,t,{default:n.default})}});function yf(){let e=F();return{primitiveElement:e,currentElement:W(()=>[`#text`,`#comment`].includes(e.value?.$el.nodeName)?e.value?.$el.nextElementSibling:ad(e))}}var bf=`dismissableLayer.pointerDownOutside`,xf=`dismissableLayer.focusOutside`;function Sf(e,t){if(!(t instanceof Element))return!1;let n=t.closest(`[data-dismissable-layer]`),r=e.dataset.dismissableLayer===``?e:e.querySelector(`[data-dismissable-layer]`),i=Array.from(e.ownerDocument.querySelectorAll(`[data-dismissable-layer]`));return!!(n&&(r===n||i.indexOf(r){});return br(o=>{if(!Hu||!dn(n))return;let s=async n=>{let o=n.target;if(!(!t?.value||!o)){if(Sf(t.value,o)){i.value=!1;return}if(n.target&&!i.value){let t={originalEvent:n};function i(){Iu(bf,e,t)}n.pointerType===`touch`?(r.removeEventListener(`click`,a.value),a.value=i,r.addEventListener(`click`,a.value,{once:!0})):i()}else r.removeEventListener(`click`,a.value);i.value=!1}},c=window.setTimeout(()=>{r.addEventListener(`pointerdown`,s)},0);o(()=>{window.clearTimeout(c),r.removeEventListener(`pointerdown`,s),r.removeEventListener(`click`,a.value)})}),{onPointerDownCapture:()=>{dn(n)&&(i.value=!0)}}}function wf(e,t,n=!0){let r=t?.value?.ownerDocument??globalThis?.document,i=F(!1);return br(a=>{if(!Hu||!dn(n))return;let o=async n=>{if(!t?.value)return;await Yn(),await Yn();let r=n.target;!t.value||!r||Sf(t.value,r)||n.target&&!i.value&&Iu(xf,e,{originalEvent:n})};r.addEventListener(`focusin`,o),a(()=>r.removeEventListener(`focusin`,o))}),{onFocusCapture:()=>{dn(n)&&(i.value=!0)},onBlurCapture:()=>{dn(n)&&(i.value=!1)}}}var Tf=R({__name:`DismissableLayer`,props:{disableOutsidePointerEvents:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1,default:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`dismiss`],setup(e,{emit:t}){let n=e,r=t,{forwardRef:i,currentElement:a}=Id(),o=W(()=>a.value?.ownerDocument??globalThis.document),s=W(()=>_d.layersRoot),c=W(()=>a.value?Array.from(s.value).indexOf(a.value):-1),l=W(()=>_d.layersWithOutsidePointerEventsDisabled.size>0),u=W(()=>{let e=Array.from(s.value),[t]=[..._d.layersWithOutsidePointerEventsDisabled].slice(-1),n=e.indexOf(t);return c.value>=n}),d=Cf(async e=>{let t=[..._d.branches].some(t=>t?.contains(e.target));!n.present||!u.value||t||(r(`pointerDownOutside`,e),r(`interactOutside`,e),await Yn(),e.defaultPrevented||r(`dismiss`))},a),f=wf(e=>{let t=[..._d.branches].some(t=>t?.contains(e.target));!n.present||t||(r(`focusOutside`,e),r(`interactOutside`,e),e.defaultPrevented||r(`dismiss`))},a);return ud(`Escape`,e=>{n.present&&c.value===s.value.size-1&&(r(`escapeKeyDown`,e),e.defaultPrevented||r(`dismiss`))}),Cr([a,()=>n.disableOutsidePointerEvents,()=>n.present],([e,t,n],r,i)=>{!e||!n||t&&(_d.layersWithOutsidePointerEventsDisabled.size===0&&(_d.originalBodyPointerEvents=o.value.body.style.pointerEvents,o.value.body.style.pointerEvents=`none`),_d.layersWithOutsidePointerEventsDisabled.add(e),i(()=>{_d.layersWithOutsidePointerEventsDisabled.delete(e),_d.layersWithOutsidePointerEventsDisabled.size===0&&!Lu(_d.originalBodyPointerEvents)&&(o.value.body.style.pointerEvents=_d.originalBodyPointerEvents)}))},{immediate:!0}),Cr([a,()=>n.present],([e,t],n,r)=>{!e||!t||(s.value.add(e),r(()=>{s.value.delete(e)}))},{immediate:!0}),br(e=>{e(()=>{a.value&&(s.value.delete(a.value),_d.layersWithOutsidePointerEventsDisabled.delete(a.value))})}),(e,t)=>(B(),V(I(vf),{ref:I(i),"as-child":e.asChild,as:e.as,"data-dismissable-layer":``,style:ue({pointerEvents:l.value?u.value?`auto`:`none`:void 0}),onFocusCapture:I(f).onFocusCapture,onBlurCapture:I(f).onBlurCapture,onPointerdownCapture:I(d).onPointerDownCapture},{default:L(()=>[z(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`style`,`onFocusCapture`,`onBlurCapture`,`onPointerdownCapture`]))}}),Ef=Vu(()=>F([]));function Df(){let e=Ef();return{add(t){let n=e.value[0];t!==n&&n?.pause(),e.value=Of(e.value,t),e.value.unshift(t)},remove(t){e.value=Of(e.value,t),e.value[0]?.resume()}}}function Of(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}var kf=`focusScope.autoFocusOnMount`,Af=`focusScope.autoFocusOnUnmount`,jf={bubbles:!1,cancelable:!0};function Mf(e,{select:t=!1}={}){let n=Fu();for(let r of e)if(Rf(r,{select:t}),Fu()!==n)return!0}function Nf(e){let t=Pf(e);return[Ff(t,e),Ff(t.reverse(),e)]}function Pf(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 Ff(e,t){for(let n of e)if(!If(n,{upTo:t}))return n}function If(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 Lf(e){return e instanceof HTMLInputElement&&`select`in e}function Rf(e,{select:t=!1}={}){if(e&&e.focus){let n=Fu();e.focus({preventScroll:!0}),e!==n&&Lf(e)&&t&&e.select()}}var zf=R({__name:`FocusScope`,props:{loop:{type:Boolean,required:!1,default:!1},trapped:{type:Boolean,required:!1,default:!1},present:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`mountAutoFocus`,`unmountAutoFocus`],setup(e,{emit:t}){let n=e,r=t,{currentRef:i,currentElement:a}=Id(),o=F(null),s=Df(),c=Kt({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});br(e=>{if(!Hu)return;let t=a.value;if(!n.trapped)return;function r(e){if(c.paused||!t)return;let n=e.target;t.contains(n)?o.value=n:Rf(o.value,{select:!0})}function i(e){if(c.paused||!t)return;let n=e.relatedTarget;n!==null&&(t.contains(n)||Rf(o.value,{select:!0}))}function s(e){let n=o.value;n!==null&&e.some(e=>e.removedNodes.length>0)&&(t.contains(n)||Rf(t))}document.addEventListener(`focusin`,r),document.addEventListener(`focusout`,i);let l=new MutationObserver(s);t&&l.observe(t,{childList:!0,subtree:!0}),e(()=>{document.removeEventListener(`focusin`,r),document.removeEventListener(`focusout`,i),l.disconnect()})});function l(e,t){let n=new CustomEvent(kf,jf),i=e=>r(`mountAutoFocus`,e);e.addEventListener(kf,i),e.dispatchEvent(n),e.removeEventListener(kf,i),n.defaultPrevented||(Mf(Pf(e),{select:!0}),Fu()===t&&Rf(e))}br(async e=>{let t=a.value;if(await Yn(),!t)return;n.present!==!1&&s.add(c);let i=Fu();!t.contains(i)&&n.present!==!1&&l(t,i),e(()=>{let e=new CustomEvent(Af,jf),n=e=>{r(`unmountAutoFocus`,e)};t.addEventListener(Af,n),t.dispatchEvent(e),t.setAttribute(`data-focus-scope-unmounting`,``),setTimeout(()=>{e.defaultPrevented||Rf(i??document.body,{select:!0}),t.removeEventListener(Af,n),s.remove(c),t.removeAttribute(`data-focus-scope-unmounting`)},0)})}),Cr(()=>n.present,async(e,t)=>{if(!Hu)return;if(e===!1&&t===!0){s.remove(c);return}if(e!==!0||t!==!1)return;s.add(c),await Yn();let n=a.value;if(!n)return;let r=Fu();n.contains(r)||l(n,r)});function u(e){if(!n.loop&&!n.trapped||c.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,r=Fu();if(t&&r){let t=e.currentTarget,[i,a]=Nf(t);i&&a?!e.shiftKey&&r===a?(e.preventDefault(),n.loop&&Rf(i,{select:!0})):e.shiftKey&&r===i&&(e.preventDefault(),n.loop&&Rf(a,{select:!0})):r===t&&e.preventDefault()}}return(e,t)=>(B(),V(I(vf),{ref_key:`currentRef`,ref:i,tabindex:`-1`,"as-child":e.asChild,as:e.as,onKeydown:u},{default:L(()=>[z(e.$slots,`default`)]),_:3},8,[`as-child`,`as`]))}}),Bf=[`Enter`,` `],Vf=[`ArrowDown`,`PageUp`,`Home`],Hf=[`ArrowUp`,`PageDown`,`End`];[...Vf,...Hf],[...Bf],[...Bf];function Uf(e){let t=Fu();for(let n of e)if(n===t||(n.focus(),Fu()!==t))return}var Wf=R({__name:`Teleport`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e,n=hd({}),r=W(()=>t.to??n.teleportTo?.value??`body`),i=sd();return(e,t)=>I(i)||e.forceMount?(B(),V(Rr,{key:0,to:r.value,disabled:e.disabled,defer:e.defer},[z(e.$slots,`default`)],8,[`to`,`disabled`,`defer`])):Ts(`v-if`,!0)}}),Gf=`data-reka-collection-item`;function Kf(e={}){let{key:t=``,isProvider:n=!1}=e,r=`${t}CollectionProvider`,i;n?(i={collectionRef:F(),itemMap:F(new Map)},hr(r,i)):i=gr(r);let a=(e=!1)=>{let t=i.collectionRef.value;if(!t)return[];let n=Array.from(t.querySelectorAll(`[${Gf}]`)),r=new Map(n.map((e,t)=>[e,t])),a=Array.from(i.itemMap.value.values()).sort((e,t)=>(r.get(e.ref)??-1)-(r.get(t.ref)??-1));return e?a:a.filter(e=>e.ref.dataset.disabled!==``)},o=R({name:`CollectionSlot`,inheritAttrs:!1,setup(e,{slots:t,attrs:n}){let{primitiveElement:r,currentElement:a}=yf();return Cr(a,()=>{i.collectionRef.value=a.value}),()=>tc(gf,{ref:r,...n},t)}}),s=R({name:`CollectionItem`,inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(e,{slots:t,attrs:n}){let{primitiveElement:r,currentElement:a}=yf();return br(t=>{if(a.value){let n=nn(a.value);i.itemMap.value.set(n,{ref:a.value,value:e.value}),t(()=>i.itemMap.value.delete(n))}}),()=>tc(gf,{...n,[Gf]:``,ref:r},t)}});return{getItems:a,reactiveItems:W(()=>Array.from(i.itemMap.value.values())),itemMapSize:W(()=>i.itemMap.value.size),CollectionSlot:o,CollectionItem:s}}var qf=R({__name:`VisuallyHidden`,props:{feature:{type:String,required:!1,default:`focusable`},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){return(e,t)=>(B(),V(I(vf),{as:e.as,"as-child":e.asChild,"aria-hidden":e.feature===`focusable`||e.feature===`fully-hidden`?`true`:void 0,"data-hidden":e.feature===`fully-hidden`?``:void 0,tabindex:e.feature===`fully-hidden`?`-1`:void 0,style:{position:`absolute`,border:0,width:`1px`,height:`1px`,padding:0,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,clipPath:`inset(50%)`,whiteSpace:`nowrap`,wordWrap:`normal`,top:`-1px`,left:`-1px`}},{default:L(()=>[z(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`aria-hidden`,`data-hidden`,`tabindex`]))}}),Jf=R({inheritAttrs:!1,__name:`VisuallyHiddenInputBubble`,props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:`fully-hidden`}},setup(e){let t=e,{primitiveElement:n,currentElement:r}=yf();return Cr(W(()=>t.checked??t.value),(e,t)=>{if(!r.value)return;let n=r.value,i=window.HTMLInputElement.prototype,a=Object.getOwnPropertyDescriptor(i,`value`).set;if(a&&e!==t){let t=new Event(`input`,{bubbles:!0}),r=new Event(`change`,{bubbles:!0});a.call(n,e),n.dispatchEvent(t),n.dispatchEvent(r)}}),(e,r)=>(B(),V(qf,ks({ref_key:`primitiveElement`,ref:n},{...t,...e.$attrs},{as:`input`}),null,16))}}),Yf=R({inheritAttrs:!1,__name:`VisuallyHiddenInput`,props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:`fully-hidden`}},setup(e){let t=e,n=W(()=>typeof t.value==`object`&&Array.isArray(t.value)&&t.value.length===0&&t.required),r=W(()=>typeof t.value==`string`||typeof t.value==`number`||typeof t.value==`boolean`||t.value===null||t.value===void 0?[{name:t.name,value:t.value}]:typeof t.value==`object`&&Array.isArray(t.value)?t.value.flatMap((e,n)=>typeof e==`object`?Object.entries(e).map(([e,r])=>({name:`${t.name}[${n}][${e}]`,value:r})):{name:`${t.name}[${n}]`,value:e}):t.value!==null&&typeof t.value==`object`&&!Array.isArray(t.value)?Object.entries(t.value).map(([e,n])=>({name:`${t.name}[${e}]`,value:n})):[]);return(e,i)=>(B(),ms(is,null,[Ts(` We render single input if it's required `),n.value?(B(),V(Jf,ks({key:e.name},{...t,...e.$attrs},{name:e.name,value:e.value}),null,16,[`name`,`value`])):(B(!0),ms(is,{key:1},da(r.value,n=>(B(),V(Jf,ks({key:n.name},{ref_for:!0},{...t,...e.$attrs},{name:n.name,value:n.value}),null,16,[`name`,`value`]))),128))],2112))}}),Xf={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function Zf(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function Qf(e,t,n){let r=Zf(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return Xf[r]}function $f(e,t=!1){let n=Fu();for(let r of e)if(r===n||(r.focus({preventScroll:t}),Fu()!==n))return}function ep(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var[tp,np]=Pu(`PopperRoot`),rp=R({inheritAttrs:!1,__name:`PopperRoot`,setup(e){let t=F();return np({anchor:t,onAnchorChange:e=>t.value=e}),(e,t)=>z(e.$slots,`default`)}}),ip=R({__name:`PopperAnchor`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{forwardRef:n,currentElement:r}=Id(),i=tp();return xr(()=>{i.onAnchorChange(t.reference??r.value)}),(e,t)=>(B(),V(I(vf),{ref:I(n),as:e.as,"as-child":e.asChild},{default:L(()=>[z(e.$slots,`default`)]),_:3},8,[`as`,`as-child`]))}});function ap(e){return e!==null}function op(e){return{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]=sp(n),u={start:e.dir===`rtl`?`100%`:`0%`,center:`50%`,end:e.dir===`rtl`?`0%`:`100%`}[l],d={start:`0%`,center:`50%`,end:`100%`}[l],f=(i.arrow?.x??0)+o/2,p=(i.arrow?.y??0)+s/2,m=``,h=``;return c===`bottom`?(m=a?u:`${f}px`,h=`${-s}px`):c===`top`?(m=a?u:`${f}px`,h=`${r.floating.height+s}px`):c===`right`?(m=`${-s}px`,h=a?d:`${p}px`):c===`left`&&(m=`${r.floating.width+s}px`,h=a?d:`${p}px`),{data:{x:m,y:h}}}}}function sp(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var cp=[`top`,`right`,`bottom`,`left`],lp=Math.min,up=Math.max,dp=Math.round,fp=Math.floor,pp=e=>({x:e,y:e}),mp={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function hp(e,t,n){return up(e,lp(t,n))}function gp(e,t){return typeof e==`function`?e(t):e}function _p(e){return e.split(`-`)[0]}function vp(e){return e.split(`-`)[1]}function yp(e){return e===`x`?`y`:`x`}function bp(e){return e===`y`?`height`:`width`}function xp(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Sp(e){return yp(xp(e))}function Cp(e,t,n){n===void 0&&(n=!1);let r=vp(e),i=Sp(e),a=bp(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Mp(o)),[o,Mp(o)]}function wp(e){let t=Mp(e);return[Tp(e),t,Tp(t)]}function Tp(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Ep=[`left`,`right`],Dp=[`right`,`left`],Op=[`top`,`bottom`],kp=[`bottom`,`top`];function Ap(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Dp:Ep:t?Ep:Dp;case`left`:case`right`:return t?Op:kp;default:return[]}}function jp(e,t,n,r){let i=vp(e),a=Ap(_p(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Tp)))),a}function Mp(e){let t=_p(e);return mp[t]+e.slice(t.length)}function Np(e){return{top:0,right:0,bottom:0,left:0,...e}}function Pp(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Np(e)}function Fp(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 Ip(e,t,n){let{reference:r,floating:i}=e,a=xp(t),o=Sp(t),s=bp(o),c=_p(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(vp(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1)}return p}async function Lp(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}=gp(t,e),p=Pp(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Fp(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=Fp(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 Rp=50,zp=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Lp},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Ip(l,r,c),f=r,p=0,m={};for(let n=0;n({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}=gp(e,t)||{};if(l==null)return{};let d=Pp(u),f={x:n,y:r},p=Sp(i),m=bp(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=lp(d[_],T),D=lp(d[v],T),O=E,ee=C-h[m]-D,k=C/2-h[m]/2+w,A=hp(O,k,ee),te=!c.arrow&&vp(i)!=null&&k!==A&&a.reference[m]/2-(ke<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(u!==`alignment`||_===xp(t)||T.every(e=>xp(e.placement)!==_||e.overflows[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=xp(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}if(r!==n)return{reset:{placement:n}}}return{}}}};function Hp(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Up(e){return cp.some(t=>e[t]>=0)}var Wp=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=gp(e,t);switch(i){case`referenceHidden`:{let e=Hp(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:Up(e)}}}case`escaped`:{let e=Hp(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:Up(e)}}}default:return{}}}}},Gp=new Set([`left`,`top`]);async function Kp(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=_p(n),s=vp(n),c=xp(n)===`y`,l=Gp.has(o)?-1:1,u=a&&c?-1:1,d=gp(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 qp=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 Kp(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}}}}},Jp=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}=gp(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=xp(_p(i)),p=yp(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=hp(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=hp(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}}}}}},Yp=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}=gp(e,t),u={x:n,y:r},d=xp(i),f=yp(d),p=u[f],m=u[d],h=gp(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;pn&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=Gp.has(_p(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);mr&&(m=r)}return{[f]:p,[d]:m}}}},Xp=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}=gp(e,t),u=await o.detectOverflow(t,l),d=_p(i),f=vp(i),p=xp(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=lp(h-u[g],v),x=lp(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=up(u.left,0),t=up(u.right,0),n=up(u.top,0),r=up(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:up(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:up(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 Zp(){return typeof window<`u`}function Qp(e){return tm(e)?(e.nodeName||``).toLowerCase():`#document`}function $p(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function em(e){return((tm(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function tm(e){return Zp()?e instanceof Node||e instanceof $p(e).Node:!1}function nm(e){return Zp()?e instanceof Element||e instanceof $p(e).Element:!1}function rm(e){return Zp()?e instanceof HTMLElement||e instanceof $p(e).HTMLElement:!1}function im(e){return!Zp()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof $p(e).ShadowRoot}function am(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=gm(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function om(e){return/^(table|td|th)$/.test(Qp(e))}function sm(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var cm=/transform|translate|scale|rotate|perspective|filter/,lm=/paint|layout|strict|content/,um=e=>!!e&&e!==`none`,dm;function fm(e){let t=nm(e)?gm(e):e;return um(t.transform)||um(t.translate)||um(t.scale)||um(t.rotate)||um(t.perspective)||!mm()&&(um(t.backdropFilter)||um(t.filter))||cm.test(t.willChange||``)||lm.test(t.contain||``)}function pm(e){let t=vm(e);for(;rm(t)&&!hm(t);){if(fm(t))return t;if(sm(t))return null;t=vm(t)}return null}function mm(){return dm??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),dm}function hm(e){return/^(html|body|#document)$/.test(Qp(e))}function gm(e){return $p(e).getComputedStyle(e)}function _m(e){return nm(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function vm(e){if(Qp(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||im(e)&&e.host||em(e);return im(t)?t.host:t}function ym(e){let t=vm(e);return hm(t)?e.ownerDocument?e.ownerDocument.body:e.body:rm(t)&&am(t)?t:ym(t)}function bm(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=ym(e),i=r===e.ownerDocument?.body,a=$p(r);if(i){let e=xm(a);return t.concat(a,a.visualViewport||[],am(r)?r:[],e&&n?bm(e):[])}return t.concat(r,bm(r,[],n))}function xm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Sm(e){let t=gm(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=rm(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=dp(n)!==a||dp(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Cm(e){return nm(e)?e:e.contextElement}function wm(e){let t=Cm(e);if(!rm(t))return pp(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Sm(t),o=(a?dp(n.width):n.width)/r,s=(a?dp(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Tm=pp(0);function Em(e){let t=$p(e);return!mm()||!t.visualViewport?Tm:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Dm(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==$p(e)?!1:t}function Om(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Cm(e),o=pp(1);t&&(r?nm(r)&&(o=wm(r)):o=wm(e));let s=Dm(a,n,r)?Em(a):pp(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=$p(a),t=r&&nm(r)?$p(r):r,n=e,i=xm(n);for(;i&&r&&t!==n;){let e=wm(i),t=i.getBoundingClientRect(),r=gm(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=$p(i),i=xm(n)}}return Fp({width:u,height:d,x:c,y:l})}function km(e,t){let n=_m(e).scrollLeft;return t?t.left+n:Om(em(e)).left+n}function Am(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-km(e,n),y:n.top+t.scrollTop}}function jm(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=em(r),s=t?sm(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=pp(1),u=pp(0),d=rm(r);if((d||!d&&!a)&&((Qp(r)!==`body`||am(o))&&(c=_m(r)),d)){let e=Om(r);l=wm(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Am(o,c):pp(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 Mm(e){return Array.from(e.getClientRects())}function Nm(e){let t=em(e),n=_m(e),r=e.ownerDocument.body,i=up(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=up(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+km(e),s=-n.scrollTop;return gm(r).direction===`rtl`&&(o+=up(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var Pm=25;function Fm(e,t){let n=$p(e),r=em(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=mm();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=km(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<=Pm&&(a-=o)}else l<=Pm&&(a+=l);return{width:a,height:o,x:s,y:c}}function Im(e,t){let n=Om(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=rm(e)?wm(e):pp(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Lm(e,t,n){let r;if(t===`viewport`)r=Fm(e,n);else if(t===`document`)r=Nm(em(e));else if(nm(t))r=Im(t,n);else{let n=Em(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Fp(r)}function Rm(e,t){let n=vm(e);return n===t||!nm(n)||hm(n)?!1:gm(n).position===`fixed`||Rm(n,t)}function zm(e,t){let n=t.get(e);if(n)return n;let r=bm(e,[],!1).filter(e=>nm(e)&&Qp(e)!==`body`),i=null,a=gm(e).position===`fixed`,o=a?vm(e):e;for(;nm(o)&&!hm(o);){let t=gm(o),n=fm(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||am(o)&&!n&&Rm(e,o))?r=r.filter(e=>e!==o):i=t,o=vm(o)}return t.set(e,r),r}function Bm(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?sm(t)?[]:zm(t,this._c):[].concat(n),r],o=Lm(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e{o(!1,1e-7)},1e3)}n===1&&!Ym(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 Zm(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=Cm(e),u=i||a?[...l?bm(l):[],...t?bm(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Xm(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?Om(e):null;c&&g();function g(){let t=Om(e);h&&!Ym(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 Qm=qp,$m=Jp,eh=Vp,th=Xp,nh=Wp,rh=Bp,ih=Yp,ah=(e,t,n)=>{let r=new Map,i={platform:Jm,...n},a={...i.platform,_c:r};return zp(e,t,{...i,platform:a})};function oh(e){return typeof e==`object`&&!!e&&`$el`in e}function sh(e){if(oh(e)){let t=e.$el;return tm(t)&&Qp(t)===`#comment`?null:t}return e}function ch(e){return typeof e==`function`?e():I(e)}function lh(e){return{name:`arrow`,options:e,fn(t){let n=sh(ch(e.element));return n==null?{}:rh({element:n,padding:e.padding}).fn(t)}}}function uh(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function dh(e,t){let n=uh(e);return Math.round(t*n)/n}function fh(e,t,n){n===void 0&&(n={});let r=n.whileElementsMounted,i=W(()=>ch(n.open)??!0),a=W(()=>ch(n.middleware)),o=W(()=>ch(n.placement)??`bottom`),s=W(()=>ch(n.strategy)??`absolute`),c=W(()=>ch(n.transform)??!0),l=W(()=>sh(e.value)),u=W(()=>sh(t.value)),d=F(0),f=F(0),p=F(s.value),m=F(o.value),h=sn({}),g=F(!1),_=W(()=>{let e={position:p.value,left:`0`,top:`0`};if(!u.value)return e;let t=dh(u.value,d.value),n=dh(u.value,f.value);return c.value?{...e,transform:`translate(`+t+`px, `+n+`px)`,...uh(u.value)>=1.5&&{willChange:`transform`}}:{position:p.value,left:t+`px`,top:n+`px`}}),v;function y(){if(l.value==null||u.value==null)return;let e=i.value;ah(l.value,u.value,{middleware:a.value,placement:o.value,strategy:s.value}).then(t=>{d.value=t.x,f.value=t.y,p.value=t.strategy,m.value=t.placement,h.value=t.middlewareData,g.value=e!==!1})}function b(){typeof v==`function`&&(v(),v=void 0)}function x(){if(b(),r===void 0){y();return}if(l.value!=null&&u.value!=null){v=r(l.value,u.value,y);return}}function S(){i.value||(g.value=!1)}return Cr([a,o,s,i],y,{flush:`sync`}),Cr([l,u],x,{flush:`sync`}),Cr(i,S,{flush:`sync`}),Ae()&&je(b),{x:Yt(d),y:Yt(f),strategy:Yt(p),placement:Yt(m),middlewareData:Yt(h),isPositioned:Yt(g),floatingStyles:_,update:y}}var ph=[`dir`],mh={side:`bottom`,sideOffset:0,sideFlip:!0,align:`center`,alignOffset:0,alignFlip:!0,arrowPadding:0,hideShiftedArrow:!0,avoidCollisions:!0,collisionBoundary:()=>[],collisionPadding:0,sticky:`partial`,hideWhenDetached:!1,positionStrategy:`fixed`,updatePositionStrategy:`optimized`,prioritizePosition:!1},[hh,gh]=Pu(`PopperContent`),_h=R({inheritAttrs:!1,__name:`PopperContent`,props:ja({memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...mh}),emits:[`placed`],setup(e,{emit:t}){let n=e,r=t,i=tp(),{forwardRef:a,currentElement:o}=Id(),s=Ad(W(()=>n.dir)),c=F(),l=F(),{width:u,height:d}=cf(l),f=W(()=>n.side+(n.align===`center`?``:`-${n.align}`)),p=W(()=>typeof n.collisionPadding==`number`?n.collisionPadding:{top:0,right:0,bottom:0,left:0,...n.collisionPadding}),m=W(()=>Array.isArray(n.collisionBoundary)?n.collisionBoundary:[n.collisionBoundary]),h=W(()=>({padding:p.value,boundary:m.value.filter(ap),altBoundary:m.value.length>0})),g=W(()=>({mainAxis:n.sideFlip,crossAxis:n.alignFlip})),_=W(()=>[Qm({mainAxis:n.sideOffset+d.value,alignmentAxis:n.alignOffset}),n.prioritizePosition&&n.avoidCollisions&&eh({...h.value,...g.value}),n.avoidCollisions&&$m({mainAxis:!0,crossAxis:!!n.prioritizePosition,limiter:n.sticky===`partial`?ih():void 0,...h.value}),!n.prioritizePosition&&n.avoidCollisions&&eh({...h.value,...g.value}),th({...h.value,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--reka-popper-available-width`,`${n}px`),o.setProperty(`--reka-popper-available-height`,`${r}px`),o.setProperty(`--reka-popper-anchor-width`,`${i}px`),o.setProperty(`--reka-popper-anchor-height`,`${a}px`)}}),l.value&&lh({element:l.value,padding:n.arrowPadding}),op({arrowWidth:u.value,arrowHeight:d.value,dir:s.value}),n.hideWhenDetached&&nh({strategy:`referenceHidden`,...h.value})]),{floatingStyles:v,placement:y,isPositioned:b,middlewareData:x,update:S}=fh(W(()=>n.reference??i.anchor.value),c,{strategy:n.positionStrategy,placement:f,whileElementsMounted:(...e)=>Zm(...e,{layoutShift:!n.disableUpdateOnLayoutShift,animationFrame:n.updatePositionStrategy===`always`}),middleware:_}),C=W(()=>sp(y.value)[0]),w=W(()=>sp(y.value)[1]);xr(()=>{b.value&&r(`placed`)});let T=W(()=>{let e=x.value.arrow?.centerOffset!==0;return n.hideShiftedArrow&&e}),E=F(``);return br(()=>{o.value&&(E.value=window.getComputedStyle(o.value).zIndex)}),gh({placedSide:C,onArrowChange:e=>l.value=e,arrowX:W(()=>x.value.arrow?.x??0),arrowY:W(()=>x.value.arrow?.y??0),shouldHideArrow:T}),(e,t)=>(B(),ms(`div`,{ref_key:`floatingRef`,ref:c,"data-reka-popper-content-wrapper":``,dir:I(s),style:ue({...I(v),transform:I(b)?I(v).transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:E.value,"--reka-popper-transform-origin":[I(x).transformOrigin?.x,I(x).transformOrigin?.y].join(` `),...I(x).hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}})},[n.memoDependencies?rc([n.asChild,n.as,C.value,w.value,I(b),...Object.values(e.$attrs),...n.memoDependencies],()=>(B(),V(I(vf),ks({key:0,ref:I(a)},e.$attrs,{"as-child":n.asChild,as:n.as,"data-side":C.value,"data-align":w.value,style:{animation:I(b)?void 0:`none`}}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`as-child`,`as`,`data-side`,`data-align`,`style`])),t,0):(B(),V(I(vf),ks({key:1,ref:I(a)},e.$attrs,{"as-child":n.asChild,as:n.as,"data-side":C.value,"data-align":w.value,dir:I(s),style:{animation:I(b)?void 0:`none`}}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`as-child`,`as`,`data-side`,`data-align`,`dir`,`style`]))],12,ph))}});function vh(e){let t=hd({nonce:F()});return W(()=>e?.value||t.nonce?.value)}var[yh,bh]=Pu(`RovingFocusGroup`),xh=R({__name:`RovingFocusItem`,props:{tabStopId:{type:String,required:!1},focusable:{type:Boolean,required:!1,default:!0},active:{type:Boolean,required:!1},allowShiftKey:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,n=yh(),r=af(),i=W(()=>t.tabStopId||r),a=W(()=>n.currentTabStopId.value===i.value),{getItems:o,CollectionItem:s}=Kf();Ji(()=>{t.focusable&&n.onFocusableItemAdd()}),Qi(()=>{t.focusable&&n.onFocusableItemRemove()}),Cr(()=>t.focusable,(e,t)=>{e!==t&&(e?n.onFocusableItemAdd():n.onFocusableItemRemove())});function c(e){if(e.key===`Tab`&&e.shiftKey){n.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let r=Qf(e,n.orientation.value,n.dir.value);if(r!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||!t.allowShiftKey&&e.shiftKey)return;e.preventDefault();let i=[...o().map(e=>e.ref).filter(e=>e.dataset.disabled!==``)];if(r===`last`)i.reverse();else if(r===`prev`||r===`next`){r===`prev`&&i.reverse();let t=i.indexOf(e.currentTarget);i=n.loop.value?ep(i,t+1):i.slice(t+1)}Yn(()=>$f(i))}}return(e,t)=>(B(),V(I(s),null,{default:L(()=>[U(I(vf),{tabindex:a.value?0:-1,"data-orientation":I(n).orientation.value,"data-active":e.active?``:void 0,"data-disabled":e.focusable?void 0:``,as:e.as,"as-child":e.asChild,onMousedown:t[0]||=t=>{e.focusable?I(n).onItemFocus(i.value):t.preventDefault()},onFocus:t[1]||=e=>I(n).onItemFocus(i.value),onKeydown:c},{default:L(()=>[z(e.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`data-active`,`data-disabled`,`as`,`as-child`])]),_:3}))}}),[Sh,Ch]=Pu(`CheckboxGroupRoot`);function wh(e){return e===`indeterminate`}function Th(e){return wh(e)?`indeterminate`:e?`checked`:`unchecked`}var[Eh,Dh]=Pu(`CheckboxRoot`),Oh=R({inheritAttrs:!1,__name:`CheckboxRoot`,props:{defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},disabled:{type:Boolean,required:!1},value:{type:null,required:!1,default:`on`},id:{type:String,required:!1},trueValue:{type:null,required:!1,default:()=>!0},falseValue:{type:null,required:!1,default:()=>!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,{forwardRef:i,currentElement:a}=Id(),o=Sh(null),s=pd(n,`modelValue`,r,{defaultValue:n.defaultValue??n.falseValue,passive:n.modelValue===void 0}),c=W(()=>o?.disabled.value||n.disabled),l=W(()=>Au(s.value,n.trueValue)),u=W(()=>Lu(o?.modelValue.value)?s.value===`indeterminate`?`indeterminate`:l.value:Ru(o.modelValue.value,n.value));function d(){if(Lu(o?.modelValue.value))s.value===`indeterminate`?s.value=n.trueValue:s.value=l.value?n.falseValue:n.trueValue;else{let e=[...o.modelValue.value||[]];if(Ru(e,n.value)){let t=e.findIndex(e=>Au(e,n.value));e.splice(t,1)}else e.push(n.value);o.modelValue.value=e}}let f=Fd(a),p=zd(),m=Oa(),h=W(()=>{if(!m[`aria-label`])return n.id&&a.value?document.querySelector(`[for="${n.id}"]`)?.innerText:void 0});return Dh({disabled:c,state:u}),(e,t)=>(B(),ms(is,null,[(B(),V(sa(I(o)?.rovingFocus.value?I(xh):I(vf)),ks({...e.$attrs,...I(p)},{id:e.id,ref:I(i),role:`checkbox`,"as-child":e.asChild,as:e.as,type:e.as===`button`?`button`:void 0,"aria-checked":I(wh)(u.value)?`mixed`:u.value,"aria-required":e.required,"aria-label":e.$attrs[`aria-label`]||h.value,"data-state":I(Th)(u.value),"data-disabled":c.value?``:void 0,disabled:c.value,focusable:I(o)?.rovingFocus.value?!c.value:void 0,onKeydown:su(au(()=>{},[`prevent`]),[`enter`]),onClick:d}),{default:L(()=>[z(e.$slots,`default`,{modelValue:I(s),state:u.value})]),_:3},16,[`id`,`as-child`,`as`,`type`,`aria-checked`,`aria-required`,`aria-label`,`data-state`,`data-disabled`,`disabled`,`focusable`,`onKeydown`])),I(f)&&e.name&&!I(o)?(B(),V(I(Yf),ks({key:0,type:`checkbox`,checked:!!u.value,name:e.name,value:e.value,disabled:c.value,required:e.required},I(p)),null,16,[`checked`,`name`,`value`,`disabled`,`required`])):Ts(`v-if`,!0)],64))}}),kh=R({__name:`CheckboxIndicator`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let{forwardRef:t}=Id(),n=Eh();return(e,r)=>(B(),V(I(hf),{present:e.forceMount||I(wh)(I(n).state.value)||I(n).state.value===!0},{default:L(()=>[U(I(vf),ks({ref:I(t),"data-state":I(Th)(I(n).state.value),"data-disabled":I(n).disabled.value?``:void 0,style:{pointerEvents:`none`},"as-child":e.asChild,as:e.as},e.$attrs),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`data-state`,`data-disabled`,`as-child`,`as`])]),_:3},8,[`present`]))}});function Ah(e=[],t,n){let r=[...e];return r[n]=t,r.sort((e,t)=>e-t)}function jh(e,t,n){return ju(100/(n-t)*(e-t),0,100)}function Mh(e,t){if(t>2)return`Value ${e+1} of ${t}`;if(t===2)return[`Minimum`,`Maximum`][e]}function Nh(e,t){if(e.length===1)return 0;let n=e.map(e=>Math.abs(e-t)),r=Math.min(...n);return n.indexOf(r)}function Ph(e,t,n){let r=e/2;return(r-Lh([0,50],[0,r])(t)*n)*n}function Fh(e){return e.slice(0,-1).map((t,n)=>e[n+1]-t)}function Ih(e,t){if(t>0){let n=Fh(e);return Math.min(...n)>=t}return!0}function Lh(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 Rh(e){return(String(e).split(`.`)[1]||``).length}function zh(e,t){let n=10**t;return Math.round(e*n)/n}var Bh=[`PageUp`,`PageDown`],Vh=[`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`],Hh={"from-left":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-right":[`Home`,`PageDown`,`ArrowDown`,`ArrowRight`],"from-bottom":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-top":[`Home`,`PageUp`,`ArrowUp`,`ArrowLeft`]},[Uh,Wh]=Pu([`SliderVertical`,`SliderHorizontal`]),Gh=R({__name:`SliderHorizontal`,props:{dir:{type:String,required:!1},min:{type:Number,required:!0},max:{type:Number,required:!0},inverted:{type:Boolean,required:!0}},emits:[`slideEnd`,`slideStart`,`slideMove`,`homeKeyDown`,`endKeyDown`,`stepKeyDown`],setup(e,{emit:t}){let n=e,r=t,{max:i,min:a,dir:o,inverted:s}=gn(n),{forwardRef:c,currentElement:l}=Id(),u=qh(),d=F(),f=F(),p=W(()=>o?.value!==`rtl`&&!s.value||o?.value!==`ltr`&&s.value);function m(e,t){let n=f.value||l.value.getBoundingClientRect(),r=[...u.thumbElements.value][u.valueIndexToChangeRef.value],o=u.thumbAlignment.value===`contain`?r.clientWidth:0;!d.value&&!t&&u.thumbAlignment.value===`contain`&&(d.value=e.clientX-r.getBoundingClientRect().left);let s=Lh([0,n.width-o],p.value?[a.value,i.value]:[i.value,a.value]);return f.value=n,s(t?e.clientX-n.left-o/2:e.clientX-n.left-(d.value??0))}return Wh({startEdge:W(()=>p.value?`left`:`right`),endEdge:W(()=>p.value?`right`:`left`),direction:W(()=>p.value?1:-1),size:`width`}),(e,t)=>(B(),V(Xh,{ref:I(c),dir:I(o),"data-orientation":`horizontal`,style:ue({"--reka-slider-thumb-transform":!p.value&&I(u).thumbAlignment.value===`overflow`?`translateX(50%)`:`translateX(-50%)`}),onSlideStart:t[0]||=e=>{let t=m(e,!0);r(`slideStart`,t)},onSlideMove:t[1]||=e=>{let t=m(e);r(`slideMove`,t)},onSlideEnd:t[2]||=()=>{f.value=void 0,d.value=void 0,r(`slideEnd`)},onStepKeyDown:t[3]||=e=>{let t=p.value?`from-left`:`from-right`,n=I(Hh)[t].includes(e.key);r(`stepKeyDown`,e,n?-1:1)},onEndKeyDown:t[4]||=e=>r(`endKeyDown`,e),onHomeKeyDown:t[5]||=e=>r(`homeKeyDown`,e)},{default:L(()=>[z(e.$slots,`default`)]),_:3},8,[`dir`,`style`]))}}),Kh=R({__name:`SliderVertical`,props:{min:{type:Number,required:!0},max:{type:Number,required:!0},inverted:{type:Boolean,required:!0}},emits:[`slideEnd`,`slideStart`,`slideMove`,`homeKeyDown`,`endKeyDown`,`stepKeyDown`],setup(e,{emit:t}){let n=e,r=t,{max:i,min:a,inverted:o}=gn(n),s=qh(),{forwardRef:c,currentElement:l}=Id(),u=F(),d=F(),f=W(()=>!o.value);function p(e,t){let n=d.value||l.value.getBoundingClientRect(),r=[...s.thumbElements.value][s.valueIndexToChangeRef.value],o=s.thumbAlignment.value===`contain`?r.clientHeight:0;!u.value&&!t&&s.thumbAlignment.value===`contain`&&(u.value=e.clientY-r.getBoundingClientRect().top);let c=Lh([0,n.height-o],f.value?[i.value,a.value]:[a.value,i.value]),p=t?e.clientY-n.top-o/2:e.clientY-n.top-(u.value??0);return d.value=n,c(p)}return Wh({startEdge:W(()=>f.value?`bottom`:`top`),endEdge:W(()=>f.value?`top`:`bottom`),direction:W(()=>f.value?1:-1),size:`height`}),(e,t)=>(B(),V(Xh,{ref:I(c),"data-orientation":`vertical`,style:ue({"--reka-slider-thumb-transform":!f.value&&I(s).thumbAlignment.value===`overflow`?`translateY(-50%)`:`translateY(50%)`}),onSlideStart:t[0]||=e=>{let t=p(e,!0);r(`slideStart`,t)},onSlideMove:t[1]||=e=>{let t=p(e);r(`slideMove`,t)},onSlideEnd:t[2]||=()=>{d.value=void 0,u.value=void 0,r(`slideEnd`)},onStepKeyDown:t[3]||=e=>{let t=f.value?`from-bottom`:`from-top`,n=I(Hh)[t].includes(e.key);r(`stepKeyDown`,e,n?-1:1)},onEndKeyDown:t[4]||=e=>r(`endKeyDown`,e),onHomeKeyDown:t[5]||=e=>r(`homeKeyDown`,e)},{default:L(()=>[z(e.$slots,`default`)]),_:3},8,[`style`]))}}),[qh,Jh]=Pu(`SliderRoot`),Yh=R({inheritAttrs:!1,__name:`SliderRoot`,props:{defaultValue:{type:Array,required:!1,default:()=>[0]},modelValue:{type:[Array,null],required:!1},disabled:{type:Boolean,required:!1,default:!1},orientation:{type:String,required:!1,default:`horizontal`},dir:{type:String,required:!1},inverted:{type:Boolean,required:!1,default:!1},min:{type:Number,required:!1,default:0},max:{type:Number,required:!1,default:100},step:{type:Number,required:!1,default:1},minStepsBetweenThumbs:{type:Number,required:!1,default:0},thumbAlignment:{type:String,required:!1,default:`contain`},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`,`valueCommit`],setup(e,{emit:t}){let n=e,r=t,{min:i,max:a,step:o,minStepsBetweenThumbs:s,orientation:c,disabled:l,thumbAlignment:u,dir:d}=gn(n),f=Ad(d),{forwardRef:p,currentElement:m}=Id(),h=Fd(m),{CollectionSlot:g}=Kf({isProvider:!0}),_=pd(n,`modelValue`,r,{defaultValue:n.defaultValue,passive:n.modelValue===void 0}),v=W(()=>Array.isArray(_.value)?[..._.value]:[]),y=F(0),b=F(v.value);function x(e){w(e,Nh(v.value,e))}function S(e){w(e,y.value)}function C(){let e=b.value[y.value];v.value[y.value]!==e&&r(`valueCommit`,tn(v.value))}function w(e,t,{commit:n}={commit:!1}){let c=Rh(o.value),l=ju(zh(Math.round((e-i.value)/o.value)*o.value+i.value,c),i.value,a.value),u=Ah(v.value,l,t);if(Ih(u,s.value*o.value)){y.value=u.indexOf(l);let e=String(u)!==String(_.value);e&&n&&r(`valueCommit`,u),e&&(T.value[y.value]?.focus(),_.value=u)}}let T=F([]);return Jh({modelValue:_,currentModelValue:v,valueIndexToChangeRef:y,thumbElements:T,orientation:c,min:i,max:a,disabled:l,thumbAlignment:u}),(e,t)=>(B(),V(I(g),null,{default:L(()=>[(B(),V(sa(I(c)===`horizontal`?Gh:Kh),ks(e.$attrs,{ref:I(p),"as-child":e.asChild,as:e.as,min:I(i),max:I(a),dir:I(f),inverted:e.inverted,"aria-disabled":I(l),"data-disabled":I(l)?``:void 0,onPointerdown:t[0]||=()=>{I(l)||(b.value=v.value)},onSlideStart:t[1]||=e=>!I(l)&&x(e),onSlideMove:t[2]||=e=>!I(l)&&S(e),onSlideEnd:t[3]||=e=>!I(l)&&C(),onHomeKeyDown:t[4]||=e=>!I(l)&&w(I(i),0,{commit:!0}),onEndKeyDown:t[5]||=e=>!I(l)&&w(I(a),v.value.length-1,{commit:!0}),onStepKeyDown:t[6]||=(e,t)=>{if(!I(l)){let n=I(Bh).includes(e.key)||e.shiftKey&&I(Vh).includes(e.key)?10:1,r=y.value,i=v.value[r];w(i+I(o)*n*t,r,{commit:!0})}}}),{default:L(()=>[z(e.$slots,`default`,{modelValue:I(_)}),I(h)&&e.name?(B(),V(I(Yf),{key:0,type:`number`,value:I(_),name:e.name,required:e.required,disabled:I(l),step:I(o)},null,8,[`value`,`name`,`required`,`disabled`,`step`])):Ts(`v-if`,!0)]),_:3},16,[`as-child`,`as`,`min`,`max`,`dir`,`inverted`,`aria-disabled`,`data-disabled`]))]),_:3}))}}),Xh=R({__name:`SliderImpl`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},emits:[`slideStart`,`slideMove`,`slideEnd`,`homeKeyDown`,`endKeyDown`,`stepKeyDown`],setup(e,{emit:t}){let n=e,r=t,i=qh();return(e,t)=>(B(),V(I(vf),ks({"data-slider-impl":``},n,{onKeydown:t[0]||=e=>{e.key===`Home`?(r(`homeKeyDown`,e),e.preventDefault()):e.key===`End`?(r(`endKeyDown`,e),e.preventDefault()):I(Bh).concat(I(Vh)).includes(e.key)&&(r(`stepKeyDown`,e),e.preventDefault())},onPointerdown:t[1]||=e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),I(i).thumbElements.value.includes(t)?t.focus():r(`slideStart`,e)},onPointermove:t[2]||=e=>{e.target.hasPointerCapture(e.pointerId)&&r(`slideMove`,e)},onPointerup:t[3]||=e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),r(`slideEnd`,e))}}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}}),Zh=R({__name:`SliderRange`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=qh(),n=Uh();Id();let r=W(()=>t.currentModelValue.value.map(e=>jh(e,t.min.value,t.max.value))),i=W(()=>t.currentModelValue.value.length>1?Math.min(...r.value):0),a=W(()=>100-Math.max(...r.value,0));return(e,r)=>(B(),V(I(vf),{"data-disabled":I(t).disabled.value?``:void 0,"data-orientation":I(t).orientation.value,"as-child":e.asChild,as:e.as,style:ue({[I(n).startEdge.value]:`${i.value}%`,[I(n).endEdge.value]:`${a.value}%`})},{default:L(()=>[z(e.$slots,`default`)]),_:3},8,[`data-disabled`,`data-orientation`,`as-child`,`as`,`style`]))}}),Qh=R({inheritAttrs:!1,__name:`SliderThumbImpl`,props:{index:{type:Number,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,n=qh(),r=Uh(),{forwardRef:i,currentElement:a}=Id(),{CollectionItem:o}=Kf(),s=W(()=>n.modelValue?.value?.[t.index]),c=W(()=>s.value===void 0?0:jh(s.value,n.min.value??0,n.max.value??100)),l=W(()=>Mh(t.index,n.modelValue?.value?.length??0)),u=cf(a),d=W(()=>u[r.size].value),f=W(()=>n.thumbAlignment.value===`overflow`||!d.value?0:Ph(d.value,c.value,r.direction.value)),p=sd();return Ji(()=>{n.thumbElements.value.push(a.value)}),Qi(()=>{let e=n.thumbElements.value.findIndex(e=>e===a.value)??-1;n.thumbElements.value.splice(e,1)}),(e,t)=>(B(),V(I(o),null,{default:L(()=>[U(I(vf),ks(e.$attrs,{ref:I(i),role:`slider`,tabindex:I(n).disabled.value?void 0:0,"aria-label":e.$attrs[`aria-label`]||l.value,"data-disabled":I(n).disabled.value?``:void 0,"data-orientation":I(n).orientation.value,"aria-valuenow":s.value,"aria-valuemin":I(n).min.value,"aria-valuemax":I(n).max.value,"aria-orientation":I(n).orientation.value,"as-child":e.asChild,as:e.as,style:{transform:`var(--reka-slider-thumb-transform)`,position:`absolute`,[I(r).startEdge.value]:`calc(${c.value}% + ${f.value}px)`,display:!I(p)&&s.value===void 0?`none`:void 0},onFocus:t[0]||=()=>{I(n).valueIndexToChangeRef.value=e.index}}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`tabindex`,`aria-label`,`data-disabled`,`data-orientation`,`aria-valuenow`,`aria-valuemin`,`aria-valuemax`,`aria-orientation`,`as-child`,`as`,`style`])]),_:3}))}}),$h=R({__name:`SliderThumb`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,{getItems:n}=Kf(),{forwardRef:r,currentElement:i}=Id(),a=W(()=>i.value?n(!0).findIndex(e=>e.ref===i.value):-1);return(e,n)=>(B(),V(Qh,ks({ref:I(r)},t,{index:a.value}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`index`]))}}),eg=R({__name:`SliderTrack`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=qh();return Id(),(e,n)=>(B(),V(I(vf),{"as-child":e.asChild,as:e.as,"data-disabled":I(t).disabled.value?``:void 0,"data-orientation":I(t).orientation.value},{default:L(()=>[z(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`data-disabled`,`data-orientation`]))}}),[tg,ng]=Pu(`PopoverRoot`),rg=R({__name:`PopoverRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},modal:{type:Boolean,required:!1,default:!1}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t,{modal:i}=gn(n),a=pd(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0});return ng({contentId:``,triggerId:``,modal:i,open:a,onOpenChange:e=>{a.value=e},onOpenToggle:()=>{a.value=!a.value},triggerElement:F(),hasCustomAnchor:F(!1)}),(e,t)=>(B(),V(I(rp),null,{default:L(()=>[z(e.$slots,`default`,{open:I(a),close:()=>a.value=!1})]),_:3}))}}),ig=R({__name:`PopoverContentImpl`,props:{trapFocus:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Ld($u(n,`trapFocus`,`disableOutsidePointerEvents`)),{forwardRef:a}=Id(),o=tg();return Nd(),(e,t)=>(B(),V(I(zf),{"as-child":``,loop:``,trapped:e.trapFocus,onMountAutoFocus:t[5]||=e=>r(`openAutoFocus`,e),onUnmountAutoFocus:t[6]||=e=>r(`closeAutoFocus`,e)},{default:L(()=>[U(I(Tf),{"as-child":``,"disable-outside-pointer-events":e.disableOutsidePointerEvents,onPointerDownOutside:t[0]||=e=>r(`pointerDownOutside`,e),onInteractOutside:t[1]||=e=>r(`interactOutside`,e),onEscapeKeyDown:t[2]||=e=>r(`escapeKeyDown`,e),onFocusOutside:t[3]||=e=>r(`focusOutside`,e),onDismiss:t[4]||=e=>I(o).onOpenChange(!1)},{default:L(()=>[U(I(_h),ks(I(i),{id:I(o).contentId,ref:I(a),"data-state":I(o).open.value?`open`:`closed`,"aria-labelledby":I(o).triggerId,style:{"--reka-popover-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-popover-content-available-width":`var(--reka-popper-available-width)`,"--reka-popover-content-available-height":`var(--reka-popper-available-height)`,"--reka-popover-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-popover-trigger-height":`var(--reka-popper-anchor-height)`},role:`dialog`}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`aria-labelledby`])]),_:3},8,[`disable-outside-pointer-events`])]),_:3},8,[`trapped`]))}}),ag=R({__name:`PopoverContentModal`,props:{memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=tg(),a=F(!1);Cd(!0);let o=Rd(n,r),{forwardRef:s,currentElement:c}=Id();return nf(c),(e,t)=>(B(),V(ig,ks(I(o),{ref:I(s),"trap-focus":I(i).open.value,"disable-outside-pointer-events":``,onCloseAutoFocus:t[0]||=au(e=>{r(`closeAutoFocus`,e),a.value||I(i).triggerElement.value?.focus()},[`prevent`]),onPointerDownOutside:t[1]||=e=>{r(`pointerDownOutside`,e);let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,i=t.button===2||n;a.value=i},onFocusOutside:t[2]||=au(()=>{},[`prevent`])}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`trap-focus`]))}}),og=R({__name:`PopoverContentNonModal`,props:{memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=tg(),a=F(!1),o=F(!1),s=Rd(n,r);return(e,t)=>(B(),V(ig,ks(I(s),{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:t[0]||=e=>{r(`closeAutoFocus`,e),e.defaultPrevented||(a.value||I(i).triggerElement.value?.focus(),e.preventDefault()),a.value=!1,o.value=!1},onInteractOutside:t[1]||=async e=>{r(`interactOutside`,e),e.defaultPrevented||(a.value=!0,e.detail.originalEvent.type===`pointerdown`&&(o.value=!0));let t=e.target;I(i).triggerElement.value?.contains(t)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&o.value&&e.preventDefault()}}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}}),sg=R({__name:`PopoverContent`,props:{forceMount:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=tg(),a=Rd(n,r),{forwardRef:o}=Id();return i.contentId||=af(void 0,`reka-popover-content`),(e,t)=>(B(),V(I(hf),{present:e.forceMount||I(i).open.value},{default:L(()=>[I(i).modal.value?(B(),V(ag,ks({key:0},I(a),{ref:I(o)}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16)):(B(),V(og,ks({key:1},I(a),{ref:I(o)}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),cg=R({__name:`PopoverPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(B(),V(I(Wf),ge(xs(t)),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}}),lg=R({__name:`PopoverTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=tg(),{forwardRef:r,currentElement:i}=Id();return n.triggerId||=af(void 0,`reka-popover-trigger`),Ji(()=>{n.triggerElement.value=i.value}),(e,i)=>(B(),V(sa(I(n).hasCustomAnchor.value?I(vf):I(ip)),{"as-child":``},{default:L(()=>[U(I(vf),{id:I(n).triggerId,ref:I(r),type:e.as===`button`?`button`:void 0,"aria-haspopup":`dialog`,"aria-expanded":I(n).open.value,"aria-controls":I(n).contentId,"data-state":I(n).open.value?`open`:`closed`,as:e.as,"as-child":t.asChild,onClick:I(n).onOpenToggle},{default:L(()=>[z(e.$slots,`default`)]),_:3},8,[`id`,`type`,`aria-expanded`,`aria-controls`,`data-state`,`as`,`as-child`,`onClick`])]),_:3}))}}),ug=new Map,dg=!1;try{dg=new Intl.NumberFormat(`de-DE`,{signDisplay:`exceptZero`}).resolvedOptions().signDisplay===`exceptZero`}catch{}var fg=!1;try{fg=new Intl.NumberFormat(`de-DE`,{style:`unit`,unit:`degree`}).resolvedOptions().style===`unit`}catch{}var pg={degree:{narrow:{default:`°`,"ja-JP":` 度`,"zh-TW":`度`,"sl-SI":` °`}}},mg=class{format(e){let t=``;if(t=!dg&&this.options.signDisplay!=null?gg(this.numberFormatter,this.options.signDisplay,e):this.numberFormatter.format(e),this.options.style===`unit`&&!fg){let{unit:e,unitDisplay:n=`short`,locale:r}=this.resolvedOptions();if(!e)return t;let i=pg[e]?.[n];t+=i[r]||i.default}return t}formatToParts(e){return this.numberFormatter.formatToParts(e)}formatRange(e,t){if(typeof this.numberFormatter.formatRange==`function`)return this.numberFormatter.formatRange(e,t);if(t= start date`);return`${this.format(e)} \u{2013} ${this.format(t)}`}formatRangeToParts(e,t){if(typeof this.numberFormatter.formatRangeToParts==`function`)return this.numberFormatter.formatRangeToParts(e,t);if(t= start date`);let n=this.numberFormatter.formatToParts(e),r=this.numberFormatter.formatToParts(t);return[...n.map(e=>({...e,source:`startRange`})),{type:`literal`,value:` – `,source:`shared`},...r.map(e=>({...e,source:`endRange`}))]}resolvedOptions(){let e=this.numberFormatter.resolvedOptions();return!dg&&this.options.signDisplay!=null&&(e={...e,signDisplay:this.options.signDisplay}),!fg&&this.options.style===`unit`&&(e={...e,style:`unit`,unit:this.options.unit,unitDisplay:this.options.unitDisplay}),e}constructor(e,t={}){this.numberFormatter=hg(e,t),this.options=t}};function hg(e,t={}){let{numberingSystem:n}=t;if(n&&e.includes(`-nu-`)&&(e.includes(`-u-`)||(e+=`-u-`),e+=`-nu-${n}`),t.style===`unit`&&!fg){let{unit:e,unitDisplay:n=`short`}=t;if(!e)throw Error(`unit option must be provided with style: "unit"`);if(!pg[e]?.[n])throw Error(`Unsupported unit ${e} with unitDisplay = ${n}`);t={...t,style:`decimal`}}let r=e+(t?Object.entries(t).sort((e,t)=>e[0]0||Object.is(n,0):t===`exceptZero`&&(Object.is(n,-0)||Object.is(n,0)?n=Math.abs(n):r=n>0),r){let t=e.format(-n),r=e.format(n),i=t.replace(r,``).replace(/\u200e|\u061C/,``);return[...i].length!==1&&console.warn(`@react-aria/i18n polyfill for NumberFormat signDisplay: Unsupported case`),t.replace(r,`!!!`).replace(i,`+`).replace(`!!!`,r)}return e.format(n)}}var _g=RegExp(`^.*\\(.*\\).*$`),vg=[`latn`,`arab`,`hanidec`,`deva`,`beng`,`fullwide`],yg=class{parse(e){return xg(this.locale,this.options,e).parse(e)}isValidPartialNumber(e,t,n){return xg(this.locale,this.options,e).isValidPartialNumber(e,t,n)}getNumberingSystem(e){return xg(this.locale,this.options,e).options.numberingSystem}constructor(e,t={}){this.locale=e,this.options=t}},bg=new Map;function xg(e,t,n){let r=Sg(e,t);if(!e.includes(`-nu-`)&&!r.isValidPartialNumber(n)){for(let i of vg)if(i!==r.options.numberingSystem){let r=Sg(e+(e.includes(`-u-`)?`-nu-`:`-u-nu-`)+i,t);if(r.isValidPartialNumber(n))return r}}return r}function Sg(e,t){let n=e+(t?Object.entries(t).sort((e,t)=>e[0]-1&&(t=`-${t}`)}let n=t?+t:NaN;if(isNaN(n))return NaN;if(this.options.style===`percent`){let e={...this.options,style:`decimal`,minimumFractionDigits:Math.min((this.options.minimumFractionDigits??0)+2,20),maximumFractionDigits:Math.min((this.options.maximumFractionDigits??0)+2,20)};return new yg(this.locale,e).parse(new mg(this.locale,e).format(n))}return this.options.currencySign===`accounting`&&_g.test(e)&&(n=-1*n),n}sanitize(e){return e=e.replace(this.symbols.literals,``),this.symbols.minusSign&&(e=e.replace(`-`,this.symbols.minusSign)),this.options.numberingSystem===`arab`&&(this.symbols.decimal&&(e=e.replace(`,`,this.symbols.decimal),e=e.replace(`،`,this.symbols.decimal)),this.symbols.group&&(e=Dg(e,`.`,this.symbols.group))),this.symbols.group===`’`&&e.includes(`'`)&&(e=Dg(e,`'`,this.symbols.group)),this.options.locale===`fr-FR`&&this.symbols.group&&(e=Dg(e,` `,this.symbols.group),e=Dg(e,/\u00A0/g,this.symbols.group)),e}isValidPartialNumber(e,t=-1/0,n=1/0){return e=this.sanitize(e),this.symbols.minusSign&&e.startsWith(this.symbols.minusSign)&&t<0?e=e.slice(this.symbols.minusSign.length):this.symbols.plusSign&&e.startsWith(this.symbols.plusSign)&&n>0&&(e=e.slice(this.symbols.plusSign.length)),this.symbols.group&&e.startsWith(this.symbols.group)||this.symbols.decimal&&e.indexOf(this.symbols.decimal)>-1&&this.options.maximumFractionDigits===0?!1:(this.symbols.group&&(e=Dg(e,this.symbols.group,``)),e=e.replace(this.symbols.numeral,``),this.symbols.decimal&&(e=e.replace(this.symbols.decimal,``)),e.length===0)}constructor(e,t={}){this.locale=e,t.roundingIncrement!==1&&t.roundingIncrement!=null&&(t.maximumFractionDigits==null&&t.minimumFractionDigits==null?(t.maximumFractionDigits=0,t.minimumFractionDigits=0):t.maximumFractionDigits==null?t.maximumFractionDigits=t.minimumFractionDigits:t.minimumFractionDigits??=t.maximumFractionDigits),this.formatter=new Intl.NumberFormat(e,t),this.options=this.formatter.resolvedOptions(),this.symbols=Eg(e,this.formatter,this.options,t),this.options.style===`percent`&&((this.options.minimumFractionDigits??0)>18||(this.options.maximumFractionDigits??0)>18)&&console.warn(`NumberParser cannot handle percentages with greater than 18 decimal places, please reduce the number in your options.`)}},wg=new Set([`decimal`,`fraction`,`integer`,`minusSign`,`plusSign`,`group`]),Tg=[0,4,2,1,11,20,3,7,100,21,.1,1.1];function Eg(e,t,n,r){let i=new Intl.NumberFormat(e,{...n,minimumSignificantDigits:1,maximumSignificantDigits:21,roundingIncrement:1,roundingPriority:`auto`,roundingMode:`halfExpand`}),a=i.formatToParts(-10000.111),o=i.formatToParts(10000.111),s=Tg.map(e=>i.formatToParts(e)),c=a.find(e=>e.type===`minusSign`)?.value??`-`,l=o.find(e=>e.type===`plusSign`)?.value;!l&&(r?.signDisplay===`exceptZero`||r?.signDisplay===`always`)&&(l=`+`);let u=new Intl.NumberFormat(e,{...n,minimumFractionDigits:2,maximumFractionDigits:2}).formatToParts(.001).find(e=>e.type===`decimal`)?.value,d=a.find(e=>e.type===`group`)?.value,f=a.filter(e=>!wg.has(e.type)).map(e=>Og(e.value)),p=s.flatMap(e=>e.filter(e=>!wg.has(e.type)).map(e=>Og(e.value))),m=[...new Set([...f,...p])].sort((e,t)=>t.length-e.length),h=m.length===0?RegExp(`[\\p{White_Space}]`,`gu`):RegExp(`${m.join(`|`)}|[\\p{White_Space}]`,`gu`),g=[...new Intl.NumberFormat(n.locale,{useGrouping:!1}).format(9876543210)].reverse(),_=new Map(g.map((e,t)=>[e,t])),v=RegExp(`[${g.join(``)}]`,`g`);return{minusSign:c,plusSign:l,decimal:u,group:d,literals:h,numeral:v,index:e=>String(_.get(e))}}function Dg(e,t,n){return e.replaceAll?e.replaceAll(t,n):e.split(t).join(n)}function Og(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function kg(e){let{disabled:t}=e,n=F(),r=Bu(),i=()=>window.clearTimeout(n.value),a=e=>{i(),!t.value&&(r.trigger(),n.value=window.setTimeout(()=>{a(60)},e))},o=()=>{a(400)},s=()=>{i()},c=F(!1),l=W(()=>ad(e.target)),u=e=>{e.button!==0||c.value||(e.preventDefault(),c.value=!0,o())},d=()=>{c.value=!1,s()};return Hu&&(od(l||window,`pointerdown`,u),od(window,`pointerup`,d),od(window,`pointercancel`,d)),{isPressed:c,onTrigger:r.on}}function Ag(e,t=F({})){return Qu(()=>new mg(e.value,t.value))}function jg(e,t=F({})){return Qu(()=>new yg(e.value,t.value))}function Mg(e,t,n){let r=e===`+`?t+n:t-n;if(t%1!=0||n%1!=0){let i=t.toString().split(`.`),a=n.toString().split(`.`),o=i[1]&&i[1].length||0,s=a[1]&&a[1].length||0,c=10**Math.max(o,s);t=Math.round(t*c),n=Math.round(n*c),r=e===`+`?t+n:t-n,r/=c}return r}var[Ng,Pg]=Pu(`NumberFieldRoot`),Fg=R({inheritAttrs:!1,__name:`NumberFieldRoot`,props:{defaultValue:{type:Number,required:!1,default:void 0},modelValue:{type:[Number,null],required:!1},min:{type:Number,required:!1},max:{type:Number,required:!1},step:{type:Number,required:!1,default:1},stepSnapping:{type:Boolean,required:!1,default:!0},focusOnChange:{type:Boolean,required:!1,default:!0},formatOptions:{type:null,required:!1},locale:{type:String,required:!1},disabled:{type:Boolean,required:!1},readonly:{type:Boolean,required:!1},disableWheelChange:{type:Boolean,required:!1},invertWheelChange:{type:Boolean,required:!1},id:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`div`},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,{disabled:i,readonly:a,disableWheelChange:o,invertWheelChange:s,min:c,max:l,step:u,stepSnapping:d,formatOptions:f,id:p,locale:m}=gn(n),h=pd(n,`modelValue`,r,{defaultValue:n.defaultValue,passive:n.modelValue===void 0}),{primitiveElement:g,currentElement:_}=yf(),v=sf(m),y=Fd(_),b=F(),x=W(()=>Lu(h.value)||isNaN(h.value)?!1:C(`decrease`,h.value)>=h.value),S=W(()=>Lu(h.value)||isNaN(h.value)?!1:C(`increase`,h.value)<=h.value);function C(e,t,n=1){let r=u.value??1,i=e===`increase`?`+`:`-`,a;if(d.value&&!isNaN(r)){let o=Nu(t,c.value,l.value,r);if(o===t)a=Mg(i,t,r*n);else{let s=e===`increase`?o>t?o:Mg(`+`,o,r):o1?Mg(i,s,r*(n-1)):s}}else a=Mg(i,t,r*n);return M(a)}function w(e,t=1){if(n.focusOnChange&&b.value?.focus(),n.disabled||n.readonly)return;let r=ee.parse(b.value?.value??``);if(isNaN(r)){h.value=M(c.value??0);return}h.value=C(e,r,t)}function T(e=1){w(`increase`,e)}function E(e=1){w(`decrease`,e)}function D(e){e===`min`&&c.value!==void 0?h.value=M(c.value):e===`max`&&l.value!==void 0&&(h.value=M(l.value))}let O=Ag(v,f),ee=jg(v,f),k=W(()=>O.resolvedOptions().maximumFractionDigits>0?`decimal`:`numeric`),A=Ag(v,f),te=W(()=>Lu(h.value)||isNaN(h.value)?``:A.format(h.value));function j(e){return ee.isValidPartialNumber(e,c.value,l.value)}function ne(e){b.value&&(b.value.value=e)}function M(e){let t;return t=u.value===void 0||isNaN(u.value)||!d.value?ju(e,c.value,l.value):Nu(e,c.value,l.value,u.value),t=ee.parse(O.format(t)),t}function N(e){let t=ee.parse(e);return h.value=isNaN(t)?void 0:M(t),e.length?ne(te.value):ne(e)}return Pg({modelValue:h,handleDecrease:E,handleIncrease:T,handleMinMaxValue:D,inputMode:k,inputEl:b,onInputElement:e=>b.value=e,textValue:te,readonly:a,validate:j,applyInputValue:N,disabled:i,disableWheelChange:o,invertWheelChange:s,max:l,min:c,isDecreaseDisabled:x,isIncreaseDisabled:S,id:p}),(e,t)=>(B(),V(I(vf),ks(e.$attrs,{ref_key:`primitiveElement`,ref:g,role:`group`,as:e.as,"as-child":e.asChild,"data-disabled":I(i)?``:void 0,"data-readonly":I(a)?``:void 0}),{default:L(()=>[z(e.$slots,`default`,{modelValue:I(h),textValue:te.value,readonly:I(a)}),I(y)&&e.name?(B(),V(I(Yf),{key:0,type:`text`,value:I(h),name:e.name,disabled:I(i),readonly:I(a),required:e.required},null,8,[`value`,`name`,`disabled`,`readonly`,`required`])):Ts(`v-if`,!0)]),_:3},16,[`as`,`as-child`,`data-disabled`,`data-readonly`]))}}),Ig=R({__name:`NumberFieldDecrement`,props:{disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=Ng(),r=W(()=>n.disabled?.value||n.readonly.value||t.disabled||n.isDecreaseDisabled.value),{primitiveElement:i,currentElement:a}=yf(),{isPressed:o,onTrigger:s}=kg({target:a,disabled:r});return s(()=>{n.handleDecrease()}),(e,n)=>(B(),V(I(vf),ks(t,{ref_key:`primitiveElement`,ref:i,tabindex:`-1`,"aria-label":`Decrease`,type:e.as===`button`?`button`:void 0,style:{userSelect:I(o)?`none`:void 0},disabled:r.value?``:void 0,"data-disabled":r.value?``:void 0,"data-pressed":I(o)?`true`:void 0,onContextmenu:n[0]||=au(()=>{},[`prevent`])}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`type`,`style`,`disabled`,`data-disabled`,`data-pressed`]))}}),Lg=R({__name:`NumberFieldIncrement`,props:{disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=Ng(),r=W(()=>n.disabled?.value||n.readonly.value||t.disabled||n.isIncreaseDisabled.value),{primitiveElement:i,currentElement:a}=yf(),{isPressed:o,onTrigger:s}=kg({target:a,disabled:r});return s(()=>{n.handleIncrease()}),(e,n)=>(B(),V(I(vf),ks(t,{ref_key:`primitiveElement`,ref:i,tabindex:`-1`,"aria-label":`Increase`,type:e.as===`button`?`button`:void 0,style:{userSelect:I(o)?`none`:void 0},disabled:r.value?``:void 0,"data-disabled":r.value?``:void 0,"data-pressed":I(o)?`true`:void 0,onContextmenu:n[0]||=au(()=>{},[`prevent`])}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`type`,`style`,`disabled`,`data-disabled`,`data-pressed`]))}}),Rg=R({__name:`NumberFieldInput`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`input`}},setup(e){let t=e,{primitiveElement:n,currentElement:r}=yf(),i=Ng(),a=of(),{isComposing:o,handleCompositionStart:s,handleCompositionEnd:c}=kd();function l(e){if(!(o.value||e.isComposing))switch(e.key){case a.ARROW_UP:e.preventDefault(),i.handleIncrease();break;case a.ARROW_DOWN:e.preventDefault(),i.handleDecrease();break;case a.PAGE_UP:e.preventDefault(),i.handleIncrease(10);break;case a.PAGE_DOWN:e.preventDefault(),i.handleDecrease(10);break;case a.HOME:e.preventDefault(),i.handleMinMaxValue(`min`);break;case a.END:e.preventDefault(),i.handleMinMaxValue(`max`);break;case a.ENTER:i.applyInputValue(e.target?.value)}}function u(e){i.disableWheelChange.value||e.target===Fu()&&(Math.abs(e.deltaY)<=Math.abs(e.deltaX)||(e.preventDefault(),e.deltaY>0?i.invertWheelChange.value?i.handleDecrease():i.handleIncrease():e.deltaY<0&&(i.invertWheelChange.value?i.handleIncrease():i.handleDecrease())))}Ji(()=>{i.onInputElement(r.value)});let d=F(i.textValue.value);Cr(()=>i.textValue.value,()=>{d.value=i.textValue.value},{immediate:!0,deep:!0});function f(){requestAnimationFrame(()=>{d.value=i.textValue.value})}return(e,r)=>(B(),V(I(vf),ks(t,{id:I(i).id.value,ref_key:`primitiveElement`,ref:n,value:d.value,role:`spinbutton`,type:`text`,tabindex:`0`,inputmode:I(i).inputMode.value,disabled:I(i).disabled.value?``:void 0,"data-disabled":I(i).disabled.value?``:void 0,readonly:I(i).readonly.value?``:void 0,"data-readonly":I(i).readonly.value?``:void 0,autocomplete:`off`,autocorrect:`off`,spellcheck:`false`,"aria-roledescription":`Number field`,"aria-valuenow":I(i).modelValue.value,"aria-valuemin":I(i).min.value,"aria-valuemax":I(i).max.value,onKeydown:l,onWheel:u,onBeforeinput:r[0]||=e=>{if(e.isComposing||e.inputType.startsWith(`delete`)||e.inputType.startsWith(`history`))return;let t=e.target,n=t.value.slice(0,t.selectionStart??void 0)+(e.data??``)+t.value.slice(t.selectionEnd??void 0);I(i).validate(n)||e.preventDefault()},onInput:r[1]||=e=>{let t=e.target;d.value=t.value},onChange:f,onBlur:r[2]||=e=>I(i).applyInputValue(e.target?.value),onCompositionstart:I(s),onCompositionend:I(c)}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`id`,`value`,`inputmode`,`disabled`,`data-disabled`,`readonly`,`data-readonly`,`aria-valuenow`,`aria-valuemin`,`aria-valuemax`,`onCompositionstart`,`onCompositionend`]))}}),zg=[` `,`Enter`,`ArrowUp`,`ArrowDown`],Bg=[` `,`Enter`];function Vg(e,t,n){return e===void 0?!1:Array.isArray(e)?e.some(e=>Hg(e,t,n)):Hg(e,t,n)}function Hg(e,t,n){return e===void 0||t===void 0?!1:typeof e==`string`?e===t:typeof n==`function`?n(e,t):typeof n==`string`?e?.[n]===t?.[n]:Au(e,t)}function Ug(e){return e==null||e===``||Array.isArray(e)&&e.length===0}var Wg=[`value`],[Gg,Kg]=Pu(`SelectRoot`),qg=R({inheritAttrs:!1,__name:`SelectRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},nullableValue:{type:String,required:!1,default:``},by:{type:[String,Function],required:!1},dir:{type:String,required:!1},multiple:{type:Boolean,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`,`update:open`],setup(e,{emit:t}){let n=e,r=t,{required:i,disabled:a,multiple:o,dir:s}=gn(n),c=pd(n,`modelValue`,r,{defaultValue:n.defaultValue??(o.value?[]:void 0),passive:n.modelValue===void 0,deep:!0}),l=pd(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0}),u=F(),d=F(),f=F({x:0,y:0}),p=W(()=>o.value&&Array.isArray(c.value)?c.value?.length===0:Lu(c.value));Kf({isProvider:!0});let m=Ad(s),h=Fd(u),g=F(new Set),_=W(()=>Array.from(g.value).map(e=>e.value).join(`;`));function v(e){if(o.value){let t=Array.isArray(c.value)?[...c.value]:[],r=t.findIndex(t=>Hg(t,e,n.by));r===-1?t.push(e):t.splice(r,1),c.value=[...t]}else c.value=e}function y(e){return Array.from(g.value).find(t=>Vg(e,t.value,n.by))}return Kg({triggerElement:u,onTriggerChange:e=>{u.value=e},valueElement:d,onValueElementChange:e=>{d.value=e},contentId:``,modelValue:c,onValueChange:v,by:n.by,open:l,multiple:o,required:i,onOpenChange:e=>{l.value=e},dir:m,triggerPointerDownPosRef:f,disabled:a,isEmptyModelValue:p,optionsSet:g,onOptionAdd:e=>{let t=y(e.value);t&&g.value.delete(t),g.value.add(e)},onOptionRemove:e=>{let t=y(e.value);t&&g.value.delete(t)}}),(e,t)=>(B(),V(I(rp),null,{default:L(()=>[z(e.$slots,`default`,{modelValue:I(c),open:I(l)}),I(h)&&e.name?(B(),V(Jg,{key:_.value,"aria-hidden":`true`,tabindex:`-1`,multiple:I(o),required:I(i),name:e.name,autocomplete:e.autocomplete,disabled:I(a),value:I(c)},{default:L(()=>[I(Lu)(I(c))?(B(),ms(`option`,{key:0,value:e.nullableValue},null,8,Wg)):Ts(`v-if`,!0),(B(!0),ms(is,null,da(Array.from(g.value),e=>(B(),ms(`option`,ks({key:e.value??``},{ref_for:!0},e),null,16))),128))]),_:1},8,[`multiple`,`required`,`name`,`autocomplete`,`disabled`,`value`])):Ts(`v-if`,!0)]),_:3}))}}),Jg=R({__name:`BubbleSelect`,props:{autocomplete:{type:String,required:!1},autofocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},form:{type:String,required:!1},multiple:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},size:{type:Number,required:!1},value:{type:null,required:!1}},setup(e){let t=e,n=F(),r=Gg();Cr(()=>t.value,(e,t)=>{let r=window.HTMLSelectElement.prototype,i=Object.getOwnPropertyDescriptor(r,`value`).set;if(e!==t&&i&&n.value){let t=new Event(`change`,{bubbles:!0});i.call(n.value,e),n.value.dispatchEvent(t)}});function i(e){r.onValueChange(e.target.value)}return(e,r)=>(B(),V(I(qf),{"as-child":``},{default:L(()=>[H(`select`,ks({ref_key:`selectElement`,ref:n},t,{onInput:i}),[z(e.$slots,`default`)],16)]),_:3}))}}),Yg=R({__name:`SelectPopperPosition`,props:{memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:`start`},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1,default:10},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=Ld(e);return(e,n)=>(B(),V(I(_h),ks(I(t),{style:{boxSizing:`border-box`,"--reka-select-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-select-content-available-width":`var(--reka-popper-available-width)`,"--reka-select-content-available-height":`var(--reka-popper-available-height)`,"--reka-select-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-select-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}}),Xg={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[Zg,Qg]=Pu(`SelectContent`),$g=R({__name:`SelectContentImpl`,props:{position:{type:String,required:!1,default:`item-aligned`},bodyLock:{type:Boolean,required:!1,default:!0},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:`start`},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=Gg();Nd(),Cd(n.bodyLock);let{CollectionSlot:a,getItems:o}=Kf(),s=F();nf(s);let{search:c,handleTypeaheadSearch:l}=uf(),u=F(),d=F(),f=F(),p=F(!1),m=F(!1),h=F(!1);function g(){d.value&&s.value&&Uf([d.value,s.value])}Cr(p,()=>{g()});let{onOpenChange:_,triggerPointerDownPosRef:v}=i;br(e=>{if(!s.value)return;let t={x:0,y:0},n=e=>{t={x:Math.abs(Math.round(e.pageX)-(v.value?.x??0)),y:Math.abs(Math.round(e.pageY)-(v.value?.y??0))}},r=e=>{e.pointerType!==`touch`&&(t.x<=10&&t.y<=10?e.preventDefault():s.value?.contains(e.target)||_(!1),document.removeEventListener(`pointermove`,n),v.value=null)};v.value!==null&&(document.addEventListener(`pointermove`,n),document.addEventListener(`pointerup`,r,{capture:!0,once:!0})),e(()=>{document.removeEventListener(`pointermove`,n),document.removeEventListener(`pointerup`,r,{capture:!0})})});function y(e){let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&l(e.key,o()),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=[...o().map(e=>e.ref)];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(()=>Uf(t)),e.preventDefault()}}let b=Ld(W(()=>n.position===`popper`?n:{}).value);return Qg({content:s,viewport:u,onViewportChange:e=>{u.value=e},itemRefCallback:(e,t,n)=>{let r=!m.value&&!n,a=Vg(i.modelValue.value,t,i.by);if(i.multiple.value){if(h.value)return;(a||r)&&(d.value=e,a&&(h.value=!0))}else(a||r)&&(d.value=e);r&&(m.value=!0)},selectedItem:d,selectedItemText:f,onItemLeave:()=>{s.value?.focus()},itemTextRefCallback:(e,t,n)=>{let r=!m.value&&!n;(Vg(i.modelValue.value,t,i.by)||r)&&(f.value=e)},focusSelectedItem:g,position:n.position,isPositioned:p,searchRef:c}),(e,t)=>(B(),V(I(a),null,{default:L(()=>[U(I(zf),{"as-child":``,onMountAutoFocus:t[6]||=au(()=>{},[`prevent`]),onUnmountAutoFocus:t[7]||=e=>{r(`closeAutoFocus`,e),!e.defaultPrevented&&(I(i).triggerElement.value?.focus({preventScroll:!0}),e.preventDefault())}},{default:L(()=>[U(I(Tf),{"as-child":``,"disable-outside-pointer-events":e.disableOutsidePointerEvents,onFocusOutside:t[2]||=au(()=>{},[`prevent`]),onDismiss:t[3]||=e=>I(i).onOpenChange(!1),onEscapeKeyDown:t[4]||=e=>r(`escapeKeyDown`,e),onPointerDownOutside:t[5]||=e=>r(`pointerDownOutside`,e)},{default:L(()=>[(B(),V(sa(e.position===`popper`?Yg:n_),ks({...e.$attrs,...I(b)},{id:I(i).contentId,ref:e=>{if(!e)return;let t=I(ad)(e);t?.hasAttribute(`data-reka-popper-content-wrapper`)?s.value=t.firstElementChild:s.value=t},role:`listbox`,"data-state":I(i).open.value?`open`:`closed`,dir:I(i).dir.value,style:{display:`flex`,flexDirection:`column`,outline:`none`},onContextmenu:t[0]||=au(()=>{},[`prevent`]),onPlaced:t[1]||=e=>p.value=!0,onKeydown:y}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`dir`,`onKeydown`]))]),_:3},8,[`disable-outside-pointer-events`])]),_:3})]),_:3}))}}),[e_,t_]=Pu(`SelectItemAlignedPosition`),n_=R({inheritAttrs:!1,__name:`SelectItemAlignedPosition`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`placed`],setup(e,{emit:t}){let n=e,r=t,{getItems:i}=Kf(),a=Gg(),o=Zg(),s=F(!1),c=F(!0),l=F(),{forwardRef:u,currentElement:d}=Id(),{viewport:f,selectedItem:p,selectedItemText:m,focusSelectedItem:h}=o;function g(){if(a.triggerElement.value&&a.valueElement.value&&l.value&&d.value&&f?.value&&p?.value&&m?.value){let e=a.triggerElement.value.getBoundingClientRect(),t=d.value.getBoundingClientRect(),n=a.valueElement.value.getBoundingClientRect(),o=m.value.getBoundingClientRect();if(a.dir.value!==`rtl`){let r=o.left-t.left,i=n.left-r,a=e.left-i,s=e.width+a,c=Math.max(s,t.width),u=window.innerWidth-10,d=ju(i,10,Math.max(10,u-c));l.value.style.minWidth=`${s}px`,l.value.style.left=`${d}px`}else{let r=t.right-o.right,i=window.innerWidth-n.right-r,a=window.innerWidth-e.right-i,s=e.width+a,c=Math.max(s,t.width),u=window.innerWidth-10,d=ju(i,10,Math.max(10,u-c));l.value.style.minWidth=`${s}px`,l.value.style.right=`${d}px`}let c=i().map(e=>e.ref),u=window.innerHeight-20,h=f.value.scrollHeight,g=window.getComputedStyle(d.value),_=Number.parseInt(g.borderTopWidth,10),v=Number.parseInt(g.paddingTop,10),y=Number.parseInt(g.borderBottomWidth,10),b=Number.parseInt(g.paddingBottom,10),x=_+v+h+b+y,S=Math.min(p.value.offsetHeight*5,x),C=window.getComputedStyle(f.value),w=Number.parseInt(C.paddingTop,10),T=Number.parseInt(C.paddingBottom,10),E=e.top+e.height/2-10,D=u-E,O=p.value.offsetHeight/2,ee=p.value.offsetTop+O,k=_+v+ee,A=x-k;if(k<=E){let e=p.value===c.at(-1);l.value.style.bottom=`0px`;let t=d.value.clientHeight-f.value.offsetTop-f.value.offsetHeight,n=k+Math.max(D,O+(e?T:0)+t+y);l.value.style.height=`${n}px`}else{let e=p.value===c[0];l.value.style.top=`0px`;let t=Math.max(E,_+f.value.offsetTop+(e?w:0)+O)+A;l.value.style.height=`${t}px`,f.value.scrollTop=k-E+f.value.offsetTop}l.value.style.margin=`10px 0`,l.value.style.minHeight=`${S}px`,l.value.style.maxHeight=`${u}px`,r(`placed`),requestAnimationFrame(()=>s.value=!0)}}let _=F(``);Ji(async()=>{await Yn(),g(),d.value&&(_.value=window.getComputedStyle(d.value).zIndex)});function v(e){e&&c.value===!0&&(g(),h?.(),c.value=!1)}return fd(a.triggerElement,()=>{g()}),t_({contentWrapper:l,shouldExpandOnScrollRef:s,onScrollButtonChange:v}),(e,t)=>(B(),ms(`div`,{ref_key:`contentWrapperElement`,ref:l,style:ue({display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:_.value})},[U(I(vf),ks({ref:I(u),style:{boxSizing:`border-box`,maxHeight:`100%`}},{...e.$attrs,...n}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16)],4))}}),r_=R({inheritAttrs:!1,__name:`SelectProvider`,props:{context:{type:Object,required:!0}},setup(e){return Kg(e.context),Qg(Xg),(e,t)=>z(e.$slots,`default`)}}),i_={key:1},a_=R({inheritAttrs:!1,__name:`SelectContent`,props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=Rd(n,t),i=Gg(),a=F();Ji(()=>{a.value=new DocumentFragment});let o=F(),s=W(()=>n.forceMount||i.open.value),c=F(s.value),l;function u(){l&&=(clearTimeout(l),void 0)}return Cr(s,(e,t,n)=>{u(),l=setTimeout(()=>{c.value=s.value,l=void 0}),n(u)}),Qi(u),(e,t)=>s.value||c.value||o.value?.present?(B(),V(I(hf),{key:0,ref_key:`presenceRef`,ref:o,present:s.value},{default:L(()=>[U($g,ge(xs({...I(r),...e.$attrs})),{default:L(()=>[z(e.$slots,`default`)]),_:3},16)]),_:3},8,[`present`])):a.value?(B(),ms(`div`,i_,[(B(),V(Rr,{to:a.value},[U(r_,{context:I(i)},{default:L(()=>[z(e.$slots,`default`)]),_:3},8,[`context`])],8,[`to`]))])):Ts(`v-if`,!0)}}),o_=R({__name:`SelectIcon`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){return(e,t)=>(B(),V(I(vf),{"aria-hidden":`true`,as:e.as,"as-child":e.asChild},{default:L(()=>[z(e.$slots,`default`,{},()=>[t[0]||=Cs(`▼`)])]),_:3},8,[`as`,`as-child`]))}}),[s_,c_]=Pu(`SelectItem`),l_=R({__name:`SelectItem`,props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`select`],setup(e,{emit:t}){let n=e,r=t,{disabled:i}=gn(n),a=Gg(),o=Zg(),{forwardRef:s,currentElement:c}=Id(),{CollectionItem:l}=Kf(),u=W(()=>Vg(a.modelValue?.value,n.value,a.by)),d=F(!1),f=F(n.textValue??``),p=af(void 0,`reka-select-item-text`);async function m(e){e.defaultPrevented||Iu(`select.select`,h,{originalEvent:e,value:n.value})}async function h(e){await Yn(),r(`select`,e),!e.defaultPrevented&&(i.value||(a.onValueChange(n.value),a.multiple.value||a.onOpenChange(!1)))}async function g(e){await Yn(),!e.defaultPrevented&&(i.value?o.onItemLeave?.():e.currentTarget?.focus({preventScroll:!0}))}async function _(e){await Yn(),!e.defaultPrevented&&e.currentTarget===Fu()&&o.onItemLeave?.()}async function v(e){await Yn(),!e.defaultPrevented&&(o.searchRef?.value===``||e.key!==` `)&&(Bg.includes(e.key)&&m(e),e.key===` `&&e.preventDefault())}if(n.value===``)throw Error(`A 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 Ji(()=>{c.value&&o.itemRefCallback(c.value,n.value,n.disabled)}),c_({value:n.value,disabled:i,textId:p,isSelected:u,onItemTextChange:e=>{f.value=((f.value||e?.textContent)??``).trim()}}),(e,t)=>(B(),V(I(l),{value:{textValue:f.value}},{default:L(()=>[U(I(vf),{ref:I(s),role:`option`,"aria-labelledby":I(p),"data-highlighted":d.value?``:void 0,"aria-selected":u.value,"data-state":u.value?`checked`:`unchecked`,"aria-disabled":I(i)||void 0,"data-disabled":I(i)?``:void 0,tabindex:I(i)?void 0:-1,as:e.as,"as-child":e.asChild,onFocus:t[0]||=e=>d.value=!0,onBlur:t[1]||=e=>d.value=!1,onPointerup:m,onPointerdown:t[2]||=e=>{e.currentTarget.focus({preventScroll:!0})},onTouchend:t[3]||=au(()=>{},[`prevent`,`stop`]),onPointermove:g,onPointerleave:_,onKeydown:v},{default:L(()=>[z(e.$slots,`default`)]),_:3},8,[`aria-labelledby`,`data-highlighted`,`aria-selected`,`data-state`,`aria-disabled`,`data-disabled`,`tabindex`,`as`,`as-child`])]),_:3},8,[`value`]))}}),u_=R({__name:`SelectItemIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,n=s_();return(e,r)=>I(n).isSelected.value?(B(),V(I(vf),ks({key:0,"aria-hidden":`true`},t),{default:L(()=>[z(e.$slots,`default`)]),_:3},16)):Ts(`v-if`,!0)}}),d_=R({inheritAttrs:!1,__name:`SelectItemText`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,n=Gg(),r=Zg(),i=s_(),{forwardRef:a,currentElement:o}=Id(),s=W(()=>({value:i.value,disabled:i.disabled.value,textContent:o.value?.textContent??i.value?.toString()??``}));return Ji(()=>{o.value&&(i.onItemTextChange(o.value),r.itemTextRefCallback(o.value,i.value,i.disabled.value),n.onOptionAdd(s.value))}),Qi(()=>{n.onOptionRemove(s.value)}),(e,n)=>(B(),V(I(vf),ks({id:I(i).textId,ref:I(a)},{...t,...e.$attrs}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`id`]))}}),f_=R({__name:`SelectPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(B(),V(I(Wf),ge(xs(t)),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}}),p_=R({__name:`SelectScrollButtonImpl`,emits:[`autoScroll`],setup(e,{emit:t}){let n=t,{getItems:r}=Kf(),i=Zg(),a=F(null);function o(){a.value!==null&&(window.clearInterval(a.value),a.value=null)}br(()=>{r().map(e=>e.ref).find(e=>e===Fu())?.scrollIntoView({block:`nearest`})});function s(){a.value===null&&(a.value=window.setInterval(()=>{n(`autoScroll`)},50))}function c(){i.onItemLeave?.(),a.value===null&&(a.value=window.setInterval(()=>{n(`autoScroll`)},50))}return Zi(()=>o()),(e,t)=>(B(),V(I(vf),ks({"aria-hidden":`true`,style:{flexShrink:0}},e.$parent?.$props,{onPointerdown:s,onPointermove:c,onPointerleave:t[0]||=()=>{o()}}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}}),m_=R({__name:`SelectScrollDownButton`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=Zg(),n=t.position===`item-aligned`?e_():void 0,{forwardRef:r,currentElement:i}=Id(),a=F(!1);return br(e=>{if(t.viewport?.value&&t.isPositioned?.value){let n=t.viewport.value;function r(){let e=n.scrollHeight-n.clientHeight;a.value=Math.ceil(n.scrollTop)n.removeEventListener(`scroll`,r))}}),Cr(i,()=>{i.value&&n?.onScrollButtonChange(i.value)}),(e,n)=>a.value?(B(),V(p_,{key:0,ref:I(r),onAutoScroll:n[0]||=()=>{let{viewport:e,selectedItem:n}=I(t);e?.value&&n?.value&&(e.value.scrollTop=e.value.scrollTop+n.value.offsetHeight)}},{default:L(()=>[z(e.$slots,`default`)]),_:3},512)):Ts(`v-if`,!0)}}),h_=R({__name:`SelectScrollUpButton`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=Zg(),n=t.position===`item-aligned`?e_():void 0,{forwardRef:r,currentElement:i}=Id(),a=F(!1);return br(e=>{if(t.viewport?.value&&t.isPositioned?.value){let n=t.viewport.value;function r(){a.value=n.scrollTop>0}r(),n.addEventListener(`scroll`,r),e(()=>n.removeEventListener(`scroll`,r))}}),Cr(i,()=>{i.value&&n?.onScrollButtonChange(i.value)}),(e,n)=>a.value?(B(),V(p_,{key:0,ref:I(r),onAutoScroll:n[0]||=()=>{let{viewport:e,selectedItem:n}=I(t);e?.value&&n?.value&&(e.value.scrollTop=e.value.scrollTop-n.value.offsetHeight)}},{default:L(()=>[z(e.$slots,`default`)]),_:3},512)):Ts(`v-if`,!0)}}),g_=R({__name:`SelectTrigger`,props:{disabled:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=Gg(),{forwardRef:r,currentElement:i}=Id(),a=W(()=>n.disabled?.value||t.disabled);n.contentId||=af(void 0,`reka-select-content`),Ji(()=>{n.onTriggerChange(i.value)});let{getItems:o}=Kf(),{search:s,handleTypeaheadSearch:c,resetTypeahead:l}=uf();function u(){a.value||(n.onOpenChange(!0),l())}function d(e){u(),n.triggerPointerDownPosRef.value={x:Math.round(e.pageX),y:Math.round(e.pageY)}}function f(e){return e.button===0&&e.ctrlKey===!1}let p=!1;function m(e){if(e.pointerType===`touch`)return e.preventDefault();let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),f(e)&&(d(e),p=!0)}function h(e){f(e)&&e.preventDefault()}function g(e){p||e.currentTarget?.focus(),p=!1}return(e,t)=>(B(),V(I(ip),{"as-child":``,reference:e.reference},{default:L(()=>[U(I(vf),{ref:I(r),role:`combobox`,type:e.as===`button`?`button`:void 0,"aria-controls":I(n).contentId,"aria-expanded":I(n).open.value||!1,"aria-required":I(n).required?.value,"aria-autocomplete":`none`,disabled:a.value,dir:I(n)?.dir.value,"data-state":I(n)?.open.value?`open`:`closed`,"data-disabled":a.value?``:void 0,"data-placeholder":I(Ug)(I(n).modelValue?.value)?``:void 0,"as-child":e.asChild,as:e.as,onClick:g,onPointerdown:m,onMousedown:h,onPointerup:t[0]||=au(e=>{e.pointerType===`touch`&&d(e)},[`prevent`]),onKeydown:t[1]||=e=>{let t=I(s)!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&t&&e.key===` `||(I(c)(e.key,I(o)()),I(zg).includes(e.key)&&(u(),e.preventDefault()))}},{default:L(()=>[z(e.$slots,`default`)]),_:3},8,[`type`,`aria-controls`,`aria-expanded`,`aria-required`,`disabled`,`dir`,`data-state`,`data-disabled`,`data-placeholder`,`as-child`,`as`])]),_:3},8,[`reference`]))}}),__=R({__name:`SelectValue`,props:{placeholder:{type:String,required:!1,default:``},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,{forwardRef:n,currentElement:r}=Id(),i=Gg();Ji(()=>{i.valueElement=r});let a=W(()=>{let e=[],t=Array.from(i.optionsSet.value),n=e=>t.find(t=>Vg(e,t.value,i.by));return e=Array.isArray(i.modelValue.value)?i.modelValue.value.map(e=>n(e)?.textContent??``):[n(i.modelValue.value)?.textContent??``],e.filter(Boolean)}),o=W(()=>a.value.length?a.value.join(`, `):t.placeholder);return(e,r)=>(B(),V(I(vf),{ref:I(n),as:e.as,"as-child":e.asChild,style:{pointerEvents:`none`},"data-placeholder":a.value.length?void 0:t.placeholder},{default:L(()=>[z(e.$slots,`default`,{selectedLabel:a.value,modelValue:I(i).modelValue.value},()=>[Cs(Ce(o.value),1)])]),_:3},8,[`as`,`as-child`,`data-placeholder`]))}}),v_=R({__name:`SelectViewport`,props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{nonce:n}=gn(t),r=vh(n),i=Zg(),a=i.position===`item-aligned`?e_():void 0,{forwardRef:o,currentElement:s}=Id();Ji(()=>{i?.onViewportChange(s.value)});let c=F(0);function l(e){let t=e.currentTarget,{shouldExpandOnScrollRef:n,contentWrapper:r}=a??{};if(n?.value&&r?.value){let e=Math.abs(c.value-t.scrollTop);if(e>0){let n=window.innerHeight-20,i=Number.parseFloat(r.value.style.minHeight),a=Number.parseFloat(r.value.style.height),o=Math.max(i,a);if(o0?s:0,r.value.style.justifyContent=`flex-end`)}}}c.value=t.scrollTop}return(e,n)=>(B(),ms(is,null,[U(I(vf),ks({ref:I(o),"data-reka-select-viewport":``,role:`presentation`},{...e.$attrs,...t},{style:{position:`relative`,flex:1,overflow:`hidden auto`},onScroll:l}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16),U(I(vf),{as:`style`,nonce:I(r)},{default:L(()=>n[0]||=[Cs(` /* Hide scrollbars cross-browser and enable momentum scroll for touch devices */ [data-reka-select-viewport] { scrollbar-width:none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } [data-reka-select-viewport]::-webkit-scrollbar { display: none; } `)]),_:1,__:[0]},8,[`nonce`])],64))}}),[y_,b_]=Pu(`TooltipProvider`),x_=R({inheritAttrs:!1,__name:`TooltipProvider`,props:{delayDuration:{type:Number,required:!1,default:700},skipDelayDuration:{type:Number,required:!1,default:300},disableHoverableContent:{type:Boolean,required:!1,default:!1},disableClosingTrigger:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:!1},content:{type:Object,required:!1}},setup(e){let{delayDuration:t,skipDelayDuration:n,disableHoverableContent:r,disableClosingTrigger:i,ignoreNonKeyboardFocus:a,disabled:o,content:s}=gn(e);Id();let c=F(!0),l=F(!1),{start:u,stop:d}=nd(()=>{c.value=!0},n,{immediate:!1});return b_({isOpenDelayed:c,delayDuration:t,onOpen(){d(),c.value=!1},onClose(){u()},isPointerInTransitRef:l,disableHoverableContent:r,disableClosingTrigger:i,disabled:o,ignoreNonKeyboardFocus:a,content:s}),(e,t)=>z(e.$slots,`default`)}}),S_=`tooltip.open`,[C_,w_]=Pu(`TooltipRoot`),T_=R({__name:`TooltipRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},delayDuration:{type:Number,required:!1,default:void 0},disableHoverableContent:{type:Boolean,required:!1,default:void 0},disableClosingTrigger:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1,default:void 0},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:void 0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t;Id();let i=y_(),a=W(()=>n.disableHoverableContent??i.disableHoverableContent.value),o=W(()=>n.disableClosingTrigger??i.disableClosingTrigger.value),s=W(()=>n.disabled??i.disabled.value),c=W(()=>n.delayDuration??i.delayDuration.value),l=W(()=>n.ignoreNonKeyboardFocus??i.ignoreNonKeyboardFocus.value),u=pd(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0});Cr(u,e=>{i.onClose&&(e?(i.onOpen(),document.dispatchEvent(new CustomEvent(S_))):i.onClose())});let d=F(!1),f=F(),p=W(()=>u.value?d.value?`delayed-open`:`instant-open`:`closed`),{start:m,stop:h}=nd(()=>{d.value=!0,u.value=!0},c,{immediate:!1});function g(){h(),d.value=!1,u.value=!0}function _(){h(),u.value=!1}function v(){m()}return w_({contentId:``,open:u,stateAttribute:p,trigger:f,onTriggerChange(e){f.value=e},onTriggerEnter(){i.isOpenDelayed.value?v():g()},onTriggerLeave(){a.value?_():h()},onOpen:g,onClose:_,disableHoverableContent:a,disableClosingTrigger:o,disabled:s,ignoreNonKeyboardFocus:l}),(e,t)=>(B(),V(I(rp),null,{default:L(()=>[z(e.$slots,`default`,{open:I(u)})]),_:3}))}}),E_=R({__name:`TooltipContentImpl`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1,default:void 0},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1,default:void 0},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1,default:void 0},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=C_(),a=y_(),{forwardRef:o,currentElement:s}=Id(),c=W(()=>n.ariaLabel||s.value?.textContent),l=W(()=>{let{ariaLabel:e,...t}=n;return xd(t,a.content.value??{},{side:`top`,sideOffset:0,align:`center`,avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:`partial`,hideWhenDetached:!1})});return Ji(()=>{od(window,`scroll`,e=>{e.target?.contains(i.trigger.value)&&i.onClose()},{capture:!0}),od(window,S_,i.onClose)}),(e,t)=>(B(),V(I(Tf),{"as-child":``,"disable-outside-pointer-events":!1,onEscapeKeyDown:t[0]||=e=>r(`escapeKeyDown`,e),onPointerDownOutside:t[1]||=e=>{I(i).disableClosingTrigger.value&&I(i).trigger.value?.contains(e.target)&&e.preventDefault(),r(`pointerDownOutside`,e)},onFocusOutside:t[2]||=au(()=>{},[`prevent`]),onDismiss:t[3]||=e=>I(i).onClose()},{default:L(()=>[U(I(_h),ks({ref:I(o),"data-state":I(i).stateAttribute.value},{...e.$attrs,...l.value},{style:{"--reka-tooltip-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-tooltip-content-available-width":`var(--reka-popper-available-width)`,"--reka-tooltip-content-available-height":`var(--reka-popper-available-height)`,"--reka-tooltip-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-tooltip-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:L(()=>[z(e.$slots,`default`),U(I(qf),{id:I(i).contentId,role:`tooltip`},{default:L(()=>[Cs(Ce(c.value),1)]),_:1},8,[`id`])]),_:3},16,[`data-state`])]),_:3}))}}),D_=R({__name:`TooltipContentHoverable`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},setup(e){let t=Ld(e),{forwardRef:n,currentElement:r}=Id(),{trigger:i,onClose:a}=C_(),o=y_(),{isPointerInTransit:s,onPointerExit:c}=Bd(i,r);return o.isPointerInTransitRef=s,c(()=>{a()}),(e,r)=>(B(),V(E_,ks({ref:I(n)},I(t)),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}}),O_=R({__name:`TooltipContent`,props:{forceMount:{type:Boolean,required:!1},ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=C_(),a=Rd(n,r),{forwardRef:o}=Id();return(e,t)=>(B(),V(I(hf),{present:e.forceMount||I(i).open.value},{default:L(()=>[(B(),V(sa(I(i).disableHoverableContent.value?E_:D_),ks({ref:I(o)},I(a)),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),k_=R({__name:`TooltipPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(B(),V(I(Wf),ge(xs(t)),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}}),A_=R({__name:`TooltipTrigger`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=C_(),r=y_();n.contentId||=af(void 0,`reka-tooltip-content`);let{forwardRef:i,currentElement:a}=Id(),o=F(!1),s=F(!1),c=W(()=>n.disabled.value?{}:{click:h,focus:p,pointermove:d,pointerleave:f,pointerdown:u,blur:m});Ji(()=>{n.onTriggerChange(a.value)});function l(){setTimeout(()=>{o.value=!1},1)}function u(){n.open&&!n.disableClosingTrigger.value&&n.onClose(),o.value=!0,document.addEventListener(`pointerup`,l,{once:!0})}function d(e){e.pointerType!==`touch`&&!s.value&&!r.isPointerInTransitRef.value&&(n.onTriggerEnter(),s.value=!0)}function f(){n.onTriggerLeave(),s.value=!1}function p(e){o.value||n.ignoreNonKeyboardFocus.value&&!e.target.matches?.(`:focus-visible`)||n.onOpen()}function m(){n.onClose()}function h(){n.disableClosingTrigger.value||n.onClose()}return(e,r)=>(B(),V(I(ip),{"as-child":``,reference:e.reference},{default:L(()=>[U(I(vf),ks({ref:I(i),"aria-describedby":I(n).open.value?I(n).contentId:void 0,"data-state":I(n).stateAttribute.value,as:e.as,"as-child":t.asChild,"data-grace-area-trigger":``},ma(c.value)),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`aria-describedby`,`data-state`,`as`,`as-child`])]),_:3},8,[`reference`]))}}),j_=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t({classGroupId:e,validator:t}),N_=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),P_=`-`,F_=[],I_=`arbitrary..`,L_=e=>{let t=B_(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return z_(e);let n=e.split(P_);return R_(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?j_(i,t):t:i||F_}return n[e]||F_}}},R_=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=R_(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(P_):e.slice(t).join(P_),s=a.length;for(let e=0;ee.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?I_+r:void 0})(),B_=e=>{let{theme:t,classGroups:n}=e;return V_(n,t)},V_=(e,t)=>{let n=N_();for(let r in e){let i=e[r];H_(i,n,r,t)}return n},H_=(e,t,n,r)=>{let i=e.length;for(let a=0;a{if(typeof e==`string`){W_(e,t,n);return}if(typeof e==`function`){G_(e,t,n,r);return}K_(e,t,n,r)},W_=(e,t,n)=>{let r=e===``?t:q_(t,e);r.classGroupId=n},G_=(e,t,n,r)=>{if(J_(e)){H_(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(M_(n,e))},K_=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e{let n=e,r=t.split(P_),i=r.length;for(let e=0;e`isThemeGetter`in e&&e.isThemeGetter===!0,Y_=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)}}},X_=`!`,Z_=`:`,Q_=[],$_=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),ev=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;si?a-i:void 0;return $_(t,l,c,u)};if(t){let e=t+Z_,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):$_(Q_,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},tv=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},nv=e=>({cache:Y_(e.cacheSize),parseClassName:ev(e),sortModifiers:tv(e),postfixLookupClassGroupIds:rv(e),...L_(e)}),rv=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(iv),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:m}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let h=!!m,g;if(h){g=r(p.substring(0,m));let e=g&&o[g]?r(p):void 0;e&&e!==g&&(g=e,h=!1)}else g=r(p);if(!g){if(!h){l=t+(l.length>0?` `+l:l);continue}if(g=r(p),!g){l=t+(l.length>0?` `+l:l);continue}h=!1}let _=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),v=f?_+X_:_,y=v+g;if(s.indexOf(y)>-1)continue;s.push(y);let b=i(g,h);for(let e=0;e0?` `+l:l)}return l},ov=(...e)=>{let t=0,n,r,i=``;for(;t{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r{let n,r,i,a,o=o=>(n=nv(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=av(e,n);return i(e,a),a};return a=o,(...e)=>a(ov(...e))},lv=[],uv=e=>{let t=t=>t[e]||lv;return t.isThemeGetter=!0,t},dv=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,fv=/^\((?:(\w[\w-]*):)?(.+)\)$/i,pv=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,mv=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,hv=/\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$/,gv=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,_v=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,vv=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,yv=e=>pv.test(e),bv=e=>!!e&&!Number.isNaN(Number(e)),xv=e=>!!e&&Number.isInteger(Number(e)),Sv=e=>e.endsWith(`%`)&&bv(e.slice(0,-1)),Cv=e=>mv.test(e),wv=()=>!0,Tv=e=>hv.test(e)&&!gv.test(e),Ev=()=>!1,Dv=e=>_v.test(e),Ov=e=>vv.test(e),kv=e=>!G(e)&&!K(e),Av=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),jv=e=>Kv(e,Xv,Ev),G=e=>dv.test(e),Mv=e=>Kv(e,Zv,Tv),Nv=e=>Kv(e,Qv,bv),Pv=e=>Kv(e,ey,wv),Fv=e=>Kv(e,$v,Ev),Iv=e=>Kv(e,Jv,Ev),Lv=e=>Kv(e,Yv,Ov),Rv=e=>Kv(e,ty,Dv),K=e=>fv.test(e),zv=e=>qv(e,Zv),Bv=e=>qv(e,$v),Vv=e=>qv(e,Jv),Hv=e=>qv(e,Xv),Uv=e=>qv(e,Yv),Wv=e=>qv(e,ty,!0),Gv=e=>qv(e,ey,!0),Kv=(e,t,n)=>{let r=dv.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},qv=(e,t,n=!1)=>{let r=fv.exec(e);return r?r[1]?t(r[1]):n:!1},Jv=e=>e===`position`||e===`percentage`,Yv=e=>e===`image`||e===`url`,Xv=e=>e===`length`||e===`size`||e===`bg-size`,Zv=e=>e===`length`,Qv=e=>e===`number`,$v=e=>e===`family-name`,ey=e=>e===`number`||e===`weight`,ty=e=>e===`shadow`,ny=cv(()=>{let e=uv(`color`),t=uv(`font`),n=uv(`text`),r=uv(`font-weight`),i=uv(`tracking`),a=uv(`leading`),o=uv(`breakpoint`),s=uv(`container`),c=uv(`spacing`),l=uv(`radius`),u=uv(`shadow`),d=uv(`inset-shadow`),f=uv(`text-shadow`),p=uv(`drop-shadow`),m=uv(`blur`),h=uv(`perspective`),g=uv(`aspect`),_=uv(`ease`),v=uv(`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(),K,G],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[K,G,c],T=()=>[yv,`full`,`auto`,...w()],E=()=>[xv,`none`,`subgrid`,K,G],D=()=>[`auto`,{span:[`full`,xv,K,G]},xv,K,G],O=()=>[xv,`auto`,K,G],ee=()=>[`auto`,`min`,`max`,`fr`,K,G],k=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],A=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],te=()=>[`auto`,...w()],j=()=>[yv,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],ne=()=>[yv,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],M=()=>[yv,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],N=()=>[e,K,G],re=()=>[...b(),Vv,Iv,{position:[K,G]}],ie=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ae=()=>[`auto`,`cover`,`contain`,Hv,jv,{size:[K,G]}],oe=()=>[Sv,zv,Mv],se=()=>[``,`none`,`full`,l,K,G],ce=()=>[``,bv,zv,Mv],le=()=>[`solid`,`dashed`,`dotted`,`double`],ue=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],de=()=>[bv,Sv,Vv,Iv],fe=()=>[``,`none`,m,K,G],pe=()=>[`none`,bv,K,G],me=()=>[`none`,bv,K,G],he=()=>[bv,K,G],ge=()=>[yv,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[Cv],breakpoint:[Cv],color:[wv],container:[Cv],"drop-shadow":[Cv],ease:[`in`,`out`,`in-out`],font:[kv],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[Cv],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[Cv],shadow:[Cv],spacing:[`px`,bv],text:[Cv],"text-shadow":[Cv],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,yv,G,K,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,K,G]}],"container-named":[Av],columns:[{columns:[bv,G,K,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:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[xv,`auto`,K,G]}],basis:[{basis:[yv,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[bv,yv,`auto`,`initial`,`none`,G]}],grow:[{grow:[``,bv,K,G]}],shrink:[{shrink:[``,bv,K,G]}],order:[{order:[xv,`first`,`last`,`none`,K,G]}],"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":ee()}],"auto-rows":[{"auto-rows":ee()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...k(),`normal`]}],"justify-items":[{"justify-items":[...A(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...A()]}],"align-content":[{content:[`normal`,...k()]}],"align-items":[{items:[...A(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...A(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":k()}],"place-items":[{"place-items":[...A(),`baseline`]}],"place-self":[{"place-self":[`auto`,...A()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:te()}],mx:[{mx:te()}],my:[{my:te()}],ms:[{ms:te()}],me:[{me:te()}],mbs:[{mbs:te()}],mbe:[{mbe:te()}],mt:[{mt:te()}],mr:[{mr:te()}],mb:[{mb:te()}],ml:[{ml:te()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:j()}],"inline-size":[{inline:[`auto`,...ne()]}],"min-inline-size":[{"min-inline":[`auto`,...ne()]}],"max-inline-size":[{"max-inline":[`none`,...ne()]}],"block-size":[{block:[`auto`,...M()]}],"min-block-size":[{"min-block":[`auto`,...M()]}],"max-block-size":[{"max-block":[`none`,...M()]}],w:[{w:[s,`screen`,...j()]}],"min-w":[{"min-w":[s,`screen`,`none`,...j()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...j()]}],h:[{h:[`screen`,`lh`,...j()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...j()]}],"max-h":[{"max-h":[`screen`,`lh`,...j()]}],"font-size":[{text:[`base`,n,zv,Mv]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,Gv,Pv]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,Sv,G]}],"font-family":[{font:[Bv,Fv,t]}],"font-features":[{"font-features":[G]}],"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,K,G]}],"line-clamp":[{"line-clamp":[bv,`none`,K,Nv]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,K,G]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,K,G]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:N()}],"text-color":[{text:N()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...le(),`wavy`]}],"text-decoration-thickness":[{decoration:[bv,`from-font`,`auto`,K,Mv]}],"text-decoration-color":[{decoration:N()}],"underline-offset":[{"underline-offset":[bv,`auto`,K,G]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"tab-size":[{tab:[xv,K,G]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,K,G]}],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`,K,G]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:re()}],"bg-repeat":[{bg:ie()}],"bg-size":[{bg:ae()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},xv,K,G],radial:[``,K,G],conic:[xv,K,G]},Uv,Lv]}],"bg-color":[{bg:N()}],"gradient-from-pos":[{from:oe()}],"gradient-via-pos":[{via:oe()}],"gradient-to-pos":[{to:oe()}],"gradient-from":[{from:N()}],"gradient-via":[{via:N()}],"gradient-to":[{to:N()}],rounded:[{rounded:se()}],"rounded-s":[{"rounded-s":se()}],"rounded-e":[{"rounded-e":se()}],"rounded-t":[{"rounded-t":se()}],"rounded-r":[{"rounded-r":se()}],"rounded-b":[{"rounded-b":se()}],"rounded-l":[{"rounded-l":se()}],"rounded-ss":[{"rounded-ss":se()}],"rounded-se":[{"rounded-se":se()}],"rounded-ee":[{"rounded-ee":se()}],"rounded-es":[{"rounded-es":se()}],"rounded-tl":[{"rounded-tl":se()}],"rounded-tr":[{"rounded-tr":se()}],"rounded-br":[{"rounded-br":se()}],"rounded-bl":[{"rounded-bl":se()}],"border-w":[{border:ce()}],"border-w-x":[{"border-x":ce()}],"border-w-y":[{"border-y":ce()}],"border-w-s":[{"border-s":ce()}],"border-w-e":[{"border-e":ce()}],"border-w-bs":[{"border-bs":ce()}],"border-w-be":[{"border-be":ce()}],"border-w-t":[{"border-t":ce()}],"border-w-r":[{"border-r":ce()}],"border-w-b":[{"border-b":ce()}],"border-w-l":[{"border-l":ce()}],"divide-x":[{"divide-x":ce()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":ce()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...le(),`hidden`,`none`]}],"divide-style":[{divide:[...le(),`hidden`,`none`]}],"border-color":[{border:N()}],"border-color-x":[{"border-x":N()}],"border-color-y":[{"border-y":N()}],"border-color-s":[{"border-s":N()}],"border-color-e":[{"border-e":N()}],"border-color-bs":[{"border-bs":N()}],"border-color-be":[{"border-be":N()}],"border-color-t":[{"border-t":N()}],"border-color-r":[{"border-r":N()}],"border-color-b":[{"border-b":N()}],"border-color-l":[{"border-l":N()}],"divide-color":[{divide:N()}],"outline-style":[{outline:[...le(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[bv,K,G]}],"outline-w":[{outline:[``,bv,zv,Mv]}],"outline-color":[{outline:N()}],shadow:[{shadow:[``,`none`,u,Wv,Rv]}],"shadow-color":[{shadow:N()}],"inset-shadow":[{"inset-shadow":[`none`,d,Wv,Rv]}],"inset-shadow-color":[{"inset-shadow":N()}],"ring-w":[{ring:ce()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:N()}],"ring-offset-w":[{"ring-offset":[bv,Mv]}],"ring-offset-color":[{"ring-offset":N()}],"inset-ring-w":[{"inset-ring":ce()}],"inset-ring-color":[{"inset-ring":N()}],"text-shadow":[{"text-shadow":[`none`,f,Wv,Rv]}],"text-shadow-color":[{"text-shadow":N()}],opacity:[{opacity:[bv,K,G]}],"mix-blend":[{"mix-blend":[...ue(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":ue()}],"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":[bv]}],"mask-image-linear-from-pos":[{"mask-linear-from":de()}],"mask-image-linear-to-pos":[{"mask-linear-to":de()}],"mask-image-linear-from-color":[{"mask-linear-from":N()}],"mask-image-linear-to-color":[{"mask-linear-to":N()}],"mask-image-t-from-pos":[{"mask-t-from":de()}],"mask-image-t-to-pos":[{"mask-t-to":de()}],"mask-image-t-from-color":[{"mask-t-from":N()}],"mask-image-t-to-color":[{"mask-t-to":N()}],"mask-image-r-from-pos":[{"mask-r-from":de()}],"mask-image-r-to-pos":[{"mask-r-to":de()}],"mask-image-r-from-color":[{"mask-r-from":N()}],"mask-image-r-to-color":[{"mask-r-to":N()}],"mask-image-b-from-pos":[{"mask-b-from":de()}],"mask-image-b-to-pos":[{"mask-b-to":de()}],"mask-image-b-from-color":[{"mask-b-from":N()}],"mask-image-b-to-color":[{"mask-b-to":N()}],"mask-image-l-from-pos":[{"mask-l-from":de()}],"mask-image-l-to-pos":[{"mask-l-to":de()}],"mask-image-l-from-color":[{"mask-l-from":N()}],"mask-image-l-to-color":[{"mask-l-to":N()}],"mask-image-x-from-pos":[{"mask-x-from":de()}],"mask-image-x-to-pos":[{"mask-x-to":de()}],"mask-image-x-from-color":[{"mask-x-from":N()}],"mask-image-x-to-color":[{"mask-x-to":N()}],"mask-image-y-from-pos":[{"mask-y-from":de()}],"mask-image-y-to-pos":[{"mask-y-to":de()}],"mask-image-y-from-color":[{"mask-y-from":N()}],"mask-image-y-to-color":[{"mask-y-to":N()}],"mask-image-radial":[{"mask-radial":[K,G]}],"mask-image-radial-from-pos":[{"mask-radial-from":de()}],"mask-image-radial-to-pos":[{"mask-radial-to":de()}],"mask-image-radial-from-color":[{"mask-radial-from":N()}],"mask-image-radial-to-color":[{"mask-radial-to":N()}],"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":[bv]}],"mask-image-conic-from-pos":[{"mask-conic-from":de()}],"mask-image-conic-to-pos":[{"mask-conic-to":de()}],"mask-image-conic-from-color":[{"mask-conic-from":N()}],"mask-image-conic-to-color":[{"mask-conic-to":N()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:re()}],"mask-repeat":[{mask:ie()}],"mask-size":[{mask:ae()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,K,G]}],filter:[{filter:[``,`none`,K,G]}],blur:[{blur:fe()}],brightness:[{brightness:[bv,K,G]}],contrast:[{contrast:[bv,K,G]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Wv,Rv]}],"drop-shadow-color":[{"drop-shadow":N()}],grayscale:[{grayscale:[``,bv,K,G]}],"hue-rotate":[{"hue-rotate":[bv,K,G]}],invert:[{invert:[``,bv,K,G]}],saturate:[{saturate:[bv,K,G]}],sepia:[{sepia:[``,bv,K,G]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,K,G]}],"backdrop-blur":[{"backdrop-blur":fe()}],"backdrop-brightness":[{"backdrop-brightness":[bv,K,G]}],"backdrop-contrast":[{"backdrop-contrast":[bv,K,G]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,bv,K,G]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[bv,K,G]}],"backdrop-invert":[{"backdrop-invert":[``,bv,K,G]}],"backdrop-opacity":[{"backdrop-opacity":[bv,K,G]}],"backdrop-saturate":[{"backdrop-saturate":[bv,K,G]}],"backdrop-sepia":[{"backdrop-sepia":[``,bv,K,G]}],"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`,K,G]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[bv,`initial`,K,G]}],ease:[{ease:[`linear`,`initial`,_,K,G]}],delay:[{delay:[bv,K,G]}],animate:[{animate:[`none`,v,K,G]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,K,G]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:pe()}],"rotate-x":[{"rotate-x":pe()}],"rotate-y":[{"rotate-y":pe()}],"rotate-z":[{"rotate-z":pe()}],scale:[{scale:me()}],"scale-x":[{"scale-x":me()}],"scale-y":[{"scale-y":me()}],"scale-z":[{"scale-z":me()}],"scale-3d":[`scale-3d`],skew:[{skew:he()}],"skew-x":[{"skew-x":he()}],"skew-y":[{"skew-y":he()}],transform:[{transform:[K,G,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:ge()}],"translate-x":[{"translate-x":ge()}],"translate-y":[{"translate-y":ge()}],"translate-z":[{"translate-z":ge()}],"translate-none":[`translate-none`],zoom:[{zoom:[xv,K,G]}],accent:[{accent:N()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:N()}],"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`,K,G]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":N()}],"scrollbar-track-color":[{"scrollbar-track":N()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"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-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":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-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":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`,K,G]}],fill:[{fill:[`none`,...N()]}],"stroke-w":[{stroke:[bv,zv,Mv,Nv]}],stroke:[{stroke:[`none`,...N()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`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`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`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-bs`,`border-w-be`,`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-bs`,`border-color-be`,`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-mbs`,`scroll-mbe`,`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-pbs`,`scroll-pbe`,`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`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function ry(...e){return ny(wu(e))}var iy=Symbol(`compas-viewer-runtime`);function ay(){let e=gr(iy);if(!e)throw Error(`COMPAS viewer runtime is not available in this component`);return e}var oy=R({__name:`Button`,props:{variant:{},size:{},class:{type:[Boolean,null,String,Object,Array]},asChild:{type:Boolean},as:{default:`button`}},setup(e){let t=e,{theme:n}=ay().store;return(r,i)=>(B(),V(I(vf),{"data-slot":`button`,as:e.as,"as-child":e.asChild,class:he(I(ry)(I(sy)({variant:e.variant,size:e.size}),t.class,{dark:I(n).value===`dark`}))},{default:L(()=>[z(r.$slots,`default`)]),_:3},8,[`as`,`as-child`,`class`]))}}),sy=Du(`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/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90`,destructive:`bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground dark: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`}}),cy=R({__name:`Select`,props:{open:{type:Boolean},defaultOpen:{type:Boolean},defaultValue:{},modelValue:{},nullableValue:{},by:{type:[String,Function]},dir:{},multiple:{type:Boolean},autocomplete:{},disabled:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:open`],setup(e,{emit:t}){let n=Rd(e,t);return(e,t)=>(B(),V(I(qg),ge(xs(I(n))),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}}),ly=R({inheritAttrs:!1,__name:`SelectContent`,props:{forceMount:{type:Boolean},position:{default:`popper`},bodyLock:{type:Boolean},memoDependencies:{},side:{},sideOffset:{},sideFlip:{type:Boolean},align:{},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},dir:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=Rd($u(n,`class`),r);return(t,r)=>(B(),V(I(f_),null,{default:L(()=>[U(I(a_),ks({...I(i),...t.$attrs},{class:I(ry)(`relative z-50 max-h-96 min-w-32 overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md 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`,e.position===`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`,n.class)}),{default:L(()=>[U(I(qy)),U(I(v_),{class:he(I(ry)(`p-1`,e.position===`popper`&&`h-(--reka-select-trigger-height) w-full min-w-(--reka-select-trigger-width)`))},{default:L(()=>[z(t.$slots,`default`)]),_:3},8,[`class`]),U(I(Ky))]),_:3},16,[`class`])]),_:3}))}}),uy=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},dy=e=>e===``,fy=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),py=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),my=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),hy=e=>{let t=my(e);return t.charAt(0).toUpperCase()+t.slice(1)},gy={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`},_y=({name:e,iconNode:t,absoluteStrokeWidth:n,"absolute-stroke-width":r,strokeWidth:i,"stroke-width":a,size:o=gy.width,color:s=gy.stroke,...c},{slots:l})=>tc(`svg`,{...gy,...c,width:o,height:o,stroke:s,"stroke-width":dy(n)||dy(r)||n===!0||r===!0?Number(i||a||gy[`stroke-width`])*24/Number(o):i||a||gy[`stroke-width`],class:fy(`lucide`,c.class,...e?[`lucide-${py(hy(e))}-icon`,`lucide-${py(e)}`]:[`lucide-icon`]),...!l.default&&!uy(c)&&{"aria-hidden":`true`}},[...t.map(e=>tc(...e)),...l.default?[l.default()]:[]]),vy=(e,t)=>(n,{slots:r,attrs:i})=>tc(_y,{...i,...n,iconNode:t,name:e},r),yy=vy(`arrow-big-left-dash`,[[`path`,{d:`M13 9a1 1 0 0 1-1-1V5.061a1 1 0 0 0-1.811-.75l-6.835 6.836a1.207 1.207 0 0 0 0 1.707l6.835 6.835a1 1 0 0 0 1.811-.75V16a1 1 0 0 1 1-1h2a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1z`,key:`p8w4w5`}],[`path`,{d:`M20 9v6`,key:`14roy0`}]]),by=vy(`arrow-big-right-dash`,[[`path`,{d:`M11 9a1 1 0 0 0 1-1V5.061a1 1 0 0 1 1.811-.75l6.836 6.836a1.207 1.207 0 0 1 0 1.707l-6.836 6.835a1 1 0 0 1-1.811-.75V16a1 1 0 0 0-1-1H9a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1z`,key:`67vhrh`}],[`path`,{d:`M4 9v6`,key:`bns7oa`}]]),xy=vy(`box`,[[`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`,key:`hh9hay`}],[`path`,{d:`m3.3 7 8.7 5 8.7-5`,key:`g66t2b`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}]]),Sy=vy(`camera`,[[`path`,{d:`M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z`,key:`18u6gg`}],[`circle`,{cx:`12`,cy:`13`,r:`3`,key:`1vg3eu`}]]),Cy=vy(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),wy=vy(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),Ty=vy(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),Ey=vy(`clipboard-list`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}],[`path`,{d:`M12 11h4`,key:`1jrz19`}],[`path`,{d:`M12 16h4`,key:`n85exb`}],[`path`,{d:`M8 11h.01`,key:`1dfujw`}],[`path`,{d:`M8 16h.01`,key:`18s6g9`}]]),Dy=vy(`house`,[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`,key:`5wwlr5`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`r6nss1`}]]),Oy=vy(`image-down`,[[`path`,{d:`M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21`,key:`9csbqa`}],[`path`,{d:`m14 19 3 3v-5.5`,key:`9ldu5r`}],[`path`,{d:`m17 22 3-3`,key:`1nkfve`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}]]),ky=vy(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),Ay=vy(`minus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]),jy=vy(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),My=vy(`move-3d`,[[`path`,{d:`M5 3v16h16`,key:`1mqmf9`}],[`path`,{d:`m5 19 6-6`,key:`jh6hbb`}],[`path`,{d:`m2 6 3-3 3 3`,key:`tkyvxa`}],[`path`,{d:`m18 16 3 3-3 3`,key:`1d4glt`}]]),Ny=vy(`palette`,[[`path`,{d:`M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z`,key:`e79jfc`}],[`circle`,{cx:`13.5`,cy:`6.5`,r:`.5`,fill:`currentColor`,key:`1okk4w`}],[`circle`,{cx:`17.5`,cy:`10.5`,r:`.5`,fill:`currentColor`,key:`f64h9f`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`.5`,fill:`currentColor`,key:`qy21gx`}],[`circle`,{cx:`8.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`fotxhn`}]]),Py=vy(`plane`,[[`path`,{d:`M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z`,key:`1v9wt8`}]]),Fy=vy(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),Iy=vy(`pointer-off`,[[`path`,{d:`M10 4.5V4a2 2 0 0 0-2.41-1.957`,key:`jsi14n`}],[`path`,{d:`M13.9 8.4a2 2 0 0 0-1.26-1.295`,key:`hirc7f`}],[`path`,{d:`M21.7 16.2A8 8 0 0 0 22 14v-3a2 2 0 1 0-4 0v-1a2 2 0 0 0-3.63-1.158`,key:`1jxb2e`}],[`path`,{d:`m7 15-1.8-1.8a2 2 0 0 0-2.79 2.86L6 19.7a7.74 7.74 0 0 0 6 2.3h2a8 8 0 0 0 5.657-2.343`,key:`10r7hm`}],[`path`,{d:`M6 6v8`,key:`tv5xkp`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),Ly=vy(`pointer`,[[`path`,{d:`M22 14a8 8 0 0 1-8 8`,key:`56vcr3`}],[`path`,{d:`M18 11v-1a2 2 0 0 0-2-2a2 2 0 0 0-2 2`,key:`1agjmk`}],[`path`,{d:`M14 10V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1`,key:`wdbh2u`}],[`path`,{d:`M10 9.5V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v10`,key:`1ibuk9`}],[`path`,{d:`M18 11a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15`,key:`g6ys72`}]]),Ry=vy(`rabbit`,[[`path`,{d:`M13 16a3 3 0 0 1 2.24 5`,key:`1epib5`}],[`path`,{d:`M18 12h.01`,key:`yjnet6`}],[`path`,{d:`M18 21h-8a4 4 0 0 1-4-4 7 7 0 0 1 7-7h.2L9.6 6.4a1 1 0 1 1 2.8-2.8L15.8 7h.2c3.3 0 6 2.7 6 6v1a2 2 0 0 1-2 2h-1a3 3 0 0 0-3 3`,key:`ue9ozu`}],[`path`,{d:`M20 8.54V4a2 2 0 1 0-4 0v3`,key:`49iql8`}],[`path`,{d:`M7.612 12.524a3 3 0 1 0-1.6 4.3`,key:`1e33i0`}]]),zy=vy(`rotate-3d`,[[`path`,{d:`M16.466 7.5C15.643 4.237 13.952 2 12 2 9.239 2 7 6.477 7 12s2.239 10 5 10c.342 0 .677-.069 1-.2`,key:`10n0gc`}],[`path`,{d:`m15.194 13.707 3.814 1.86-1.86 3.814`,key:`16shm9`}],[`path`,{d:`M19 15.57c-1.804.885-4.274 1.43-7 1.43-5.523 0-10-2.239-10-5s4.477-5 10-5c4.838 0 8.873 1.718 9.8 4`,key:`1lxi77`}]]),By=vy(`scale-3d`,[[`path`,{d:`M5 7v11a1 1 0 0 0 1 1h11`,key:`13dt1j`}],[`path`,{d:`M5.293 18.707 11 13`,key:`ezgbsx`}],[`circle`,{cx:`19`,cy:`19`,r:`2`,key:`17f5cg`}],[`circle`,{cx:`5`,cy:`5`,r:`2`,key:`1gwv83`}]]),Vy=vy(`shapes`,[[`path`,{d:`M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z`,key:`1bo67w`}],[`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`,key:`1bkyp8`}],[`circle`,{cx:`17.5`,cy:`17.5`,r:`3.5`,key:`w3z12y`}]]),Hy=vy(`sun-medium`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 3v1`,key:`1asbbs`}],[`path`,{d:`M12 20v1`,key:`1wcdkc`}],[`path`,{d:`M3 12h1`,key:`lp3yf2`}],[`path`,{d:`M20 12h1`,key:`1vloll`}],[`path`,{d:`m18.364 5.636-.707.707`,key:`1hakh0`}],[`path`,{d:`m6.343 17.657-.707.707`,key:`18m9nf`}],[`path`,{d:`m5.636 5.636.707.707`,key:`1xv1c5`}],[`path`,{d:`m17.657 17.657.707.707`,key:`vl76zb`}]]),Uy=vy(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),Wy={class:`absolute right-2 flex h-3.5 w-3.5 items-center justify-center`},Gy=R({__name:`SelectItem`,props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=Ld($u(t,`class`));return(e,r)=>(B(),V(I(l_),ks(I(n),{class:I(ry)(`relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,t.class)}),{default:L(()=>[H(`span`,Wy,[U(I(u_),null,{default:L(()=>[U(I(Cy),{class:`h-4 w-4`})]),_:1})]),U(I(d_),null,{default:L(()=>[z(e.$slots,`default`)]),_:3})]),_:3},16,[`class`]))}}),Ky=R({__name:`SelectScrollDownButton`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=Ld($u(t,`class`));return(e,r)=>(B(),V(I(m_),ks(I(n),{class:I(ry)(`flex cursor-default items-center justify-center py-1`,t.class)}),{default:L(()=>[z(e.$slots,`default`,{},()=>[U(I(wy))])]),_:3},16,[`class`]))}}),qy=R({__name:`SelectScrollUpButton`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=Ld($u(t,`class`));return(e,r)=>(B(),V(I(h_),ks(I(n),{class:I(ry)(`flex cursor-default items-center justify-center py-1`,t.class)}),{default:L(()=>[z(e.$slots,`default`,{},()=>[U(I(Ty))])]),_:3},16,[`class`]))}}),Jy=R({__name:`SelectTrigger`,props:{disabled:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=Ld($u(t,`class`));return(e,r)=>(B(),V(I(g_),ks(I(n),{class:I(ry)(`flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:truncate text-start`,t.class)}),{default:L(()=>[z(e.$slots,`default`),U(I(o_),{"as-child":``},{default:L(()=>[U(I(wy),{class:`w-4 h-4 opacity-50 shrink-0`})]),_:1})]),_:3},16,[`class`]))}}),Yy=R({__name:`SelectValue`,props:{placeholder:{},asChild:{type:Boolean},as:{}},setup(e){let t=e;return(e,n)=>(B(),V(I(__),ge(xs(t)),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}});function Xy(e){let t=F(!1);function n(n){let r=e.value;t.value=r!==null&&r.matches(`:hover`)}return Ji(()=>{window.addEventListener(`mousemove`,n)}),Qi(()=>{window.removeEventListener(`mousemove`,n)}),{isHovered:t}}var Zy={class:`right-bar`},Qy={id:`data-container`},$y={class:`metadata item`},eb={class:`data-container`},tb=R({__name:`ObjectInfo`,setup(e){let t=ay(),{objectActionsState:n,objectBarData:r,blockPicker:i,theme:a}=t.store,o=(e,n)=>t.handleObjectAction({...e},n),s=F(null),{isHovered:c}=Xy(s);br(()=>{i.value=c.value&&r.isVisible});let l=()=>{r.isVisible=!r.isVisible};return(e,t)=>(B(),ms(`div`,Zy,[H(`div`,{class:he([`theme object-info`,{"is-hidden":!I(r).isVisible}]),id:`info-panel`,ref_key:`infoPanel`,ref:s},[H(`div`,Qy,[H(`div`,$y,[H(`h1`,{class:he([`text-lg font-bold section-title`,{dark:I(a).value===`dark`}])},` METADATA `,2),(B(!0),ms(is,null,da(I(r).data,(e,t)=>(B(),ms(`div`,{key:t,class:`data-entry`},[H(`p`,null,[H(`strong`,null,Ce(t)+`:`,1),Cs(` `+Ce(e),1)])]))),128))])]),H(`div`,eb,[H(`h1`,{class:he([`text-lg font-bold section-title`,{dark:I(a).value===`dark`}])},` FUNCTIONS `,2),(B(!0),ms(is,null,da(I(n),e=>(B(),ms(`div`,{key:e.guid,class:`single_data`},[e.type===`button`?(B(),V(I(oy),{key:0,variant:`outline`,onClick:t=>o(e),class:`w-full`},{default:L(()=>[Cs(Ce(e.text),1)]),_:2},1032,[`onClick`])):e.type===`select`?(B(),V(I(cy),{key:1,"model-value":typeof e.defaultValue==`string`?e.defaultValue:``,"onUpdate:modelValue":t=>{e.defaultValue=typeof t==`string`?t:``,o(e,t)}},{default:L(()=>[U(I(Jy),{class:`w-full`},{default:L(()=>[U(I(Yy),{placeholder:e.placeholder??`Select an option`},null,8,[`placeholder`])]),_:2},1024),U(I(ly),{class:`z-[4000]`},{default:L(()=>[(B(!0),ms(is,null,da(e.options,e=>(B(),V(I(Gy),{key:e,value:e},{default:L(()=>[Cs(Ce(e),1)]),_:2},1032,[`value`]))),128))]),_:2},1024)]),_:2},1032,[`model-value`,`onUpdate:modelValue`])):Ts(``,!0)]))),128))]),U(I(oy),{variant:`secondary`,size:`icon`,id:`closeObjectBar`,onClick:t[0]||=e=>l()},{default:L(()=>[U(I(by))]),_:1})],2),U(I(oy),{variant:`secondary`,size:`icon`,id:`openObjectBar`,class:he({"is-hidden":!I(r).isVisible}),onClick:t[1]||=e=>l()},{default:L(()=>[U(I(yy))]),_:1},8,[`class`])]))}}),nb=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},rb=nb(tb,[[`__scopeId`,`data-v-2390ba1f`]]);function ib(e){if(e.ctrlKey||e.metaKey||e.altKey)return!0;let t=e.target;if(!t)return!1;let n=t.tagName;return n===`INPUT`||n===`TEXTAREA`||n===`SELECT`||t.isContentEditable}function ab(e){let{root:t}=ay(),n=t=>{if(ib(t))return;let n=e[t.key.toLowerCase()];n&&(t.preventDefault(),n(t))};Ji(()=>{t.addEventListener(`keydown`,n)}),Zi(()=>{t.removeEventListener(`keydown`,n)})}var ob=R({__name:`Kbd`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,n)=>(B(),ms(`kbd`,{class:he(I(ry)(`bg-muted text-muted-foreground pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm px-1 font-sans text-xs font-medium select-none`,`[&_svg:not([class*='size-'])]:size-3`,`[[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:text-background dark:[[data-slot=tooltip-content]_&]:bg-background/10`,t.class))},[z(e.$slots,`default`)],2))}}),sb=R({__name:`Tooltip`,props:{defaultOpen:{type:Boolean},open:{type:Boolean},delayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=Rd(e,t);return(e,t)=>(B(),V(I(T_),ge(xs(I(n))),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}}),cb=R({inheritAttrs:!1,__name:`TooltipContent`,props:{forceMount:{type:Boolean},ariaLabel:{},asChild:{type:Boolean},as:{},side:{},sideOffset:{default:4},align:{},alignOffset:{},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},class:{type:[Boolean,null,String,Object,Array]}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=Rd($u(n,`class`),r),{theme:a}=ay().store;return(e,t)=>(B(),V(I(k_),null,{default:L(()=>[U(I(O_),ks({...I(i),...e.$attrs},{class:I(ry)(`z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,n.class,{dark:I(a).value===`dark`})}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`class`])]),_:3}))}}),lb=R({__name:`TooltipProvider`,props:{delayDuration:{},skipDelayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean},content:{}},setup(e){let t=e;return(e,n)=>(B(),V(I(x_),ge(xs(t)),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}}),ub=R({__name:`TooltipTrigger`,props:{reference:{},asChild:{type:Boolean},as:{}},setup(e){let t=e;return(e,n)=>(B(),V(I(A_),ge(xs(t)),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}}),db=R({__name:`MoveButton`,setup(e){let t=ay(),{pickerEnabled:n,pickerMode:r}=t.store;function i(){t.setTransformMode(`translate`)}return(e,t)=>(B(),V(I(lb),{"delay-duration":600},{default:L(()=>[U(I(sb),null,{default:L(()=>[U(I(ub),null,{default:L(()=>[U(I(oy),{variant:`secondary`,size:`icon`,class:he({active:I(r).value==`translate`,disabled:!I(n).value}),onClick:i,disabled:!I(n).value},{default:L(()=>[U(I(My))]),_:1},8,[`class`,`disabled`])]),_:1}),U(I(cb),{class:`z-1000`,side:`bottom`},{default:L(()=>[H(`p`,null,[t[1]||=Cs(`Move mode `,-1),U(I(ob),null,{default:L(()=>[...t[0]||=[Cs(`W`,-1)]]),_:1})])]),_:1})]),_:1})]),_:1}))}}),fb=R({__name:`RotateButton`,setup(e){let t=ay(),{pickerEnabled:n,pickerMode:r}=t.store;function i(){t.setTransformMode(`rotate`)}return(e,t)=>(B(),V(I(lb),{"delay-duration":600},{default:L(()=>[U(I(sb),null,{default:L(()=>[U(I(ub),null,{default:L(()=>[U(I(oy),{variant:`secondary`,size:`icon`,class:he({active:I(r).value==`rotate`,disabled:!I(n).value}),onClick:i,disabled:!I(n).value},{default:L(()=>[U(I(zy),{size:16,"stroke-width":2,"aria-hidden":`true`})]),_:1},8,[`class`,`disabled`])]),_:1}),U(I(cb),{class:`z-1000`,side:`bottom`},{default:L(()=>[H(`p`,null,[t[1]||=Cs(`Rotate mode `,-1),U(I(ob),null,{default:L(()=>[...t[0]||=[Cs(`E`,-1)]]),_:1})])]),_:1})]),_:1})]),_:1}))}}),pb={class:`button-icon`},mb=R({__name:`ScaleButton`,props:{active:{type:Boolean}},emits:[`activated`],setup(e){let t=ay(),{pickerEnabled:n,pickerMode:r}=t.store;function i(){t.setTransformMode(`scale`)}return(e,t)=>(B(),V(I(lb),{"delay-duration":600},{default:L(()=>[U(I(sb),null,{default:L(()=>[U(I(ub),null,{default:L(()=>[U(I(oy),{variant:`secondary`,size:`icon`,class:he([`toolbar-button`,{active:I(r).value==`scale`,disabled:!I(n).value}]),onClick:i,disabled:!I(n).value},{default:L(()=>[H(`span`,pb,[U(I(By),{size:16,"stroke-width":2,"aria-hidden":`true`})])]),_:1},8,[`class`,`disabled`])]),_:1}),U(I(cb),{class:`z-1000`,side:`bottom`},{default:L(()=>[H(`p`,null,[t[1]||=Cs(`Rotate mode `,-1),U(I(ob),null,{default:L(()=>[...t[0]||=[Cs(`R`,-1)]]),_:1})])]),_:1})]),_:1})]),_:1}))}}),hb={key:0},gb={key:1},_b=R({__name:`EnablePicker`,setup(e){let{pickerEnabled:t}=ay().store;function n(){t.value=!t.value}return(e,r)=>(B(),V(I(lb),{"delay-duration":600},{default:L(()=>[U(I(sb),null,{default:L(()=>[U(I(ub),null,{default:L(()=>[U(I(oy),{variant:`secondary`,size:`icon`,onClick:n,class:he({active:!I(t).value})},{default:L(()=>[I(t).value?(B(),ms(`span`,hb,[U(I(Ly))])):(B(),ms(`span`,gb,[U(I(Iy))]))]),_:1},8,[`class`])]),_:1}),U(I(cb),{class:`z-1000`,side:`bottom`},{default:L(()=>[H(`p`,null,[r[1]||=Cs(`Enable/Disable object selection `,-1),U(I(ob),null,{default:L(()=>[...r[0]||=[Cs(`P`,-1)]]),_:1})])]),_:1})]),_:1})]),_:1}))}}),vb={class:`toolbar-group`},yb=R({__name:`TransformGroup`,setup(e){let t=F(null),n=ay();function r(e){t.value=e}return ab({w:()=>{n.setTransformMode(`translate`),r(`move`)},e:()=>{n.setTransformMode(`rotate`),r(`rotate`)},r:()=>{n.setTransformMode(`scale`),r(`scale`)}}),(e,n)=>(B(),ms(`div`,vb,[U(I(_b),{active:t.value===`move`,onActivated:n[0]||=e=>r(`move`)},null,8,[`active`]),U(I(db),{active:t.value===`move`,onActivated:n[1]||=e=>r(`move`)},null,8,[`active`]),U(I(fb),{active:t.value===`rotate`,onActivated:n[2]||=e=>r(`rotate`)},null,8,[`active`]),U(I(mb),{active:t.value===`scale`,onActivated:n[3]||=e=>r(`scale`)},null,8,[`active`])]))}}),bb=R({__name:`Popover`,props:{defaultOpen:{type:Boolean},open:{type:Boolean},modal:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=Rd(e,t);return(e,t)=>(B(),V(I(rg),ge(xs(I(n))),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}}),xb=R({__name:`PopoverTrigger`,props:{asChild:{type:Boolean},as:{}},setup(e){let t=e;return(e,n)=>(B(),V(I(lg),ge(xs(t)),{default:L(()=>[z(e.$slots,`default`)]),_:3},16))}}),Sb=R({inheritAttrs:!1,__name:`PopoverContent`,props:{forceMount:{type:Boolean},memoDependencies:{},side:{},sideOffset:{default:8},sideFlip:{type:Boolean},align:{},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},dir:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Rd($u(n,`class`),r),{theme:a}=ay().store;return(e,t)=>(B(),V(I(cg),null,{default:L(()=>[U(I(sg),ks({...I(i),...e.$attrs},{class:I(ry)(`z-50 rounded-md border bg-popover text-popover-foreground shadow-md outline-none 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`,n.class,{dark:I(a).value===`dark`})}),{default:L(()=>[z(e.$slots,`default`)]),_:3},16,[`class`])]),_:3}))}}),Cb=R({__name:`NumberField`,props:{defaultValue:{},modelValue:{},min:{},max:{},step:{},stepSnapping:{type:Boolean},focusOnChange:{type:Boolean},formatOptions:{},locale:{},disabled:{type:Boolean},readonly:{type:Boolean},disableWheelChange:{type:Boolean},invertWheelChange:{type:Boolean},id:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,i=Rd($u(n,`class`),r);return(e,t)=>(B(),V(I(Fg),ks(I(i),{class:I(ry)(`grid gap-1.5`,n.class)}),{default:L(t=>[z(e.$slots,`default`,ge(xs(t)))]),_:3},16,[`class`]))}}),wb=R({__name:`NumberFieldContent`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,n)=>(B(),ms(`div`,{class:he(I(ry)(`relative [&>[data-slot=input]]:has-[[data-slot=increment]]:pr-5 [&>[data-slot=input]]:has-[[data-slot=decrement]]:pl-5`,t.class))},[z(e.$slots,`default`)],2))}}),Tb=R({__name:`NumberFieldDecrement`,props:{disabled:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=Ld($u(t,`class`));return(e,r)=>(B(),V(I(Ig),ks({"data-slot":`decrement`},I(n),{class:I(ry)(`absolute top-1/2 -translate-y-1/2 left-0 p-3 disabled:cursor-not-allowed disabled:opacity-20`,t.class)}),{default:L(()=>[z(e.$slots,`default`,{},()=>[U(I(Ay),{class:`h-4 w-4`})])]),_:3},16,[`class`]))}}),Eb=R({__name:`NumberFieldIncrement`,props:{disabled:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=Ld($u(t,`class`));return(e,r)=>(B(),V(I(Lg),ks({"data-slot":`increment`},I(n),{class:I(ry)(`absolute top-1/2 -translate-y-1/2 right-0 disabled:cursor-not-allowed disabled:opacity-20 p-3`,t.class)}),{default:L(()=>[z(e.$slots,`default`,{},()=>[U(I(Fy),{class:`h-4 w-4`})])]),_:3},16,[`class`]))}}),Db=R({__name:`NumberFieldInput`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,n)=>(B(),V(I(Rg),{"data-slot":`input`,class:he(I(ry)(`flex h-9 w-full rounded-md border border-input bg-transparent py-1 text-sm text-center text-foreground shadow-sm transition-colors placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50`,t.class))},null,8,[`class`]))}}),Ob={class:`inline-flex h-full w-full items-center justify-center`},kb={class:`add-object-form`},Ab={key:0,class:`param-grid`},jb={class:`param-label`},Mb={class:`param-label`},Nb={class:`param-label`},Pb={key:1,class:`param-grid`},Fb={class:`param-label`},Ib=nb(R({__name:`AddObjectButton`,setup(e){let t=[{value:`box`,label:`Box`},{value:`sphere`,label:`Sphere`},{value:`point`,label:`Point`}],n=ay(),r=F(!1),i=F(`box`),a=F({xsize:1,ysize:1,zsize:1}),o=F(1);function s(){let e=i.value===`box`?{...a.value}:i.value===`sphere`?{radius:o.value}:{};n.createGeometry(i.value,e),r.value=!1}return(e,n)=>(B(),V(I(lb),{"delay-duration":600},{default:L(()=>[U(I(bb),{open:r.value,"onUpdate:open":n[5]||=e=>r.value=e,modal:!0},{default:L(()=>[U(I(xb),{"as-child":``},{default:L(()=>[U(I(oy),{variant:`secondary`,size:`icon`},{default:L(()=>[U(I(sb),null,{default:L(()=>[U(I(ub),{"as-child":``},{default:L(()=>[H(`span`,Ob,[U(I(Vy))])]),_:1}),U(I(cb),{class:`z-1000`,side:`bottom`},{default:L(()=>[...n[6]||=[H(`p`,null,`Add object`,-1)]]),_:1})]),_:1})]),_:1})]),_:1}),U(I(Sb),{class:`theme z-[4000] w-64 rounded-xl p-3 text-secondary-foreground`,side:`bottom`,align:`start`},{default:L(()=>[H(`div`,kb,[U(I(cy),{modelValue:i.value,"onUpdate:modelValue":n[0]||=e=>i.value=e},{default:L(()=>[U(I(Jy),{class:`w-full`},{default:L(()=>[U(I(Yy))]),_:1}),U(I(ly),{class:`z-[4000]`},{default:L(()=>[(B(),ms(is,null,da(t,e=>U(I(Gy),{key:e.value,value:e.value},{default:L(()=>[Cs(Ce(e.label),1)]),_:2},1032,[`value`])),64))]),_:1})]),_:1},8,[`modelValue`]),i.value===`box`?(B(),ms(`div`,Ab,[H(`label`,jb,[n[7]||=Cs(` Size X `,-1),U(I(Cb),{modelValue:a.value.xsize,"onUpdate:modelValue":n[1]||=e=>a.value.xsize=e,min:.01,step:.1},{default:L(()=>[U(I(wb),null,{default:L(()=>[U(I(Tb)),U(I(Db)),U(I(Eb))]),_:1})]),_:1},8,[`modelValue`])]),H(`label`,Mb,[n[8]||=Cs(` Size Y `,-1),U(I(Cb),{modelValue:a.value.ysize,"onUpdate:modelValue":n[2]||=e=>a.value.ysize=e,min:.01,step:.1},{default:L(()=>[U(I(wb),null,{default:L(()=>[U(I(Tb)),U(I(Db)),U(I(Eb))]),_:1})]),_:1},8,[`modelValue`])]),H(`label`,Nb,[n[9]||=Cs(` Size Z `,-1),U(I(Cb),{modelValue:a.value.zsize,"onUpdate:modelValue":n[3]||=e=>a.value.zsize=e,min:.01,step:.1},{default:L(()=>[U(I(wb),null,{default:L(()=>[U(I(Tb)),U(I(Db)),U(I(Eb))]),_:1})]),_:1},8,[`modelValue`])])])):i.value===`sphere`?(B(),ms(`div`,Pb,[H(`label`,Fb,[n[10]||=Cs(` Radius `,-1),U(I(Cb),{modelValue:o.value,"onUpdate:modelValue":n[4]||=e=>o.value=e,min:.01,step:.1},{default:L(()=>[U(I(wb),null,{default:L(()=>[U(I(Tb)),U(I(Db)),U(I(Eb))]),_:1})]),_:1},8,[`modelValue`])])])):Ts(``,!0),U(I(oy),{variant:`secondary`,class:`w-full`,onClick:s},{default:L(()=>[...n[11]||=[Cs(` Add `,-1)]]),_:1})])]),_:1})]),_:1},8,[`open`])]),_:1}))}}),[[`__scopeId`,`data-v-faffd903`]]),Lb=R({__name:`Slider`,props:{defaultValue:{},modelValue:{},disabled:{type:Boolean},orientation:{},dir:{},inverted:{type:Boolean},min:{},max:{},step:{},minStepsBetweenThumbs:{},thumbAlignment:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:[`update:modelValue`,`valueCommit`],setup(e,{emit:t}){let n=e,r=t,i=Rd($u(n,`class`),r);return(e,t)=>(B(),V(I(Yh),ks({"data-slot":`slider`,class:I(ry)(`relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col`,n.class)},I(i)),{default:L(({modelValue:e})=>[U(I(eg),{"data-slot":`slider-track`,class:`bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5`},{default:L(()=>[U(I(Zh),{"data-slot":`slider-range`,class:`bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full`})]),_:1}),(B(!0),ms(is,null,da(e,(e,t)=>(B(),V(I($h),{key:t,"data-slot":`slider-thumb`,class:`bg-secondary-foreground border-primary ring-ring/50 block size-4 shrink-0 rounded-full border shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50`}))),128))]),_:1},16,[`class`]))}}),Rb={class:`inline-flex h-full w-full items-center justify-center`},zb={class:`material-form`},Bb={class:`param-label`},Vb=[`value`],Hb={class:`param-label`},Ub={class:`slider-row`},Wb={class:`slider-value`},Gb={class:`param-label`},Kb={class:`slider-row`},qb={class:`slider-value`},Jb=nb(R({__name:`MaterialButton`,setup(e){let t=ay(),{pickedObjectGuid:n}=t.store,r=F(!1),i=F(`#ffffff`),a=F(0),o=F(1);function s(){let e=n.value,r=e?t.getMaterialSnapshot(e):null;i.value=r?.color??`#ffffff`,a.value=r?.metalness??0,o.value=r?.roughness??1}Cr(r,e=>{e&&s()}),Cr(()=>n.value,e=>{if(!e){r.value=!1;return}r.value&&s()});function c(e){let r=e.target.value;i.value=r;let a=n.value;a&&t.setMaterial(a,{color:r})}function l(e){if(e===void 0)return;a.value=e;let r=n.value;r&&t.setMaterial(r,{metalness:e})}function u(e){if(e===void 0)return;o.value=e;let r=n.value;r&&t.setMaterial(r,{roughness:e})}return(e,t)=>(B(),V(I(lb),{"delay-duration":600},{default:L(()=>[U(I(bb),{open:r.value,"onUpdate:open":t[2]||=e=>r.value=e,modal:!0},{default:L(()=>[U(I(xb),{"as-child":``},{default:L(()=>[U(I(oy),{variant:`secondary`,size:`icon`,disabled:!I(n).value},{default:L(()=>[U(I(sb),null,{default:L(()=>[U(I(ub),{"as-child":``},{default:L(()=>[H(`span`,Rb,[U(I(Ny))])]),_:1}),U(I(cb),{class:`z-1000`,side:`bottom`},{default:L(()=>[...t[3]||=[H(`p`,null,`Material`,-1)]]),_:1})]),_:1})]),_:1},8,[`disabled`])]),_:1}),U(I(Sb),{class:`theme z-[4000] w-64 rounded-xl p-3 text-secondary-foreground`,side:`bottom`,align:`start`},{default:L(()=>[H(`div`,zb,[H(`label`,Bb,[t[4]||=Cs(` Color `,-1),H(`input`,{type:`color`,value:i.value,class:`color-input`,onInput:c},null,40,Vb)]),H(`label`,Hb,[t[5]||=Cs(` Metalness `,-1),H(`div`,Ub,[U(I(Lb),{"model-value":[a.value],min:0,max:1,step:.05,"onUpdate:modelValue":t[0]||=e=>l(e?.[0])},null,8,[`model-value`]),H(`span`,Wb,Ce(a.value.toFixed(2)),1)])]),H(`label`,Gb,[t[6]||=Cs(` Roughness `,-1),H(`div`,Kb,[U(I(Lb),{"model-value":[o.value],min:0,max:1,step:.05,"onUpdate:modelValue":t[1]||=e=>u(e?.[0])},null,8,[`model-value`]),H(`span`,qb,Ce(o.value.toFixed(2)),1)])])])]),_:1})]),_:1},8,[`open`])]),_:1}))}}),[[`__scopeId`,`data-v-062ecf41`]]),Yb={class:`toolbar-group`},Xb=R({__name:`AddObjectGroup`,setup(e){return(e,t)=>(B(),ms(`div`,Yb,[U(I(Ib)),U(I(Jb))]))}}),Zb=R({__name:`TopViewButton`,setup(e){let t=ay();function n(){t.setCameraViewPreset(`top`)}return(e,t)=>(B(),V(I(lb),{"delay-duration":600},{default:L(()=>[U(I(sb),null,{default:L(()=>[U(I(ub),null,{default:L(()=>[U(I(oy),{variant:`secondary`,size:`icon`,class:`toolbar-button`,onClick:n},{default:L(()=>[U(I(Py))]),_:1})]),_:1}),U(I(cb),{class:`z-1000`,side:`bottom`},{default:L(()=>[H(`p`,null,[t[1]||=Cs(`Top view `,-1),U(I(ob),null,{default:L(()=>[...t[0]||=[Cs(`5`,-1)]]),_:1})])]),_:1})]),_:1})]),_:1}))}}),Qb=R({__name:`FrontViewButton`,setup(e){let t=ay();function n(){t.setCameraViewPreset(`front`)}return(e,t)=>(B(),V(I(lb),{"delay-duration":600},{default:L(()=>[U(I(sb),null,{default:L(()=>[U(I(ub),null,{default:L(()=>[U(I(oy),{variant:`secondary`,size:`icon`,onClick:n},{default:L(()=>[U(I(Dy))]),_:1})]),_:1}),U(I(cb),{class:`z-1000`,side:`bottom`},{default:L(()=>[H(`p`,null,[t[1]||=Cs(`Front view `,-1),U(I(ob),null,{default:L(()=>[...t[0]||=[Cs(`2`,-1)]]),_:1})])]),_:1})]),_:1})]),_:1}))}}),$b={class:`button-icon`},ex=R({__name:`RightViewButton`,setup(e){let t=ay();function n(){t.setCameraViewPreset(`right`)}return(e,t)=>(B(),V(I(lb),{"delay-duration":600},{default:L(()=>[U(I(sb),null,{default:L(()=>[U(I(ub),null,{default:L(()=>[U(I(oy),{variant:`secondary`,size:`icon`,class:`toolbar-button`,onClick:n},{default:L(()=>[H(`span`,$b,[U(I(Ry),{size:16,"stroke-width":2,"aria-hidden":`true`})])]),_:1})]),_:1}),U(I(cb),{class:`z-1000`,side:`bottom`},{default:L(()=>[H(`p`,null,[t[1]||=Cs(`Right view `,-1),U(I(ob),null,{default:L(()=>[...t[0]||=[Cs(`6`,-1)]]),_:1})])]),_:1})]),_:1})]),_:1}))}}),tx={class:`button-icon`},nx=R({__name:`PerspectiveViewButton`,setup(e){let t=ay();function n(){t.setCameraViewPreset(`front_right`)}return(e,t)=>(B(),V(I(lb),{"delay-duration":600},{default:L(()=>[U(I(sb),null,{default:L(()=>[U(I(ub),null,{default:L(()=>[U(I(oy),{variant:`secondary`,size:`icon`,class:`toolbar-button`,onClick:n},{default:L(()=>[H(`span`,tx,[U(I(xy),{size:16,"stroke-width":2,"aria-hidden":`true`})])]),_:1})]),_:1}),U(I(cb),{class:`z-1000`,side:`bottom`},{default:L(()=>[H(`p`,null,[t[1]||=Cs(`Perspective view `,-1),U(I(ob),null,{default:L(()=>[...t[0]||=[Cs(`3`,-1)]]),_:1})])]),_:1})]),_:1})]),_:1}))}}),rx={class:`toolbar-group`},ix=R({__name:`ViewGroup`,setup(e){let t=ay();return ab({2:()=>{t.setCameraViewPreset(`front`)},3:()=>{t.setCameraViewPreset(`front_right`)},5:()=>{t.setCameraViewPreset(`top`)},6:()=>{t.setCameraViewPreset(`right`)}}),(e,t)=>(B(),ms(`div`,rx,[U(I(Zb)),U(I(Qb)),U(I(ex)),U(I(nx))]))}}),ax={class:`button-icon save-view-icon`},ox={class:`save-view-overlay`,"aria-hidden":`true`},sx=nb(R({__name:`SaveViewButton`,props:{defaultName:{}},emits:[`saved`],setup(e,{emit:t}){let n=e,r=ay(),i=t;function a(){let e=window.prompt(`Name for saved view`,n.defaultName);if(e===null)return;let t=e.trim()||n.defaultName,a=r.captureCurrentView(t);i(`saved`,a)}return(e,t)=>(B(),V(I(lb),{"delay-duration":600},{default:L(()=>[U(I(sb),null,{default:L(()=>[U(I(ub),null,{default:L(()=>[U(I(oy),{variant:`secondary`,size:`icon`,onClick:a},{default:L(()=>[H(`span`,ax,[U(I(Sy),{size:15,"stroke-width":2,"aria-hidden":`true`}),H(`span`,ox,[U(I(Fy),{class:`save-view-overlay-icon`})])])]),_:1})]),_:1}),U(I(cb),{class:`z-1000`,side:`bottom`},{default:L(()=>[H(`p`,null,[t[1]||=Cs(`Save Current View `,-1),U(I(ob),null,{default:L(()=>[...t[0]||=[Cs(`S`,-1)]]),_:1})])]),_:1})]),_:1})]),_:1}))}}),[[`__scopeId`,`data-v-c0eebdad`]]),cx={class:`inline-flex h-full w-full items-center justify-center`},lx={class:`flex h-8 items-stretch overflow-hidden rounded-lg border border-input bg-secondary`},ux={key:0,disabled:``,value:``},dx=[`value`],fx=nb(R({__name:`SavedViewsButton`,props:{views:{},selectedViewId:{}},emits:[`select`,`delete`],setup(e,{emit:t}){let n=e,r=t,i=F(!1),a=F(``),o=F(!1),s=null;Cr(()=>[n.selectedViewId,n.views],([e,t])=>{if(t.length===0){a.value=``;return}let n=t.some(t=>t.id===e);a.value=n?e:t[0]?.id??``},{immediate:!0});function c(){a.value&&r(`select`,a.value)}function l(){a.value&&(o.value=!0,s&&clearTimeout(s),s=setTimeout(()=>{o.value=!1,s=null},160),r(`delete`,a.value))}return Zi(()=>{s&&clearTimeout(s)}),(t,n)=>(B(),V(I(lb),{"delay-duration":600},{default:L(()=>[U(I(bb),{open:i.value,"onUpdate:open":n[1]||=e=>i.value=e,modal:!0},{default:L(()=>[U(I(xb),{"as-child":``},{default:L(()=>[U(I(oy),{variant:`secondary`,size:`icon`},{default:L(()=>[U(I(sb),null,{default:L(()=>[U(I(ub),{"as-child":``},{default:L(()=>[H(`span`,cx,[U(I(Ey))])]),_:1}),U(I(cb),{class:`z-1000`,side:`bottom`},{default:L(()=>[...n[2]||=[H(`p`,null,`Saved views`,-1)]]),_:1})]),_:1})]),_:1})]),_:1}),U(I(Sb),{class:`theme z-[4000] w-72 rounded-xl p-2 text-secondary-foreground`,side:`bottom`,align:`start`},{default:L(()=>[H(`div`,lx,[pr(H(`select`,{"onUpdate:modelValue":n[0]||=e=>a.value=e,class:`h-full min-w-0 flex-1 truncate border-0 bg-secondary px-3 py-1 text-sm text-secondary-foreground outline-none`,onChange:c},[e.views.length===0?(B(),ms(`option`,ux,` No saved views `)):Ts(``,!0),(B(!0),ms(is,null,da(e.views,e=>(B(),ms(`option`,{key:e.id,value:e.id},Ce(e.name),9,dx))),128))],544),[[Yl,a.value]]),U(I(sb),null,{default:L(()=>[U(I(ub),{"as-child":``},{default:L(()=>[U(I(oy),{variant:`secondary`,size:`icon-sm`,class:he([`h-full w-8 rounded-none border-l border-input transition-[background-color,color,box-shadow]`,{"saved-view-delete-pressed":o.value}]),disabled:!a.value,onClick:au(l,[`stop`])},{default:L(()=>[U(I(Uy),{class:`h-3 w-3`})]),_:1},8,[`class`,`disabled`])]),_:1}),U(I(cb),{class:`z-[4100]`,side:`bottom`},{default:L(()=>[...n[3]||=[H(`p`,null,`Delete saved view`,-1)]]),_:1})]),_:1})])]),_:1})]),_:1},8,[`open`])]),_:1}))}}),[[`__scopeId`,`data-v-1562f39a`]]),px={class:`inline-flex h-full w-full items-center justify-center`},mx={class:`grid gap-5`},hx={class:`grid gap-3`},gx={class:`grid grid-cols-3 items-center gap-4`},_x={class:`flex items-center gap-2`},vx={class:`grid grid-cols-3 items-center gap-4`},yx={class:`flex items-center gap-2`},bx={class:`grid grid-cols-3 items-center gap-4`},xx={class:`flex justify-end gap-2`},Sx=64,Cx=8192,wx=nb(R({__name:`SaveScreenshotButton`,setup(e){let t=F(!1),n=F(1920),r=F(1080),i=F(`png`),a=F(!1),o=ay(),s=W(()=>Number.isFinite(n.value)?n.valueCx?`Width must be between ${Sx} and ${Cx} px.`:``:`Width must be a number.`),c=W(()=>Number.isFinite(r.value)?r.valueCx?`Height must be between ${Sx} and ${Cx} px.`:``:`Height must be a number.`);function l(e,t){return Number.isFinite(e)?Math.min(Cx,Math.max(Sx,Math.round(e))):t}function u(){a.value=!0}function d(){n.value=l(n.value,1920)}function f(){r.value=l(r.value,1080)}function p(){let e=o.renderer.domElement;if(!e)return;let t=e.getBoundingClientRect(),i=Math.round(t.width)||e.clientWidth||e.width,a=Math.round(t.height)||e.clientHeight||e.height;n.value=l(i,n.value),r.value=l(a,r.value)}function m(){d(),f(),!(s.value||c.value)&&(o.saveCurrentCanvasImage({width:n.value,height:r.value,format:i.value}),t.value=!1)}return Cr(t,e=>{e&&!a.value&&p()}),(e,a)=>(B(),V(I(lb),{"delay-duration":600},{default:L(()=>[U(I(bb),{open:t.value,"onUpdate:open":a[4]||=e=>t.value=e,modal:!0},{default:L(()=>[U(I(xb),{"as-child":``},{default:L(()=>[U(I(oy),{variant:`secondary`,size:`icon`},{default:L(()=>[U(I(sb),null,{default:L(()=>[U(I(ub),{"as-child":``},{default:L(()=>[H(`span`,px,[U(I(Oy))])]),_:1}),U(I(cb),{class:`z-1000`,side:`bottom`},{default:L(()=>[H(`p`,null,[a[6]||=Cs(`Save screenshot `,-1),U(I(ob),null,{default:L(()=>[...a[5]||=[Cs(`F`,-1)]]),_:1})])]),_:1})]),_:1})]),_:1})]),_:1}),U(I(Sb),{class:`theme z-[4000] w-84 rounded-xl p-5 text-secondary-foreground`,side:`bottom`,align:`start`},{default:L(()=>[H(`div`,mx,[a[15]||=H(`div`,{class:`space-y-2`},[H(`h4`,{class:`font-medium leading-none`},`Export Screenshot`),H(`p`,{class:`text-sm text-muted-foreground`},` Set width, height, and image format. `)],-1),H(`div`,hx,[H(`div`,gx,[H(`div`,_x,[a[8]||=H(`label`,{for:`screenshot-width`,class:`text-sm`},`Width`,-1),s.value?(B(),V(I(sb),{key:0},{default:L(()=>[U(I(ub),{"as-child":``},{default:L(()=>[...a[7]||=[H(`span`,{class:`error-pill`,"aria-label":`Width error`},`!`,-1)]]),_:1}),U(I(cb),{class:`z-[5000]`,side:`top`},{default:L(()=>[H(`p`,null,Ce(s.value),1)]),_:1})]),_:1})):Ts(``,!0)]),pr(H(`input`,{id:`screenshot-width`,"onUpdate:modelValue":a[0]||=e=>n.value=e,type:`number`,onInput:u,onBlur:d,class:`themed-number col-span-2 h-8 rounded-lg border border-input bg-secondary px-3 py-1 text-sm text-secondary-foreground shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`},null,544),[[Gl,n.value,void 0,{number:!0}]])]),H(`div`,vx,[H(`div`,yx,[a[10]||=H(`label`,{for:`screenshot-height`,class:`text-sm`},`Height`,-1),c.value?(B(),V(I(sb),{key:0},{default:L(()=>[U(I(ub),{"as-child":``},{default:L(()=>[...a[9]||=[H(`span`,{class:`error-pill`,"aria-label":`Height error`},`!`,-1)]]),_:1}),U(I(cb),{class:`z-[5000]`,side:`top`},{default:L(()=>[H(`p`,null,Ce(c.value),1)]),_:1})]),_:1})):Ts(``,!0)]),pr(H(`input`,{id:`screenshot-height`,"onUpdate:modelValue":a[1]||=e=>r.value=e,type:`number`,onInput:u,onBlur:f,class:`themed-number col-span-2 h-8 rounded-lg border border-input bg-secondary px-3 py-1 text-sm text-secondary-foreground shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`},null,544),[[Gl,r.value,void 0,{number:!0}]])]),H(`div`,bx,[a[12]||=H(`label`,{for:`screenshot-format`,class:`text-sm`},`Format`,-1),pr(H(`select`,{id:`screenshot-format`,"onUpdate:modelValue":a[2]||=e=>i.value=e,class:`col-span-2 h-8 rounded-lg border border-input bg-secondary px-3 py-1 text-sm text-secondary-foreground shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`},[...a[11]||=[H(`option`,{value:`png`},`PNG`,-1),H(`option`,{value:`jpg`},`JPG`,-1),H(`option`,{value:`webp`},`WEBP`,-1)]],512),[[Yl,i.value]])])]),H(`div`,xx,[U(I(oy),{variant:`secondary`,size:`sm`,onClick:a[3]||=e=>t.value=!1},{default:L(()=>[...a[13]||=[Cs(`Cancel`,-1)]]),_:1}),U(I(oy),{variant:`secondary`,size:`sm`,onClick:m},{default:L(()=>[...a[14]||=[Cs(`Save`,-1)]]),_:1})])])]),_:1})]),_:1},8,[`open`])]),_:1}))}}),[[`__scopeId`,`data-v-ed1ef026`]]),Tx={class:`display-tools-wrapper`},Ex={class:`toolbar-group`},Dx=`compas_threejs_saved_views`,Ox=R({__name:`DisplayGroup`,setup(e){let t=ay(),n=F([]),r=F(``);function i(){localStorage.setItem(Dx,JSON.stringify(n.value))}function a(){let e=localStorage.getItem(Dx);if(e)try{let t=JSON.parse(e);Array.isArray(t)&&(n.value=t)}catch{n.value=[]}}function o(e){n.value=[...n.value,e],r.value=e.id,i()}function s(){let e=`View ${n.value.length+1}`,r=window.prompt(`Name for saved view`,e);if(r===null)return;let i=r.trim()||e;o(t.captureCurrentView(i))}function c(e){r.value=e;let i=n.value.find(t=>t.id===e);i&&t.applySavedView(i)}function l(e){let t=n.value.filter(t=>t.id!==e);n.value=t,r.value===e&&(r.value=t[0]?.id??``),i()}return Ji(()=>{a()}),ab({s:()=>{s()},f:()=>{t.saveCurrentCanvasImage({format:`png`})},d:()=>{t.toggleTheme()}}),(e,t)=>(B(),ms(`div`,Tx,[H(`div`,Ex,[U(I(sx),{"default-name":`View ${n.value.length+1}`,onSaved:o},null,8,[`default-name`]),U(I(fx),{views:n.value,"selected-view-id":r.value,onSelect:c,onDelete:l},null,8,[`views`,`selected-view-id`]),U(I(wx))])]))}}),kx=nb(R({__name:`Toolbar`,setup(e){let t=F(null),{isHovered:n}=Xy(t),{theme:r,blockPicker:i}=ay().store;return br(()=>{i.value=n.value}),(e,n)=>(B(),ms(`div`,{ref_key:`toolbarElement`,ref:t,class:`toolbar theme`,id:`toolbar`},[H(`h1`,{class:he([`text-lg font-bold`,{dark:I(r).value===`dark`}])},` COMPAS ThreeJs `,2),U(yb),U(Xb),U(ix),U(Ox)],512))}}),[[`__scopeId`,`data-v-e2902cdd`]]),Ax=R({__name:`Checkbox`,props:{defaultValue:{},modelValue:{},disabled:{type:Boolean},value:{},id:{},trueValue:{},falseValue:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,i=Rd($u(n,`class`),r);return(e,t)=>(B(),V(I(Oh),ks(I(i),{class:I(ry)(`grid place-content-center peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground`,n.class)}),{default:L(()=>[U(I(kh),{class:`grid place-content-center text-current`},{default:L(()=>[z(e.$slots,`default`,{},()=>[U(I(Cy),{class:`h-4 w-4`})])]),_:3})]),_:3},16,[`class`]))}}),jx={class:`load-json-button-container inline-block`},Mx=R({__name:`LoadJsonButton`,props:{text:{},action:{}},setup(e){let t=e,n=ay(),r=F(null),i=()=>{r.value?.click()},a=e=>{let r=e.target,i=r.files?.[0];if(i){let e=new FileReader;e.onload=e=>{try{let r=e.target?.result,i=JSON.parse(r);console.log(`Preparing to send JSON payload via WS for action: ${t.action}`);let a={dispatch:`loaded_json`,action:t.action,json_data:i};n.sendData(a)&&console.log(`Successfully sent JSON payload via WS for action: ${t.action}`)}catch(e){console.error(`Failed to parse or send uploaded JSON file:`,e)}},e.readAsText(i),r.value=``}};return(t,n)=>(B(),ms(`div`,jx,[H(`input`,{ref_key:`fileInput`,ref:r,type:`file`,class:`hidden`,accept:`.json`,onChange:a},null,544),U(I(oy),{type:`button`,onClick:i,variant:`secondary`},{default:L(()=>[Cs(Ce(e.text),1)]),_:1})]))}}),Nx={key:1,class:`button-container`},Px={key:2,class:`slider-container`},Fx={key:0,class:`slider-value`},Ix={key:3,class:`number-field-container`},Lx={key:4,class:`load-json-button-container`},Rx={key:5,class:`checkbox-ui-component`},zx={key:0},Bx={key:6,class:`select-container`},Vx=nb(R({__name:`Openbar`,setup(e){let t=F(!0),n=F(null),r=ay(),{sidebarComponents:i,theme:a,blockPicker:o}=r.store,s=(e,t)=>r.handleUiAction(e,t);function c(){t.value=!t.value}ab({q:c});let{isHovered:l}=Xy(n),u=W(()=>t.value);return br(()=>{o.value=l.value&&u.value}),(e,r)=>(B(),ms(is,null,[H(`div`,{ref_key:`openbarElement`,ref:n,id:`openbar`,class:he([`fixed-openbar theme`,{"is-hidden":!t.value}])},[(B(!0),ms(is,null,da(I(i),e=>(B(),ms(`div`,{key:e.id,class:`dynamic-item`},[e.label?(B(),ms(`label`,{key:0,class:he([`dynamic-label`,{dark:I(a).value===`dark`}])},Ce(e.label),3)):Ts(``,!0),e.component===`Button`?(B(),ms(`div`,Nx,[U(I(oy),{variant:`secondary`,onClick:t=>s(e.action)},{default:L(()=>[Cs(Ce(e.props.text),1)]),_:2},1032,[`onClick`])])):e.component===`Slider`?(B(),ms(`div`,Px,[U(I(Lb),{min:e.props.min,max:e.props.max,step:e.props.step,"default-value":e.props.defaultValue,modelValue:e.props.defaultValue,"onUpdate:modelValue":[t=>e.props.defaultValue=t,t=>s(e.action,t?.[0])],class:`w-[80%]`},null,8,[`min`,`max`,`step`,`default-value`,`modelValue`,`onUpdate:modelValue`]),e.props.defaultValue?(B(),ms(`span`,Fx,Ce(e.props.defaultValue[0]),1)):Ts(``,!0)])):e.component===`NumberField`?(B(),ms(`div`,Ix,[U(I(Cb),{min:e.props.min,max:e.props.max,step:e.props.step,"default-value":e.props.value,modelValue:e.props.value,"onUpdate:modelValue":[t=>e.props.value=t,t=>s(e.action,t)],class:`w-full`},{default:L(()=>[U(I(wb),null,{default:L(()=>[U(I(Tb)),U(I(Db)),U(I(Eb))]),_:1})]),_:1},8,[`min`,`max`,`step`,`default-value`,`modelValue`,`onUpdate:modelValue`])])):e.component===`LoadJsonButton`?(B(),ms(`div`,Lx,[U(Mx,{text:e.props.text,action:e.action},null,8,[`text`,`action`])])):e.component===`Checkbox`?(B(),ms(`div`,Rx,[U(I(Ax),{id:`checkbox-${e.id}`,"model-value":!!e.props.defaultValue,"onUpdate:modelValue":t=>{e.props.defaultValue=!!t,s(e.action,t)}},null,8,[`id`,`model-value`,`onUpdate:modelValue`]),e.props.text?(B(),ms(`span`,zx,Ce(e.props.text),1)):Ts(``,!0)])):e.component===`Select`?(B(),ms(`div`,Bx,[U(I(cy),{"model-value":e.props.defaultValue??``,"onUpdate:modelValue":t=>{e.props.defaultValue=typeof t==`string`?t:``,s(e.action,t)}},{default:L(()=>[U(I(Jy),{class:`w-full`},{default:L(()=>[U(I(Yy),{placeholder:e.props.placeholder??`Select an option`},null,8,[`placeholder`])]),_:2},1024),U(I(ly),{class:`z-[4000]`},{default:L(()=>[(B(!0),ms(is,null,da(e.props.options,e=>(B(),V(I(Gy),{key:e,value:e},{default:L(()=>[Cs(Ce(e),1)]),_:2},1032,[`value`]))),128))]),_:2},1024)]),_:2},1032,[`model-value`,`onUpdate:modelValue`])])):Ts(``,!0)]))),128)),U(I(oy),{variant:`secondary`,size:`icon`,class:`mb-4`,onClick:r[0]||=e=>c()},{default:L(()=>[U(I(yy))]),_:1})],2),U(I(oy),{variant:`secondary`,size:`icon`,class:he([`mb-5`,{"is-hidden":!t.value}]),onClick:r[1]||=e=>c()},{default:L(()=>[U(I(by))]),_:1},8,[`class`])],64))}}),[[`__scopeId`,`data-v-a83066fb`]]),Hx={id:`sidebar`},Ux=nb(R({__name:`Sidebar`,props:{showToolbar:{type:Boolean,default:!0}},setup(e){let{sideBarInfoState:t}=ay().store;return(n,r)=>(B(),ms(`div`,Hx,[e.showToolbar?(B(),V(kx,{key:0})):Ts(``,!0),I(t).isVisible?(B(),V(Vx,{key:1})):Ts(``,!0)]))}}),[[`__scopeId`,`data-v-1cbddba3`]]),Wx={key:0,class:`theme-indicator`,"aria-hidden":`true`},Gx=nb(R({__name:`ThemeIndicator`,setup(e){let{theme:t}=ay().store,n=F(!1),r=F(t.value),i=null,a=!0;function o(e){r.value=e,n.value=!0,i&&window.clearTimeout(i),i=window.setTimeout(()=>{n.value=!1,i=null},900)}let s=Cr(()=>t.value,e=>{if(a){r.value=e,a=!1;return}e!==r.value&&o(e)},{immediate:!0});return Zi(()=>{i&&=(window.clearTimeout(i),null),s()}),Ji(()=>{}),(e,t)=>(B(),V(wc,{name:`theme-indicator`},{default:L(()=>[n.value?(B(),ms(`div`,Wx,[r.value===`dark`?(B(),V(I(jy),{key:0,class:`theme-indicator-icon`})):(B(),V(I(Hy),{key:1,class:`theme-indicator-icon`}))])):Ts(``,!0)]),_:1}))}}),[[`__scopeId`,`data-v-ebb8d4d4`]]),Kx={key:0,class:`global-spinner-overlay theme`},qx={key:0,class:`global-spinner-official-text`},Jx={key:1,class:`global-spinner-funny-text`},Yx=nb(R({__name:`GlobalSpinner`,setup(e){let{spinnerState:t}=ay().store,n=`Consulting the geometry gods...(Asking the algorithm to calm down...(Convincing the computer this is intentional...(Counting things that probably don't need counting...(Making the polygons behave...(Untangling the spaghetti geometry...(Teaching vectors where to go...(Rotating things until they look right...(Checking if reality is still running...(Loading an unreasonable amount of geometry...(Negotiating with the CPU...(Blaming the mesh...(Adding more RAM, spiritually...(Making the triangles feel useful...(Convincing the vertices to cooperate...(Searching for the missing dimension...(Performing computational wizardry...(Sacrificing a GPU to the algorithm...(Asking the mesh nicely to be manifold...(Counting polygons instead of sheep...(Turning mathematics into architecture...(Turning architecture back into mathematics...(Making the computer question its life choices...(Checking whether this is actually a good idea...(Running several questionable calculations...(Applying advanced computational nonsense...(Removing unnecessary complexity by adding complexity...(Optimizing absolutely everything...(Optimizing something that was already fast...(Adding one more iteration...(Just one more iteration...(Okay, definitely the last iteration...(Pretending this will converge...(Waiting for convergence...(Negotiating with infinity...(Rounding numbers until they behave...(Arguing with floating-point arithmetic...(Trying to remember where we put zero...(Locating the origin...(Checking which way is up...(Verifying that 3D is still 3D...(Flattening things that should not be flattened...(Unflattening things that definitely should be flattened...(Making topology someone else's problem...(Searching for non-manifold nonsense...(Resolving existential intersections...(Making surfaces understand boundaries...(Asking the normals to face the right way...(Flipping normals and pretending nothing happened...(Meshing reality...(Remeshing reality...(Discretizing the universe...(Approximating perfection...(Generating controlled chaos...(Adding a little more randomness...(Removing suspicious randomness...(Randomizing the deterministic process...(Making deterministic randomness...(Running the forbidden loop...(Entering the computational abyss...(Checking what broke this time...(Finding the bug we introduced 20 minutes ago...(Looking for a missing comma...(Blaming JavaScript...(Blaming Python...(Blaming the GPU...(Blaming the user...(The computer knows what it did...(Have you tried turning the geometry off and on again?(Clearing the cache and our conscience...(Compiling some questionable decisions...(Waiting for the algorithm to have an idea...(Giving the CPU a moment to think...(Making the fans spin faster...(Converting electricity into polygons...(Converting polygons into more polygons...(Generating geometry nobody asked for...(Making unnecessary things parametric...(Parametrizing the obvious...(Overengineering a perfectly simple problem...(Adding another slider...(Adding sliders until it works...(Searching for the optimal number of sliders...(Making everything adjustable...(Making nothing adjustable...(Pretending the constraints are reasonable...(Negotiating with the constraints...(Relaxing the constraints...(Tightening the constraints...(Breaking the constraints...(Calling it a feature...(Calling it emergent behavior...(Calling it computational design...(Calling it architecture...(Generating plausible geometry...(Generating implausible geometry...(Making beautiful mistakes...(Turning mistakes into features...(Turning features into bugs...(Turning bugs into research...(Turning research into more bugs...(Approaching enlightenment...(Approaching the solution...(Approaching the deadline...(Running at 99% confidence...(Calculating with questionable precision...(Measuring things very precisely for no reason...(Checking if 90° is still 90°...(Making sure left is still left...(Making sure up is still up...(Checking whether the dimensions agree...(Synchronizing the coordinate systems...(Convincing coordinate systems to get along...(Finding the center of everything...(Locating the important point...(Calculating the least important point...(Interpolating between bad decisions...(Extrapolating beyond our expertise...(Projecting our problems onto a surface...(Solving problems in higher dimensions...(Bringing everything back to 3D...(Reducing dimensional existential dread...(Applying unnecessary mathematics...(Applying necessary mathematics reluctantly...(Doing linear algebra so you don't have to...(Multiplying matrices aggressively...(Taking the dot product personally...(Crossing our fingers and our vectors...(Normalizing everything...(Checking the normals...(Uniting the vectors...(Dividing by something suspicious...(Avoiding division by zero...(Negotiating with NaN...(Convincing infinity to come back down...(Removing NaNs from polite society...(Hunting floating-point errors...(Rounding things irresponsibly...(Preserving numerical dignity...(Running finite coffee analysis...(Calculating the optimal coffee break...(Optimizing caffeine throughput...(Loading structural optimism...(Generating computational optimism...(Waiting for inspiration to compile...(Compiling inspiration...(Downloading more geometry...(Downloading additional dimensions...(Searching the internet for more RAM...(Consulting the documentation we should have read earlier...(Reading error messages very carefully...(Ignoring the error message...(Re-reading the error message...(Accepting our fate...(Almost there...(Definitely almost there...(Probably almost there...(This is taking longer than expected...(Doing something extremely important...(Doing something extremely computational...(Please remain geometrically calm...(Please do not touch anything...(Everything is under control...(Everything was under control...(Nothing to see here...(This is completely normal...(Trusting the process...(Trusting the algorithm...(Questioning the process...(Questioning the algorithm...(Reconsidering our life choices...(Adding more computational violence...(Brute-forcing elegance...(Searching for elegance...(Giving up on elegance...(Embracing chaos...(Rendering the consequences...(Calculating the consequences...(Preparing the consequences...(Generating something probably useful...(Turning pixels into problems...(Turning problems into pixels...(Making computers do architecture...(Making architecture do mathematics...(Making mathematics do the heavy lifting...(Almost done. Probably.`.split(`(`),r=F(null),i=null;function a(){return n[Math.floor(Math.random()*n.length)]}function o(){r.value=a(),i=setInterval(()=>{r.value=a()},3600)}function s(){i!==null&&(clearInterval(i),i=null),r.value=null}return Cr(()=>t.visible,e=>{e?o():s()},{immediate:!0}),Qi(s),(e,n)=>(B(),V(Rr,{to:`body`},[I(t).visible?(B(),ms(`div`,Kx,[U(I(ky),{class:`global-spinner-icon`,size:96,"stroke-width":1.5}),I(t).message?(B(),ms(`p`,qx,Ce(I(t).message),1)):Ts(``,!0),r.value?(B(),ms(`p`,Jx,Ce(r.value),1)):Ts(``,!0)])):Ts(``,!0)]))}}),[[`__scopeId`,`data-v-1f2a3347`]]),Xx=nb(R({__name:`App`,props:{runtime:{},showToolbar:{type:Boolean,default:!0}},setup(e){let t=F(null),n=e,{theme:r}=n.runtime.store;return Ji(()=>{t.value&&n.runtime.attach(t.value)}),(e,i)=>(B(),ms(`div`,{class:he([`app-container`,{dark:I(r).value===`dark`}])},[U(Ux,{"show-toolbar":n.showToolbar},null,8,[`show-toolbar`]),H(`div`,{ref_key:`threeContainer`,ref:t,class:`three-container`},null,512),U(Gx),U(rb),U(Yx)],2))}}),[[`__scopeId`,`data-v-8d82b7cc`]]);function Zx(){let e=0,t=0;for(let n=0;n<28;n+=7){let r=this.buf[this.pos++];if(e|=(r&127)<>4,!(n&128))return this.assertBounds(),[e,t];for(let n=3;n<=31;n+=7){let r=this.buf[this.pos++];if(t|=(r&127)<>>r,a=!(!(i>>>7)&&t==0),o=(a?i|128:i)&255;if(n.push(o),!a)return}let r=e>>>28&15|(t&7)<<4,i=!!(t>>3);if(n.push((i?r|128:r)&255),i){for(let e=3;e<31;e+=7){let r=t>>>e,i=!!(r>>>7),a=(i?r|128:r)&255;if(n.push(a),!i)return}n.push(t>>>31&1)}}var $x=4294967296;function eS(e){let t=e[0]===`-`;t&&(e=e.slice(1));let n=1e6,r=0,i=0;function a(t,a){let o=Number(e.slice(t,a));i*=n,r=r*n+o,r>=$x&&(i+=r/$x|0,r%=$x)}return a(-24,-18),a(-18,-12),a(-12,-6),a(-6),t?aS(r,i):iS(r,i)}function tS(e,t){let n=iS(e,t),r=n.hi&2147483648;r&&(n=aS(n.lo,n.hi));let i=nS(n.lo,n.hi);return r?`-`+i:i}function nS(e,t){if({lo:e,hi:t}=rS(e,t),t<=2097151)return String($x*t+e);let n=e&16777215,r=(e>>>24|t<<8)&16777215,i=t>>16&65535,a=n+r*6777216+i*6710656,o=r+i*8147497,s=i*2,c=1e7;return a>=c&&(o+=Math.floor(a/c),a%=c),o>=c&&(s+=Math.floor(o/c),o%=c),s.toString()+oS(o)+oS(a)}function rS(e,t){return{lo:e>>>0,hi:t>>>0}}function iS(e,t){return{lo:e|0,hi:t|0}}function aS(e,t){return t=~t,e?e=~e+1:t+=1,iS(e,t)}var oS=e=>{let t=String(e);return`0000000`.slice(t.length)+t};function sS(e,t){if(e>=0){for(;e>127;)t.push(e&127|128),e>>>=7;t.push(e)}else{for(let n=0;n<9;n++)t.push(e&127|128),e>>=7;t.push(1)}}function cS(){let e=this.buf[this.pos++],t=e&127;if(!(e&128)||(e=this.buf[this.pos++],t|=(e&127)<<7,!(e&128))||(e=this.buf[this.pos++],t|=(e&127)<<14,!(e&128))||(e=this.buf[this.pos++],t|=(e&127)<<21,!(e&128)))return this.assertBounds(),t;e=this.buf[this.pos++],t|=(e&15)<<28;for(let t=5;e&128&&t<10;t++)e=this.buf[this.pos++];if(e&128)throw Error(`invalid varint`);return this.assertBounds(),t>>>0}var lS=uS();function uS(){let e=new DataView(new ArrayBuffer(8));if(typeof BigInt==`function`&&typeof e.getBigInt64==`function`&&typeof e.getBigUint64==`function`&&typeof e.setBigInt64==`function`&&typeof e.setBigUint64==`function`&&(globalThis.Deno||globalThis.Bun||typeof process!=`object`||{}.BUF_BIGINT_DISABLE!==`1`)){let t=BigInt(`-9223372036854775808`),n=BigInt(`9223372036854775807`),r=BigInt(`0`),i=BigInt(`18446744073709551615`);return{zero:BigInt(0),supported:!0,parse(e){let r=typeof e==`bigint`?e:BigInt(e);if(r>n||ri||t>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(vS(e);e>127;)this.buf.push(e&127|128),e>>>=7;return this.buf.push(e),this}int32(e){return _S(e),sS(e,this.buf),this}bool(e){return this.buf.push(+!!e),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let t=this.encodeUtf8(e);return this.uint32(t.byteLength),this.raw(t)}float(e){yS(e);let t=new Uint8Array(4);return new DataView(t.buffer).setFloat32(0,e,!0),this.raw(t)}double(e){let t=new Uint8Array(8);return new DataView(t.buffer).setFloat64(0,e,!0),this.raw(t)}fixed32(e){vS(e);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!0),this.raw(t)}sfixed32(e){_S(e);let t=new Uint8Array(4);return new DataView(t.buffer).setInt32(0,e,!0),this.raw(t)}sint32(e){return _S(e),e=(e<<1^e>>31)>>>0,sS(e,this.buf),this}sfixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),r=lS.enc(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}fixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),r=lS.uEnc(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}int64(e){let t=lS.enc(e);return Qx(t.lo,t.hi,this.buf),this}sint64(e){let t=lS.enc(e),n=t.hi>>31;return Qx(t.lo<<1^n,(t.hi<<1|t.lo>>>31)^n,this.buf),this}uint64(e){let t=lS.uEnc(e);return Qx(t.lo,t.hi,this.buf),this}},q=class{constructor(e,t=mS().decodeUtf8){this.decodeUtf8=t,this.varint64=Zx,this.uint32=cS,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength)}tag(){let e=this.pos,t=this.uint32(),n=this.pos-e;if(n>5||n==5&&this.buf[this.pos-1]>15)throw Error(`illegal tag: varint overflows uint32`);let r=t>>>3,i=t&7;if(r<=0||i>5)throw Error(`illegal tag: field no `+r+` wire type `+i);return[r,i]}skip(e,t,n=100){let r=this.pos;switch(e){case hS.Varint:for(;this.buf[this.pos++]&128;);break;case hS.Bit64:this.pos+=4;case hS.Bit32:this.pos+=4;break;case hS.LengthDelimited:let r=this.uint32();this.pos+=r;break;case hS.StartGroup:if(n<=0)throw Error(`maximum recursion depth reached`);for(;;){let[e,r]=this.tag();if(r===hS.EndGroup){if(t!==void 0&&e!==t)throw Error(`invalid end group tag`);break}this.skip(r,e,n-1)}break;default:throw Error(`cant skip wire type `+e)}return this.assertBounds(),this.buf.subarray(r,this.pos)}assertBounds(){if(this.pos>this.len)throw RangeError(`premature EOF`)}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return lS.dec(...this.varint64())}uint64(){return lS.uDec(...this.varint64())}sint64(){let[e,t]=this.varint64(),n=-(e&1);return e=(e>>>1|(t&1)<<31)^n,t=t>>>1^n,lS.dec(e,t)}bool(){let[e,t]=this.varint64();return e!==0||t!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return lS.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return lS.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),t=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(t,t+e)}string(e){return this.decodeUtf8(this.bytes(),e)}};function _S(e){if(typeof e==`string`)e=Number(e);else if(typeof e!=`number`)throw Error(`invalid int32: `+typeof e);if(!Number.isInteger(e)||e>2147483647||e<-2147483648)throw Error(`invalid int32: `+e)}function vS(e){if(typeof e==`string`)e=Number(e);else if(typeof e!=`number`)throw Error(`invalid uint32: `+typeof e);if(!Number.isInteger(e)||e>4294967295||e<0)throw Error(`invalid uint32: `+e)}function yS(e){if(typeof e==`string`){let t=e;if(e=Number(e),Number.isNaN(e)&&t!==`NaN`)throw Error(`invalid float32: `+t)}else if(typeof e!=`number`)throw Error(`invalid float32: `+typeof e);if(Number.isFinite(e)&&(e>34028234663852886e22||e<-34028234663852886e22))throw Error(`invalid float32: `+e)}function bS(){return{typeUrl:``,value:new Uint8Array}}var xS={encode(e,t=new gS){return e.typeUrl!==``&&t.uint32(10).string(e.typeUrl),e.value.length!==0&&t.uint32(18).bytes(e.value),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=bS();for(;n.pos>>3){case 1:if(e!==10)break;i.typeUrl=n.string();continue;case 2:if(e!==18)break;i.value=n.bytes();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{typeUrl:wS(e.typeUrl)?globalThis.String(e.typeUrl):wS(e.type_url)?globalThis.String(e.type_url):``,value:wS(e.value)?SS(e.value):new Uint8Array}},toJSON(e){let t={};return e.typeUrl!==``&&(t.typeUrl=e.typeUrl),e.value.length!==0&&(t.value=CS(e.value)),t},create(e){return xS.fromPartial(e??{})},fromPartial(e){let t=bS();return t.typeUrl=e.typeUrl??``,t.value=e.value??new Uint8Array,t}};function SS(e){if(globalThis.Buffer)return Uint8Array.from(globalThis.Buffer.from(e,`base64`));{let t=globalThis.atob(e),n=new Uint8Array(t.length);for(let e=0;e{t.push(globalThis.String.fromCharCode(e))}),globalThis.btoa(t.join(``))}}function wS(e){return e!=null}var TS=function(e){return e[e.NULL_VALUE=0]=`NULL_VALUE`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e}({});function ES(e){switch(e){case 0:case`NULL_VALUE`:return TS.NULL_VALUE;default:return TS.UNRECOGNIZED}}function DS(e){switch(e){case TS.NULL_VALUE:return`NULL_VALUE`;case TS.UNRECOGNIZED:default:return`UNRECOGNIZED`}}function OS(){return{fields:{}}}var kS={encode(e,t=new gS){return globalThis.Object.entries(e.fields).forEach(([e,n])=>{n!==void 0&&jS.encode({key:e,value:n},t.uint32(10).fork()).join()}),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=OS();for(;n.pos>>3){case 1:{if(e!==10)break;let t=jS.decode(n,n.uint32());t.value!==void 0&&(i.fields[t.key]=t.value);continue}}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{fields:IS(e.fields)?globalThis.Object.entries(e.fields).reduce((e,[t,n])=>(e[t]=n,e),{}):{}}},toJSON(e){let t={};if(e.fields){let n=globalThis.Object.entries(e.fields);n.length>0&&(t.fields={},n.forEach(([e,n])=>{t.fields[e]=n}))}return t},create(e){return kS.fromPartial(e??{})},fromPartial(e){let t=OS();return t.fields=globalThis.Object.entries(e.fields??{}).reduce((e,[t,n])=>(n!==void 0&&(e[t]=n),e),{}),t},wrap(e){let t=OS();if(e!==void 0)for(let n of globalThis.Object.keys(e))t.fields[n]=e[n];return t},unwrap(e){let t={};if(e.fields)for(let n of globalThis.Object.keys(e.fields))t[n]=e.fields[n];return t}};function AS(){return{key:``,value:void 0}}var jS={encode(e,t=new gS){return e.key!==``&&t.uint32(10).string(e.key),e.value!==void 0&&NS.encode(NS.wrap(e.value),t.uint32(18).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=AS();for(;n.pos>>3){case 1:if(e!==10)break;i.key=n.string();continue;case 2:if(e!==18)break;i.value=NS.unwrap(NS.decode(n,n.uint32()));continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{key:LS(e.key)?globalThis.String(e.key):``,value:LS(e?.value)?e.value:void 0}},toJSON(e){let t={};return e.key!==``&&(t.key=e.key),e.value!==void 0&&(t.value=e.value),t},create(e){return jS.fromPartial(e??{})},fromPartial(e){let t=AS();return t.key=e.key??``,t.value=e.value??void 0,t}};function MS(){return{nullValue:void 0,numberValue:void 0,stringValue:void 0,boolValue:void 0,structValue:void 0,listValue:void 0}}var NS={encode(e,t=new gS){return e.nullValue!==void 0&&t.uint32(8).int32(e.nullValue),e.numberValue!==void 0&&t.uint32(17).double(e.numberValue),e.stringValue!==void 0&&t.uint32(26).string(e.stringValue),e.boolValue!==void 0&&t.uint32(32).bool(e.boolValue),e.structValue!==void 0&&kS.encode(kS.wrap(e.structValue),t.uint32(42).fork()).join(),e.listValue!==void 0&&FS.encode(FS.wrap(e.listValue),t.uint32(50).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=MS();for(;n.pos>>3){case 1:if(e!==8)break;i.nullValue=n.int32();continue;case 2:if(e!==17)break;i.numberValue=n.double();continue;case 3:if(e!==26)break;i.stringValue=n.string();continue;case 4:if(e!==32)break;i.boolValue=n.bool();continue;case 5:if(e!==42)break;i.structValue=kS.unwrap(kS.decode(n,n.uint32()));continue;case 6:if(e!==50)break;i.listValue=FS.unwrap(FS.decode(n,n.uint32()));continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{nullValue:LS(e.nullValue)?ES(e.nullValue):LS(e.null_value)?ES(e.null_value):void 0,numberValue:LS(e.numberValue)?globalThis.Number(e.numberValue):LS(e.number_value)?globalThis.Number(e.number_value):void 0,stringValue:LS(e.stringValue)?globalThis.String(e.stringValue):LS(e.string_value)?globalThis.String(e.string_value):void 0,boolValue:LS(e.boolValue)?globalThis.Boolean(e.boolValue):LS(e.bool_value)?globalThis.Boolean(e.bool_value):void 0,structValue:IS(e.structValue)?e.structValue:IS(e.struct_value)?e.struct_value:void 0,listValue:globalThis.Array.isArray(e.listValue)?[...e.listValue]:globalThis.Array.isArray(e.list_value)?[...e.list_value]:void 0}},toJSON(e){let t={};return e.nullValue!==void 0&&(t.nullValue=DS(e.nullValue)),e.numberValue!==void 0&&(t.numberValue=e.numberValue),e.stringValue!==void 0&&(t.stringValue=e.stringValue),e.boolValue!==void 0&&(t.boolValue=e.boolValue),e.structValue!==void 0&&(t.structValue=e.structValue),e.listValue!==void 0&&(t.listValue=e.listValue),t},create(e){return NS.fromPartial(e??{})},fromPartial(e){let t=MS();return t.nullValue=e.nullValue??void 0,t.numberValue=e.numberValue??void 0,t.stringValue=e.stringValue??void 0,t.boolValue=e.boolValue??void 0,t.structValue=e.structValue??void 0,t.listValue=e.listValue??void 0,t},wrap(e){let t=MS();if(e===null)t.nullValue=TS.NULL_VALUE;else if(typeof e==`boolean`)t.boolValue=e;else if(typeof e==`number`)t.numberValue=e;else if(typeof e==`string`)t.stringValue=e;else if(globalThis.Array.isArray(e))t.listValue=e;else if(typeof e==`object`)t.structValue=e;else if(e!==void 0)throw new globalThis.Error(`Unsupported any value type: `+typeof e);return t},unwrap(e){if(e.stringValue!==void 0)return e.stringValue;if(e?.numberValue!==void 0)return e.numberValue;if(e?.boolValue!==void 0)return e.boolValue;if(e?.structValue!==void 0)return e.structValue;if(e?.listValue!==void 0)return e.listValue;if(e?.nullValue!==void 0)return null}};function PS(){return{values:[]}}var FS={encode(e,t=new gS){for(let n of e.values)NS.encode(NS.wrap(n),t.uint32(10).fork()).join();return t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=PS();for(;n.pos>>3){case 1:if(e!==10)break;i.values.push(NS.unwrap(NS.decode(n,n.uint32())));continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{values:globalThis.Array.isArray(e?.values)?[...e.values]:[]}},toJSON(e){let t={};return e.values?.length&&(t.values=e.values),t},create(e){return FS.fromPartial(e??{})},fromPartial(e){let t=PS();return t.values=e.values?.map(e=>e)||[],t},wrap(e){let t=PS();return t.values=e??[],t},unwrap(e){return e?.hasOwnProperty(`values`)&&globalThis.Array.isArray(e.values)?e.values:e}};function IS(e){return typeof e==`object`&&!!e}function LS(e){return e!=null}function RS(){return{message:void 0,value:void 0,fallback:void 0,intValue:void 0,doubleValue:void 0,dictValue:void 0,listValue:void 0}}var J={encode(e,t=new gS){return e.message!==void 0&&xS.encode(e.message,t.uint32(10).fork()).join(),e.value!==void 0&&NS.encode(NS.wrap(e.value),t.uint32(18).fork()).join(),e.fallback!==void 0&&BS.encode(e.fallback,t.uint32(26).fork()).join(),e.intValue!==void 0&&t.uint32(32).int64(e.intValue),e.doubleValue!==void 0&&t.uint32(41).double(e.doubleValue),e.dictValue!==void 0&&WS.encode(e.dictValue,t.uint32(50).fork()).join(),e.listValue!==void 0&&HS.encode(e.listValue,t.uint32(58).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=RS();for(;n.pos>>3){case 1:if(e!==10)break;i.message=xS.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.value=NS.unwrap(NS.decode(n,n.uint32()));continue;case 3:if(e!==26)break;i.fallback=BS.decode(n,n.uint32());continue;case 4:if(e!==32)break;i.intValue=YS(n.int64());continue;case 5:if(e!==41)break;i.doubleValue=n.double();continue;case 6:if(e!==50)break;i.dictValue=WS.decode(n,n.uint32());continue;case 7:if(e!==58)break;i.listValue=HS.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{message:ZS(e.message)?xS.fromJSON(e.message):void 0,value:ZS(e?.value)?e.value:void 0,fallback:ZS(e.fallback)?BS.fromJSON(e.fallback):void 0,intValue:ZS(e.intValue)?globalThis.Number(e.intValue):ZS(e.int_value)?globalThis.Number(e.int_value):void 0,doubleValue:ZS(e.doubleValue)?globalThis.Number(e.doubleValue):ZS(e.double_value)?globalThis.Number(e.double_value):void 0,dictValue:ZS(e.dictValue)?WS.fromJSON(e.dictValue):ZS(e.dict_value)?WS.fromJSON(e.dict_value):void 0,listValue:ZS(e.listValue)?HS.fromJSON(e.listValue):ZS(e.list_value)?HS.fromJSON(e.list_value):void 0}},toJSON(e){let t={};return e.message!==void 0&&(t.message=xS.toJSON(e.message)),e.value!==void 0&&(t.value=e.value),e.fallback!==void 0&&(t.fallback=BS.toJSON(e.fallback)),e.intValue!==void 0&&(t.intValue=Math.round(e.intValue)),e.doubleValue!==void 0&&(t.doubleValue=e.doubleValue),e.dictValue!==void 0&&(t.dictValue=WS.toJSON(e.dictValue)),e.listValue!==void 0&&(t.listValue=HS.toJSON(e.listValue)),t},create(e){return J.fromPartial(e??{})},fromPartial(e){let t=RS();return t.message=e.message!==void 0&&e.message!==null?xS.fromPartial(e.message):void 0,t.value=e.value??void 0,t.fallback=e.fallback!==void 0&&e.fallback!==null?BS.fromPartial(e.fallback):void 0,t.intValue=e.intValue??void 0,t.doubleValue=e.doubleValue??void 0,t.dictValue=e.dictValue!==void 0&&e.dictValue!==null?WS.fromPartial(e.dictValue):void 0,t.listValue=e.listValue!==void 0&&e.listValue!==null?HS.fromPartial(e.listValue):void 0,t}};function zS(){return{data:void 0}}var BS={encode(e,t=new gS){return e.data!==void 0&&WS.encode(e.data,t.uint32(10).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=zS();for(;n.pos>>3){case 1:if(e!==10)break;i.data=WS.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{data:ZS(e.data)?WS.fromJSON(e.data):void 0}},toJSON(e){let t={};return e.data!==void 0&&(t.data=WS.toJSON(e.data)),t},create(e){return BS.fromPartial(e??{})},fromPartial(e){let t=zS();return t.data=e.data!==void 0&&e.data!==null?WS.fromPartial(e.data):void 0,t}};function VS(){return{items:[]}}var HS={encode(e,t=new gS){for(let n of e.items)J.encode(n,t.uint32(10).fork()).join();return t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=VS();for(;n.pos>>3){case 1:if(e!==10)break;i.items.push(J.decode(n,n.uint32()));continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{items:globalThis.Array.isArray(e?.items)?e.items.map(e=>J.fromJSON(e)):[]}},toJSON(e){let t={};return e.items?.length&&(t.items=e.items.map(e=>J.toJSON(e))),t},create(e){return HS.fromPartial(e??{})},fromPartial(e){let t=VS();return t.items=e.items?.map(e=>J.fromPartial(e))||[],t}};function US(){return{items:{}}}var WS={encode(e,t=new gS){return globalThis.Object.entries(e.items).forEach(([e,n])=>{KS.encode({key:e,value:n},t.uint32(10).fork()).join()}),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=US();for(;n.pos>>3){case 1:{if(e!==10)break;let t=KS.decode(n,n.uint32());t.value!==void 0&&(i.items[t.key]=t.value);continue}}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{items:XS(e.items)?globalThis.Object.entries(e.items).reduce((e,[t,n])=>(e[t]=J.fromJSON(n),e),{}):{}}},toJSON(e){let t={};if(e.items){let n=globalThis.Object.entries(e.items);n.length>0&&(t.items={},n.forEach(([e,n])=>{t.items[e]=J.toJSON(n)}))}return t},create(e){return WS.fromPartial(e??{})},fromPartial(e){let t=US();return t.items=globalThis.Object.entries(e.items??{}).reduce((e,[t,n])=>(n!==void 0&&(e[t]=J.fromPartial(n)),e),{}),t}};function GS(){return{key:``,value:void 0}}var KS={encode(e,t=new gS){return e.key!==``&&t.uint32(10).string(e.key),e.value!==void 0&&J.encode(e.value,t.uint32(18).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=GS();for(;n.pos>>3){case 1:if(e!==10)break;i.key=n.string();continue;case 2:if(e!==18)break;i.value=J.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{key:ZS(e.key)?globalThis.String(e.key):``,value:ZS(e.value)?J.fromJSON(e.value):void 0}},toJSON(e){let t={};return e.key!==``&&(t.key=e.key),e.value!==void 0&&(t.value=J.toJSON(e.value)),t},create(e){return KS.fromPartial(e??{})},fromPartial(e){let t=GS();return t.key=e.key??``,t.value=e.value!==void 0&&e.value!==null?J.fromPartial(e.value):void 0,t}};function qS(){return{data:void 0,version:void 0}}var JS={encode(e,t=new gS){return e.data!==void 0&&J.encode(e.data,t.uint32(10).fork()).join(),e.version!==void 0&&t.uint32(18).string(e.version),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=qS();for(;n.pos>>3){case 1:if(e!==10)break;i.data=J.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.version=n.string();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{data:ZS(e.data)?J.fromJSON(e.data):void 0,version:ZS(e.version)?globalThis.String(e.version):void 0}},toJSON(e){let t={};return e.data!==void 0&&(t.data=J.toJSON(e.data)),e.version!==void 0&&(t.version=e.version),t},create(e){return JS.fromPartial(e??{})},fromPartial(e){let t=qS();return t.data=e.data!==void 0&&e.data!==null?J.fromPartial(e.data):void 0,t.version=e.version??void 0,t}};function YS(e){let t=globalThis.Number(e.toString());if(t>globalThis.Number.MAX_SAFE_INTEGER)throw new globalThis.Error(`Value is larger than Number.MAX_SAFE_INTEGER`);if(t>>3){case 1:if(e!==10)break;i.name=n.string();continue;case 2:if(e===16){i.indices.push(n.uint32());continue}if(e===18){let e=n.uint32()+n.pos;for(;n.posglobalThis.Number(e)):[],kind:wC(e.kind)?globalThis.Number(e.kind):0,doubles:globalThis.Array.isArray(e?.doubles)?e.doubles.map(e=>globalThis.Number(e)):[],ints:globalThis.Array.isArray(e?.ints)?e.ints.map(e=>globalThis.Number(e)):[],bools:globalThis.Array.isArray(e?.bools)?e.bools.map(e=>globalThis.Boolean(e)):[],values:globalThis.Array.isArray(e?.values)?e.values.map(e=>J.fromJSON(e)):[]}},toJSON(e){let t={};return e.name!==``&&(t.name=e.name),e.indices?.length&&(t.indices=e.indices.map(e=>Math.round(e))),e.kind!==0&&(t.kind=Math.round(e.kind)),e.doubles?.length&&(t.doubles=e.doubles),e.ints?.length&&(t.ints=e.ints.map(e=>Math.round(e))),e.bools?.length&&(t.bools=e.bools),e.values?.length&&(t.values=e.values.map(e=>J.toJSON(e))),t},create(e){return $S.fromPartial(e??{})},fromPartial(e){let t=QS();return t.name=e.name??``,t.indices=e.indices?.map(e=>e)||[],t.kind=e.kind??0,t.doubles=e.doubles?.map(e=>e)||[],t.ints=e.ints?.map(e=>e)||[],t.bools=e.bools?.map(e=>e)||[],t.values=e.values?.map(e=>J.fromPartial(e))||[],t}};function eC(){return{guid:void 0,name:void 0,vertices:[],faceVertices:[],faceSizes:[],attributes:{},vertexAttributeColumns:[],faceAttributeColumns:[],edgeAttributeColumns:[],edgeKeys:[],defaultVertexAttributes:{},defaultFaceAttributes:{},defaultEdgeAttributes:{}}}var tC={encode(e,t=new gS){e.guid!==void 0&&t.uint32(10).string(e.guid),e.name!==void 0&&t.uint32(18).string(e.name),t.uint32(26).fork();for(let n of e.vertices)t.double(n);t.join(),t.uint32(34).fork();for(let n of e.faceVertices)t.uint32(n);t.join(),t.uint32(98).fork();for(let n of e.faceSizes)t.uint32(n);t.join(),globalThis.Object.entries(e.attributes).forEach(([e,n])=>{rC.encode({key:e,value:n},t.uint32(42).fork()).join()});for(let n of e.vertexAttributeColumns)$S.encode(n,t.uint32(50).fork()).join();for(let n of e.faceAttributeColumns)$S.encode(n,t.uint32(58).fork()).join();for(let n of e.edgeAttributeColumns)$S.encode(n,t.uint32(66).fork()).join();for(let n of e.edgeKeys)J.encode(n,t.uint32(106).fork()).join();return globalThis.Object.entries(e.defaultVertexAttributes).forEach(([e,n])=>{aC.encode({key:e,value:n},t.uint32(74).fork()).join()}),globalThis.Object.entries(e.defaultFaceAttributes).forEach(([e,n])=>{sC.encode({key:e,value:n},t.uint32(82).fork()).join()}),globalThis.Object.entries(e.defaultEdgeAttributes).forEach(([e,n])=>{lC.encode({key:e,value:n},t.uint32(90).fork()).join()}),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=eC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e===25){i.vertices.push(n.double());continue}if(e===26){let e=n.uint32()+n.pos;for(;n.posglobalThis.Number(e)):[],faceVertices:globalThis.Array.isArray(e?.faceVertices)?e.faceVertices.map(e=>globalThis.Number(e)):globalThis.Array.isArray(e?.face_vertices)?e.face_vertices.map(e=>globalThis.Number(e)):[],faceSizes:globalThis.Array.isArray(e?.faceSizes)?e.faceSizes.map(e=>globalThis.Number(e)):globalThis.Array.isArray(e?.face_sizes)?e.face_sizes.map(e=>globalThis.Number(e)):[],attributes:CC(e.attributes)?globalThis.Object.entries(e.attributes).reduce((e,[t,n])=>(e[t]=J.fromJSON(n),e),{}):{},vertexAttributeColumns:globalThis.Array.isArray(e?.vertexAttributeColumns)?e.vertexAttributeColumns.map(e=>$S.fromJSON(e)):globalThis.Array.isArray(e?.vertex_attribute_columns)?e.vertex_attribute_columns.map(e=>$S.fromJSON(e)):[],faceAttributeColumns:globalThis.Array.isArray(e?.faceAttributeColumns)?e.faceAttributeColumns.map(e=>$S.fromJSON(e)):globalThis.Array.isArray(e?.face_attribute_columns)?e.face_attribute_columns.map(e=>$S.fromJSON(e)):[],edgeAttributeColumns:globalThis.Array.isArray(e?.edgeAttributeColumns)?e.edgeAttributeColumns.map(e=>$S.fromJSON(e)):globalThis.Array.isArray(e?.edge_attribute_columns)?e.edge_attribute_columns.map(e=>$S.fromJSON(e)):[],edgeKeys:globalThis.Array.isArray(e?.edgeKeys)?e.edgeKeys.map(e=>J.fromJSON(e)):globalThis.Array.isArray(e?.edge_keys)?e.edge_keys.map(e=>J.fromJSON(e)):[],defaultVertexAttributes:CC(e.defaultVertexAttributes)?globalThis.Object.entries(e.defaultVertexAttributes).reduce((e,[t,n])=>(e[t]=J.fromJSON(n),e),{}):CC(e.default_vertex_attributes)?globalThis.Object.entries(e.default_vertex_attributes).reduce((e,[t,n])=>(e[t]=J.fromJSON(n),e),{}):{},defaultFaceAttributes:CC(e.defaultFaceAttributes)?globalThis.Object.entries(e.defaultFaceAttributes).reduce((e,[t,n])=>(e[t]=J.fromJSON(n),e),{}):CC(e.default_face_attributes)?globalThis.Object.entries(e.default_face_attributes).reduce((e,[t,n])=>(e[t]=J.fromJSON(n),e),{}):{},defaultEdgeAttributes:CC(e.defaultEdgeAttributes)?globalThis.Object.entries(e.defaultEdgeAttributes).reduce((e,[t,n])=>(e[t]=J.fromJSON(n),e),{}):CC(e.default_edge_attributes)?globalThis.Object.entries(e.default_edge_attributes).reduce((e,[t,n])=>(e[t]=J.fromJSON(n),e),{}):{}}},toJSON(e){let t={};if(e.guid!==void 0&&(t.guid=e.guid),e.name!==void 0&&(t.name=e.name),e.vertices?.length&&(t.vertices=e.vertices),e.faceVertices?.length&&(t.faceVertices=e.faceVertices.map(e=>Math.round(e))),e.faceSizes?.length&&(t.faceSizes=e.faceSizes.map(e=>Math.round(e))),e.attributes){let n=globalThis.Object.entries(e.attributes);n.length>0&&(t.attributes={},n.forEach(([e,n])=>{t.attributes[e]=J.toJSON(n)}))}if(e.vertexAttributeColumns?.length&&(t.vertexAttributeColumns=e.vertexAttributeColumns.map(e=>$S.toJSON(e))),e.faceAttributeColumns?.length&&(t.faceAttributeColumns=e.faceAttributeColumns.map(e=>$S.toJSON(e))),e.edgeAttributeColumns?.length&&(t.edgeAttributeColumns=e.edgeAttributeColumns.map(e=>$S.toJSON(e))),e.edgeKeys?.length&&(t.edgeKeys=e.edgeKeys.map(e=>J.toJSON(e))),e.defaultVertexAttributes){let n=globalThis.Object.entries(e.defaultVertexAttributes);n.length>0&&(t.defaultVertexAttributes={},n.forEach(([e,n])=>{t.defaultVertexAttributes[e]=J.toJSON(n)}))}if(e.defaultFaceAttributes){let n=globalThis.Object.entries(e.defaultFaceAttributes);n.length>0&&(t.defaultFaceAttributes={},n.forEach(([e,n])=>{t.defaultFaceAttributes[e]=J.toJSON(n)}))}if(e.defaultEdgeAttributes){let n=globalThis.Object.entries(e.defaultEdgeAttributes);n.length>0&&(t.defaultEdgeAttributes={},n.forEach(([e,n])=>{t.defaultEdgeAttributes[e]=J.toJSON(n)}))}return t},create(e){return tC.fromPartial(e??{})},fromPartial(e){let t=eC();return t.guid=e.guid??void 0,t.name=e.name??void 0,t.vertices=e.vertices?.map(e=>e)||[],t.faceVertices=e.faceVertices?.map(e=>e)||[],t.faceSizes=e.faceSizes?.map(e=>e)||[],t.attributes=globalThis.Object.entries(e.attributes??{}).reduce((e,[t,n])=>(n!==void 0&&(e[t]=J.fromPartial(n)),e),{}),t.vertexAttributeColumns=e.vertexAttributeColumns?.map(e=>$S.fromPartial(e))||[],t.faceAttributeColumns=e.faceAttributeColumns?.map(e=>$S.fromPartial(e))||[],t.edgeAttributeColumns=e.edgeAttributeColumns?.map(e=>$S.fromPartial(e))||[],t.edgeKeys=e.edgeKeys?.map(e=>J.fromPartial(e))||[],t.defaultVertexAttributes=globalThis.Object.entries(e.defaultVertexAttributes??{}).reduce((e,[t,n])=>(n!==void 0&&(e[t]=J.fromPartial(n)),e),{}),t.defaultFaceAttributes=globalThis.Object.entries(e.defaultFaceAttributes??{}).reduce((e,[t,n])=>(n!==void 0&&(e[t]=J.fromPartial(n)),e),{}),t.defaultEdgeAttributes=globalThis.Object.entries(e.defaultEdgeAttributes??{}).reduce((e,[t,n])=>(n!==void 0&&(e[t]=J.fromPartial(n)),e),{}),t}};function nC(){return{key:``,value:void 0}}var rC={encode(e,t=new gS){return e.key!==``&&t.uint32(10).string(e.key),e.value!==void 0&&J.encode(e.value,t.uint32(18).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=nC();for(;n.pos>>3){case 1:if(e!==10)break;i.key=n.string();continue;case 2:if(e!==18)break;i.value=J.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{key:wC(e.key)?globalThis.String(e.key):``,value:wC(e.value)?J.fromJSON(e.value):void 0}},toJSON(e){let t={};return e.key!==``&&(t.key=e.key),e.value!==void 0&&(t.value=J.toJSON(e.value)),t},create(e){return rC.fromPartial(e??{})},fromPartial(e){let t=nC();return t.key=e.key??``,t.value=e.value!==void 0&&e.value!==null?J.fromPartial(e.value):void 0,t}};function iC(){return{key:``,value:void 0}}var aC={encode(e,t=new gS){return e.key!==``&&t.uint32(10).string(e.key),e.value!==void 0&&J.encode(e.value,t.uint32(18).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=iC();for(;n.pos>>3){case 1:if(e!==10)break;i.key=n.string();continue;case 2:if(e!==18)break;i.value=J.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{key:wC(e.key)?globalThis.String(e.key):``,value:wC(e.value)?J.fromJSON(e.value):void 0}},toJSON(e){let t={};return e.key!==``&&(t.key=e.key),e.value!==void 0&&(t.value=J.toJSON(e.value)),t},create(e){return aC.fromPartial(e??{})},fromPartial(e){let t=iC();return t.key=e.key??``,t.value=e.value!==void 0&&e.value!==null?J.fromPartial(e.value):void 0,t}};function oC(){return{key:``,value:void 0}}var sC={encode(e,t=new gS){return e.key!==``&&t.uint32(10).string(e.key),e.value!==void 0&&J.encode(e.value,t.uint32(18).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=oC();for(;n.pos>>3){case 1:if(e!==10)break;i.key=n.string();continue;case 2:if(e!==18)break;i.value=J.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{key:wC(e.key)?globalThis.String(e.key):``,value:wC(e.value)?J.fromJSON(e.value):void 0}},toJSON(e){let t={};return e.key!==``&&(t.key=e.key),e.value!==void 0&&(t.value=J.toJSON(e.value)),t},create(e){return sC.fromPartial(e??{})},fromPartial(e){let t=oC();return t.key=e.key??``,t.value=e.value!==void 0&&e.value!==null?J.fromPartial(e.value):void 0,t}};function cC(){return{key:``,value:void 0}}var lC={encode(e,t=new gS){return e.key!==``&&t.uint32(10).string(e.key),e.value!==void 0&&J.encode(e.value,t.uint32(18).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=cC();for(;n.pos>>3){case 1:if(e!==10)break;i.key=n.string();continue;case 2:if(e!==18)break;i.value=J.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{key:wC(e.key)?globalThis.String(e.key):``,value:wC(e.value)?J.fromJSON(e.value):void 0}},toJSON(e){let t={};return e.key!==``&&(t.key=e.key),e.value!==void 0&&(t.value=J.toJSON(e.value)),t},create(e){return lC.fromPartial(e??{})},fromPartial(e){let t=cC();return t.key=e.key??``,t.value=e.value!==void 0&&e.value!==null?J.fromPartial(e.value):void 0,t}};function uC(){return{vertexIndices:[]}}var dC={encode(e,t=new gS){t.uint32(10).fork();for(let n of e.vertexIndices)t.int32(n);return t.join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=uC();for(;n.pos>>3==1){if(e===8){i.vertexIndices.push(n.int32());continue}if(e===10){let e=n.uint32()+n.pos;for(;n.posglobalThis.Number(e)):globalThis.Array.isArray(e?.vertex_indices)?e.vertex_indices.map(e=>globalThis.Number(e)):[]}},toJSON(e){let t={};return e.vertexIndices?.length&&(t.vertexIndices=e.vertexIndices.map(e=>Math.round(e))),t},create(e){return dC.fromPartial(e??{})},fromPartial(e){let t=uC();return t.vertexIndices=e.vertexIndices?.map(e=>e)||[],t}};function fC(){return{guid:void 0,name:void 0,vertices:[],faces:[]}}var pC={encode(e,t=new gS){e.guid!==void 0&&t.uint32(10).string(e.guid),e.name!==void 0&&t.uint32(18).string(e.name),t.uint32(26).fork();for(let n of e.vertices)t.double(n);t.join();for(let n of e.faces)dC.encode(n,t.uint32(34).fork()).join();return t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=fC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e===25){i.vertices.push(n.double());continue}if(e===26){let e=n.uint32()+n.pos;for(;n.posglobalThis.Number(e)):[],faces:globalThis.Array.isArray(e?.faces)?e.faces.map(e=>dC.fromJSON(e)):[]}},toJSON(e){let t={};return e.guid!==void 0&&(t.guid=e.guid),e.name!==void 0&&(t.name=e.name),e.vertices?.length&&(t.vertices=e.vertices),e.faces?.length&&(t.faces=e.faces.map(e=>dC.toJSON(e))),t},create(e){return pC.fromPartial(e??{})},fromPartial(e){let t=fC();return t.guid=e.guid??void 0,t.name=e.name??void 0,t.vertices=e.vertices?.map(e=>e)||[],t.faces=e.faces?.map(e=>dC.fromPartial(e))||[],t}};function mC(){return{guid:void 0,name:void 0,nodeKeys:[],nodeAttributes:[],attributes:{},defaultNodeAttributes:{},defaultEdgeAttributes:{},edgeU:[],edgeV:[],edgeAttributes:[]}}var hC={encode(e,t=new gS){e.guid!==void 0&&t.uint32(10).string(e.guid),e.name!==void 0&&t.uint32(18).string(e.name);for(let n of e.nodeKeys)J.encode(n,t.uint32(26).fork()).join();for(let n of e.nodeAttributes)$S.encode(n,t.uint32(34).fork()).join();globalThis.Object.entries(e.attributes).forEach(([e,n])=>{_C.encode({key:e,value:n},t.uint32(42).fork()).join()}),globalThis.Object.entries(e.defaultNodeAttributes).forEach(([e,n])=>{yC.encode({key:e,value:n},t.uint32(50).fork()).join()}),globalThis.Object.entries(e.defaultEdgeAttributes).forEach(([e,n])=>{xC.encode({key:e,value:n},t.uint32(58).fork()).join()}),t.uint32(66).fork();for(let n of e.edgeU)t.uint32(n);t.join(),t.uint32(74).fork();for(let n of e.edgeV)t.uint32(n);t.join();for(let n of e.edgeAttributes)$S.encode(n,t.uint32(82).fork()).join();return t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=mC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==26)break;i.nodeKeys.push(J.decode(n,n.uint32()));continue;case 4:if(e!==34)break;i.nodeAttributes.push($S.decode(n,n.uint32()));continue;case 5:{if(e!==42)break;let t=_C.decode(n,n.uint32());t.value!==void 0&&(i.attributes[t.key]=t.value);continue}case 6:{if(e!==50)break;let t=yC.decode(n,n.uint32());t.value!==void 0&&(i.defaultNodeAttributes[t.key]=t.value);continue}case 7:{if(e!==58)break;let t=xC.decode(n,n.uint32());t.value!==void 0&&(i.defaultEdgeAttributes[t.key]=t.value);continue}case 8:if(e===64){i.edgeU.push(n.uint32());continue}if(e===66){let e=n.uint32()+n.pos;for(;n.posJ.fromJSON(e)):globalThis.Array.isArray(e?.node_keys)?e.node_keys.map(e=>J.fromJSON(e)):[],nodeAttributes:globalThis.Array.isArray(e?.nodeAttributes)?e.nodeAttributes.map(e=>$S.fromJSON(e)):globalThis.Array.isArray(e?.node_attributes)?e.node_attributes.map(e=>$S.fromJSON(e)):[],attributes:CC(e.attributes)?globalThis.Object.entries(e.attributes).reduce((e,[t,n])=>(e[t]=J.fromJSON(n),e),{}):{},defaultNodeAttributes:CC(e.defaultNodeAttributes)?globalThis.Object.entries(e.defaultNodeAttributes).reduce((e,[t,n])=>(e[t]=J.fromJSON(n),e),{}):CC(e.default_node_attributes)?globalThis.Object.entries(e.default_node_attributes).reduce((e,[t,n])=>(e[t]=J.fromJSON(n),e),{}):{},defaultEdgeAttributes:CC(e.defaultEdgeAttributes)?globalThis.Object.entries(e.defaultEdgeAttributes).reduce((e,[t,n])=>(e[t]=J.fromJSON(n),e),{}):CC(e.default_edge_attributes)?globalThis.Object.entries(e.default_edge_attributes).reduce((e,[t,n])=>(e[t]=J.fromJSON(n),e),{}):{},edgeU:globalThis.Array.isArray(e?.edgeU)?e.edgeU.map(e=>globalThis.Number(e)):globalThis.Array.isArray(e?.edge_u)?e.edge_u.map(e=>globalThis.Number(e)):[],edgeV:globalThis.Array.isArray(e?.edgeV)?e.edgeV.map(e=>globalThis.Number(e)):globalThis.Array.isArray(e?.edge_v)?e.edge_v.map(e=>globalThis.Number(e)):[],edgeAttributes:globalThis.Array.isArray(e?.edgeAttributes)?e.edgeAttributes.map(e=>$S.fromJSON(e)):globalThis.Array.isArray(e?.edge_attributes)?e.edge_attributes.map(e=>$S.fromJSON(e)):[]}},toJSON(e){let t={};if(e.guid!==void 0&&(t.guid=e.guid),e.name!==void 0&&(t.name=e.name),e.nodeKeys?.length&&(t.nodeKeys=e.nodeKeys.map(e=>J.toJSON(e))),e.nodeAttributes?.length&&(t.nodeAttributes=e.nodeAttributes.map(e=>$S.toJSON(e))),e.attributes){let n=globalThis.Object.entries(e.attributes);n.length>0&&(t.attributes={},n.forEach(([e,n])=>{t.attributes[e]=J.toJSON(n)}))}if(e.defaultNodeAttributes){let n=globalThis.Object.entries(e.defaultNodeAttributes);n.length>0&&(t.defaultNodeAttributes={},n.forEach(([e,n])=>{t.defaultNodeAttributes[e]=J.toJSON(n)}))}if(e.defaultEdgeAttributes){let n=globalThis.Object.entries(e.defaultEdgeAttributes);n.length>0&&(t.defaultEdgeAttributes={},n.forEach(([e,n])=>{t.defaultEdgeAttributes[e]=J.toJSON(n)}))}return e.edgeU?.length&&(t.edgeU=e.edgeU.map(e=>Math.round(e))),e.edgeV?.length&&(t.edgeV=e.edgeV.map(e=>Math.round(e))),e.edgeAttributes?.length&&(t.edgeAttributes=e.edgeAttributes.map(e=>$S.toJSON(e))),t},create(e){return hC.fromPartial(e??{})},fromPartial(e){let t=mC();return t.guid=e.guid??void 0,t.name=e.name??void 0,t.nodeKeys=e.nodeKeys?.map(e=>J.fromPartial(e))||[],t.nodeAttributes=e.nodeAttributes?.map(e=>$S.fromPartial(e))||[],t.attributes=globalThis.Object.entries(e.attributes??{}).reduce((e,[t,n])=>(n!==void 0&&(e[t]=J.fromPartial(n)),e),{}),t.defaultNodeAttributes=globalThis.Object.entries(e.defaultNodeAttributes??{}).reduce((e,[t,n])=>(n!==void 0&&(e[t]=J.fromPartial(n)),e),{}),t.defaultEdgeAttributes=globalThis.Object.entries(e.defaultEdgeAttributes??{}).reduce((e,[t,n])=>(n!==void 0&&(e[t]=J.fromPartial(n)),e),{}),t.edgeU=e.edgeU?.map(e=>e)||[],t.edgeV=e.edgeV?.map(e=>e)||[],t.edgeAttributes=e.edgeAttributes?.map(e=>$S.fromPartial(e))||[],t}};function gC(){return{key:``,value:void 0}}var _C={encode(e,t=new gS){return e.key!==``&&t.uint32(10).string(e.key),e.value!==void 0&&J.encode(e.value,t.uint32(18).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=gC();for(;n.pos>>3){case 1:if(e!==10)break;i.key=n.string();continue;case 2:if(e!==18)break;i.value=J.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{key:wC(e.key)?globalThis.String(e.key):``,value:wC(e.value)?J.fromJSON(e.value):void 0}},toJSON(e){let t={};return e.key!==``&&(t.key=e.key),e.value!==void 0&&(t.value=J.toJSON(e.value)),t},create(e){return _C.fromPartial(e??{})},fromPartial(e){let t=gC();return t.key=e.key??``,t.value=e.value!==void 0&&e.value!==null?J.fromPartial(e.value):void 0,t}};function vC(){return{key:``,value:void 0}}var yC={encode(e,t=new gS){return e.key!==``&&t.uint32(10).string(e.key),e.value!==void 0&&J.encode(e.value,t.uint32(18).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=vC();for(;n.pos>>3){case 1:if(e!==10)break;i.key=n.string();continue;case 2:if(e!==18)break;i.value=J.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{key:wC(e.key)?globalThis.String(e.key):``,value:wC(e.value)?J.fromJSON(e.value):void 0}},toJSON(e){let t={};return e.key!==``&&(t.key=e.key),e.value!==void 0&&(t.value=J.toJSON(e.value)),t},create(e){return yC.fromPartial(e??{})},fromPartial(e){let t=vC();return t.key=e.key??``,t.value=e.value!==void 0&&e.value!==null?J.fromPartial(e.value):void 0,t}};function bC(){return{key:``,value:void 0}}var xC={encode(e,t=new gS){return e.key!==``&&t.uint32(10).string(e.key),e.value!==void 0&&J.encode(e.value,t.uint32(18).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=bC();for(;n.pos>>3){case 1:if(e!==10)break;i.key=n.string();continue;case 2:if(e!==18)break;i.value=J.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{key:wC(e.key)?globalThis.String(e.key):``,value:wC(e.value)?J.fromJSON(e.value):void 0}},toJSON(e){let t={};return e.key!==``&&(t.key=e.key),e.value!==void 0&&(t.value=J.toJSON(e.value)),t},create(e){return xC.fromPartial(e??{})},fromPartial(e){let t=bC();return t.key=e.key??``,t.value=e.value!==void 0&&e.value!==null?J.fromPartial(e.value):void 0,t}};function SC(e){let t=globalThis.Number(e.toString());if(t>globalThis.Number.MAX_SAFE_INTEGER)throw new globalThis.Error(`Value is larger than Number.MAX_SAFE_INTEGER`);if(t>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==25)break;i.x=n.double();continue;case 4:if(e!==33)break;i.y=n.double();continue;case 5:if(e!==41)break;i.z=n.double();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,x:Y(e.x)?globalThis.Number(e.x):0,y:Y(e.y)?globalThis.Number(e.y):0,z:Y(e.z)?globalThis.Number(e.z):0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.x!==0&&(t.x=e.x),e.y!==0&&(t.y=e.y),e.z!==0&&(t.z=e.z),t},create(e){return EC.fromPartial(e??{})},fromPartial(e){let t=TC();return t.guid=e.guid??``,t.name=e.name??``,t.x=e.x??0,t.y=e.y??0,t.z=e.z??0,t}};function DC(){return{guid:``,name:``,x:0,y:0,z:0}}var OC={encode(e,t=new gS){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.x!==0&&t.uint32(25).double(e.x),e.y!==0&&t.uint32(33).double(e.y),e.z!==0&&t.uint32(41).double(e.z),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=DC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==25)break;i.x=n.double();continue;case 4:if(e!==33)break;i.y=n.double();continue;case 5:if(e!==41)break;i.z=n.double();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,x:Y(e.x)?globalThis.Number(e.x):0,y:Y(e.y)?globalThis.Number(e.y):0,z:Y(e.z)?globalThis.Number(e.z):0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.x!==0&&(t.x=e.x),e.y!==0&&(t.y=e.y),e.z!==0&&(t.z=e.z),t},create(e){return OC.fromPartial(e??{})},fromPartial(e){let t=DC();return t.guid=e.guid??``,t.name=e.name??``,t.x=e.x??0,t.y=e.y??0,t.z=e.z??0,t}};function kC(){return{guid:``,name:``,point:void 0,xaxis:void 0,yaxis:void 0}}var AC={encode(e,t=new gS){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.point!==void 0&&EC.encode(e.point,t.uint32(26).fork()).join(),e.xaxis!==void 0&&OC.encode(e.xaxis,t.uint32(34).fork()).join(),e.yaxis!==void 0&&OC.encode(e.yaxis,t.uint32(42).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=kC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==26)break;i.point=EC.decode(n,n.uint32());continue;case 4:if(e!==34)break;i.xaxis=OC.decode(n,n.uint32());continue;case 5:if(e!==42)break;i.yaxis=OC.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,point:Y(e.point)?EC.fromJSON(e.point):void 0,xaxis:Y(e.xaxis)?OC.fromJSON(e.xaxis):void 0,yaxis:Y(e.yaxis)?OC.fromJSON(e.yaxis):void 0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.point!==void 0&&(t.point=EC.toJSON(e.point)),e.xaxis!==void 0&&(t.xaxis=OC.toJSON(e.xaxis)),e.yaxis!==void 0&&(t.yaxis=OC.toJSON(e.yaxis)),t},create(e){return AC.fromPartial(e??{})},fromPartial(e){let t=kC();return t.guid=e.guid??``,t.name=e.name??``,t.point=e.point!==void 0&&e.point!==null?EC.fromPartial(e.point):void 0,t.xaxis=e.xaxis!==void 0&&e.xaxis!==null?OC.fromPartial(e.xaxis):void 0,t.yaxis=e.yaxis!==void 0&&e.yaxis!==null?OC.fromPartial(e.yaxis):void 0,t}};function jC(){return{guid:``,name:``,point:void 0,normal:void 0}}var MC={encode(e,t=new gS){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.point!==void 0&&EC.encode(e.point,t.uint32(26).fork()).join(),e.normal!==void 0&&OC.encode(e.normal,t.uint32(34).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=jC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==26)break;i.point=EC.decode(n,n.uint32());continue;case 4:if(e!==34)break;i.normal=OC.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,point:Y(e.point)?EC.fromJSON(e.point):void 0,normal:Y(e.normal)?OC.fromJSON(e.normal):void 0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.point!==void 0&&(t.point=EC.toJSON(e.point)),e.normal!==void 0&&(t.normal=OC.toJSON(e.normal)),t},create(e){return MC.fromPartial(e??{})},fromPartial(e){let t=jC();return t.guid=e.guid??``,t.name=e.name??``,t.point=e.point!==void 0&&e.point!==null?EC.fromPartial(e.point):void 0,t.normal=e.normal!==void 0&&e.normal!==null?OC.fromPartial(e.normal):void 0,t}};function NC(){return{guid:``,name:``,w:0,x:0,y:0,z:0}}var PC={encode(e,t=new gS){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.w!==0&&t.uint32(25).double(e.w),e.x!==0&&t.uint32(33).double(e.x),e.y!==0&&t.uint32(41).double(e.y),e.z!==0&&t.uint32(49).double(e.z),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=NC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==25)break;i.w=n.double();continue;case 4:if(e!==33)break;i.x=n.double();continue;case 5:if(e!==41)break;i.y=n.double();continue;case 6:if(e!==49)break;i.z=n.double();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,w:Y(e.w)?globalThis.Number(e.w):0,x:Y(e.x)?globalThis.Number(e.x):0,y:Y(e.y)?globalThis.Number(e.y):0,z:Y(e.z)?globalThis.Number(e.z):0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.w!==0&&(t.w=e.w),e.x!==0&&(t.x=e.x),e.y!==0&&(t.y=e.y),e.z!==0&&(t.z=e.z),t},create(e){return PC.fromPartial(e??{})},fromPartial(e){let t=NC();return t.guid=e.guid??``,t.name=e.name??``,t.w=e.w??0,t.x=e.x??0,t.y=e.y??0,t.z=e.z??0,t}};function FC(){return{guid:``,name:``,start:void 0,end:void 0}}var IC={encode(e,t=new gS){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.start!==void 0&&EC.encode(e.start,t.uint32(26).fork()).join(),e.end!==void 0&&EC.encode(e.end,t.uint32(34).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=FC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==26)break;i.start=EC.decode(n,n.uint32());continue;case 4:if(e!==34)break;i.end=EC.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,start:Y(e.start)?EC.fromJSON(e.start):void 0,end:Y(e.end)?EC.fromJSON(e.end):void 0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.start!==void 0&&(t.start=EC.toJSON(e.start)),e.end!==void 0&&(t.end=EC.toJSON(e.end)),t},create(e){return IC.fromPartial(e??{})},fromPartial(e){let t=FC();return t.guid=e.guid??``,t.name=e.name??``,t.start=e.start!==void 0&&e.start!==null?EC.fromPartial(e.start):void 0,t.end=e.end!==void 0&&e.end!==null?EC.fromPartial(e.end):void 0,t}};function LC(){return{guid:``,name:``,radius:0,frame:void 0}}var RC={encode(e,t=new gS){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.radius!==0&&t.uint32(25).double(e.radius),e.frame!==void 0&&AC.encode(e.frame,t.uint32(34).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=LC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==25)break;i.radius=n.double();continue;case 4:if(e!==34)break;i.frame=AC.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,radius:Y(e.radius)?globalThis.Number(e.radius):0,frame:Y(e.frame)?AC.fromJSON(e.frame):void 0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.radius!==0&&(t.radius=e.radius),e.frame!==void 0&&(t.frame=AC.toJSON(e.frame)),t},create(e){return RC.fromPartial(e??{})},fromPartial(e){let t=LC();return t.guid=e.guid??``,t.name=e.name??``,t.radius=e.radius??0,t.frame=e.frame!==void 0&&e.frame!==null?AC.fromPartial(e.frame):void 0,t}};function zC(){return{guid:``,name:``,circle:void 0,startAngle:0,endAngle:0}}var BC={encode(e,t=new gS){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.circle!==void 0&&RC.encode(e.circle,t.uint32(26).fork()).join(),e.startAngle!==0&&t.uint32(33).double(e.startAngle),e.endAngle!==0&&t.uint32(41).double(e.endAngle),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=zC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==26)break;i.circle=RC.decode(n,n.uint32());continue;case 4:if(e!==33)break;i.startAngle=n.double();continue;case 5:if(e!==41)break;i.endAngle=n.double();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,circle:Y(e.circle)?RC.fromJSON(e.circle):void 0,startAngle:Y(e.startAngle)?globalThis.Number(e.startAngle):Y(e.start_angle)?globalThis.Number(e.start_angle):0,endAngle:Y(e.endAngle)?globalThis.Number(e.endAngle):Y(e.end_angle)?globalThis.Number(e.end_angle):0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.circle!==void 0&&(t.circle=RC.toJSON(e.circle)),e.startAngle!==0&&(t.startAngle=e.startAngle),e.endAngle!==0&&(t.endAngle=e.endAngle),t},create(e){return BC.fromPartial(e??{})},fromPartial(e){let t=zC();return t.guid=e.guid??``,t.name=e.name??``,t.circle=e.circle!==void 0&&e.circle!==null?RC.fromPartial(e.circle):void 0,t.startAngle=e.startAngle??0,t.endAngle=e.endAngle??0,t}};function VC(){return{guid:``,name:``,major:0,minor:0,frame:void 0}}var HC={encode(e,t=new gS){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.major!==0&&t.uint32(25).double(e.major),e.minor!==0&&t.uint32(33).double(e.minor),e.frame!==void 0&&AC.encode(e.frame,t.uint32(42).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=VC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==25)break;i.major=n.double();continue;case 4:if(e!==33)break;i.minor=n.double();continue;case 5:if(e!==42)break;i.frame=AC.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,major:Y(e.major)?globalThis.Number(e.major):0,minor:Y(e.minor)?globalThis.Number(e.minor):0,frame:Y(e.frame)?AC.fromJSON(e.frame):void 0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.major!==0&&(t.major=e.major),e.minor!==0&&(t.minor=e.minor),e.frame!==void 0&&(t.frame=AC.toJSON(e.frame)),t},create(e){return HC.fromPartial(e??{})},fromPartial(e){let t=VC();return t.guid=e.guid??``,t.name=e.name??``,t.major=e.major??0,t.minor=e.minor??0,t.frame=e.frame!==void 0&&e.frame!==null?AC.fromPartial(e.frame):void 0,t}};function UC(){return{guid:``,name:``,focal:0,frame:void 0}}var WC={encode(e,t=new gS){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.focal!==0&&t.uint32(25).double(e.focal),e.frame!==void 0&&AC.encode(e.frame,t.uint32(34).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=UC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==25)break;i.focal=n.double();continue;case 4:if(e!==34)break;i.frame=AC.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,focal:Y(e.focal)?globalThis.Number(e.focal):0,frame:Y(e.frame)?AC.fromJSON(e.frame):void 0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.focal!==0&&(t.focal=e.focal),e.frame!==void 0&&(t.frame=AC.toJSON(e.frame)),t},create(e){return WC.fromPartial(e??{})},fromPartial(e){let t=UC();return t.guid=e.guid??``,t.name=e.name??``,t.focal=e.focal??0,t.frame=e.frame!==void 0&&e.frame!==null?AC.fromPartial(e.frame):void 0,t}};function GC(){return{guid:``,name:``,major:0,minor:0,frame:void 0}}var KC={encode(e,t=new gS){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.major!==0&&t.uint32(25).double(e.major),e.minor!==0&&t.uint32(33).double(e.minor),e.frame!==void 0&&AC.encode(e.frame,t.uint32(42).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=GC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==25)break;i.major=n.double();continue;case 4:if(e!==33)break;i.minor=n.double();continue;case 5:if(e!==42)break;i.frame=AC.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,major:Y(e.major)?globalThis.Number(e.major):0,minor:Y(e.minor)?globalThis.Number(e.minor):0,frame:Y(e.frame)?AC.fromJSON(e.frame):void 0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.major!==0&&(t.major=e.major),e.minor!==0&&(t.minor=e.minor),e.frame!==void 0&&(t.frame=AC.toJSON(e.frame)),t},create(e){return KC.fromPartial(e??{})},fromPartial(e){let t=GC();return t.guid=e.guid??``,t.name=e.name??``,t.major=e.major??0,t.minor=e.minor??0,t.frame=e.frame!==void 0&&e.frame!==null?AC.fromPartial(e.frame):void 0,t}};function qC(){return{guid:``,name:``,points:[],degree:0}}var JC={encode(e,t=new gS){e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),t.uint32(26).fork();for(let n of e.points)t.double(n);return t.join(),e.degree!==0&&t.uint32(32).int32(e.degree),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=qC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e===25){i.points.push(n.double());continue}if(e===26){let e=n.uint32()+n.pos;for(;n.posglobalThis.Number(e)):[],degree:Y(e.degree)?globalThis.Number(e.degree):0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.points?.length&&(t.points=e.points),e.degree!==0&&(t.degree=Math.round(e.degree)),t},create(e){return JC.fromPartial(e??{})},fromPartial(e){let t=qC();return t.guid=e.guid??``,t.name=e.name??``,t.points=e.points?.map(e=>e)||[],t.degree=e.degree??0,t}};function YC(){return{guid:``,name:``,points:[]}}var XC={encode(e,t=new gS){e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),t.uint32(26).fork();for(let n of e.points)t.double(n);return t.join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=YC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e===25){i.points.push(n.double());continue}if(e===26){let e=n.uint32()+n.pos;for(;n.posglobalThis.Number(e)):[]}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.points?.length&&(t.points=e.points),t},create(e){return XC.fromPartial(e??{})},fromPartial(e){let t=YC();return t.guid=e.guid??``,t.name=e.name??``,t.points=e.points?.map(e=>e)||[],t}};function ZC(){return{guid:``,name:``,points:[]}}var QC={encode(e,t=new gS){e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),t.uint32(26).fork();for(let n of e.points)t.double(n);return t.join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=ZC();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e===25){i.points.push(n.double());continue}if(e===26){let e=n.uint32()+n.pos;for(;n.posglobalThis.Number(e)):[]}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.points?.length&&(t.points=e.points),t},create(e){return QC.fromPartial(e??{})},fromPartial(e){let t=ZC();return t.guid=e.guid??``,t.name=e.name??``,t.points=e.points?.map(e=>e)||[],t}};function $C(){return{guid:``,name:``,frame:void 0,xsize:0,ysize:0,zsize:0}}var ew={encode(e,t=new gS){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.frame!==void 0&&AC.encode(e.frame,t.uint32(26).fork()).join(),e.xsize!==0&&t.uint32(33).double(e.xsize),e.ysize!==0&&t.uint32(41).double(e.ysize),e.zsize!==0&&t.uint32(49).double(e.zsize),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=$C();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==26)break;i.frame=AC.decode(n,n.uint32());continue;case 4:if(e!==33)break;i.xsize=n.double();continue;case 5:if(e!==41)break;i.ysize=n.double();continue;case 6:if(e!==49)break;i.zsize=n.double();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,frame:Y(e.frame)?AC.fromJSON(e.frame):void 0,xsize:Y(e.xsize)?globalThis.Number(e.xsize):0,ysize:Y(e.ysize)?globalThis.Number(e.ysize):0,zsize:Y(e.zsize)?globalThis.Number(e.zsize):0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.frame!==void 0&&(t.frame=AC.toJSON(e.frame)),e.xsize!==0&&(t.xsize=e.xsize),e.ysize!==0&&(t.ysize=e.ysize),e.zsize!==0&&(t.zsize=e.zsize),t},create(e){return ew.fromPartial(e??{})},fromPartial(e){let t=$C();return t.guid=e.guid??``,t.name=e.name??``,t.frame=e.frame!==void 0&&e.frame!==null?AC.fromPartial(e.frame):void 0,t.xsize=e.xsize??0,t.ysize=e.ysize??0,t.zsize=e.zsize??0,t}};function tw(){return{guid:``,name:``,radius:0,frame:void 0}}var nw={encode(e,t=new gS){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.radius!==0&&t.uint32(25).double(e.radius),e.frame!==void 0&&AC.encode(e.frame,t.uint32(34).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=tw();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==25)break;i.radius=n.double();continue;case 4:if(e!==34)break;i.frame=AC.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,radius:Y(e.radius)?globalThis.Number(e.radius):0,frame:Y(e.frame)?AC.fromJSON(e.frame):void 0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.radius!==0&&(t.radius=e.radius),e.frame!==void 0&&(t.frame=AC.toJSON(e.frame)),t},create(e){return nw.fromPartial(e??{})},fromPartial(e){let t=tw();return t.guid=e.guid??``,t.name=e.name??``,t.radius=e.radius??0,t.frame=e.frame!==void 0&&e.frame!==null?AC.fromPartial(e.frame):void 0,t}};function rw(){return{guid:``,name:``,radius:0,height:0,frame:void 0}}var iw={encode(e,t=new gS){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.radius!==0&&t.uint32(25).double(e.radius),e.height!==0&&t.uint32(33).double(e.height),e.frame!==void 0&&AC.encode(e.frame,t.uint32(42).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=rw();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==25)break;i.radius=n.double();continue;case 4:if(e!==33)break;i.height=n.double();continue;case 5:if(e!==42)break;i.frame=AC.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,radius:Y(e.radius)?globalThis.Number(e.radius):0,height:Y(e.height)?globalThis.Number(e.height):0,frame:Y(e.frame)?AC.fromJSON(e.frame):void 0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.radius!==0&&(t.radius=e.radius),e.height!==0&&(t.height=e.height),e.frame!==void 0&&(t.frame=AC.toJSON(e.frame)),t},create(e){return iw.fromPartial(e??{})},fromPartial(e){let t=rw();return t.guid=e.guid??``,t.name=e.name??``,t.radius=e.radius??0,t.height=e.height??0,t.frame=e.frame!==void 0&&e.frame!==null?AC.fromPartial(e.frame):void 0,t}};function aw(){return{guid:``,name:``,radius:0,height:0,frame:void 0}}var ow={encode(e,t=new gS){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.radius!==0&&t.uint32(25).double(e.radius),e.height!==0&&t.uint32(33).double(e.height),e.frame!==void 0&&AC.encode(e.frame,t.uint32(42).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=aw();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==25)break;i.radius=n.double();continue;case 4:if(e!==33)break;i.height=n.double();continue;case 5:if(e!==42)break;i.frame=AC.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,radius:Y(e.radius)?globalThis.Number(e.radius):0,height:Y(e.height)?globalThis.Number(e.height):0,frame:Y(e.frame)?AC.fromJSON(e.frame):void 0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.radius!==0&&(t.radius=e.radius),e.height!==0&&(t.height=e.height),e.frame!==void 0&&(t.frame=AC.toJSON(e.frame)),t},create(e){return ow.fromPartial(e??{})},fromPartial(e){let t=aw();return t.guid=e.guid??``,t.name=e.name??``,t.radius=e.radius??0,t.height=e.height??0,t.frame=e.frame!==void 0&&e.frame!==null?AC.fromPartial(e.frame):void 0,t}};function sw(){return{guid:``,name:``,radius:0,height:0,frame:void 0}}var cw={encode(e,t=new gS){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.radius!==0&&t.uint32(25).double(e.radius),e.height!==0&&t.uint32(33).double(e.height),e.frame!==void 0&&AC.encode(e.frame,t.uint32(42).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=sw();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==25)break;i.radius=n.double();continue;case 4:if(e!==33)break;i.height=n.double();continue;case 5:if(e!==42)break;i.frame=AC.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,radius:Y(e.radius)?globalThis.Number(e.radius):0,height:Y(e.height)?globalThis.Number(e.height):0,frame:Y(e.frame)?AC.fromJSON(e.frame):void 0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.radius!==0&&(t.radius=e.radius),e.height!==0&&(t.height=e.height),e.frame!==void 0&&(t.frame=AC.toJSON(e.frame)),t},create(e){return cw.fromPartial(e??{})},fromPartial(e){let t=sw();return t.guid=e.guid??``,t.name=e.name??``,t.radius=e.radius??0,t.height=e.height??0,t.frame=e.frame!==void 0&&e.frame!==null?AC.fromPartial(e.frame):void 0,t}};function lw(){return{guid:``,name:``,radiusAxis:0,radiusPipe:0,frame:void 0}}var uw={encode(e,t=new gS){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.radiusAxis!==0&&t.uint32(25).double(e.radiusAxis),e.radiusPipe!==0&&t.uint32(33).double(e.radiusPipe),e.frame!==void 0&&AC.encode(e.frame,t.uint32(42).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=lw();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==25)break;i.radiusAxis=n.double();continue;case 4:if(e!==33)break;i.radiusPipe=n.double();continue;case 5:if(e!==42)break;i.frame=AC.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,radiusAxis:Y(e.radiusAxis)?globalThis.Number(e.radiusAxis):Y(e.radius_axis)?globalThis.Number(e.radius_axis):0,radiusPipe:Y(e.radiusPipe)?globalThis.Number(e.radiusPipe):Y(e.radius_pipe)?globalThis.Number(e.radius_pipe):0,frame:Y(e.frame)?AC.fromJSON(e.frame):void 0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.radiusAxis!==0&&(t.radiusAxis=e.radiusAxis),e.radiusPipe!==0&&(t.radiusPipe=e.radiusPipe),e.frame!==void 0&&(t.frame=AC.toJSON(e.frame)),t},create(e){return uw.fromPartial(e??{})},fromPartial(e){let t=lw();return t.guid=e.guid??``,t.name=e.name??``,t.radiusAxis=e.radiusAxis??0,t.radiusPipe=e.radiusPipe??0,t.frame=e.frame!==void 0&&e.frame!==null?AC.fromPartial(e.frame):void 0,t}};function dw(){return{guid:``,name:``,points:[]}}var fw={encode(e,t=new gS){e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),t.uint32(26).fork();for(let n of e.points)t.double(n);return t.join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=dw();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e===25){i.points.push(n.double());continue}if(e===26){let e=n.uint32()+n.pos;for(;n.posglobalThis.Number(e)):[]}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.points?.length&&(t.points=e.points),t},create(e){return fw.fromPartial(e??{})},fromPartial(e){let t=dw();return t.guid=e.guid??``,t.name=e.name??``,t.points=e.points?.map(e=>e)||[],t}};function pw(){return{guid:``,name:``,matrix:[]}}var mw={encode(e,t=new gS){e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),t.uint32(26).fork();for(let n of e.matrix)t.double(n);return t.join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=pw();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e===25){i.matrix.push(n.double());continue}if(e===26){let e=n.uint32()+n.pos;for(;n.posglobalThis.Number(e)):[]}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.matrix?.length&&(t.matrix=e.matrix),t},create(e){return mw.fromPartial(e??{})},fromPartial(e){let t=pw();return t.guid=e.guid??``,t.name=e.name??``,t.matrix=e.matrix?.map(e=>e)||[],t}};function hw(){return{guid:``,name:``,translationVector:void 0}}var gw={encode(e,t=new gS){return e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),e.translationVector!==void 0&&OC.encode(e.translationVector,t.uint32(26).fork()).join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=hw();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==26)break;i.translationVector=OC.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},fromJSON(e){return{guid:Y(e.guid)?globalThis.String(e.guid):``,name:Y(e.name)?globalThis.String(e.name):``,translationVector:Y(e.translationVector)?OC.fromJSON(e.translationVector):Y(e.translation_vector)?OC.fromJSON(e.translation_vector):void 0}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.translationVector!==void 0&&(t.translationVector=OC.toJSON(e.translationVector)),t},create(e){return gw.fromPartial(e??{})},fromPartial(e){let t=hw();return t.guid=e.guid??``,t.name=e.name??``,t.translationVector=e.translationVector!==void 0&&e.translationVector!==null?OC.fromPartial(e.translationVector):void 0,t}};function _w(){return{guid:``,name:``,matrix:[]}}var vw={encode(e,t=new gS){e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),t.uint32(26).fork();for(let n of e.matrix)t.double(n);return t.join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=_w();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e===25){i.matrix.push(n.double());continue}if(e===26){let e=n.uint32()+n.pos;for(;n.posglobalThis.Number(e)):[]}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.matrix?.length&&(t.matrix=e.matrix),t},create(e){return vw.fromPartial(e??{})},fromPartial(e){let t=_w();return t.guid=e.guid??``,t.name=e.name??``,t.matrix=e.matrix?.map(e=>e)||[],t}};function yw(){return{guid:``,name:``,matrix:[]}}var bw={encode(e,t=new gS){e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),t.uint32(26).fork();for(let n of e.matrix)t.double(n);return t.join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=yw();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e===25){i.matrix.push(n.double());continue}if(e===26){let e=n.uint32()+n.pos;for(;n.posglobalThis.Number(e)):[]}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.matrix?.length&&(t.matrix=e.matrix),t},create(e){return bw.fromPartial(e??{})},fromPartial(e){let t=yw();return t.guid=e.guid??``,t.name=e.name??``,t.matrix=e.matrix?.map(e=>e)||[],t}};function xw(){return{guid:``,name:``,matrix:[]}}var Sw={encode(e,t=new gS){e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),t.uint32(26).fork();for(let n of e.matrix)t.double(n);return t.join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=xw();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e===25){i.matrix.push(n.double());continue}if(e===26){let e=n.uint32()+n.pos;for(;n.posglobalThis.Number(e)):[]}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.matrix?.length&&(t.matrix=e.matrix),t},create(e){return Sw.fromPartial(e??{})},fromPartial(e){let t=xw();return t.guid=e.guid??``,t.name=e.name??``,t.matrix=e.matrix?.map(e=>e)||[],t}};function Cw(){return{guid:``,name:``,matrix:[]}}var ww={encode(e,t=new gS){e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),t.uint32(26).fork();for(let n of e.matrix)t.double(n);return t.join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=Cw();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e===25){i.matrix.push(n.double());continue}if(e===26){let e=n.uint32()+n.pos;for(;n.posglobalThis.Number(e)):[]}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.matrix?.length&&(t.matrix=e.matrix),t},create(e){return ww.fromPartial(e??{})},fromPartial(e){let t=Cw();return t.guid=e.guid??``,t.name=e.name??``,t.matrix=e.matrix?.map(e=>e)||[],t}};function Tw(){return{guid:``,name:``,matrix:[]}}var Ew={encode(e,t=new gS){e.guid!==``&&t.uint32(10).string(e.guid),e.name!==``&&t.uint32(18).string(e.name),t.uint32(26).fork();for(let n of e.matrix)t.double(n);return t.join(),t},decode(e,t){let n=e instanceof q?e:new q(e),r=t===void 0?n.len:n.pos+t,i=Tw();for(;n.pos>>3){case 1:if(e!==10)break;i.guid=n.string();continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e===25){i.matrix.push(n.double());continue}if(e===26){let e=n.uint32()+n.pos;for(;n.posglobalThis.Number(e)):[]}},toJSON(e){let t={};return e.guid!==``&&(t.guid=e.guid),e.name!==``&&(t.name=e.name),e.matrix?.length&&(t.matrix=e.matrix),t},create(e){return Ew.fromPartial(e??{})},fromPartial(e){let t=Tw();return t.guid=e.guid??``,t.name=e.name??``,t.matrix=e.matrix?.map(e=>e)||[],t}};function Y(e){return e!=null}var Dw=class{data;constructor(e){let t;if(t=`bytes`in e?Ow(e.bytes):e.data,t.x===void 0||t.y===void 0||t.z===void 0)throw Error(`Invalid PointData: Missing required properties (x, y, or z).`);this.data=t}get bytes(){return kw(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get x(){return this.data.x}get y(){return this.data.y}get z(){return this.data.z}};function Ow(e){return EC.decode(e)}function kw(e){return EC.encode(e).finish()}function Aw(e){if(e.length%3!=0)throw Error(`Invalid coordinate array: expected x, y, z triplets.`);let t=[];for(let n=0;ne+t,0);if(t.vertices.length%3!=0||n!==t.faceVertices.length)throw Error(`Invalid MeshData: malformed vertices or face arrays.`);this.data=t}get bytes(){return Hw(this.data)}get guid(){return this.data.guid?this.data.guid:``}get name(){return this.data.name?this.data.name:``}get vertices(){return this._vertices||=Aw(this.data.vertices),this._vertices}get faces(){let e=[],t=0;for(let n of this.data.faceSizes){let r=this.data.faceVertices.slice(t,t+n);e.push(new Lw({data:{indices:r}})),t+=n}return e}};function Vw(e){return tC.decode(e)}function Hw(e){return tC.encode(e).finish()}var Uw=class{data;constructor(e){this.data=`bytes`in e?Ww(e.bytes):e.data}get bytes(){return Gw(this.data)}get guid(){return this.data.guid||``}get name(){return this.data.name||``}get nodeKeys(){return this.data.nodeKeys.map(jE)}};function Ww(e){return hC.decode(e)}function Gw(e){return hC.encode(e).finish()}var Kw=class{data;constructor(e){let t;if(t=`bytes`in e?qw(e.bytes):e.data,t.x===void 0||t.y===void 0||t.z===void 0)throw Error(`Invalid VectorData: Missing required properties (x, y, or z).`);this.data=t}get bytes(){return Jw(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get x(){return this.data.x}get y(){return this.data.y}get z(){return this.data.z}};function qw(e){return OC.decode(e)}function Jw(e){return OC.encode(e).finish()}var Yw=class{data;_point;_xaxis;_yaxis;constructor(e){let t;if(t=`bytes`in e?Xw(e.bytes):e.data,!t.point||!t.xaxis||!t.yaxis)throw Error(`Invalid FrameData: Missing required properties (point, xaxis, or yaxis).`);this.data=t}get bytes(){return Zw(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get point(){return this._point||=new Dw({data:this.data.point}),this._point}get xaxis(){return this._xaxis||=new Kw({data:this.data.xaxis}),this._xaxis}get yaxis(){return this._yaxis||=new Kw({data:this.data.yaxis}),this._yaxis}};function Xw(e){return AC.decode(e)}function Zw(e){return AC.encode(e).finish()}var Qw=class{data;_frame;constructor(e){let t;if(t=`bytes`in e?$w(e.bytes):e.data,!t.radius||!t.frame)throw Error(`Invalid CircleData: Missing required properties (radius or frame).`);this.data=t}get bytes(){return eT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get radius(){return this.data.radius}get frame(){return this._frame||=new Yw({data:this.data.frame}),this._frame}};function $w(e){return RC.decode(e)}function eT(e){return RC.encode(e).finish()}var tT=class{data;_circle;constructor(e){let t;if(t=`bytes`in e?nT(e.bytes):e.data,!t.startAngle||!t.endAngle||!t.circle)throw Error(`Invalid ArcData: Missing required properties (startAngle, endAngle, or circle).`);this.data=t}get bytes(){return rT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get startAngle(){return this.data.startAngle}get endAngle(){return this.data.endAngle}get circle(){return this._circle||=new Qw({data:this.data.circle}),this._circle}};function nT(e){return BC.decode(e)}function rT(e){return BC.encode(e).finish()}var iT=class{data;_points;constructor(e){let t;if(t=`bytes`in e?aT(e.bytes):e.data,!t.points||t.points.length===0)throw Error(`Invalid BezierData: Missing required property points.`);this.data=t}get bytes(){return oT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get points(){return this._points||=Aw(this.data.points),this._points}};function aT(e){return JC.decode(e)}function oT(e){return JC.encode(e).finish()}var sT=class{data;_frame;constructor(e){let t;if(t=`bytes`in e?cT(e.bytes):e.data,!t.xsize||!t.ysize||!t.zsize||!t.frame)throw Error(`Invalid BoxData: Missing required properties (xsize, ysize, zsize, or frame).`);this.data=t}get bytes(){return lT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get xsize(){return this.data.xsize}get ysize(){return this.data.ysize}get zsize(){return this.data.zsize}get frame(){return this._frame||=new Yw({data:this.data.frame}),this._frame}};function cT(e){return ew.decode(e)}function lT(e){return ew.encode(e).finish()}var uT=class{data;_frame;constructor(e){let t;if(t=`bytes`in e?dT(e.bytes):e.data,!t.radius||!t.height||!t.frame)throw Error(`Invalid CapsuleData: Missing required properties (radius, height, or frame).`);this.data=t}get bytes(){return fT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get radius(){return this.data.radius}get height(){return this.data.height}get frame(){return this._frame||=new Yw({data:this.data.frame}),this._frame}};function dT(e){return cw.decode(e)}function fT(e){return cw.encode(e).finish()}var pT=class{data;_frame;constructor(e){let t;if(t=`bytes`in e?mT(e.bytes):e.data,!t.radius||!t.height||!t.frame)throw Error(`Invalid ConeData: Missing required properties (radius, height, or frame).`);this.data=t}get bytes(){return hT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get radius(){return this.data.radius}get height(){return this.data.height}get frame(){return this._frame||=new Yw({data:this.data.frame}),this._frame}};function mT(e){return ow.decode(e)}function hT(e){return ow.encode(e).finish()}var gT=class{data;_frame;constructor(e){let t;if(t=`bytes`in e?_T(e.bytes):e.data,!t.radius||!t.height||!t.frame)throw Error(`Invalid CylinderData: Missing required properties (radius, height, or frame).`);this.data=t}get bytes(){return vT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get radius(){return this.data.radius}get height(){return this.data.height}get frame(){return this._frame||=new Yw({data:this.data.frame}),this._frame}};function _T(e){return iw.decode(e)}function vT(e){return iw.encode(e).finish()}var yT=class{data;_frame;constructor(e){let t;if(t=`bytes`in e?bT(e.bytes):e.data,!t.major||!t.minor||!t.frame)throw Error(`Invalid EllipseData: Missing required properties (major, minor, or frame).`);this.data=t}get bytes(){return xT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get major(){return this.data.major}get minor(){return this.data.minor}get frame(){return this._frame||=new Yw({data:this.data.frame}),this._frame}};function bT(e){return HC.decode(e)}function xT(e){return HC.encode(e).finish()}var ST=class{data;_frame;constructor(e){let t;if(t=`bytes`in e?CT(e.bytes):e.data,!t.major||!t.minor||!t.frame)throw Error(`Invalid HyperbolaData: Missing required properties (a, b, or frame).`);this.data=t}get bytes(){return wT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get major(){return this.data.major}get minor(){return this.data.minor}get frame(){return this._frame||=new Yw({data:this.data.frame}),this._frame}};function CT(e){return KC.decode(e)}function wT(e){return KC.encode(e).finish()}var TT=class{data;_start;_end;constructor(e){let t;if(t=`bytes`in e?ET(e.bytes):e.data,!t.start||!t.end)throw Error(`Invalid LineData: Missing required properties (start or end).`);this.data=t}get bytes(){return DT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get start(){return this._start||=new Dw({data:this.data.start}),this._start}get end(){return this._end||=new Dw({data:this.data.end}),this._end}};function ET(e){return IC.decode(e)}function DT(e){return IC.encode(e).finish()}var OT=class{data;_frame;constructor(e){let t;if(t=`bytes`in e?kT(e.bytes):e.data,!t.focal||!t.frame)throw Error(`Invalid ParabolaData: Missing required properties (focal_length or frame).`);this.data=t}get bytes(){return AT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get focal(){return this.data.focal}get frame(){return this._frame||=new Yw({data:this.data.frame}),this._frame}};function kT(e){return WC.decode(e)}function AT(e){return WC.encode(e).finish()}var jT=class{data;_point;_normal;constructor(e){let t;if(t=`bytes`in e?MT(e.bytes):e.data,!t.point||!t.normal)throw Error(`Invalid PlaneData: Missing required properties (point or normal).`);this.data=t}get bytes(){return NT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get point(){return this._point||=new Dw({data:this.data.point}),this._point}get normal(){return this._normal||=new Kw({data:this.data.normal}),this._normal}};function MT(e){return MC.decode(e)}function NT(e){return MC.encode(e).finish()}var PT=class{data;_points;constructor(e){let t;if(t=`bytes`in e?FT(e.bytes):e.data,!t.points||t.points.length===0)throw Error(`Invalid PointcloudData: Missing required property points.`);this.data=t}get bytes(){return IT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get points(){return this._points||=Aw(this.data.points),this._points}};function FT(e){return fw.decode(e)}function IT(e){return fw.encode(e).finish()}var LT=class{data;_points;constructor(e){let t;if(t=`bytes`in e?RT(e.bytes):e.data,!t.points||t.points.length===0)throw Error(`Invalid PolygonData: Missing required property points.`);this.data=t}get bytes(){return zT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get points(){return this._points||=Aw(this.data.points),this._points}};function RT(e){return QC.decode(e)}function zT(e){return QC.encode(e).finish()}var BT=class{data;_points;constructor(e){let t;if(t=`bytes`in e?VT(e.bytes):e.data,!t.points||t.points.length===0)throw Error(`Invalid PolylineData: Missing required property points.`);this.data=t}get bytes(){return HT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get points(){return this._points||=Aw(this.data.points),this._points}};function VT(e){return XC.decode(e)}function HT(e){return XC.encode(e).finish()}var UT=class{data;constructor(e){let t;if(t=`bytes`in e?WT(e.bytes):e.data,!t.matrix)throw Error(`Invalid ProjectionData: Missing required properties (direction).`);this.data=t}get bytes(){return GT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get matrix(){return this.data.matrix}};function WT(e){return Ew.decode(e)}function GT(e){return Ew.encode(e).finish()}var KT=class{data;constructor(e){let t;if(t=`bytes`in e?qT(e.bytes):e.data,!t.w||!t.x||!t.y||!t.z)throw Error(`Invalid QuaternionData: Missing required properties (w, x, y, or z).`);this.data=t}get bytes(){return JT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get w(){return this.data.w}get x(){return this.data.x}get y(){return this.data.y}get z(){return this.data.z}};function qT(e){return PC.decode(e)}function JT(e){return PC.encode(e).finish()}var YT=class{data;constructor(e){let t;if(t=`bytes`in e?XT(e.bytes):e.data,!t.matrix)throw Error(`Invalid ReflectionData: Missing required properties (frame).`);this.data=t}get bytes(){return ZT(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get matrix(){return this.data.matrix}};function XT(e){return Sw.decode(e)}function ZT(e){return Sw.encode(e).finish()}var QT=class{data;constructor(e){let t;if(t=`bytes`in e?$T(e.bytes):e.data,t.matrix.length!==16)throw Error(`Invalid RotationData: matrix must contain 16 values.`);this.data=t}get bytes(){return eE(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get matrix(){return this.data.matrix}};function $T(e){return vw.decode(e)}function eE(e){return vw.encode(e).finish()}var tE=class{data;constructor(e){let t;if(t=`bytes`in e?nE(e.bytes):e.data,!t.matrix)throw Error(`Invalid ScaleData: Missing required properties (factor or frame).`);this.data=t}get bytes(){return rE(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get matrix(){return this.data.matrix}};function nE(e){return bw.decode(e)}function rE(e){return bw.encode(e).finish()}var iE=class{data;constructor(e){let t;if(t=`bytes`in e?aE(e.bytes):e.data,!t.matrix)throw Error(`Invalid ShearData: Missing required properties (matrix).`);this.data=t}get bytes(){return oE(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get matrix(){return this.data.matrix}};function aE(e){return ww.decode(e)}function oE(e){return ww.encode(e).finish()}var sE=class{data;_frame;constructor(e){let t;if(t=`bytes`in e?cE(e.bytes):e.data,!t.radius||!t.frame)throw Error(`Invalid SphereData: Missing required properties (radius or frame).`);this.data=t}get bytes(){return lE(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get radius(){return this.data.radius}get frame(){return this._frame||=new Yw({data:this.data.frame}),this._frame}};function cE(e){return nw.decode(e)}function lE(e){return nw.encode(e).finish()}var uE=class{data;_frame;constructor(e){let t;if(t=`bytes`in e?dE(e.bytes):e.data,!t.radiusAxis||!t.radiusPipe||!t.frame)throw Error(`Invalid TorusData: Missing required properties (major, minor, or frame).`);this.data=t}get bytes(){return fE(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get radiusAxis(){return this.data.radiusAxis}get radiusPipe(){return this.data.radiusPipe}get frame(){return this._frame||=new Yw({data:this.data.frame}),this._frame}};function dE(e){return uw.decode(e)}function fE(e){return uw.encode(e).finish()}var pE=class{data;constructor(e){let t;t=`bytes`in e?mE(e.bytes):e.data,this.data=t}get bytes(){return hE(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get matrix(){return this.data.matrix}};function mE(e){return mw.decode(e)}function hE(e){return mw.encode(e).finish()}var gE=class{data;_translationVector;constructor(e){let t;if(t=`bytes`in e?_E(e.bytes):e.data,!t.translationVector)throw Error(`Invalid TranslationData: Missing required properties (vector or frame).`);this.data=t}get bytes(){return vE(this.data)}get guid(){return this.data.guid}get name(){return this.data.name}get translationVector(){return this._translationVector||=new Kw({data:this.data.translationVector}),this._translationVector}};function _E(e){return gw.decode(e)}function vE(e){return gw.encode(e).finish()}var yE=class{data;constructor(e){let t;t=`bytes`in e?bE(e.bytes):e.data,this.data=t}get bytes(){return xE(this.data)}get asDict(){return FE(this.data)}};function bE(e){return WS.decode(e)}function xE(e){return WS.encode(e).finish()}var SE=class{data;constructor(e){let t;t=`bytes`in e?CE(e.bytes):e.data,this.data=t}get bytes(){return wE(this.data)}get asList(){return PE(this.data)}};function CE(e){return HS.decode(e)}function wE(e){return HS.encode(e).finish()}var TE=new Map([[`ArcData`,tT],[`BezierData`,iT],[`BoxData`,sT],[`CapsuleData`,uT],[`CircleData`,Qw],[`ConeData`,pT],[`CylinderData`,gT],[`EllipseData`,yT],[`FrameData`,Yw],[`HyperbolaData`,ST],[`LineData`,TT],[`ParabolaData`,OT],[`PlaneData`,jT],[`PointData`,Dw],[`PointcloudData`,PT],[`PolygonData`,LT],[`PolylineData`,BT],[`ProjectionData`,UT],[`QuaternionData`,KT],[`ReflectionData`,YT],[`RotationData`,QT],[`ScaleData`,tE],[`ShearData`,iE],[`SphereData`,sE],[`TorusData`,uE],[`TransformationData`,pE],[`TranslationData`,gE],[`VectorData`,Kw],[`MeshData`,Bw],[`PolyhedronData`,Pw],[`GraphData`,Uw],[`DictData`,yE],[`ListData`,SE]]),EE=`1.0.0`;function DE(e){return jE(OE(e))}function OE(e){if(e.length===0)throw Error(`Binary data is empty.`);let t=JS.decode(e);if(AE(t.version),!t.data)throw Error(`Message contains no data.`);return t.data}function kE(e){let t=e.split(`.`);return t[0]===`0`&&t.length>=2?`${t[0]}.${t[1]}`:t[0]}function AE(e){if(!e)throw Error(`No version tag in the message; cannot verify compas_pb wire-format compatibility (reader is ${EE}).`);if(kE(e)!==kE(`1.0.0`))throw Error(`Incompatible compas_pb wire format: message was written by version ${e} but this reader is ${EE}.`)}function jE(e){if(e.value!==void 0)return ME(e.value);if(e.intValue!==void 0)return e.intValue;if(e.doubleValue!==void 0)return e.doubleValue;if(e.dictValue!==void 0)return FE(e.dictValue);if(e.listValue!==void 0)return PE(e.listValue);if(e.message!==void 0)return NE(e.message);if(e.fallback?.data!==void 0)return FE(e.fallback.data)}function ME(e){if(typeof e!=`string`||!e.startsWith(`base64:`))return e;let t=globalThis.atob(e.slice(7));return Uint8Array.from(t,e=>e.charCodeAt(0))}function NE(e){let t=e.typeUrl.split(`.`).slice(-1)[0];if(t===`ListData`)return PE(HS.decode(e.value));if(t===`DictData`)return FE(WS.decode(e.value));let n=TE.get(t);return n?new n({bytes:e.value}):null}function PE(e){return e.items.map(jE)}function FE(e){let t={};for(let n of Object.keys(e.items))t[n]=jE(e.items[n]);return t}function IE(e){return DE(e)}var LE=class{options;socket=null;retryTimer=null;stopped=!0;constructor(e){this.options=e}start(){this.stopped&&(this.stopped=!1,this.connect())}send(e){return this.socket?.readyState===WebSocket.OPEN?(this.socket.send(e instanceof ArrayBuffer||ArrayBuffer.isView(e)||typeof e==`string`?e:JSON.stringify(e)),!0):this.options.send?.(e)!==!1&&this.options.send!==void 0}dispose(){this.stopped=!0,this.retryTimer!==null&&(clearTimeout(this.retryTimer),this.retryTimer=null);let e=this.socket;this.socket=null,e&&(e.onclose=null,e.close())}connect(){if(this.stopped)return;let e=new WebSocket(this.buildUrl());this.socket=e,e.binaryType=`arraybuffer`,e.onmessage=e=>{e.data instanceof ArrayBuffer&&this.options.dispatch(new Uint8Array(e.data))},e.onerror=()=>{this.options.onError(Error(`WebSocket connection failed: ${this.buildUrl()}`))},e.onclose=()=>{this.stopped||(this.retryTimer=setTimeout(()=>this.connect(),1e3))}}buildUrl(){let e=new URLSearchParams(window.location.search),t=this.options.host??e.get(`ws_host`)??`127.0.0.1`,n=this.options.port??Number(e.get(`ws_port`)??9001),r=this.options.workspace??e.get(`workspace`)??`main`;return`${this.options.secure??window.location.protocol===`https:`?`wss`:`ws`}://${t}:${n}/ws?workspace=${encodeURIComponent(r)}`}},RE={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},zE={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},BE=1e3,VE=1001,HE=1002,UE=1003,WE=1004,GE=1005,KE=1006,qE=1007,JE=1008,YE=1009,XE=1010,ZE=1011,QE=1012,$E=1013,eD=1014,tD=1015,nD=1016,rD=1017,iD=1018,aD=1020,oD=35902,sD=35899,cD=1021,lD=1022,uD=1023,dD=1026,fD=1027,pD=1028,mD=1029,hD=1030,gD=1031,_D=1033,vD=33776,yD=33777,bD=33778,xD=33779,SD=35840,CD=35841,wD=35842,TD=35843,ED=36196,DD=37492,OD=37496,kD=37488,AD=37489,jD=37490,MD=37491,ND=37808,PD=37809,FD=37810,ID=37811,LD=37812,RD=37813,zD=37814,BD=37815,VD=37816,HD=37817,UD=37818,WD=37819,GD=37820,KD=37821,qD=36492,JD=36494,YD=36495,XD=36283,ZD=36284,QD=36285,$D=36286,eO=2300,tO=2301,nO=2302,rO=2400,iO=2401,aO=2402,oO=3200,sO=`srgb`,cO=`srgb-linear`,lO=`linear`,uO=`srgb`,dO=7680,fO=35044,pO=2e3;function mO(e){for(let t=e.length-1;t>=0;--t)if(e[t]>=65535)return!0;return!1}function hO(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function gO(e){return document.createElementNS(`http://www.w3.org/1999/xhtml`,e)}function _O(){let e=gO(`canvas`);return e.style.display=`block`,e}var vO={};function yO(...e){let t=`THREE.`+e.shift();console.log(t,...e)}function bO(...e){let t=`THREE.`+e.shift();console.warn(t,...e)}function xO(...e){let t=`THREE.`+e.shift();console.error(t,...e)}function SO(...e){let t=e.join(` `);t in vO||(vO[t]=!0,bO(...e))}function CO(e,t,n){return new Promise(function(r,i){function a(){switch(e.clientWaitSync(t,e.SYNC_FLUSH_COMMANDS_BIT,0)){case e.WAIT_FAILED:i();break;case e.TIMEOUT_EXPIRED:setTimeout(a,n);break;default:r()}}setTimeout(a,n)})}var wO=class{addEventListener(e,t){this._listeners===void 0&&(this._listeners={});let n=this._listeners;n[e]===void 0&&(n[e]=[]),n[e].indexOf(t)===-1&&n[e].push(t)}hasEventListener(e,t){let n=this._listeners;return n!==void 0&&n[e]!==void 0&&n[e].indexOf(t)!==-1}removeEventListener(e,t){let n=this._listeners;if(n===void 0)return;let r=n[e];if(r!==void 0){let e=r.indexOf(t);e!==-1&&r.splice(e,1)}}dispatchEvent(e){let t=this._listeners;if(t===void 0)return;let n=t[e.type];if(n!==void 0){e.target=this;let t=n.slice(0);for(let n=0,r=t.length;n>8&255]+TO[e>>16&255]+TO[e>>24&255]+`-`+TO[t&255]+TO[t>>8&255]+`-`+TO[t>>16&15|64]+TO[t>>24&255]+`-`+TO[n&63|128]+TO[n>>8&255]+`-`+TO[n>>16&255]+TO[n>>24&255]+TO[r&255]+TO[r>>8&255]+TO[r>>16&255]+TO[r>>24&255]).toLowerCase()}function AO(e,t,n){return Math.max(t,Math.min(n,e))}function jO(e,t){return(e%t+t)%t}function MO(e,t,n,r,i){return r+(e-t)*(i-r)/(n-t)}function NO(e,t,n){return e===t?0:(n-e)/(t-e)}function PO(e,t,n){return(1-n)*e+n*t}function FO(e,t,n,r){return PO(e,t,1-Math.exp(-n*r))}function IO(e,t=1){return t-Math.abs(jO(e,t*2)-t)}function LO(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t),e*e*(3-2*e))}function RO(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t),e*e*e*(e*(e*6-15)+10))}function zO(e,t){return e+Math.floor(Math.random()*(t-e+1))}function BO(e,t){return e+Math.random()*(t-e)}function VO(e){return e*(.5-Math.random())}function HO(e){e!==void 0&&(EO=e);let t=EO+=1831565813;return t=Math.imul(t^t>>>15,t|1),t^=t+Math.imul(t^t>>>7,t|61),((t^t>>>14)>>>0)/4294967296}function UO(e){return e*DO}function WO(e){return e*OO}function GO(e){return!(e&e-1)&&e!==0}function KO(e){return 2**Math.ceil(Math.log(e)/Math.LN2)}function qO(e){return 2**Math.floor(Math.log(e)/Math.LN2)}function JO(e,t,n,r,i){let a=Math.cos,o=Math.sin,s=a(n/2),c=o(n/2),l=a((t+r)/2),u=o((t+r)/2),d=a((t-r)/2),f=o((t-r)/2),p=a((r-t)/2),m=o((r-t)/2);switch(i){case`XYX`:e.set(s*u,c*d,c*f,s*l);break;case`YZY`:e.set(c*f,s*u,c*d,s*l);break;case`ZXZ`:e.set(c*d,c*f,s*u,s*l);break;case`XZX`:e.set(s*u,c*m,c*p,s*l);break;case`YXY`:e.set(c*p,s*u,c*m,s*l);break;case`ZYZ`:e.set(c*m,c*p,s*u,s*l);break;default:bO(`MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: `+i)}}function YO(e,t){switch(t.constructor){case Float32Array:return e;case Uint32Array:return e/4294967295;case Uint16Array:return e/65535;case Uint8Array:return e/255;case Int32Array:return Math.max(e/2147483647,-1);case Int16Array:return Math.max(e/32767,-1);case Int8Array:return Math.max(e/127,-1);default:throw Error(`Invalid component type.`)}}function XO(e,t){switch(t.constructor){case Float32Array:return e;case Uint32Array:return Math.round(e*4294967295);case Uint16Array:return Math.round(e*65535);case Uint8Array:return Math.round(e*255);case Int32Array:return Math.round(e*2147483647);case Int16Array:return Math.round(e*32767);case Int8Array:return Math.round(e*127);default:throw Error(`Invalid component type.`)}}var ZO={DEG2RAD:DO,RAD2DEG:OO,generateUUID:kO,clamp:AO,euclideanModulo:jO,mapLinear:MO,inverseLerp:NO,lerp:PO,damp:FO,pingpong:IO,smoothstep:LO,smootherstep:RO,randInt:zO,randFloat:BO,randFloatSpread:VO,seededRandom:HO,degToRad:UO,radToDeg:WO,isPowerOfTwo:GO,ceilPowerOfTwo:KO,floorPowerOfTwo:qO,setQuaternionFromProperEuler:JO,normalize:XO,denormalize:YO},X=class e{constructor(t=0,n=0){e.prototype.isVector2=!0,this.x=t,this.y=n}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw Error(`index is out of range: `+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw Error(`index is out of range: `+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){let t=this.x,n=this.y,r=e.elements;return this.x=r[0]*t+r[3]*n+r[6],this.y=r[1]*t+r[4]*n+r[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=AO(this.x,e.x,t.x),this.y=AO(this.y,e.y,t.y),this}clampScalar(e,t){return this.x=AO(this.x,e,t),this.y=AO(this.y,e,t),this}clampLength(e,t){let n=this.length();return this.divideScalar(n||1).multiplyScalar(AO(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){let t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;let n=this.dot(e)/t;return Math.acos(AO(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let t=this.x-e.x,n=this.y-e.y;return t*t+n*n}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){let n=Math.cos(t),r=Math.sin(t),i=this.x-e.x,a=this.y-e.y;return this.x=i*n-a*r+e.x,this.y=i*r+a*n+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}},QO=class{constructor(e=0,t=0,n=0,r=1){this.isQuaternion=!0,this._x=e,this._y=t,this._z=n,this._w=r}static slerpFlat(e,t,n,r,i,a,o){let s=n[r+0],c=n[r+1],l=n[r+2],u=n[r+3],d=i[a+0],f=i[a+1],p=i[a+2],m=i[a+3];if(o<=0){e[t+0]=s,e[t+1]=c,e[t+2]=l,e[t+3]=u;return}if(o>=1){e[t+0]=d,e[t+1]=f,e[t+2]=p,e[t+3]=m;return}if(u!==m||s!==d||c!==f||l!==p){let e=s*d+c*f+l*p+u*m;e<0&&(d=-d,f=-f,p=-p,m=-m,e=-e);let t=1-o;if(e<.9995){let n=Math.acos(e),r=Math.sin(n);t=Math.sin(t*n)/r,o=Math.sin(o*n)/r,s=s*t+d*o,c=c*t+f*o,l=l*t+p*o,u=u*t+m*o}else{s=s*t+d*o,c=c*t+f*o,l=l*t+p*o,u=u*t+m*o;let e=1/Math.sqrt(s*s+c*c+l*l+u*u);s*=e,c*=e,l*=e,u*=e}}e[t]=s,e[t+1]=c,e[t+2]=l,e[t+3]=u}static multiplyQuaternionsFlat(e,t,n,r,i,a){let o=n[r],s=n[r+1],c=n[r+2],l=n[r+3],u=i[a],d=i[a+1],f=i[a+2],p=i[a+3];return e[t]=o*p+l*u+s*f-c*d,e[t+1]=s*p+l*d+c*u-o*f,e[t+2]=c*p+l*f+o*d-s*u,e[t+3]=l*p-o*u-s*d-c*f,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,n,r){return this._x=e,this._y=t,this._z=n,this._w=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t=!0){let n=e._x,r=e._y,i=e._z,a=e._order,o=Math.cos,s=Math.sin,c=o(n/2),l=o(r/2),u=o(i/2),d=s(n/2),f=s(r/2),p=s(i/2);switch(a){case`XYZ`:this._x=d*l*u+c*f*p,this._y=c*f*u-d*l*p,this._z=c*l*p+d*f*u,this._w=c*l*u-d*f*p;break;case`YXZ`:this._x=d*l*u+c*f*p,this._y=c*f*u-d*l*p,this._z=c*l*p-d*f*u,this._w=c*l*u+d*f*p;break;case`ZXY`:this._x=d*l*u-c*f*p,this._y=c*f*u+d*l*p,this._z=c*l*p+d*f*u,this._w=c*l*u-d*f*p;break;case`ZYX`:this._x=d*l*u-c*f*p,this._y=c*f*u+d*l*p,this._z=c*l*p-d*f*u,this._w=c*l*u+d*f*p;break;case`YZX`:this._x=d*l*u+c*f*p,this._y=c*f*u+d*l*p,this._z=c*l*p-d*f*u,this._w=c*l*u-d*f*p;break;case`XZY`:this._x=d*l*u-c*f*p,this._y=c*f*u-d*l*p,this._z=c*l*p+d*f*u,this._w=c*l*u+d*f*p;break;default:bO(`Quaternion: .setFromEuler() encountered an unknown order: `+a)}return t===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,t){let n=t/2,r=Math.sin(n);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(e){let t=e.elements,n=t[0],r=t[4],i=t[8],a=t[1],o=t[5],s=t[9],c=t[2],l=t[6],u=t[10],d=n+o+u;if(d>0){let e=.5/Math.sqrt(d+1);this._w=.25/e,this._x=(l-s)*e,this._y=(i-c)*e,this._z=(a-r)*e}else if(n>o&&n>u){let e=2*Math.sqrt(1+n-o-u);this._w=(l-s)/e,this._x=.25*e,this._y=(r+a)/e,this._z=(i+c)/e}else if(o>u){let e=2*Math.sqrt(1+o-n-u);this._w=(i-c)/e,this._x=(r+a)/e,this._y=.25*e,this._z=(s+l)/e}else{let e=2*Math.sqrt(1+u-n-o);this._w=(a-r)/e,this._x=(i+c)/e,this._y=(s+l)/e,this._z=.25*e}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let n=e.dot(t)+1;return n<1e-8?(n=0,Math.abs(e.x)>Math.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=n):(this._x=0,this._y=-e.z,this._z=e.y,this._w=n)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=n),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(AO(this.dot(e),-1,1)))}rotateTowards(e,t){let n=this.angleTo(e);if(n===0)return this;let r=Math.min(1,t/n);return this.slerp(e,r),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x*=e,this._y*=e,this._z*=e,this._w*=e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){let n=e._x,r=e._y,i=e._z,a=e._w,o=t._x,s=t._y,c=t._z,l=t._w;return this._x=n*l+a*o+r*c-i*s,this._y=r*l+a*s+i*o-n*c,this._z=i*l+a*c+n*s-r*o,this._w=a*l-n*o-r*s-i*c,this._onChangeCallback(),this}slerp(e,t){if(t<=0)return this;if(t>=1)return this.copy(e);let n=e._x,r=e._y,i=e._z,a=e._w,o=this.dot(e);o<0&&(n=-n,r=-r,i=-i,a=-a,o=-o);let s=1-t;if(o<.9995){let e=Math.acos(o),c=Math.sin(e);s=Math.sin(s*e)/c,t=Math.sin(t*e)/c,this._x=this._x*s+n*t,this._y=this._y*s+r*t,this._z=this._z*s+i*t,this._w=this._w*s+a*t,this._onChangeCallback()}else this._x=this._x*s+n*t,this._y=this._y*s+r*t,this._z=this._z*s+i*t,this._w=this._w*s+a*t,this.normalize();return this}slerpQuaternions(e,t,n){return this.copy(e).slerp(t,n)}random(){let e=2*Math.PI*Math.random(),t=2*Math.PI*Math.random(),n=Math.random(),r=Math.sqrt(1-n),i=Math.sqrt(n);return this.set(r*Math.sin(e),r*Math.cos(e),i*Math.sin(t),i*Math.cos(t))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}},Z=class e{constructor(t=0,n=0,r=0){e.prototype.isVector3=!0,this.x=t,this.y=n,this.z=r}set(e,t,n){return n===void 0&&(n=this.z),this.x=e,this.y=t,this.z=n,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw Error(`index is out of range: `+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw Error(`index is out of range: `+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(ek.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(ek.setFromAxisAngle(e,t))}applyMatrix3(e){let t=this.x,n=this.y,r=this.z,i=e.elements;return this.x=i[0]*t+i[3]*n+i[6]*r,this.y=i[1]*t+i[4]*n+i[7]*r,this.z=i[2]*t+i[5]*n+i[8]*r,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){let t=this.x,n=this.y,r=this.z,i=e.elements,a=1/(i[3]*t+i[7]*n+i[11]*r+i[15]);return this.x=(i[0]*t+i[4]*n+i[8]*r+i[12])*a,this.y=(i[1]*t+i[5]*n+i[9]*r+i[13])*a,this.z=(i[2]*t+i[6]*n+i[10]*r+i[14])*a,this}applyQuaternion(e){let t=this.x,n=this.y,r=this.z,i=e.x,a=e.y,o=e.z,s=e.w,c=2*(a*r-o*n),l=2*(o*t-i*r),u=2*(i*n-a*t);return this.x=t+s*c+a*u-o*l,this.y=n+s*l+o*c-i*u,this.z=r+s*u+i*l-a*c,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){let t=this.x,n=this.y,r=this.z,i=e.elements;return this.x=i[0]*t+i[4]*n+i[8]*r,this.y=i[1]*t+i[5]*n+i[9]*r,this.z=i[2]*t+i[6]*n+i[10]*r,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=AO(this.x,e.x,t.x),this.y=AO(this.y,e.y,t.y),this.z=AO(this.z,e.z,t.z),this}clampScalar(e,t){return this.x=AO(this.x,e,t),this.y=AO(this.y,e,t),this.z=AO(this.z,e,t),this}clampLength(e,t){let n=this.length();return this.divideScalar(n||1).multiplyScalar(AO(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){let n=e.x,r=e.y,i=e.z,a=t.x,o=t.y,s=t.z;return this.x=r*s-i*o,this.y=i*a-n*s,this.z=n*o-r*a,this}projectOnVector(e){let t=e.lengthSq();if(t===0)return this.set(0,0,0);let n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){return $O.copy(this).projectOnVector(e),this.sub($O)}reflect(e){return this.sub($O.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){let t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;let n=this.dot(e)/t;return Math.acos(AO(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let t=this.x-e.x,n=this.y-e.y,r=this.z-e.z;return t*t+n*n+r*r}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,n){let r=Math.sin(t)*e;return this.x=r*Math.sin(n),this.y=Math.cos(t)*e,this.z=r*Math.cos(n),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,n){return this.x=e*Math.sin(t),this.y=n,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){let t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){let t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),r=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=r,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){let e=Math.random()*Math.PI*2,t=Math.random()*2-1,n=Math.sqrt(1-t*t);return this.x=n*Math.cos(e),this.y=t,this.z=n*Math.sin(e),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}},$O=new Z,ek=new QO,tk=class e{constructor(t,n,r,i,a,o,s,c,l){e.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],t!==void 0&&this.set(t,n,r,i,a,o,s,c,l)}set(e,t,n,r,i,a,o,s,c){let l=this.elements;return l[0]=e,l[1]=r,l[2]=o,l[3]=t,l[4]=i,l[5]=s,l[6]=n,l[7]=a,l[8]=c,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){let t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],this}extractBasis(e,t,n){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(e){let t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){let n=e.elements,r=t.elements,i=this.elements,a=n[0],o=n[3],s=n[6],c=n[1],l=n[4],u=n[7],d=n[2],f=n[5],p=n[8],m=r[0],h=r[3],g=r[6],_=r[1],v=r[4],y=r[7],b=r[2],x=r[5],S=r[8];return i[0]=a*m+o*_+s*b,i[3]=a*h+o*v+s*x,i[6]=a*g+o*y+s*S,i[1]=c*m+l*_+u*b,i[4]=c*h+l*v+u*x,i[7]=c*g+l*y+u*S,i[2]=d*m+f*_+p*b,i[5]=d*h+f*v+p*x,i[8]=d*g+f*y+p*S,this}multiplyScalar(e){let t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){let e=this.elements,t=e[0],n=e[1],r=e[2],i=e[3],a=e[4],o=e[5],s=e[6],c=e[7],l=e[8];return t*a*l-t*o*c-n*i*l+n*o*s+r*i*c-r*a*s}invert(){let e=this.elements,t=e[0],n=e[1],r=e[2],i=e[3],a=e[4],o=e[5],s=e[6],c=e[7],l=e[8],u=l*a-o*c,d=o*s-l*i,f=c*i-a*s,p=t*u+n*d+r*f;if(p===0)return this.set(0,0,0,0,0,0,0,0,0);let m=1/p;return e[0]=u*m,e[1]=(r*c-l*n)*m,e[2]=(o*n-r*a)*m,e[3]=d*m,e[4]=(l*t-r*s)*m,e[5]=(r*i-o*t)*m,e[6]=f*m,e[7]=(n*s-c*t)*m,e[8]=(a*t-n*i)*m,this}transpose(){let e,t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){let t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,n,r,i,a,o){let s=Math.cos(i),c=Math.sin(i);return this.set(n*s,n*c,-n*(s*a+c*o)+a+e,-r*c,r*s,-r*(-c*a+s*o)+o+t,0,0,1),this}scale(e,t){return this.premultiply(nk.makeScale(e,t)),this}rotate(e){return this.premultiply(nk.makeRotation(-e)),this}translate(e,t){return this.premultiply(nk.makeTranslation(e,t)),this}makeTranslation(e,t){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,t,0,0,1),this}makeRotation(e){let t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,n,t,0,0,0,1),this}makeScale(e,t){return this.set(e,0,0,0,t,0,0,0,1),this}equals(e){let t=this.elements,n=e.elements;for(let e=0;e<9;e++)if(t[e]!==n[e])return!1;return!0}fromArray(e,t=0){for(let n=0;n<9;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){let n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e}clone(){return new this.constructor().fromArray(this.elements)}},nk=new tk,rk=new tk().set(.4123908,.3575843,.1804808,.212639,.7151687,.0721923,.0193308,.1191948,.9505322),ik=new tk().set(3.2409699,-1.5373832,-.4986108,-.9692436,1.8759675,.0415551,.0556301,-.203977,1.0569715);function ak(){let e={enabled:!0,workingColorSpace:cO,spaces:{},convert:function(e,t,n){return this.enabled===!1||t===n||!t||!n?e:(this.spaces[t].transfer===`srgb`&&(e.r=sk(e.r),e.g=sk(e.g),e.b=sk(e.b)),this.spaces[t].primaries!==this.spaces[n].primaries&&(e.applyMatrix3(this.spaces[t].toXYZ),e.applyMatrix3(this.spaces[n].fromXYZ)),this.spaces[n].transfer===`srgb`&&(e.r=ck(e.r),e.g=ck(e.g),e.b=ck(e.b)),e)},workingToColorSpace:function(e,t){return this.convert(e,this.workingColorSpace,t)},colorSpaceToWorking:function(e,t){return this.convert(e,t,this.workingColorSpace)},getPrimaries:function(e){return this.spaces[e].primaries},getTransfer:function(e){return e===``?lO:this.spaces[e].transfer},getToneMappingMode:function(e){return this.spaces[e].outputColorSpaceConfig.toneMappingMode||`standard`},getLuminanceCoefficients:function(e,t=this.workingColorSpace){return e.fromArray(this.spaces[t].luminanceCoefficients)},define:function(e){Object.assign(this.spaces,e)},_getMatrix:function(e,t,n){return e.copy(this.spaces[t].toXYZ).multiply(this.spaces[n].fromXYZ)},_getDrawingBufferColorSpace:function(e){return this.spaces[e].outputColorSpaceConfig.drawingBufferColorSpace},_getUnpackColorSpace:function(e=this.workingColorSpace){return this.spaces[e].workingColorSpaceConfig.unpackColorSpace},fromWorkingColorSpace:function(t,n){return SO(`ColorManagement: .fromWorkingColorSpace() has been renamed to .workingToColorSpace().`),e.workingToColorSpace(t,n)},toWorkingColorSpace:function(t,n){return SO(`ColorManagement: .toWorkingColorSpace() has been renamed to .colorSpaceToWorking().`),e.colorSpaceToWorking(t,n)}},t=[.64,.33,.3,.6,.15,.06],n=[.2126,.7152,.0722],r=[.3127,.329];return e.define({[cO]:{primaries:t,whitePoint:r,transfer:lO,toXYZ:rk,fromXYZ:ik,luminanceCoefficients:n,workingColorSpaceConfig:{unpackColorSpace:sO},outputColorSpaceConfig:{drawingBufferColorSpace:sO}},[sO]:{primaries:t,whitePoint:r,transfer:uO,toXYZ:rk,fromXYZ:ik,luminanceCoefficients:n,outputColorSpaceConfig:{drawingBufferColorSpace:sO}}}),e}var ok=ak();function sk(e){return e<.04045?e*.0773993808:(e*.9478672986+.0521327014)**2.4}function ck(e){return e<.0031308?e*12.92:1.055*e**.41666-.055}var lk,uk=class{static getDataURL(e,t=`image/png`){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>`u`)return e.src;let n;if(e instanceof HTMLCanvasElement)n=e;else{lk===void 0&&(lk=gO(`canvas`)),lk.width=e.width,lk.height=e.height;let t=lk.getContext(`2d`);e instanceof ImageData?t.putImageData(e,0,0):t.drawImage(e,0,0,e.width,e.height),n=lk}return n.toDataURL(t)}static sRGBToLinear(e){if(typeof HTMLImageElement<`u`&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<`u`&&e instanceof HTMLCanvasElement||typeof ImageBitmap<`u`&&e instanceof ImageBitmap){let t=gO(`canvas`);t.width=e.width,t.height=e.height;let n=t.getContext(`2d`);n.drawImage(e,0,0,e.width,e.height);let r=n.getImageData(0,0,e.width,e.height),i=r.data;for(let e=0;e1),this.pmremVersion=0}get width(){return this.source.getSize(hk).x}get height(){return this.source.getSize(hk).y}get depth(){return this.source.getSize(hk).z}get image(){return this.source.data}set image(e=null){this.source.data=e}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}clone(){return new this.constructor().copy(this)}copy(e){return this.name=e.name,this.source=e.source,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.channel=e.channel,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.internalFormat=e.internalFormat,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.center.copy(e.center),this.rotation=e.rotation,this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrix.copy(e.matrix),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.colorSpace=e.colorSpace,this.renderTarget=e.renderTarget,this.isRenderTargetTexture=e.isRenderTargetTexture,this.isArrayTexture=e.isArrayTexture,this.userData=JSON.parse(JSON.stringify(e.userData)),this.needsUpdate=!0,this}setValues(e){for(let t in e){let n=e[t];if(n===void 0){bO(`Texture.setValues(): parameter '${t}' has value of undefined.`);continue}let r=this[t];if(r===void 0){bO(`Texture.setValues(): property '${t}' does not exist.`);continue}r&&n&&r.isVector2&&n.isVector2||r&&n&&r.isVector3&&n.isVector3||r&&n&&r.isMatrix3&&n.isMatrix3?r.copy(n):this[t]=n}}toJSON(e){let t=e===void 0||typeof e==`string`;if(!t&&e.textures[this.uuid]!==void 0)return e.textures[this.uuid];let n={metadata:{version:4.7,type:`Texture`,generator:`Texture.toJSON`},uuid:this.uuid,name:this.name,image:this.source.toJSON(e).uuid,mapping:this.mapping,channel:this.channel,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,internalFormat:this.internalFormat,type:this.type,colorSpace:this.colorSpace,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};return Object.keys(this.userData).length>0&&(n.userData=this.userData),t||(e.textures[this.uuid]=n),n}dispose(){this.dispatchEvent({type:`dispose`})}transformUv(e){if(this.mapping!==300)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case BE:e.x-=Math.floor(e.x);break;case VE:e.x=e.x<0?0:1;break;case HE:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x-=Math.floor(e.x)}if(e.y<0||e.y>1)switch(this.wrapT){case BE:e.y-=Math.floor(e.y);break;case VE:e.y=e.y<0?0:1;break;case HE:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y-=Math.floor(e.y)}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(e){e===!0&&this.pmremVersion++}};gk.DEFAULT_IMAGE=null,gk.DEFAULT_MAPPING=300,gk.DEFAULT_ANISOTROPY=1;var _k=class e{constructor(t=0,n=0,r=0,i=1){e.prototype.isVector4=!0,this.x=t,this.y=n,this.z=r,this.w=i}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,n,r){return this.x=e,this.y=t,this.z=n,this.w=r,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw Error(`index is out of range: `+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw Error(`index is out of range: `+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w===void 0?1:e.w,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){let t=this.x,n=this.y,r=this.z,i=this.w,a=e.elements;return this.x=a[0]*t+a[4]*n+a[8]*r+a[12]*i,this.y=a[1]*t+a[5]*n+a[9]*r+a[13]*i,this.z=a[2]*t+a[6]*n+a[10]*r+a[14]*i,this.w=a[3]*t+a[7]*n+a[11]*r+a[15]*i,this}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this.w/=e.w,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);let t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,n,r,i,a=.01,o=.1,s=e.elements,c=s[0],l=s[4],u=s[8],d=s[1],f=s[5],p=s[9],m=s[2],h=s[6],g=s[10];if(Math.abs(l-d)s&&e>_?e_?s1);this.dispose()}this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.textures.length=0;for(let t=0,n=e.textures.length;t=this.min.x&&e.x<=this.max.x&&e.y>=this.min.y&&e.y<=this.max.y&&e.z>=this.min.z&&e.z<=this.max.z}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.max.y>=this.min.y&&e.min.y<=this.max.y&&e.max.z>=this.min.z&&e.min.z<=this.max.z}intersectsSphere(e){return this.clampPoint(e.center,wk),wk.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,n;return e.normal.x>0?(t=e.normal.x*this.min.x,n=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,n=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,n+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,n+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,n+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,n+=e.normal.z*this.min.z),t<=-e.constant&&n>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(Mk),Nk.subVectors(this.max,Mk),Ek.subVectors(e.a,Mk),Dk.subVectors(e.b,Mk),Ok.subVectors(e.c,Mk),kk.subVectors(Dk,Ek),Ak.subVectors(Ok,Dk),jk.subVectors(Ek,Ok);let t=[0,-kk.z,kk.y,0,-Ak.z,Ak.y,0,-jk.z,jk.y,kk.z,0,-kk.x,Ak.z,0,-Ak.x,jk.z,0,-jk.x,-kk.y,kk.x,0,-Ak.y,Ak.x,0,-jk.y,jk.x,0];return!Ik(t,Ek,Dk,Ok,Nk)||(t=[1,0,0,0,1,0,0,0,1],!Ik(t,Ek,Dk,Ok,Nk))?!1:(Pk.crossVectors(kk,Ak),t=[Pk.x,Pk.y,Pk.z],Ik(t,Ek,Dk,Ok,Nk))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,wk).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(wk).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(Ck[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Ck[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Ck[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Ck[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Ck[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Ck[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Ck[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Ck[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Ck),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}toJSON(){return{min:this.min.toArray(),max:this.max.toArray()}}fromJSON(e){return this.min.fromArray(e.min),this.max.fromArray(e.max),this}},Ck=[new Z,new Z,new Z,new Z,new Z,new Z,new Z,new Z],wk=new Z,Tk=new Sk,Ek=new Z,Dk=new Z,Ok=new Z,kk=new Z,Ak=new Z,jk=new Z,Mk=new Z,Nk=new Z,Pk=new Z,Fk=new Z;function Ik(e,t,n,r,i){for(let a=0,o=e.length-3;a<=o;a+=3){Fk.fromArray(e,a);let o=i.x*Math.abs(Fk.x)+i.y*Math.abs(Fk.y)+i.z*Math.abs(Fk.z),s=t.dot(Fk),c=n.dot(Fk),l=r.dot(Fk);if(Math.max(-Math.max(s,c,l),Math.min(s,c,l))>o)return!1}return!0}var Lk=new Sk,Rk=new Z,zk=new Z,Bk=class{constructor(e=new Z,t=-1){this.isSphere=!0,this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){let n=this.center;t===void 0?Lk.setFromPoints(e).getCenter(n):n.copy(t);let r=0;for(let t=0,i=e.length;tthis.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius*=e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;Rk.subVectors(e,this.center);let t=Rk.lengthSq();if(t>this.radius*this.radius){let e=Math.sqrt(t),n=(e-this.radius)*.5;this.center.addScaledVector(Rk,n/e),this.radius+=n}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(zk.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(Rk.copy(e.center).add(zk)),this.expandByPoint(Rk.copy(e.center).sub(zk))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}toJSON(){return{radius:this.radius,center:this.center.toArray()}}fromJSON(e){return this.radius=e.radius,this.center.fromArray(e.center),this}},Vk=new Z,Hk=new Z,Uk=new Z,Wk=new Z,Gk=new Z,Kk=new Z,qk=new Z,Jk=class{constructor(e=new Z,t=new Z(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,Vk)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);let n=t.dot(this.direction);return n<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,n)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){let t=Vk.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(Vk.copy(this.origin).addScaledVector(this.direction,t),Vk.distanceToSquared(e))}distanceSqToSegment(e,t,n,r){Hk.copy(e).add(t).multiplyScalar(.5),Uk.copy(t).sub(e).normalize(),Wk.copy(this.origin).sub(Hk);let i=e.distanceTo(t)*.5,a=-this.direction.dot(Uk),o=Wk.dot(this.direction),s=-Wk.dot(Uk),c=Wk.lengthSq(),l=Math.abs(1-a*a),u,d,f,p;if(l>0){if(u=a*s-o,d=a*o-s,p=i*l,u>=0){if(d>=-p){if(d<=p){let e=1/l;u*=e,d*=e,f=u*(u+a*d+2*o)+d*(a*u+d+2*s)+c}else d=i,u=Math.max(0,-(a*d+o)),f=-u*u+d*(d+2*s)+c}else d=-i,u=Math.max(0,-(a*d+o)),f=-u*u+d*(d+2*s)+c}else d<=-p?(u=Math.max(0,-(-a*i+o)),d=u>0?-i:Math.min(Math.max(-i,-s),i),f=-u*u+d*(d+2*s)+c):d<=p?(u=0,d=Math.min(Math.max(-i,-s),i),f=d*(d+2*s)+c):(u=Math.max(0,-(a*i+o)),d=u>0?i:Math.min(Math.max(-i,-s),i),f=-u*u+d*(d+2*s)+c)}else d=a>0?-i:i,u=Math.max(0,-(a*d+o)),f=-u*u+d*(d+2*s)+c;return n&&n.copy(this.origin).addScaledVector(this.direction,u),r&&r.copy(Hk).addScaledVector(Uk,d),f}intersectSphere(e,t){Vk.subVectors(e.center,this.origin);let n=Vk.dot(this.direction),r=Vk.dot(Vk)-n*n,i=e.radius*e.radius;if(r>i)return null;let a=Math.sqrt(i-r),o=n-a,s=n+a;return s<0?null:o<0?this.at(s,t):this.at(o,t)}intersectsSphere(e){return e.radius<0?!1:this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){let t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;let n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null}intersectPlane(e,t){let n=this.distanceToPlane(e);return n===null?null:this.at(n,t)}intersectsPlane(e){let t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let n,r,i,a,o,s,c=1/this.direction.x,l=1/this.direction.y,u=1/this.direction.z,d=this.origin;return c>=0?(n=(e.min.x-d.x)*c,r=(e.max.x-d.x)*c):(n=(e.max.x-d.x)*c,r=(e.min.x-d.x)*c),l>=0?(i=(e.min.y-d.y)*l,a=(e.max.y-d.y)*l):(i=(e.max.y-d.y)*l,a=(e.min.y-d.y)*l),n>a||i>r||((i>n||isNaN(n))&&(n=i),(a=0?(o=(e.min.z-d.z)*u,s=(e.max.z-d.z)*u):(o=(e.max.z-d.z)*u,s=(e.min.z-d.z)*u),n>s||o>r)||((o>n||n!==n)&&(n=o),(s=0?n:r,t)}intersectsBox(e){return this.intersectBox(e,Vk)!==null}intersectTriangle(e,t,n,r,i){Gk.subVectors(t,e),Kk.subVectors(n,e),qk.crossVectors(Gk,Kk);let a=this.direction.dot(qk),o;if(a>0){if(r)return null;o=1}else if(a<0)o=-1,a=-a;else return null;Wk.subVectors(this.origin,e);let s=o*this.direction.dot(Kk.crossVectors(Wk,Kk));if(s<0)return null;let c=o*this.direction.dot(Gk.cross(Wk));if(c<0||s+c>a)return null;let l=-o*Wk.dot(qk);return l<0?null:this.at(l/a,i)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}},Yk=class e{constructor(t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g){e.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],t!==void 0&&this.set(t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g)}set(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){let g=this.elements;return g[0]=e,g[4]=t,g[8]=n,g[12]=r,g[1]=i,g[5]=a,g[9]=o,g[13]=s,g[2]=c,g[6]=l,g[10]=u,g[14]=d,g[3]=f,g[7]=p,g[11]=m,g[15]=h,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new e().fromArray(this.elements)}copy(e){let t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],this}copyPosition(e){let t=this.elements,n=e.elements;return t[12]=n[12],t[13]=n[13],t[14]=n[14],this}setFromMatrix3(e){let t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,n){return this.determinant()===0?(e.set(1,0,0),t.set(0,1,0),n.set(0,0,1),this):(e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this)}makeBasis(e,t,n){return this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1),this}extractRotation(e){if(e.determinant()===0)return this.identity();let t=this.elements,n=e.elements,r=1/Xk.setFromMatrixColumn(e,0).length(),i=1/Xk.setFromMatrixColumn(e,1).length(),a=1/Xk.setFromMatrixColumn(e,2).length();return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=0,t[4]=n[4]*i,t[5]=n[5]*i,t[6]=n[6]*i,t[7]=0,t[8]=n[8]*a,t[9]=n[9]*a,t[10]=n[10]*a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){let t=this.elements,n=e.x,r=e.y,i=e.z,a=Math.cos(n),o=Math.sin(n),s=Math.cos(r),c=Math.sin(r),l=Math.cos(i),u=Math.sin(i);if(e.order===`XYZ`){let e=a*l,n=a*u,r=o*l,i=o*u;t[0]=s*l,t[4]=-s*u,t[8]=c,t[1]=n+r*c,t[5]=e-i*c,t[9]=-o*s,t[2]=i-e*c,t[6]=r+n*c,t[10]=a*s}else if(e.order===`YXZ`){let e=s*l,n=s*u,r=c*l,i=c*u;t[0]=e+i*o,t[4]=r*o-n,t[8]=a*c,t[1]=a*u,t[5]=a*l,t[9]=-o,t[2]=n*o-r,t[6]=i+e*o,t[10]=a*s}else if(e.order===`ZXY`){let e=s*l,n=s*u,r=c*l,i=c*u;t[0]=e-i*o,t[4]=-a*u,t[8]=r+n*o,t[1]=n+r*o,t[5]=a*l,t[9]=i-e*o,t[2]=-a*c,t[6]=o,t[10]=a*s}else if(e.order===`ZYX`){let e=a*l,n=a*u,r=o*l,i=o*u;t[0]=s*l,t[4]=r*c-n,t[8]=e*c+i,t[1]=s*u,t[5]=i*c+e,t[9]=n*c-r,t[2]=-c,t[6]=o*s,t[10]=a*s}else if(e.order===`YZX`){let e=a*s,n=a*c,r=o*s,i=o*c;t[0]=s*l,t[4]=i-e*u,t[8]=r*u+n,t[1]=u,t[5]=a*l,t[9]=-o*l,t[2]=-c*l,t[6]=n*u+r,t[10]=e-i*u}else if(e.order===`XZY`){let e=a*s,n=a*c,r=o*s,i=o*c;t[0]=s*l,t[4]=-u,t[8]=c*l,t[1]=e*u+i,t[5]=a*l,t[9]=n*u-r,t[2]=r*u-n,t[6]=o*l,t[10]=i*u+e}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(Qk,e,$k)}lookAt(e,t,n){let r=this.elements;return nA.subVectors(e,t),nA.lengthSq()===0&&(nA.z=1),nA.normalize(),eA.crossVectors(n,nA),eA.lengthSq()===0&&(Math.abs(n.z)===1?nA.x+=1e-4:nA.z+=1e-4,nA.normalize(),eA.crossVectors(n,nA)),eA.normalize(),tA.crossVectors(nA,eA),r[0]=eA.x,r[4]=tA.x,r[8]=nA.x,r[1]=eA.y,r[5]=tA.y,r[9]=nA.y,r[2]=eA.z,r[6]=tA.z,r[10]=nA.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){let n=e.elements,r=t.elements,i=this.elements,a=n[0],o=n[4],s=n[8],c=n[12],l=n[1],u=n[5],d=n[9],f=n[13],p=n[2],m=n[6],h=n[10],g=n[14],_=n[3],v=n[7],y=n[11],b=n[15],x=r[0],S=r[4],C=r[8],w=r[12],T=r[1],E=r[5],D=r[9],O=r[13],ee=r[2],k=r[6],A=r[10],te=r[14],j=r[3],ne=r[7],M=r[11],N=r[15];return i[0]=a*x+o*T+s*ee+c*j,i[4]=a*S+o*E+s*k+c*ne,i[8]=a*C+o*D+s*A+c*M,i[12]=a*w+o*O+s*te+c*N,i[1]=l*x+u*T+d*ee+f*j,i[5]=l*S+u*E+d*k+f*ne,i[9]=l*C+u*D+d*A+f*M,i[13]=l*w+u*O+d*te+f*N,i[2]=p*x+m*T+h*ee+g*j,i[6]=p*S+m*E+h*k+g*ne,i[10]=p*C+m*D+h*A+g*M,i[14]=p*w+m*O+h*te+g*N,i[3]=_*x+v*T+y*ee+b*j,i[7]=_*S+v*E+y*k+b*ne,i[11]=_*C+v*D+y*A+b*M,i[15]=_*w+v*O+y*te+b*N,this}multiplyScalar(e){let t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){let e=this.elements,t=e[0],n=e[4],r=e[8],i=e[12],a=e[1],o=e[5],s=e[9],c=e[13],l=e[2],u=e[6],d=e[10],f=e[14],p=e[3],m=e[7],h=e[11],g=e[15],_=s*f-c*d,v=o*f-c*u,y=o*d-s*u,b=a*f-c*l,x=a*d-s*l,S=a*u-o*l;return t*(m*_-h*v+g*y)-n*(p*_-h*b+g*x)+r*(p*v-m*b+g*S)-i*(p*y-m*x+h*S)}transpose(){let e=this.elements,t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,n){let r=this.elements;return e.isVector3?(r[12]=e.x,r[13]=e.y,r[14]=e.z):(r[12]=e,r[13]=t,r[14]=n),this}invert(){let e=this.elements,t=e[0],n=e[1],r=e[2],i=e[3],a=e[4],o=e[5],s=e[6],c=e[7],l=e[8],u=e[9],d=e[10],f=e[11],p=e[12],m=e[13],h=e[14],g=e[15],_=u*h*c-m*d*c+m*s*f-o*h*f-u*s*g+o*d*g,v=p*d*c-l*h*c-p*s*f+a*h*f+l*s*g-a*d*g,y=l*m*c-p*u*c+p*o*f-a*m*f-l*o*g+a*u*g,b=p*u*s-l*m*s-p*o*d+a*m*d+l*o*h-a*u*h,x=t*_+n*v+r*y+i*b;if(x===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);let S=1/x;return e[0]=_*S,e[1]=(m*d*i-u*h*i-m*r*f+n*h*f+u*r*g-n*d*g)*S,e[2]=(o*h*i-m*s*i+m*r*c-n*h*c-o*r*g+n*s*g)*S,e[3]=(u*s*i-o*d*i-u*r*c+n*d*c+o*r*f-n*s*f)*S,e[4]=v*S,e[5]=(l*h*i-p*d*i+p*r*f-t*h*f-l*r*g+t*d*g)*S,e[6]=(p*s*i-a*h*i-p*r*c+t*h*c+a*r*g-t*s*g)*S,e[7]=(a*d*i-l*s*i+l*r*c-t*d*c-a*r*f+t*s*f)*S,e[8]=y*S,e[9]=(p*u*i-l*m*i-p*n*f+t*m*f+l*n*g-t*u*g)*S,e[10]=(a*m*i-p*o*i+p*n*c-t*m*c-a*n*g+t*o*g)*S,e[11]=(l*o*i-a*u*i-l*n*c+t*u*c+a*n*f-t*o*f)*S,e[12]=b*S,e[13]=(l*m*r-p*u*r+p*n*d-t*m*d-l*n*h+t*u*h)*S,e[14]=(p*o*r-a*m*r-p*n*s+t*m*s+a*n*h-t*o*h)*S,e[15]=(a*u*r-l*o*r+l*n*s-t*u*s-a*n*d+t*o*d)*S,this}scale(e){let t=this.elements,n=e.x,r=e.y,i=e.z;return t[0]*=n,t[4]*=r,t[8]*=i,t[1]*=n,t[5]*=r,t[9]*=i,t[2]*=n,t[6]*=r,t[10]*=i,t[3]*=n,t[7]*=r,t[11]*=i,this}getMaxScaleOnAxis(){let e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,r))}makeTranslation(e,t,n){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,t,0,0,1,n,0,0,0,1),this}makeRotationX(e){let t=Math.cos(e),n=Math.sin(e);return this.set(1,0,0,0,0,t,-n,0,0,n,t,0,0,0,0,1),this}makeRotationY(e){let t=Math.cos(e),n=Math.sin(e);return this.set(t,0,n,0,0,1,0,0,-n,0,t,0,0,0,0,1),this}makeRotationZ(e){let t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,0,n,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){let n=Math.cos(t),r=Math.sin(t),i=1-n,a=e.x,o=e.y,s=e.z,c=i*a,l=i*o;return this.set(c*a+n,c*o-r*s,c*s+r*o,0,c*o+r*s,l*o+n,l*s-r*a,0,c*s-r*o,l*s+r*a,i*s*s+n,0,0,0,0,1),this}makeScale(e,t,n){return this.set(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1),this}makeShear(e,t,n,r,i,a){return this.set(1,n,i,0,e,1,a,0,t,r,1,0,0,0,0,1),this}compose(e,t,n){let r=this.elements,i=t._x,a=t._y,o=t._z,s=t._w,c=i+i,l=a+a,u=o+o,d=i*c,f=i*l,p=i*u,m=a*l,h=a*u,g=o*u,_=s*c,v=s*l,y=s*u,b=n.x,x=n.y,S=n.z;return r[0]=(1-(m+g))*b,r[1]=(f+y)*b,r[2]=(p-v)*b,r[3]=0,r[4]=(f-y)*x,r[5]=(1-(d+g))*x,r[6]=(h+_)*x,r[7]=0,r[8]=(p+v)*S,r[9]=(h-_)*S,r[10]=(1-(d+m))*S,r[11]=0,r[12]=e.x,r[13]=e.y,r[14]=e.z,r[15]=1,this}decompose(e,t,n){let r=this.elements;if(e.x=r[12],e.y=r[13],e.z=r[14],this.determinant()===0)return n.set(1,1,1),t.identity(),this;let i=Xk.set(r[0],r[1],r[2]).length(),a=Xk.set(r[4],r[5],r[6]).length(),o=Xk.set(r[8],r[9],r[10]).length();this.determinant()<0&&(i=-i),Zk.copy(this);let s=1/i,c=1/a,l=1/o;return Zk.elements[0]*=s,Zk.elements[1]*=s,Zk.elements[2]*=s,Zk.elements[4]*=c,Zk.elements[5]*=c,Zk.elements[6]*=c,Zk.elements[8]*=l,Zk.elements[9]*=l,Zk.elements[10]*=l,t.setFromRotationMatrix(Zk),n.x=i,n.y=a,n.z=o,this}makePerspective(e,t,n,r,i,a,o=pO,s=!1){let c=this.elements,l=2*i/(t-e),u=2*i/(n-r),d=(t+e)/(t-e),f=(n+r)/(n-r),p,m;if(s)p=i/(a-i),m=a*i/(a-i);else if(o===2e3)p=-(a+i)/(a-i),m=-2*a*i/(a-i);else if(o===2001)p=-a/(a-i),m=-a*i/(a-i);else throw Error(`THREE.Matrix4.makePerspective(): Invalid coordinate system: `+o);return c[0]=l,c[4]=0,c[8]=d,c[12]=0,c[1]=0,c[5]=u,c[9]=f,c[13]=0,c[2]=0,c[6]=0,c[10]=p,c[14]=m,c[3]=0,c[7]=0,c[11]=-1,c[15]=0,this}makeOrthographic(e,t,n,r,i,a,o=pO,s=!1){let c=this.elements,l=2/(t-e),u=2/(n-r),d=-(t+e)/(t-e),f=-(n+r)/(n-r),p,m;if(s)p=1/(a-i),m=a/(a-i);else if(o===2e3)p=-2/(a-i),m=-(a+i)/(a-i);else if(o===2001)p=-1/(a-i),m=-i/(a-i);else throw Error(`THREE.Matrix4.makeOrthographic(): Invalid coordinate system: `+o);return c[0]=l,c[4]=0,c[8]=0,c[12]=d,c[1]=0,c[5]=u,c[9]=0,c[13]=f,c[2]=0,c[6]=0,c[10]=p,c[14]=m,c[3]=0,c[7]=0,c[11]=0,c[15]=1,this}equals(e){let t=this.elements,n=e.elements;for(let e=0;e<16;e++)if(t[e]!==n[e])return!1;return!0}fromArray(e,t=0){for(let n=0;n<16;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){let n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e[t+9]=n[9],e[t+10]=n[10],e[t+11]=n[11],e[t+12]=n[12],e[t+13]=n[13],e[t+14]=n[14],e[t+15]=n[15],e}},Xk=new Z,Zk=new Yk,Qk=new Z(0,0,0),$k=new Z(1,1,1),eA=new Z,tA=new Z,nA=new Z,rA=new Yk,iA=new QO,aA=class e{constructor(t=0,n=0,r=0,i=e.DEFAULT_ORDER){this.isEuler=!0,this._x=t,this._y=n,this._z=r,this._order=i}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,n,r=this._order){return this._x=e,this._y=t,this._z=n,this._order=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,n=!0){let r=e.elements,i=r[0],a=r[4],o=r[8],s=r[1],c=r[5],l=r[9],u=r[2],d=r[6],f=r[10];switch(t){case`XYZ`:this._y=Math.asin(AO(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-l,f),this._z=Math.atan2(-a,i)):(this._x=Math.atan2(d,c),this._z=0);break;case`YXZ`:this._x=Math.asin(-AO(l,-1,1)),Math.abs(l)<.9999999?(this._y=Math.atan2(o,f),this._z=Math.atan2(s,c)):(this._y=Math.atan2(-u,i),this._z=0);break;case`ZXY`:this._x=Math.asin(AO(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(-u,f),this._z=Math.atan2(-a,c)):(this._y=0,this._z=Math.atan2(s,i));break;case`ZYX`:this._y=Math.asin(-AO(u,-1,1)),Math.abs(u)<.9999999?(this._x=Math.atan2(d,f),this._z=Math.atan2(s,i)):(this._x=0,this._z=Math.atan2(-a,c));break;case`YZX`:this._z=Math.asin(AO(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(-l,c),this._y=Math.atan2(-u,i)):(this._x=0,this._y=Math.atan2(o,f));break;case`XZY`:this._z=Math.asin(-AO(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(d,c),this._y=Math.atan2(o,i)):(this._x=Math.atan2(-l,f),this._y=0);break;default:bO(`Euler: .setFromRotationMatrix() encountered an unknown order: `+t)}return this._order=t,n===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,n){return rA.makeRotationFromQuaternion(e),this.setFromRotationMatrix(rA,t,n)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return iA.setFromEuler(this),this.setFromQuaternion(iA,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}};aA.DEFAULT_ORDER=`XYZ`;var oA=class{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let e=0;e1){for(let e=0;e0&&(r.userData=this.userData),r.layers=this.layers.mask,r.matrix=this.matrix.toArray(),r.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(r.matrixAutoUpdate=!1),this.isInstancedMesh&&(r.type=`InstancedMesh`,r.count=this.count,r.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(r.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(r.type=`BatchedMesh`,r.perObjectFrustumCulled=this.perObjectFrustumCulled,r.sortObjects=this.sortObjects,r.drawRanges=this._drawRanges,r.reservedRanges=this._reservedRanges,r.geometryInfo=this._geometryInfo.map(e=>({...e,boundingBox:e.boundingBox?e.boundingBox.toJSON():void 0,boundingSphere:e.boundingSphere?e.boundingSphere.toJSON():void 0})),r.instanceInfo=this._instanceInfo.map(e=>({...e})),r.availableInstanceIds=this._availableInstanceIds.slice(),r.availableGeometryIds=this._availableGeometryIds.slice(),r.nextIndexStart=this._nextIndexStart,r.nextVertexStart=this._nextVertexStart,r.geometryCount=this._geometryCount,r.maxInstanceCount=this._maxInstanceCount,r.maxVertexCount=this._maxVertexCount,r.maxIndexCount=this._maxIndexCount,r.geometryInitialized=this._geometryInitialized,r.matricesTexture=this._matricesTexture.toJSON(e),r.indirectTexture=this._indirectTexture.toJSON(e),this._colorsTexture!==null&&(r.colorsTexture=this._colorsTexture.toJSON(e)),this.boundingSphere!==null&&(r.boundingSphere=this.boundingSphere.toJSON()),this.boundingBox!==null&&(r.boundingBox=this.boundingBox.toJSON()));function i(t,n){return t[n.uuid]===void 0&&(t[n.uuid]=n.toJSON(e)),n.uuid}if(this.isScene)this.background&&(this.background.isColor?r.background=this.background.toJSON():this.background.isTexture&&(r.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(r.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){r.geometry=i(e.geometries,this.geometry);let t=this.geometry.parameters;if(t!==void 0&&t.shapes!==void 0){let n=t.shapes;if(Array.isArray(n))for(let t=0,r=n.length;t0){r.children=[];for(let t=0;t0){r.animations=[];for(let t=0;t0&&(n.geometries=t),r.length>0&&(n.materials=r),i.length>0&&(n.textures=i),o.length>0&&(n.images=o),s.length>0&&(n.shapes=s),c.length>0&&(n.skeletons=c),l.length>0&&(n.animations=l),u.length>0&&(n.nodes=u)}return n.object=r,n;function a(e){let t=[];for(let n in e){let r=e[n];delete r.metadata,t.push(r)}return t}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let t=0;t0?r.multiplyScalar(1/Math.sqrt(i)):r.set(0,0,0)}static getBarycoord(e,t,n,r,i){CA.subVectors(r,t),wA.subVectors(n,t),TA.subVectors(e,t);let a=CA.dot(CA),o=CA.dot(wA),s=CA.dot(TA),c=wA.dot(wA),l=wA.dot(TA),u=a*c-o*o;if(u===0)return i.set(0,0,0),null;let d=1/u,f=(c*s-o*l)*d,p=(a*l-o*s)*d;return i.set(1-f-p,p,f)}static containsPoint(e,t,n,r){return this.getBarycoord(e,t,n,r,EA)!==null&&EA.x>=0&&EA.y>=0&&EA.x+EA.y<=1}static getInterpolation(e,t,n,r,i,a,o,s){return this.getBarycoord(e,t,n,r,EA)===null?(s.x=0,s.y=0,`z`in s&&(s.z=0),`w`in s&&(s.w=0),null):(s.setScalar(0),s.addScaledVector(i,EA.x),s.addScaledVector(a,EA.y),s.addScaledVector(o,EA.z),s)}static getInterpolatedAttribute(e,t,n,r,i,a){return NA.setScalar(0),PA.setScalar(0),FA.setScalar(0),NA.fromBufferAttribute(e,t),PA.fromBufferAttribute(e,n),FA.fromBufferAttribute(e,r),a.setScalar(0),a.addScaledVector(NA,i.x),a.addScaledVector(PA,i.y),a.addScaledVector(FA,i.z),a}static isFrontFacing(e,t,n,r){return CA.subVectors(n,t),wA.subVectors(e,t),CA.cross(wA).dot(r)<0}set(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this}setFromPointsAndIndices(e,t,n,r){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[r]),this}setFromAttributeAndIndices(e,t,n,r){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,n),this.c.fromBufferAttribute(e,r),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return CA.subVectors(this.c,this.b),wA.subVectors(this.a,this.b),CA.cross(wA).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(t){return e.getNormal(this.a,this.b,this.c,t)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(t,n){return e.getBarycoord(t,this.a,this.b,this.c,n)}getInterpolation(t,n,r,i,a){return e.getInterpolation(t,this.a,this.b,this.c,n,r,i,a)}containsPoint(t){return e.containsPoint(t,this.a,this.b,this.c)}isFrontFacing(t){return e.isFrontFacing(this.a,this.b,this.c,t)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){let n=this.a,r=this.b,i=this.c,a,o;DA.subVectors(r,n),OA.subVectors(i,n),AA.subVectors(e,n);let s=DA.dot(AA),c=OA.dot(AA);if(s<=0&&c<=0)return t.copy(n);jA.subVectors(e,r);let l=DA.dot(jA),u=OA.dot(jA);if(l>=0&&u<=l)return t.copy(r);let d=s*u-l*c;if(d<=0&&s>=0&&l<=0)return a=s/(s-l),t.copy(n).addScaledVector(DA,a);MA.subVectors(e,i);let f=DA.dot(MA),p=OA.dot(MA);if(p>=0&&f<=p)return t.copy(i);let m=f*c-s*p;if(m<=0&&c>=0&&p<=0)return o=c/(c-p),t.copy(n).addScaledVector(OA,o);let h=l*p-f*u;if(h<=0&&u-l>=0&&f-p>=0)return kA.subVectors(i,r),o=(u-l)/(u-l+(f-p)),t.copy(r).addScaledVector(kA,o);let g=1/(h+m+d);return a=m*g,o=d*g,t.copy(n).addScaledVector(DA,a).addScaledVector(OA,o)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}},LA={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},RA={h:0,s:0,l:0},zA={h:0,s:0,l:0};function BA(e,t,n){return n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*6*(2/3-n):e}var VA=class{constructor(e,t,n){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,t,n)}set(e,t,n){if(t===void 0&&n===void 0){let t=e;t&&t.isColor?this.copy(t):typeof t==`number`?this.setHex(t):typeof t==`string`&&this.setStyle(t)}else this.setRGB(e,t,n);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=sO){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,ok.colorSpaceToWorking(this,t),this}setRGB(e,t,n,r=ok.workingColorSpace){return this.r=e,this.g=t,this.b=n,ok.colorSpaceToWorking(this,r),this}setHSL(e,t,n,r=ok.workingColorSpace){if(e=jO(e,1),t=AO(t,0,1),n=AO(n,0,1),t===0)this.r=this.g=this.b=n;else{let r=n<=.5?n*(1+t):n+t-n*t,i=2*n-r;this.r=BA(i,r,e+1/3),this.g=BA(i,r,e),this.b=BA(i,r,e-1/3)}return ok.colorSpaceToWorking(this,r),this}setStyle(e,t=sO){function n(t){t!==void 0&&parseFloat(t)<1&&bO(`Color: Alpha component of `+e+` will be ignored.`)}let r;if(r=/^(\w+)\(([^\)]*)\)/.exec(e)){let i,a=r[1],o=r[2];switch(a){case`rgb`:case`rgba`:if(i=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return n(i[4]),this.setRGB(Math.min(255,parseInt(i[1],10))/255,Math.min(255,parseInt(i[2],10))/255,Math.min(255,parseInt(i[3],10))/255,t);if(i=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return n(i[4]),this.setRGB(Math.min(100,parseInt(i[1],10))/100,Math.min(100,parseInt(i[2],10))/100,Math.min(100,parseInt(i[3],10))/100,t);break;case`hsl`:case`hsla`:if(i=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return n(i[4]),this.setHSL(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,t);break;default:bO(`Color: Unknown color model `+e)}}else if(r=/^\#([A-Fa-f\d]+)$/.exec(e)){let n=r[1],i=n.length;if(i===3)return this.setRGB(parseInt(n.charAt(0),16)/15,parseInt(n.charAt(1),16)/15,parseInt(n.charAt(2),16)/15,t);if(i===6)return this.setHex(parseInt(n,16),t);bO(`Color: Invalid hex color `+e)}else if(e&&e.length>0)return this.setColorName(e,t);return this}setColorName(e,t=sO){let n=LA[e.toLowerCase()];return n===void 0?bO(`Color: Unknown color `+e):this.setHex(n,t),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=sk(e.r),this.g=sk(e.g),this.b=sk(e.b),this}copyLinearToSRGB(e){return this.r=ck(e.r),this.g=ck(e.g),this.b=ck(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=sO){return ok.workingToColorSpace(HA.copy(this),e),Math.round(AO(HA.r*255,0,255))*65536+Math.round(AO(HA.g*255,0,255))*256+Math.round(AO(HA.b*255,0,255))}getHexString(e=sO){return(`000000`+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=ok.workingColorSpace){ok.workingToColorSpace(HA.copy(this),t);let n=HA.r,r=HA.g,i=HA.b,a=Math.max(n,r,i),o=Math.min(n,r,i),s,c,l=(o+a)/2;if(o===a)s=0,c=0;else{let e=a-o;switch(c=l<=.5?e/(a+o):e/(2-a-o),a){case n:s=(r-i)/e+(r0!=e>0&&this.version++,this._alphaTest=e}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(let t in e){let n=e[t];if(n===void 0){bO(`Material: parameter '${t}' has value of undefined.`);continue}let r=this[t];if(r===void 0){bO(`Material: '${t}' is not a property of THREE.${this.type}.`);continue}r&&r.isColor?r.set(n):r&&r.isVector3&&n&&n.isVector3?r.copy(n):this[t]=n}}toJSON(e){let t=e===void 0||typeof e==`string`;t&&(e={textures:{},images:{}});let n={metadata:{version:4.7,type:`Material`,generator:`Material.toJSON`}};n.uuid=this.uuid,n.type=this.type,this.name!==``&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),this.roughness!==void 0&&(n.roughness=this.roughness),this.metalness!==void 0&&(n.metalness=this.metalness),this.sheen!==void 0&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity!==void 0&&this.emissiveIntensity!==1&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(n.shininess=this.shininess),this.clearcoat!==void 0&&(n.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.sheenColorMap&&this.sheenColorMap.isTexture&&(n.sheenColorMap=this.sheenColorMap.toJSON(e).uuid),this.sheenRoughnessMap&&this.sheenRoughnessMap.isTexture&&(n.sheenRoughnessMap=this.sheenRoughnessMap.toJSON(e).uuid),this.dispersion!==void 0&&(n.dispersion=this.dispersion),this.iridescence!==void 0&&(n.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(n.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(n.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(n.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(n.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(n.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(n.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(n.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(e).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(e).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(e).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(e).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(e).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(n.combine=this.combine)),this.envMapRotation!==void 0&&(n.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(n.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(n.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(n.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(n.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(n.size=this.size),this.shadowSide!==null&&(n.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==1&&(n.blending=this.blending),this.side!==0&&(n.side=this.side),this.vertexColors===!0&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),this.transparent===!0&&(n.transparent=!0),this.blendSrc!==204&&(n.blendSrc=this.blendSrc),this.blendDst!==205&&(n.blendDst=this.blendDst),this.blendEquation!==100&&(n.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(n.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(n.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(n.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(n.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(n.blendAlpha=this.blendAlpha),this.depthFunc!==3&&(n.depthFunc=this.depthFunc),this.depthTest===!1&&(n.depthTest=this.depthTest),this.depthWrite===!1&&(n.depthWrite=this.depthWrite),this.colorWrite===!1&&(n.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(n.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==519&&(n.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(n.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(n.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==7680&&(n.stencilFail=this.stencilFail),this.stencilZFail!==7680&&(n.stencilZFail=this.stencilZFail),this.stencilZPass!==7680&&(n.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(n.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(n.rotation=this.rotation),this.polygonOffset===!0&&(n.polygonOffset=!0),this.polygonOffsetFactor!==0&&(n.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(n.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(n.linewidth=this.linewidth),this.dashSize!==void 0&&(n.dashSize=this.dashSize),this.gapSize!==void 0&&(n.gapSize=this.gapSize),this.scale!==void 0&&(n.scale=this.scale),this.dithering===!0&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),this.alphaHash===!0&&(n.alphaHash=!0),this.alphaToCoverage===!0&&(n.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(n.premultipliedAlpha=!0),this.forceSinglePass===!0&&(n.forceSinglePass=!0),this.allowOverride===!1&&(n.allowOverride=!1),this.wireframe===!0&&(n.wireframe=!0),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!==`round`&&(n.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!==`round`&&(n.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(n.flatShading=!0),this.visible===!1&&(n.visible=!1),this.toneMapped===!1&&(n.toneMapped=!1),this.fog===!1&&(n.fog=!1),Object.keys(this.userData).length>0&&(n.userData=this.userData);function r(e){let t=[];for(let n in e){let r=e[n];delete r.metadata,t.push(r)}return t}if(t){let t=r(e.textures),i=r(e.images);t.length>0&&(n.textures=t),i.length>0&&(n.images=i)}return n}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;let t=e.clippingPlanes,n=null;if(t!==null){let e=t.length;n=Array(e);for(let r=0;r!==e;++r)n[r]=t[r].clone()}return this.clippingPlanes=n,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.allowOverride=e.allowOverride,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:`dispose`})}set needsUpdate(e){e===!0&&this.version++}},GA=class extends WA{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type=`MeshBasicMaterial`,this.color=new VA(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new aA,this.combine=0,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=`round`,this.wireframeLinejoin=`round`,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}},KA=new Z,qA=new X,JA=0,YA=class{constructor(e,t,n=!1){if(Array.isArray(e))throw TypeError(`THREE.BufferAttribute: array should be a Typed Array.`);this.isBufferAttribute=!0,Object.defineProperty(this,"id",{value:JA++}),this.name=``,this.array=e,this.itemSize=t,this.count=e===void 0?0:e.length/t,this.normalized=n,this.usage=fO,this.updateRanges=[],this.gpuType=tD,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,t,n){e*=this.itemSize,n*=t.itemSize;for(let r=0,i=this.itemSize;rt.count&&bO(`BufferGeometry: Buffer size too small for points data. Use .dispose() and create a new geometry.`),t.needsUpdate=!0}return this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new Sk);let e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){xO(`BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.`,this),this.boundingBox.set(new Z(-1/0,-1/0,-1/0),new Z(1/0,1/0,1/0));return}if(e!==void 0){if(this.boundingBox.setFromBufferAttribute(e),t)for(let e=0,n=t.length;e0&&(e.userData=this.userData),this.parameters!==void 0){let t=this.parameters;for(let n in t)t[n]!==void 0&&(e[n]=t[n]);return e}e.data={attributes:{}};let t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});let n=this.attributes;for(let t in n){let r=n[t];e.data.attributes[t]=r.toJSON(e.data)}let r={},i=!1;for(let t in this.morphAttributes){let n=this.morphAttributes[t],a=[];for(let t=0,r=n.length;t0&&(r[t]=a,i=!0)}i&&(e.data.morphAttributes=r,e.data.morphTargetsRelative=this.morphTargetsRelative);let a=this.groups;a.length>0&&(e.data.groups=JSON.parse(JSON.stringify(a)));let o=this.boundingSphere;return o!==null&&(e.data.boundingSphere=o.toJSON()),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;let t={};this.name=e.name;let n=e.index;n!==null&&this.setIndex(n.clone());let r=e.attributes;for(let e in r){let n=r[e];this.setAttribute(e,n.clone(t))}let i=e.morphAttributes;for(let e in i){let n=[],r=i[e];for(let e=0,i=r.length;e0){let n=e[t[0]];if(n!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=n.length;e(e.far-e.near)**2))&&(sj.copy(i).invert(),cj.copy(e.ray).applyMatrix4(sj),(n.boundingBox===null||cj.intersectsBox(n.boundingBox)!==!1)&&this._computeIntersections(e,t,cj)))}_computeIntersections(e,t,n){let r,i=this.geometry,a=this.material,o=i.index,s=i.attributes.position,c=i.attributes.uv,l=i.attributes.uv1,u=i.attributes.normal,d=i.groups,f=i.drawRange;if(o!==null){if(Array.isArray(a))for(let i=0,s=d.length;in.far?null:{distance:l,point:_j.clone(),object:e}}function yj(e,t,n,r,i,a,o,s,c,l){e.getVertexPosition(s,dj),e.getVertexPosition(c,fj),e.getVertexPosition(l,pj);let u=vj(e,t,n,r,dj,fj,pj,gj);if(u){let e=new Z;IA.getBarycoord(gj,dj,fj,pj,e),i&&(u.uv=IA.getInterpolatedAttribute(i,s,c,l,e,new X)),a&&(u.uv1=IA.getInterpolatedAttribute(a,s,c,l,e,new X)),o&&(u.normal=IA.getInterpolatedAttribute(o,s,c,l,e,new Z),u.normal.dot(r.direction)>0&&u.normal.multiplyScalar(-1));let t={a:s,b:c,c:l,normal:new Z,materialIndex:0};IA.getNormal(dj,fj,pj,t.normal),u.face=t,u.barycoord=e}return u}var bj=class e extends oj{constructor(e=1,t=1,n=1,r=1,i=1,a=1){super(),this.type=`BoxGeometry`,this.parameters={width:e,height:t,depth:n,widthSegments:r,heightSegments:i,depthSegments:a};let o=this;r=Math.floor(r),i=Math.floor(i),a=Math.floor(a);let s=[],c=[],l=[],u=[],d=0,f=0;p(`z`,`y`,`x`,-1,-1,n,t,e,a,i,0),p(`z`,`y`,`x`,1,-1,n,t,-e,a,i,1),p(`x`,`z`,`y`,1,1,e,n,t,r,a,2),p(`x`,`z`,`y`,1,-1,e,n,-t,r,a,3),p(`x`,`y`,`z`,1,-1,e,t,n,r,i,4),p(`x`,`y`,`z`,-1,-1,e,t,-n,r,i,5),this.setIndex(s),this.setAttribute(`position`,new QA(c,3)),this.setAttribute(`normal`,new QA(l,3)),this.setAttribute(`uv`,new QA(u,2));function p(e,t,n,r,i,a,p,m,h,g,_){let v=a/h,y=p/g,b=a/2,x=p/2,S=m/2,C=h+1,w=g+1,T=0,E=0,D=new Z;for(let a=0;a0?1:-1,l.push(D.x,D.y,D.z),u.push(s/h),u.push(1-a/g),T+=1}for(let e=0;e0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;let n={};for(let e in this.extensions)this.extensions[e]===!0&&(n[e]=!0);return Object.keys(n).length>0&&(t.extensions=n),t}},ej=class extends qk{constructor(){super(),this.isCamera=!0,this.type=`Camera`,this.matrixWorldInverse=new bk,this.projectionMatrix=new bk,this.projectionMatrixInverse=new bk,this.coordinateSystem=RD,this._reversedDepth=!1}get reversedDepth(){return this._reversedDepth}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}},tj=new Z,nj=new X,rj=new X,ij=class extends ej{constructor(e=50,t=1,n=.1,r=2e3){super(),this.isPerspectiveCamera=!0,this.type=`PerspectiveCamera`,this.fov=e,this.zoom=1,this.near=n,this.far=r,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){let t=.5*this.getFilmHeight()/e;this.fov=$D*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){let e=Math.tan(QD*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return $D*2*Math.atan(Math.tan(QD*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(e,t,n){tj.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(tj.x,tj.y).multiplyScalar(-e/tj.z),tj.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),n.set(tj.x,tj.y).multiplyScalar(-e/tj.z)}getViewSize(e,t){return this.getViewBounds(e,nj,rj),t.subVectors(rj,nj)}setViewOffset(e,t,n,r,i,a){this.aspect=e/t,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=r,this.view.width=i,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){let e=this.near,t=e*Math.tan(QD*.5*this.fov)/this.zoom,n=2*t,r=this.aspect*n,i=-.5*r,a=this.view;if(this.view!==null&&this.view.enabled){let e=a.fullWidth,o=a.fullHeight;i+=a.offsetX*r/e,t-=a.offsetY*n/o,r*=a.width/e,n*=a.height/o}let o=this.filmOffset;o!==0&&(i+=e*o/this.getFilmWidth()),this.projectionMatrix.makePerspective(i,i+r,t,t-n,e,this.far,this.coordinateSystem,this.reversedDepth),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){let t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}},aj=-90,oj=1,sj=class extends qk{constructor(e,t,n){super(),this.type=`CubeCamera`,this.renderTarget=n,this.coordinateSystem=null,this.activeMipmapLevel=0;let r=new ij(aj,oj,e,t);r.layers=this.layers,this.add(r);let i=new ij(aj,oj,e,t);i.layers=this.layers,this.add(i);let a=new ij(aj,oj,e,t);a.layers=this.layers,this.add(a);let o=new ij(aj,oj,e,t);o.layers=this.layers,this.add(o);let s=new ij(aj,oj,e,t);s.layers=this.layers,this.add(s);let c=new ij(aj,oj,e,t);c.layers=this.layers,this.add(c)}updateCoordinateSystem(){let e=this.coordinateSystem,t=this.children.concat(),[n,r,i,a,o,s]=t;for(let e of t)this.remove(e);if(e===2e3)n.up.set(0,1,0),n.lookAt(1,0,0),r.up.set(0,1,0),r.lookAt(-1,0,0),i.up.set(0,0,-1),i.lookAt(0,1,0),a.up.set(0,0,1),a.lookAt(0,-1,0),o.up.set(0,1,0),o.lookAt(0,0,1),s.up.set(0,1,0),s.lookAt(0,0,-1);else if(e===2001)n.up.set(0,-1,0),n.lookAt(-1,0,0),r.up.set(0,-1,0),r.lookAt(1,0,0),i.up.set(0,0,1),i.lookAt(0,1,0),a.up.set(0,0,-1),a.lookAt(0,-1,0),o.up.set(0,-1,0),o.lookAt(0,0,1),s.up.set(0,-1,0),s.lookAt(0,0,-1);else throw Error(`THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: `+e);for(let e of t)this.add(e),e.updateMatrixWorld()}update(e,t){this.parent===null&&this.updateMatrixWorld();let{renderTarget:n,activeMipmapLevel:r}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());let[i,a,o,s,c,l]=this.children,u=e.getRenderTarget(),d=e.getActiveCubeFace(),f=e.getActiveMipmapLevel(),p=e.xr.enabled;e.xr.enabled=!1;let m=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,e.setRenderTarget(n,0,r),e.render(t,i),e.setRenderTarget(n,1,r),e.render(t,a),e.setRenderTarget(n,2,r),e.render(t,o),e.setRenderTarget(n,3,r),e.render(t,s),e.setRenderTarget(n,4,r),e.render(t,c),n.texture.generateMipmaps=m,e.setRenderTarget(n,5,r),e.render(t,l),e.setRenderTarget(u,d,f),e.xr.enabled=p,n.texture.needsPMREMUpdate=!0}},cj=class extends VO{constructor(e=[],t=301,n,r,i,a,o,s,c,l){super(e,t,n,r,i,a,o,s,c,l),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}},lj=class extends WO{constructor(e=1,t={}){super(e,e,t),this.isWebGLCubeRenderTarget=!0;let n={width:e,height:e,depth:1},r=[n,n,n,n,n,n];this.texture=new cj(r),this._setTextureOptions(t),this.texture.isRenderTargetTexture=!0}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;let n={uniforms:{tEquirect:{value:null}},vertexShader:` +}`,Oj=class extends WA{constructor(e){super(),this.isShaderMaterial=!0,this.type=`ShaderMaterial`,this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader=Ej,this.fragmentShader=Dj,this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.forceSinglePass=!0,this.extensions={clipCullDistance:!1,multiDraw:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv1:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,e!==void 0&&this.setValues(e)}copy(e){return super.copy(e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=xj(e.uniforms),this.uniformsGroups=Cj(e.uniformsGroups),this.defines=Object.assign({},e.defines),this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.fog=e.fog,this.lights=e.lights,this.clipping=e.clipping,this.extensions=Object.assign({},e.extensions),this.glslVersion=e.glslVersion,this.defaultAttributeValues=Object.assign({},e.defaultAttributeValues),this.index0AttributeName=e.index0AttributeName,this.uniformsNeedUpdate=e.uniformsNeedUpdate,this}toJSON(e){let t=super.toJSON(e);t.glslVersion=this.glslVersion,t.uniforms={};for(let n in this.uniforms){let r=this.uniforms[n].value;r&&r.isTexture?t.uniforms[n]={type:`t`,value:r.toJSON(e).uuid}:r&&r.isColor?t.uniforms[n]={type:`c`,value:r.getHex()}:r&&r.isVector2?t.uniforms[n]={type:`v2`,value:r.toArray()}:r&&r.isVector3?t.uniforms[n]={type:`v3`,value:r.toArray()}:r&&r.isVector4?t.uniforms[n]={type:`v4`,value:r.toArray()}:r&&r.isMatrix3?t.uniforms[n]={type:`m3`,value:r.toArray()}:r&&r.isMatrix4?t.uniforms[n]={type:`m4`,value:r.toArray()}:t.uniforms[n]={value:r}}Object.keys(this.defines).length>0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;let n={};for(let e in this.extensions)this.extensions[e]===!0&&(n[e]=!0);return Object.keys(n).length>0&&(t.extensions=n),t}},kj=class extends SA{constructor(){super(),this.isCamera=!0,this.type=`Camera`,this.matrixWorldInverse=new Yk,this.projectionMatrix=new Yk,this.projectionMatrixInverse=new Yk,this.coordinateSystem=pO,this._reversedDepth=!1}get reversedDepth(){return this._reversedDepth}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}},Aj=new Z,jj=new X,Mj=new X,Nj=class extends kj{constructor(e=50,t=1,n=.1,r=2e3){super(),this.isPerspectiveCamera=!0,this.type=`PerspectiveCamera`,this.fov=e,this.zoom=1,this.near=n,this.far=r,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){let t=.5*this.getFilmHeight()/e;this.fov=OO*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){let e=Math.tan(DO*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return OO*2*Math.atan(Math.tan(DO*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(e,t,n){Aj.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(Aj.x,Aj.y).multiplyScalar(-e/Aj.z),Aj.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),n.set(Aj.x,Aj.y).multiplyScalar(-e/Aj.z)}getViewSize(e,t){return this.getViewBounds(e,jj,Mj),t.subVectors(Mj,jj)}setViewOffset(e,t,n,r,i,a){this.aspect=e/t,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=r,this.view.width=i,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){let e=this.near,t=e*Math.tan(DO*.5*this.fov)/this.zoom,n=2*t,r=this.aspect*n,i=-.5*r,a=this.view;if(this.view!==null&&this.view.enabled){let e=a.fullWidth,o=a.fullHeight;i+=a.offsetX*r/e,t-=a.offsetY*n/o,r*=a.width/e,n*=a.height/o}let o=this.filmOffset;o!==0&&(i+=e*o/this.getFilmWidth()),this.projectionMatrix.makePerspective(i,i+r,t,t-n,e,this.far,this.coordinateSystem,this.reversedDepth),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){let t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}},Pj=-90,Fj=1,Ij=class extends SA{constructor(e,t,n){super(),this.type=`CubeCamera`,this.renderTarget=n,this.coordinateSystem=null,this.activeMipmapLevel=0;let r=new Nj(Pj,Fj,e,t);r.layers=this.layers,this.add(r);let i=new Nj(Pj,Fj,e,t);i.layers=this.layers,this.add(i);let a=new Nj(Pj,Fj,e,t);a.layers=this.layers,this.add(a);let o=new Nj(Pj,Fj,e,t);o.layers=this.layers,this.add(o);let s=new Nj(Pj,Fj,e,t);s.layers=this.layers,this.add(s);let c=new Nj(Pj,Fj,e,t);c.layers=this.layers,this.add(c)}updateCoordinateSystem(){let e=this.coordinateSystem,t=this.children.concat(),[n,r,i,a,o,s]=t;for(let e of t)this.remove(e);if(e===2e3)n.up.set(0,1,0),n.lookAt(1,0,0),r.up.set(0,1,0),r.lookAt(-1,0,0),i.up.set(0,0,-1),i.lookAt(0,1,0),a.up.set(0,0,1),a.lookAt(0,-1,0),o.up.set(0,1,0),o.lookAt(0,0,1),s.up.set(0,1,0),s.lookAt(0,0,-1);else if(e===2001)n.up.set(0,-1,0),n.lookAt(-1,0,0),r.up.set(0,-1,0),r.lookAt(1,0,0),i.up.set(0,0,1),i.lookAt(0,1,0),a.up.set(0,0,-1),a.lookAt(0,-1,0),o.up.set(0,-1,0),o.lookAt(0,0,1),s.up.set(0,-1,0),s.lookAt(0,0,-1);else throw Error(`THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: `+e);for(let e of t)this.add(e),e.updateMatrixWorld()}update(e,t){this.parent===null&&this.updateMatrixWorld();let{renderTarget:n,activeMipmapLevel:r}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());let[i,a,o,s,c,l]=this.children,u=e.getRenderTarget(),d=e.getActiveCubeFace(),f=e.getActiveMipmapLevel(),p=e.xr.enabled;e.xr.enabled=!1;let m=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,e.setRenderTarget(n,0,r),e.render(t,i),e.setRenderTarget(n,1,r),e.render(t,a),e.setRenderTarget(n,2,r),e.render(t,o),e.setRenderTarget(n,3,r),e.render(t,s),e.setRenderTarget(n,4,r),e.render(t,c),n.texture.generateMipmaps=m,e.setRenderTarget(n,5,r),e.render(t,l),e.setRenderTarget(u,d,f),e.xr.enabled=p,n.texture.needsPMREMUpdate=!0}},Lj=class extends gk{constructor(e=[],t=301,n,r,i,a,o,s,c,l){super(e,t,n,r,i,a,o,s,c,l),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}},Rj=class extends yk{constructor(e=1,t={}){super(e,e,t),this.isWebGLCubeRenderTarget=!0;let n={width:e,height:e,depth:1},r=[n,n,n,n,n,n];this.texture=new Lj(r),this._setTextureOptions(t),this.texture.isRenderTargetTexture=!0}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;let n={uniforms:{tEquirect:{value:null}},vertexShader:` varying vec3 vWorldDirection; @@ -42,7 +42,7 @@ var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],en gl_FragColor = texture2D( tEquirect, sampleUV ); } - `},r=new GA(5,5,5),i=new $A({name:`CubemapFromEquirect`,uniforms:KA(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:1,blending:0});i.uniforms.tEquirect.value=t;let a=new Q(r,i),o=t.minFilter;return t.minFilter===1008&&(t.minFilter=_E),new sj(1,10,this).update(e,a),t.minFilter=o,a.geometry.dispose(),a.material.dispose(),this}clear(e,t=!0,n=!0,r=!0){let i=e.getRenderTarget();for(let i=0;i<6;i++)e.setRenderTarget(this,i),e.clear(t,n,r);e.setRenderTarget(i)}},uj=class extends qk{constructor(){super(),this.isGroup=!0,this.type=`Group`}},dj={type:`move`},fj=class{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new uj,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new uj,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new Z,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new Z),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new uj,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new Z,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new Z),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){let t=this._hand;if(t)for(let n of e.hand.values())this._getHandJoint(t,n)}return this.dispatchEvent({type:`connected`,data:e}),this}disconnect(e){return this.dispatchEvent({type:`disconnected`,data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,t,n){let r=null,i=null,a=null,o=this._targetRay,s=this._grip,c=this._hand;if(e&&t.session.visibilityState!==`visible-blurred`){if(c&&e.hand){a=!0;for(let r of e.hand.values()){let e=t.getJointPose(r,n),i=this._getHandJoint(c,r);e!==null&&(i.matrix.fromArray(e.transform.matrix),i.matrix.decompose(i.position,i.rotation,i.scale),i.matrixWorldNeedsUpdate=!0,i.jointRadius=e.radius),i.visible=e!==null}let r=c.joints[`index-finger-tip`],i=c.joints[`thumb-tip`],o=r.position.distanceTo(i.position);c.inputState.pinching&&o>.025?(c.inputState.pinching=!1,this.dispatchEvent({type:`pinchend`,handedness:e.handedness,target:this})):!c.inputState.pinching&&o<=.015&&(c.inputState.pinching=!0,this.dispatchEvent({type:`pinchstart`,handedness:e.handedness,target:this}))}else s!==null&&e.gripSpace&&(i=t.getPose(e.gripSpace,n),i!==null&&(s.matrix.fromArray(i.transform.matrix),s.matrix.decompose(s.position,s.rotation,s.scale),s.matrixWorldNeedsUpdate=!0,i.linearVelocity?(s.hasLinearVelocity=!0,s.linearVelocity.copy(i.linearVelocity)):s.hasLinearVelocity=!1,i.angularVelocity?(s.hasAngularVelocity=!0,s.angularVelocity.copy(i.angularVelocity)):s.hasAngularVelocity=!1));o!==null&&(r=t.getPose(e.targetRaySpace,n),r===null&&i!==null&&(r=i),r!==null&&(o.matrix.fromArray(r.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),o.matrixWorldNeedsUpdate=!0,r.linearVelocity?(o.hasLinearVelocity=!0,o.linearVelocity.copy(r.linearVelocity)):o.hasLinearVelocity=!1,r.angularVelocity?(o.hasAngularVelocity=!0,o.angularVelocity.copy(r.angularVelocity)):o.hasAngularVelocity=!1,this.dispatchEvent(dj)))}return o!==null&&(o.visible=r!==null),s!==null&&(s.visible=i!==null),c!==null&&(c.visible=a!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){let n=new uj;n.matrixAutoUpdate=!1,n.visible=!1,e.joints[t.jointName]=n,e.add(n)}return e.joints[t.jointName]}},pj=class extends qk{constructor(){super(),this.isScene=!0,this.type=`Scene`,this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.backgroundRotation=new Ak,this.environmentIntensity=1,this.environmentRotation=new Ak,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<`u`&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(`observe`,{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,this.backgroundRotation.copy(e.backgroundRotation),this.environmentIntensity=e.environmentIntensity,this.environmentRotation.copy(e.environmentRotation),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){let t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(t.object.environmentIntensity=this.environmentIntensity),t.object.environmentRotation=this.environmentRotation.toArray(),t}},mj=class extends VO{constructor(e=null,t=1,n=1,r,i,a,o,s,c=mE,l=mE,u,d){super(null,a,o,s,c,l,r,i,u,d),this.isDataTexture=!0,this.image={data:e,width:t,height:n},this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}},hj=new Z,gj=new Z,_j=new EO,vj=class{constructor(e=new Z(1,0,0),t=0){this.isPlane=!0,this.normal=e,this.constant=t}set(e,t){return this.normal.copy(e),this.constant=t,this}setComponents(e,t,n,r){return this.normal.set(e,t,n),this.constant=r,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(e,t,n){let r=hj.subVectors(n,t).cross(gj.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(r,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){let e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,t){return t.copy(e).addScaledVector(this.normal,-this.distanceToPoint(e))}intersectLine(e,t){let n=e.delta(hj),r=this.normal.dot(n);if(r===0)return this.distanceToPoint(e.start)===0?t.copy(e.start):null;let i=-(e.start.dot(this.normal)+this.constant)/r;return i<0||i>1?null:t.copy(e.start).addScaledVector(n,i)}intersectsLine(e){let t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){let n=t||_j.getNormalMatrix(e),r=this.coplanarPoint(hj).applyMatrix4(e),i=this.normal.applyMatrix3(n).normalize();return this.constant=-r.dot(i),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}},yj=new dk,bj=new X(.5,.5),xj=new Z,Sj=class{constructor(e=new vj,t=new vj,n=new vj,r=new vj,i=new vj,a=new vj){this.planes=[e,t,n,r,i,a]}set(e,t,n,r,i,a){let o=this.planes;return o[0].copy(e),o[1].copy(t),o[2].copy(n),o[3].copy(r),o[4].copy(i),o[5].copy(a),this}copy(e){let t=this.planes;for(let n=0;n<6;n++)t[n].copy(e.planes[n]);return this}setFromProjectionMatrix(e,t=RD,n=!1){let r=this.planes,i=e.elements,a=i[0],o=i[1],s=i[2],c=i[3],l=i[4],u=i[5],d=i[6],f=i[7],p=i[8],m=i[9],h=i[10],g=i[11],_=i[12],v=i[13],y=i[14],b=i[15];if(r[0].setComponents(c-a,f-l,g-p,b-_).normalize(),r[1].setComponents(c+a,f+l,g+p,b+_).normalize(),r[2].setComponents(c+o,f+u,g+m,b+v).normalize(),r[3].setComponents(c-o,f-u,g-m,b-v).normalize(),n)r[4].setComponents(s,d,h,y).normalize(),r[5].setComponents(c-s,f-d,g-h,b-y).normalize();else if(r[4].setComponents(c-s,f-d,g-h,b-y).normalize(),t===2e3)r[5].setComponents(c+s,f+d,g+h,b+y).normalize();else if(t===2001)r[5].setComponents(s,d,h,y).normalize();else throw Error(`THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: `+t);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),yj.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{let t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),yj.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(yj)}intersectsSprite(e){return yj.center.set(0,0,0),yj.radius=.7071067811865476+bj.distanceTo(e.center),yj.applyMatrix4(e.matrixWorld),this.intersectsSphere(yj)}intersectsSphere(e){let t=this.planes,n=e.center,r=-e.radius;for(let e=0;e<6;e++)if(t[e].distanceToPoint(n)0?e.max.x:e.min.x,xj.y=r.normal.y>0?e.max.y:e.min.y,xj.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(xj)<0)return!1}return!0}containsPoint(e){let t=this.planes;for(let n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}},Cj=class extends hA{constructor(e){super(),this.isLineBasicMaterial=!0,this.type=`LineBasicMaterial`,this.color=new fA(16777215),this.map=null,this.linewidth=1,this.linecap=`round`,this.linejoin=`round`,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.linewidth=e.linewidth,this.linecap=e.linecap,this.linejoin=e.linejoin,this.fog=e.fog,this}},wj=new Z,Tj=new Z,Ej=new bk,Dj=new yk,Oj=new dk,kj=new Z,Aj=new Z,jj=class extends qk{constructor(e=new jA,t=new Cj){super(),this.isLine=!0,this.type=`Line`,this.geometry=e,this.material=t,this.morphTargetDictionary=void 0,this.morphTargetInfluences=void 0,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}computeLineDistances(){let e=this.geometry;if(e.index===null){let t=e.attributes.position,n=[0];for(let e=1,r=t.count;e0){let n=e[t[0]];if(n!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=n.length;er)return;kj.applyMatrix4(e.matrixWorld);let c=t.ray.origin.distanceTo(kj);if(!(ct.far))return{distance:c,point:Aj.clone().applyMatrix4(e.matrixWorld),index:o,face:null,faceIndex:null,barycoord:null,object:e}}var Nj=new Z,Pj=new Z,Fj=class extends jj{constructor(e,t){super(e,t),this.isLineSegments=!0,this.type=`LineSegments`}computeLineDistances(){let e=this.geometry;if(e.index===null){let t=e.attributes.position,n=[];for(let e=0,r=t.count;e0){let n=e[t[0]];if(n!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=n.length;ei.far)return;a.push({distance:c,distanceToRay:Math.sqrt(s),point:n,index:t,face:null,faceIndex:null,barycoord:null,object:o})}}var Uj=class extends VO{constructor(e,t,n=TE,r,i,a,o=mE,s=mE,c,l=IE,u=1){if(l!==1026&&l!==1027)throw Error(`DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat`);super({width:e,height:t,depth:u},r,i,a,o,s,l,n,c),this.isDepthTexture=!0,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(e){return super.copy(e),this.source=new LO(Object.assign({},e.image)),this.compareFunction=e.compareFunction,this}toJSON(e){let t=super.toJSON(e);return this.compareFunction!==null&&(t.compareFunction=this.compareFunction),t}},Wj=class extends Uj{constructor(e,t=TE,n=301,r,i,a=mE,o=mE,s,c=IE){let l={width:e,height:e,depth:1},u=[l,l,l,l,l,l];super(e,e,t,n,r,i,a,o,s,c),this.image=u,this.isCubeDepthTexture=!0,this.isCubeTexture=!0}get images(){return this.image}set images(e){this.image=e}},Gj=class extends VO{constructor(e=null){super(),this.sourceTexture=e,this.isExternalTexture=!0}copy(e){return super.copy(e),this.sourceTexture=e.sourceTexture,this}},Kj=class e extends jA{constructor(e=1,t=1,n=4,r=8,i=1){super(),this.type=`CapsuleGeometry`,this.parameters={radius:e,height:t,capSegments:n,radialSegments:r,heightSegments:i},t=Math.max(0,t),n=Math.max(1,Math.floor(n)),r=Math.max(3,Math.floor(r)),i=Math.max(1,Math.floor(i));let a=[],o=[],s=[],c=[],l=t/2,u=Math.PI/2*e,d=t,f=2*u+d,p=n*2+i,m=r+1,h=new Z,g=new Z;for(let _=0;_<=p;_++){let v=0,y=0,b=0,x=0;if(_<=n){let t=_/n,r=t*Math.PI/2;y=-l-e*Math.cos(r),b=e*Math.sin(r),x=-e*Math.cos(r),v=t*u}else if(_<=n+i){let r=(_-n)/i;y=-l+r*t,b=e,x=0,v=u+r*d}else{let t=(_-n-i)/n,r=t*Math.PI/2;y=l+e*Math.sin(r),b=e*Math.cos(r),x=e*Math.sin(r),v=u+d+t*u}let S=Math.max(0,Math.min(1,v/f)),C=0;_===0?C=.5/r:_===p&&(C=-.5/r);for(let e=0;e<=r;e++){let t=e/r,n=t*Math.PI*2,i=Math.sin(n),a=Math.cos(n);g.x=-b*a,g.y=y,g.z=b*i,o.push(g.x,g.y,g.z),h.set(-b*a,x,b*i),h.normalize(),s.push(h.x,h.y,h.z),c.push(t+C,S)}if(_>0){let e=(_-1)*m;for(let t=0;t0&&v(!0),t>0&&v(!1)),this.setIndex(l),this.setAttribute(`position`,new CA(u,3)),this.setAttribute(`normal`,new CA(d,3)),this.setAttribute(`uv`,new CA(f,2));function _(){let a=new Z,_=new Z,v=0,y=(t-e)/n;for(let c=0;c<=i;c++){let l=[],g=c/i,v=g*(t-e)+e;for(let e=0;e<=r;e++){let t=e/r,i=t*s+o,c=Math.sin(i),m=Math.cos(i);_.x=v*c,_.y=-g*n+h,_.z=v*m,u.push(_.x,_.y,_.z),a.set(c,y,m).normalize(),d.push(a.x,a.y,a.z),f.push(t,1-g),l.push(p++)}m.push(l)}for(let n=0;n0||r!==0)&&(l.push(a,o,c),v+=3),(t>0||r!==i-1)&&(l.push(o,s,c),v+=3)}c.addGroup(g,v,0),g+=v}function v(n){let i=p,a=new X,m=new Z,_=0,v=n===!0?e:t,y=n===!0?1:-1;for(let e=1;e<=r;e++)u.push(0,h*y,0),d.push(0,y,0),f.push(.5,.5),p++;let b=p;for(let e=0;e<=r;e++){let t=e/r*s+o,n=Math.cos(t),i=Math.sin(t);m.x=v*i,m.y=h*y,m.z=v*n,u.push(m.x,m.y,m.z),d.push(0,y,0),a.x=n*.5+.5,a.y=i*.5*y+.5,f.push(a.x,a.y),p++}for(let e=0;e.9&&Math.min(t,n,r)<.1&&(t<.2&&(a[e+0]+=1),n<.2&&(a[e+2]+=1),r<.2&&(a[e+4]+=1))}}function d(e){i.push(e.x,e.y,e.z)}function f(t,n){let r=t*3;n.x=e[r+0],n.y=e[r+1],n.z=e[r+2]}function p(){let e=new Z,t=new Z,n=new Z,r=new Z,o=new X,s=new X,c=new X;for(let l=0,u=0;l0)s=r-1;else{s=r;break}if(r=s,n[r]===a)return r/(i-1);let l=n[r],u=n[r+1]-l,d=(a-l)/u;return(r+d)/(i-1)}getTangent(e,t){let n=1e-4,r=e-n,i=e+n;r<0&&(r=0),i>1&&(i=1);let a=this.getPoint(r),o=this.getPoint(i),s=t||(a.isVector2?new X:new Z);return s.copy(o).sub(a).normalize(),s}getTangentAt(e,t){let n=this.getUtoTmapping(e);return this.getTangent(n,t)}computeFrenetFrames(e,t=!1){let n=new Z,r=[],i=[],a=[],o=new Z,s=new bk;for(let t=0;t<=e;t++){let n=t/e;r[t]=this.getTangentAt(n,new Z)}i[0]=new Z,a[0]=new Z;let c=Number.MAX_VALUE,l=Math.abs(r[0].x),u=Math.abs(r[0].y),d=Math.abs(r[0].z);l<=c&&(c=l,n.set(1,0,0)),u<=c&&(c=u,n.set(0,1,0)),d<=c&&n.set(0,0,1),o.crossVectors(r[0],n).normalize(),i[0].crossVectors(r[0],o),a[0].crossVectors(r[0],i[0]);for(let t=1;t<=e;t++){if(i[t]=i[t-1].clone(),a[t]=a[t-1].clone(),o.crossVectors(r[t-1],r[t]),o.length()>2**-52){o.normalize();let e=Math.acos(tO(r[t-1].dot(r[t]),-1,1));i[t].applyMatrix4(s.makeRotationAxis(o,e))}a[t].crossVectors(r[t],i[t])}if(t===!0){let t=Math.acos(tO(i[0].dot(i[e]),-1,1));t/=e,r[0].dot(o.crossVectors(i[0],i[e]))>0&&(t=-t);for(let n=1;n<=e;n++)i[n].applyMatrix4(s.makeRotationAxis(r[n],t*n)),a[n].crossVectors(r[n],i[n])}return{tangents:r,normals:i,binormals:a}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){let e={metadata:{version:4.7,type:`Curve`,generator:`Curve.toJSON`}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}},rM=class extends nM{constructor(e=0,t=0,n=1,r=1,i=0,a=Math.PI*2,o=!1,s=0){super(),this.isEllipseCurve=!0,this.type=`EllipseCurve`,this.aX=e,this.aY=t,this.xRadius=n,this.yRadius=r,this.aStartAngle=i,this.aEndAngle=a,this.aClockwise=o,this.aRotation=s}getPoint(e,t=new X){let n=t,r=Math.PI*2,i=this.aEndAngle-this.aStartAngle,a=Math.abs(i)<2**-52;for(;i<0;)i+=r;for(;i>r;)i-=r;i<2**-52&&(i=a?0:r),this.aClockwise===!0&&!a&&(i===r?i=-r:i-=r);let o=this.aStartAngle+e*i,s=this.aX+this.xRadius*Math.cos(o),c=this.aY+this.yRadius*Math.sin(o);if(this.aRotation!==0){let e=Math.cos(this.aRotation),t=Math.sin(this.aRotation),n=s-this.aX,r=c-this.aY;s=n*e-r*t+this.aX,c=n*t+r*e+this.aY}return n.set(s,c)}copy(e){return super.copy(e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.xRadius,this.yRadius=e.yRadius,this.aStartAngle=e.aStartAngle,this.aEndAngle=e.aEndAngle,this.aClockwise=e.aClockwise,this.aRotation=e.aRotation,this}toJSON(){let e=super.toJSON();return e.aX=this.aX,e.aY=this.aY,e.xRadius=this.xRadius,e.yRadius=this.yRadius,e.aStartAngle=this.aStartAngle,e.aEndAngle=this.aEndAngle,e.aClockwise=this.aClockwise,e.aRotation=this.aRotation,e}fromJSON(e){return super.fromJSON(e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.xRadius,this.yRadius=e.yRadius,this.aStartAngle=e.aStartAngle,this.aEndAngle=e.aEndAngle,this.aClockwise=e.aClockwise,this.aRotation=e.aRotation,this}},iM=class extends rM{constructor(e,t,n,r,i,a){super(e,t,n,n,r,i,a),this.isArcCurve=!0,this.type=`ArcCurve`}};function aM(){let e=0,t=0,n=0,r=0;function i(i,a,o,s){e=i,t=o,n=-3*i+3*a-2*o-s,r=2*i-2*a+o+s}return{initCatmullRom:function(e,t,n,r,a){i(t,n,a*(n-e),a*(r-t))},initNonuniformCatmullRom:function(e,t,n,r,a,o,s){let c=(t-e)/a-(n-e)/(a+o)+(n-t)/o,l=(n-t)/o-(r-t)/(o+s)+(r-n)/s;c*=o,l*=o,i(t,n,c,l)},calc:function(i){let a=i*i,o=a*i;return e+t*i+n*a+r*o}}}var oM=new Z,sM=new aM,cM=new aM,lM=new aM,uM=class extends nM{constructor(e=[],t=!1,n=`centripetal`,r=.5){super(),this.isCatmullRomCurve3=!0,this.type=`CatmullRomCurve3`,this.points=e,this.closed=t,this.curveType=n,this.tension=r}getPoint(e,t=new Z){let n=t,r=this.points,i=r.length,a=(i-+!this.closed)*e,o=Math.floor(a),s=a-o;this.closed?o+=o>0?0:(Math.floor(Math.abs(o)/i)+1)*i:s===0&&o===i-1&&(o=i-2,s=1);let c,l;this.closed||o>0?c=r[(o-1)%i]:(oM.subVectors(r[0],r[1]).add(r[0]),c=oM);let u=r[o%i],d=r[(o+1)%i];if(this.closed||o+2r.length-2?r.length-1:a+1],u=r[a>r.length-3?r.length-1:a+2];return n.set(dM(o,s.x,c.x,l.x,u.x),dM(o,s.y,c.y,l.y,u.y)),n}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t=n){let e=r[i]-n,a=this.curves[i],o=a.getLength(),s=o===0?0:1-e/o;return a.getPointAt(s,t)}i++}return null}getLength(){let e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;let e=[],t=0;for(let n=0,r=this.curves.length;n1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,n=e.curves.length;t0){let e=c.getPoint(0);e.equals(this.currentPoint)||this.lineTo(e.x,e.y)}this.curves.push(c);let l=c.getPoint(1);return this.currentPoint.copy(l),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){let e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}},jM=class extends AM{constructor(e){super(e),this.uuid=eO(),this.type=`Shape`,this.holes=[]}getPointsHoles(e){let t=[];for(let n=0,r=this.holes.length;n80*n){s=e[0],c=e[1];let t=s,r=c;for(let a=n;at&&(t=n),i>r&&(r=i)}l=Math.max(t-s,r-c),l=l===0?0:32767/l}return FM(a,o,n,s,c,l,0),o}function NM(e,t,n,r,i){let a;if(i===uN(e,t,n,r)>0)for(let i=t;i=t;i-=r)a=sN(i/r|0,e[i],e[i+1],a);return a&&$M(a,a.next)&&(cN(a),a=a.next),a}function PM(e,t){if(!e)return e;t||=e;let n=e,r;do if(r=!1,!n.steiner&&($M(n,n.next)||QM(n.prev,n,n.next)===0)){if(cN(n),n=t=n.prev,n===n.next)break;r=!0}else n=n.next;while(r||n!==t);return t}function FM(e,t,n,r,i,a,o){if(!e)return;!o&&a&&GM(e,r,i,a);let s=e;for(;e.prev!==e.next;){let c=e.prev,l=e.next;if(a?LM(e,r,i,a):IM(e)){t.push(c.i,e.i,l.i),cN(e),e=l.next,s=l.next;continue}if(e=l,e===s){o?o===1?(e=RM(PM(e),t),FM(e,t,n,r,i,a,2)):o===2&&zM(e,t,n,r,i,a):FM(PM(e),t,n,r,i,a,1);break}}}function IM(e){let t=e.prev,n=e,r=e.next;if(QM(t,n,r)>=0)return!1;let i=t.x,a=n.x,o=r.x,s=t.y,c=n.y,l=r.y,u=Math.min(i,a,o),d=Math.min(s,c,l),f=Math.max(i,a,o),p=Math.max(s,c,l),m=r.next;for(;m!==t;){if(m.x>=u&&m.x<=f&&m.y>=d&&m.y<=p&&XM(i,s,a,c,o,l,m.x,m.y)&&QM(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function LM(e,t,n,r){let i=e.prev,a=e,o=e.next;if(QM(i,a,o)>=0)return!1;let s=i.x,c=a.x,l=o.x,u=i.y,d=a.y,f=o.y,p=Math.min(s,c,l),m=Math.min(u,d,f),h=Math.max(s,c,l),g=Math.max(u,d,f),_=qM(p,m,t,n,r),v=qM(h,g,t,n,r),y=e.prevZ,b=e.nextZ;for(;y&&y.z>=_&&b&&b.z<=v;){if(y.x>=p&&y.x<=h&&y.y>=m&&y.y<=g&&y!==i&&y!==o&&XM(s,u,c,d,l,f,y.x,y.y)&&QM(y.prev,y,y.next)>=0||(y=y.prevZ,b.x>=p&&b.x<=h&&b.y>=m&&b.y<=g&&b!==i&&b!==o&&XM(s,u,c,d,l,f,b.x,b.y)&&QM(b.prev,b,b.next)>=0))return!1;b=b.nextZ}for(;y&&y.z>=_;){if(y.x>=p&&y.x<=h&&y.y>=m&&y.y<=g&&y!==i&&y!==o&&XM(s,u,c,d,l,f,y.x,y.y)&&QM(y.prev,y,y.next)>=0)return!1;y=y.prevZ}for(;b&&b.z<=v;){if(b.x>=p&&b.x<=h&&b.y>=m&&b.y<=g&&b!==i&&b!==o&&XM(s,u,c,d,l,f,b.x,b.y)&&QM(b.prev,b,b.next)>=0)return!1;b=b.nextZ}return!0}function RM(e,t){let n=e;do{let r=n.prev,i=n.next.next;!$M(r,i)&&eN(r,n,n.next,i)&&iN(r,i)&&iN(i,r)&&(t.push(r.i,n.i,i.i),cN(n),cN(n.next),n=e=i),n=n.next}while(n!==e);return PM(n)}function zM(e,t,n,r,i,a){let o=e;do{let e=o.next.next;for(;e!==o.prev;){if(o.i!==e.i&&ZM(o,e)){let s=oN(o,e);o=PM(o,o.next),s=PM(s,s.next),FM(o,t,n,r,i,a,0),FM(s,t,n,r,i,a,0);return}e=e.next}o=o.next}while(o!==e)}function BM(e,t,n,r){let i=[];for(let n=0,a=t.length;n=n.next.y&&n.next.y!==n.y){let e=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(e<=r&&e>a&&(a=e,o=n.x=n.x&&n.x>=c&&r!==n.x&&YM(io.x||n.x===o.x&&WM(o,n)))&&(o=n,u=t)}n=n.next}while(n!==s);return o}function WM(e,t){return QM(e.prev,e,t.prev)<0&&QM(t.next,e,e.next)<0}function GM(e,t,n,r){let i=e;do i.z===0&&(i.z=qM(i.x,i.y,t,n,r)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,KM(i)}function KM(e){let t,n=1;do{let r=e,i;e=null;let a=null;for(t=0;r;){t++;let o=r,s=0;for(let e=0;e0||c>0&&o;)s!==0&&(c===0||!o||r.z<=o.z)?(i=r,r=r.nextZ,s--):(i=o,o=o.nextZ,c--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;r=o}a.nextZ=null,n*=2}while(t>1);return e}function qM(e,t,n,r,i){return e=(e-n)*i|0,t=(t-r)*i|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function JM(e){let t=e,n=e;do(t.x=(e-o)*(a-s)&&(e-o)*(r-s)>=(n-o)*(t-s)&&(n-o)*(a-s)>=(i-o)*(r-s)}function XM(e,t,n,r,i,a,o,s){return(e!==o||t!==s)&&YM(e,t,n,r,i,a,o,s)}function ZM(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!rN(e,t)&&(iN(e,t)&&iN(t,e)&&aN(e,t)&&(QM(e.prev,e,t.prev)||QM(e,t.prev,t))||$M(e,t)&&QM(e.prev,e,e.next)>0&&QM(t.prev,t,t.next)>0)}function QM(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function $M(e,t){return e.x===t.x&&e.y===t.y}function eN(e,t,n,r){let i=nN(QM(e,t,n)),a=nN(QM(e,t,r)),o=nN(QM(n,r,e)),s=nN(QM(n,r,t));return!!(i!==a&&o!==s||i===0&&tN(e,n,t)||a===0&&tN(e,r,t)||o===0&&tN(n,e,r)||s===0&&tN(n,t,r))}function tN(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function nN(e){return e>0?1:e<0?-1:0}function rN(e,t){let n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&eN(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}function iN(e,t){return QM(e.prev,e,e.next)<0?QM(e,t,e.next)>=0&&QM(e,e.prev,t)>=0:QM(e,t,e.prev)<0||QM(e,e.next,t)<0}function aN(e,t){let n=e,r=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do n.y>a!=n.next.y>a&&n.next.y!==n.y&&i<(n.next.x-n.x)*(a-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next;while(n!==e);return r}function oN(e,t){let n=lN(e.i,e.x,e.y),r=lN(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,n.next=i,i.prev=n,r.next=n,n.prev=r,a.next=r,r.prev=a,r}function sN(e,t,n,r){let i=lN(e,t,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function cN(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function lN(e,t,n){return{i:e,x:t,y:n,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function uN(e,t,n,r){let i=0;for(let a=t,o=n-r;a2&&e[t-1].equals(e[0])&&e.pop()}function mN(e,t){for(let n=0;n2**-52){let d=Math.sqrt(u),f=Math.sqrt(c*c+l*l),p=t.x-s/d,m=t.y+o/d,h=n.x-l/f,g=n.y+c/f,_=((h-p)*l-(g-m)*c)/(o*l-s*c);r=p+o*_-e.x,i=m+s*_-e.y;let v=r*r+i*i;if(v<=2)return new X(r,i);a=Math.sqrt(v/2)}else{let e=!1;o>2**-52?c>2**-52&&(e=!0):o<-(2**-52)?c<-(2**-52)&&(e=!0):Math.sign(s)===Math.sign(l)&&(e=!0),e?(r=-s,i=o,a=Math.sqrt(u)):(r=o,i=s,a=Math.sqrt(u/2))}return new X(r/a,i/a)}let A=[];for(let e=0,t=D.length,n=t-1,r=e+1;e=0;e--){let t=e/p,n=u*Math.cos(t*Math.PI/2),r=d*Math.sin(t*Math.PI/2)+f;for(let e=0,t=D.length;e=0;){let r=n,i=n-1;i<0&&(i=e.length-1);for(let e=0,n=s+p*2;e0)&&f.push(t,i,c),(e!==n-1||s0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get dispersion(){return this._dispersion}set dispersion(e){this._dispersion>0!=e>0&&this.version++,this._dispersion=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:``,PHYSICAL:``},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.dispersion=e.dispersion,this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}},TN=class extends hA{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type=`MeshDepthMaterial`,this.depthPacking=jD,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}},EN=class extends hA{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type=`MeshDistanceMaterial`,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}};function DN(e,t){return!e||e.constructor===t?e:typeof t.BYTES_PER_ELEMENT==`number`?new t(e):Array.prototype.slice.call(e)}var ON=class{constructor(e,t,n,r){this.parameterPositions=e,this._cachedIndex=0,this.resultBuffer=r===void 0?new t.constructor(n):r,this.sampleValues=t,this.valueSize=n,this.settings=null,this.DefaultSettings_={}}evaluate(e){let t=this.parameterPositions,n=this._cachedIndex,r=t[n],i=t[n-1];validate_interval:{seek:{let a;linear_scan:{forward_scan:if(!(e=i)){let o=t[1];e=i)break seek}a=n,n=0;break linear_scan}break validate_interval}for(;n>>1;et;)--a;if(++a,i!==0||a!==r){i>=a&&(a=Math.max(a,1),i=a-1);let e=this.getValueSize();this.times=n.slice(i,a),this.values=this.values.slice(i*e,a*e)}return this}validate(){let e=!0,t=this.getValueSize();t-Math.floor(t)!==0&&(KD(`KeyframeTrack: Invalid value size in track.`,this),e=!1);let n=this.times,r=this.values,i=n.length;i===0&&(KD(`KeyframeTrack: Track is empty.`,this),e=!1);let a=null;for(let t=0;t!==i;t++){let r=n[t];if(typeof r==`number`&&isNaN(r)){KD(`KeyframeTrack: Time is not a valid number.`,this,t,r),e=!1;break}if(a!==null&&a>r){KD(`KeyframeTrack: Out of order keys.`,this,t,r,a),e=!1;break}a=r}if(r!==void 0&&BD(r))for(let t=0,n=r.length;t!==n;++t){let n=r[t];if(isNaN(n)){KD(`KeyframeTrack: Value is not a valid number.`,this,t,n),e=!1;break}}return e}optimize(){let e=this.times.slice(),t=this.values.slice(),n=this.getValueSize(),r=this.getInterpolation()===DD,i=e.length-1,a=1;for(let o=1;o0){e[a]=e[i];for(let e=i*n,r=a*n,o=0;o!==n;++o)t[r+o]=t[e+o];++a}return a===e.length?(this.times=e,this.values=t):(this.times=e.slice(0,a),this.values=t.slice(0,a*n)),this}clone(){let e=this.times.slice(),t=this.values.slice(),n=this.constructor,r=new n(this.name,e,t);return r.createInterpolant=this.createInterpolant,r}};MN.prototype.ValueTypeName=``,MN.prototype.TimeBufferType=Float32Array,MN.prototype.ValueBufferType=Float32Array,MN.prototype.DefaultInterpolation=ED;var NN=class extends MN{constructor(e,t,n){super(e,t,n)}};NN.prototype.ValueTypeName=`bool`,NN.prototype.ValueBufferType=Array,NN.prototype.DefaultInterpolation=TD,NN.prototype.InterpolantFactoryMethodLinear=void 0,NN.prototype.InterpolantFactoryMethodSmooth=void 0;var PN=class extends MN{constructor(e,t,n,r){super(e,t,n,r)}};PN.prototype.ValueTypeName=`color`;var FN=class extends MN{constructor(e,t,n,r){super(e,t,n,r)}};FN.prototype.ValueTypeName=`number`;var IN=class extends ON{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e,t,n,r){let i=this.resultBuffer,a=this.sampleValues,o=this.valueSize,s=(n-t)/(r-t),c=e*o;for(let e=c+o;c!==e;c+=4)CO.slerpFlat(i,0,a,c-o,a,c,s);return i}},LN=class extends MN{constructor(e,t,n,r){super(e,t,n,r)}InterpolantFactoryMethodLinear(e){return new IN(this.times,this.values,this.getValueSize(),e)}};LN.prototype.ValueTypeName=`quaternion`,LN.prototype.InterpolantFactoryMethodSmooth=void 0;var RN=class extends MN{constructor(e,t,n){super(e,t,n)}};RN.prototype.ValueTypeName=`string`,RN.prototype.ValueBufferType=Array,RN.prototype.DefaultInterpolation=TD,RN.prototype.InterpolantFactoryMethodLinear=void 0,RN.prototype.InterpolantFactoryMethodSmooth=void 0;var zN=class extends MN{constructor(e,t,n,r){super(e,t,n,r)}};zN.prototype.ValueTypeName=`vector`;var BN={enabled:!1,files:{},add:function(e,t){this.enabled!==!1&&(this.files[e]=t)},get:function(e){if(this.enabled!==!1)return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}},VN=new class{constructor(e,t,n){let r=this,i=!1,a=0,o=0,s,c=[];this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=n,this._abortController=null,this.itemStart=function(e){o++,i===!1&&r.onStart!==void 0&&r.onStart(e,a,o),i=!0},this.itemEnd=function(e){a++,r.onProgress!==void 0&&r.onProgress(e,a,o),a===o&&(i=!1,r.onLoad!==void 0&&r.onLoad())},this.itemError=function(e){r.onError!==void 0&&r.onError(e)},this.resolveURL=function(e){return s?s(e):e},this.setURLModifier=function(e){return s=e,this},this.addHandler=function(e,t){return c.push(e,t),this},this.removeHandler=function(e){let t=c.indexOf(e);return t!==-1&&c.splice(t,2),this},this.getHandler=function(e){for(let t=0,n=c.length;t{t&&t(i),this.manager.itemEnd(e)},0),i;if(UN[e]!==void 0){UN[e].push({onLoad:t,onProgress:n,onError:r});return}UN[e]=[],UN[e].push({onLoad:t,onProgress:n,onError:r});let a=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?`include`:`same-origin`,signal:typeof AbortSignal.any==`function`?AbortSignal.any([this._abortController.signal,this.manager.abortController.signal]):this._abortController.signal}),o=this.mimeType,s=this.responseType;fetch(a).then(t=>{if(t.status===200||t.status===0){if(t.status===0&&GD(`FileLoader: HTTP Status 0 received.`),typeof ReadableStream>`u`||t.body===void 0||t.body.getReader===void 0)return t;let n=UN[e],r=t.body.getReader(),i=t.headers.get(`X-File-Size`)||t.headers.get(`Content-Length`),a=i?parseInt(i):0,o=a!==0,s=0,c=new ReadableStream({start(e){t();function t(){r.read().then(({done:r,value:i})=>{if(r)e.close();else{s+=i.byteLength;let r=new ProgressEvent(`progress`,{lengthComputable:o,loaded:s,total:a});for(let e=0,t=n.length;e{e.error(t)})}}});return new Response(c)}throw new WN(`fetch for "${t.url}" responded with ${t.status}: ${t.statusText}`,t)}).then(e=>{switch(s){case`arraybuffer`:return e.arrayBuffer();case`blob`:return e.blob();case`document`:return e.text().then(e=>new DOMParser().parseFromString(e,o));case`json`:return e.json();default:if(o===``)return e.text();{let t=/charset="?([^;"\s]*)"?/i.exec(o),n=t&&t[1]?t[1].toLowerCase():void 0,r=new TextDecoder(n);return e.arrayBuffer().then(e=>r.decode(e))}}}).then(t=>{BN.add(`file:${e}`,t);let n=UN[e];delete UN[e];for(let e=0,r=n.length;e{let n=UN[e];if(n===void 0)throw this.manager.itemError(e),t;delete UN[e];for(let e=0,r=n.length;e{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}abort(){return this._abortController.abort(),this._abortController=new AbortController,this}},KN=class extends qk{constructor(e,t=1){super(),this.isLight=!0,this.type=`Light`,this.color=new fA(e),this.intensity=t}dispose(){this.dispatchEvent({type:`dispose`})}copy(e,t){return super.copy(e,t),this.color.copy(e.color),this.intensity=e.intensity,this}toJSON(e){let t=super.toJSON(e);return t.object.color=this.color.getHex(),t.object.intensity=this.intensity,t}},qN=new bk,JN=new Z,YN=new Z,XN=class{constructor(e){this.camera=e,this.intensity=1,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new X(512,512),this.mapType=bE,this.map=null,this.mapPass=null,this.matrix=new bk,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new Sj,this._frameExtents=new X(1,1),this._viewportCount=1,this._viewports=[new HO(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(e){let t=this.camera,n=this.matrix;JN.setFromMatrixPosition(e.matrixWorld),t.position.copy(JN),YN.setFromMatrixPosition(e.target.matrixWorld),t.lookAt(YN),t.updateMatrixWorld(),qN.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this._frustum.setFromProjectionMatrix(qN,t.coordinateSystem,t.reversedDepth),t.reversedDepth?n.set(.5,0,0,.5,0,.5,0,.5,0,0,1,0,0,0,0,1):n.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),n.multiply(qN)}getViewport(e){return this._viewports[e]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(e){return this.camera=e.camera.clone(),this.intensity=e.intensity,this.bias=e.bias,this.radius=e.radius,this.autoUpdate=e.autoUpdate,this.needsUpdate=e.needsUpdate,this.normalBias=e.normalBias,this.blurSamples=e.blurSamples,this.mapSize.copy(e.mapSize),this}clone(){return new this.constructor().copy(this)}toJSON(){let e={};return this.intensity!==1&&(e.intensity=this.intensity),this.bias!==0&&(e.bias=this.bias),this.normalBias!==0&&(e.normalBias=this.normalBias),this.radius!==1&&(e.radius=this.radius),(this.mapSize.x!==512||this.mapSize.y!==512)&&(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}},ZN=class extends XN{constructor(){super(new ij(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1,this.aspect=1}updateMatrices(e){let t=this.camera,n=$D*2*e.angle*this.focus,r=this.mapSize.width/this.mapSize.height*this.aspect,i=e.distance||t.far;(n!==t.fov||r!==t.aspect||i!==t.far)&&(t.fov=n,t.aspect=r,t.far=i,t.updateProjectionMatrix()),super.updateMatrices(e)}copy(e){return super.copy(e),this.focus=e.focus,this}},QN=class extends KN{constructor(e,t,n=0,r=Math.PI/3,i=0,a=2){super(e,t),this.isSpotLight=!0,this.type=`SpotLight`,this.position.copy(qk.DEFAULT_UP),this.updateMatrix(),this.target=new qk,this.distance=n,this.angle=r,this.penumbra=i,this.decay=a,this.map=null,this.shadow=new ZN}get power(){return this.intensity*Math.PI}set power(e){this.intensity=e/Math.PI}dispose(){super.dispose(),this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.angle=e.angle,this.penumbra=e.penumbra,this.decay=e.decay,this.target=e.target.clone(),this.map=e.map,this.shadow=e.shadow.clone(),this}toJSON(e){let t=super.toJSON(e);return t.object.distance=this.distance,t.object.angle=this.angle,t.object.decay=this.decay,t.object.penumbra=this.penumbra,t.object.target=this.target.uuid,this.map&&this.map.isTexture&&(t.object.map=this.map.toJSON(e).uuid),t.object.shadow=this.shadow.toJSON(),t}},$N=class extends XN{constructor(){super(new ij(90,1,.5,500)),this.isPointLightShadow=!0}},eP=class extends KN{constructor(e,t,n=0,r=2){super(e,t),this.isPointLight=!0,this.type=`PointLight`,this.distance=n,this.decay=r,this.shadow=new $N}get power(){return this.intensity*4*Math.PI}set power(e){this.intensity=e/(4*Math.PI)}dispose(){super.dispose(),this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.decay=e.decay,this.shadow=e.shadow.clone(),this}toJSON(e){let t=super.toJSON(e);return t.object.distance=this.distance,t.object.decay=this.decay,t.object.shadow=this.shadow.toJSON(),t}},tP=class extends ej{constructor(e=-1,t=1,n=1,r=-1,i=.1,a=2e3){super(),this.isOrthographicCamera=!0,this.type=`OrthographicCamera`,this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=n,this.bottom=r,this.near=i,this.far=a,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,t,n,r,i,a){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=r,this.view.width=i,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){let e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,r=(this.top+this.bottom)/2,i=n-e,a=n+e,o=r+t,s=r-t;if(this.view!==null&&this.view.enabled){let e=(this.right-this.left)/this.view.fullWidth/this.zoom,t=(this.top-this.bottom)/this.view.fullHeight/this.zoom;i+=e*this.view.offsetX,a=i+e*this.view.width,o-=t*this.view.offsetY,s=o-t*this.view.height}this.projectionMatrix.makeOrthographic(i,a,o,s,this.near,this.far,this.coordinateSystem,this.reversedDepth),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){let t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}},nP=class extends XN{constructor(){super(new tP(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}},rP=class extends KN{constructor(e,t){super(e,t),this.isDirectionalLight=!0,this.type=`DirectionalLight`,this.position.copy(qk.DEFAULT_UP),this.updateMatrix(),this.target=new qk,this.shadow=new nP}dispose(){super.dispose(),this.shadow.dispose()}copy(e){return super.copy(e),this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}toJSON(e){let t=super.toJSON(e);return t.object.shadow=this.shadow.toJSON(),t.object.target=this.target.uuid,t}},iP=class extends KN{constructor(e,t){super(e,t),this.isAmbientLight=!0,this.type=`AmbientLight`}},aP=class extends KN{constructor(e,t,n=10,r=10){super(e,t),this.isRectAreaLight=!0,this.type=`RectAreaLight`,this.width=n,this.height=r}get power(){return this.intensity*this.width*this.height*Math.PI}set power(e){this.intensity=e/(this.width*this.height*Math.PI)}copy(e){return super.copy(e),this.width=e.width,this.height=e.height,this}toJSON(e){let t=super.toJSON(e);return t.object.width=this.width,t.object.height=this.height,t}},oP=class extends ij{constructor(e=[]){super(),this.isArrayCamera=!0,this.isMultiViewCamera=!1,this.cameras=e}},sP=`\\[\\]\\.:\\/`,cP=RegExp(`[\\[\\]\\.:\\/]`,`g`),lP=`[^\\[\\]\\.:\\/]`,uP=`[^`+sP.replace(`\\.`,``)+`]`,dP=`((?:WC+[\\/:])*)`.replace(`WC`,lP),fP=`(WCOD+)?`.replace(`WCOD`,uP),pP=`(?:\\.(WC+)(?:\\[(.+)\\])?)?`.replace(`WC`,lP),mP=`\\.(WC+)(?:\\[(.+)\\])?`.replace(`WC`,lP),hP=RegExp(`^`+dP+fP+pP+mP+`$`),gP=[`material`,`materials`,`bones`,`map`],_P=class{constructor(e,t,n){let r=n||vP.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,r)}getValue(e,t){this.bind();let n=this._targetGroup.nCachedObjects_,r=this._bindings[n];r!==void 0&&r.getValue(e,t)}setValue(e,t){let n=this._bindings;for(let r=this._targetGroup.nCachedObjects_,i=n.length;r!==i;++r)n[r].setValue(e,t)}bind(){let e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].bind()}unbind(){let e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].unbind()}},vP=class e{constructor(t,n,r){this.path=n,this.parsedPath=r||e.parseTrackName(n),this.node=e.findNode(t,this.parsedPath.nodeName),this.rootNode=t,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(t,n,r){return t&&t.isAnimationObjectGroup?new e.Composite(t,n,r):new e(t,n,r)}static sanitizeNodeName(e){return e.replace(/\s/g,`_`).replace(cP,``)}static parseTrackName(e){let t=hP.exec(e);if(t===null)throw Error(`PropertyBinding: Cannot parse trackName: `+e);let n={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},r=n.nodeName&&n.nodeName.lastIndexOf(`.`);if(r!==void 0&&r!==-1){let e=n.nodeName.substring(r+1);gP.indexOf(e)!==-1&&(n.nodeName=n.nodeName.substring(0,r),n.objectName=e)}if(n.propertyName===null||n.propertyName.length===0)throw Error(`PropertyBinding: can not parse propertyName from trackName: `+e);return n}static findNode(e,t){if(t===void 0||t===``||t===`.`||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){let n=e.skeleton.getBoneByName(t);if(n!==void 0)return n}if(e.children){let n=function(e){for(let r=0;r.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{wP.set(e.z,0,-e.x).normalize();let t=Math.acos(e.y);this.quaternion.setFromAxisAngle(wP,t)}}setLength(e,t=e*.2,n=t*.2){this.line.scale.set(1,Math.max(1e-4,e-t),1),this.line.updateMatrix(),this.cone.scale.set(n,t,n),this.cone.position.y=e,this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e),this.cone.material.color.set(e)}copy(e){return super.copy(e,!1),this.line.copy(e.line),this.cone.copy(e.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}},OP=class extends Fj{constructor(e=1){let t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],n=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],r=new jA;r.setAttribute(`position`,new CA(t,3)),r.setAttribute(`color`,new CA(n,3));let i=new Cj({vertexColors:!0,toneMapped:!1});super(r,i),this.type=`AxesHelper`}setColors(e,t,n){let r=new fA,i=this.geometry.attributes.color.array;return r.set(e),r.toArray(i,0),r.toArray(i,3),r.set(t),r.toArray(i,6),r.toArray(i,9),r.set(n),r.toArray(i,12),r.toArray(i,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}},kP=class{constructor(){this.type=`ShapePath`,this.color=new fA,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new AM,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,t),this}lineTo(e,t){return this.currentPath.lineTo(e,t),this}quadraticCurveTo(e,t,n,r){return this.currentPath.quadraticCurveTo(e,t,n,r),this}bezierCurveTo(e,t,n,r,i,a){return this.currentPath.bezierCurveTo(e,t,n,r,i,a),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e){function t(e){let t=[];for(let n=0,r=e.length;n2**-52){if(c<0&&(n=t[a],s=-s,o=t[i],c=-c),e.yo.y)continue;if(e.y===n.y){if(e.x===n.x)return!0}else{let t=c*(e.x-n.x)-s*(e.y-n.y);if(t===0)return!0;if(t<0)continue;r=!r}}else{if(e.y!==n.y)continue;if(o.x<=e.x&&e.x<=n.x||n.x<=e.x&&e.x<=o.x)return!0}}return r}let r=fN.isClockWise,i=this.subPaths;if(i.length===0)return[];let a,o,s,c=[];if(i.length===1)return o=i[0],s=new jM,s.curves=o.curves,c.push(s),c;let l=!r(i[0].getPoints());l=e?!l:l;let u=[],d=[],f=[],p=0,m;d[p]=void 0,f[p]=[];for(let t=0,n=i.length;t1){let e=!1,t=0;for(let e=0,t=d.length;e0&&e===!1&&(f=u)}let h;for(let e=0,t=d.length;ee.start-t.start);let t=0;for(let e=1;e.025?(c.inputState.pinching=!1,this.dispatchEvent({type:`pinchend`,handedness:e.handedness,target:this})):!c.inputState.pinching&&o<=.015&&(c.inputState.pinching=!0,this.dispatchEvent({type:`pinchstart`,handedness:e.handedness,target:this}))}else s!==null&&e.gripSpace&&(i=t.getPose(e.gripSpace,n),i!==null&&(s.matrix.fromArray(i.transform.matrix),s.matrix.decompose(s.position,s.rotation,s.scale),s.matrixWorldNeedsUpdate=!0,i.linearVelocity?(s.hasLinearVelocity=!0,s.linearVelocity.copy(i.linearVelocity)):s.hasLinearVelocity=!1,i.angularVelocity?(s.hasAngularVelocity=!0,s.angularVelocity.copy(i.angularVelocity)):s.hasAngularVelocity=!1));o!==null&&(r=t.getPose(e.targetRaySpace,n),r===null&&i!==null&&(r=i),r!==null&&(o.matrix.fromArray(r.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),o.matrixWorldNeedsUpdate=!0,r.linearVelocity?(o.hasLinearVelocity=!0,o.linearVelocity.copy(r.linearVelocity)):o.hasLinearVelocity=!1,r.angularVelocity?(o.hasAngularVelocity=!0,o.angularVelocity.copy(r.angularVelocity)):o.hasAngularVelocity=!1,this.dispatchEvent(Bj)))}return o!==null&&(o.visible=r!==null),s!==null&&(s.visible=i!==null),c!==null&&(c.visible=a!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){let n=new zj;n.matrixAutoUpdate=!1,n.visible=!1,e.joints[t.jointName]=n,e.add(n)}return e.joints[t.jointName]}},Hj=class extends SA{constructor(){super(),this.isScene=!0,this.type=`Scene`,this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.backgroundRotation=new aA,this.environmentIntensity=1,this.environmentRotation=new aA,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<`u`&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(`observe`,{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,this.backgroundRotation.copy(e.backgroundRotation),this.environmentIntensity=e.environmentIntensity,this.environmentRotation.copy(e.environmentRotation),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){let t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(t.object.environmentIntensity=this.environmentIntensity),t.object.environmentRotation=this.environmentRotation.toArray(),t}},Uj=class extends gk{constructor(e=null,t=1,n=1,r,i,a,o,s,c=UE,l=UE,u,d){super(null,a,o,s,c,l,r,i,u,d),this.isDataTexture=!0,this.image={data:e,width:t,height:n},this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}},Wj=new Z,Gj=new Z,Kj=new tk,qj=class{constructor(e=new Z(1,0,0),t=0){this.isPlane=!0,this.normal=e,this.constant=t}set(e,t){return this.normal.copy(e),this.constant=t,this}setComponents(e,t,n,r){return this.normal.set(e,t,n),this.constant=r,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(e,t,n){let r=Wj.subVectors(n,t).cross(Gj.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(r,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){let e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,t){return t.copy(e).addScaledVector(this.normal,-this.distanceToPoint(e))}intersectLine(e,t){let n=e.delta(Wj),r=this.normal.dot(n);if(r===0)return this.distanceToPoint(e.start)===0?t.copy(e.start):null;let i=-(e.start.dot(this.normal)+this.constant)/r;return i<0||i>1?null:t.copy(e.start).addScaledVector(n,i)}intersectsLine(e){let t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){let n=t||Kj.getNormalMatrix(e),r=this.coplanarPoint(Wj).applyMatrix4(e),i=this.normal.applyMatrix3(n).normalize();return this.constant=-r.dot(i),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}},Jj=new Bk,Yj=new X(.5,.5),Xj=new Z,Zj=class{constructor(e=new qj,t=new qj,n=new qj,r=new qj,i=new qj,a=new qj){this.planes=[e,t,n,r,i,a]}set(e,t,n,r,i,a){let o=this.planes;return o[0].copy(e),o[1].copy(t),o[2].copy(n),o[3].copy(r),o[4].copy(i),o[5].copy(a),this}copy(e){let t=this.planes;for(let n=0;n<6;n++)t[n].copy(e.planes[n]);return this}setFromProjectionMatrix(e,t=pO,n=!1){let r=this.planes,i=e.elements,a=i[0],o=i[1],s=i[2],c=i[3],l=i[4],u=i[5],d=i[6],f=i[7],p=i[8],m=i[9],h=i[10],g=i[11],_=i[12],v=i[13],y=i[14],b=i[15];if(r[0].setComponents(c-a,f-l,g-p,b-_).normalize(),r[1].setComponents(c+a,f+l,g+p,b+_).normalize(),r[2].setComponents(c+o,f+u,g+m,b+v).normalize(),r[3].setComponents(c-o,f-u,g-m,b-v).normalize(),n)r[4].setComponents(s,d,h,y).normalize(),r[5].setComponents(c-s,f-d,g-h,b-y).normalize();else if(r[4].setComponents(c-s,f-d,g-h,b-y).normalize(),t===2e3)r[5].setComponents(c+s,f+d,g+h,b+y).normalize();else if(t===2001)r[5].setComponents(s,d,h,y).normalize();else throw Error(`THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: `+t);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),Jj.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{let t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),Jj.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(Jj)}intersectsSprite(e){return Jj.center.set(0,0,0),Jj.radius=.7071067811865476+Yj.distanceTo(e.center),Jj.applyMatrix4(e.matrixWorld),this.intersectsSphere(Jj)}intersectsSphere(e){let t=this.planes,n=e.center,r=-e.radius;for(let e=0;e<6;e++)if(t[e].distanceToPoint(n)0?e.max.x:e.min.x,Xj.y=r.normal.y>0?e.max.y:e.min.y,Xj.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(Xj)<0)return!1}return!0}containsPoint(e){let t=this.planes;for(let n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}},Qj=class extends WA{constructor(e){super(),this.isLineBasicMaterial=!0,this.type=`LineBasicMaterial`,this.color=new VA(16777215),this.map=null,this.linewidth=1,this.linecap=`round`,this.linejoin=`round`,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.linewidth=e.linewidth,this.linecap=e.linecap,this.linejoin=e.linejoin,this.fog=e.fog,this}},$j=new Z,eM=new Z,tM=new Yk,nM=new Jk,rM=new Bk,iM=new Z,aM=new Z,oM=class extends SA{constructor(e=new oj,t=new Qj){super(),this.isLine=!0,this.type=`Line`,this.geometry=e,this.material=t,this.morphTargetDictionary=void 0,this.morphTargetInfluences=void 0,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}computeLineDistances(){let e=this.geometry;if(e.index===null){let t=e.attributes.position,n=[0];for(let e=1,r=t.count;e0){let n=e[t[0]];if(n!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=n.length;er)return;iM.applyMatrix4(e.matrixWorld);let c=t.ray.origin.distanceTo(iM);if(!(ct.far))return{distance:c,point:aM.clone().applyMatrix4(e.matrixWorld),index:o,face:null,faceIndex:null,barycoord:null,object:e}}var cM=new Z,lM=new Z,uM=class extends oM{constructor(e,t){super(e,t),this.isLineSegments=!0,this.type=`LineSegments`}computeLineDistances(){let e=this.geometry;if(e.index===null){let t=e.attributes.position,n=[];for(let e=0,r=t.count;e0){let n=e[t[0]];if(n!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=n.length;ei.far)return;a.push({distance:c,distanceToRay:Math.sqrt(s),point:n,index:t,face:null,faceIndex:null,barycoord:null,object:o})}}var vM=class extends gk{constructor(e,t,n=eD,r,i,a,o=UE,s=UE,c,l=dD,u=1){if(l!==1026&&l!==1027)throw Error(`DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat`);super({width:e,height:t,depth:u},r,i,a,o,s,l,n,c),this.isDepthTexture=!0,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(e){return super.copy(e),this.source=new fk(Object.assign({},e.image)),this.compareFunction=e.compareFunction,this}toJSON(e){let t=super.toJSON(e);return this.compareFunction!==null&&(t.compareFunction=this.compareFunction),t}},yM=class extends vM{constructor(e,t=eD,n=301,r,i,a=UE,o=UE,s,c=dD){let l={width:e,height:e,depth:1},u=[l,l,l,l,l,l];super(e,e,t,n,r,i,a,o,s,c),this.image=u,this.isCubeDepthTexture=!0,this.isCubeTexture=!0}get images(){return this.image}set images(e){this.image=e}},bM=class extends gk{constructor(e=null){super(),this.sourceTexture=e,this.isExternalTexture=!0}copy(e){return super.copy(e),this.sourceTexture=e.sourceTexture,this}},xM=class e extends oj{constructor(e=1,t=1,n=4,r=8,i=1){super(),this.type=`CapsuleGeometry`,this.parameters={radius:e,height:t,capSegments:n,radialSegments:r,heightSegments:i},t=Math.max(0,t),n=Math.max(1,Math.floor(n)),r=Math.max(3,Math.floor(r)),i=Math.max(1,Math.floor(i));let a=[],o=[],s=[],c=[],l=t/2,u=Math.PI/2*e,d=t,f=2*u+d,p=n*2+i,m=r+1,h=new Z,g=new Z;for(let _=0;_<=p;_++){let v=0,y=0,b=0,x=0;if(_<=n){let t=_/n,r=t*Math.PI/2;y=-l-e*Math.cos(r),b=e*Math.sin(r),x=-e*Math.cos(r),v=t*u}else if(_<=n+i){let r=(_-n)/i;y=-l+r*t,b=e,x=0,v=u+r*d}else{let t=(_-n-i)/n,r=t*Math.PI/2;y=l+e*Math.sin(r),b=e*Math.cos(r),x=e*Math.sin(r),v=u+d+t*u}let S=Math.max(0,Math.min(1,v/f)),C=0;_===0?C=.5/r:_===p&&(C=-.5/r);for(let e=0;e<=r;e++){let t=e/r,n=t*Math.PI*2,i=Math.sin(n),a=Math.cos(n);g.x=-b*a,g.y=y,g.z=b*i,o.push(g.x,g.y,g.z),h.set(-b*a,x,b*i),h.normalize(),s.push(h.x,h.y,h.z),c.push(t+C,S)}if(_>0){let e=(_-1)*m;for(let t=0;t0&&v(!0),t>0&&v(!1)),this.setIndex(l),this.setAttribute(`position`,new QA(u,3)),this.setAttribute(`normal`,new QA(d,3)),this.setAttribute(`uv`,new QA(f,2));function _(){let a=new Z,_=new Z,v=0,y=(t-e)/n;for(let c=0;c<=i;c++){let l=[],g=c/i,v=g*(t-e)+e;for(let e=0;e<=r;e++){let t=e/r,i=t*s+o,c=Math.sin(i),m=Math.cos(i);_.x=v*c,_.y=-g*n+h,_.z=v*m,u.push(_.x,_.y,_.z),a.set(c,y,m).normalize(),d.push(a.x,a.y,a.z),f.push(t,1-g),l.push(p++)}m.push(l)}for(let n=0;n0||r!==0)&&(l.push(a,o,c),v+=3),(t>0||r!==i-1)&&(l.push(o,s,c),v+=3)}c.addGroup(g,v,0),g+=v}function v(n){let i=p,a=new X,m=new Z,_=0,v=n===!0?e:t,y=n===!0?1:-1;for(let e=1;e<=r;e++)u.push(0,h*y,0),d.push(0,y,0),f.push(.5,.5),p++;let b=p;for(let e=0;e<=r;e++){let t=e/r*s+o,n=Math.cos(t),i=Math.sin(t);m.x=v*i,m.y=h*y,m.z=v*n,u.push(m.x,m.y,m.z),d.push(0,y,0),a.x=n*.5+.5,a.y=i*.5*y+.5,f.push(a.x,a.y),p++}for(let e=0;e.9&&Math.min(t,n,r)<.1&&(t<.2&&(a[e+0]+=1),n<.2&&(a[e+2]+=1),r<.2&&(a[e+4]+=1))}}function d(e){i.push(e.x,e.y,e.z)}function f(t,n){let r=t*3;n.x=e[r+0],n.y=e[r+1],n.z=e[r+2]}function p(){let e=new Z,t=new Z,n=new Z,r=new Z,o=new X,s=new X,c=new X;for(let l=0,u=0;l0)s=r-1;else{s=r;break}if(r=s,n[r]===a)return r/(i-1);let l=n[r],u=n[r+1]-l,d=(a-l)/u;return(r+d)/(i-1)}getTangent(e,t){let n=1e-4,r=e-n,i=e+n;r<0&&(r=0),i>1&&(i=1);let a=this.getPoint(r),o=this.getPoint(i),s=t||(a.isVector2?new X:new Z);return s.copy(o).sub(a).normalize(),s}getTangentAt(e,t){let n=this.getUtoTmapping(e);return this.getTangent(n,t)}computeFrenetFrames(e,t=!1){let n=new Z,r=[],i=[],a=[],o=new Z,s=new Yk;for(let t=0;t<=e;t++){let n=t/e;r[t]=this.getTangentAt(n,new Z)}i[0]=new Z,a[0]=new Z;let c=Number.MAX_VALUE,l=Math.abs(r[0].x),u=Math.abs(r[0].y),d=Math.abs(r[0].z);l<=c&&(c=l,n.set(1,0,0)),u<=c&&(c=u,n.set(0,1,0)),d<=c&&n.set(0,0,1),o.crossVectors(r[0],n).normalize(),i[0].crossVectors(r[0],o),a[0].crossVectors(r[0],i[0]);for(let t=1;t<=e;t++){if(i[t]=i[t-1].clone(),a[t]=a[t-1].clone(),o.crossVectors(r[t-1],r[t]),o.length()>2**-52){o.normalize();let e=Math.acos(AO(r[t-1].dot(r[t]),-1,1));i[t].applyMatrix4(s.makeRotationAxis(o,e))}a[t].crossVectors(r[t],i[t])}if(t===!0){let t=Math.acos(AO(i[0].dot(i[e]),-1,1));t/=e,r[0].dot(o.crossVectors(i[0],i[e]))>0&&(t=-t);for(let n=1;n<=e;n++)i[n].applyMatrix4(s.makeRotationAxis(r[n],t*n)),a[n].crossVectors(r[n],i[n])}return{tangents:r,normals:i,binormals:a}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){let e={metadata:{version:4.7,type:`Curve`,generator:`Curve.toJSON`}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}},MM=class extends jM{constructor(e=0,t=0,n=1,r=1,i=0,a=Math.PI*2,o=!1,s=0){super(),this.isEllipseCurve=!0,this.type=`EllipseCurve`,this.aX=e,this.aY=t,this.xRadius=n,this.yRadius=r,this.aStartAngle=i,this.aEndAngle=a,this.aClockwise=o,this.aRotation=s}getPoint(e,t=new X){let n=t,r=Math.PI*2,i=this.aEndAngle-this.aStartAngle,a=Math.abs(i)<2**-52;for(;i<0;)i+=r;for(;i>r;)i-=r;i<2**-52&&(i=a?0:r),this.aClockwise===!0&&!a&&(i===r?i=-r:i-=r);let o=this.aStartAngle+e*i,s=this.aX+this.xRadius*Math.cos(o),c=this.aY+this.yRadius*Math.sin(o);if(this.aRotation!==0){let e=Math.cos(this.aRotation),t=Math.sin(this.aRotation),n=s-this.aX,r=c-this.aY;s=n*e-r*t+this.aX,c=n*t+r*e+this.aY}return n.set(s,c)}copy(e){return super.copy(e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.xRadius,this.yRadius=e.yRadius,this.aStartAngle=e.aStartAngle,this.aEndAngle=e.aEndAngle,this.aClockwise=e.aClockwise,this.aRotation=e.aRotation,this}toJSON(){let e=super.toJSON();return e.aX=this.aX,e.aY=this.aY,e.xRadius=this.xRadius,e.yRadius=this.yRadius,e.aStartAngle=this.aStartAngle,e.aEndAngle=this.aEndAngle,e.aClockwise=this.aClockwise,e.aRotation=this.aRotation,e}fromJSON(e){return super.fromJSON(e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.xRadius,this.yRadius=e.yRadius,this.aStartAngle=e.aStartAngle,this.aEndAngle=e.aEndAngle,this.aClockwise=e.aClockwise,this.aRotation=e.aRotation,this}},NM=class extends MM{constructor(e,t,n,r,i,a){super(e,t,n,n,r,i,a),this.isArcCurve=!0,this.type=`ArcCurve`}};function PM(){let e=0,t=0,n=0,r=0;function i(i,a,o,s){e=i,t=o,n=-3*i+3*a-2*o-s,r=2*i-2*a+o+s}return{initCatmullRom:function(e,t,n,r,a){i(t,n,a*(n-e),a*(r-t))},initNonuniformCatmullRom:function(e,t,n,r,a,o,s){let c=(t-e)/a-(n-e)/(a+o)+(n-t)/o,l=(n-t)/o-(r-t)/(o+s)+(r-n)/s;c*=o,l*=o,i(t,n,c,l)},calc:function(i){let a=i*i,o=a*i;return e+t*i+n*a+r*o}}}var FM=new Z,IM=new PM,LM=new PM,RM=new PM,zM=class extends jM{constructor(e=[],t=!1,n=`centripetal`,r=.5){super(),this.isCatmullRomCurve3=!0,this.type=`CatmullRomCurve3`,this.points=e,this.closed=t,this.curveType=n,this.tension=r}getPoint(e,t=new Z){let n=t,r=this.points,i=r.length,a=(i-+!this.closed)*e,o=Math.floor(a),s=a-o;this.closed?o+=o>0?0:(Math.floor(Math.abs(o)/i)+1)*i:s===0&&o===i-1&&(o=i-2,s=1);let c,l;this.closed||o>0?c=r[(o-1)%i]:(FM.subVectors(r[0],r[1]).add(r[0]),c=FM);let u=r[o%i],d=r[(o+1)%i];if(this.closed||o+2r.length-2?r.length-1:a+1],u=r[a>r.length-3?r.length-1:a+2];return n.set(BM(o,s.x,c.x,l.x,u.x),BM(o,s.y,c.y,l.y,u.y)),n}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t=n){let e=r[i]-n,a=this.curves[i],o=a.getLength(),s=o===0?0:1-e/o;return a.getPointAt(s,t)}i++}return null}getLength(){let e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;let e=[],t=0;for(let n=0,r=this.curves.length;n1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,n=e.curves.length;t0){let e=c.getPoint(0);e.equals(this.currentPoint)||this.lineTo(e.x,e.y)}this.curves.push(c);let l=c.getPoint(1);return this.currentPoint.copy(l),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){let e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}},oN=class extends aN{constructor(e){super(e),this.uuid=kO(),this.type=`Shape`,this.holes=[]}getPointsHoles(e){let t=[];for(let n=0,r=this.holes.length;n80*n){s=e[0],c=e[1];let t=s,r=c;for(let a=n;at&&(t=n),i>r&&(r=i)}l=Math.max(t-s,r-c),l=l===0?0:32767/l}return uN(a,o,n,s,c,l,0),o}function cN(e,t,n,r,i){let a;if(i===zN(e,t,n,r)>0)for(let i=t;i=t;i-=r)a=IN(i/r|0,e[i],e[i+1],a);return a&&ON(a,a.next)&&(LN(a),a=a.next),a}function lN(e,t){if(!e)return e;t||=e;let n=e,r;do if(r=!1,!n.steiner&&(ON(n,n.next)||DN(n.prev,n,n.next)===0)){if(LN(n),n=t=n.prev,n===n.next)break;r=!0}else n=n.next;while(r||n!==t);return t}function uN(e,t,n,r,i,a,o){if(!e)return;!o&&a&&bN(e,r,i,a);let s=e;for(;e.prev!==e.next;){let c=e.prev,l=e.next;if(a?fN(e,r,i,a):dN(e)){t.push(c.i,e.i,l.i),LN(e),e=l.next,s=l.next;continue}if(e=l,e===s){o?o===1?(e=pN(lN(e),t),uN(e,t,n,r,i,a,2)):o===2&&mN(e,t,n,r,i,a):uN(lN(e),t,n,r,i,a,1);break}}}function dN(e){let t=e.prev,n=e,r=e.next;if(DN(t,n,r)>=0)return!1;let i=t.x,a=n.x,o=r.x,s=t.y,c=n.y,l=r.y,u=Math.min(i,a,o),d=Math.min(s,c,l),f=Math.max(i,a,o),p=Math.max(s,c,l),m=r.next;for(;m!==t;){if(m.x>=u&&m.x<=f&&m.y>=d&&m.y<=p&&TN(i,s,a,c,o,l,m.x,m.y)&&DN(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function fN(e,t,n,r){let i=e.prev,a=e,o=e.next;if(DN(i,a,o)>=0)return!1;let s=i.x,c=a.x,l=o.x,u=i.y,d=a.y,f=o.y,p=Math.min(s,c,l),m=Math.min(u,d,f),h=Math.max(s,c,l),g=Math.max(u,d,f),_=SN(p,m,t,n,r),v=SN(h,g,t,n,r),y=e.prevZ,b=e.nextZ;for(;y&&y.z>=_&&b&&b.z<=v;){if(y.x>=p&&y.x<=h&&y.y>=m&&y.y<=g&&y!==i&&y!==o&&TN(s,u,c,d,l,f,y.x,y.y)&&DN(y.prev,y,y.next)>=0||(y=y.prevZ,b.x>=p&&b.x<=h&&b.y>=m&&b.y<=g&&b!==i&&b!==o&&TN(s,u,c,d,l,f,b.x,b.y)&&DN(b.prev,b,b.next)>=0))return!1;b=b.nextZ}for(;y&&y.z>=_;){if(y.x>=p&&y.x<=h&&y.y>=m&&y.y<=g&&y!==i&&y!==o&&TN(s,u,c,d,l,f,y.x,y.y)&&DN(y.prev,y,y.next)>=0)return!1;y=y.prevZ}for(;b&&b.z<=v;){if(b.x>=p&&b.x<=h&&b.y>=m&&b.y<=g&&b!==i&&b!==o&&TN(s,u,c,d,l,f,b.x,b.y)&&DN(b.prev,b,b.next)>=0)return!1;b=b.nextZ}return!0}function pN(e,t){let n=e;do{let r=n.prev,i=n.next.next;!ON(r,i)&&kN(r,n,n.next,i)&&NN(r,i)&&NN(i,r)&&(t.push(r.i,n.i,i.i),LN(n),LN(n.next),n=e=i),n=n.next}while(n!==e);return lN(n)}function mN(e,t,n,r,i,a){let o=e;do{let e=o.next.next;for(;e!==o.prev;){if(o.i!==e.i&&EN(o,e)){let s=FN(o,e);o=lN(o,o.next),s=lN(s,s.next),uN(o,t,n,r,i,a,0),uN(s,t,n,r,i,a,0);return}e=e.next}o=o.next}while(o!==e)}function hN(e,t,n,r){let i=[];for(let n=0,a=t.length;n=n.next.y&&n.next.y!==n.y){let e=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(e<=r&&e>a&&(a=e,o=n.x=n.x&&n.x>=c&&r!==n.x&&wN(io.x||n.x===o.x&&yN(o,n)))&&(o=n,u=t)}n=n.next}while(n!==s);return o}function yN(e,t){return DN(e.prev,e,t.prev)<0&&DN(t.next,e,e.next)<0}function bN(e,t,n,r){let i=e;do i.z===0&&(i.z=SN(i.x,i.y,t,n,r)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,xN(i)}function xN(e){let t,n=1;do{let r=e,i;e=null;let a=null;for(t=0;r;){t++;let o=r,s=0;for(let e=0;e0||c>0&&o;)s!==0&&(c===0||!o||r.z<=o.z)?(i=r,r=r.nextZ,s--):(i=o,o=o.nextZ,c--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;r=o}a.nextZ=null,n*=2}while(t>1);return e}function SN(e,t,n,r,i){return e=(e-n)*i|0,t=(t-r)*i|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function CN(e){let t=e,n=e;do(t.x=(e-o)*(a-s)&&(e-o)*(r-s)>=(n-o)*(t-s)&&(n-o)*(a-s)>=(i-o)*(r-s)}function TN(e,t,n,r,i,a,o,s){return(e!==o||t!==s)&&wN(e,t,n,r,i,a,o,s)}function EN(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!MN(e,t)&&(NN(e,t)&&NN(t,e)&&PN(e,t)&&(DN(e.prev,e,t.prev)||DN(e,t.prev,t))||ON(e,t)&&DN(e.prev,e,e.next)>0&&DN(t.prev,t,t.next)>0)}function DN(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function ON(e,t){return e.x===t.x&&e.y===t.y}function kN(e,t,n,r){let i=jN(DN(e,t,n)),a=jN(DN(e,t,r)),o=jN(DN(n,r,e)),s=jN(DN(n,r,t));return!!(i!==a&&o!==s||i===0&&AN(e,n,t)||a===0&&AN(e,r,t)||o===0&&AN(n,e,r)||s===0&&AN(n,t,r))}function AN(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function jN(e){return e>0?1:e<0?-1:0}function MN(e,t){let n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&kN(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}function NN(e,t){return DN(e.prev,e,e.next)<0?DN(e,t,e.next)>=0&&DN(e,e.prev,t)>=0:DN(e,t,e.prev)<0||DN(e,e.next,t)<0}function PN(e,t){let n=e,r=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do n.y>a!=n.next.y>a&&n.next.y!==n.y&&i<(n.next.x-n.x)*(a-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next;while(n!==e);return r}function FN(e,t){let n=RN(e.i,e.x,e.y),r=RN(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,n.next=i,i.prev=n,r.next=n,n.prev=r,a.next=r,r.prev=a,r}function IN(e,t,n,r){let i=RN(e,t,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function LN(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function RN(e,t,n){return{i:e,x:t,y:n,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function zN(e,t,n,r){let i=0;for(let a=t,o=n-r;a2&&e[t-1].equals(e[0])&&e.pop()}function UN(e,t){for(let n=0;n2**-52){let d=Math.sqrt(u),f=Math.sqrt(c*c+l*l),p=t.x-s/d,m=t.y+o/d,h=n.x-l/f,g=n.y+c/f,_=((h-p)*l-(g-m)*c)/(o*l-s*c);r=p+o*_-e.x,i=m+s*_-e.y;let v=r*r+i*i;if(v<=2)return new X(r,i);a=Math.sqrt(v/2)}else{let e=!1;o>2**-52?c>2**-52&&(e=!0):o<-(2**-52)?c<-(2**-52)&&(e=!0):Math.sign(s)===Math.sign(l)&&(e=!0),e?(r=-s,i=o,a=Math.sqrt(u)):(r=o,i=s,a=Math.sqrt(u/2))}return new X(r/a,i/a)}let A=[];for(let e=0,t=D.length,n=t-1,r=e+1;e=0;e--){let t=e/p,n=u*Math.cos(t*Math.PI/2),r=d*Math.sin(t*Math.PI/2)+f;for(let e=0,t=D.length;e=0;){let r=n,i=n-1;i<0&&(i=e.length-1);for(let e=0,n=s+p*2;e0)&&f.push(t,i,c),(e!==n-1||s0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get dispersion(){return this._dispersion}set dispersion(e){this._dispersion>0!=e>0&&this.version++,this._dispersion=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:``,PHYSICAL:``},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.dispersion=e.dispersion,this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}},eP=class extends WA{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type=`MeshDepthMaterial`,this.depthPacking=oO,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}},tP=class extends WA{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type=`MeshDistanceMaterial`,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}};function nP(e,t){return!e||e.constructor===t?e:typeof t.BYTES_PER_ELEMENT==`number`?new t(e):Array.prototype.slice.call(e)}var rP=class{constructor(e,t,n,r){this.parameterPositions=e,this._cachedIndex=0,this.resultBuffer=r===void 0?new t.constructor(n):r,this.sampleValues=t,this.valueSize=n,this.settings=null,this.DefaultSettings_={}}evaluate(e){let t=this.parameterPositions,n=this._cachedIndex,r=t[n],i=t[n-1];validate_interval:{seek:{let a;linear_scan:{forward_scan:if(!(e=i)){let o=t[1];e=i)break seek}a=n,n=0;break linear_scan}break validate_interval}for(;n>>1;et;)--a;if(++a,i!==0||a!==r){i>=a&&(a=Math.max(a,1),i=a-1);let e=this.getValueSize();this.times=n.slice(i,a),this.values=this.values.slice(i*e,a*e)}return this}validate(){let e=!0,t=this.getValueSize();t-Math.floor(t)!==0&&(xO(`KeyframeTrack: Invalid value size in track.`,this),e=!1);let n=this.times,r=this.values,i=n.length;i===0&&(xO(`KeyframeTrack: Track is empty.`,this),e=!1);let a=null;for(let t=0;t!==i;t++){let r=n[t];if(typeof r==`number`&&isNaN(r)){xO(`KeyframeTrack: Time is not a valid number.`,this,t,r),e=!1;break}if(a!==null&&a>r){xO(`KeyframeTrack: Out of order keys.`,this,t,r,a),e=!1;break}a=r}if(r!==void 0&&hO(r))for(let t=0,n=r.length;t!==n;++t){let n=r[t];if(isNaN(n)){xO(`KeyframeTrack: Value is not a valid number.`,this,t,n),e=!1;break}}return e}optimize(){let e=this.times.slice(),t=this.values.slice(),n=this.getValueSize(),r=this.getInterpolation()===nO,i=e.length-1,a=1;for(let o=1;o0){e[a]=e[i];for(let e=i*n,r=a*n,o=0;o!==n;++o)t[r+o]=t[e+o];++a}return a===e.length?(this.times=e,this.values=t):(this.times=e.slice(0,a),this.values=t.slice(0,a*n)),this}clone(){let e=this.times.slice(),t=this.values.slice(),n=this.constructor,r=new n(this.name,e,t);return r.createInterpolant=this.createInterpolant,r}};sP.prototype.ValueTypeName=``,sP.prototype.TimeBufferType=Float32Array,sP.prototype.ValueBufferType=Float32Array,sP.prototype.DefaultInterpolation=tO;var cP=class extends sP{constructor(e,t,n){super(e,t,n)}};cP.prototype.ValueTypeName=`bool`,cP.prototype.ValueBufferType=Array,cP.prototype.DefaultInterpolation=eO,cP.prototype.InterpolantFactoryMethodLinear=void 0,cP.prototype.InterpolantFactoryMethodSmooth=void 0;var lP=class extends sP{constructor(e,t,n,r){super(e,t,n,r)}};lP.prototype.ValueTypeName=`color`;var uP=class extends sP{constructor(e,t,n,r){super(e,t,n,r)}};uP.prototype.ValueTypeName=`number`;var dP=class extends rP{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e,t,n,r){let i=this.resultBuffer,a=this.sampleValues,o=this.valueSize,s=(n-t)/(r-t),c=e*o;for(let e=c+o;c!==e;c+=4)QO.slerpFlat(i,0,a,c-o,a,c,s);return i}},fP=class extends sP{constructor(e,t,n,r){super(e,t,n,r)}InterpolantFactoryMethodLinear(e){return new dP(this.times,this.values,this.getValueSize(),e)}};fP.prototype.ValueTypeName=`quaternion`,fP.prototype.InterpolantFactoryMethodSmooth=void 0;var pP=class extends sP{constructor(e,t,n){super(e,t,n)}};pP.prototype.ValueTypeName=`string`,pP.prototype.ValueBufferType=Array,pP.prototype.DefaultInterpolation=eO,pP.prototype.InterpolantFactoryMethodLinear=void 0,pP.prototype.InterpolantFactoryMethodSmooth=void 0;var mP=class extends sP{constructor(e,t,n,r){super(e,t,n,r)}};mP.prototype.ValueTypeName=`vector`;var hP={enabled:!1,files:{},add:function(e,t){this.enabled!==!1&&(this.files[e]=t)},get:function(e){if(this.enabled!==!1)return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}},gP=new class{constructor(e,t,n){let r=this,i=!1,a=0,o=0,s,c=[];this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=n,this._abortController=null,this.itemStart=function(e){o++,i===!1&&r.onStart!==void 0&&r.onStart(e,a,o),i=!0},this.itemEnd=function(e){a++,r.onProgress!==void 0&&r.onProgress(e,a,o),a===o&&(i=!1,r.onLoad!==void 0&&r.onLoad())},this.itemError=function(e){r.onError!==void 0&&r.onError(e)},this.resolveURL=function(e){return s?s(e):e},this.setURLModifier=function(e){return s=e,this},this.addHandler=function(e,t){return c.push(e,t),this},this.removeHandler=function(e){let t=c.indexOf(e);return t!==-1&&c.splice(t,2),this},this.getHandler=function(e){for(let t=0,n=c.length;t{t&&t(i),this.manager.itemEnd(e)},0),i;if(vP[e]!==void 0){vP[e].push({onLoad:t,onProgress:n,onError:r});return}vP[e]=[],vP[e].push({onLoad:t,onProgress:n,onError:r});let a=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?`include`:`same-origin`,signal:typeof AbortSignal.any==`function`?AbortSignal.any([this._abortController.signal,this.manager.abortController.signal]):this._abortController.signal}),o=this.mimeType,s=this.responseType;fetch(a).then(t=>{if(t.status===200||t.status===0){if(t.status===0&&bO(`FileLoader: HTTP Status 0 received.`),typeof ReadableStream>`u`||t.body===void 0||t.body.getReader===void 0)return t;let n=vP[e],r=t.body.getReader(),i=t.headers.get(`X-File-Size`)||t.headers.get(`Content-Length`),a=i?parseInt(i):0,o=a!==0,s=0,c=new ReadableStream({start(e){t();function t(){r.read().then(({done:r,value:i})=>{if(r)e.close();else{s+=i.byteLength;let r=new ProgressEvent(`progress`,{lengthComputable:o,loaded:s,total:a});for(let e=0,t=n.length;e{e.error(t)})}}});return new Response(c)}throw new yP(`fetch for "${t.url}" responded with ${t.status}: ${t.statusText}`,t)}).then(e=>{switch(s){case`arraybuffer`:return e.arrayBuffer();case`blob`:return e.blob();case`document`:return e.text().then(e=>new DOMParser().parseFromString(e,o));case`json`:return e.json();default:if(o===``)return e.text();{let t=/charset="?([^;"\s]*)"?/i.exec(o),n=t&&t[1]?t[1].toLowerCase():void 0,r=new TextDecoder(n);return e.arrayBuffer().then(e=>r.decode(e))}}}).then(t=>{hP.add(`file:${e}`,t);let n=vP[e];delete vP[e];for(let e=0,r=n.length;e{let n=vP[e];if(n===void 0)throw this.manager.itemError(e),t;delete vP[e];for(let e=0,r=n.length;e{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}abort(){return this._abortController.abort(),this._abortController=new AbortController,this}},xP=class extends SA{constructor(e,t=1){super(),this.isLight=!0,this.type=`Light`,this.color=new VA(e),this.intensity=t}dispose(){this.dispatchEvent({type:`dispose`})}copy(e,t){return super.copy(e,t),this.color.copy(e.color),this.intensity=e.intensity,this}toJSON(e){let t=super.toJSON(e);return t.object.color=this.color.getHex(),t.object.intensity=this.intensity,t}},SP=new Yk,CP=new Z,wP=new Z,TP=class{constructor(e){this.camera=e,this.intensity=1,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new X(512,512),this.mapType=YE,this.map=null,this.mapPass=null,this.matrix=new Yk,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new Zj,this._frameExtents=new X(1,1),this._viewportCount=1,this._viewports=[new _k(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(e){let t=this.camera,n=this.matrix;CP.setFromMatrixPosition(e.matrixWorld),t.position.copy(CP),wP.setFromMatrixPosition(e.target.matrixWorld),t.lookAt(wP),t.updateMatrixWorld(),SP.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this._frustum.setFromProjectionMatrix(SP,t.coordinateSystem,t.reversedDepth),t.reversedDepth?n.set(.5,0,0,.5,0,.5,0,.5,0,0,1,0,0,0,0,1):n.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),n.multiply(SP)}getViewport(e){return this._viewports[e]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(e){return this.camera=e.camera.clone(),this.intensity=e.intensity,this.bias=e.bias,this.radius=e.radius,this.autoUpdate=e.autoUpdate,this.needsUpdate=e.needsUpdate,this.normalBias=e.normalBias,this.blurSamples=e.blurSamples,this.mapSize.copy(e.mapSize),this}clone(){return new this.constructor().copy(this)}toJSON(){let e={};return this.intensity!==1&&(e.intensity=this.intensity),this.bias!==0&&(e.bias=this.bias),this.normalBias!==0&&(e.normalBias=this.normalBias),this.radius!==1&&(e.radius=this.radius),(this.mapSize.x!==512||this.mapSize.y!==512)&&(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}},EP=class extends TP{constructor(){super(new Nj(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1,this.aspect=1}updateMatrices(e){let t=this.camera,n=OO*2*e.angle*this.focus,r=this.mapSize.width/this.mapSize.height*this.aspect,i=e.distance||t.far;(n!==t.fov||r!==t.aspect||i!==t.far)&&(t.fov=n,t.aspect=r,t.far=i,t.updateProjectionMatrix()),super.updateMatrices(e)}copy(e){return super.copy(e),this.focus=e.focus,this}},DP=class extends xP{constructor(e,t,n=0,r=Math.PI/3,i=0,a=2){super(e,t),this.isSpotLight=!0,this.type=`SpotLight`,this.position.copy(SA.DEFAULT_UP),this.updateMatrix(),this.target=new SA,this.distance=n,this.angle=r,this.penumbra=i,this.decay=a,this.map=null,this.shadow=new EP}get power(){return this.intensity*Math.PI}set power(e){this.intensity=e/Math.PI}dispose(){super.dispose(),this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.angle=e.angle,this.penumbra=e.penumbra,this.decay=e.decay,this.target=e.target.clone(),this.map=e.map,this.shadow=e.shadow.clone(),this}toJSON(e){let t=super.toJSON(e);return t.object.distance=this.distance,t.object.angle=this.angle,t.object.decay=this.decay,t.object.penumbra=this.penumbra,t.object.target=this.target.uuid,this.map&&this.map.isTexture&&(t.object.map=this.map.toJSON(e).uuid),t.object.shadow=this.shadow.toJSON(),t}},OP=class extends TP{constructor(){super(new Nj(90,1,.5,500)),this.isPointLightShadow=!0}},kP=class extends xP{constructor(e,t,n=0,r=2){super(e,t),this.isPointLight=!0,this.type=`PointLight`,this.distance=n,this.decay=r,this.shadow=new OP}get power(){return this.intensity*4*Math.PI}set power(e){this.intensity=e/(4*Math.PI)}dispose(){super.dispose(),this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.decay=e.decay,this.shadow=e.shadow.clone(),this}toJSON(e){let t=super.toJSON(e);return t.object.distance=this.distance,t.object.decay=this.decay,t.object.shadow=this.shadow.toJSON(),t}},AP=class extends kj{constructor(e=-1,t=1,n=1,r=-1,i=.1,a=2e3){super(),this.isOrthographicCamera=!0,this.type=`OrthographicCamera`,this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=n,this.bottom=r,this.near=i,this.far=a,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,t,n,r,i,a){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=r,this.view.width=i,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){let e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,r=(this.top+this.bottom)/2,i=n-e,a=n+e,o=r+t,s=r-t;if(this.view!==null&&this.view.enabled){let e=(this.right-this.left)/this.view.fullWidth/this.zoom,t=(this.top-this.bottom)/this.view.fullHeight/this.zoom;i+=e*this.view.offsetX,a=i+e*this.view.width,o-=t*this.view.offsetY,s=o-t*this.view.height}this.projectionMatrix.makeOrthographic(i,a,o,s,this.near,this.far,this.coordinateSystem,this.reversedDepth),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){let t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}},jP=class extends TP{constructor(){super(new AP(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}},MP=class extends xP{constructor(e,t){super(e,t),this.isDirectionalLight=!0,this.type=`DirectionalLight`,this.position.copy(SA.DEFAULT_UP),this.updateMatrix(),this.target=new SA,this.shadow=new jP}dispose(){super.dispose(),this.shadow.dispose()}copy(e){return super.copy(e),this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}toJSON(e){let t=super.toJSON(e);return t.object.shadow=this.shadow.toJSON(),t.object.target=this.target.uuid,t}},NP=class extends xP{constructor(e,t){super(e,t),this.isAmbientLight=!0,this.type=`AmbientLight`}},PP=class extends xP{constructor(e,t,n=10,r=10){super(e,t),this.isRectAreaLight=!0,this.type=`RectAreaLight`,this.width=n,this.height=r}get power(){return this.intensity*this.width*this.height*Math.PI}set power(e){this.intensity=e/(this.width*this.height*Math.PI)}copy(e){return super.copy(e),this.width=e.width,this.height=e.height,this}toJSON(e){let t=super.toJSON(e);return t.object.width=this.width,t.object.height=this.height,t}},FP=class extends Nj{constructor(e=[]){super(),this.isArrayCamera=!0,this.isMultiViewCamera=!1,this.cameras=e}},IP=`\\[\\]\\.:\\/`,LP=RegExp(`[\\[\\]\\.:\\/]`,`g`),RP=`[^\\[\\]\\.:\\/]`,zP=`[^`+IP.replace(`\\.`,``)+`]`,BP=`((?:WC+[\\/:])*)`.replace(`WC`,RP),VP=`(WCOD+)?`.replace(`WCOD`,zP),HP=`(?:\\.(WC+)(?:\\[(.+)\\])?)?`.replace(`WC`,RP),UP=`\\.(WC+)(?:\\[(.+)\\])?`.replace(`WC`,RP),WP=RegExp(`^`+BP+VP+HP+UP+`$`),GP=[`material`,`materials`,`bones`,`map`],KP=class{constructor(e,t,n){let r=n||qP.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,r)}getValue(e,t){this.bind();let n=this._targetGroup.nCachedObjects_,r=this._bindings[n];r!==void 0&&r.getValue(e,t)}setValue(e,t){let n=this._bindings;for(let r=this._targetGroup.nCachedObjects_,i=n.length;r!==i;++r)n[r].setValue(e,t)}bind(){let e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].bind()}unbind(){let e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].unbind()}},qP=class e{constructor(t,n,r){this.path=n,this.parsedPath=r||e.parseTrackName(n),this.node=e.findNode(t,this.parsedPath.nodeName),this.rootNode=t,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(t,n,r){return t&&t.isAnimationObjectGroup?new e.Composite(t,n,r):new e(t,n,r)}static sanitizeNodeName(e){return e.replace(/\s/g,`_`).replace(LP,``)}static parseTrackName(e){let t=WP.exec(e);if(t===null)throw Error(`PropertyBinding: Cannot parse trackName: `+e);let n={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},r=n.nodeName&&n.nodeName.lastIndexOf(`.`);if(r!==void 0&&r!==-1){let e=n.nodeName.substring(r+1);GP.indexOf(e)!==-1&&(n.nodeName=n.nodeName.substring(0,r),n.objectName=e)}if(n.propertyName===null||n.propertyName.length===0)throw Error(`PropertyBinding: can not parse propertyName from trackName: `+e);return n}static findNode(e,t){if(t===void 0||t===``||t===`.`||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){let n=e.skeleton.getBoneByName(t);if(n!==void 0)return n}if(e.children){let n=function(e){for(let r=0;r.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{$P.set(e.z,0,-e.x).normalize();let t=Math.acos(e.y);this.quaternion.setFromAxisAngle($P,t)}}setLength(e,t=e*.2,n=t*.2){this.line.scale.set(1,Math.max(1e-4,e-t),1),this.line.updateMatrix(),this.cone.scale.set(n,t,n),this.cone.position.y=e,this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e),this.cone.material.color.set(e)}copy(e){return super.copy(e,!1),this.line.copy(e.line),this.cone.copy(e.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}},rF=class extends uM{constructor(e=1){let t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],n=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],r=new oj;r.setAttribute(`position`,new QA(t,3)),r.setAttribute(`color`,new QA(n,3));let i=new Qj({vertexColors:!0,toneMapped:!1});super(r,i),this.type=`AxesHelper`}setColors(e,t,n){let r=new VA,i=this.geometry.attributes.color.array;return r.set(e),r.toArray(i,0),r.toArray(i,3),r.set(t),r.toArray(i,6),r.toArray(i,9),r.set(n),r.toArray(i,12),r.toArray(i,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}},iF=class{constructor(){this.type=`ShapePath`,this.color=new VA,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new aN,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,t),this}lineTo(e,t){return this.currentPath.lineTo(e,t),this}quadraticCurveTo(e,t,n,r){return this.currentPath.quadraticCurveTo(e,t,n,r),this}bezierCurveTo(e,t,n,r,i,a){return this.currentPath.bezierCurveTo(e,t,n,r,i,a),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e){function t(e){let t=[];for(let n=0,r=e.length;n2**-52){if(c<0&&(n=t[a],s=-s,o=t[i],c=-c),e.yo.y)continue;if(e.y===n.y){if(e.x===n.x)return!0}else{let t=c*(e.x-n.x)-s*(e.y-n.y);if(t===0)return!0;if(t<0)continue;r=!r}}else{if(e.y!==n.y)continue;if(o.x<=e.x&&e.x<=n.x||n.x<=e.x&&e.x<=o.x)return!0}}return r}let r=VN.isClockWise,i=this.subPaths;if(i.length===0)return[];let a,o,s,c=[];if(i.length===1)return o=i[0],s=new oN,s.curves=o.curves,c.push(s),c;let l=!r(i[0].getPoints());l=e?!l:l;let u=[],d=[],f=[],p=0,m;d[p]=void 0,f[p]=[];for(let t=0,n=i.length;t1){let e=!1,t=0;for(let e=0,t=d.length;e0&&e===!1&&(f=u)}let h;for(let e=0,t=d.length;ee.start-t.start);let t=0;for(let e=1;e #include #include -}`},$={common:{diffuse:{value:new fA(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new EO},alphaMap:{value:null},alphaMapTransform:{value:new EO},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new EO}},envmap:{envMap:{value:null},envMapRotation:{value:new EO},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98},dfgLUT:{value:null}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new EO}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new EO}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new EO},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new EO},normalScale:{value:new X(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new EO},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new EO}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new EO}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new EO}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new fA(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new fA(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new EO},alphaTest:{value:0},uvTransform:{value:new EO}},sprite:{diffuse:{value:new fA(16777215)},opacity:{value:1},center:{value:new X(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new EO},alphaMap:{value:null},alphaMapTransform:{value:new EO},alphaTest:{value:0}}},IP={basic:{uniforms:qA([$.common,$.specularmap,$.envmap,$.aomap,$.lightmap,$.fog]),vertexShader:FP.meshbasic_vert,fragmentShader:FP.meshbasic_frag},lambert:{uniforms:qA([$.common,$.specularmap,$.envmap,$.aomap,$.lightmap,$.emissivemap,$.bumpmap,$.normalmap,$.displacementmap,$.fog,$.lights,{emissive:{value:new fA(0)}}]),vertexShader:FP.meshlambert_vert,fragmentShader:FP.meshlambert_frag},phong:{uniforms:qA([$.common,$.specularmap,$.envmap,$.aomap,$.lightmap,$.emissivemap,$.bumpmap,$.normalmap,$.displacementmap,$.fog,$.lights,{emissive:{value:new fA(0)},specular:{value:new fA(1118481)},shininess:{value:30}}]),vertexShader:FP.meshphong_vert,fragmentShader:FP.meshphong_frag},standard:{uniforms:qA([$.common,$.envmap,$.aomap,$.lightmap,$.emissivemap,$.bumpmap,$.normalmap,$.displacementmap,$.roughnessmap,$.metalnessmap,$.fog,$.lights,{emissive:{value:new fA(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:FP.meshphysical_vert,fragmentShader:FP.meshphysical_frag},toon:{uniforms:qA([$.common,$.aomap,$.lightmap,$.emissivemap,$.bumpmap,$.normalmap,$.displacementmap,$.gradientmap,$.fog,$.lights,{emissive:{value:new fA(0)}}]),vertexShader:FP.meshtoon_vert,fragmentShader:FP.meshtoon_frag},matcap:{uniforms:qA([$.common,$.bumpmap,$.normalmap,$.displacementmap,$.fog,{matcap:{value:null}}]),vertexShader:FP.meshmatcap_vert,fragmentShader:FP.meshmatcap_frag},points:{uniforms:qA([$.points,$.fog]),vertexShader:FP.points_vert,fragmentShader:FP.points_frag},dashed:{uniforms:qA([$.common,$.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:FP.linedashed_vert,fragmentShader:FP.linedashed_frag},depth:{uniforms:qA([$.common,$.displacementmap]),vertexShader:FP.depth_vert,fragmentShader:FP.depth_frag},normal:{uniforms:qA([$.common,$.bumpmap,$.normalmap,$.displacementmap,{opacity:{value:1}}]),vertexShader:FP.meshnormal_vert,fragmentShader:FP.meshnormal_frag},sprite:{uniforms:qA([$.sprite,$.fog]),vertexShader:FP.sprite_vert,fragmentShader:FP.sprite_frag},background:{uniforms:{uvTransform:{value:new EO},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:FP.background_vert,fragmentShader:FP.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new EO}},vertexShader:FP.backgroundCube_vert,fragmentShader:FP.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:FP.cube_vert,fragmentShader:FP.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:FP.equirect_vert,fragmentShader:FP.equirect_frag},distance:{uniforms:qA([$.common,$.displacementmap,{referencePosition:{value:new Z},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:FP.distance_vert,fragmentShader:FP.distance_frag},shadow:{uniforms:qA([$.lights,$.fog,{color:{value:new fA(0)},opacity:{value:1}}]),vertexShader:FP.shadow_vert,fragmentShader:FP.shadow_frag}};IP.physical={uniforms:qA([IP.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new EO},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new EO},clearcoatNormalScale:{value:new X(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new EO},dispersion:{value:0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new EO},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new EO},sheen:{value:0},sheenColor:{value:new fA(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new EO},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new EO},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new EO},transmissionSamplerSize:{value:new X},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new EO},attenuationDistance:{value:0},attenuationColor:{value:new fA(0)},specularColor:{value:new fA(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new EO},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new EO},anisotropyVector:{value:new X},anisotropyMap:{value:null},anisotropyMapTransform:{value:new EO}}]),vertexShader:FP.meshphysical_vert,fragmentShader:FP.meshphysical_frag};var LP={r:0,b:0,g:0},RP=new Ak,zP=new bk;function BP(e,t,n,r,i,a,o){let s=new fA(0),c=a===!0?0:1,l,u,d=null,f=0,p=null;function m(e){let r=e.isScene===!0?e.background:null;return r&&r.isTexture&&(r=(e.backgroundBlurriness>0?n:t).get(r)),r}function h(t){let n=!1,i=m(t);i===null?_(s,c):i&&i.isColor&&(_(i,1),n=!0);let a=e.xr.getEnvironmentBlendMode();a===`additive`?r.buffers.color.setClear(0,0,0,1,o):a===`alpha-blend`&&r.buffers.color.setClear(0,0,0,0,o),(e.autoClear||n)&&(r.buffers.depth.setTest(!0),r.buffers.depth.setMask(!0),r.buffers.color.setMask(!0),e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil))}function g(t,n){let r=m(n);r&&(r.isCubeTexture||r.mapping===306)?(u===void 0&&(u=new Q(new GA(1,1,1),new $A({name:`BackgroundCubeMaterial`,uniforms:KA(IP.backgroundCube.uniforms),vertexShader:IP.backgroundCube.vertexShader,fragmentShader:IP.backgroundCube.fragmentShader,side:1,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),u.geometry.deleteAttribute(`normal`),u.geometry.deleteAttribute(`uv`),u.onBeforeRender=function(e,t,n){this.matrixWorld.copyPosition(n.matrixWorld)},Object.defineProperty(u.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(u)),RP.copy(n.backgroundRotation),RP.x*=-1,RP.y*=-1,RP.z*=-1,r.isCubeTexture&&r.isRenderTargetTexture===!1&&(RP.y*=-1,RP.z*=-1),u.material.uniforms.envMap.value=r,u.material.uniforms.flipEnvMap.value=r.isCubeTexture&&r.isRenderTargetTexture===!1?-1:1,u.material.uniforms.backgroundBlurriness.value=n.backgroundBlurriness,u.material.uniforms.backgroundIntensity.value=n.backgroundIntensity,u.material.uniforms.backgroundRotation.value.setFromMatrix4(zP.makeRotationFromEuler(RP)),u.material.toneMapped=jO.getTransfer(r.colorSpace)!==FD,(d!==r||f!==r.version||p!==e.toneMapping)&&(u.material.needsUpdate=!0,d=r,f=r.version,p=e.toneMapping),u.layers.enableAll(),t.unshift(u,u.geometry,u.material,0,0,null)):r&&r.isTexture&&(l===void 0&&(l=new Q(new yN(2,2),new $A({name:`BackgroundMaterial`,uniforms:KA(IP.background.uniforms),vertexShader:IP.background.vertexShader,fragmentShader:IP.background.fragmentShader,side:0,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),l.geometry.deleteAttribute(`normal`),Object.defineProperty(l.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(l)),l.material.uniforms.t2D.value=r,l.material.uniforms.backgroundIntensity.value=n.backgroundIntensity,l.material.toneMapped=jO.getTransfer(r.colorSpace)!==FD,r.matrixAutoUpdate===!0&&r.updateMatrix(),l.material.uniforms.uvTransform.value.copy(r.matrix),(d!==r||f!==r.version||p!==e.toneMapping)&&(l.material.needsUpdate=!0,d=r,f=r.version,p=e.toneMapping),l.layers.enableAll(),t.unshift(l,l.geometry,l.material,0,0,null))}function _(t,n){t.getRGB(LP,YA(e)),r.buffers.color.setClear(LP.r,LP.g,LP.b,n,o)}function v(){u!==void 0&&(u.geometry.dispose(),u.material.dispose(),u=void 0),l!==void 0&&(l.geometry.dispose(),l.material.dispose(),l=void 0)}return{getClearColor:function(){return s},setClearColor:function(e,t=1){s.set(e),c=t,_(s,c)},getClearAlpha:function(){return c},setClearAlpha:function(e){c=e,_(s,c)},render:h,addToRenderList:g,dispose:v}}function VP(e,t){let n=e.getParameter(e.MAX_VERTEX_ATTRIBS),r={},i=f(null),a=i,o=!1;function s(n,r,i,s,c){let u=!1,f=d(s,i,r);a!==f&&(a=f,l(a.object)),u=p(n,s,i,c),u&&m(n,s,i,c),c!==null&&t.update(c,e.ELEMENT_ARRAY_BUFFER),(u||o)&&(o=!1,b(n,r,i,s),c!==null&&e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t.get(c).buffer))}function c(){return e.createVertexArray()}function l(t){return e.bindVertexArray(t)}function u(t){return e.deleteVertexArray(t)}function d(e,t,n){let i=n.wireframe===!0,a=r[e.id];a===void 0&&(a={},r[e.id]=a);let o=a[t.id];o===void 0&&(o={},a[t.id]=o);let s=o[i];return s===void 0&&(s=f(c()),o[i]=s),s}function f(e){let t=[],r=[],i=[];for(let e=0;e=0){let n=i[t],r=o[t];if(r===void 0&&(t===`instanceMatrix`&&e.instanceMatrix&&(r=e.instanceMatrix),t===`instanceColor`&&e.instanceColor&&(r=e.instanceColor)),n===void 0||n.attribute!==r||r&&n.data!==r.data)return!0;s++}return a.attributesNum!==s||a.index!==r}function m(e,t,n,r){let i={},o=t.attributes,s=0,c=n.getAttributes();for(let t in c)if(c[t].location>=0){let n=o[t];n===void 0&&(t===`instanceMatrix`&&e.instanceMatrix&&(n=e.instanceMatrix),t===`instanceColor`&&e.instanceColor&&(n=e.instanceColor));let r={};r.attribute=n,n&&n.data&&(r.data=n.data),i[t]=r,s++}a.attributes=i,a.attributesNum=s,a.index=r}function h(){let e=a.newAttributes;for(let t=0,n=e.length;t=0){let s=o[r];if(s===void 0&&(r===`instanceMatrix`&&n.instanceMatrix&&(s=n.instanceMatrix),r===`instanceColor`&&n.instanceColor&&(s=n.instanceColor)),s!==void 0){let r=s.normalized,o=s.itemSize,c=t.get(s);if(c===void 0)continue;let l=c.buffer,u=c.type,d=c.bytesPerElement,f=u===e.INT||u===e.UNSIGNED_INT||s.gpuType===1013;if(s.isInterleavedBufferAttribute){let t=s.data,c=t.stride,p=s.offset;if(t.isInstancedInterleavedBuffer){for(let e=0;e0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.HIGH_FLOAT).precision>0)return`highp`;t=`mediump`}return t===`mediump`&&e.getShaderPrecisionFormat(e.VERTEX_SHADER,e.MEDIUM_FLOAT).precision>0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.MEDIUM_FLOAT).precision>0?`mediump`:`lowp`}let l=n.precision===void 0?`highp`:n.precision,u=c(l);u!==l&&(GD(`WebGLRenderer:`,l,`not supported, using`,u,`instead.`),l=u);let d=n.logarithmicDepthBuffer===!0,f=n.reversedDepthBuffer===!0&&t.has(`EXT_clip_control`),p=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS),m=e.getParameter(e.MAX_VERTEX_TEXTURE_IMAGE_UNITS),h=e.getParameter(e.MAX_TEXTURE_SIZE),g=e.getParameter(e.MAX_CUBE_MAP_TEXTURE_SIZE),_=e.getParameter(e.MAX_VERTEX_ATTRIBS),v=e.getParameter(e.MAX_VERTEX_UNIFORM_VECTORS),y=e.getParameter(e.MAX_VARYING_VECTORS),b=e.getParameter(e.MAX_FRAGMENT_UNIFORM_VECTORS),x=e.getParameter(e.MAX_SAMPLES),S=e.getParameter(e.SAMPLES);return{isWebGL2:!0,getMaxAnisotropy:a,getMaxPrecision:c,textureFormatReadable:o,textureTypeReadable:s,precision:l,logarithmicDepthBuffer:d,reversedDepthBuffer:f,maxTextures:p,maxVertexTextures:m,maxTextureSize:h,maxCubemapSize:g,maxAttributes:_,maxVertexUniforms:v,maxVaryings:y,maxFragmentUniforms:b,maxSamples:x,samples:S}}function WP(e){let t=this,n=null,r=0,i=!1,a=!1,o=new vj,s=new EO,c={value:null,needsUpdate:!1};this.uniform=c,this.numPlanes=0,this.numIntersection=0,this.init=function(e,t){let n=e.length!==0||t||r!==0||i;return i=t,r=e.length,n},this.beginShadows=function(){a=!0,u(null)},this.endShadows=function(){a=!1},this.setGlobalState=function(e,t){n=u(e,t,0)},this.setState=function(t,o,s){let d=t.clippingPlanes,f=t.clipIntersection,p=t.clipShadows,m=e.get(t);if(!i||d===null||d.length===0||a&&!p)a?u(null):l();else{let e=a?0:r,t=e*4,i=m.clippingState||null;c.value=i,i=u(d,o,t,s);for(let e=0;e!==t;++e)i[e]=n[e];m.clippingState=i,this.numIntersection=f?this.numPlanes:0,this.numPlanes+=e}};function l(){c.value!==n&&(c.value=n,c.needsUpdate=r>0),t.numPlanes=r,t.numIntersection=0}function u(e,n,r,i){let a=e===null?0:e.length,l=null;if(a!==0){if(l=c.value,i!==!0||l===null){let t=r+a*4,i=n.matrixWorldInverse;s.getNormalMatrix(i),(l===null||l.length0){let o=new lj(a.height);return o.fromEquirectangularTexture(e,r),t.set(r,o),r.addEventListener(`dispose`,i),n(o.texture,r.mapping)}return null}}}return r}function i(e){let n=e.target;n.removeEventListener(`dispose`,i);let r=t.get(n);r!==void 0&&(t.delete(n),r.dispose())}function a(){t=new WeakMap}return{get:r,dispose:a}}var KP=4,qP=[.125,.215,.35,.446,.526,.582],JP=20,YP=256,XP=new tP,ZP=new fA,QP=null,$P=0,eF=0,tF=!1,nF=new Z,rF=class{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._sizeLods=[],this._sigmas=[],this._lodMeshes=[],this._backgroundBox=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._blurMaterial=null,this._ggxMaterial=null}fromScene(e,t=0,n=.1,r=100,i={}){let{size:a=256,position:o=nF}=i;QP=this._renderer.getRenderTarget(),$P=this._renderer.getActiveCubeFace(),eF=this._renderer.getActiveMipmapLevel(),tF=this._renderer.xr.enabled,this._renderer.xr.enabled=!1,this._setSize(a);let s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(e,n,r,s,o),t>0&&this._blur(s,0,0,t),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=uF(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=lF(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose(),this._backgroundBox!==null&&(this._backgroundBox.geometry.dispose(),this._backgroundBox.material.dispose())}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=2**this._lodMax}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._ggxMaterial!==null&&this._ggxMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e2?l:0,l,l),c.setRenderTarget(r),p&&c.render(d,a),c.render(e,a)}c.toneMapping=u,c.autoClear=l,e.background=m}_textureToCubeUV(e,t){let n=this._renderer,r=e.mapping===301||e.mapping===302;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=uF()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=lF());let i=r?this._cubemapMaterial:this._equirectMaterial,a=this._lodMeshes[0];a.material=i;let o=i.uniforms;o.envMap.value=e;let s=this._cubeSize;oF(t,0,0,3*s,2*s),n.setRenderTarget(t),n.render(a,XP)}_applyPMREM(e){let t=this._renderer,n=t.autoClear;t.autoClear=!1;let r=this._lodMeshes.length;for(let t=1;td-KP?n-d+KP:0),m=4*(this._cubeSize-f);s.envMap.value=e.texture,s.roughness.value=u,s.mipInt.value=d-t,oF(i,p,m,3*f,2*f),r.setRenderTarget(i),r.render(o,XP),s.envMap.value=i.texture,s.roughness.value=0,s.mipInt.value=d-n,oF(e,p,m,3*f,2*f),r.setRenderTarget(e),r.render(o,XP)}_blur(e,t,n,r,i){let a=this._pingPongRenderTarget;this._halfBlur(e,a,t,n,r,`latitudinal`,i),this._halfBlur(a,e,n,n,r,`longitudinal`,i)}_halfBlur(e,t,n,r,i,a,o){let s=this._renderer,c=this._blurMaterial;a!==`latitudinal`&&a!==`longitudinal`&&KD(`blur direction must be either latitudinal or longitudinal!`);let l=this._lodMeshes[r];l.material=c;let u=c.uniforms,d=this._sizeLods[n]-1,f=isFinite(i)?Math.PI/(2*d):2*Math.PI/39,p=i/f,m=isFinite(i)?1+Math.floor(3*p):JP;m>JP&&GD(`sigmaRadians, ${i}, is too large and will clip, as it requested ${m} samples when the maximum is set to ${JP}`);let h=[],g=0;for(let e=0;e_-KP?r-_+KP:0),4*(this._cubeSize-v),3*v,2*v),s.setRenderTarget(t),s.render(l,XP)}};function iF(e){let t=[],n=[],r=[],i=e,a=e-KP+1+qP.length;for(let o=0;oe-KP?s=qP[o-e+KP-1]:o===0&&(s=0),n.push(s);let c=1/(a-2),l=-c,u=1+c,d=[l,l,u,l,u,u,l,l,u,u,l,u],f=new Float32Array(108),p=new Float32Array(72),m=new Float32Array(36);for(let e=0;e<6;e++){let t=e%3*2/3-1,n=e>2?0:-1,r=[t,n,0,t+2/3,n,0,t+2/3,n+1,0,t,n,0,t+2/3,n+1,0,t,n+1,0];f.set(r,18*e),p.set(d,12*e);let i=[e,e,e,e,e,e];m.set(i,6*e)}let h=new jA;h.setAttribute(`position`,new bA(f,3)),h.setAttribute(`uv`,new bA(p,2)),h.setAttribute(`faceIndex`,new bA(m,1)),r.push(new Q(h,null)),i>KP&&i--}return{lodMeshes:r,sizeLods:t,sigmas:n}}function aF(e,t,n){let r=new WO(e,t,n);return r.texture.mapping=306,r.texture.name=`PMREM.cubeUv`,r.scissorTest=!0,r}function oF(e,t,n,r,i){e.viewport.set(t,n,r,i),e.scissor.set(t,n,r,i)}function sF(e,t,n){return new $A({name:`PMREMGGXConvolution`,defines:{GGX_SAMPLES:YP,CUBEUV_TEXEL_WIDTH:1/t,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:`${e}.0`},uniforms:{envMap:{value:null},roughness:{value:0},mipInt:{value:0}},vertexShader:dF(),fragmentShader:` +}`},$={common:{diffuse:{value:new VA(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new tk},alphaMap:{value:null},alphaMapTransform:{value:new tk},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new tk}},envmap:{envMap:{value:null},envMapRotation:{value:new tk},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98},dfgLUT:{value:null}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new tk}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new tk}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new tk},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new tk},normalScale:{value:new X(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new tk},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new tk}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new tk}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new tk}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new VA(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new VA(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new tk},alphaTest:{value:0},uvTransform:{value:new tk}},sprite:{diffuse:{value:new VA(16777215)},opacity:{value:1},center:{value:new X(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new tk},alphaMap:{value:null},alphaMapTransform:{value:new tk},alphaTest:{value:0}}},dF={basic:{uniforms:Sj([$.common,$.specularmap,$.envmap,$.aomap,$.lightmap,$.fog]),vertexShader:uF.meshbasic_vert,fragmentShader:uF.meshbasic_frag},lambert:{uniforms:Sj([$.common,$.specularmap,$.envmap,$.aomap,$.lightmap,$.emissivemap,$.bumpmap,$.normalmap,$.displacementmap,$.fog,$.lights,{emissive:{value:new VA(0)}}]),vertexShader:uF.meshlambert_vert,fragmentShader:uF.meshlambert_frag},phong:{uniforms:Sj([$.common,$.specularmap,$.envmap,$.aomap,$.lightmap,$.emissivemap,$.bumpmap,$.normalmap,$.displacementmap,$.fog,$.lights,{emissive:{value:new VA(0)},specular:{value:new VA(1118481)},shininess:{value:30}}]),vertexShader:uF.meshphong_vert,fragmentShader:uF.meshphong_frag},standard:{uniforms:Sj([$.common,$.envmap,$.aomap,$.lightmap,$.emissivemap,$.bumpmap,$.normalmap,$.displacementmap,$.roughnessmap,$.metalnessmap,$.fog,$.lights,{emissive:{value:new VA(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:uF.meshphysical_vert,fragmentShader:uF.meshphysical_frag},toon:{uniforms:Sj([$.common,$.aomap,$.lightmap,$.emissivemap,$.bumpmap,$.normalmap,$.displacementmap,$.gradientmap,$.fog,$.lights,{emissive:{value:new VA(0)}}]),vertexShader:uF.meshtoon_vert,fragmentShader:uF.meshtoon_frag},matcap:{uniforms:Sj([$.common,$.bumpmap,$.normalmap,$.displacementmap,$.fog,{matcap:{value:null}}]),vertexShader:uF.meshmatcap_vert,fragmentShader:uF.meshmatcap_frag},points:{uniforms:Sj([$.points,$.fog]),vertexShader:uF.points_vert,fragmentShader:uF.points_frag},dashed:{uniforms:Sj([$.common,$.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:uF.linedashed_vert,fragmentShader:uF.linedashed_frag},depth:{uniforms:Sj([$.common,$.displacementmap]),vertexShader:uF.depth_vert,fragmentShader:uF.depth_frag},normal:{uniforms:Sj([$.common,$.bumpmap,$.normalmap,$.displacementmap,{opacity:{value:1}}]),vertexShader:uF.meshnormal_vert,fragmentShader:uF.meshnormal_frag},sprite:{uniforms:Sj([$.sprite,$.fog]),vertexShader:uF.sprite_vert,fragmentShader:uF.sprite_frag},background:{uniforms:{uvTransform:{value:new tk},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:uF.background_vert,fragmentShader:uF.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new tk}},vertexShader:uF.backgroundCube_vert,fragmentShader:uF.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:uF.cube_vert,fragmentShader:uF.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:uF.equirect_vert,fragmentShader:uF.equirect_frag},distance:{uniforms:Sj([$.common,$.displacementmap,{referencePosition:{value:new Z},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:uF.distance_vert,fragmentShader:uF.distance_frag},shadow:{uniforms:Sj([$.lights,$.fog,{color:{value:new VA(0)},opacity:{value:1}}]),vertexShader:uF.shadow_vert,fragmentShader:uF.shadow_frag}};dF.physical={uniforms:Sj([dF.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new tk},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new tk},clearcoatNormalScale:{value:new X(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new tk},dispersion:{value:0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new tk},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new tk},sheen:{value:0},sheenColor:{value:new VA(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new tk},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new tk},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new tk},transmissionSamplerSize:{value:new X},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new tk},attenuationDistance:{value:0},attenuationColor:{value:new VA(0)},specularColor:{value:new VA(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new tk},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new tk},anisotropyVector:{value:new X},anisotropyMap:{value:null},anisotropyMapTransform:{value:new tk}}]),vertexShader:uF.meshphysical_vert,fragmentShader:uF.meshphysical_frag};var fF={r:0,b:0,g:0},pF=new aA,mF=new Yk;function hF(e,t,n,r,i,a,o){let s=new VA(0),c=a===!0?0:1,l,u,d=null,f=0,p=null;function m(e){let r=e.isScene===!0?e.background:null;return r&&r.isTexture&&(r=(e.backgroundBlurriness>0?n:t).get(r)),r}function h(t){let n=!1,i=m(t);i===null?_(s,c):i&&i.isColor&&(_(i,1),n=!0);let a=e.xr.getEnvironmentBlendMode();a===`additive`?r.buffers.color.setClear(0,0,0,1,o):a===`alpha-blend`&&r.buffers.color.setClear(0,0,0,0,o),(e.autoClear||n)&&(r.buffers.depth.setTest(!0),r.buffers.depth.setMask(!0),r.buffers.color.setMask(!0),e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil))}function g(t,n){let r=m(n);r&&(r.isCubeTexture||r.mapping===306)?(u===void 0&&(u=new Q(new bj(1,1,1),new Oj({name:`BackgroundCubeMaterial`,uniforms:xj(dF.backgroundCube.uniforms),vertexShader:dF.backgroundCube.vertexShader,fragmentShader:dF.backgroundCube.fragmentShader,side:1,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),u.geometry.deleteAttribute(`normal`),u.geometry.deleteAttribute(`uv`),u.onBeforeRender=function(e,t,n){this.matrixWorld.copyPosition(n.matrixWorld)},Object.defineProperty(u.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(u)),pF.copy(n.backgroundRotation),pF.x*=-1,pF.y*=-1,pF.z*=-1,r.isCubeTexture&&r.isRenderTargetTexture===!1&&(pF.y*=-1,pF.z*=-1),u.material.uniforms.envMap.value=r,u.material.uniforms.flipEnvMap.value=r.isCubeTexture&&r.isRenderTargetTexture===!1?-1:1,u.material.uniforms.backgroundBlurriness.value=n.backgroundBlurriness,u.material.uniforms.backgroundIntensity.value=n.backgroundIntensity,u.material.uniforms.backgroundRotation.value.setFromMatrix4(mF.makeRotationFromEuler(pF)),u.material.toneMapped=ok.getTransfer(r.colorSpace)!==uO,(d!==r||f!==r.version||p!==e.toneMapping)&&(u.material.needsUpdate=!0,d=r,f=r.version,p=e.toneMapping),u.layers.enableAll(),t.unshift(u,u.geometry,u.material,0,0,null)):r&&r.isTexture&&(l===void 0&&(l=new Q(new JN(2,2),new Oj({name:`BackgroundMaterial`,uniforms:xj(dF.background.uniforms),vertexShader:dF.background.vertexShader,fragmentShader:dF.background.fragmentShader,side:0,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),l.geometry.deleteAttribute(`normal`),Object.defineProperty(l.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(l)),l.material.uniforms.t2D.value=r,l.material.uniforms.backgroundIntensity.value=n.backgroundIntensity,l.material.toneMapped=ok.getTransfer(r.colorSpace)!==uO,r.matrixAutoUpdate===!0&&r.updateMatrix(),l.material.uniforms.uvTransform.value.copy(r.matrix),(d!==r||f!==r.version||p!==e.toneMapping)&&(l.material.needsUpdate=!0,d=r,f=r.version,p=e.toneMapping),l.layers.enableAll(),t.unshift(l,l.geometry,l.material,0,0,null))}function _(t,n){t.getRGB(fF,wj(e)),r.buffers.color.setClear(fF.r,fF.g,fF.b,n,o)}function v(){u!==void 0&&(u.geometry.dispose(),u.material.dispose(),u=void 0),l!==void 0&&(l.geometry.dispose(),l.material.dispose(),l=void 0)}return{getClearColor:function(){return s},setClearColor:function(e,t=1){s.set(e),c=t,_(s,c)},getClearAlpha:function(){return c},setClearAlpha:function(e){c=e,_(s,c)},render:h,addToRenderList:g,dispose:v}}function gF(e,t){let n=e.getParameter(e.MAX_VERTEX_ATTRIBS),r={},i=f(null),a=i,o=!1;function s(n,r,i,s,c){let u=!1,f=d(s,i,r);a!==f&&(a=f,l(a.object)),u=p(n,s,i,c),u&&m(n,s,i,c),c!==null&&t.update(c,e.ELEMENT_ARRAY_BUFFER),(u||o)&&(o=!1,b(n,r,i,s),c!==null&&e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t.get(c).buffer))}function c(){return e.createVertexArray()}function l(t){return e.bindVertexArray(t)}function u(t){return e.deleteVertexArray(t)}function d(e,t,n){let i=n.wireframe===!0,a=r[e.id];a===void 0&&(a={},r[e.id]=a);let o=a[t.id];o===void 0&&(o={},a[t.id]=o);let s=o[i];return s===void 0&&(s=f(c()),o[i]=s),s}function f(e){let t=[],r=[],i=[];for(let e=0;e=0){let n=i[t],r=o[t];if(r===void 0&&(t===`instanceMatrix`&&e.instanceMatrix&&(r=e.instanceMatrix),t===`instanceColor`&&e.instanceColor&&(r=e.instanceColor)),n===void 0||n.attribute!==r||r&&n.data!==r.data)return!0;s++}return a.attributesNum!==s||a.index!==r}function m(e,t,n,r){let i={},o=t.attributes,s=0,c=n.getAttributes();for(let t in c)if(c[t].location>=0){let n=o[t];n===void 0&&(t===`instanceMatrix`&&e.instanceMatrix&&(n=e.instanceMatrix),t===`instanceColor`&&e.instanceColor&&(n=e.instanceColor));let r={};r.attribute=n,n&&n.data&&(r.data=n.data),i[t]=r,s++}a.attributes=i,a.attributesNum=s,a.index=r}function h(){let e=a.newAttributes;for(let t=0,n=e.length;t=0){let s=o[r];if(s===void 0&&(r===`instanceMatrix`&&n.instanceMatrix&&(s=n.instanceMatrix),r===`instanceColor`&&n.instanceColor&&(s=n.instanceColor)),s!==void 0){let r=s.normalized,o=s.itemSize,c=t.get(s);if(c===void 0)continue;let l=c.buffer,u=c.type,d=c.bytesPerElement,f=u===e.INT||u===e.UNSIGNED_INT||s.gpuType===1013;if(s.isInterleavedBufferAttribute){let t=s.data,c=t.stride,p=s.offset;if(t.isInstancedInterleavedBuffer){for(let e=0;e0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.HIGH_FLOAT).precision>0)return`highp`;t=`mediump`}return t===`mediump`&&e.getShaderPrecisionFormat(e.VERTEX_SHADER,e.MEDIUM_FLOAT).precision>0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.MEDIUM_FLOAT).precision>0?`mediump`:`lowp`}let l=n.precision===void 0?`highp`:n.precision,u=c(l);u!==l&&(bO(`WebGLRenderer:`,l,`not supported, using`,u,`instead.`),l=u);let d=n.logarithmicDepthBuffer===!0,f=n.reversedDepthBuffer===!0&&t.has(`EXT_clip_control`),p=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS),m=e.getParameter(e.MAX_VERTEX_TEXTURE_IMAGE_UNITS),h=e.getParameter(e.MAX_TEXTURE_SIZE),g=e.getParameter(e.MAX_CUBE_MAP_TEXTURE_SIZE),_=e.getParameter(e.MAX_VERTEX_ATTRIBS),v=e.getParameter(e.MAX_VERTEX_UNIFORM_VECTORS),y=e.getParameter(e.MAX_VARYING_VECTORS),b=e.getParameter(e.MAX_FRAGMENT_UNIFORM_VECTORS),x=e.getParameter(e.MAX_SAMPLES),S=e.getParameter(e.SAMPLES);return{isWebGL2:!0,getMaxAnisotropy:a,getMaxPrecision:c,textureFormatReadable:o,textureTypeReadable:s,precision:l,logarithmicDepthBuffer:d,reversedDepthBuffer:f,maxTextures:p,maxVertexTextures:m,maxTextureSize:h,maxCubemapSize:g,maxAttributes:_,maxVertexUniforms:v,maxVaryings:y,maxFragmentUniforms:b,maxSamples:x,samples:S}}function yF(e){let t=this,n=null,r=0,i=!1,a=!1,o=new qj,s=new tk,c={value:null,needsUpdate:!1};this.uniform=c,this.numPlanes=0,this.numIntersection=0,this.init=function(e,t){let n=e.length!==0||t||r!==0||i;return i=t,r=e.length,n},this.beginShadows=function(){a=!0,u(null)},this.endShadows=function(){a=!1},this.setGlobalState=function(e,t){n=u(e,t,0)},this.setState=function(t,o,s){let d=t.clippingPlanes,f=t.clipIntersection,p=t.clipShadows,m=e.get(t);if(!i||d===null||d.length===0||a&&!p)a?u(null):l();else{let e=a?0:r,t=e*4,i=m.clippingState||null;c.value=i,i=u(d,o,t,s);for(let e=0;e!==t;++e)i[e]=n[e];m.clippingState=i,this.numIntersection=f?this.numPlanes:0,this.numPlanes+=e}};function l(){c.value!==n&&(c.value=n,c.needsUpdate=r>0),t.numPlanes=r,t.numIntersection=0}function u(e,n,r,i){let a=e===null?0:e.length,l=null;if(a!==0){if(l=c.value,i!==!0||l===null){let t=r+a*4,i=n.matrixWorldInverse;s.getNormalMatrix(i),(l===null||l.length0){let o=new Rj(a.height);return o.fromEquirectangularTexture(e,r),t.set(r,o),r.addEventListener(`dispose`,i),n(o.texture,r.mapping)}return null}}}return r}function i(e){let n=e.target;n.removeEventListener(`dispose`,i);let r=t.get(n);r!==void 0&&(t.delete(n),r.dispose())}function a(){t=new WeakMap}return{get:r,dispose:a}}var xF=4,SF=[.125,.215,.35,.446,.526,.582],CF=20,wF=256,TF=new AP,EF=new VA,DF=null,OF=0,kF=0,AF=!1,jF=new Z,MF=class{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._sizeLods=[],this._sigmas=[],this._lodMeshes=[],this._backgroundBox=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._blurMaterial=null,this._ggxMaterial=null}fromScene(e,t=0,n=.1,r=100,i={}){let{size:a=256,position:o=jF}=i;DF=this._renderer.getRenderTarget(),OF=this._renderer.getActiveCubeFace(),kF=this._renderer.getActiveMipmapLevel(),AF=this._renderer.xr.enabled,this._renderer.xr.enabled=!1,this._setSize(a);let s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(e,n,r,s,o),t>0&&this._blur(s,0,0,t),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=zF(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=RF(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose(),this._backgroundBox!==null&&(this._backgroundBox.geometry.dispose(),this._backgroundBox.material.dispose())}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=2**this._lodMax}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._ggxMaterial!==null&&this._ggxMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e2?l:0,l,l),c.setRenderTarget(r),p&&c.render(d,a),c.render(e,a)}c.toneMapping=u,c.autoClear=l,e.background=m}_textureToCubeUV(e,t){let n=this._renderer,r=e.mapping===301||e.mapping===302;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=zF()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=RF());let i=r?this._cubemapMaterial:this._equirectMaterial,a=this._lodMeshes[0];a.material=i;let o=i.uniforms;o.envMap.value=e;let s=this._cubeSize;FF(t,0,0,3*s,2*s),n.setRenderTarget(t),n.render(a,TF)}_applyPMREM(e){let t=this._renderer,n=t.autoClear;t.autoClear=!1;let r=this._lodMeshes.length;for(let t=1;td-xF?n-d+xF:0),m=4*(this._cubeSize-f);s.envMap.value=e.texture,s.roughness.value=u,s.mipInt.value=d-t,FF(i,p,m,3*f,2*f),r.setRenderTarget(i),r.render(o,TF),s.envMap.value=i.texture,s.roughness.value=0,s.mipInt.value=d-n,FF(e,p,m,3*f,2*f),r.setRenderTarget(e),r.render(o,TF)}_blur(e,t,n,r,i){let a=this._pingPongRenderTarget;this._halfBlur(e,a,t,n,r,`latitudinal`,i),this._halfBlur(a,e,n,n,r,`longitudinal`,i)}_halfBlur(e,t,n,r,i,a,o){let s=this._renderer,c=this._blurMaterial;a!==`latitudinal`&&a!==`longitudinal`&&xO(`blur direction must be either latitudinal or longitudinal!`);let l=this._lodMeshes[r];l.material=c;let u=c.uniforms,d=this._sizeLods[n]-1,f=isFinite(i)?Math.PI/(2*d):2*Math.PI/39,p=i/f,m=isFinite(i)?1+Math.floor(3*p):CF;m>CF&&bO(`sigmaRadians, ${i}, is too large and will clip, as it requested ${m} samples when the maximum is set to ${CF}`);let h=[],g=0;for(let e=0;e_-xF?r-_+xF:0),4*(this._cubeSize-v),3*v,2*v),s.setRenderTarget(t),s.render(l,TF)}};function NF(e){let t=[],n=[],r=[],i=e,a=e-xF+1+SF.length;for(let o=0;oe-xF?s=SF[o-e+xF-1]:o===0&&(s=0),n.push(s);let c=1/(a-2),l=-c,u=1+c,d=[l,l,u,l,u,u,l,l,u,u,l,u],f=new Float32Array(108),p=new Float32Array(72),m=new Float32Array(36);for(let e=0;e<6;e++){let t=e%3*2/3-1,n=e>2?0:-1,r=[t,n,0,t+2/3,n,0,t+2/3,n+1,0,t,n,0,t+2/3,n+1,0,t,n+1,0];f.set(r,18*e),p.set(d,12*e);let i=[e,e,e,e,e,e];m.set(i,6*e)}let h=new oj;h.setAttribute(`position`,new YA(f,3)),h.setAttribute(`uv`,new YA(p,2)),h.setAttribute(`faceIndex`,new YA(m,1)),r.push(new Q(h,null)),i>xF&&i--}return{lodMeshes:r,sizeLods:t,sigmas:n}}function PF(e,t,n){let r=new yk(e,t,n);return r.texture.mapping=306,r.texture.name=`PMREM.cubeUv`,r.scissorTest=!0,r}function FF(e,t,n,r,i){e.viewport.set(t,n,r,i),e.scissor.set(t,n,r,i)}function IF(e,t,n){return new Oj({name:`PMREMGGXConvolution`,defines:{GGX_SAMPLES:wF,CUBEUV_TEXEL_WIDTH:1/t,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:`${e}.0`},uniforms:{envMap:{value:null},roughness:{value:0},mipInt:{value:0}},vertexShader:BF(),fragmentShader:` precision highp float; precision highp int; @@ -3715,7 +3715,7 @@ void main() { gl_FragColor = vec4(prefilteredColor, 1.0); } - `,blending:0,depthTest:!1,depthWrite:!1})}function cF(e,t,n){let r=new Float32Array(JP),i=new Z(0,1,0);return new $A({name:`SphericalGaussianBlur`,defines:{n:JP,CUBEUV_TEXEL_WIDTH:1/t,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:`${e}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:r},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:i}},vertexShader:dF(),fragmentShader:` + `,blending:0,depthTest:!1,depthWrite:!1})}function LF(e,t,n){let r=new Float32Array(CF),i=new Z(0,1,0);return new Oj({name:`SphericalGaussianBlur`,defines:{n:CF,CUBEUV_TEXEL_WIDTH:1/t,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:`${e}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:r},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:i}},vertexShader:BF(),fragmentShader:` precision mediump float; precision mediump int; @@ -3775,7 +3775,7 @@ void main() { } } - `,blending:0,depthTest:!1,depthWrite:!1})}function lF(){return new $A({name:`EquirectangularToCubeUV`,uniforms:{envMap:{value:null}},vertexShader:dF(),fragmentShader:` + `,blending:0,depthTest:!1,depthWrite:!1})}function RF(){return new Oj({name:`EquirectangularToCubeUV`,uniforms:{envMap:{value:null}},vertexShader:BF(),fragmentShader:` precision mediump float; precision mediump int; @@ -3794,7 +3794,7 @@ void main() { gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 ); } - `,blending:0,depthTest:!1,depthWrite:!1})}function uF(){return new $A({name:`CubemapToCubeUV`,uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:dF(),fragmentShader:` + `,blending:0,depthTest:!1,depthWrite:!1})}function zF(){return new Oj({name:`CubemapToCubeUV`,uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:BF(),fragmentShader:` precision mediump float; precision mediump int; @@ -3810,7 +3810,7 @@ void main() { gl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) ); } - `,blending:0,depthTest:!1,depthWrite:!1})}function dF(){return` + `,blending:0,depthTest:!1,depthWrite:!1})}function BF(){return` precision mediump float; precision mediump int; @@ -3865,7 +3865,7 @@ void main() { gl_Position = vec4( position, 1.0 ); } - `}function fF(e){let t=new WeakMap,n=null;function r(r){if(r&&r.isTexture){let o=r.mapping,s=o===303||o===304,c=o===301||o===302;if(s||c){let o=t.get(r),l=o===void 0?0:o.texture.pmremVersion;if(r.isRenderTargetTexture&&r.pmremVersion!==l)return n===null&&(n=new rF(e)),o=s?n.fromEquirectangular(r,o):n.fromCubemap(r,o),o.texture.pmremVersion=r.pmremVersion,t.set(r,o),o.texture;if(o!==void 0)return o.texture;{let l=r.image;return s&&l&&l.height>0||c&&l&&i(l)?(n===null&&(n=new rF(e)),o=s?n.fromEquirectangular(r):n.fromCubemap(r),o.texture.pmremVersion=r.pmremVersion,t.set(r,o),r.addEventListener(`dispose`,a),o.texture):null}}}return r}function i(e){let t=0;for(let n=0;n<6;n++)e[n]!==void 0&&t++;return t===6}function a(e){let n=e.target;n.removeEventListener(`dispose`,a);let r=t.get(n);r!==void 0&&(t.delete(n),r.dispose())}function o(){t=new WeakMap,n!==null&&(n.dispose(),n=null)}return{get:r,dispose:o}}function pF(e){let t={};function n(n){if(t[n]!==void 0)return t[n];let r=e.getExtension(n);return t[n]=r,r}return{has:function(e){return n(e)!==null},init:function(){n(`EXT_color_buffer_float`),n(`WEBGL_clip_cull_distance`),n(`OES_texture_float_linear`),n(`EXT_color_buffer_half_float`),n(`WEBGL_multisampled_render_to_texture`),n(`WEBGL_render_shared_exponent`)},get:function(e){let t=n(e);return t===null&&qD(`WebGLRenderer: `+e+` extension not supported.`),t}}}function mF(e,t,n,r){let i={},a=new WeakMap;function o(e){let s=e.target;s.index!==null&&t.remove(s.index);for(let e in s.attributes)t.remove(s.attributes[e]);s.removeEventListener(`dispose`,o),delete i[s.id];let c=a.get(s);c&&(t.remove(c),a.delete(s)),r.releaseStatesOfGeometry(s),s.isInstancedBufferGeometry===!0&&delete s._maxInstanceCount,n.memory.geometries--}function s(e,t){return i[t.id]===!0?t:(t.addEventListener(`dispose`,o),i[t.id]=!0,n.memory.geometries++,t)}function c(n){let r=n.attributes;for(let n in r)t.update(r[n],e.ARRAY_BUFFER)}function l(e){let n=[],r=e.index,i=e.attributes.position,o=0;if(r!==null){let e=r.array;o=r.version;for(let t=0,r=e.length;tt.maxTextureSize&&(m=Math.ceil(p/t.maxTextureSize),p=t.maxTextureSize);let h=new Float32Array(p*m*4*u),g=new GO(h,p,m,u);g.type=EE,g.needsUpdate=!0;let _=f*4;for(let t=0;t0||c&&l&&i(l)?(n===null&&(n=new MF(e)),o=s?n.fromEquirectangular(r):n.fromCubemap(r),o.texture.pmremVersion=r.pmremVersion,t.set(r,o),r.addEventListener(`dispose`,a),o.texture):null}}}return r}function i(e){let t=0;for(let n=0;n<6;n++)e[n]!==void 0&&t++;return t===6}function a(e){let n=e.target;n.removeEventListener(`dispose`,a);let r=t.get(n);r!==void 0&&(t.delete(n),r.dispose())}function o(){t=new WeakMap,n!==null&&(n.dispose(),n=null)}return{get:r,dispose:o}}function HF(e){let t={};function n(n){if(t[n]!==void 0)return t[n];let r=e.getExtension(n);return t[n]=r,r}return{has:function(e){return n(e)!==null},init:function(){n(`EXT_color_buffer_float`),n(`WEBGL_clip_cull_distance`),n(`OES_texture_float_linear`),n(`EXT_color_buffer_half_float`),n(`WEBGL_multisampled_render_to_texture`),n(`WEBGL_render_shared_exponent`)},get:function(e){let t=n(e);return t===null&&SO(`WebGLRenderer: `+e+` extension not supported.`),t}}}function UF(e,t,n,r){let i={},a=new WeakMap;function o(e){let s=e.target;s.index!==null&&t.remove(s.index);for(let e in s.attributes)t.remove(s.attributes[e]);s.removeEventListener(`dispose`,o),delete i[s.id];let c=a.get(s);c&&(t.remove(c),a.delete(s)),r.releaseStatesOfGeometry(s),s.isInstancedBufferGeometry===!0&&delete s._maxInstanceCount,n.memory.geometries--}function s(e,t){return i[t.id]===!0?t:(t.addEventListener(`dispose`,o),i[t.id]=!0,n.memory.geometries++,t)}function c(n){let r=n.attributes;for(let n in r)t.update(r[n],e.ARRAY_BUFFER)}function l(e){let n=[],r=e.index,i=e.attributes.position,o=0;if(r!==null){let e=r.array;o=r.version;for(let t=0,r=e.length;tt.maxTextureSize&&(m=Math.ceil(p/t.maxTextureSize),p=t.maxTextureSize);let h=new Float32Array(p*m*4*u),g=new bk(h,p,m,u);g.type=tD,g.needsUpdate=!0;let _=f*4;for(let t=0;t0&&g[0].isRenderPass===!0;let t=a.width,n=a.height;for(let e=0;e0)return e;let i=t*n,a=EF[i];if(a===void 0&&(a=new Float32Array(i),EF[i]=a),t!==0){r.toArray(a,0);for(let r=1,i=0;r!==t;++r)i+=n,e[r].toArray(a,i)}return a}function MF(e,t){if(e.length!==t.length)return!1;for(let n=0,r=e.length;n0&&(this.seq=r.concat(i))}setValue(e,t,n,r){let i=this.map[t];i!==void 0&&i.setValue(e,n,r)}setOptional(e,t,n){let r=t[n];r!==void 0&&this.setValue(e,n,r)}static upload(e,t,n,r){for(let i=0,a=t.length;i!==a;++i){let a=t[i],o=n[a.id];o.needsUpdate!==!1&&a.setValue(e,o.value,r)}}static seqWithValue(e,t){let n=[];for(let r=0,i=e.length;r!==i;++r){let i=e[r];i.id in t&&n.push(i)}return n}};function OI(e,t,n){let r=e.createShader(t);return e.shaderSource(r,n),e.compileShader(r),r}var kI=37297,AI=0;function jI(e,t){let n=e.split(` + }`,depthTest:!1,depthWrite:!1}),l=new Q(s,c),u=new AP(-1,1,1,-1,0,1),d=null,f=null,p=!1,m,h=null,g=[],_=!1;this.setSize=function(e,t){a.setSize(e,t),o.setSize(e,t);for(let n=0;n0&&g[0].isRenderPass===!0;let t=a.width,n=a.height;for(let e=0;e0)return e;let i=t*n,a=tI[i];if(a===void 0&&(a=new Float32Array(i),tI[i]=a),t!==0){r.toArray(a,0);for(let r=1,i=0;r!==t;++r)i+=n,e[r].toArray(a,i)}return a}function sI(e,t){if(e.length!==t.length)return!1;for(let n=0,r=e.length;n0&&(this.seq=r.concat(i))}setValue(e,t,n,r){let i=this.map[t];i!==void 0&&i.setValue(e,n,r)}setOptional(e,t,n){let r=t[n];r!==void 0&&this.setValue(e,n,r)}static upload(e,t,n,r){for(let i=0,a=t.length;i!==a;++i){let a=t[i],o=n[a.id];o.needsUpdate!==!1&&a.setValue(e,o.value,r)}}static seqWithValue(e,t){let n=[];for(let r=0,i=e.length;r!==i;++r){let i=e[r];i.id in t&&n.push(i)}return n}};function rL(e,t,n){let r=e.createShader(t);return e.shaderSource(r,n),e.compileShader(r),r}var iL=37297,aL=0;function oL(e,t){let n=e.split(` `),r=[],i=Math.max(t-6,0),a=Math.min(t+6,n.length);for(let e=i;e`:` `} ${i}: ${n[e]}`)}return r.join(` -`)}var MI=new EO;function NI(e){jO._getMatrix(MI,jO.workingColorSpace,e);let t=`mat3( ${MI.elements.map(e=>e.toFixed(4))} )`;switch(jO.getTransfer(e)){case PD:return[t,`LinearTransferOETF`];case FD:return[t,`sRGBTransferOETF`];default:return GD(`WebGLProgram: Unsupported color space: `,e),[t,`LinearTransferOETF`]}}function PI(e,t,n){let r=e.getShaderParameter(t,e.COMPILE_STATUS),i=(e.getShaderInfoLog(t)||``).trim();if(r&&i===``)return``;let a=/ERROR: 0:(\d+)/.exec(i);if(a){let r=parseInt(a[1]);return n.toUpperCase()+` +`)}var sL=new tk;function cL(e){ok._getMatrix(sL,ok.workingColorSpace,e);let t=`mat3( ${sL.elements.map(e=>e.toFixed(4))} )`;switch(ok.getTransfer(e)){case lO:return[t,`LinearTransferOETF`];case uO:return[t,`sRGBTransferOETF`];default:return bO(`WebGLProgram: Unsupported color space: `,e),[t,`LinearTransferOETF`]}}function lL(e,t,n){let r=e.getShaderParameter(t,e.COMPILE_STATUS),i=(e.getShaderInfoLog(t)||``).trim();if(r&&i===``)return``;let a=/ERROR: 0:(\d+)/.exec(i);if(a){let r=parseInt(a[1]);return n.toUpperCase()+` `+i+` -`+jI(e.getShaderSource(t),r)}return i}function FI(e,t){let n=NI(t);return[`vec4 ${e}( vec4 value ) {`,` return ${n[1]}( vec4( value.rgb * ${n[0]}, value.a ) );`,`}`].join(` -`)}var II={1:`Linear`,2:`Reinhard`,3:`Cineon`,4:`ACESFilmic`,6:`AgX`,7:`Neutral`,5:`Custom`};function LI(e,t){let n=II[t];return n===void 0?(GD(`WebGLProgram: Unsupported toneMapping:`,t),`vec3 `+e+`( vec3 color ) { return LinearToneMapping( color ); }`):`vec3 `+e+`( vec3 color ) { return `+n+`ToneMapping( color ); }`}var RI=new Z;function zI(){return jO.getLuminanceCoefficients(RI),[`float luminance( const in vec3 rgb ) {`,` const vec3 weights = vec3( ${RI.x.toFixed(4)}, ${RI.y.toFixed(4)}, ${RI.z.toFixed(4)} );`,` return dot( weights, rgb );`,`}`].join(` -`)}function BI(e){return[e.extensionClipCullDistance?`#extension GL_ANGLE_clip_cull_distance : require`:``,e.extensionMultiDraw?`#extension GL_ANGLE_multi_draw : require`:``].filter(UI).join(` -`)}function VI(e){let t=[];for(let n in e){let r=e[n];r!==!1&&t.push(`#define `+n+` `+r)}return t.join(` -`)}function HI(e,t){let n={},r=e.getProgramParameter(t,e.ACTIVE_ATTRIBUTES);for(let i=0;i/gm;function qI(e){return e.replace(KI,YI)}var JI=new Map;function YI(e,t){let n=FP[t];if(n===void 0){let e=JI.get(t);if(e!==void 0)n=FP[e],GD(`WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.`,t,e);else throw Error(`Can not resolve #include <`+t+`>`)}return qI(n)}var XI=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function ZI(e){return e.replace(XI,QI)}function QI(e,t,n,r){let i=``;for(let e=parseInt(t);e/gm;function SL(e){return e.replace(xL,wL)}var CL=new Map;function wL(e,t){let n=uF[t];if(n===void 0){let e=CL.get(t);if(e!==void 0)n=uF[e],bO(`WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.`,t,e);else throw Error(`Can not resolve #include <`+t+`>`)}return SL(n)}var TL=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function EL(e){return e.replace(TL,DL)}function DL(e,t,n,r){let i=``;for(let e=parseInt(t);e0&&(g+=` -`),_=[`#define SHADER_TYPE `+n.shaderType,`#define SHADER_NAME `+n.shaderName,m].filter(UI).join(` +`),_=[`#define SHADER_TYPE `+n.shaderType,`#define SHADER_NAME `+n.shaderName,m].filter(vL).join(` `),_.length>0&&(_+=` -`)):(g=[$I(n),`#define SHADER_TYPE `+n.shaderType,`#define SHADER_NAME `+n.shaderName,m,n.extensionClipCullDistance?`#define USE_CLIP_DISTANCE`:``,n.batching?`#define USE_BATCHING`:``,n.batchingColor?`#define USE_BATCHING_COLOR`:``,n.instancing?`#define USE_INSTANCING`:``,n.instancingColor?`#define USE_INSTANCING_COLOR`:``,n.instancingMorph?`#define USE_INSTANCING_MORPH`:``,n.useFog&&n.fog?`#define USE_FOG`:``,n.useFog&&n.fogExp2?`#define FOG_EXP2`:``,n.map?`#define USE_MAP`:``,n.envMap?`#define USE_ENVMAP`:``,n.envMap?`#define `+u:``,n.lightMap?`#define USE_LIGHTMAP`:``,n.aoMap?`#define USE_AOMAP`:``,n.bumpMap?`#define USE_BUMPMAP`:``,n.normalMap?`#define USE_NORMALMAP`:``,n.normalMapObjectSpace?`#define USE_NORMALMAP_OBJECTSPACE`:``,n.normalMapTangentSpace?`#define USE_NORMALMAP_TANGENTSPACE`:``,n.displacementMap?`#define USE_DISPLACEMENTMAP`:``,n.emissiveMap?`#define USE_EMISSIVEMAP`:``,n.anisotropy?`#define USE_ANISOTROPY`:``,n.anisotropyMap?`#define USE_ANISOTROPYMAP`:``,n.clearcoatMap?`#define USE_CLEARCOATMAP`:``,n.clearcoatRoughnessMap?`#define USE_CLEARCOAT_ROUGHNESSMAP`:``,n.clearcoatNormalMap?`#define USE_CLEARCOAT_NORMALMAP`:``,n.iridescenceMap?`#define USE_IRIDESCENCEMAP`:``,n.iridescenceThicknessMap?`#define USE_IRIDESCENCE_THICKNESSMAP`:``,n.specularMap?`#define USE_SPECULARMAP`:``,n.specularColorMap?`#define USE_SPECULAR_COLORMAP`:``,n.specularIntensityMap?`#define USE_SPECULAR_INTENSITYMAP`:``,n.roughnessMap?`#define USE_ROUGHNESSMAP`:``,n.metalnessMap?`#define USE_METALNESSMAP`:``,n.alphaMap?`#define USE_ALPHAMAP`:``,n.alphaHash?`#define USE_ALPHAHASH`:``,n.transmission?`#define USE_TRANSMISSION`:``,n.transmissionMap?`#define USE_TRANSMISSIONMAP`:``,n.thicknessMap?`#define USE_THICKNESSMAP`:``,n.sheenColorMap?`#define USE_SHEEN_COLORMAP`:``,n.sheenRoughnessMap?`#define USE_SHEEN_ROUGHNESSMAP`:``,n.mapUv?`#define MAP_UV `+n.mapUv:``,n.alphaMapUv?`#define ALPHAMAP_UV `+n.alphaMapUv:``,n.lightMapUv?`#define LIGHTMAP_UV `+n.lightMapUv:``,n.aoMapUv?`#define AOMAP_UV `+n.aoMapUv:``,n.emissiveMapUv?`#define EMISSIVEMAP_UV `+n.emissiveMapUv:``,n.bumpMapUv?`#define BUMPMAP_UV `+n.bumpMapUv:``,n.normalMapUv?`#define NORMALMAP_UV `+n.normalMapUv:``,n.displacementMapUv?`#define DISPLACEMENTMAP_UV `+n.displacementMapUv:``,n.metalnessMapUv?`#define METALNESSMAP_UV `+n.metalnessMapUv:``,n.roughnessMapUv?`#define ROUGHNESSMAP_UV `+n.roughnessMapUv:``,n.anisotropyMapUv?`#define ANISOTROPYMAP_UV `+n.anisotropyMapUv:``,n.clearcoatMapUv?`#define CLEARCOATMAP_UV `+n.clearcoatMapUv:``,n.clearcoatNormalMapUv?`#define CLEARCOAT_NORMALMAP_UV `+n.clearcoatNormalMapUv:``,n.clearcoatRoughnessMapUv?`#define CLEARCOAT_ROUGHNESSMAP_UV `+n.clearcoatRoughnessMapUv:``,n.iridescenceMapUv?`#define IRIDESCENCEMAP_UV `+n.iridescenceMapUv:``,n.iridescenceThicknessMapUv?`#define IRIDESCENCE_THICKNESSMAP_UV `+n.iridescenceThicknessMapUv:``,n.sheenColorMapUv?`#define SHEEN_COLORMAP_UV `+n.sheenColorMapUv:``,n.sheenRoughnessMapUv?`#define SHEEN_ROUGHNESSMAP_UV `+n.sheenRoughnessMapUv:``,n.specularMapUv?`#define SPECULARMAP_UV `+n.specularMapUv:``,n.specularColorMapUv?`#define SPECULAR_COLORMAP_UV `+n.specularColorMapUv:``,n.specularIntensityMapUv?`#define SPECULAR_INTENSITYMAP_UV `+n.specularIntensityMapUv:``,n.transmissionMapUv?`#define TRANSMISSIONMAP_UV `+n.transmissionMapUv:``,n.thicknessMapUv?`#define THICKNESSMAP_UV `+n.thicknessMapUv:``,n.vertexTangents&&n.flatShading===!1?`#define USE_TANGENT`:``,n.vertexColors?`#define USE_COLOR`:``,n.vertexAlphas?`#define USE_COLOR_ALPHA`:``,n.vertexUv1s?`#define USE_UV1`:``,n.vertexUv2s?`#define USE_UV2`:``,n.vertexUv3s?`#define USE_UV3`:``,n.pointsUvs?`#define USE_POINTS_UV`:``,n.flatShading?`#define FLAT_SHADED`:``,n.skinning?`#define USE_SKINNING`:``,n.morphTargets?`#define USE_MORPHTARGETS`:``,n.morphNormals&&n.flatShading===!1?`#define USE_MORPHNORMALS`:``,n.morphColors?`#define USE_MORPHCOLORS`:``,n.morphTargetsCount>0?`#define MORPHTARGETS_TEXTURE_STRIDE `+n.morphTextureStride:``,n.morphTargetsCount>0?`#define MORPHTARGETS_COUNT `+n.morphTargetsCount:``,n.doubleSided?`#define DOUBLE_SIDED`:``,n.flipSided?`#define FLIP_SIDED`:``,n.shadowMapEnabled?`#define USE_SHADOWMAP`:``,n.shadowMapEnabled?`#define `+c:``,n.sizeAttenuation?`#define USE_SIZEATTENUATION`:``,n.numLightProbes>0?`#define USE_LIGHT_PROBES`:``,n.logarithmicDepthBuffer?`#define USE_LOGARITHMIC_DEPTH_BUFFER`:``,n.reversedDepthBuffer?`#define USE_REVERSED_DEPTH_BUFFER`:``,`uniform mat4 modelMatrix;`,`uniform mat4 modelViewMatrix;`,`uniform mat4 projectionMatrix;`,`uniform mat4 viewMatrix;`,`uniform mat3 normalMatrix;`,`uniform vec3 cameraPosition;`,`uniform bool isOrthographic;`,`#ifdef USE_INSTANCING`,` attribute mat4 instanceMatrix;`,`#endif`,`#ifdef USE_INSTANCING_COLOR`,` attribute vec3 instanceColor;`,`#endif`,`#ifdef USE_INSTANCING_MORPH`,` uniform sampler2D morphTexture;`,`#endif`,`attribute vec3 position;`,`attribute vec3 normal;`,`attribute vec2 uv;`,`#ifdef USE_UV1`,` attribute vec2 uv1;`,`#endif`,`#ifdef USE_UV2`,` attribute vec2 uv2;`,`#endif`,`#ifdef USE_UV3`,` attribute vec2 uv3;`,`#endif`,`#ifdef USE_TANGENT`,` attribute vec4 tangent;`,`#endif`,`#if defined( USE_COLOR_ALPHA )`,` attribute vec4 color;`,`#elif defined( USE_COLOR )`,` attribute vec3 color;`,`#endif`,`#ifdef USE_SKINNING`,` attribute vec4 skinIndex;`,` attribute vec4 skinWeight;`,`#endif`,` -`].filter(UI).join(` -`),_=[$I(n),`#define SHADER_TYPE `+n.shaderType,`#define SHADER_NAME `+n.shaderName,m,n.useFog&&n.fog?`#define USE_FOG`:``,n.useFog&&n.fogExp2?`#define FOG_EXP2`:``,n.alphaToCoverage?`#define ALPHA_TO_COVERAGE`:``,n.map?`#define USE_MAP`:``,n.matcap?`#define USE_MATCAP`:``,n.envMap?`#define USE_ENVMAP`:``,n.envMap?`#define `+l:``,n.envMap?`#define `+u:``,n.envMap?`#define `+d:``,f?`#define CUBEUV_TEXEL_WIDTH `+f.texelWidth:``,f?`#define CUBEUV_TEXEL_HEIGHT `+f.texelHeight:``,f?`#define CUBEUV_MAX_MIP `+f.maxMip+`.0`:``,n.lightMap?`#define USE_LIGHTMAP`:``,n.aoMap?`#define USE_AOMAP`:``,n.bumpMap?`#define USE_BUMPMAP`:``,n.normalMap?`#define USE_NORMALMAP`:``,n.normalMapObjectSpace?`#define USE_NORMALMAP_OBJECTSPACE`:``,n.normalMapTangentSpace?`#define USE_NORMALMAP_TANGENTSPACE`:``,n.emissiveMap?`#define USE_EMISSIVEMAP`:``,n.anisotropy?`#define USE_ANISOTROPY`:``,n.anisotropyMap?`#define USE_ANISOTROPYMAP`:``,n.clearcoat?`#define USE_CLEARCOAT`:``,n.clearcoatMap?`#define USE_CLEARCOATMAP`:``,n.clearcoatRoughnessMap?`#define USE_CLEARCOAT_ROUGHNESSMAP`:``,n.clearcoatNormalMap?`#define USE_CLEARCOAT_NORMALMAP`:``,n.dispersion?`#define USE_DISPERSION`:``,n.iridescence?`#define USE_IRIDESCENCE`:``,n.iridescenceMap?`#define USE_IRIDESCENCEMAP`:``,n.iridescenceThicknessMap?`#define USE_IRIDESCENCE_THICKNESSMAP`:``,n.specularMap?`#define USE_SPECULARMAP`:``,n.specularColorMap?`#define USE_SPECULAR_COLORMAP`:``,n.specularIntensityMap?`#define USE_SPECULAR_INTENSITYMAP`:``,n.roughnessMap?`#define USE_ROUGHNESSMAP`:``,n.metalnessMap?`#define USE_METALNESSMAP`:``,n.alphaMap?`#define USE_ALPHAMAP`:``,n.alphaTest?`#define USE_ALPHATEST`:``,n.alphaHash?`#define USE_ALPHAHASH`:``,n.sheen?`#define USE_SHEEN`:``,n.sheenColorMap?`#define USE_SHEEN_COLORMAP`:``,n.sheenRoughnessMap?`#define USE_SHEEN_ROUGHNESSMAP`:``,n.transmission?`#define USE_TRANSMISSION`:``,n.transmissionMap?`#define USE_TRANSMISSIONMAP`:``,n.thicknessMap?`#define USE_THICKNESSMAP`:``,n.vertexTangents&&n.flatShading===!1?`#define USE_TANGENT`:``,n.vertexColors||n.instancingColor||n.batchingColor?`#define USE_COLOR`:``,n.vertexAlphas?`#define USE_COLOR_ALPHA`:``,n.vertexUv1s?`#define USE_UV1`:``,n.vertexUv2s?`#define USE_UV2`:``,n.vertexUv3s?`#define USE_UV3`:``,n.pointsUvs?`#define USE_POINTS_UV`:``,n.gradientMap?`#define USE_GRADIENTMAP`:``,n.flatShading?`#define FLAT_SHADED`:``,n.doubleSided?`#define DOUBLE_SIDED`:``,n.flipSided?`#define FLIP_SIDED`:``,n.shadowMapEnabled?`#define USE_SHADOWMAP`:``,n.shadowMapEnabled?`#define `+c:``,n.premultipliedAlpha?`#define PREMULTIPLIED_ALPHA`:``,n.numLightProbes>0?`#define USE_LIGHT_PROBES`:``,n.decodeVideoTexture?`#define DECODE_VIDEO_TEXTURE`:``,n.decodeVideoTextureEmissive?`#define DECODE_VIDEO_TEXTURE_EMISSIVE`:``,n.logarithmicDepthBuffer?`#define USE_LOGARITHMIC_DEPTH_BUFFER`:``,n.reversedDepthBuffer?`#define USE_REVERSED_DEPTH_BUFFER`:``,`uniform mat4 viewMatrix;`,`uniform vec3 cameraPosition;`,`uniform bool isOrthographic;`,n.toneMapping===0?``:`#define TONE_MAPPING`,n.toneMapping===0?``:FP.tonemapping_pars_fragment,n.toneMapping===0?``:LI(`toneMapping`,n.toneMapping),n.dithering?`#define DITHERING`:``,n.opaque?`#define OPAQUE`:``,FP.colorspace_pars_fragment,FI(`linearToOutputTexel`,n.outputColorSpace),zI(),n.useDepthPacking?`#define DEPTH_PACKING `+n.depthPacking:``,` -`].filter(UI).join(` -`)),o=qI(o),o=WI(o,n),o=GI(o,n),s=qI(s),s=WI(s,n),s=GI(s,n),o=ZI(o),s=ZI(s),n.isRawShaderMaterial!==!0&&(v=`#version 300 es +`)):(g=[OL(n),`#define SHADER_TYPE `+n.shaderType,`#define SHADER_NAME `+n.shaderName,m,n.extensionClipCullDistance?`#define USE_CLIP_DISTANCE`:``,n.batching?`#define USE_BATCHING`:``,n.batchingColor?`#define USE_BATCHING_COLOR`:``,n.instancing?`#define USE_INSTANCING`:``,n.instancingColor?`#define USE_INSTANCING_COLOR`:``,n.instancingMorph?`#define USE_INSTANCING_MORPH`:``,n.useFog&&n.fog?`#define USE_FOG`:``,n.useFog&&n.fogExp2?`#define FOG_EXP2`:``,n.map?`#define USE_MAP`:``,n.envMap?`#define USE_ENVMAP`:``,n.envMap?`#define `+u:``,n.lightMap?`#define USE_LIGHTMAP`:``,n.aoMap?`#define USE_AOMAP`:``,n.bumpMap?`#define USE_BUMPMAP`:``,n.normalMap?`#define USE_NORMALMAP`:``,n.normalMapObjectSpace?`#define USE_NORMALMAP_OBJECTSPACE`:``,n.normalMapTangentSpace?`#define USE_NORMALMAP_TANGENTSPACE`:``,n.displacementMap?`#define USE_DISPLACEMENTMAP`:``,n.emissiveMap?`#define USE_EMISSIVEMAP`:``,n.anisotropy?`#define USE_ANISOTROPY`:``,n.anisotropyMap?`#define USE_ANISOTROPYMAP`:``,n.clearcoatMap?`#define USE_CLEARCOATMAP`:``,n.clearcoatRoughnessMap?`#define USE_CLEARCOAT_ROUGHNESSMAP`:``,n.clearcoatNormalMap?`#define USE_CLEARCOAT_NORMALMAP`:``,n.iridescenceMap?`#define USE_IRIDESCENCEMAP`:``,n.iridescenceThicknessMap?`#define USE_IRIDESCENCE_THICKNESSMAP`:``,n.specularMap?`#define USE_SPECULARMAP`:``,n.specularColorMap?`#define USE_SPECULAR_COLORMAP`:``,n.specularIntensityMap?`#define USE_SPECULAR_INTENSITYMAP`:``,n.roughnessMap?`#define USE_ROUGHNESSMAP`:``,n.metalnessMap?`#define USE_METALNESSMAP`:``,n.alphaMap?`#define USE_ALPHAMAP`:``,n.alphaHash?`#define USE_ALPHAHASH`:``,n.transmission?`#define USE_TRANSMISSION`:``,n.transmissionMap?`#define USE_TRANSMISSIONMAP`:``,n.thicknessMap?`#define USE_THICKNESSMAP`:``,n.sheenColorMap?`#define USE_SHEEN_COLORMAP`:``,n.sheenRoughnessMap?`#define USE_SHEEN_ROUGHNESSMAP`:``,n.mapUv?`#define MAP_UV `+n.mapUv:``,n.alphaMapUv?`#define ALPHAMAP_UV `+n.alphaMapUv:``,n.lightMapUv?`#define LIGHTMAP_UV `+n.lightMapUv:``,n.aoMapUv?`#define AOMAP_UV `+n.aoMapUv:``,n.emissiveMapUv?`#define EMISSIVEMAP_UV `+n.emissiveMapUv:``,n.bumpMapUv?`#define BUMPMAP_UV `+n.bumpMapUv:``,n.normalMapUv?`#define NORMALMAP_UV `+n.normalMapUv:``,n.displacementMapUv?`#define DISPLACEMENTMAP_UV `+n.displacementMapUv:``,n.metalnessMapUv?`#define METALNESSMAP_UV `+n.metalnessMapUv:``,n.roughnessMapUv?`#define ROUGHNESSMAP_UV `+n.roughnessMapUv:``,n.anisotropyMapUv?`#define ANISOTROPYMAP_UV `+n.anisotropyMapUv:``,n.clearcoatMapUv?`#define CLEARCOATMAP_UV `+n.clearcoatMapUv:``,n.clearcoatNormalMapUv?`#define CLEARCOAT_NORMALMAP_UV `+n.clearcoatNormalMapUv:``,n.clearcoatRoughnessMapUv?`#define CLEARCOAT_ROUGHNESSMAP_UV `+n.clearcoatRoughnessMapUv:``,n.iridescenceMapUv?`#define IRIDESCENCEMAP_UV `+n.iridescenceMapUv:``,n.iridescenceThicknessMapUv?`#define IRIDESCENCE_THICKNESSMAP_UV `+n.iridescenceThicknessMapUv:``,n.sheenColorMapUv?`#define SHEEN_COLORMAP_UV `+n.sheenColorMapUv:``,n.sheenRoughnessMapUv?`#define SHEEN_ROUGHNESSMAP_UV `+n.sheenRoughnessMapUv:``,n.specularMapUv?`#define SPECULARMAP_UV `+n.specularMapUv:``,n.specularColorMapUv?`#define SPECULAR_COLORMAP_UV `+n.specularColorMapUv:``,n.specularIntensityMapUv?`#define SPECULAR_INTENSITYMAP_UV `+n.specularIntensityMapUv:``,n.transmissionMapUv?`#define TRANSMISSIONMAP_UV `+n.transmissionMapUv:``,n.thicknessMapUv?`#define THICKNESSMAP_UV `+n.thicknessMapUv:``,n.vertexTangents&&n.flatShading===!1?`#define USE_TANGENT`:``,n.vertexColors?`#define USE_COLOR`:``,n.vertexAlphas?`#define USE_COLOR_ALPHA`:``,n.vertexUv1s?`#define USE_UV1`:``,n.vertexUv2s?`#define USE_UV2`:``,n.vertexUv3s?`#define USE_UV3`:``,n.pointsUvs?`#define USE_POINTS_UV`:``,n.flatShading?`#define FLAT_SHADED`:``,n.skinning?`#define USE_SKINNING`:``,n.morphTargets?`#define USE_MORPHTARGETS`:``,n.morphNormals&&n.flatShading===!1?`#define USE_MORPHNORMALS`:``,n.morphColors?`#define USE_MORPHCOLORS`:``,n.morphTargetsCount>0?`#define MORPHTARGETS_TEXTURE_STRIDE `+n.morphTextureStride:``,n.morphTargetsCount>0?`#define MORPHTARGETS_COUNT `+n.morphTargetsCount:``,n.doubleSided?`#define DOUBLE_SIDED`:``,n.flipSided?`#define FLIP_SIDED`:``,n.shadowMapEnabled?`#define USE_SHADOWMAP`:``,n.shadowMapEnabled?`#define `+c:``,n.sizeAttenuation?`#define USE_SIZEATTENUATION`:``,n.numLightProbes>0?`#define USE_LIGHT_PROBES`:``,n.logarithmicDepthBuffer?`#define USE_LOGARITHMIC_DEPTH_BUFFER`:``,n.reversedDepthBuffer?`#define USE_REVERSED_DEPTH_BUFFER`:``,`uniform mat4 modelMatrix;`,`uniform mat4 modelViewMatrix;`,`uniform mat4 projectionMatrix;`,`uniform mat4 viewMatrix;`,`uniform mat3 normalMatrix;`,`uniform vec3 cameraPosition;`,`uniform bool isOrthographic;`,`#ifdef USE_INSTANCING`,` attribute mat4 instanceMatrix;`,`#endif`,`#ifdef USE_INSTANCING_COLOR`,` attribute vec3 instanceColor;`,`#endif`,`#ifdef USE_INSTANCING_MORPH`,` uniform sampler2D morphTexture;`,`#endif`,`attribute vec3 position;`,`attribute vec3 normal;`,`attribute vec2 uv;`,`#ifdef USE_UV1`,` attribute vec2 uv1;`,`#endif`,`#ifdef USE_UV2`,` attribute vec2 uv2;`,`#endif`,`#ifdef USE_UV3`,` attribute vec2 uv3;`,`#endif`,`#ifdef USE_TANGENT`,` attribute vec4 tangent;`,`#endif`,`#if defined( USE_COLOR_ALPHA )`,` attribute vec4 color;`,`#elif defined( USE_COLOR )`,` attribute vec3 color;`,`#endif`,`#ifdef USE_SKINNING`,` attribute vec4 skinIndex;`,` attribute vec4 skinWeight;`,`#endif`,` +`].filter(vL).join(` +`),_=[OL(n),`#define SHADER_TYPE `+n.shaderType,`#define SHADER_NAME `+n.shaderName,m,n.useFog&&n.fog?`#define USE_FOG`:``,n.useFog&&n.fogExp2?`#define FOG_EXP2`:``,n.alphaToCoverage?`#define ALPHA_TO_COVERAGE`:``,n.map?`#define USE_MAP`:``,n.matcap?`#define USE_MATCAP`:``,n.envMap?`#define USE_ENVMAP`:``,n.envMap?`#define `+l:``,n.envMap?`#define `+u:``,n.envMap?`#define `+d:``,f?`#define CUBEUV_TEXEL_WIDTH `+f.texelWidth:``,f?`#define CUBEUV_TEXEL_HEIGHT `+f.texelHeight:``,f?`#define CUBEUV_MAX_MIP `+f.maxMip+`.0`:``,n.lightMap?`#define USE_LIGHTMAP`:``,n.aoMap?`#define USE_AOMAP`:``,n.bumpMap?`#define USE_BUMPMAP`:``,n.normalMap?`#define USE_NORMALMAP`:``,n.normalMapObjectSpace?`#define USE_NORMALMAP_OBJECTSPACE`:``,n.normalMapTangentSpace?`#define USE_NORMALMAP_TANGENTSPACE`:``,n.emissiveMap?`#define USE_EMISSIVEMAP`:``,n.anisotropy?`#define USE_ANISOTROPY`:``,n.anisotropyMap?`#define USE_ANISOTROPYMAP`:``,n.clearcoat?`#define USE_CLEARCOAT`:``,n.clearcoatMap?`#define USE_CLEARCOATMAP`:``,n.clearcoatRoughnessMap?`#define USE_CLEARCOAT_ROUGHNESSMAP`:``,n.clearcoatNormalMap?`#define USE_CLEARCOAT_NORMALMAP`:``,n.dispersion?`#define USE_DISPERSION`:``,n.iridescence?`#define USE_IRIDESCENCE`:``,n.iridescenceMap?`#define USE_IRIDESCENCEMAP`:``,n.iridescenceThicknessMap?`#define USE_IRIDESCENCE_THICKNESSMAP`:``,n.specularMap?`#define USE_SPECULARMAP`:``,n.specularColorMap?`#define USE_SPECULAR_COLORMAP`:``,n.specularIntensityMap?`#define USE_SPECULAR_INTENSITYMAP`:``,n.roughnessMap?`#define USE_ROUGHNESSMAP`:``,n.metalnessMap?`#define USE_METALNESSMAP`:``,n.alphaMap?`#define USE_ALPHAMAP`:``,n.alphaTest?`#define USE_ALPHATEST`:``,n.alphaHash?`#define USE_ALPHAHASH`:``,n.sheen?`#define USE_SHEEN`:``,n.sheenColorMap?`#define USE_SHEEN_COLORMAP`:``,n.sheenRoughnessMap?`#define USE_SHEEN_ROUGHNESSMAP`:``,n.transmission?`#define USE_TRANSMISSION`:``,n.transmissionMap?`#define USE_TRANSMISSIONMAP`:``,n.thicknessMap?`#define USE_THICKNESSMAP`:``,n.vertexTangents&&n.flatShading===!1?`#define USE_TANGENT`:``,n.vertexColors||n.instancingColor||n.batchingColor?`#define USE_COLOR`:``,n.vertexAlphas?`#define USE_COLOR_ALPHA`:``,n.vertexUv1s?`#define USE_UV1`:``,n.vertexUv2s?`#define USE_UV2`:``,n.vertexUv3s?`#define USE_UV3`:``,n.pointsUvs?`#define USE_POINTS_UV`:``,n.gradientMap?`#define USE_GRADIENTMAP`:``,n.flatShading?`#define FLAT_SHADED`:``,n.doubleSided?`#define DOUBLE_SIDED`:``,n.flipSided?`#define FLIP_SIDED`:``,n.shadowMapEnabled?`#define USE_SHADOWMAP`:``,n.shadowMapEnabled?`#define `+c:``,n.premultipliedAlpha?`#define PREMULTIPLIED_ALPHA`:``,n.numLightProbes>0?`#define USE_LIGHT_PROBES`:``,n.decodeVideoTexture?`#define DECODE_VIDEO_TEXTURE`:``,n.decodeVideoTextureEmissive?`#define DECODE_VIDEO_TEXTURE_EMISSIVE`:``,n.logarithmicDepthBuffer?`#define USE_LOGARITHMIC_DEPTH_BUFFER`:``,n.reversedDepthBuffer?`#define USE_REVERSED_DEPTH_BUFFER`:``,`uniform mat4 viewMatrix;`,`uniform vec3 cameraPosition;`,`uniform bool isOrthographic;`,n.toneMapping===0?``:`#define TONE_MAPPING`,n.toneMapping===0?``:uF.tonemapping_pars_fragment,n.toneMapping===0?``:fL(`toneMapping`,n.toneMapping),n.dithering?`#define DITHERING`:``,n.opaque?`#define OPAQUE`:``,uF.colorspace_pars_fragment,uL(`linearToOutputTexel`,n.outputColorSpace),mL(),n.useDepthPacking?`#define DEPTH_PACKING `+n.depthPacking:``,` +`].filter(vL).join(` +`)),o=SL(o),o=yL(o,n),o=bL(o,n),s=SL(s),s=yL(s,n),s=bL(s,n),o=EL(o),s=EL(s),n.isRawShaderMaterial!==!0&&(v=`#version 300 es `,g=[p,`#define attribute in`,`#define varying out`,`#define texture2D texture`].join(` `)+` `+g,_=[`#define varying in`,n.glslVersion===`300 es`?``:`layout(location = 0) out highp vec4 pc_fragColor;`,n.glslVersion===`300 es`?``:`#define gl_FragColor pc_fragColor`,`#define gl_FragDepthEXT gl_FragDepth`,`#define texture2D texture`,`#define textureCube texture`,`#define texture2DProj textureProj`,`#define texture2DLodEXT textureLod`,`#define texture2DProjLodEXT textureProjLod`,`#define textureCubeLodEXT textureLod`,`#define texture2DGradEXT textureGrad`,`#define texture2DProjGradEXT textureProjGrad`,`#define textureCubeGradEXT textureGrad`].join(` `)+` -`+_);let y=v+g+o,b=v+_+s,x=OI(i,i.VERTEX_SHADER,y),S=OI(i,i.FRAGMENT_SHADER,b);i.attachShader(h,x),i.attachShader(h,S),n.index0AttributeName===void 0?n.morphTargets===!0&&i.bindAttribLocation(h,0,`position`):i.bindAttribLocation(h,0,n.index0AttributeName),i.linkProgram(h);function C(t){if(e.debug.checkShaderErrors){let n=i.getProgramInfoLog(h)||``,r=i.getShaderInfoLog(x)||``,a=i.getShaderInfoLog(S)||``,o=n.trim(),s=r.trim(),c=a.trim(),l=!0,u=!0;if(i.getProgramParameter(h,i.LINK_STATUS)===!1){if(l=!1,typeof e.debug.onShaderError==`function`)e.debug.onShaderError(i,h,x,S);else{let e=PI(i,x,`vertex`),n=PI(i,S,`fragment`);KD(`THREE.WebGLProgram: Shader Error `+i.getError()+` - VALIDATE_STATUS `+i.getProgramParameter(h,i.VALIDATE_STATUS)+` +`+_);let y=v+g+o,b=v+_+s,x=rL(i,i.VERTEX_SHADER,y),S=rL(i,i.FRAGMENT_SHADER,b);i.attachShader(h,x),i.attachShader(h,S),n.index0AttributeName===void 0?n.morphTargets===!0&&i.bindAttribLocation(h,0,`position`):i.bindAttribLocation(h,0,n.index0AttributeName),i.linkProgram(h);function C(t){if(e.debug.checkShaderErrors){let n=i.getProgramInfoLog(h)||``,r=i.getShaderInfoLog(x)||``,a=i.getShaderInfoLog(S)||``,o=n.trim(),s=r.trim(),c=a.trim(),l=!0,u=!0;if(i.getProgramParameter(h,i.LINK_STATUS)===!1){if(l=!1,typeof e.debug.onShaderError==`function`)e.debug.onShaderError(i,h,x,S);else{let e=lL(i,x,`vertex`),n=lL(i,S,`fragment`);xO(`THREE.WebGLProgram: Shader Error `+i.getError()+` - VALIDATE_STATUS `+i.getProgramParameter(h,i.VALIDATE_STATUS)+` Material Name: `+t.name+` Material Type: `+t.type+` Program Info Log: `+o+` `+e+` -`+n)}}else o===``?(s===``||c===``)&&(u=!1):GD(`WebGLProgram: Program Info Log:`,o);u&&(t.diagnostics={runnable:l,programLog:o,vertexShader:{log:s,prefix:g},fragmentShader:{log:c,prefix:_}})}i.deleteShader(x),i.deleteShader(S),w=new DI(i,h),T=HI(i,h)}let w;this.getUniforms=function(){return w===void 0&&C(this),w};let T;this.getAttributes=function(){return T===void 0&&C(this),T};let E=n.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return E===!1&&(E=i.getProgramParameter(h,kI)),E},this.destroy=function(){r.releaseStatesOfProgram(this),i.deleteProgram(h),this.program=void 0},this.type=n.shaderType,this.name=n.shaderName,this.id=AI++,this.cacheKey=t,this.usedTimes=1,this.program=h,this.vertexShader=x,this.fragmentShader=S,this}var uL=0,dL=class{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){let t=e.vertexShader,n=e.fragmentShader,r=this._getShaderStage(t),i=this._getShaderStage(n),a=this._getShaderCacheForMaterial(e);return a.has(r)===!1&&(a.add(r),r.usedTimes++),a.has(i)===!1&&(a.add(i),i.usedTimes++),this}remove(e){let t=this.materialCache.get(e);for(let e of t)e.usedTimes--,e.usedTimes===0&&this.shaderCache.delete(e.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){let t=this.materialCache,n=t.get(e);return n===void 0&&(n=new Set,t.set(e,n)),n}_getShaderStage(e){let t=this.shaderCache,n=t.get(e);return n===void 0&&(n=new fL(e),t.set(e,n)),n}},fL=class{constructor(e){this.id=uL++,this.code=e,this.usedTimes=0}};function pL(e,t,n,r,i,a,o){let s=new jk,c=new dL,l=new Set,u=[],d=new Map,f=i.logarithmicDepthBuffer,p=i.precision,m={MeshDepthMaterial:`depth`,MeshDistanceMaterial:`distance`,MeshNormalMaterial:`normal`,MeshBasicMaterial:`basic`,MeshLambertMaterial:`lambert`,MeshPhongMaterial:`phong`,MeshToonMaterial:`toon`,MeshStandardMaterial:`physical`,MeshPhysicalMaterial:`physical`,MeshMatcapMaterial:`matcap`,LineBasicMaterial:`basic`,LineDashedMaterial:`dashed`,PointsMaterial:`points`,ShadowMaterial:`shadow`,SpriteMaterial:`sprite`};function h(e){return l.add(e),e===0?`uv`:`uv${e}`}function g(a,s,u,d,g){let _=d.fog,v=g.geometry,y=a.isMeshStandardMaterial?d.environment:null,b=(a.isMeshStandardMaterial?n:t).get(a.envMap||y),x=b&&b.mapping===306?b.image.height:null,S=m[a.type];a.precision!==null&&(p=i.getMaxPrecision(a.precision),p!==a.precision&&GD(`WebGLProgram.getParameters:`,a.precision,`not supported, using`,p,`instead.`));let C=v.morphAttributes.position||v.morphAttributes.normal||v.morphAttributes.color,w=C===void 0?0:C.length,T=0;v.morphAttributes.position!==void 0&&(T=1),v.morphAttributes.normal!==void 0&&(T=2),v.morphAttributes.color!==void 0&&(T=3);let E,D,O,ee;if(S){let e=IP[S];E=e.vertexShader,D=e.fragmentShader}else E=a.vertexShader,D=a.fragmentShader,c.update(a),O=c.getVertexShaderID(a),ee=c.getFragmentShaderID(a);let k=e.getRenderTarget(),A=e.state.buffers.depth.getReversed(),te=g.isInstancedMesh===!0,j=g.isBatchedMesh===!0,ne=!!a.map,M=!!a.matcap,N=!!b,re=!!a.aoMap,ie=!!a.lightMap,ae=!!a.bumpMap,oe=!!a.normalMap,se=!!a.displacementMap,ce=!!a.emissiveMap,le=!!a.metalnessMap,ue=!!a.roughnessMap,de=a.anisotropy>0,fe=a.clearcoat>0,pe=a.dispersion>0,me=a.iridescence>0,he=a.sheen>0,ge=a.transmission>0,_e=de&&!!a.anisotropyMap,ve=fe&&!!a.clearcoatMap,P=fe&&!!a.clearcoatNormalMap,ye=fe&&!!a.clearcoatRoughnessMap,be=me&&!!a.iridescenceMap,xe=me&&!!a.iridescenceThicknessMap,Se=he&&!!a.sheenColorMap,Ce=he&&!!a.sheenRoughnessMap,we=!!a.specularMap,Te=!!a.specularColorMap,Ee=!!a.specularIntensityMap,De=ge&&!!a.transmissionMap,Oe=ge&&!!a.thicknessMap,ke=!!a.gradientMap,Ae=!!a.alphaMap,je=a.alphaTest>0,Me=!!a.alphaHash,Ne=!!a.extensions,Pe=0;a.toneMapped&&(k===null||k.isXRRenderTarget===!0)&&(Pe=e.toneMapping);let Fe={shaderID:S,shaderType:a.type,shaderName:a.name,vertexShader:E,fragmentShader:D,defines:a.defines,customVertexShaderID:O,customFragmentShaderID:ee,isRawShaderMaterial:a.isRawShaderMaterial===!0,glslVersion:a.glslVersion,precision:p,batching:j,batchingColor:j&&g._colorsTexture!==null,instancing:te,instancingColor:te&&g.instanceColor!==null,instancingMorph:te&&g.morphTexture!==null,outputColorSpace:k===null?e.outputColorSpace:k.isXRRenderTarget===!0?k.texture.colorSpace:ND,alphaToCoverage:!!a.alphaToCoverage,map:ne,matcap:M,envMap:N,envMapMode:N&&b.mapping,envMapCubeUVHeight:x,aoMap:re,lightMap:ie,bumpMap:ae,normalMap:oe,displacementMap:se,emissiveMap:ce,normalMapObjectSpace:oe&&a.normalMapType===1,normalMapTangentSpace:oe&&a.normalMapType===0,metalnessMap:le,roughnessMap:ue,anisotropy:de,anisotropyMap:_e,clearcoat:fe,clearcoatMap:ve,clearcoatNormalMap:P,clearcoatRoughnessMap:ye,dispersion:pe,iridescence:me,iridescenceMap:be,iridescenceThicknessMap:xe,sheen:he,sheenColorMap:Se,sheenRoughnessMap:Ce,specularMap:we,specularColorMap:Te,specularIntensityMap:Ee,transmission:ge,transmissionMap:De,thicknessMap:Oe,gradientMap:ke,opaque:a.transparent===!1&&a.blending===1&&a.alphaToCoverage===!1,alphaMap:Ae,alphaTest:je,alphaHash:Me,combine:a.combine,mapUv:ne&&h(a.map.channel),aoMapUv:re&&h(a.aoMap.channel),lightMapUv:ie&&h(a.lightMap.channel),bumpMapUv:ae&&h(a.bumpMap.channel),normalMapUv:oe&&h(a.normalMap.channel),displacementMapUv:se&&h(a.displacementMap.channel),emissiveMapUv:ce&&h(a.emissiveMap.channel),metalnessMapUv:le&&h(a.metalnessMap.channel),roughnessMapUv:ue&&h(a.roughnessMap.channel),anisotropyMapUv:_e&&h(a.anisotropyMap.channel),clearcoatMapUv:ve&&h(a.clearcoatMap.channel),clearcoatNormalMapUv:P&&h(a.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:ye&&h(a.clearcoatRoughnessMap.channel),iridescenceMapUv:be&&h(a.iridescenceMap.channel),iridescenceThicknessMapUv:xe&&h(a.iridescenceThicknessMap.channel),sheenColorMapUv:Se&&h(a.sheenColorMap.channel),sheenRoughnessMapUv:Ce&&h(a.sheenRoughnessMap.channel),specularMapUv:we&&h(a.specularMap.channel),specularColorMapUv:Te&&h(a.specularColorMap.channel),specularIntensityMapUv:Ee&&h(a.specularIntensityMap.channel),transmissionMapUv:De&&h(a.transmissionMap.channel),thicknessMapUv:Oe&&h(a.thicknessMap.channel),alphaMapUv:Ae&&h(a.alphaMap.channel),vertexTangents:!!v.attributes.tangent&&(oe||de),vertexColors:a.vertexColors,vertexAlphas:a.vertexColors===!0&&!!v.attributes.color&&v.attributes.color.itemSize===4,pointsUvs:g.isPoints===!0&&!!v.attributes.uv&&(ne||Ae),fog:!!_,useFog:a.fog===!0,fogExp2:!!_&&_.isFogExp2,flatShading:a.flatShading===!0&&a.wireframe===!1,sizeAttenuation:a.sizeAttenuation===!0,logarithmicDepthBuffer:f,reversedDepthBuffer:A,skinning:g.isSkinnedMesh===!0,morphTargets:v.morphAttributes.position!==void 0,morphNormals:v.morphAttributes.normal!==void 0,morphColors:v.morphAttributes.color!==void 0,morphTargetsCount:w,morphTextureStride:T,numDirLights:s.directional.length,numPointLights:s.point.length,numSpotLights:s.spot.length,numSpotLightMaps:s.spotLightMap.length,numRectAreaLights:s.rectArea.length,numHemiLights:s.hemi.length,numDirLightShadows:s.directionalShadowMap.length,numPointLightShadows:s.pointShadowMap.length,numSpotLightShadows:s.spotShadowMap.length,numSpotLightShadowsWithMaps:s.numSpotLightShadowsWithMaps,numLightProbes:s.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:a.dithering,shadowMapEnabled:e.shadowMap.enabled&&u.length>0,shadowMapType:e.shadowMap.type,toneMapping:Pe,decodeVideoTexture:ne&&a.map.isVideoTexture===!0&&jO.getTransfer(a.map.colorSpace)===`srgb`,decodeVideoTextureEmissive:ce&&a.emissiveMap.isVideoTexture===!0&&jO.getTransfer(a.emissiveMap.colorSpace)===`srgb`,premultipliedAlpha:a.premultipliedAlpha,doubleSided:a.side===2,flipSided:a.side===1,useDepthPacking:a.depthPacking>=0,depthPacking:a.depthPacking||0,index0AttributeName:a.index0AttributeName,extensionClipCullDistance:Ne&&a.extensions.clipCullDistance===!0&&r.has(`WEBGL_clip_cull_distance`),extensionMultiDraw:(Ne&&a.extensions.multiDraw===!0||j)&&r.has(`WEBGL_multi_draw`),rendererExtensionParallelShaderCompile:r.has(`KHR_parallel_shader_compile`),customProgramCacheKey:a.customProgramCacheKey()};return Fe.vertexUv1s=l.has(1),Fe.vertexUv2s=l.has(2),Fe.vertexUv3s=l.has(3),l.clear(),Fe}function _(t){let n=[];if(t.shaderID?n.push(t.shaderID):(n.push(t.customVertexShaderID),n.push(t.customFragmentShaderID)),t.defines!==void 0)for(let e in t.defines)n.push(e),n.push(t.defines[e]);return t.isRawShaderMaterial===!1&&(v(n,t),y(n,t),n.push(e.outputColorSpace)),n.push(t.customProgramCacheKey),n.join()}function v(e,t){e.push(t.precision),e.push(t.outputColorSpace),e.push(t.envMapMode),e.push(t.envMapCubeUVHeight),e.push(t.mapUv),e.push(t.alphaMapUv),e.push(t.lightMapUv),e.push(t.aoMapUv),e.push(t.bumpMapUv),e.push(t.normalMapUv),e.push(t.displacementMapUv),e.push(t.emissiveMapUv),e.push(t.metalnessMapUv),e.push(t.roughnessMapUv),e.push(t.anisotropyMapUv),e.push(t.clearcoatMapUv),e.push(t.clearcoatNormalMapUv),e.push(t.clearcoatRoughnessMapUv),e.push(t.iridescenceMapUv),e.push(t.iridescenceThicknessMapUv),e.push(t.sheenColorMapUv),e.push(t.sheenRoughnessMapUv),e.push(t.specularMapUv),e.push(t.specularColorMapUv),e.push(t.specularIntensityMapUv),e.push(t.transmissionMapUv),e.push(t.thicknessMapUv),e.push(t.combine),e.push(t.fogExp2),e.push(t.sizeAttenuation),e.push(t.morphTargetsCount),e.push(t.morphAttributeCount),e.push(t.numDirLights),e.push(t.numPointLights),e.push(t.numSpotLights),e.push(t.numSpotLightMaps),e.push(t.numHemiLights),e.push(t.numRectAreaLights),e.push(t.numDirLightShadows),e.push(t.numPointLightShadows),e.push(t.numSpotLightShadows),e.push(t.numSpotLightShadowsWithMaps),e.push(t.numLightProbes),e.push(t.shadowMapType),e.push(t.toneMapping),e.push(t.numClippingPlanes),e.push(t.numClipIntersection),e.push(t.depthPacking)}function y(e,t){s.disableAll(),t.instancing&&s.enable(0),t.instancingColor&&s.enable(1),t.instancingMorph&&s.enable(2),t.matcap&&s.enable(3),t.envMap&&s.enable(4),t.normalMapObjectSpace&&s.enable(5),t.normalMapTangentSpace&&s.enable(6),t.clearcoat&&s.enable(7),t.iridescence&&s.enable(8),t.alphaTest&&s.enable(9),t.vertexColors&&s.enable(10),t.vertexAlphas&&s.enable(11),t.vertexUv1s&&s.enable(12),t.vertexUv2s&&s.enable(13),t.vertexUv3s&&s.enable(14),t.vertexTangents&&s.enable(15),t.anisotropy&&s.enable(16),t.alphaHash&&s.enable(17),t.batching&&s.enable(18),t.dispersion&&s.enable(19),t.batchingColor&&s.enable(20),t.gradientMap&&s.enable(21),e.push(s.mask),s.disableAll(),t.fog&&s.enable(0),t.useFog&&s.enable(1),t.flatShading&&s.enable(2),t.logarithmicDepthBuffer&&s.enable(3),t.reversedDepthBuffer&&s.enable(4),t.skinning&&s.enable(5),t.morphTargets&&s.enable(6),t.morphNormals&&s.enable(7),t.morphColors&&s.enable(8),t.premultipliedAlpha&&s.enable(9),t.shadowMapEnabled&&s.enable(10),t.doubleSided&&s.enable(11),t.flipSided&&s.enable(12),t.useDepthPacking&&s.enable(13),t.dithering&&s.enable(14),t.transmission&&s.enable(15),t.sheen&&s.enable(16),t.opaque&&s.enable(17),t.pointsUvs&&s.enable(18),t.decodeVideoTexture&&s.enable(19),t.decodeVideoTextureEmissive&&s.enable(20),t.alphaToCoverage&&s.enable(21),e.push(s.mask)}function b(e){let t=m[e.type],n;if(t){let e=IP[t];n=XA.clone(e.uniforms)}else n=e.uniforms;return n}function x(t,n){let r=d.get(n);return r===void 0?(r=new lL(e,n,t,a),u.push(r),d.set(n,r)):++r.usedTimes,r}function S(e){if(--e.usedTimes===0){let t=u.indexOf(e);u[t]=u[u.length-1],u.pop(),d.delete(e.cacheKey),e.destroy()}}function C(e){c.remove(e)}function w(){c.dispose()}return{getParameters:g,getProgramCacheKey:_,getUniforms:b,acquireProgram:x,releaseProgram:S,releaseShaderCache:C,programs:u,dispose:w}}function mL(){let e=new WeakMap;function t(t){return e.has(t)}function n(t){let n=e.get(t);return n===void 0&&(n={},e.set(t,n)),n}function r(t){e.delete(t)}function i(t,n,r){e.get(t)[n]=r}function a(){e=new WeakMap}return{has:t,get:n,remove:r,update:i,dispose:a}}function hL(e,t){return e.groupOrder===t.groupOrder?e.renderOrder===t.renderOrder?e.material.id===t.material.id?e.z===t.z?e.id-t.id:e.z-t.z:e.material.id-t.material.id:e.renderOrder-t.renderOrder:e.groupOrder-t.groupOrder}function gL(e,t){return e.groupOrder===t.groupOrder?e.renderOrder===t.renderOrder?e.z===t.z?e.id-t.id:t.z-e.z:e.renderOrder-t.renderOrder:e.groupOrder-t.groupOrder}function _L(){let e=[],t=0,n=[],r=[],i=[];function a(){t=0,n.length=0,r.length=0,i.length=0}function o(n,r,i,a,o,s){let c=e[t];return c===void 0?(c={id:n.id,object:n,geometry:r,material:i,groupOrder:a,renderOrder:n.renderOrder,z:o,group:s},e[t]=c):(c.id=n.id,c.object=n,c.geometry=r,c.material=i,c.groupOrder=a,c.renderOrder=n.renderOrder,c.z=o,c.group=s),t++,c}function s(e,t,a,s,c,l){let u=o(e,t,a,s,c,l);a.transmission>0?r.push(u):a.transparent===!0?i.push(u):n.push(u)}function c(e,t,a,s,c,l){let u=o(e,t,a,s,c,l);a.transmission>0?r.unshift(u):a.transparent===!0?i.unshift(u):n.unshift(u)}function l(e,t){n.length>1&&n.sort(e||hL),r.length>1&&r.sort(t||gL),i.length>1&&i.sort(t||gL)}function u(){for(let n=t,r=e.length;n=r.length?(i=new _L,r.push(i)):i=r[n],i}function n(){e=new WeakMap}return{get:t,dispose:n}}function yL(){let e={};return{get:function(t){if(e[t.id]!==void 0)return e[t.id];let n;switch(t.type){case`DirectionalLight`:n={direction:new Z,color:new fA};break;case`SpotLight`:n={position:new Z,direction:new Z,color:new fA,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case`PointLight`:n={position:new Z,color:new fA,distance:0,decay:0};break;case`HemisphereLight`:n={direction:new Z,skyColor:new fA,groundColor:new fA};break;case`RectAreaLight`:n={color:new fA,position:new Z,halfWidth:new Z,halfHeight:new Z}}return e[t.id]=n,n}}}function bL(){let e={};return{get:function(t){if(e[t.id]!==void 0)return e[t.id];let n;switch(t.type){case`DirectionalLight`:n={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new X};break;case`SpotLight`:n={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new X};break;case`PointLight`:n={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new X,shadowCameraNear:1,shadowCameraFar:1e3}}return e[t.id]=n,n}}}var xL=0;function SL(e,t){return(t.castShadow?2:0)-(e.castShadow?2:0)+ +!!t.map-!!e.map}function CL(e){let t=new yL,n=bL(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let e=0;e<9;e++)r.probe.push(new Z);let i=new Z,a=new bk,o=new bk;function s(i){let a=0,o=0,s=0;for(let e=0;e<9;e++)r.probe[e].set(0,0,0);let c=0,l=0,u=0,d=0,f=0,p=0,m=0,h=0,g=0,_=0,v=0;i.sort(SL);for(let e=0,y=i.length;e0&&(e.has(`OES_texture_float_linear`)===!0?(r.rectAreaLTC1=$.LTC_FLOAT_1,r.rectAreaLTC2=$.LTC_FLOAT_2):(r.rectAreaLTC1=$.LTC_HALF_1,r.rectAreaLTC2=$.LTC_HALF_2)),r.ambient[0]=a,r.ambient[1]=o,r.ambient[2]=s;let y=r.hash;(y.directionalLength!==c||y.pointLength!==l||y.spotLength!==u||y.rectAreaLength!==d||y.hemiLength!==f||y.numDirectionalShadows!==p||y.numPointShadows!==m||y.numSpotShadows!==h||y.numSpotMaps!==g||y.numLightProbes!==v)&&(r.directional.length=c,r.spot.length=u,r.rectArea.length=d,r.point.length=l,r.hemi.length=f,r.directionalShadow.length=p,r.directionalShadowMap.length=p,r.pointShadow.length=m,r.pointShadowMap.length=m,r.spotShadow.length=h,r.spotShadowMap.length=h,r.directionalShadowMatrix.length=p,r.pointShadowMatrix.length=m,r.spotLightMatrix.length=h+g-_,r.spotLightMap.length=g,r.numSpotLightShadowsWithMaps=_,r.numLightProbes=v,y.directionalLength=c,y.pointLength=l,y.spotLength=u,y.rectAreaLength=d,y.hemiLength=f,y.numDirectionalShadows=p,y.numPointShadows=m,y.numSpotShadows=h,y.numSpotMaps=g,y.numLightProbes=v,r.version=xL++)}function c(e,t){let n=0,s=0,c=0,l=0,u=0,d=t.matrixWorldInverse;for(let t=0,f=e.length;t=i.length?(a=new wL(e),i.push(a)):a=i[r],a}function r(){t=new WeakMap}return{get:n,dispose:r}}var EL=`void main() { +`+n)}}else o===``?(s===``||c===``)&&(u=!1):bO(`WebGLProgram: Program Info Log:`,o);u&&(t.diagnostics={runnable:l,programLog:o,vertexShader:{log:s,prefix:g},fragmentShader:{log:c,prefix:_}})}i.deleteShader(x),i.deleteShader(S),w=new nL(i,h),T=_L(i,h)}let w;this.getUniforms=function(){return w===void 0&&C(this),w};let T;this.getAttributes=function(){return T===void 0&&C(this),T};let E=n.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return E===!1&&(E=i.getProgramParameter(h,iL)),E},this.destroy=function(){r.releaseStatesOfProgram(this),i.deleteProgram(h),this.program=void 0},this.type=n.shaderType,this.name=n.shaderName,this.id=aL++,this.cacheKey=t,this.usedTimes=1,this.program=h,this.vertexShader=x,this.fragmentShader=S,this}var zL=0,BL=class{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){let t=e.vertexShader,n=e.fragmentShader,r=this._getShaderStage(t),i=this._getShaderStage(n),a=this._getShaderCacheForMaterial(e);return a.has(r)===!1&&(a.add(r),r.usedTimes++),a.has(i)===!1&&(a.add(i),i.usedTimes++),this}remove(e){let t=this.materialCache.get(e);for(let e of t)e.usedTimes--,e.usedTimes===0&&this.shaderCache.delete(e.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){let t=this.materialCache,n=t.get(e);return n===void 0&&(n=new Set,t.set(e,n)),n}_getShaderStage(e){let t=this.shaderCache,n=t.get(e);return n===void 0&&(n=new VL(e),t.set(e,n)),n}},VL=class{constructor(e){this.id=zL++,this.code=e,this.usedTimes=0}};function HL(e,t,n,r,i,a,o){let s=new oA,c=new BL,l=new Set,u=[],d=new Map,f=i.logarithmicDepthBuffer,p=i.precision,m={MeshDepthMaterial:`depth`,MeshDistanceMaterial:`distance`,MeshNormalMaterial:`normal`,MeshBasicMaterial:`basic`,MeshLambertMaterial:`lambert`,MeshPhongMaterial:`phong`,MeshToonMaterial:`toon`,MeshStandardMaterial:`physical`,MeshPhysicalMaterial:`physical`,MeshMatcapMaterial:`matcap`,LineBasicMaterial:`basic`,LineDashedMaterial:`dashed`,PointsMaterial:`points`,ShadowMaterial:`shadow`,SpriteMaterial:`sprite`};function h(e){return l.add(e),e===0?`uv`:`uv${e}`}function g(a,s,u,d,g){let _=d.fog,v=g.geometry,y=a.isMeshStandardMaterial?d.environment:null,b=(a.isMeshStandardMaterial?n:t).get(a.envMap||y),x=b&&b.mapping===306?b.image.height:null,S=m[a.type];a.precision!==null&&(p=i.getMaxPrecision(a.precision),p!==a.precision&&bO(`WebGLProgram.getParameters:`,a.precision,`not supported, using`,p,`instead.`));let C=v.morphAttributes.position||v.morphAttributes.normal||v.morphAttributes.color,w=C===void 0?0:C.length,T=0;v.morphAttributes.position!==void 0&&(T=1),v.morphAttributes.normal!==void 0&&(T=2),v.morphAttributes.color!==void 0&&(T=3);let E,D,O,ee;if(S){let e=dF[S];E=e.vertexShader,D=e.fragmentShader}else E=a.vertexShader,D=a.fragmentShader,c.update(a),O=c.getVertexShaderID(a),ee=c.getFragmentShaderID(a);let k=e.getRenderTarget(),A=e.state.buffers.depth.getReversed(),te=g.isInstancedMesh===!0,j=g.isBatchedMesh===!0,ne=!!a.map,M=!!a.matcap,N=!!b,re=!!a.aoMap,ie=!!a.lightMap,ae=!!a.bumpMap,oe=!!a.normalMap,se=!!a.displacementMap,ce=!!a.emissiveMap,le=!!a.metalnessMap,ue=!!a.roughnessMap,de=a.anisotropy>0,fe=a.clearcoat>0,pe=a.dispersion>0,me=a.iridescence>0,he=a.sheen>0,ge=a.transmission>0,_e=de&&!!a.anisotropyMap,ve=fe&&!!a.clearcoatMap,P=fe&&!!a.clearcoatNormalMap,ye=fe&&!!a.clearcoatRoughnessMap,be=me&&!!a.iridescenceMap,xe=me&&!!a.iridescenceThicknessMap,Se=he&&!!a.sheenColorMap,Ce=he&&!!a.sheenRoughnessMap,we=!!a.specularMap,Te=!!a.specularColorMap,Ee=!!a.specularIntensityMap,De=ge&&!!a.transmissionMap,Oe=ge&&!!a.thicknessMap,ke=!!a.gradientMap,Ae=!!a.alphaMap,je=a.alphaTest>0,Me=!!a.alphaHash,Ne=!!a.extensions,Pe=0;a.toneMapped&&(k===null||k.isXRRenderTarget===!0)&&(Pe=e.toneMapping);let Fe={shaderID:S,shaderType:a.type,shaderName:a.name,vertexShader:E,fragmentShader:D,defines:a.defines,customVertexShaderID:O,customFragmentShaderID:ee,isRawShaderMaterial:a.isRawShaderMaterial===!0,glslVersion:a.glslVersion,precision:p,batching:j,batchingColor:j&&g._colorsTexture!==null,instancing:te,instancingColor:te&&g.instanceColor!==null,instancingMorph:te&&g.morphTexture!==null,outputColorSpace:k===null?e.outputColorSpace:k.isXRRenderTarget===!0?k.texture.colorSpace:cO,alphaToCoverage:!!a.alphaToCoverage,map:ne,matcap:M,envMap:N,envMapMode:N&&b.mapping,envMapCubeUVHeight:x,aoMap:re,lightMap:ie,bumpMap:ae,normalMap:oe,displacementMap:se,emissiveMap:ce,normalMapObjectSpace:oe&&a.normalMapType===1,normalMapTangentSpace:oe&&a.normalMapType===0,metalnessMap:le,roughnessMap:ue,anisotropy:de,anisotropyMap:_e,clearcoat:fe,clearcoatMap:ve,clearcoatNormalMap:P,clearcoatRoughnessMap:ye,dispersion:pe,iridescence:me,iridescenceMap:be,iridescenceThicknessMap:xe,sheen:he,sheenColorMap:Se,sheenRoughnessMap:Ce,specularMap:we,specularColorMap:Te,specularIntensityMap:Ee,transmission:ge,transmissionMap:De,thicknessMap:Oe,gradientMap:ke,opaque:a.transparent===!1&&a.blending===1&&a.alphaToCoverage===!1,alphaMap:Ae,alphaTest:je,alphaHash:Me,combine:a.combine,mapUv:ne&&h(a.map.channel),aoMapUv:re&&h(a.aoMap.channel),lightMapUv:ie&&h(a.lightMap.channel),bumpMapUv:ae&&h(a.bumpMap.channel),normalMapUv:oe&&h(a.normalMap.channel),displacementMapUv:se&&h(a.displacementMap.channel),emissiveMapUv:ce&&h(a.emissiveMap.channel),metalnessMapUv:le&&h(a.metalnessMap.channel),roughnessMapUv:ue&&h(a.roughnessMap.channel),anisotropyMapUv:_e&&h(a.anisotropyMap.channel),clearcoatMapUv:ve&&h(a.clearcoatMap.channel),clearcoatNormalMapUv:P&&h(a.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:ye&&h(a.clearcoatRoughnessMap.channel),iridescenceMapUv:be&&h(a.iridescenceMap.channel),iridescenceThicknessMapUv:xe&&h(a.iridescenceThicknessMap.channel),sheenColorMapUv:Se&&h(a.sheenColorMap.channel),sheenRoughnessMapUv:Ce&&h(a.sheenRoughnessMap.channel),specularMapUv:we&&h(a.specularMap.channel),specularColorMapUv:Te&&h(a.specularColorMap.channel),specularIntensityMapUv:Ee&&h(a.specularIntensityMap.channel),transmissionMapUv:De&&h(a.transmissionMap.channel),thicknessMapUv:Oe&&h(a.thicknessMap.channel),alphaMapUv:Ae&&h(a.alphaMap.channel),vertexTangents:!!v.attributes.tangent&&(oe||de),vertexColors:a.vertexColors,vertexAlphas:a.vertexColors===!0&&!!v.attributes.color&&v.attributes.color.itemSize===4,pointsUvs:g.isPoints===!0&&!!v.attributes.uv&&(ne||Ae),fog:!!_,useFog:a.fog===!0,fogExp2:!!_&&_.isFogExp2,flatShading:a.flatShading===!0&&a.wireframe===!1,sizeAttenuation:a.sizeAttenuation===!0,logarithmicDepthBuffer:f,reversedDepthBuffer:A,skinning:g.isSkinnedMesh===!0,morphTargets:v.morphAttributes.position!==void 0,morphNormals:v.morphAttributes.normal!==void 0,morphColors:v.morphAttributes.color!==void 0,morphTargetsCount:w,morphTextureStride:T,numDirLights:s.directional.length,numPointLights:s.point.length,numSpotLights:s.spot.length,numSpotLightMaps:s.spotLightMap.length,numRectAreaLights:s.rectArea.length,numHemiLights:s.hemi.length,numDirLightShadows:s.directionalShadowMap.length,numPointLightShadows:s.pointShadowMap.length,numSpotLightShadows:s.spotShadowMap.length,numSpotLightShadowsWithMaps:s.numSpotLightShadowsWithMaps,numLightProbes:s.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:a.dithering,shadowMapEnabled:e.shadowMap.enabled&&u.length>0,shadowMapType:e.shadowMap.type,toneMapping:Pe,decodeVideoTexture:ne&&a.map.isVideoTexture===!0&&ok.getTransfer(a.map.colorSpace)===`srgb`,decodeVideoTextureEmissive:ce&&a.emissiveMap.isVideoTexture===!0&&ok.getTransfer(a.emissiveMap.colorSpace)===`srgb`,premultipliedAlpha:a.premultipliedAlpha,doubleSided:a.side===2,flipSided:a.side===1,useDepthPacking:a.depthPacking>=0,depthPacking:a.depthPacking||0,index0AttributeName:a.index0AttributeName,extensionClipCullDistance:Ne&&a.extensions.clipCullDistance===!0&&r.has(`WEBGL_clip_cull_distance`),extensionMultiDraw:(Ne&&a.extensions.multiDraw===!0||j)&&r.has(`WEBGL_multi_draw`),rendererExtensionParallelShaderCompile:r.has(`KHR_parallel_shader_compile`),customProgramCacheKey:a.customProgramCacheKey()};return Fe.vertexUv1s=l.has(1),Fe.vertexUv2s=l.has(2),Fe.vertexUv3s=l.has(3),l.clear(),Fe}function _(t){let n=[];if(t.shaderID?n.push(t.shaderID):(n.push(t.customVertexShaderID),n.push(t.customFragmentShaderID)),t.defines!==void 0)for(let e in t.defines)n.push(e),n.push(t.defines[e]);return t.isRawShaderMaterial===!1&&(v(n,t),y(n,t),n.push(e.outputColorSpace)),n.push(t.customProgramCacheKey),n.join()}function v(e,t){e.push(t.precision),e.push(t.outputColorSpace),e.push(t.envMapMode),e.push(t.envMapCubeUVHeight),e.push(t.mapUv),e.push(t.alphaMapUv),e.push(t.lightMapUv),e.push(t.aoMapUv),e.push(t.bumpMapUv),e.push(t.normalMapUv),e.push(t.displacementMapUv),e.push(t.emissiveMapUv),e.push(t.metalnessMapUv),e.push(t.roughnessMapUv),e.push(t.anisotropyMapUv),e.push(t.clearcoatMapUv),e.push(t.clearcoatNormalMapUv),e.push(t.clearcoatRoughnessMapUv),e.push(t.iridescenceMapUv),e.push(t.iridescenceThicknessMapUv),e.push(t.sheenColorMapUv),e.push(t.sheenRoughnessMapUv),e.push(t.specularMapUv),e.push(t.specularColorMapUv),e.push(t.specularIntensityMapUv),e.push(t.transmissionMapUv),e.push(t.thicknessMapUv),e.push(t.combine),e.push(t.fogExp2),e.push(t.sizeAttenuation),e.push(t.morphTargetsCount),e.push(t.morphAttributeCount),e.push(t.numDirLights),e.push(t.numPointLights),e.push(t.numSpotLights),e.push(t.numSpotLightMaps),e.push(t.numHemiLights),e.push(t.numRectAreaLights),e.push(t.numDirLightShadows),e.push(t.numPointLightShadows),e.push(t.numSpotLightShadows),e.push(t.numSpotLightShadowsWithMaps),e.push(t.numLightProbes),e.push(t.shadowMapType),e.push(t.toneMapping),e.push(t.numClippingPlanes),e.push(t.numClipIntersection),e.push(t.depthPacking)}function y(e,t){s.disableAll(),t.instancing&&s.enable(0),t.instancingColor&&s.enable(1),t.instancingMorph&&s.enable(2),t.matcap&&s.enable(3),t.envMap&&s.enable(4),t.normalMapObjectSpace&&s.enable(5),t.normalMapTangentSpace&&s.enable(6),t.clearcoat&&s.enable(7),t.iridescence&&s.enable(8),t.alphaTest&&s.enable(9),t.vertexColors&&s.enable(10),t.vertexAlphas&&s.enable(11),t.vertexUv1s&&s.enable(12),t.vertexUv2s&&s.enable(13),t.vertexUv3s&&s.enable(14),t.vertexTangents&&s.enable(15),t.anisotropy&&s.enable(16),t.alphaHash&&s.enable(17),t.batching&&s.enable(18),t.dispersion&&s.enable(19),t.batchingColor&&s.enable(20),t.gradientMap&&s.enable(21),e.push(s.mask),s.disableAll(),t.fog&&s.enable(0),t.useFog&&s.enable(1),t.flatShading&&s.enable(2),t.logarithmicDepthBuffer&&s.enable(3),t.reversedDepthBuffer&&s.enable(4),t.skinning&&s.enable(5),t.morphTargets&&s.enable(6),t.morphNormals&&s.enable(7),t.morphColors&&s.enable(8),t.premultipliedAlpha&&s.enable(9),t.shadowMapEnabled&&s.enable(10),t.doubleSided&&s.enable(11),t.flipSided&&s.enable(12),t.useDepthPacking&&s.enable(13),t.dithering&&s.enable(14),t.transmission&&s.enable(15),t.sheen&&s.enable(16),t.opaque&&s.enable(17),t.pointsUvs&&s.enable(18),t.decodeVideoTexture&&s.enable(19),t.decodeVideoTextureEmissive&&s.enable(20),t.alphaToCoverage&&s.enable(21),e.push(s.mask)}function b(e){let t=m[e.type],n;if(t){let e=dF[t];n=Tj.clone(e.uniforms)}else n=e.uniforms;return n}function x(t,n){let r=d.get(n);return r===void 0?(r=new RL(e,n,t,a),u.push(r),d.set(n,r)):++r.usedTimes,r}function S(e){if(--e.usedTimes===0){let t=u.indexOf(e);u[t]=u[u.length-1],u.pop(),d.delete(e.cacheKey),e.destroy()}}function C(e){c.remove(e)}function w(){c.dispose()}return{getParameters:g,getProgramCacheKey:_,getUniforms:b,acquireProgram:x,releaseProgram:S,releaseShaderCache:C,programs:u,dispose:w}}function UL(){let e=new WeakMap;function t(t){return e.has(t)}function n(t){let n=e.get(t);return n===void 0&&(n={},e.set(t,n)),n}function r(t){e.delete(t)}function i(t,n,r){e.get(t)[n]=r}function a(){e=new WeakMap}return{has:t,get:n,remove:r,update:i,dispose:a}}function WL(e,t){return e.groupOrder===t.groupOrder?e.renderOrder===t.renderOrder?e.material.id===t.material.id?e.z===t.z?e.id-t.id:e.z-t.z:e.material.id-t.material.id:e.renderOrder-t.renderOrder:e.groupOrder-t.groupOrder}function GL(e,t){return e.groupOrder===t.groupOrder?e.renderOrder===t.renderOrder?e.z===t.z?e.id-t.id:t.z-e.z:e.renderOrder-t.renderOrder:e.groupOrder-t.groupOrder}function KL(){let e=[],t=0,n=[],r=[],i=[];function a(){t=0,n.length=0,r.length=0,i.length=0}function o(n,r,i,a,o,s){let c=e[t];return c===void 0?(c={id:n.id,object:n,geometry:r,material:i,groupOrder:a,renderOrder:n.renderOrder,z:o,group:s},e[t]=c):(c.id=n.id,c.object=n,c.geometry=r,c.material=i,c.groupOrder=a,c.renderOrder=n.renderOrder,c.z=o,c.group=s),t++,c}function s(e,t,a,s,c,l){let u=o(e,t,a,s,c,l);a.transmission>0?r.push(u):a.transparent===!0?i.push(u):n.push(u)}function c(e,t,a,s,c,l){let u=o(e,t,a,s,c,l);a.transmission>0?r.unshift(u):a.transparent===!0?i.unshift(u):n.unshift(u)}function l(e,t){n.length>1&&n.sort(e||WL),r.length>1&&r.sort(t||GL),i.length>1&&i.sort(t||GL)}function u(){for(let n=t,r=e.length;n=r.length?(i=new KL,r.push(i)):i=r[n],i}function n(){e=new WeakMap}return{get:t,dispose:n}}function JL(){let e={};return{get:function(t){if(e[t.id]!==void 0)return e[t.id];let n;switch(t.type){case`DirectionalLight`:n={direction:new Z,color:new VA};break;case`SpotLight`:n={position:new Z,direction:new Z,color:new VA,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case`PointLight`:n={position:new Z,color:new VA,distance:0,decay:0};break;case`HemisphereLight`:n={direction:new Z,skyColor:new VA,groundColor:new VA};break;case`RectAreaLight`:n={color:new VA,position:new Z,halfWidth:new Z,halfHeight:new Z}}return e[t.id]=n,n}}}function YL(){let e={};return{get:function(t){if(e[t.id]!==void 0)return e[t.id];let n;switch(t.type){case`DirectionalLight`:n={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new X};break;case`SpotLight`:n={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new X};break;case`PointLight`:n={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new X,shadowCameraNear:1,shadowCameraFar:1e3}}return e[t.id]=n,n}}}var XL=0;function ZL(e,t){return(t.castShadow?2:0)-(e.castShadow?2:0)+ +!!t.map-!!e.map}function QL(e){let t=new JL,n=YL(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let e=0;e<9;e++)r.probe.push(new Z);let i=new Z,a=new Yk,o=new Yk;function s(i){let a=0,o=0,s=0;for(let e=0;e<9;e++)r.probe[e].set(0,0,0);let c=0,l=0,u=0,d=0,f=0,p=0,m=0,h=0,g=0,_=0,v=0;i.sort(ZL);for(let e=0,y=i.length;e0&&(e.has(`OES_texture_float_linear`)===!0?(r.rectAreaLTC1=$.LTC_FLOAT_1,r.rectAreaLTC2=$.LTC_FLOAT_2):(r.rectAreaLTC1=$.LTC_HALF_1,r.rectAreaLTC2=$.LTC_HALF_2)),r.ambient[0]=a,r.ambient[1]=o,r.ambient[2]=s;let y=r.hash;(y.directionalLength!==c||y.pointLength!==l||y.spotLength!==u||y.rectAreaLength!==d||y.hemiLength!==f||y.numDirectionalShadows!==p||y.numPointShadows!==m||y.numSpotShadows!==h||y.numSpotMaps!==g||y.numLightProbes!==v)&&(r.directional.length=c,r.spot.length=u,r.rectArea.length=d,r.point.length=l,r.hemi.length=f,r.directionalShadow.length=p,r.directionalShadowMap.length=p,r.pointShadow.length=m,r.pointShadowMap.length=m,r.spotShadow.length=h,r.spotShadowMap.length=h,r.directionalShadowMatrix.length=p,r.pointShadowMatrix.length=m,r.spotLightMatrix.length=h+g-_,r.spotLightMap.length=g,r.numSpotLightShadowsWithMaps=_,r.numLightProbes=v,y.directionalLength=c,y.pointLength=l,y.spotLength=u,y.rectAreaLength=d,y.hemiLength=f,y.numDirectionalShadows=p,y.numPointShadows=m,y.numSpotShadows=h,y.numSpotMaps=g,y.numLightProbes=v,r.version=XL++)}function c(e,t){let n=0,s=0,c=0,l=0,u=0,d=t.matrixWorldInverse;for(let t=0,f=e.length;t=i.length?(a=new $L(e),i.push(a)):a=i[r],a}function r(){t=new WeakMap}return{get:n,dispose:r}}var tR=`void main() { gl_Position = vec4( position, 1.0 ); -}`,DL=`uniform sampler2D shadow_pass; +}`,nR=`uniform sampler2D shadow_pass; uniform vec2 resolution; uniform float radius; void main() { @@ -3989,12 +3989,12 @@ void main() { squared_mean = squared_mean / samples; float std_dev = sqrt( max( 0.0, squared_mean - mean * mean ) ); gl_FragColor = vec4( mean, std_dev, 0.0, 1.0 ); -}`,OL=[new Z(1,0,0),new Z(-1,0,0),new Z(0,1,0),new Z(0,-1,0),new Z(0,0,1),new Z(0,0,-1)],kL=[new Z(0,-1,0),new Z(0,-1,0),new Z(0,0,1),new Z(0,0,-1),new Z(0,-1,0),new Z(0,-1,0)],AL=new bk,jL=new Z,ML=new Z;function NL(e,t,n){let r=new Sj,i=new X,a=new X,o=new HO,s=new TN,c=new EN,l={},u=n.maxTextureSize,d={0:1,1:0,2:2},f=new $A({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new X},radius:{value:4}},vertexShader:EL,fragmentShader:DL}),p=f.clone();p.defines.HORIZONTAL_PASS=1;let m=new jA;m.setAttribute(`position`,new bA(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));let h=new Q(m,f),g=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=1;let _=this.type;this.render=function(t,n,s){if(g.enabled===!1||g.autoUpdate===!1&&g.needsUpdate===!1||t.length===0)return;t.type===2&&(GD(`WebGLShadowMap: PCFSoftShadowMap has been deprecated. Using PCFShadowMap instead.`),t.type=1);let c=e.getRenderTarget(),l=e.getActiveCubeFace(),d=e.getActiveMipmapLevel(),f=e.state;f.setBlending(0),f.buffers.depth.getReversed()===!0?f.buffers.color.setClear(0,0,0,0):f.buffers.color.setClear(1,1,1,1),f.buffers.depth.setTest(!0),f.setScissorTest(!1);let p=_!==this.type;p&&n.traverse(function(e){e.material&&(Array.isArray(e.material)?e.material.forEach(e=>e.needsUpdate=!0):e.material.needsUpdate=!0)});for(let c=0,l=t.length;cu||i.y>u)&&(i.x>u&&(a.x=Math.floor(u/m.x),i.x=a.x*m.x,d.mapSize.x=a.x),i.y>u&&(a.y=Math.floor(u/m.y),i.y=a.y*m.y,d.mapSize.y=a.y)),d.map===null||p===!0){if(d.map!==null&&(d.map.depthTexture!==null&&(d.map.depthTexture.dispose(),d.map.depthTexture=null),d.map.dispose()),this.type===3){if(l.isPointLight){GD(`WebGLShadowMap: VSM shadow maps are not supported for PointLights. Use PCF or BasicShadowMap instead.`);continue}d.map=new WO(i.x,i.y,{format:BE,type:DE,minFilter:_E,magFilter:_E,generateMipmaps:!1}),d.map.texture.name=l.name+`.shadowMap`,d.map.depthTexture=new Uj(i.x,i.y,EE),d.map.depthTexture.name=l.name+`.shadowMapDepth`,d.map.depthTexture.format=IE,d.map.depthTexture.compareFunction=null,d.map.depthTexture.minFilter=mE,d.map.depthTexture.magFilter=mE}else{l.isPointLight?(d.map=new lj(i.x),d.map.depthTexture=new Wj(i.x,TE)):(d.map=new WO(i.x,i.y),d.map.depthTexture=new Uj(i.x,i.y,TE)),d.map.depthTexture.name=l.name+`.shadowMap`,d.map.depthTexture.format=IE;let t=e.state.buffers.depth.getReversed();this.type===1?(d.map.depthTexture.compareFunction=t?518:515,d.map.depthTexture.minFilter=_E,d.map.depthTexture.magFilter=_E):(d.map.depthTexture.compareFunction=null,d.map.depthTexture.minFilter=mE,d.map.depthTexture.magFilter=mE)}d.camera.updateProjectionMatrix()}let h=d.map.isWebGLCubeRenderTarget?6:1;for(let t=0;t0||n.map&&n.alphaTest>0||n.alphaToCoverage===!0){let e=a.uuid,t=n.uuid,r=l[e];r===void 0&&(r={},l[e]=r);let i=r[t];i===void 0&&(i=a.clone(),r[t]=i,n.addEventListener(`dispose`,x)),a=i}if(a.visible=n.visible,a.wireframe=n.wireframe,i===3?a.side=n.shadowSide===null?n.side:n.shadowSide:a.side=n.shadowSide===null?d[n.side]:n.shadowSide,a.alphaMap=n.alphaMap,a.alphaTest=n.alphaToCoverage===!0?.5:n.alphaTest,a.map=n.map,a.clipShadows=n.clipShadows,a.clippingPlanes=n.clippingPlanes,a.clipIntersection=n.clipIntersection,a.displacementMap=n.displacementMap,a.displacementScale=n.displacementScale,a.displacementBias=n.displacementBias,a.wireframeLinewidth=n.wireframeLinewidth,a.linewidth=n.linewidth,r.isPointLight===!0&&a.isMeshDistanceMaterial===!0){let t=e.properties.get(a);t.light=r}return a}function b(n,i,a,o,s){if(n.visible===!1)return;if(n.layers.test(i.layers)&&(n.isMesh||n.isLine||n.isPoints)&&(n.castShadow||n.receiveShadow&&s===3)&&(!n.frustumCulled||r.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(a.matrixWorldInverse,n.matrixWorld);let r=t.update(n),c=n.material;if(Array.isArray(c)){let t=r.groups;for(let l=0,u=t.length;l=2):(j=parseFloat(/^WebGL (\d)/.exec(ne)[1]),te=j>=1);let M=null,N={},re=e.getParameter(e.SCISSOR_BOX),ie=e.getParameter(e.VIEWPORT),ae=new HO().fromArray(re),oe=new HO().fromArray(ie);function se(t,n,r,i){let a=new Uint8Array(4),o=e.createTexture();e.bindTexture(t,o),e.texParameteri(t,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(t,e.TEXTURE_MAG_FILTER,e.NEAREST);for(let o=0;o`u`?!1:/OculusBrowser/g.test(navigator.userAgent),l=new X,u=new WeakMap,d,f=new WeakMap,p=!1;try{p=typeof OffscreenCanvas<`u`&&new OffscreenCanvas(1,1).getContext(`2d`)!==null}catch{}function m(e,t){return p?new OffscreenCanvas(e,t):VD(`canvas`)}function h(e,t,n){let r=1,i=Ce(e);if((i.width>n||i.height>n)&&(r=n/Math.max(i.width,i.height)),r<1){if(typeof HTMLImageElement<`u`&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<`u`&&e instanceof HTMLCanvasElement||typeof ImageBitmap<`u`&&e instanceof ImageBitmap||typeof VideoFrame<`u`&&e instanceof VideoFrame){let n=Math.floor(r*i.width),a=Math.floor(r*i.height);d===void 0&&(d=m(n,a));let o=t?m(n,a):d;return o.width=n,o.height=a,o.getContext(`2d`).drawImage(e,0,0,n,a),GD(`WebGLRenderer: Texture has been resized from (`+i.width+`x`+i.height+`) to (`+n+`x`+a+`).`),o}return`data`in e&&GD(`WebGLRenderer: Image in DataTexture is too big (`+i.width+`x`+i.height+`).`),e}return e}function g(e){return e.generateMipmaps}function _(t){e.generateMipmap(t)}function v(t){return t.isWebGLCubeRenderTarget?e.TEXTURE_CUBE_MAP:t.isWebGL3DRenderTarget?e.TEXTURE_3D:t.isWebGLArrayRenderTarget||t.isCompressedArrayTexture?e.TEXTURE_2D_ARRAY:e.TEXTURE_2D}function y(n,r,i,a,o=!1){if(n!==null){if(e[n]!==void 0)return e[n];GD(`WebGLRenderer: Attempt to use non-existing WebGL internal format '`+n+`'`)}let s=r;if(r===e.RED&&(i===e.FLOAT&&(s=e.R32F),i===e.HALF_FLOAT&&(s=e.R16F),i===e.UNSIGNED_BYTE&&(s=e.R8)),r===e.RED_INTEGER&&(i===e.UNSIGNED_BYTE&&(s=e.R8UI),i===e.UNSIGNED_SHORT&&(s=e.R16UI),i===e.UNSIGNED_INT&&(s=e.R32UI),i===e.BYTE&&(s=e.R8I),i===e.SHORT&&(s=e.R16I),i===e.INT&&(s=e.R32I)),r===e.RG&&(i===e.FLOAT&&(s=e.RG32F),i===e.HALF_FLOAT&&(s=e.RG16F),i===e.UNSIGNED_BYTE&&(s=e.RG8)),r===e.RG_INTEGER&&(i===e.UNSIGNED_BYTE&&(s=e.RG8UI),i===e.UNSIGNED_SHORT&&(s=e.RG16UI),i===e.UNSIGNED_INT&&(s=e.RG32UI),i===e.BYTE&&(s=e.RG8I),i===e.SHORT&&(s=e.RG16I),i===e.INT&&(s=e.RG32I)),r===e.RGB_INTEGER&&(i===e.UNSIGNED_BYTE&&(s=e.RGB8UI),i===e.UNSIGNED_SHORT&&(s=e.RGB16UI),i===e.UNSIGNED_INT&&(s=e.RGB32UI),i===e.BYTE&&(s=e.RGB8I),i===e.SHORT&&(s=e.RGB16I),i===e.INT&&(s=e.RGB32I)),r===e.RGBA_INTEGER&&(i===e.UNSIGNED_BYTE&&(s=e.RGBA8UI),i===e.UNSIGNED_SHORT&&(s=e.RGBA16UI),i===e.UNSIGNED_INT&&(s=e.RGBA32UI),i===e.BYTE&&(s=e.RGBA8I),i===e.SHORT&&(s=e.RGBA16I),i===e.INT&&(s=e.RGBA32I)),r===e.RGB&&(i===e.UNSIGNED_INT_5_9_9_9_REV&&(s=e.RGB9_E5),i===e.UNSIGNED_INT_10F_11F_11F_REV&&(s=e.R11F_G11F_B10F)),r===e.RGBA){let t=o?PD:jO.getTransfer(a);i===e.FLOAT&&(s=e.RGBA32F),i===e.HALF_FLOAT&&(s=e.RGBA16F),i===e.UNSIGNED_BYTE&&(s=t===`srgb`?e.SRGB8_ALPHA8:e.RGBA8),i===e.UNSIGNED_SHORT_4_4_4_4&&(s=e.RGBA4),i===e.UNSIGNED_SHORT_5_5_5_1&&(s=e.RGB5_A1)}return(s===e.R16F||s===e.R32F||s===e.RG16F||s===e.RG32F||s===e.RGBA16F||s===e.RGBA32F)&&t.get(`EXT_color_buffer_float`),s}function b(t,n){let r;return t?n===null||n===1014||n===1020?r=e.DEPTH24_STENCIL8:n===1015?r=e.DEPTH32F_STENCIL8:n===1012&&(r=e.DEPTH24_STENCIL8,GD(`DepthTexture: 16 bit depth attachment is not supported with stencil. Using 24-bit attachment.`)):n===null||n===1014||n===1020?r=e.DEPTH_COMPONENT24:n===1015?r=e.DEPTH_COMPONENT32F:n===1012&&(r=e.DEPTH_COMPONENT16),r}function x(e,t){return g(e)===!0||e.isFramebufferTexture&&e.minFilter!==1003&&e.minFilter!==1006?Math.log2(Math.max(t.width,t.height))+1:e.mipmaps!==void 0&&e.mipmaps.length>0?e.mipmaps.length:e.isCompressedTexture&&Array.isArray(e.image)?t.mipmaps.length:1}function S(e){let t=e.target;t.removeEventListener(`dispose`,S),w(t),t.isVideoTexture&&u.delete(t)}function C(e){let t=e.target;t.removeEventListener(`dispose`,C),E(t)}function w(e){let t=r.get(e);if(t.__webglInit===void 0)return;let n=e.source,i=f.get(n);if(i){let r=i[t.__cacheKey];r.usedTimes--,r.usedTimes===0&&T(e),Object.keys(i).length===0&&f.delete(n)}r.remove(e)}function T(t){let n=r.get(t);e.deleteTexture(n.__webglTexture);let i=t.source,a=f.get(i);delete a[n.__cacheKey],o.memory.textures--}function E(t){let n=r.get(t);if(t.depthTexture&&(t.depthTexture.dispose(),r.remove(t.depthTexture)),t.isWebGLCubeRenderTarget)for(let t=0;t<6;t++){if(Array.isArray(n.__webglFramebuffer[t]))for(let r=0;r=i.maxTextures&&GD(`WebGLTextures: Trying to use `+e+` texture units while this GPU supports only `+i.maxTextures),D+=1,e}function k(e){let t=[];return t.push(e.wrapS),t.push(e.wrapT),t.push(e.wrapR||0),t.push(e.magFilter),t.push(e.minFilter),t.push(e.anisotropy),t.push(e.internalFormat),t.push(e.format),t.push(e.type),t.push(e.generateMipmaps),t.push(e.premultiplyAlpha),t.push(e.flipY),t.push(e.unpackAlignment),t.push(e.colorSpace),t.join()}function A(t,i){let a=r.get(t);if(t.isVideoTexture&&xe(t),t.isRenderTargetTexture===!1&&t.isExternalTexture!==!0&&t.version>0&&a.__version!==t.version){let e=t.image;if(e===null)GD(`WebGLRenderer: Texture marked for update but no image data found.`);else if(e.complete===!1)GD(`WebGLRenderer: Texture marked for update but image is incomplete`);else{ce(a,t,i);return}}else t.isExternalTexture&&(a.__webglTexture=t.sourceTexture?t.sourceTexture:null);n.bindTexture(e.TEXTURE_2D,a.__webglTexture,e.TEXTURE0+i)}function te(t,i){let a=r.get(t);if(t.isRenderTargetTexture===!1&&t.version>0&&a.__version!==t.version){ce(a,t,i);return}t.isExternalTexture&&(a.__webglTexture=t.sourceTexture?t.sourceTexture:null),n.bindTexture(e.TEXTURE_2D_ARRAY,a.__webglTexture,e.TEXTURE0+i)}function j(t,i){let a=r.get(t);if(t.isRenderTargetTexture===!1&&t.version>0&&a.__version!==t.version){ce(a,t,i);return}n.bindTexture(e.TEXTURE_3D,a.__webglTexture,e.TEXTURE0+i)}function ne(t,i){let a=r.get(t);if(t.isCubeDepthTexture!==!0&&t.version>0&&a.__version!==t.version){le(a,t,i);return}n.bindTexture(e.TEXTURE_CUBE_MAP,a.__webglTexture,e.TEXTURE0+i)}let M={[dE]:e.REPEAT,[fE]:e.CLAMP_TO_EDGE,[pE]:e.MIRRORED_REPEAT},N={[mE]:e.NEAREST,[hE]:e.NEAREST_MIPMAP_NEAREST,[gE]:e.NEAREST_MIPMAP_LINEAR,[_E]:e.LINEAR,[vE]:e.LINEAR_MIPMAP_NEAREST,[yE]:e.LINEAR_MIPMAP_LINEAR},re={512:e.NEVER,519:e.ALWAYS,513:e.LESS,515:e.LEQUAL,514:e.EQUAL,518:e.GEQUAL,516:e.GREATER,517:e.NOTEQUAL};function ie(n,a){if(a.type===1015&&t.has(`OES_texture_float_linear`)===!1&&(a.magFilter===1006||a.magFilter===1007||a.magFilter===1005||a.magFilter===1008||a.minFilter===1006||a.minFilter===1007||a.minFilter===1005||a.minFilter===1008)&&GD(`WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device.`),e.texParameteri(n,e.TEXTURE_WRAP_S,M[a.wrapS]),e.texParameteri(n,e.TEXTURE_WRAP_T,M[a.wrapT]),(n===e.TEXTURE_3D||n===e.TEXTURE_2D_ARRAY)&&e.texParameteri(n,e.TEXTURE_WRAP_R,M[a.wrapR]),e.texParameteri(n,e.TEXTURE_MAG_FILTER,N[a.magFilter]),e.texParameteri(n,e.TEXTURE_MIN_FILTER,N[a.minFilter]),a.compareFunction&&(e.texParameteri(n,e.TEXTURE_COMPARE_MODE,e.COMPARE_REF_TO_TEXTURE),e.texParameteri(n,e.TEXTURE_COMPARE_FUNC,re[a.compareFunction])),t.has(`EXT_texture_filter_anisotropic`)===!0){if(a.magFilter===1003||a.minFilter!==1005&&a.minFilter!==1008||a.type===1015&&t.has(`OES_texture_float_linear`)===!1)return;if(a.anisotropy>1||r.get(a).__currentAnisotropy){let o=t.get(`EXT_texture_filter_anisotropic`);e.texParameterf(n,o.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(a.anisotropy,i.getMaxAnisotropy())),r.get(a).__currentAnisotropy=a.anisotropy}}}function ae(t,n){let r=!1;t.__webglInit===void 0&&(t.__webglInit=!0,n.addEventListener(`dispose`,S));let i=n.source,a=f.get(i);a===void 0&&(a={},f.set(i,a));let s=k(n);if(s!==t.__cacheKey){a[s]===void 0&&(a[s]={texture:e.createTexture(),usedTimes:0},o.memory.textures++,r=!0),a[s].usedTimes++;let i=a[t.__cacheKey];i!==void 0&&(a[t.__cacheKey].usedTimes--,i.usedTimes===0&&T(n)),t.__cacheKey=s,t.__webglTexture=a[s].texture}return r}function oe(e,t,n){return Math.floor(Math.floor(e/n)/t)}function se(t,r,i,a){let o=t.updateRanges;if(o.length===0)n.texSubImage2D(e.TEXTURE_2D,0,0,0,r.width,r.height,i,a,r.data);else{o.sort((e,t)=>e.start-t.start);let s=0;for(let e=1;e0){T&&E&&n.texStorage2D(e.TEXTURE_2D,O,S,w[0].width,w[0].height);for(let t=0,r=w.length;t0){let r=jP(C.width,C.height,o.format,o.type);for(let i of o.layerUpdates){let a=C.data.subarray(i*r/C.data.BYTES_PER_ELEMENT,(i+1)*r/C.data.BYTES_PER_ELEMENT);n.compressedTexSubImage3D(e.TEXTURE_2D_ARRAY,t,0,0,i,C.width,C.height,1,m,a)}o.clearLayerUpdates()}else n.compressedTexSubImage3D(e.TEXTURE_2D_ARRAY,t,0,0,0,C.width,C.height,p.depth,m,C.data)}}else n.compressedTexImage3D(e.TEXTURE_2D_ARRAY,t,S,C.width,C.height,p.depth,0,C.data,0,0)}else GD(`WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()`)}else T?D&&n.texSubImage3D(e.TEXTURE_2D_ARRAY,t,0,0,0,C.width,C.height,p.depth,m,v,C.data):n.texImage3D(e.TEXTURE_2D_ARRAY,t,S,C.width,C.height,p.depth,0,m,v,C.data)}else{T&&E&&n.texStorage2D(e.TEXTURE_2D,O,S,w[0].width,w[0].height);for(let t=0,r=w.length;t0){let t=jP(p.width,p.height,o.format,o.type);for(let r of o.layerUpdates){let i=p.data.subarray(r*t/p.data.BYTES_PER_ELEMENT,(r+1)*t/p.data.BYTES_PER_ELEMENT);n.texSubImage3D(e.TEXTURE_2D_ARRAY,0,0,0,r,p.width,p.height,1,m,v,i)}o.clearLayerUpdates()}else n.texSubImage3D(e.TEXTURE_2D_ARRAY,0,0,0,0,p.width,p.height,p.depth,m,v,p.data)}}else n.texImage3D(e.TEXTURE_2D_ARRAY,0,S,p.width,p.height,p.depth,0,m,v,p.data)}else if(o.isData3DTexture)T?(E&&n.texStorage3D(e.TEXTURE_3D,O,S,p.width,p.height,p.depth),D&&n.texSubImage3D(e.TEXTURE_3D,0,0,0,0,p.width,p.height,p.depth,m,v,p.data)):n.texImage3D(e.TEXTURE_3D,0,S,p.width,p.height,p.depth,0,m,v,p.data);else if(o.isFramebufferTexture){if(E){if(T)n.texStorage2D(e.TEXTURE_2D,O,S,p.width,p.height);else{let t=p.width,r=p.height;for(let i=0;i>=1,r>>=1}}}else if(w.length>0){if(T&&E){let t=Ce(w[0]);n.texStorage2D(e.TEXTURE_2D,O,S,t.width,t.height)}for(let t=0,r=w.length;t0&&D++;let t=Ce(m[0]);n.texStorage2D(e.TEXTURE_CUBE_MAP,D,C,t.width,t.height)}for(let t=0;t<6;t++)if(p){w?E&&n.texSubImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,0,0,m[t].width,m[t].height,b,S,m[t].data):n.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,C,m[t].width,m[t].height,0,b,S,m[t].data);for(let r=0;r>u),r=Math.max(1,i.height>>u);l===e.TEXTURE_3D||l===e.TEXTURE_2D_ARRAY?n.texImage3D(l,u,p,t,r,i.depth,0,d,f,null):n.texImage2D(l,u,p,t,r,0,d,f,null)}n.bindFramebuffer(e.FRAMEBUFFER,t),be(i)?s.framebufferTexture2DMultisampleEXT(e.FRAMEBUFFER,c,l,h.__webglTexture,0,ye(i)):(l===e.TEXTURE_2D||l>=e.TEXTURE_CUBE_MAP_POSITIVE_X&&l<=e.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&e.framebufferTexture2D(e.FRAMEBUFFER,c,l,h.__webglTexture,u),n.bindFramebuffer(e.FRAMEBUFFER,null)}function de(t,n,r){if(e.bindRenderbuffer(e.RENDERBUFFER,t),n.depthBuffer){let i=n.depthTexture,a=i&&i.isDepthTexture?i.type:null,o=b(n.stencilBuffer,a),c=n.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT;be(n)?s.renderbufferStorageMultisampleEXT(e.RENDERBUFFER,ye(n),o,n.width,n.height):r?e.renderbufferStorageMultisample(e.RENDERBUFFER,ye(n),o,n.width,n.height):e.renderbufferStorage(e.RENDERBUFFER,o,n.width,n.height),e.framebufferRenderbuffer(e.FRAMEBUFFER,c,e.RENDERBUFFER,t)}else{let t=n.textures;for(let i=0;i{delete i.__boundDepthTexture,delete i.__depthDisposeCallback,e.removeEventListener(`dispose`,t)};e.addEventListener(`dispose`,t),i.__depthDisposeCallback=t}i.__boundDepthTexture=e}if(t.depthTexture&&!i.__autoAllocateDepthBuffer){if(a)for(let e=0;e<6;e++)fe(i.__webglFramebuffer[e],t,e);else{let e=t.texture.mipmaps;e&&e.length>0?fe(i.__webglFramebuffer[0],t,0):fe(i.__webglFramebuffer,t,0)}}else if(a){i.__webglDepthbuffer=[];for(let r=0;r<6;r++)if(n.bindFramebuffer(e.FRAMEBUFFER,i.__webglFramebuffer[r]),i.__webglDepthbuffer[r]===void 0)i.__webglDepthbuffer[r]=e.createRenderbuffer(),de(i.__webglDepthbuffer[r],t,!1);else{let n=t.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT,a=i.__webglDepthbuffer[r];e.bindRenderbuffer(e.RENDERBUFFER,a),e.framebufferRenderbuffer(e.FRAMEBUFFER,n,e.RENDERBUFFER,a)}}else{let r=t.texture.mipmaps;if(r&&r.length>0?n.bindFramebuffer(e.FRAMEBUFFER,i.__webglFramebuffer[0]):n.bindFramebuffer(e.FRAMEBUFFER,i.__webglFramebuffer),i.__webglDepthbuffer===void 0)i.__webglDepthbuffer=e.createRenderbuffer(),de(i.__webglDepthbuffer,t,!1);else{let n=t.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT,r=i.__webglDepthbuffer;e.bindRenderbuffer(e.RENDERBUFFER,r),e.framebufferRenderbuffer(e.FRAMEBUFFER,n,e.RENDERBUFFER,r)}}n.bindFramebuffer(e.FRAMEBUFFER,null)}function me(t,n,i){let a=r.get(t);n!==void 0&&ue(a.__webglFramebuffer,t,t.texture,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,0),i!==void 0&&pe(t)}function he(t){let i=t.texture,s=r.get(t),c=r.get(i);t.addEventListener(`dispose`,C);let l=t.textures,u=t.isWebGLCubeRenderTarget===!0,d=l.length>1;if(d||(c.__webglTexture===void 0&&(c.__webglTexture=e.createTexture()),c.__version=i.version,o.memory.textures++),u){s.__webglFramebuffer=[];for(let t=0;t<6;t++)if(i.mipmaps&&i.mipmaps.length>0){s.__webglFramebuffer[t]=[];for(let n=0;n0){s.__webglFramebuffer=[];for(let t=0;t0&&be(t)===!1){s.__webglMultisampledFramebuffer=e.createFramebuffer(),s.__webglColorRenderbuffer=[],n.bindFramebuffer(e.FRAMEBUFFER,s.__webglMultisampledFramebuffer);for(let n=0;n0)for(let r=0;r0)for(let n=0;n0){if(be(t)===!1){let i=t.textures,a=t.width,o=t.height,s=e.COLOR_BUFFER_BIT,l=t.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT,u=r.get(t),d=i.length>1;if(d)for(let t=0;t0?n.bindFramebuffer(e.DRAW_FRAMEBUFFER,u.__webglFramebuffer[0]):n.bindFramebuffer(e.DRAW_FRAMEBUFFER,u.__webglFramebuffer);for(let n=0;n0&&t.has(`WEBGL_multisampled_render_to_texture`)===!0&&n.__useRenderToTexture!==!1}function xe(e){let t=o.render.frame;u.get(e)!==t&&(u.set(e,t),e.update())}function Se(e,t){let n=e.colorSpace,r=e.format,i=e.type;return e.isCompressedTexture===!0||e.isVideoTexture===!0||n!==`srgb-linear`&&n!==``&&(jO.getTransfer(n)===`srgb`?(r!==1023||i!==1009)&&GD(`WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType.`):KD(`WebGLTextures: Unsupported texture color space:`,n)),t}function Ce(e){return typeof HTMLImageElement<`u`&&e instanceof HTMLImageElement?(l.width=e.naturalWidth||e.width,l.height=e.naturalHeight||e.height):typeof VideoFrame<`u`&&e instanceof VideoFrame?(l.width=e.displayWidth,l.height=e.displayHeight):(l.width=e.width,l.height=e.height),l}this.allocateTextureUnit=ee,this.resetTextureUnits=O,this.setTexture2D=A,this.setTexture2DArray=te,this.setTexture3D=j,this.setTextureCube=ne,this.rebindTextures=me,this.setupRenderTarget=he,this.updateRenderTargetMipmap=ge,this.updateMultisampleRenderTarget=P,this.setupDepthRenderbuffer=pe,this.setupFrameBufferTexture=ue,this.useMultisampledRTT=be,this.isReversedDepthBuffer=function(){return n.buffers.depth.getReversed()}}function LL(e,t){function n(n,r=``){let i,a=jO.getTransfer(r);if(n===1009)return e.UNSIGNED_BYTE;if(n===1017)return e.UNSIGNED_SHORT_4_4_4_4;if(n===1018)return e.UNSIGNED_SHORT_5_5_5_1;if(n===35902)return e.UNSIGNED_INT_5_9_9_9_REV;if(n===35899)return e.UNSIGNED_INT_10F_11F_11F_REV;if(n===1010)return e.BYTE;if(n===1011)return e.SHORT;if(n===1012)return e.UNSIGNED_SHORT;if(n===1013)return e.INT;if(n===1014)return e.UNSIGNED_INT;if(n===1015)return e.FLOAT;if(n===1016)return e.HALF_FLOAT;if(n===1021)return e.ALPHA;if(n===1022)return e.RGB;if(n===1023)return e.RGBA;if(n===1026)return e.DEPTH_COMPONENT;if(n===1027)return e.DEPTH_STENCIL;if(n===1028)return e.RED;if(n===1029)return e.RED_INTEGER;if(n===1030)return e.RG;if(n===1031)return e.RG_INTEGER;if(n===1033)return e.RGBA_INTEGER;if(n===33776||n===33777||n===33778||n===33779){if(a===`srgb`){if(i=t.get(`WEBGL_compressed_texture_s3tc_srgb`),i!==null){if(n===33776)return i.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(n===33777)return i.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(n===33778)return i.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(n===33779)return i.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null}else if(i=t.get(`WEBGL_compressed_texture_s3tc`),i!==null){if(n===33776)return i.COMPRESSED_RGB_S3TC_DXT1_EXT;if(n===33777)return i.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(n===33778)return i.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(n===33779)return i.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null}if(n===35840||n===35841||n===35842||n===35843){if(i=t.get(`WEBGL_compressed_texture_pvrtc`),i!==null){if(n===35840)return i.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(n===35841)return i.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(n===35842)return i.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(n===35843)return i.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null}if(n===36196||n===37492||n===37496||n===37488||n===37489||n===37490||n===37491){if(i=t.get(`WEBGL_compressed_texture_etc`),i!==null){if(n===36196||n===37492)return a===`srgb`?i.COMPRESSED_SRGB8_ETC2:i.COMPRESSED_RGB8_ETC2;if(n===37496)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:i.COMPRESSED_RGBA8_ETC2_EAC;if(n===37488)return i.COMPRESSED_R11_EAC;if(n===37489)return i.COMPRESSED_SIGNED_R11_EAC;if(n===37490)return i.COMPRESSED_RG11_EAC;if(n===37491)return i.COMPRESSED_SIGNED_RG11_EAC}else return null}if(n===37808||n===37809||n===37810||n===37811||n===37812||n===37813||n===37814||n===37815||n===37816||n===37817||n===37818||n===37819||n===37820||n===37821){if(i=t.get(`WEBGL_compressed_texture_astc`),i!==null){if(n===37808)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:i.COMPRESSED_RGBA_ASTC_4x4_KHR;if(n===37809)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:i.COMPRESSED_RGBA_ASTC_5x4_KHR;if(n===37810)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:i.COMPRESSED_RGBA_ASTC_5x5_KHR;if(n===37811)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:i.COMPRESSED_RGBA_ASTC_6x5_KHR;if(n===37812)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:i.COMPRESSED_RGBA_ASTC_6x6_KHR;if(n===37813)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:i.COMPRESSED_RGBA_ASTC_8x5_KHR;if(n===37814)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:i.COMPRESSED_RGBA_ASTC_8x6_KHR;if(n===37815)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:i.COMPRESSED_RGBA_ASTC_8x8_KHR;if(n===37816)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:i.COMPRESSED_RGBA_ASTC_10x5_KHR;if(n===37817)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:i.COMPRESSED_RGBA_ASTC_10x6_KHR;if(n===37818)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:i.COMPRESSED_RGBA_ASTC_10x8_KHR;if(n===37819)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:i.COMPRESSED_RGBA_ASTC_10x10_KHR;if(n===37820)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:i.COMPRESSED_RGBA_ASTC_12x10_KHR;if(n===37821)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:i.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null}if(n===36492||n===36494||n===36495){if(i=t.get(`EXT_texture_compression_bptc`),i!==null){if(n===36492)return a===`srgb`?i.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:i.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(n===36494)return i.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(n===36495)return i.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null}if(n===36283||n===36284||n===36285||n===36286){if(i=t.get(`EXT_texture_compression_rgtc`),i!==null){if(n===36283)return i.COMPRESSED_RED_RGTC1_EXT;if(n===36284)return i.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(n===36285)return i.COMPRESSED_RED_GREEN_RGTC2_EXT;if(n===36286)return i.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null}return n===1020?e.UNSIGNED_INT_24_8:e[n]===void 0?null:e[n]}return{convert:n}}var RL=` +}`,rR=[new Z(1,0,0),new Z(-1,0,0),new Z(0,1,0),new Z(0,-1,0),new Z(0,0,1),new Z(0,0,-1)],iR=[new Z(0,-1,0),new Z(0,-1,0),new Z(0,0,1),new Z(0,0,-1),new Z(0,-1,0),new Z(0,-1,0)],aR=new Yk,oR=new Z,sR=new Z;function cR(e,t,n){let r=new Zj,i=new X,a=new X,o=new _k,s=new eP,c=new tP,l={},u=n.maxTextureSize,d={0:1,1:0,2:2},f=new Oj({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new X},radius:{value:4}},vertexShader:tR,fragmentShader:nR}),p=f.clone();p.defines.HORIZONTAL_PASS=1;let m=new oj;m.setAttribute(`position`,new YA(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));let h=new Q(m,f),g=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=1;let _=this.type;this.render=function(t,n,s){if(g.enabled===!1||g.autoUpdate===!1&&g.needsUpdate===!1||t.length===0)return;t.type===2&&(bO(`WebGLShadowMap: PCFSoftShadowMap has been deprecated. Using PCFShadowMap instead.`),t.type=1);let c=e.getRenderTarget(),l=e.getActiveCubeFace(),d=e.getActiveMipmapLevel(),f=e.state;f.setBlending(0),f.buffers.depth.getReversed()===!0?f.buffers.color.setClear(0,0,0,0):f.buffers.color.setClear(1,1,1,1),f.buffers.depth.setTest(!0),f.setScissorTest(!1);let p=_!==this.type;p&&n.traverse(function(e){e.material&&(Array.isArray(e.material)?e.material.forEach(e=>e.needsUpdate=!0):e.material.needsUpdate=!0)});for(let c=0,l=t.length;cu||i.y>u)&&(i.x>u&&(a.x=Math.floor(u/m.x),i.x=a.x*m.x,d.mapSize.x=a.x),i.y>u&&(a.y=Math.floor(u/m.y),i.y=a.y*m.y,d.mapSize.y=a.y)),d.map===null||p===!0){if(d.map!==null&&(d.map.depthTexture!==null&&(d.map.depthTexture.dispose(),d.map.depthTexture=null),d.map.dispose()),this.type===3){if(l.isPointLight){bO(`WebGLShadowMap: VSM shadow maps are not supported for PointLights. Use PCF or BasicShadowMap instead.`);continue}d.map=new yk(i.x,i.y,{format:hD,type:nD,minFilter:KE,magFilter:KE,generateMipmaps:!1}),d.map.texture.name=l.name+`.shadowMap`,d.map.depthTexture=new vM(i.x,i.y,tD),d.map.depthTexture.name=l.name+`.shadowMapDepth`,d.map.depthTexture.format=dD,d.map.depthTexture.compareFunction=null,d.map.depthTexture.minFilter=UE,d.map.depthTexture.magFilter=UE}else{l.isPointLight?(d.map=new Rj(i.x),d.map.depthTexture=new yM(i.x,eD)):(d.map=new yk(i.x,i.y),d.map.depthTexture=new vM(i.x,i.y,eD)),d.map.depthTexture.name=l.name+`.shadowMap`,d.map.depthTexture.format=dD;let t=e.state.buffers.depth.getReversed();this.type===1?(d.map.depthTexture.compareFunction=t?518:515,d.map.depthTexture.minFilter=KE,d.map.depthTexture.magFilter=KE):(d.map.depthTexture.compareFunction=null,d.map.depthTexture.minFilter=UE,d.map.depthTexture.magFilter=UE)}d.camera.updateProjectionMatrix()}let h=d.map.isWebGLCubeRenderTarget?6:1;for(let t=0;t0||n.map&&n.alphaTest>0||n.alphaToCoverage===!0){let e=a.uuid,t=n.uuid,r=l[e];r===void 0&&(r={},l[e]=r);let i=r[t];i===void 0&&(i=a.clone(),r[t]=i,n.addEventListener(`dispose`,x)),a=i}if(a.visible=n.visible,a.wireframe=n.wireframe,i===3?a.side=n.shadowSide===null?n.side:n.shadowSide:a.side=n.shadowSide===null?d[n.side]:n.shadowSide,a.alphaMap=n.alphaMap,a.alphaTest=n.alphaToCoverage===!0?.5:n.alphaTest,a.map=n.map,a.clipShadows=n.clipShadows,a.clippingPlanes=n.clippingPlanes,a.clipIntersection=n.clipIntersection,a.displacementMap=n.displacementMap,a.displacementScale=n.displacementScale,a.displacementBias=n.displacementBias,a.wireframeLinewidth=n.wireframeLinewidth,a.linewidth=n.linewidth,r.isPointLight===!0&&a.isMeshDistanceMaterial===!0){let t=e.properties.get(a);t.light=r}return a}function b(n,i,a,o,s){if(n.visible===!1)return;if(n.layers.test(i.layers)&&(n.isMesh||n.isLine||n.isPoints)&&(n.castShadow||n.receiveShadow&&s===3)&&(!n.frustumCulled||r.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(a.matrixWorldInverse,n.matrixWorld);let r=t.update(n),c=n.material;if(Array.isArray(c)){let t=r.groups;for(let l=0,u=t.length;l=2):(j=parseFloat(/^WebGL (\d)/.exec(ne)[1]),te=j>=1);let M=null,N={},re=e.getParameter(e.SCISSOR_BOX),ie=e.getParameter(e.VIEWPORT),ae=new _k().fromArray(re),oe=new _k().fromArray(ie);function se(t,n,r,i){let a=new Uint8Array(4),o=e.createTexture();e.bindTexture(t,o),e.texParameteri(t,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(t,e.TEXTURE_MAG_FILTER,e.NEAREST);for(let o=0;o`u`?!1:/OculusBrowser/g.test(navigator.userAgent),l=new X,u=new WeakMap,d,f=new WeakMap,p=!1;try{p=typeof OffscreenCanvas<`u`&&new OffscreenCanvas(1,1).getContext(`2d`)!==null}catch{}function m(e,t){return p?new OffscreenCanvas(e,t):gO(`canvas`)}function h(e,t,n){let r=1,i=Ce(e);if((i.width>n||i.height>n)&&(r=n/Math.max(i.width,i.height)),r<1){if(typeof HTMLImageElement<`u`&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<`u`&&e instanceof HTMLCanvasElement||typeof ImageBitmap<`u`&&e instanceof ImageBitmap||typeof VideoFrame<`u`&&e instanceof VideoFrame){let n=Math.floor(r*i.width),a=Math.floor(r*i.height);d===void 0&&(d=m(n,a));let o=t?m(n,a):d;return o.width=n,o.height=a,o.getContext(`2d`).drawImage(e,0,0,n,a),bO(`WebGLRenderer: Texture has been resized from (`+i.width+`x`+i.height+`) to (`+n+`x`+a+`).`),o}return`data`in e&&bO(`WebGLRenderer: Image in DataTexture is too big (`+i.width+`x`+i.height+`).`),e}return e}function g(e){return e.generateMipmaps}function _(t){e.generateMipmap(t)}function v(t){return t.isWebGLCubeRenderTarget?e.TEXTURE_CUBE_MAP:t.isWebGL3DRenderTarget?e.TEXTURE_3D:t.isWebGLArrayRenderTarget||t.isCompressedArrayTexture?e.TEXTURE_2D_ARRAY:e.TEXTURE_2D}function y(n,r,i,a,o=!1){if(n!==null){if(e[n]!==void 0)return e[n];bO(`WebGLRenderer: Attempt to use non-existing WebGL internal format '`+n+`'`)}let s=r;if(r===e.RED&&(i===e.FLOAT&&(s=e.R32F),i===e.HALF_FLOAT&&(s=e.R16F),i===e.UNSIGNED_BYTE&&(s=e.R8)),r===e.RED_INTEGER&&(i===e.UNSIGNED_BYTE&&(s=e.R8UI),i===e.UNSIGNED_SHORT&&(s=e.R16UI),i===e.UNSIGNED_INT&&(s=e.R32UI),i===e.BYTE&&(s=e.R8I),i===e.SHORT&&(s=e.R16I),i===e.INT&&(s=e.R32I)),r===e.RG&&(i===e.FLOAT&&(s=e.RG32F),i===e.HALF_FLOAT&&(s=e.RG16F),i===e.UNSIGNED_BYTE&&(s=e.RG8)),r===e.RG_INTEGER&&(i===e.UNSIGNED_BYTE&&(s=e.RG8UI),i===e.UNSIGNED_SHORT&&(s=e.RG16UI),i===e.UNSIGNED_INT&&(s=e.RG32UI),i===e.BYTE&&(s=e.RG8I),i===e.SHORT&&(s=e.RG16I),i===e.INT&&(s=e.RG32I)),r===e.RGB_INTEGER&&(i===e.UNSIGNED_BYTE&&(s=e.RGB8UI),i===e.UNSIGNED_SHORT&&(s=e.RGB16UI),i===e.UNSIGNED_INT&&(s=e.RGB32UI),i===e.BYTE&&(s=e.RGB8I),i===e.SHORT&&(s=e.RGB16I),i===e.INT&&(s=e.RGB32I)),r===e.RGBA_INTEGER&&(i===e.UNSIGNED_BYTE&&(s=e.RGBA8UI),i===e.UNSIGNED_SHORT&&(s=e.RGBA16UI),i===e.UNSIGNED_INT&&(s=e.RGBA32UI),i===e.BYTE&&(s=e.RGBA8I),i===e.SHORT&&(s=e.RGBA16I),i===e.INT&&(s=e.RGBA32I)),r===e.RGB&&(i===e.UNSIGNED_INT_5_9_9_9_REV&&(s=e.RGB9_E5),i===e.UNSIGNED_INT_10F_11F_11F_REV&&(s=e.R11F_G11F_B10F)),r===e.RGBA){let t=o?lO:ok.getTransfer(a);i===e.FLOAT&&(s=e.RGBA32F),i===e.HALF_FLOAT&&(s=e.RGBA16F),i===e.UNSIGNED_BYTE&&(s=t===`srgb`?e.SRGB8_ALPHA8:e.RGBA8),i===e.UNSIGNED_SHORT_4_4_4_4&&(s=e.RGBA4),i===e.UNSIGNED_SHORT_5_5_5_1&&(s=e.RGB5_A1)}return(s===e.R16F||s===e.R32F||s===e.RG16F||s===e.RG32F||s===e.RGBA16F||s===e.RGBA32F)&&t.get(`EXT_color_buffer_float`),s}function b(t,n){let r;return t?n===null||n===1014||n===1020?r=e.DEPTH24_STENCIL8:n===1015?r=e.DEPTH32F_STENCIL8:n===1012&&(r=e.DEPTH24_STENCIL8,bO(`DepthTexture: 16 bit depth attachment is not supported with stencil. Using 24-bit attachment.`)):n===null||n===1014||n===1020?r=e.DEPTH_COMPONENT24:n===1015?r=e.DEPTH_COMPONENT32F:n===1012&&(r=e.DEPTH_COMPONENT16),r}function x(e,t){return g(e)===!0||e.isFramebufferTexture&&e.minFilter!==1003&&e.minFilter!==1006?Math.log2(Math.max(t.width,t.height))+1:e.mipmaps!==void 0&&e.mipmaps.length>0?e.mipmaps.length:e.isCompressedTexture&&Array.isArray(e.image)?t.mipmaps.length:1}function S(e){let t=e.target;t.removeEventListener(`dispose`,S),w(t),t.isVideoTexture&&u.delete(t)}function C(e){let t=e.target;t.removeEventListener(`dispose`,C),E(t)}function w(e){let t=r.get(e);if(t.__webglInit===void 0)return;let n=e.source,i=f.get(n);if(i){let r=i[t.__cacheKey];r.usedTimes--,r.usedTimes===0&&T(e),Object.keys(i).length===0&&f.delete(n)}r.remove(e)}function T(t){let n=r.get(t);e.deleteTexture(n.__webglTexture);let i=t.source,a=f.get(i);delete a[n.__cacheKey],o.memory.textures--}function E(t){let n=r.get(t);if(t.depthTexture&&(t.depthTexture.dispose(),r.remove(t.depthTexture)),t.isWebGLCubeRenderTarget)for(let t=0;t<6;t++){if(Array.isArray(n.__webglFramebuffer[t]))for(let r=0;r=i.maxTextures&&bO(`WebGLTextures: Trying to use `+e+` texture units while this GPU supports only `+i.maxTextures),D+=1,e}function k(e){let t=[];return t.push(e.wrapS),t.push(e.wrapT),t.push(e.wrapR||0),t.push(e.magFilter),t.push(e.minFilter),t.push(e.anisotropy),t.push(e.internalFormat),t.push(e.format),t.push(e.type),t.push(e.generateMipmaps),t.push(e.premultiplyAlpha),t.push(e.flipY),t.push(e.unpackAlignment),t.push(e.colorSpace),t.join()}function A(t,i){let a=r.get(t);if(t.isVideoTexture&&xe(t),t.isRenderTargetTexture===!1&&t.isExternalTexture!==!0&&t.version>0&&a.__version!==t.version){let e=t.image;if(e===null)bO(`WebGLRenderer: Texture marked for update but no image data found.`);else if(e.complete===!1)bO(`WebGLRenderer: Texture marked for update but image is incomplete`);else{ce(a,t,i);return}}else t.isExternalTexture&&(a.__webglTexture=t.sourceTexture?t.sourceTexture:null);n.bindTexture(e.TEXTURE_2D,a.__webglTexture,e.TEXTURE0+i)}function te(t,i){let a=r.get(t);if(t.isRenderTargetTexture===!1&&t.version>0&&a.__version!==t.version){ce(a,t,i);return}t.isExternalTexture&&(a.__webglTexture=t.sourceTexture?t.sourceTexture:null),n.bindTexture(e.TEXTURE_2D_ARRAY,a.__webglTexture,e.TEXTURE0+i)}function j(t,i){let a=r.get(t);if(t.isRenderTargetTexture===!1&&t.version>0&&a.__version!==t.version){ce(a,t,i);return}n.bindTexture(e.TEXTURE_3D,a.__webglTexture,e.TEXTURE0+i)}function ne(t,i){let a=r.get(t);if(t.isCubeDepthTexture!==!0&&t.version>0&&a.__version!==t.version){le(a,t,i);return}n.bindTexture(e.TEXTURE_CUBE_MAP,a.__webglTexture,e.TEXTURE0+i)}let M={[BE]:e.REPEAT,[VE]:e.CLAMP_TO_EDGE,[HE]:e.MIRRORED_REPEAT},N={[UE]:e.NEAREST,[WE]:e.NEAREST_MIPMAP_NEAREST,[GE]:e.NEAREST_MIPMAP_LINEAR,[KE]:e.LINEAR,[qE]:e.LINEAR_MIPMAP_NEAREST,[JE]:e.LINEAR_MIPMAP_LINEAR},re={512:e.NEVER,519:e.ALWAYS,513:e.LESS,515:e.LEQUAL,514:e.EQUAL,518:e.GEQUAL,516:e.GREATER,517:e.NOTEQUAL};function ie(n,a){if(a.type===1015&&t.has(`OES_texture_float_linear`)===!1&&(a.magFilter===1006||a.magFilter===1007||a.magFilter===1005||a.magFilter===1008||a.minFilter===1006||a.minFilter===1007||a.minFilter===1005||a.minFilter===1008)&&bO(`WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device.`),e.texParameteri(n,e.TEXTURE_WRAP_S,M[a.wrapS]),e.texParameteri(n,e.TEXTURE_WRAP_T,M[a.wrapT]),(n===e.TEXTURE_3D||n===e.TEXTURE_2D_ARRAY)&&e.texParameteri(n,e.TEXTURE_WRAP_R,M[a.wrapR]),e.texParameteri(n,e.TEXTURE_MAG_FILTER,N[a.magFilter]),e.texParameteri(n,e.TEXTURE_MIN_FILTER,N[a.minFilter]),a.compareFunction&&(e.texParameteri(n,e.TEXTURE_COMPARE_MODE,e.COMPARE_REF_TO_TEXTURE),e.texParameteri(n,e.TEXTURE_COMPARE_FUNC,re[a.compareFunction])),t.has(`EXT_texture_filter_anisotropic`)===!0){if(a.magFilter===1003||a.minFilter!==1005&&a.minFilter!==1008||a.type===1015&&t.has(`OES_texture_float_linear`)===!1)return;if(a.anisotropy>1||r.get(a).__currentAnisotropy){let o=t.get(`EXT_texture_filter_anisotropic`);e.texParameterf(n,o.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(a.anisotropy,i.getMaxAnisotropy())),r.get(a).__currentAnisotropy=a.anisotropy}}}function ae(t,n){let r=!1;t.__webglInit===void 0&&(t.__webglInit=!0,n.addEventListener(`dispose`,S));let i=n.source,a=f.get(i);a===void 0&&(a={},f.set(i,a));let s=k(n);if(s!==t.__cacheKey){a[s]===void 0&&(a[s]={texture:e.createTexture(),usedTimes:0},o.memory.textures++,r=!0),a[s].usedTimes++;let i=a[t.__cacheKey];i!==void 0&&(a[t.__cacheKey].usedTimes--,i.usedTimes===0&&T(n)),t.__cacheKey=s,t.__webglTexture=a[s].texture}return r}function oe(e,t,n){return Math.floor(Math.floor(e/n)/t)}function se(t,r,i,a){let o=t.updateRanges;if(o.length===0)n.texSubImage2D(e.TEXTURE_2D,0,0,0,r.width,r.height,i,a,r.data);else{o.sort((e,t)=>e.start-t.start);let s=0;for(let e=1;e0){T&&E&&n.texStorage2D(e.TEXTURE_2D,O,S,w[0].width,w[0].height);for(let t=0,r=w.length;t0){let r=oF(C.width,C.height,o.format,o.type);for(let i of o.layerUpdates){let a=C.data.subarray(i*r/C.data.BYTES_PER_ELEMENT,(i+1)*r/C.data.BYTES_PER_ELEMENT);n.compressedTexSubImage3D(e.TEXTURE_2D_ARRAY,t,0,0,i,C.width,C.height,1,m,a)}o.clearLayerUpdates()}else n.compressedTexSubImage3D(e.TEXTURE_2D_ARRAY,t,0,0,0,C.width,C.height,p.depth,m,C.data)}}else n.compressedTexImage3D(e.TEXTURE_2D_ARRAY,t,S,C.width,C.height,p.depth,0,C.data,0,0)}else bO(`WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()`)}else T?D&&n.texSubImage3D(e.TEXTURE_2D_ARRAY,t,0,0,0,C.width,C.height,p.depth,m,v,C.data):n.texImage3D(e.TEXTURE_2D_ARRAY,t,S,C.width,C.height,p.depth,0,m,v,C.data)}else{T&&E&&n.texStorage2D(e.TEXTURE_2D,O,S,w[0].width,w[0].height);for(let t=0,r=w.length;t0){let t=oF(p.width,p.height,o.format,o.type);for(let r of o.layerUpdates){let i=p.data.subarray(r*t/p.data.BYTES_PER_ELEMENT,(r+1)*t/p.data.BYTES_PER_ELEMENT);n.texSubImage3D(e.TEXTURE_2D_ARRAY,0,0,0,r,p.width,p.height,1,m,v,i)}o.clearLayerUpdates()}else n.texSubImage3D(e.TEXTURE_2D_ARRAY,0,0,0,0,p.width,p.height,p.depth,m,v,p.data)}}else n.texImage3D(e.TEXTURE_2D_ARRAY,0,S,p.width,p.height,p.depth,0,m,v,p.data)}else if(o.isData3DTexture)T?(E&&n.texStorage3D(e.TEXTURE_3D,O,S,p.width,p.height,p.depth),D&&n.texSubImage3D(e.TEXTURE_3D,0,0,0,0,p.width,p.height,p.depth,m,v,p.data)):n.texImage3D(e.TEXTURE_3D,0,S,p.width,p.height,p.depth,0,m,v,p.data);else if(o.isFramebufferTexture){if(E){if(T)n.texStorage2D(e.TEXTURE_2D,O,S,p.width,p.height);else{let t=p.width,r=p.height;for(let i=0;i>=1,r>>=1}}}else if(w.length>0){if(T&&E){let t=Ce(w[0]);n.texStorage2D(e.TEXTURE_2D,O,S,t.width,t.height)}for(let t=0,r=w.length;t0&&D++;let t=Ce(m[0]);n.texStorage2D(e.TEXTURE_CUBE_MAP,D,C,t.width,t.height)}for(let t=0;t<6;t++)if(p){w?E&&n.texSubImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,0,0,m[t].width,m[t].height,b,S,m[t].data):n.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,C,m[t].width,m[t].height,0,b,S,m[t].data);for(let r=0;r>u),r=Math.max(1,i.height>>u);l===e.TEXTURE_3D||l===e.TEXTURE_2D_ARRAY?n.texImage3D(l,u,p,t,r,i.depth,0,d,f,null):n.texImage2D(l,u,p,t,r,0,d,f,null)}n.bindFramebuffer(e.FRAMEBUFFER,t),be(i)?s.framebufferTexture2DMultisampleEXT(e.FRAMEBUFFER,c,l,h.__webglTexture,0,ye(i)):(l===e.TEXTURE_2D||l>=e.TEXTURE_CUBE_MAP_POSITIVE_X&&l<=e.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&e.framebufferTexture2D(e.FRAMEBUFFER,c,l,h.__webglTexture,u),n.bindFramebuffer(e.FRAMEBUFFER,null)}function de(t,n,r){if(e.bindRenderbuffer(e.RENDERBUFFER,t),n.depthBuffer){let i=n.depthTexture,a=i&&i.isDepthTexture?i.type:null,o=b(n.stencilBuffer,a),c=n.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT;be(n)?s.renderbufferStorageMultisampleEXT(e.RENDERBUFFER,ye(n),o,n.width,n.height):r?e.renderbufferStorageMultisample(e.RENDERBUFFER,ye(n),o,n.width,n.height):e.renderbufferStorage(e.RENDERBUFFER,o,n.width,n.height),e.framebufferRenderbuffer(e.FRAMEBUFFER,c,e.RENDERBUFFER,t)}else{let t=n.textures;for(let i=0;i{delete i.__boundDepthTexture,delete i.__depthDisposeCallback,e.removeEventListener(`dispose`,t)};e.addEventListener(`dispose`,t),i.__depthDisposeCallback=t}i.__boundDepthTexture=e}if(t.depthTexture&&!i.__autoAllocateDepthBuffer){if(a)for(let e=0;e<6;e++)fe(i.__webglFramebuffer[e],t,e);else{let e=t.texture.mipmaps;e&&e.length>0?fe(i.__webglFramebuffer[0],t,0):fe(i.__webglFramebuffer,t,0)}}else if(a){i.__webglDepthbuffer=[];for(let r=0;r<6;r++)if(n.bindFramebuffer(e.FRAMEBUFFER,i.__webglFramebuffer[r]),i.__webglDepthbuffer[r]===void 0)i.__webglDepthbuffer[r]=e.createRenderbuffer(),de(i.__webglDepthbuffer[r],t,!1);else{let n=t.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT,a=i.__webglDepthbuffer[r];e.bindRenderbuffer(e.RENDERBUFFER,a),e.framebufferRenderbuffer(e.FRAMEBUFFER,n,e.RENDERBUFFER,a)}}else{let r=t.texture.mipmaps;if(r&&r.length>0?n.bindFramebuffer(e.FRAMEBUFFER,i.__webglFramebuffer[0]):n.bindFramebuffer(e.FRAMEBUFFER,i.__webglFramebuffer),i.__webglDepthbuffer===void 0)i.__webglDepthbuffer=e.createRenderbuffer(),de(i.__webglDepthbuffer,t,!1);else{let n=t.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT,r=i.__webglDepthbuffer;e.bindRenderbuffer(e.RENDERBUFFER,r),e.framebufferRenderbuffer(e.FRAMEBUFFER,n,e.RENDERBUFFER,r)}}n.bindFramebuffer(e.FRAMEBUFFER,null)}function me(t,n,i){let a=r.get(t);n!==void 0&&ue(a.__webglFramebuffer,t,t.texture,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,0),i!==void 0&&pe(t)}function he(t){let i=t.texture,s=r.get(t),c=r.get(i);t.addEventListener(`dispose`,C);let l=t.textures,u=t.isWebGLCubeRenderTarget===!0,d=l.length>1;if(d||(c.__webglTexture===void 0&&(c.__webglTexture=e.createTexture()),c.__version=i.version,o.memory.textures++),u){s.__webglFramebuffer=[];for(let t=0;t<6;t++)if(i.mipmaps&&i.mipmaps.length>0){s.__webglFramebuffer[t]=[];for(let n=0;n0){s.__webglFramebuffer=[];for(let t=0;t0&&be(t)===!1){s.__webglMultisampledFramebuffer=e.createFramebuffer(),s.__webglColorRenderbuffer=[],n.bindFramebuffer(e.FRAMEBUFFER,s.__webglMultisampledFramebuffer);for(let n=0;n0)for(let r=0;r0)for(let n=0;n0){if(be(t)===!1){let i=t.textures,a=t.width,o=t.height,s=e.COLOR_BUFFER_BIT,l=t.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT,u=r.get(t),d=i.length>1;if(d)for(let t=0;t0?n.bindFramebuffer(e.DRAW_FRAMEBUFFER,u.__webglFramebuffer[0]):n.bindFramebuffer(e.DRAW_FRAMEBUFFER,u.__webglFramebuffer);for(let n=0;n0&&t.has(`WEBGL_multisampled_render_to_texture`)===!0&&n.__useRenderToTexture!==!1}function xe(e){let t=o.render.frame;u.get(e)!==t&&(u.set(e,t),e.update())}function Se(e,t){let n=e.colorSpace,r=e.format,i=e.type;return e.isCompressedTexture===!0||e.isVideoTexture===!0||n!==`srgb-linear`&&n!==``&&(ok.getTransfer(n)===`srgb`?(r!==1023||i!==1009)&&bO(`WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType.`):xO(`WebGLTextures: Unsupported texture color space:`,n)),t}function Ce(e){return typeof HTMLImageElement<`u`&&e instanceof HTMLImageElement?(l.width=e.naturalWidth||e.width,l.height=e.naturalHeight||e.height):typeof VideoFrame<`u`&&e instanceof VideoFrame?(l.width=e.displayWidth,l.height=e.displayHeight):(l.width=e.width,l.height=e.height),l}this.allocateTextureUnit=ee,this.resetTextureUnits=O,this.setTexture2D=A,this.setTexture2DArray=te,this.setTexture3D=j,this.setTextureCube=ne,this.rebindTextures=me,this.setupRenderTarget=he,this.updateRenderTargetMipmap=ge,this.updateMultisampleRenderTarget=P,this.setupDepthRenderbuffer=pe,this.setupFrameBufferTexture=ue,this.useMultisampledRTT=be,this.isReversedDepthBuffer=function(){return n.buffers.depth.getReversed()}}function fR(e,t){function n(n,r=``){let i,a=ok.getTransfer(r);if(n===1009)return e.UNSIGNED_BYTE;if(n===1017)return e.UNSIGNED_SHORT_4_4_4_4;if(n===1018)return e.UNSIGNED_SHORT_5_5_5_1;if(n===35902)return e.UNSIGNED_INT_5_9_9_9_REV;if(n===35899)return e.UNSIGNED_INT_10F_11F_11F_REV;if(n===1010)return e.BYTE;if(n===1011)return e.SHORT;if(n===1012)return e.UNSIGNED_SHORT;if(n===1013)return e.INT;if(n===1014)return e.UNSIGNED_INT;if(n===1015)return e.FLOAT;if(n===1016)return e.HALF_FLOAT;if(n===1021)return e.ALPHA;if(n===1022)return e.RGB;if(n===1023)return e.RGBA;if(n===1026)return e.DEPTH_COMPONENT;if(n===1027)return e.DEPTH_STENCIL;if(n===1028)return e.RED;if(n===1029)return e.RED_INTEGER;if(n===1030)return e.RG;if(n===1031)return e.RG_INTEGER;if(n===1033)return e.RGBA_INTEGER;if(n===33776||n===33777||n===33778||n===33779){if(a===`srgb`){if(i=t.get(`WEBGL_compressed_texture_s3tc_srgb`),i!==null){if(n===33776)return i.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(n===33777)return i.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(n===33778)return i.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(n===33779)return i.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null}else if(i=t.get(`WEBGL_compressed_texture_s3tc`),i!==null){if(n===33776)return i.COMPRESSED_RGB_S3TC_DXT1_EXT;if(n===33777)return i.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(n===33778)return i.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(n===33779)return i.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null}if(n===35840||n===35841||n===35842||n===35843){if(i=t.get(`WEBGL_compressed_texture_pvrtc`),i!==null){if(n===35840)return i.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(n===35841)return i.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(n===35842)return i.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(n===35843)return i.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null}if(n===36196||n===37492||n===37496||n===37488||n===37489||n===37490||n===37491){if(i=t.get(`WEBGL_compressed_texture_etc`),i!==null){if(n===36196||n===37492)return a===`srgb`?i.COMPRESSED_SRGB8_ETC2:i.COMPRESSED_RGB8_ETC2;if(n===37496)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:i.COMPRESSED_RGBA8_ETC2_EAC;if(n===37488)return i.COMPRESSED_R11_EAC;if(n===37489)return i.COMPRESSED_SIGNED_R11_EAC;if(n===37490)return i.COMPRESSED_RG11_EAC;if(n===37491)return i.COMPRESSED_SIGNED_RG11_EAC}else return null}if(n===37808||n===37809||n===37810||n===37811||n===37812||n===37813||n===37814||n===37815||n===37816||n===37817||n===37818||n===37819||n===37820||n===37821){if(i=t.get(`WEBGL_compressed_texture_astc`),i!==null){if(n===37808)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:i.COMPRESSED_RGBA_ASTC_4x4_KHR;if(n===37809)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:i.COMPRESSED_RGBA_ASTC_5x4_KHR;if(n===37810)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:i.COMPRESSED_RGBA_ASTC_5x5_KHR;if(n===37811)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:i.COMPRESSED_RGBA_ASTC_6x5_KHR;if(n===37812)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:i.COMPRESSED_RGBA_ASTC_6x6_KHR;if(n===37813)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:i.COMPRESSED_RGBA_ASTC_8x5_KHR;if(n===37814)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:i.COMPRESSED_RGBA_ASTC_8x6_KHR;if(n===37815)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:i.COMPRESSED_RGBA_ASTC_8x8_KHR;if(n===37816)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:i.COMPRESSED_RGBA_ASTC_10x5_KHR;if(n===37817)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:i.COMPRESSED_RGBA_ASTC_10x6_KHR;if(n===37818)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:i.COMPRESSED_RGBA_ASTC_10x8_KHR;if(n===37819)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:i.COMPRESSED_RGBA_ASTC_10x10_KHR;if(n===37820)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:i.COMPRESSED_RGBA_ASTC_12x10_KHR;if(n===37821)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:i.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null}if(n===36492||n===36494||n===36495){if(i=t.get(`EXT_texture_compression_bptc`),i!==null){if(n===36492)return a===`srgb`?i.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:i.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(n===36494)return i.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(n===36495)return i.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null}if(n===36283||n===36284||n===36285||n===36286){if(i=t.get(`EXT_texture_compression_rgtc`),i!==null){if(n===36283)return i.COMPRESSED_RED_RGTC1_EXT;if(n===36284)return i.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(n===36285)return i.COMPRESSED_RED_GREEN_RGTC2_EXT;if(n===36286)return i.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null}return n===1020?e.UNSIGNED_INT_24_8:e[n]===void 0?null:e[n]}return{convert:n}}var pR=` void main() { gl_Position = vec4( position, 1.0 ); -}`,zL=` +}`,mR=` uniform sampler2DArray depthColor; uniform float depthWidth; uniform float depthHeight; @@ -4013,7 +4013,7 @@ void main() { } -}`,BL=class{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t){if(this.texture===null){let n=new Gj(e.texture);(e.depthNear!==t.depthNear||e.depthFar!==t.depthFar)&&(this.depthNear=e.depthNear,this.depthFar=e.depthFar),this.texture=n}}getMesh(e){if(this.texture!==null&&this.mesh===null){let t=e.cameras[0].viewport,n=new $A({vertexShader:RL,fragmentShader:zL,uniforms:{depthColor:{value:this.texture},depthWidth:{value:t.z},depthHeight:{value:t.w}}});this.mesh=new Q(new yN(20,20),n)}return this.mesh}reset(){this.texture=null,this.mesh=null}getDepthTexture(){return this.texture}},VL=class extends YD{constructor(e,t){super();let n=this,r=null,i=1,a=null,o=`local-floor`,s=1,c=null,l=null,u=null,d=null,f=null,p=null,m=typeof XRWebGLBinding<`u`,h=new BL,g={},_=t.getContextAttributes(),v=null,y=null,b=[],x=[],S=new X,C=null,w=new ij;w.viewport=new HO;let T=new ij;T.viewport=new HO;let E=[w,T],D=new oP,O=null,ee=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(e){let t=b[e];return t===void 0&&(t=new fj,b[e]=t),t.getTargetRaySpace()},this.getControllerGrip=function(e){let t=b[e];return t===void 0&&(t=new fj,b[e]=t),t.getGripSpace()},this.getHand=function(e){let t=b[e];return t===void 0&&(t=new fj,b[e]=t),t.getHandSpace()};function k(e){let t=x.indexOf(e.inputSource);if(t===-1)return;let n=b[t];n!==void 0&&(n.update(e.inputSource,e.frame,c||a),n.dispatchEvent({type:e.type,data:e.inputSource}))}function A(){r.removeEventListener(`select`,k),r.removeEventListener(`selectstart`,k),r.removeEventListener(`selectend`,k),r.removeEventListener(`squeeze`,k),r.removeEventListener(`squeezestart`,k),r.removeEventListener(`squeezeend`,k),r.removeEventListener(`end`,A),r.removeEventListener(`inputsourceschange`,te);for(let e=0;e=0&&(x[r]=null,b[r].disconnect(n))}for(let t=0;t=x.length){x.push(n),r=e;break}else if(x[e]===null){x[e]=n,r=e;break}if(r===-1)break}let i=b[r];i&&i.connect(n)}}let j=new Z,ne=new Z;function M(e,t,n){j.setFromMatrixPosition(t.matrixWorld),ne.setFromMatrixPosition(n.matrixWorld);let r=j.distanceTo(ne),i=t.projectionMatrix.elements,a=n.projectionMatrix.elements,o=i[14]/(i[10]-1),s=i[14]/(i[10]+1),c=(i[9]+1)/i[5],l=(i[9]-1)/i[5],u=(i[8]-1)/i[0],d=(a[8]+1)/a[0],f=o*u,p=o*d,m=r/(-u+d),h=m*-u;if(t.matrixWorld.decompose(e.position,e.quaternion,e.scale),e.translateX(h),e.translateZ(m),e.matrixWorld.compose(e.position,e.quaternion,e.scale),e.matrixWorldInverse.copy(e.matrixWorld).invert(),i[10]===-1)e.projectionMatrix.copy(t.projectionMatrix),e.projectionMatrixInverse.copy(t.projectionMatrixInverse);else{let t=o+m,n=s+m,i=f-h,a=p+(r-h),u=c*s/n*t,d=l*s/n*t;e.projectionMatrix.makePerspective(i,a,u,d,t,n),e.projectionMatrixInverse.copy(e.projectionMatrix).invert()}}function N(e,t){t===null?e.matrixWorld.copy(e.matrix):e.matrixWorld.multiplyMatrices(t.matrixWorld,e.matrix),e.matrixWorldInverse.copy(e.matrixWorld).invert()}this.updateCamera=function(e){if(r===null)return;let t=e.near,n=e.far;h.texture!==null&&(h.depthNear>0&&(t=h.depthNear),h.depthFar>0&&(n=h.depthFar)),D.near=T.near=w.near=t,D.far=T.far=w.far=n,(O!==D.near||ee!==D.far)&&(r.updateRenderState({depthNear:D.near,depthFar:D.far}),O=D.near,ee=D.far),D.layers.mask=e.layers.mask|6,w.layers.mask=D.layers.mask&3,T.layers.mask=D.layers.mask&5;let i=e.parent,a=D.cameras;N(D,i);for(let e=0;e0&&(e.alphaTest.value=r.alphaTest);let i=t.get(r),a=i.envMap,o=i.envMapRotation;a&&(e.envMap.value=a,HL.copy(o),HL.x*=-1,HL.y*=-1,HL.z*=-1,a.isCubeTexture&&a.isRenderTargetTexture===!1&&(HL.y*=-1,HL.z*=-1),e.envMapRotation.value.setFromMatrix4(UL.makeRotationFromEuler(HL)),e.flipEnvMap.value=a.isCubeTexture&&a.isRenderTargetTexture===!1?-1:1,e.reflectivity.value=r.reflectivity,e.ior.value=r.ior,e.refractionRatio.value=r.refractionRatio),r.lightMap&&(e.lightMap.value=r.lightMap,e.lightMapIntensity.value=r.lightMapIntensity,n(r.lightMap,e.lightMapTransform)),r.aoMap&&(e.aoMap.value=r.aoMap,e.aoMapIntensity.value=r.aoMapIntensity,n(r.aoMap,e.aoMapTransform))}function o(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,t.map&&(e.map.value=t.map,n(t.map,e.mapTransform))}function s(e,t){e.dashSize.value=t.dashSize,e.totalSize.value=t.dashSize+t.gapSize,e.scale.value=t.scale}function c(e,t,r,i){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.size.value=t.size*r,e.scale.value=i*.5,t.map&&(e.map.value=t.map,n(t.map,e.uvTransform)),t.alphaMap&&(e.alphaMap.value=t.alphaMap,n(t.alphaMap,e.alphaMapTransform)),t.alphaTest>0&&(e.alphaTest.value=t.alphaTest)}function l(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.rotation.value=t.rotation,t.map&&(e.map.value=t.map,n(t.map,e.mapTransform)),t.alphaMap&&(e.alphaMap.value=t.alphaMap,n(t.alphaMap,e.alphaMapTransform)),t.alphaTest>0&&(e.alphaTest.value=t.alphaTest)}function u(e,t){e.specular.value.copy(t.specular),e.shininess.value=Math.max(t.shininess,1e-4)}function d(e,t){t.gradientMap&&(e.gradientMap.value=t.gradientMap)}function f(e,t){e.metalness.value=t.metalness,t.metalnessMap&&(e.metalnessMap.value=t.metalnessMap,n(t.metalnessMap,e.metalnessMapTransform)),e.roughness.value=t.roughness,t.roughnessMap&&(e.roughnessMap.value=t.roughnessMap,n(t.roughnessMap,e.roughnessMapTransform)),t.envMap&&(e.envMapIntensity.value=t.envMapIntensity)}function p(e,t,r){e.ior.value=t.ior,t.sheen>0&&(e.sheenColor.value.copy(t.sheenColor).multiplyScalar(t.sheen),e.sheenRoughness.value=t.sheenRoughness,t.sheenColorMap&&(e.sheenColorMap.value=t.sheenColorMap,n(t.sheenColorMap,e.sheenColorMapTransform)),t.sheenRoughnessMap&&(e.sheenRoughnessMap.value=t.sheenRoughnessMap,n(t.sheenRoughnessMap,e.sheenRoughnessMapTransform))),t.clearcoat>0&&(e.clearcoat.value=t.clearcoat,e.clearcoatRoughness.value=t.clearcoatRoughness,t.clearcoatMap&&(e.clearcoatMap.value=t.clearcoatMap,n(t.clearcoatMap,e.clearcoatMapTransform)),t.clearcoatRoughnessMap&&(e.clearcoatRoughnessMap.value=t.clearcoatRoughnessMap,n(t.clearcoatRoughnessMap,e.clearcoatRoughnessMapTransform)),t.clearcoatNormalMap&&(e.clearcoatNormalMap.value=t.clearcoatNormalMap,n(t.clearcoatNormalMap,e.clearcoatNormalMapTransform),e.clearcoatNormalScale.value.copy(t.clearcoatNormalScale),t.side===1&&e.clearcoatNormalScale.value.negate())),t.dispersion>0&&(e.dispersion.value=t.dispersion),t.iridescence>0&&(e.iridescence.value=t.iridescence,e.iridescenceIOR.value=t.iridescenceIOR,e.iridescenceThicknessMinimum.value=t.iridescenceThicknessRange[0],e.iridescenceThicknessMaximum.value=t.iridescenceThicknessRange[1],t.iridescenceMap&&(e.iridescenceMap.value=t.iridescenceMap,n(t.iridescenceMap,e.iridescenceMapTransform)),t.iridescenceThicknessMap&&(e.iridescenceThicknessMap.value=t.iridescenceThicknessMap,n(t.iridescenceThicknessMap,e.iridescenceThicknessMapTransform))),t.transmission>0&&(e.transmission.value=t.transmission,e.transmissionSamplerMap.value=r.texture,e.transmissionSamplerSize.value.set(r.width,r.height),t.transmissionMap&&(e.transmissionMap.value=t.transmissionMap,n(t.transmissionMap,e.transmissionMapTransform)),e.thickness.value=t.thickness,t.thicknessMap&&(e.thicknessMap.value=t.thicknessMap,n(t.thicknessMap,e.thicknessMapTransform)),e.attenuationDistance.value=t.attenuationDistance,e.attenuationColor.value.copy(t.attenuationColor)),t.anisotropy>0&&(e.anisotropyVector.value.set(t.anisotropy*Math.cos(t.anisotropyRotation),t.anisotropy*Math.sin(t.anisotropyRotation)),t.anisotropyMap&&(e.anisotropyMap.value=t.anisotropyMap,n(t.anisotropyMap,e.anisotropyMapTransform))),e.specularIntensity.value=t.specularIntensity,e.specularColor.value.copy(t.specularColor),t.specularColorMap&&(e.specularColorMap.value=t.specularColorMap,n(t.specularColorMap,e.specularColorMapTransform)),t.specularIntensityMap&&(e.specularIntensityMap.value=t.specularIntensityMap,n(t.specularIntensityMap,e.specularIntensityMapTransform))}function m(e,t){t.matcap&&(e.matcap.value=t.matcap)}function h(e,n){let r=t.get(n).light;e.referencePosition.value.setFromMatrixPosition(r.matrixWorld),e.nearDistance.value=r.shadow.camera.near,e.farDistance.value=r.shadow.camera.far}return{refreshFogUniforms:r,refreshMaterialUniforms:i}}function GL(e,t,n,r){let i={},a={},o=[],s=e.getParameter(e.MAX_UNIFORM_BUFFER_BINDINGS);function c(e,t){let n=t.program;r.uniformBlockBinding(e,n)}function l(e,n){let o=i[e.id];o===void 0&&(m(e),o=u(e),i[e.id]=o,e.addEventListener(`dispose`,g));let s=n.program;r.updateUBOMapping(e,s);let c=t.render.frame;a[e.id]!==c&&(f(e),a[e.id]=c)}function u(t){let n=d();t.__bindingPointIndex=n;let r=e.createBuffer(),i=t.__size,a=t.usage;return e.bindBuffer(e.UNIFORM_BUFFER,r),e.bufferData(e.UNIFORM_BUFFER,i,a),e.bindBuffer(e.UNIFORM_BUFFER,null),e.bindBufferBase(e.UNIFORM_BUFFER,n,r),r}function d(){for(let e=0;e0&&(n+=16-r),e.__size=n,e.__cache={},this}function h(e){let t={boundary:0,storage:0};return typeof e==`number`||typeof e==`boolean`?(t.boundary=4,t.storage=4):e.isVector2?(t.boundary=8,t.storage=8):e.isVector3||e.isColor?(t.boundary=16,t.storage=12):e.isVector4?(t.boundary=16,t.storage=16):e.isMatrix3?(t.boundary=48,t.storage=48):e.isMatrix4?(t.boundary=64,t.storage=64):e.isTexture?GD(`WebGLRenderer: Texture samplers can not be part of an uniforms group.`):GD(`WebGLRenderer: Unsupported uniform value type.`,e),t}function g(t){let n=t.target;n.removeEventListener(`dispose`,g);let r=o.indexOf(n.__bindingPointIndex);o.splice(r,1),e.deleteBuffer(i[n.id]),delete i[n.id],delete a[n.id]}function _(){for(let t in i)e.deleteBuffer(i[t]);o=[],i={},a={}}return{bind:c,update:l,dispose:_}}var KL=new Uint16Array([12469,15057,12620,14925,13266,14620,13807,14376,14323,13990,14545,13625,14713,13328,14840,12882,14931,12528,14996,12233,15039,11829,15066,11525,15080,11295,15085,10976,15082,10705,15073,10495,13880,14564,13898,14542,13977,14430,14158,14124,14393,13732,14556,13410,14702,12996,14814,12596,14891,12291,14937,11834,14957,11489,14958,11194,14943,10803,14921,10506,14893,10278,14858,9960,14484,14039,14487,14025,14499,13941,14524,13740,14574,13468,14654,13106,14743,12678,14818,12344,14867,11893,14889,11509,14893,11180,14881,10751,14852,10428,14812,10128,14765,9754,14712,9466,14764,13480,14764,13475,14766,13440,14766,13347,14769,13070,14786,12713,14816,12387,14844,11957,14860,11549,14868,11215,14855,10751,14825,10403,14782,10044,14729,9651,14666,9352,14599,9029,14967,12835,14966,12831,14963,12804,14954,12723,14936,12564,14917,12347,14900,11958,14886,11569,14878,11247,14859,10765,14828,10401,14784,10011,14727,9600,14660,9289,14586,8893,14508,8533,15111,12234,15110,12234,15104,12216,15092,12156,15067,12010,15028,11776,14981,11500,14942,11205,14902,10752,14861,10393,14812,9991,14752,9570,14682,9252,14603,8808,14519,8445,14431,8145,15209,11449,15208,11451,15202,11451,15190,11438,15163,11384,15117,11274,15055,10979,14994,10648,14932,10343,14871,9936,14803,9532,14729,9218,14645,8742,14556,8381,14461,8020,14365,7603,15273,10603,15272,10607,15267,10619,15256,10631,15231,10614,15182,10535,15118,10389,15042,10167,14963,9787,14883,9447,14800,9115,14710,8665,14615,8318,14514,7911,14411,7507,14279,7198,15314,9675,15313,9683,15309,9712,15298,9759,15277,9797,15229,9773,15166,9668,15084,9487,14995,9274,14898,8910,14800,8539,14697,8234,14590,7790,14479,7409,14367,7067,14178,6621,15337,8619,15337,8631,15333,8677,15325,8769,15305,8871,15264,8940,15202,8909,15119,8775,15022,8565,14916,8328,14804,8009,14688,7614,14569,7287,14448,6888,14321,6483,14088,6171,15350,7402,15350,7419,15347,7480,15340,7613,15322,7804,15287,7973,15229,8057,15148,8012,15046,7846,14933,7611,14810,7357,14682,7069,14552,6656,14421,6316,14251,5948,14007,5528,15356,5942,15356,5977,15353,6119,15348,6294,15332,6551,15302,6824,15249,7044,15171,7122,15070,7050,14949,6861,14818,6611,14679,6349,14538,6067,14398,5651,14189,5311,13935,4958,15359,4123,15359,4153,15356,4296,15353,4646,15338,5160,15311,5508,15263,5829,15188,6042,15088,6094,14966,6001,14826,5796,14678,5543,14527,5287,14377,4985,14133,4586,13869,4257,15360,1563,15360,1642,15358,2076,15354,2636,15341,3350,15317,4019,15273,4429,15203,4732,15105,4911,14981,4932,14836,4818,14679,4621,14517,4386,14359,4156,14083,3795,13808,3437,15360,122,15360,137,15358,285,15355,636,15344,1274,15322,2177,15281,2765,15215,3223,15120,3451,14995,3569,14846,3567,14681,3466,14511,3305,14344,3121,14037,2800,13753,2467,15360,0,15360,1,15359,21,15355,89,15346,253,15325,479,15287,796,15225,1148,15133,1492,15008,1749,14856,1882,14685,1886,14506,1783,14324,1608,13996,1398,13702,1183]),qL=null;function JL(){return qL===null&&(qL=new mj(KL,16,16,BE,DE),qL.name=`DFG_LUT`,qL.minFilter=_E,qL.magFilter=_E,qL.wrapS=fE,qL.wrapT=fE,qL.generateMipmaps=!1,qL.needsUpdate=!0),qL}var YL=class{constructor(e={}){let{canvas:t=HD(),context:n=null,depth:r=!0,stencil:i=!1,alpha:a=!1,antialias:o=!1,premultipliedAlpha:s=!0,preserveDrawingBuffer:c=!1,powerPreference:l=`default`,failIfMajorPerformanceCaveat:u=!1,reversedDepthBuffer:d=!1,outputBufferType:f=bE}=e;this.isWebGLRenderer=!0;let p;if(n!==null){if(typeof WebGLRenderingContext<`u`&&n instanceof WebGLRenderingContext)throw Error(`THREE.WebGLRenderer: WebGL 1 is not supported since r163.`);p=n.getContextAttributes().alpha}else p=a;let m=f,h=new Set([HE,VE,zE]),g=new Set([bE,TE,CE,AE,OE,kE]),_=new Uint32Array(4),v=new Int32Array(4),y=null,b=null,x=[],S=[],C=null;this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.toneMapping=0,this.toneMappingExposure=1,this.transmissionResolutionScale=1;let w=this,T=!1;this._outputColorSpace=MD;let E=0,D=0,O=null,ee=-1,k=null,A=new HO,te=new HO,j=null,ne=new fA(0),M=0,N=t.width,re=t.height,ie=1,ae=null,oe=null,se=new HO(0,0,N,re),ce=new HO(0,0,N,re),le=!1,ue=new Sj,de=!1,fe=!1,pe=new bk,me=new Z,he=new HO,ge={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0},_e=!1;function ve(){return O===null?ie:1}let P=n;function ye(e,n){return t.getContext(e,n)}try{let e={alpha:!0,depth:r,stencil:i,antialias:o,premultipliedAlpha:s,preserveDrawingBuffer:c,powerPreference:l,failIfMajorPerformanceCaveat:u};if(`setAttribute`in t&&t.setAttribute(`data-engine`,`three.js r182`),t.addEventListener(`webglcontextlost`,Ke,!1),t.addEventListener(`webglcontextrestored`,qe,!1),t.addEventListener(`webglcontextcreationerror`,Je,!1),P===null){let t=`webgl2`;if(P=ye(t,e),P===null)throw ye(t)?Error(`Error creating WebGL context with your selected attributes.`):Error(`Error creating WebGL context.`)}}catch(e){throw KD(`WebGLRenderer: `+e.message),e}let be,xe,Se,Ce,we,Te,Ee,De,Oe,ke,Ae,je,Me,Ne,Pe,Fe,Ie,Le,Re,ze,Be,Ve,He,Ue;function We(){be=new pF(P),be.init(),Ve=new LL(P,be),xe=new UP(P,be,e,Ve),Se=new FL(P,be),xe.reversedDepthBuffer&&d&&Se.buffers.depth.setReversed(!0),Ce=new gF(P),we=new mL,Te=new IL(P,be,Se,we,xe,Ve,Ce),Ee=new GP(w),De=new fF(w),Oe=new PP(P),He=new VP(P,Oe),ke=new mF(P,Oe,Ce,He),Ae=new vF(P,ke,Oe,Ce),Re=new _F(P,xe,Te),Fe=new WP(we),je=new pL(w,Ee,De,be,xe,He,Fe),Me=new WL(w,we),Ne=new vL,Pe=new TL(be),Le=new BP(w,Ee,De,Se,Ae,p,s),Ie=new NL(w,Ae,xe),Ue=new GL(P,Ce,xe,Se),ze=new HP(P,be,Ce),Be=new hF(P,be,Ce),Ce.programs=je.programs,w.capabilities=xe,w.extensions=be,w.properties=we,w.renderLists=Ne,w.shadowMap=Ie,w.state=Se,w.info=Ce}We(),m!==1009&&(C=new bF(m,t.width,t.height,r,i));let Ge=new VL(w,P);this.xr=Ge,this.getContext=function(){return P},this.getContextAttributes=function(){return P.getContextAttributes()},this.forceContextLoss=function(){let e=be.get(`WEBGL_lose_context`);e&&e.loseContext()},this.forceContextRestore=function(){let e=be.get(`WEBGL_lose_context`);e&&e.restoreContext()},this.getPixelRatio=function(){return ie},this.setPixelRatio=function(e){e!==void 0&&(ie=e,this.setSize(N,re,!1))},this.getSize=function(e){return e.set(N,re)},this.setSize=function(e,n,r=!0){if(Ge.isPresenting){GD(`WebGLRenderer: Can't change size while VR device is presenting.`);return}N=e,re=n,t.width=Math.floor(e*ie),t.height=Math.floor(n*ie),r===!0&&(t.style.width=e+`px`,t.style.height=n+`px`),C!==null&&C.setSize(t.width,t.height),this.setViewport(0,0,e,n)},this.getDrawingBufferSize=function(e){return e.set(N*ie,re*ie).floor()},this.setDrawingBufferSize=function(e,n,r){N=e,re=n,ie=r,t.width=Math.floor(e*r),t.height=Math.floor(n*r),this.setViewport(0,0,e,n)},this.setEffects=function(e){if(m===1009){console.error(`THREE.WebGLRenderer: setEffects() requires outputBufferType set to HalfFloatType or FloatType.`);return}if(e){for(let t=0;t{function n(){if(r.forEach(function(e){we.get(e).currentProgram.isReady()&&r.delete(e)}),r.size===0){t(e);return}setTimeout(n,10)}be.get(`KHR_parallel_shader_compile`)===null?setTimeout(n,10):n()})};let $e=null;function et(e){$e&&$e(e)}function tt(){rt.stop()}function nt(){rt.start()}let rt=new NP;rt.setAnimationLoop(et),typeof self<`u`&&rt.setContext(self),this.setAnimationLoop=function(e){$e=e,Ge.setAnimationLoop(e),e===null?rt.stop():rt.start()},Ge.addEventListener(`sessionstart`,tt),Ge.addEventListener(`sessionend`,nt),this.render=function(e,t){if(t!==void 0&&t.isCamera!==!0){KD(`WebGLRenderer.render: camera is not an instance of THREE.Camera.`);return}if(T===!0)return;let n=Ge.enabled===!0&&Ge.isPresenting===!0,r=C!==null&&(O===null||n)&&C.begin(w,O);if(e.matrixWorldAutoUpdate===!0&&e.updateMatrixWorld(),t.parent===null&&t.matrixWorldAutoUpdate===!0&&t.updateMatrixWorld(),Ge.enabled===!0&&Ge.isPresenting===!0&&(C===null||C.isCompositing()===!1)&&(Ge.cameraAutoUpdate===!0&&Ge.updateCamera(t),t=Ge.getCamera()),e.isScene===!0&&e.onBeforeRender(w,e,t,O),b=Pe.get(e,S.length),b.init(t),S.push(b),pe.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),ue.setFromProjectionMatrix(pe,RD,t.reversedDepth),fe=this.localClippingEnabled,de=Fe.init(this.clippingPlanes,fe),y=Ne.get(e,x.length),y.init(),x.push(y),Ge.enabled===!0&&Ge.isPresenting===!0){let e=w.xr.getDepthSensingMesh();e!==null&&it(e,t,-1/0,w.sortObjects)}it(e,t,0,w.sortObjects),y.finish(),w.sortObjects===!0&&y.sort(ae,oe),_e=Ge.enabled===!1||Ge.isPresenting===!1||Ge.hasDepthSensing()===!1,_e&&Le.addToRenderList(y,e),this.info.render.frame++,de===!0&&Fe.beginShadows();let i=b.state.shadowsArray;if(Ie.render(i,e,t),de===!0&&Fe.endShadows(),this.info.autoReset===!0&&this.info.reset(),(r&&C.hasRenderPass())===!1){let n=y.opaque,r=y.transmissive;if(b.setupLights(),t.isArrayCamera){let i=t.cameras;if(r.length>0)for(let t=0,a=i.length;t0&&ot(n,r,e,t),_e&&Le.render(e),at(y,e,t)}O!==null&&D===0&&(Te.updateMultisampleRenderTarget(O),Te.updateRenderTargetMipmap(O)),r&&C.end(w),e.isScene===!0&&e.onAfterRender(w,e,t),He.resetDefaultState(),ee=-1,k=null,S.pop(),S.length>0?(b=S[S.length-1],de===!0&&Fe.setGlobalState(w.clippingPlanes,b.state.camera)):b=null,x.pop(),y=x.length>0?x[x.length-1]:null};function it(e,t,n,r){if(e.visible===!1)return;if(e.layers.test(t.layers)){if(e.isGroup)n=e.renderOrder;else if(e.isLOD)e.autoUpdate===!0&&e.update(t);else if(e.isLight)b.pushLight(e),e.castShadow&&b.pushShadow(e);else if(e.isSprite){if(!e.frustumCulled||ue.intersectsSprite(e)){r&&he.setFromMatrixPosition(e.matrixWorld).applyMatrix4(pe);let t=Ae.update(e),i=e.material;i.visible&&y.push(e,t,i,n,he.z,null)}}else if((e.isMesh||e.isLine||e.isPoints)&&(!e.frustumCulled||ue.intersectsObject(e))){let t=Ae.update(e),i=e.material;if(r&&(e.boundingSphere===void 0?(t.boundingSphere===null&&t.computeBoundingSphere(),he.copy(t.boundingSphere.center)):(e.boundingSphere===null&&e.computeBoundingSphere(),he.copy(e.boundingSphere.center)),he.applyMatrix4(e.matrixWorld).applyMatrix4(pe)),Array.isArray(i)){let r=t.groups;for(let a=0,o=r.length;a0&&st(i,t,n),a.length>0&&st(a,t,n),o.length>0&&st(o,t,n),Se.buffers.depth.setTest(!0),Se.buffers.depth.setMask(!0),Se.buffers.color.setMask(!0),Se.setPolygonOffset(!1)}function ot(e,t,n,r){if((n.isScene===!0?n.overrideMaterial:null)!==null)return;if(b.state.transmissionRenderTarget[r.id]===void 0){let e=be.has(`EXT_color_buffer_half_float`)||be.has(`EXT_color_buffer_float`);b.state.transmissionRenderTarget[r.id]=new WO(1,1,{generateMipmaps:!0,type:e?DE:bE,minFilter:yE,samples:xe.samples,stencilBuffer:i,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:jO.workingColorSpace})}let a=b.state.transmissionRenderTarget[r.id],o=r.viewport||A;a.setSize(o.z*w.transmissionResolutionScale,o.w*w.transmissionResolutionScale);let s=w.getRenderTarget(),c=w.getActiveCubeFace(),l=w.getActiveMipmapLevel();w.setRenderTarget(a),w.getClearColor(ne),M=w.getClearAlpha(),M<1&&w.setClearColor(16777215,.5),w.clear(),_e&&Le.render(n);let u=w.toneMapping;w.toneMapping=0;let d=r.viewport;if(r.viewport!==void 0&&(r.viewport=void 0),b.setupLightsView(r),de===!0&&Fe.setGlobalState(w.clippingPlanes,r),st(e,n,r),Te.updateMultisampleRenderTarget(a),Te.updateRenderTargetMipmap(a),be.has(`WEBGL_multisampled_render_to_texture`)===!1){let e=!1;for(let i=0,a=t.length;i0),d=!!n.morphAttributes.position,f=!!n.morphAttributes.normal,p=!!n.morphAttributes.color,m=0;r.toneMapped&&(O===null||O.isXRRenderTarget===!0)&&(m=w.toneMapping);let h=n.morphAttributes.position||n.morphAttributes.normal||n.morphAttributes.color,g=h===void 0?0:h.length,_=we.get(r),v=b.state.lights;if(de===!0&&(fe===!0||e!==k)){let t=e===k&&r.id===ee;Fe.setState(r,e,t)}let y=!1;r.version===_.__version?_.needsLights&&_.lightsStateVersion!==v.state.version?y=!0:_.outputColorSpace===s?i.isBatchedMesh&&_.batching===!1||!i.isBatchedMesh&&_.batching===!0||i.isBatchedMesh&&_.batchingColor===!0&&i.colorTexture===null||i.isBatchedMesh&&_.batchingColor===!1&&i.colorTexture!==null||i.isInstancedMesh&&_.instancing===!1||!i.isInstancedMesh&&_.instancing===!0||i.isSkinnedMesh&&_.skinning===!1||!i.isSkinnedMesh&&_.skinning===!0||i.isInstancedMesh&&_.instancingColor===!0&&i.instanceColor===null||i.isInstancedMesh&&_.instancingColor===!1&&i.instanceColor!==null||i.isInstancedMesh&&_.instancingMorph===!0&&i.morphTexture===null||i.isInstancedMesh&&_.instancingMorph===!1&&i.morphTexture!==null?y=!0:_.envMap===c?r.fog===!0&&_.fog!==a||_.numClippingPlanes!==void 0&&(_.numClippingPlanes!==Fe.numPlanes||_.numIntersection!==Fe.numIntersection)?y=!0:_.vertexAlphas===l&&_.vertexTangents===u&&_.morphTargets===d&&_.morphNormals===f&&_.morphColors===p&&_.toneMapping===m?_.morphTargetsCount!==g&&(y=!0):y=!0:y=!0:y=!0:(y=!0,_.__version=r.version);let x=_.currentProgram;y===!0&&(x=lt(r,t,i));let S=!1,C=!1,T=!1,E=x.getUniforms(),D=_.uniforms;if(Se.useProgram(x.program)&&(S=!0,C=!0,T=!0),r.id!==ee&&(ee=r.id,C=!0),S||k!==e){Se.buffers.depth.getReversed()&&e.reversedDepth!==!0&&(e._reversedDepth=!0,e.updateProjectionMatrix()),E.setValue(P,`projectionMatrix`,e.projectionMatrix),E.setValue(P,`viewMatrix`,e.matrixWorldInverse);let t=E.map.cameraPosition;t!==void 0&&t.setValue(P,me.setFromMatrixPosition(e.matrixWorld)),xe.logarithmicDepthBuffer&&E.setValue(P,`logDepthBufFC`,2/(Math.log(e.far+1)/Math.LN2)),(r.isMeshPhongMaterial||r.isMeshToonMaterial||r.isMeshLambertMaterial||r.isMeshBasicMaterial||r.isMeshStandardMaterial||r.isShaderMaterial)&&E.setValue(P,`isOrthographic`,e.isOrthographicCamera===!0),k!==e&&(k=e,C=!0,T=!0)}if(_.needsLights&&(v.state.directionalShadowMap.length>0&&E.setValue(P,`directionalShadowMap`,v.state.directionalShadowMap,Te),v.state.spotShadowMap.length>0&&E.setValue(P,`spotShadowMap`,v.state.spotShadowMap,Te),v.state.pointShadowMap.length>0&&E.setValue(P,`pointShadowMap`,v.state.pointShadowMap,Te)),i.isSkinnedMesh){E.setOptional(P,i,`bindMatrix`),E.setOptional(P,i,`bindMatrixInverse`);let e=i.skeleton;e&&(e.boneTexture===null&&e.computeBoneTexture(),E.setValue(P,`boneTexture`,e.boneTexture,Te))}i.isBatchedMesh&&(E.setOptional(P,i,`batchingTexture`),E.setValue(P,`batchingTexture`,i._matricesTexture,Te),E.setOptional(P,i,`batchingIdTexture`),E.setValue(P,`batchingIdTexture`,i._indirectTexture,Te),E.setOptional(P,i,`batchingColorTexture`),i._colorsTexture!==null&&E.setValue(P,`batchingColorTexture`,i._colorsTexture,Te));let A=n.morphAttributes;if((A.position!==void 0||A.normal!==void 0||A.color!==void 0)&&Re.update(i,n,x),(C||_.receiveShadow!==i.receiveShadow)&&(_.receiveShadow=i.receiveShadow,E.setValue(P,`receiveShadow`,i.receiveShadow)),r.isMeshGouraudMaterial&&r.envMap!==null&&(D.envMap.value=c,D.flipEnvMap.value=c.isCubeTexture&&c.isRenderTargetTexture===!1?-1:1),r.isMeshStandardMaterial&&r.envMap===null&&t.environment!==null&&(D.envMapIntensity.value=t.environmentIntensity),D.dfgLUT!==void 0&&(D.dfgLUT.value=JL()),C&&(E.setValue(P,`toneMappingExposure`,w.toneMappingExposure),_.needsLights&&pt(D,T),a&&r.fog===!0&&Me.refreshFogUniforms(D,a),Me.refreshMaterialUniforms(D,r,ie,re,b.state.transmissionRenderTarget[e.id]),DI.upload(P,ut(_),D,Te)),r.isShaderMaterial&&r.uniformsNeedUpdate===!0&&(DI.upload(P,ut(_),D,Te),r.uniformsNeedUpdate=!1),r.isSpriteMaterial&&E.setValue(P,`center`,i.center),E.setValue(P,`modelViewMatrix`,i.modelViewMatrix),E.setValue(P,`normalMatrix`,i.normalMatrix),E.setValue(P,`modelMatrix`,i.matrixWorld),r.isShaderMaterial||r.isRawShaderMaterial){let e=r.uniformsGroups;for(let t=0,n=e.length;t0&&Te.useMultisampledRTT(e)===!1?we.get(e).__webglMultisampledFramebuffer:Array.isArray(c)?c[n]:c,A.copy(e.viewport),te.copy(e.scissor),j=e.scissorTest}else A.copy(se).multiplyScalar(ie).floor(),te.copy(ce).multiplyScalar(ie).floor(),j=le;if(n!==0&&(r=ht),Se.bindFramebuffer(P.FRAMEBUFFER,r)&&Se.drawBuffers(e,r),Se.viewport(A),Se.scissor(te),Se.setScissorTest(j),i){let r=we.get(e.texture);P.framebufferTexture2D(P.FRAMEBUFFER,P.COLOR_ATTACHMENT0,P.TEXTURE_CUBE_MAP_POSITIVE_X+t,r.__webglTexture,n)}else if(a){let r=t;for(let t=0;t=0&&t<=e.width-r&&n>=0&&n<=e.height-i&&(e.textures.length>1&&P.readBuffer(P.COLOR_ATTACHMENT0+s),P.readPixels(t,n,r,i,Ve.convert(c),Ve.convert(l),a))}finally{let e=O===null?null:we.get(O).__webglFramebuffer;Se.bindFramebuffer(P.FRAMEBUFFER,e)}}},this.readRenderTargetPixelsAsync=async function(e,t,n,r,i,a,o,s=0){if(!(e&&e.isWebGLRenderTarget))throw Error(`THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.`);let c=we.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget&&o!==void 0&&(c=c[o]),c){if(t>=0&&t<=e.width-r&&n>=0&&n<=e.height-i){Se.bindFramebuffer(P.FRAMEBUFFER,c);let o=e.textures[s],l=o.format,u=o.type;if(!xe.textureFormatReadable(l))throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.`);if(!xe.textureTypeReadable(u))throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.`);let d=P.createBuffer();P.bindBuffer(P.PIXEL_PACK_BUFFER,d),P.bufferData(P.PIXEL_PACK_BUFFER,a.byteLength,P.STREAM_READ),e.textures.length>1&&P.readBuffer(P.COLOR_ATTACHMENT0+s),P.readPixels(t,n,r,i,Ve.convert(l),Ve.convert(u),0);let f=O===null?null:we.get(O).__webglFramebuffer;Se.bindFramebuffer(P.FRAMEBUFFER,f);let p=P.fenceSync(P.SYNC_GPU_COMMANDS_COMPLETE,0);return P.flush(),await JD(P,p,4),P.bindBuffer(P.PIXEL_PACK_BUFFER,d),P.getBufferSubData(P.PIXEL_PACK_BUFFER,0,a),P.deleteBuffer(d),P.deleteSync(p),a}throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.`)}},this.copyFramebufferToTexture=function(e,t=null,n=0){let r=2**-n,i=Math.floor(e.image.width*r),a=Math.floor(e.image.height*r),o=t===null?0:t.x,s=t===null?0:t.y;Te.setTexture2D(e,0),P.copyTexSubImage2D(P.TEXTURE_2D,n,0,0,o,s,i,a),Se.unbindTexture()};let gt=P.createFramebuffer(),_t=P.createFramebuffer();this.copyTextureToTexture=function(e,t,n=null,r=null,i=0,a=null){a===null&&(i===0?a=0:(qD(`WebGLRenderer: copyTextureToTexture function signature has changed to support src and dst mipmap levels.`),a=i,i=0));let o,s,c,l,u,d,f,p,m,h=e.isCompressedTexture?e.mipmaps[a]:e.image;if(n!==null)o=n.max.x-n.min.x,s=n.max.y-n.min.y,c=n.isBox3?n.max.z-n.min.z:1,l=n.min.x,u=n.min.y,d=n.isBox3?n.min.z:0;else{let t=2**-i;o=Math.floor(h.width*t),s=Math.floor(h.height*t),c=e.isDataArrayTexture?h.depth:e.isData3DTexture?Math.floor(h.depth*t):1,l=0,u=0,d=0}r===null?(f=0,p=0,m=0):(f=r.x,p=r.y,m=r.z);let g=Ve.convert(t.format),_=Ve.convert(t.type),v;t.isData3DTexture?(Te.setTexture3D(t,0),v=P.TEXTURE_3D):t.isDataArrayTexture||t.isCompressedArrayTexture?(Te.setTexture2DArray(t,0),v=P.TEXTURE_2D_ARRAY):(Te.setTexture2D(t,0),v=P.TEXTURE_2D),P.pixelStorei(P.UNPACK_FLIP_Y_WEBGL,t.flipY),P.pixelStorei(P.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t.premultiplyAlpha),P.pixelStorei(P.UNPACK_ALIGNMENT,t.unpackAlignment);let y=P.getParameter(P.UNPACK_ROW_LENGTH),b=P.getParameter(P.UNPACK_IMAGE_HEIGHT),x=P.getParameter(P.UNPACK_SKIP_PIXELS),S=P.getParameter(P.UNPACK_SKIP_ROWS),C=P.getParameter(P.UNPACK_SKIP_IMAGES);P.pixelStorei(P.UNPACK_ROW_LENGTH,h.width),P.pixelStorei(P.UNPACK_IMAGE_HEIGHT,h.height),P.pixelStorei(P.UNPACK_SKIP_PIXELS,l),P.pixelStorei(P.UNPACK_SKIP_ROWS,u),P.pixelStorei(P.UNPACK_SKIP_IMAGES,d);let w=e.isDataArrayTexture||e.isData3DTexture,T=t.isDataArrayTexture||t.isData3DTexture;if(e.isDepthTexture){let n=we.get(e),r=we.get(t),h=we.get(n.__renderTarget),g=we.get(r.__renderTarget);Se.bindFramebuffer(P.READ_FRAMEBUFFER,h.__webglFramebuffer),Se.bindFramebuffer(P.DRAW_FRAMEBUFFER,g.__webglFramebuffer);for(let n=0;n{t[n*3]=e.x,t[n*3+1]=e.y,t[n*3+2]=e.z}),t}function ZL(e,t){let n=[];return e.forEach((e,r)=>{let i=n=>{let i=e[n];if(i===void 0||!Number.isInteger(i)||i<0||i>=t)throw RangeError(`Face ${r} references vertex ${String(i)}, which is outside the ${t} available vertices`);return i};for(let t=1;te.indices),e.vertices.length);return t.setIndex(r),t.setAttribute(`position`,new bA(n,3)),t.computeVertexNormals(),new Q(t,new CN({color:30719,flatShading:!0,side:2}))}function $L(e){let t=new jA,n=XL(e.vertices),r=ZL(e.faces.map(e=>e.vertexIndices),e.vertices.length);return t.setIndex(r),t.setAttribute(`position`,new bA(n,3)),t.computeVertexNormals(),new Q(t,new CN({color:52292,side:2}))}function eR(e){let t=new Z(e.point.x,e.point.y,e.point.z),n=new Z(e.xaxis.x,e.xaxis.y,e.xaxis.z),r=new Z(e.yaxis.x,e.yaxis.y,e.yaxis.z),i=new Z().crossVectors(n,r),a=new bk;return a.makeBasis(n,r,i),a.setPosition(t),a}function tR(e){let t=new Float32Array(e.length*3);return e.forEach((e,n)=>{t[n*3]=e.x,t[n*3+1]=e.y,t[n*3+2]=e.z}),t}function nR(e){let t=new GA(e.xsize,e.ysize,e.zsize),n=eR(e.frame),r=new Q(t);return r.applyMatrix4(n),r}function rR(e,t,n){let r=new Q(new Kj(e.radius,e.height,t,n)),i=eR(e.frame);return r.applyMatrix4(i),r}function iR(e,t){let n=new qj(e.radius,t),r=eR(e.frame),i=new Q(n);return i.applyMatrix4(r),i}function aR(e,t){let n=new Q(new Yj(e.radius,e.height,t)),r=eR(e.frame);return n.applyMatrix4(r),n}function oR(e,t){let n=new Q(new Jj(e.radius,e.radius,e.height,t)),r=eR(e.frame);return n.applyMatrix4(r),n}function sR(e){let t=new OP(1);t.setColors(new fA(16711680),new fA(65280),new fA(255));let n=eR(e);return t.applyMatrix4(n),t}function cR(e){let t=new Z(e.start.x,e.start.y,e.start.z),n=new Z(e.end.x,e.end.y,e.end.z);return new jj(new jA().setFromPoints([t,n]),new Cj({color:255}))}function lR(e){let t=new Z(e.point.x,e.point.y,e.point.z),n=new Z(e.normal.x,e.normal.y,e.normal.z),r=new Q(new yN(1,1),new gA({color:16711935,side:2}));r.position.copy(t);let i=new CO;return i.setFromUnitVectors(new Z(0,0,1),n),r.quaternion.copy(i),r}function uR(e){let t=new jA,n=new Float32Array([e.x,e.y,e.z]);return t.setAttribute(`position`,new bA(n,3)),new Vj(t,new Ij({size:.2,color:255}))}function dR(e){let t=new jA,n=tR(e.points);return t.setAttribute(`position`,new bA(n,3)),new Vj(t,new Ij({size:.2,color:16711935}))}function fR(e){let t=new jA,n=tR(e.points);return t.setAttribute(`position`,new bA(n,3)),new jj(t,new Cj({color:0}))}function pR(e,t=64,n=64){let r=new Q(new bN(e.radius,t,n)),i=eR(e.frame);return r.applyMatrix4(i),r}function mR(e,t=64,n=64){let r=new Q(new xN(e.radiusAxis,e.radiusPipe,t,n)),i=eR(e.frame);return r.applyMatrix4(i),r}function hR(e,t){let n=new Z(e.x,e.y,e.z),r=n.length();n.normalize();let i;i=t?new Z(t.x,t.y,t.z):new Z(0,0,0);let a=new DP(n,i,r,16711680);return a.setDirection(n),a}var gR=[Ew,kw,Ww,mw,qw,$w,cT],_R=[mT,_T,bT,CT,ET,kT,RT,VT];function vR(e){return e===null?`null`:e===void 0?`undefined`:typeof e==`object`?e.constructor?.name||`object`:typeof e}var yR=class extends TypeError{objectType;constructor(e,t=`is not supported by the viewer`){let n=vR(e);super(`${n} ${t}`),this.name=`UnsupportedCompasObjectError`,this.objectType=n}};function bR(e){if(gR.some(t=>e instanceof t))throw new yR(e,`does not have an implemented renderer`);if(_R.some(t=>e instanceof t))throw new yR(e,`is data, not renderable scene geometry`);switch(!0){case e instanceof Mw:return nR(e);case e instanceof Fw:return rR(e,32,32);case e instanceof Cw:return iR(e,64);case e instanceof Rw:return aR(e,64);case e instanceof Vw:return oR(e,64);case e instanceof bw:return sR(e);case e instanceof Xw:return cR(e);case e instanceof nT:return lR(e);case e instanceof QC:return uR(e);case e instanceof aT:return dR(e);case e instanceof dT:return fR(e);case e instanceof MT:return pR(e);case e instanceof FT:return mR(e);case e instanceof _w:return hR(e);case e instanceof dw:return QL(e);case e instanceof aw:return $L(e)}throw new yR(e)}function xR(e){switch(e.type){case`standard_material`:return CR(e);case`line_material`:return wR(e);case`point_material`:return TR(e);case`physical_material`:return ER(e)}}function SR(e){let t=e.replace(`#`,`0x`);return parseInt(t)}function CR(e){return new CN({color:SR(e.color),metalness:e.metalness,roughness:e.roughness,emissive:SR(e.emissive),emissiveIntensity:e.emissive_intensity,flatShading:e.flat_shading,wireframe:e.wireframe,side:2,transparent:e.transparent,opacity:e.opacity})}function wR(e){return new Cj({color:SR(e.color)})}function TR(e){return new Ij({color:SR(e.color),size:e.size})}function ER(e){return new wN({color:SR(e.color),metalness:e.metalness,roughness:e.roughness,emissive:SR(e.emissive),emissiveIntensity:e.emissive_intensity,flatShading:e.flat_shading,wireframe:e.wireframe,side:2,anisotropy:e.anisotropy,anisotropyRotation:e.anisotropy_rotation,attenuationColor:SR(e.attenuation_color),...e.attenuation_distance===void 0?{}:{attenuationDistance:e.attenuation_distance},clearcoat:e.clearcoat,clearcoatRoughness:e.clearcoat_roughness,dispersion:e.dispersion,ior:e.ior,iridescence:e.iridescence,iridescenceIOR:e.iridescence_ior,iridescenceThicknessRange:[e.iridescence_thickness_start,e.iridescence_thickness_end],reflectivity:e.reflectivity,sheen:e.sheen,sheenColor:SR(e.sheen_color),specularColor:SR(e.specular_color),sheenRoughness:e.sheen_roughness,specularIntensity:e.specular_intensity,thickness:e.thickness,transmission:e.transmission})}var DR=class e extends Q{constructor(){let t=e.SkyShader,n=new $A({name:t.name,uniforms:XA.clone(t.uniforms),vertexShader:t.vertexShader,fragmentShader:t.fragmentShader,side:1,depthWrite:!1});super(new GA(1,1,1),n),this.isSky=!0}};DR.SkyShader={name:`SkyShader`,uniforms:{turbidity:{value:2},rayleigh:{value:1},mieCoefficient:{value:.005},mieDirectionalG:{value:.8},sunPosition:{value:new Z},up:{value:new Z(0,1,0)}},vertexShader:` +}`,hR=class{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t){if(this.texture===null){let n=new bM(e.texture);(e.depthNear!==t.depthNear||e.depthFar!==t.depthFar)&&(this.depthNear=e.depthNear,this.depthFar=e.depthFar),this.texture=n}}getMesh(e){if(this.texture!==null&&this.mesh===null){let t=e.cameras[0].viewport,n=new Oj({vertexShader:pR,fragmentShader:mR,uniforms:{depthColor:{value:this.texture},depthWidth:{value:t.z},depthHeight:{value:t.w}}});this.mesh=new Q(new JN(20,20),n)}return this.mesh}reset(){this.texture=null,this.mesh=null}getDepthTexture(){return this.texture}},gR=class extends wO{constructor(e,t){super();let n=this,r=null,i=1,a=null,o=`local-floor`,s=1,c=null,l=null,u=null,d=null,f=null,p=null,m=typeof XRWebGLBinding<`u`,h=new hR,g={},_=t.getContextAttributes(),v=null,y=null,b=[],x=[],S=new X,C=null,w=new Nj;w.viewport=new _k;let T=new Nj;T.viewport=new _k;let E=[w,T],D=new FP,O=null,ee=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(e){let t=b[e];return t===void 0&&(t=new Vj,b[e]=t),t.getTargetRaySpace()},this.getControllerGrip=function(e){let t=b[e];return t===void 0&&(t=new Vj,b[e]=t),t.getGripSpace()},this.getHand=function(e){let t=b[e];return t===void 0&&(t=new Vj,b[e]=t),t.getHandSpace()};function k(e){let t=x.indexOf(e.inputSource);if(t===-1)return;let n=b[t];n!==void 0&&(n.update(e.inputSource,e.frame,c||a),n.dispatchEvent({type:e.type,data:e.inputSource}))}function A(){r.removeEventListener(`select`,k),r.removeEventListener(`selectstart`,k),r.removeEventListener(`selectend`,k),r.removeEventListener(`squeeze`,k),r.removeEventListener(`squeezestart`,k),r.removeEventListener(`squeezeend`,k),r.removeEventListener(`end`,A),r.removeEventListener(`inputsourceschange`,te);for(let e=0;e=0&&(x[r]=null,b[r].disconnect(n))}for(let t=0;t=x.length){x.push(n),r=e;break}else if(x[e]===null){x[e]=n,r=e;break}if(r===-1)break}let i=b[r];i&&i.connect(n)}}let j=new Z,ne=new Z;function M(e,t,n){j.setFromMatrixPosition(t.matrixWorld),ne.setFromMatrixPosition(n.matrixWorld);let r=j.distanceTo(ne),i=t.projectionMatrix.elements,a=n.projectionMatrix.elements,o=i[14]/(i[10]-1),s=i[14]/(i[10]+1),c=(i[9]+1)/i[5],l=(i[9]-1)/i[5],u=(i[8]-1)/i[0],d=(a[8]+1)/a[0],f=o*u,p=o*d,m=r/(-u+d),h=m*-u;if(t.matrixWorld.decompose(e.position,e.quaternion,e.scale),e.translateX(h),e.translateZ(m),e.matrixWorld.compose(e.position,e.quaternion,e.scale),e.matrixWorldInverse.copy(e.matrixWorld).invert(),i[10]===-1)e.projectionMatrix.copy(t.projectionMatrix),e.projectionMatrixInverse.copy(t.projectionMatrixInverse);else{let t=o+m,n=s+m,i=f-h,a=p+(r-h),u=c*s/n*t,d=l*s/n*t;e.projectionMatrix.makePerspective(i,a,u,d,t,n),e.projectionMatrixInverse.copy(e.projectionMatrix).invert()}}function N(e,t){t===null?e.matrixWorld.copy(e.matrix):e.matrixWorld.multiplyMatrices(t.matrixWorld,e.matrix),e.matrixWorldInverse.copy(e.matrixWorld).invert()}this.updateCamera=function(e){if(r===null)return;let t=e.near,n=e.far;h.texture!==null&&(h.depthNear>0&&(t=h.depthNear),h.depthFar>0&&(n=h.depthFar)),D.near=T.near=w.near=t,D.far=T.far=w.far=n,(O!==D.near||ee!==D.far)&&(r.updateRenderState({depthNear:D.near,depthFar:D.far}),O=D.near,ee=D.far),D.layers.mask=e.layers.mask|6,w.layers.mask=D.layers.mask&3,T.layers.mask=D.layers.mask&5;let i=e.parent,a=D.cameras;N(D,i);for(let e=0;e0&&(e.alphaTest.value=r.alphaTest);let i=t.get(r),a=i.envMap,o=i.envMapRotation;a&&(e.envMap.value=a,_R.copy(o),_R.x*=-1,_R.y*=-1,_R.z*=-1,a.isCubeTexture&&a.isRenderTargetTexture===!1&&(_R.y*=-1,_R.z*=-1),e.envMapRotation.value.setFromMatrix4(vR.makeRotationFromEuler(_R)),e.flipEnvMap.value=a.isCubeTexture&&a.isRenderTargetTexture===!1?-1:1,e.reflectivity.value=r.reflectivity,e.ior.value=r.ior,e.refractionRatio.value=r.refractionRatio),r.lightMap&&(e.lightMap.value=r.lightMap,e.lightMapIntensity.value=r.lightMapIntensity,n(r.lightMap,e.lightMapTransform)),r.aoMap&&(e.aoMap.value=r.aoMap,e.aoMapIntensity.value=r.aoMapIntensity,n(r.aoMap,e.aoMapTransform))}function o(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,t.map&&(e.map.value=t.map,n(t.map,e.mapTransform))}function s(e,t){e.dashSize.value=t.dashSize,e.totalSize.value=t.dashSize+t.gapSize,e.scale.value=t.scale}function c(e,t,r,i){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.size.value=t.size*r,e.scale.value=i*.5,t.map&&(e.map.value=t.map,n(t.map,e.uvTransform)),t.alphaMap&&(e.alphaMap.value=t.alphaMap,n(t.alphaMap,e.alphaMapTransform)),t.alphaTest>0&&(e.alphaTest.value=t.alphaTest)}function l(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.rotation.value=t.rotation,t.map&&(e.map.value=t.map,n(t.map,e.mapTransform)),t.alphaMap&&(e.alphaMap.value=t.alphaMap,n(t.alphaMap,e.alphaMapTransform)),t.alphaTest>0&&(e.alphaTest.value=t.alphaTest)}function u(e,t){e.specular.value.copy(t.specular),e.shininess.value=Math.max(t.shininess,1e-4)}function d(e,t){t.gradientMap&&(e.gradientMap.value=t.gradientMap)}function f(e,t){e.metalness.value=t.metalness,t.metalnessMap&&(e.metalnessMap.value=t.metalnessMap,n(t.metalnessMap,e.metalnessMapTransform)),e.roughness.value=t.roughness,t.roughnessMap&&(e.roughnessMap.value=t.roughnessMap,n(t.roughnessMap,e.roughnessMapTransform)),t.envMap&&(e.envMapIntensity.value=t.envMapIntensity)}function p(e,t,r){e.ior.value=t.ior,t.sheen>0&&(e.sheenColor.value.copy(t.sheenColor).multiplyScalar(t.sheen),e.sheenRoughness.value=t.sheenRoughness,t.sheenColorMap&&(e.sheenColorMap.value=t.sheenColorMap,n(t.sheenColorMap,e.sheenColorMapTransform)),t.sheenRoughnessMap&&(e.sheenRoughnessMap.value=t.sheenRoughnessMap,n(t.sheenRoughnessMap,e.sheenRoughnessMapTransform))),t.clearcoat>0&&(e.clearcoat.value=t.clearcoat,e.clearcoatRoughness.value=t.clearcoatRoughness,t.clearcoatMap&&(e.clearcoatMap.value=t.clearcoatMap,n(t.clearcoatMap,e.clearcoatMapTransform)),t.clearcoatRoughnessMap&&(e.clearcoatRoughnessMap.value=t.clearcoatRoughnessMap,n(t.clearcoatRoughnessMap,e.clearcoatRoughnessMapTransform)),t.clearcoatNormalMap&&(e.clearcoatNormalMap.value=t.clearcoatNormalMap,n(t.clearcoatNormalMap,e.clearcoatNormalMapTransform),e.clearcoatNormalScale.value.copy(t.clearcoatNormalScale),t.side===1&&e.clearcoatNormalScale.value.negate())),t.dispersion>0&&(e.dispersion.value=t.dispersion),t.iridescence>0&&(e.iridescence.value=t.iridescence,e.iridescenceIOR.value=t.iridescenceIOR,e.iridescenceThicknessMinimum.value=t.iridescenceThicknessRange[0],e.iridescenceThicknessMaximum.value=t.iridescenceThicknessRange[1],t.iridescenceMap&&(e.iridescenceMap.value=t.iridescenceMap,n(t.iridescenceMap,e.iridescenceMapTransform)),t.iridescenceThicknessMap&&(e.iridescenceThicknessMap.value=t.iridescenceThicknessMap,n(t.iridescenceThicknessMap,e.iridescenceThicknessMapTransform))),t.transmission>0&&(e.transmission.value=t.transmission,e.transmissionSamplerMap.value=r.texture,e.transmissionSamplerSize.value.set(r.width,r.height),t.transmissionMap&&(e.transmissionMap.value=t.transmissionMap,n(t.transmissionMap,e.transmissionMapTransform)),e.thickness.value=t.thickness,t.thicknessMap&&(e.thicknessMap.value=t.thicknessMap,n(t.thicknessMap,e.thicknessMapTransform)),e.attenuationDistance.value=t.attenuationDistance,e.attenuationColor.value.copy(t.attenuationColor)),t.anisotropy>0&&(e.anisotropyVector.value.set(t.anisotropy*Math.cos(t.anisotropyRotation),t.anisotropy*Math.sin(t.anisotropyRotation)),t.anisotropyMap&&(e.anisotropyMap.value=t.anisotropyMap,n(t.anisotropyMap,e.anisotropyMapTransform))),e.specularIntensity.value=t.specularIntensity,e.specularColor.value.copy(t.specularColor),t.specularColorMap&&(e.specularColorMap.value=t.specularColorMap,n(t.specularColorMap,e.specularColorMapTransform)),t.specularIntensityMap&&(e.specularIntensityMap.value=t.specularIntensityMap,n(t.specularIntensityMap,e.specularIntensityMapTransform))}function m(e,t){t.matcap&&(e.matcap.value=t.matcap)}function h(e,n){let r=t.get(n).light;e.referencePosition.value.setFromMatrixPosition(r.matrixWorld),e.nearDistance.value=r.shadow.camera.near,e.farDistance.value=r.shadow.camera.far}return{refreshFogUniforms:r,refreshMaterialUniforms:i}}function bR(e,t,n,r){let i={},a={},o=[],s=e.getParameter(e.MAX_UNIFORM_BUFFER_BINDINGS);function c(e,t){let n=t.program;r.uniformBlockBinding(e,n)}function l(e,n){let o=i[e.id];o===void 0&&(m(e),o=u(e),i[e.id]=o,e.addEventListener(`dispose`,g));let s=n.program;r.updateUBOMapping(e,s);let c=t.render.frame;a[e.id]!==c&&(f(e),a[e.id]=c)}function u(t){let n=d();t.__bindingPointIndex=n;let r=e.createBuffer(),i=t.__size,a=t.usage;return e.bindBuffer(e.UNIFORM_BUFFER,r),e.bufferData(e.UNIFORM_BUFFER,i,a),e.bindBuffer(e.UNIFORM_BUFFER,null),e.bindBufferBase(e.UNIFORM_BUFFER,n,r),r}function d(){for(let e=0;e0&&(n+=16-r),e.__size=n,e.__cache={},this}function h(e){let t={boundary:0,storage:0};return typeof e==`number`||typeof e==`boolean`?(t.boundary=4,t.storage=4):e.isVector2?(t.boundary=8,t.storage=8):e.isVector3||e.isColor?(t.boundary=16,t.storage=12):e.isVector4?(t.boundary=16,t.storage=16):e.isMatrix3?(t.boundary=48,t.storage=48):e.isMatrix4?(t.boundary=64,t.storage=64):e.isTexture?bO(`WebGLRenderer: Texture samplers can not be part of an uniforms group.`):bO(`WebGLRenderer: Unsupported uniform value type.`,e),t}function g(t){let n=t.target;n.removeEventListener(`dispose`,g);let r=o.indexOf(n.__bindingPointIndex);o.splice(r,1),e.deleteBuffer(i[n.id]),delete i[n.id],delete a[n.id]}function _(){for(let t in i)e.deleteBuffer(i[t]);o=[],i={},a={}}return{bind:c,update:l,dispose:_}}var xR=new Uint16Array([12469,15057,12620,14925,13266,14620,13807,14376,14323,13990,14545,13625,14713,13328,14840,12882,14931,12528,14996,12233,15039,11829,15066,11525,15080,11295,15085,10976,15082,10705,15073,10495,13880,14564,13898,14542,13977,14430,14158,14124,14393,13732,14556,13410,14702,12996,14814,12596,14891,12291,14937,11834,14957,11489,14958,11194,14943,10803,14921,10506,14893,10278,14858,9960,14484,14039,14487,14025,14499,13941,14524,13740,14574,13468,14654,13106,14743,12678,14818,12344,14867,11893,14889,11509,14893,11180,14881,10751,14852,10428,14812,10128,14765,9754,14712,9466,14764,13480,14764,13475,14766,13440,14766,13347,14769,13070,14786,12713,14816,12387,14844,11957,14860,11549,14868,11215,14855,10751,14825,10403,14782,10044,14729,9651,14666,9352,14599,9029,14967,12835,14966,12831,14963,12804,14954,12723,14936,12564,14917,12347,14900,11958,14886,11569,14878,11247,14859,10765,14828,10401,14784,10011,14727,9600,14660,9289,14586,8893,14508,8533,15111,12234,15110,12234,15104,12216,15092,12156,15067,12010,15028,11776,14981,11500,14942,11205,14902,10752,14861,10393,14812,9991,14752,9570,14682,9252,14603,8808,14519,8445,14431,8145,15209,11449,15208,11451,15202,11451,15190,11438,15163,11384,15117,11274,15055,10979,14994,10648,14932,10343,14871,9936,14803,9532,14729,9218,14645,8742,14556,8381,14461,8020,14365,7603,15273,10603,15272,10607,15267,10619,15256,10631,15231,10614,15182,10535,15118,10389,15042,10167,14963,9787,14883,9447,14800,9115,14710,8665,14615,8318,14514,7911,14411,7507,14279,7198,15314,9675,15313,9683,15309,9712,15298,9759,15277,9797,15229,9773,15166,9668,15084,9487,14995,9274,14898,8910,14800,8539,14697,8234,14590,7790,14479,7409,14367,7067,14178,6621,15337,8619,15337,8631,15333,8677,15325,8769,15305,8871,15264,8940,15202,8909,15119,8775,15022,8565,14916,8328,14804,8009,14688,7614,14569,7287,14448,6888,14321,6483,14088,6171,15350,7402,15350,7419,15347,7480,15340,7613,15322,7804,15287,7973,15229,8057,15148,8012,15046,7846,14933,7611,14810,7357,14682,7069,14552,6656,14421,6316,14251,5948,14007,5528,15356,5942,15356,5977,15353,6119,15348,6294,15332,6551,15302,6824,15249,7044,15171,7122,15070,7050,14949,6861,14818,6611,14679,6349,14538,6067,14398,5651,14189,5311,13935,4958,15359,4123,15359,4153,15356,4296,15353,4646,15338,5160,15311,5508,15263,5829,15188,6042,15088,6094,14966,6001,14826,5796,14678,5543,14527,5287,14377,4985,14133,4586,13869,4257,15360,1563,15360,1642,15358,2076,15354,2636,15341,3350,15317,4019,15273,4429,15203,4732,15105,4911,14981,4932,14836,4818,14679,4621,14517,4386,14359,4156,14083,3795,13808,3437,15360,122,15360,137,15358,285,15355,636,15344,1274,15322,2177,15281,2765,15215,3223,15120,3451,14995,3569,14846,3567,14681,3466,14511,3305,14344,3121,14037,2800,13753,2467,15360,0,15360,1,15359,21,15355,89,15346,253,15325,479,15287,796,15225,1148,15133,1492,15008,1749,14856,1882,14685,1886,14506,1783,14324,1608,13996,1398,13702,1183]),SR=null;function CR(){return SR===null&&(SR=new Uj(xR,16,16,hD,nD),SR.name=`DFG_LUT`,SR.minFilter=KE,SR.magFilter=KE,SR.wrapS=VE,SR.wrapT=VE,SR.generateMipmaps=!1,SR.needsUpdate=!0),SR}var wR=class{constructor(e={}){let{canvas:t=_O(),context:n=null,depth:r=!0,stencil:i=!1,alpha:a=!1,antialias:o=!1,premultipliedAlpha:s=!0,preserveDrawingBuffer:c=!1,powerPreference:l=`default`,failIfMajorPerformanceCaveat:u=!1,reversedDepthBuffer:d=!1,outputBufferType:f=YE}=e;this.isWebGLRenderer=!0;let p;if(n!==null){if(typeof WebGLRenderingContext<`u`&&n instanceof WebGLRenderingContext)throw Error(`THREE.WebGLRenderer: WebGL 1 is not supported since r163.`);p=n.getContextAttributes().alpha}else p=a;let m=f,h=new Set([_D,gD,mD]),g=new Set([YE,eD,QE,aD,rD,iD]),_=new Uint32Array(4),v=new Int32Array(4),y=null,b=null,x=[],S=[],C=null;this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.toneMapping=0,this.toneMappingExposure=1,this.transmissionResolutionScale=1;let w=this,T=!1;this._outputColorSpace=sO;let E=0,D=0,O=null,ee=-1,k=null,A=new _k,te=new _k,j=null,ne=new VA(0),M=0,N=t.width,re=t.height,ie=1,ae=null,oe=null,se=new _k(0,0,N,re),ce=new _k(0,0,N,re),le=!1,ue=new Zj,de=!1,fe=!1,pe=new Yk,me=new Z,he=new _k,ge={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0},_e=!1;function ve(){return O===null?ie:1}let P=n;function ye(e,n){return t.getContext(e,n)}try{let e={alpha:!0,depth:r,stencil:i,antialias:o,premultipliedAlpha:s,preserveDrawingBuffer:c,powerPreference:l,failIfMajorPerformanceCaveat:u};if(`setAttribute`in t&&t.setAttribute(`data-engine`,`three.js r182`),t.addEventListener(`webglcontextlost`,Ke,!1),t.addEventListener(`webglcontextrestored`,qe,!1),t.addEventListener(`webglcontextcreationerror`,Je,!1),P===null){let t=`webgl2`;if(P=ye(t,e),P===null)throw ye(t)?Error(`Error creating WebGL context with your selected attributes.`):Error(`Error creating WebGL context.`)}}catch(e){throw xO(`WebGLRenderer: `+e.message),e}let be,xe,Se,Ce,we,Te,Ee,De,Oe,ke,Ae,je,Me,Ne,Pe,Fe,Ie,Le,Re,ze,Be,Ve,He,Ue;function We(){be=new HF(P),be.init(),Ve=new fR(P,be),xe=new vF(P,be,e,Ve),Se=new uR(P,be),xe.reversedDepthBuffer&&d&&Se.buffers.depth.setReversed(!0),Ce=new GF(P),we=new UL,Te=new dR(P,be,Se,we,xe,Ve,Ce),Ee=new bF(w),De=new VF(w),Oe=new lF(P),He=new gF(P,Oe),ke=new UF(P,Oe,Ce,He),Ae=new qF(P,ke,Oe,Ce),Re=new KF(P,xe,Te),Fe=new yF(we),je=new HL(w,Ee,De,be,xe,He,Fe),Me=new yR(w,we),Ne=new qL,Pe=new eR(be),Le=new hF(w,Ee,De,Se,Ae,p,s),Ie=new cR(w,Ae,xe),Ue=new bR(P,Ce,xe,Se),ze=new _F(P,be,Ce),Be=new WF(P,be,Ce),Ce.programs=je.programs,w.capabilities=xe,w.extensions=be,w.properties=we,w.renderLists=Ne,w.shadowMap=Ie,w.state=Se,w.info=Ce}We(),m!==1009&&(C=new YF(m,t.width,t.height,r,i));let Ge=new gR(w,P);this.xr=Ge,this.getContext=function(){return P},this.getContextAttributes=function(){return P.getContextAttributes()},this.forceContextLoss=function(){let e=be.get(`WEBGL_lose_context`);e&&e.loseContext()},this.forceContextRestore=function(){let e=be.get(`WEBGL_lose_context`);e&&e.restoreContext()},this.getPixelRatio=function(){return ie},this.setPixelRatio=function(e){e!==void 0&&(ie=e,this.setSize(N,re,!1))},this.getSize=function(e){return e.set(N,re)},this.setSize=function(e,n,r=!0){if(Ge.isPresenting){bO(`WebGLRenderer: Can't change size while VR device is presenting.`);return}N=e,re=n,t.width=Math.floor(e*ie),t.height=Math.floor(n*ie),r===!0&&(t.style.width=e+`px`,t.style.height=n+`px`),C!==null&&C.setSize(t.width,t.height),this.setViewport(0,0,e,n)},this.getDrawingBufferSize=function(e){return e.set(N*ie,re*ie).floor()},this.setDrawingBufferSize=function(e,n,r){N=e,re=n,ie=r,t.width=Math.floor(e*r),t.height=Math.floor(n*r),this.setViewport(0,0,e,n)},this.setEffects=function(e){if(m===1009){console.error(`THREE.WebGLRenderer: setEffects() requires outputBufferType set to HalfFloatType or FloatType.`);return}if(e){for(let t=0;t{function n(){if(r.forEach(function(e){we.get(e).currentProgram.isReady()&&r.delete(e)}),r.size===0){t(e);return}setTimeout(n,10)}be.get(`KHR_parallel_shader_compile`)===null?setTimeout(n,10):n()})};let $e=null;function et(e){$e&&$e(e)}function tt(){rt.stop()}function nt(){rt.start()}let rt=new cF;rt.setAnimationLoop(et),typeof self<`u`&&rt.setContext(self),this.setAnimationLoop=function(e){$e=e,Ge.setAnimationLoop(e),e===null?rt.stop():rt.start()},Ge.addEventListener(`sessionstart`,tt),Ge.addEventListener(`sessionend`,nt),this.render=function(e,t){if(t!==void 0&&t.isCamera!==!0){xO(`WebGLRenderer.render: camera is not an instance of THREE.Camera.`);return}if(T===!0)return;let n=Ge.enabled===!0&&Ge.isPresenting===!0,r=C!==null&&(O===null||n)&&C.begin(w,O);if(e.matrixWorldAutoUpdate===!0&&e.updateMatrixWorld(),t.parent===null&&t.matrixWorldAutoUpdate===!0&&t.updateMatrixWorld(),Ge.enabled===!0&&Ge.isPresenting===!0&&(C===null||C.isCompositing()===!1)&&(Ge.cameraAutoUpdate===!0&&Ge.updateCamera(t),t=Ge.getCamera()),e.isScene===!0&&e.onBeforeRender(w,e,t,O),b=Pe.get(e,S.length),b.init(t),S.push(b),pe.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),ue.setFromProjectionMatrix(pe,pO,t.reversedDepth),fe=this.localClippingEnabled,de=Fe.init(this.clippingPlanes,fe),y=Ne.get(e,x.length),y.init(),x.push(y),Ge.enabled===!0&&Ge.isPresenting===!0){let e=w.xr.getDepthSensingMesh();e!==null&&it(e,t,-1/0,w.sortObjects)}it(e,t,0,w.sortObjects),y.finish(),w.sortObjects===!0&&y.sort(ae,oe),_e=Ge.enabled===!1||Ge.isPresenting===!1||Ge.hasDepthSensing()===!1,_e&&Le.addToRenderList(y,e),this.info.render.frame++,de===!0&&Fe.beginShadows();let i=b.state.shadowsArray;if(Ie.render(i,e,t),de===!0&&Fe.endShadows(),this.info.autoReset===!0&&this.info.reset(),(r&&C.hasRenderPass())===!1){let n=y.opaque,r=y.transmissive;if(b.setupLights(),t.isArrayCamera){let i=t.cameras;if(r.length>0)for(let t=0,a=i.length;t0&&ot(n,r,e,t),_e&&Le.render(e),at(y,e,t)}O!==null&&D===0&&(Te.updateMultisampleRenderTarget(O),Te.updateRenderTargetMipmap(O)),r&&C.end(w),e.isScene===!0&&e.onAfterRender(w,e,t),He.resetDefaultState(),ee=-1,k=null,S.pop(),S.length>0?(b=S[S.length-1],de===!0&&Fe.setGlobalState(w.clippingPlanes,b.state.camera)):b=null,x.pop(),y=x.length>0?x[x.length-1]:null};function it(e,t,n,r){if(e.visible===!1)return;if(e.layers.test(t.layers)){if(e.isGroup)n=e.renderOrder;else if(e.isLOD)e.autoUpdate===!0&&e.update(t);else if(e.isLight)b.pushLight(e),e.castShadow&&b.pushShadow(e);else if(e.isSprite){if(!e.frustumCulled||ue.intersectsSprite(e)){r&&he.setFromMatrixPosition(e.matrixWorld).applyMatrix4(pe);let t=Ae.update(e),i=e.material;i.visible&&y.push(e,t,i,n,he.z,null)}}else if((e.isMesh||e.isLine||e.isPoints)&&(!e.frustumCulled||ue.intersectsObject(e))){let t=Ae.update(e),i=e.material;if(r&&(e.boundingSphere===void 0?(t.boundingSphere===null&&t.computeBoundingSphere(),he.copy(t.boundingSphere.center)):(e.boundingSphere===null&&e.computeBoundingSphere(),he.copy(e.boundingSphere.center)),he.applyMatrix4(e.matrixWorld).applyMatrix4(pe)),Array.isArray(i)){let r=t.groups;for(let a=0,o=r.length;a0&&st(i,t,n),a.length>0&&st(a,t,n),o.length>0&&st(o,t,n),Se.buffers.depth.setTest(!0),Se.buffers.depth.setMask(!0),Se.buffers.color.setMask(!0),Se.setPolygonOffset(!1)}function ot(e,t,n,r){if((n.isScene===!0?n.overrideMaterial:null)!==null)return;if(b.state.transmissionRenderTarget[r.id]===void 0){let e=be.has(`EXT_color_buffer_half_float`)||be.has(`EXT_color_buffer_float`);b.state.transmissionRenderTarget[r.id]=new yk(1,1,{generateMipmaps:!0,type:e?nD:YE,minFilter:JE,samples:xe.samples,stencilBuffer:i,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:ok.workingColorSpace})}let a=b.state.transmissionRenderTarget[r.id],o=r.viewport||A;a.setSize(o.z*w.transmissionResolutionScale,o.w*w.transmissionResolutionScale);let s=w.getRenderTarget(),c=w.getActiveCubeFace(),l=w.getActiveMipmapLevel();w.setRenderTarget(a),w.getClearColor(ne),M=w.getClearAlpha(),M<1&&w.setClearColor(16777215,.5),w.clear(),_e&&Le.render(n);let u=w.toneMapping;w.toneMapping=0;let d=r.viewport;if(r.viewport!==void 0&&(r.viewport=void 0),b.setupLightsView(r),de===!0&&Fe.setGlobalState(w.clippingPlanes,r),st(e,n,r),Te.updateMultisampleRenderTarget(a),Te.updateRenderTargetMipmap(a),be.has(`WEBGL_multisampled_render_to_texture`)===!1){let e=!1;for(let i=0,a=t.length;i0),d=!!n.morphAttributes.position,f=!!n.morphAttributes.normal,p=!!n.morphAttributes.color,m=0;r.toneMapped&&(O===null||O.isXRRenderTarget===!0)&&(m=w.toneMapping);let h=n.morphAttributes.position||n.morphAttributes.normal||n.morphAttributes.color,g=h===void 0?0:h.length,_=we.get(r),v=b.state.lights;if(de===!0&&(fe===!0||e!==k)){let t=e===k&&r.id===ee;Fe.setState(r,e,t)}let y=!1;r.version===_.__version?_.needsLights&&_.lightsStateVersion!==v.state.version?y=!0:_.outputColorSpace===s?i.isBatchedMesh&&_.batching===!1||!i.isBatchedMesh&&_.batching===!0||i.isBatchedMesh&&_.batchingColor===!0&&i.colorTexture===null||i.isBatchedMesh&&_.batchingColor===!1&&i.colorTexture!==null||i.isInstancedMesh&&_.instancing===!1||!i.isInstancedMesh&&_.instancing===!0||i.isSkinnedMesh&&_.skinning===!1||!i.isSkinnedMesh&&_.skinning===!0||i.isInstancedMesh&&_.instancingColor===!0&&i.instanceColor===null||i.isInstancedMesh&&_.instancingColor===!1&&i.instanceColor!==null||i.isInstancedMesh&&_.instancingMorph===!0&&i.morphTexture===null||i.isInstancedMesh&&_.instancingMorph===!1&&i.morphTexture!==null?y=!0:_.envMap===c?r.fog===!0&&_.fog!==a||_.numClippingPlanes!==void 0&&(_.numClippingPlanes!==Fe.numPlanes||_.numIntersection!==Fe.numIntersection)?y=!0:_.vertexAlphas===l&&_.vertexTangents===u&&_.morphTargets===d&&_.morphNormals===f&&_.morphColors===p&&_.toneMapping===m?_.morphTargetsCount!==g&&(y=!0):y=!0:y=!0:y=!0:(y=!0,_.__version=r.version);let x=_.currentProgram;y===!0&&(x=lt(r,t,i));let S=!1,C=!1,T=!1,E=x.getUniforms(),D=_.uniforms;if(Se.useProgram(x.program)&&(S=!0,C=!0,T=!0),r.id!==ee&&(ee=r.id,C=!0),S||k!==e){Se.buffers.depth.getReversed()&&e.reversedDepth!==!0&&(e._reversedDepth=!0,e.updateProjectionMatrix()),E.setValue(P,`projectionMatrix`,e.projectionMatrix),E.setValue(P,`viewMatrix`,e.matrixWorldInverse);let t=E.map.cameraPosition;t!==void 0&&t.setValue(P,me.setFromMatrixPosition(e.matrixWorld)),xe.logarithmicDepthBuffer&&E.setValue(P,`logDepthBufFC`,2/(Math.log(e.far+1)/Math.LN2)),(r.isMeshPhongMaterial||r.isMeshToonMaterial||r.isMeshLambertMaterial||r.isMeshBasicMaterial||r.isMeshStandardMaterial||r.isShaderMaterial)&&E.setValue(P,`isOrthographic`,e.isOrthographicCamera===!0),k!==e&&(k=e,C=!0,T=!0)}if(_.needsLights&&(v.state.directionalShadowMap.length>0&&E.setValue(P,`directionalShadowMap`,v.state.directionalShadowMap,Te),v.state.spotShadowMap.length>0&&E.setValue(P,`spotShadowMap`,v.state.spotShadowMap,Te),v.state.pointShadowMap.length>0&&E.setValue(P,`pointShadowMap`,v.state.pointShadowMap,Te)),i.isSkinnedMesh){E.setOptional(P,i,`bindMatrix`),E.setOptional(P,i,`bindMatrixInverse`);let e=i.skeleton;e&&(e.boneTexture===null&&e.computeBoneTexture(),E.setValue(P,`boneTexture`,e.boneTexture,Te))}i.isBatchedMesh&&(E.setOptional(P,i,`batchingTexture`),E.setValue(P,`batchingTexture`,i._matricesTexture,Te),E.setOptional(P,i,`batchingIdTexture`),E.setValue(P,`batchingIdTexture`,i._indirectTexture,Te),E.setOptional(P,i,`batchingColorTexture`),i._colorsTexture!==null&&E.setValue(P,`batchingColorTexture`,i._colorsTexture,Te));let A=n.morphAttributes;if((A.position!==void 0||A.normal!==void 0||A.color!==void 0)&&Re.update(i,n,x),(C||_.receiveShadow!==i.receiveShadow)&&(_.receiveShadow=i.receiveShadow,E.setValue(P,`receiveShadow`,i.receiveShadow)),r.isMeshGouraudMaterial&&r.envMap!==null&&(D.envMap.value=c,D.flipEnvMap.value=c.isCubeTexture&&c.isRenderTargetTexture===!1?-1:1),r.isMeshStandardMaterial&&r.envMap===null&&t.environment!==null&&(D.envMapIntensity.value=t.environmentIntensity),D.dfgLUT!==void 0&&(D.dfgLUT.value=CR()),C&&(E.setValue(P,`toneMappingExposure`,w.toneMappingExposure),_.needsLights&&pt(D,T),a&&r.fog===!0&&Me.refreshFogUniforms(D,a),Me.refreshMaterialUniforms(D,r,ie,re,b.state.transmissionRenderTarget[e.id]),nL.upload(P,ut(_),D,Te)),r.isShaderMaterial&&r.uniformsNeedUpdate===!0&&(nL.upload(P,ut(_),D,Te),r.uniformsNeedUpdate=!1),r.isSpriteMaterial&&E.setValue(P,`center`,i.center),E.setValue(P,`modelViewMatrix`,i.modelViewMatrix),E.setValue(P,`normalMatrix`,i.normalMatrix),E.setValue(P,`modelMatrix`,i.matrixWorld),r.isShaderMaterial||r.isRawShaderMaterial){let e=r.uniformsGroups;for(let t=0,n=e.length;t0&&Te.useMultisampledRTT(e)===!1?we.get(e).__webglMultisampledFramebuffer:Array.isArray(c)?c[n]:c,A.copy(e.viewport),te.copy(e.scissor),j=e.scissorTest}else A.copy(se).multiplyScalar(ie).floor(),te.copy(ce).multiplyScalar(ie).floor(),j=le;if(n!==0&&(r=ht),Se.bindFramebuffer(P.FRAMEBUFFER,r)&&Se.drawBuffers(e,r),Se.viewport(A),Se.scissor(te),Se.setScissorTest(j),i){let r=we.get(e.texture);P.framebufferTexture2D(P.FRAMEBUFFER,P.COLOR_ATTACHMENT0,P.TEXTURE_CUBE_MAP_POSITIVE_X+t,r.__webglTexture,n)}else if(a){let r=t;for(let t=0;t=0&&t<=e.width-r&&n>=0&&n<=e.height-i&&(e.textures.length>1&&P.readBuffer(P.COLOR_ATTACHMENT0+s),P.readPixels(t,n,r,i,Ve.convert(c),Ve.convert(l),a))}finally{let e=O===null?null:we.get(O).__webglFramebuffer;Se.bindFramebuffer(P.FRAMEBUFFER,e)}}},this.readRenderTargetPixelsAsync=async function(e,t,n,r,i,a,o,s=0){if(!(e&&e.isWebGLRenderTarget))throw Error(`THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.`);let c=we.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget&&o!==void 0&&(c=c[o]),c){if(t>=0&&t<=e.width-r&&n>=0&&n<=e.height-i){Se.bindFramebuffer(P.FRAMEBUFFER,c);let o=e.textures[s],l=o.format,u=o.type;if(!xe.textureFormatReadable(l))throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.`);if(!xe.textureTypeReadable(u))throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.`);let d=P.createBuffer();P.bindBuffer(P.PIXEL_PACK_BUFFER,d),P.bufferData(P.PIXEL_PACK_BUFFER,a.byteLength,P.STREAM_READ),e.textures.length>1&&P.readBuffer(P.COLOR_ATTACHMENT0+s),P.readPixels(t,n,r,i,Ve.convert(l),Ve.convert(u),0);let f=O===null?null:we.get(O).__webglFramebuffer;Se.bindFramebuffer(P.FRAMEBUFFER,f);let p=P.fenceSync(P.SYNC_GPU_COMMANDS_COMPLETE,0);return P.flush(),await CO(P,p,4),P.bindBuffer(P.PIXEL_PACK_BUFFER,d),P.getBufferSubData(P.PIXEL_PACK_BUFFER,0,a),P.deleteBuffer(d),P.deleteSync(p),a}throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.`)}},this.copyFramebufferToTexture=function(e,t=null,n=0){let r=2**-n,i=Math.floor(e.image.width*r),a=Math.floor(e.image.height*r),o=t===null?0:t.x,s=t===null?0:t.y;Te.setTexture2D(e,0),P.copyTexSubImage2D(P.TEXTURE_2D,n,0,0,o,s,i,a),Se.unbindTexture()};let gt=P.createFramebuffer(),_t=P.createFramebuffer();this.copyTextureToTexture=function(e,t,n=null,r=null,i=0,a=null){a===null&&(i===0?a=0:(SO(`WebGLRenderer: copyTextureToTexture function signature has changed to support src and dst mipmap levels.`),a=i,i=0));let o,s,c,l,u,d,f,p,m,h=e.isCompressedTexture?e.mipmaps[a]:e.image;if(n!==null)o=n.max.x-n.min.x,s=n.max.y-n.min.y,c=n.isBox3?n.max.z-n.min.z:1,l=n.min.x,u=n.min.y,d=n.isBox3?n.min.z:0;else{let t=2**-i;o=Math.floor(h.width*t),s=Math.floor(h.height*t),c=e.isDataArrayTexture?h.depth:e.isData3DTexture?Math.floor(h.depth*t):1,l=0,u=0,d=0}r===null?(f=0,p=0,m=0):(f=r.x,p=r.y,m=r.z);let g=Ve.convert(t.format),_=Ve.convert(t.type),v;t.isData3DTexture?(Te.setTexture3D(t,0),v=P.TEXTURE_3D):t.isDataArrayTexture||t.isCompressedArrayTexture?(Te.setTexture2DArray(t,0),v=P.TEXTURE_2D_ARRAY):(Te.setTexture2D(t,0),v=P.TEXTURE_2D),P.pixelStorei(P.UNPACK_FLIP_Y_WEBGL,t.flipY),P.pixelStorei(P.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t.premultiplyAlpha),P.pixelStorei(P.UNPACK_ALIGNMENT,t.unpackAlignment);let y=P.getParameter(P.UNPACK_ROW_LENGTH),b=P.getParameter(P.UNPACK_IMAGE_HEIGHT),x=P.getParameter(P.UNPACK_SKIP_PIXELS),S=P.getParameter(P.UNPACK_SKIP_ROWS),C=P.getParameter(P.UNPACK_SKIP_IMAGES);P.pixelStorei(P.UNPACK_ROW_LENGTH,h.width),P.pixelStorei(P.UNPACK_IMAGE_HEIGHT,h.height),P.pixelStorei(P.UNPACK_SKIP_PIXELS,l),P.pixelStorei(P.UNPACK_SKIP_ROWS,u),P.pixelStorei(P.UNPACK_SKIP_IMAGES,d);let w=e.isDataArrayTexture||e.isData3DTexture,T=t.isDataArrayTexture||t.isData3DTexture;if(e.isDepthTexture){let n=we.get(e),r=we.get(t),h=we.get(n.__renderTarget),g=we.get(r.__renderTarget);Se.bindFramebuffer(P.READ_FRAMEBUFFER,h.__webglFramebuffer),Se.bindFramebuffer(P.DRAW_FRAMEBUFFER,g.__webglFramebuffer);for(let n=0;n{t[n*3]=e.x,t[n*3+1]=e.y,t[n*3+2]=e.z}),t}function ER(e,t){let n=[];return e.forEach((e,r)=>{let i=n=>{let i=e[n];if(i===void 0||!Number.isInteger(i)||i<0||i>=t)throw RangeError(`Face ${r} references vertex ${String(i)}, which is outside the ${t} available vertices`);return i};for(let t=1;te.indices),e.vertices.length);return t.setIndex(r),t.setAttribute(`position`,new YA(n,3)),t.computeVertexNormals(),new Q(t,new QN({color:30719,flatShading:!0,side:2}))}function OR(e){let t=new oj,n=TR(e.vertices),r=ER(e.faces.map(e=>e.vertexIndices),e.vertices.length);return t.setIndex(r),t.setAttribute(`position`,new YA(n,3)),t.computeVertexNormals(),new Q(t,new QN({color:52292,side:2}))}function kR(e){let t=new Z(e.point.x,e.point.y,e.point.z),n=new Z(e.xaxis.x,e.xaxis.y,e.xaxis.z),r=new Z(e.yaxis.x,e.yaxis.y,e.yaxis.z),i=new Z().crossVectors(n,r),a=new Yk;return a.makeBasis(n,r,i),a.setPosition(t),a}function AR(e){let t=new Float32Array(e.length*3);return e.forEach((e,n)=>{t[n*3]=e.x,t[n*3+1]=e.y,t[n*3+2]=e.z}),t}function jR(e){let t=new bj(e.xsize,e.ysize,e.zsize),n=kR(e.frame),r=new Q(t);return r.applyMatrix4(n),r}function MR(e,t,n){let r=new Q(new xM(e.radius,e.height,t,n)),i=kR(e.frame);return r.applyMatrix4(i),r}function NR(e,t){let n=new SM(e.radius,t),r=kR(e.frame),i=new Q(n);return i.applyMatrix4(r),i}function PR(e,t){let n=new Q(new wM(e.radius,e.height,t)),r=kR(e.frame);return n.applyMatrix4(r),n}function FR(e,t){let n=new Q(new CM(e.radius,e.radius,e.height,t)),r=kR(e.frame);return n.applyMatrix4(r),n}function IR(e){let t=new rF(1);t.setColors(new VA(16711680),new VA(65280),new VA(255));let n=kR(e);return t.applyMatrix4(n),t}function LR(e){let t=new Z(e.start.x,e.start.y,e.start.z),n=new Z(e.end.x,e.end.y,e.end.z);return new oM(new oj().setFromPoints([t,n]),new Qj({color:255}))}function RR(e){let t=new Z(e.point.x,e.point.y,e.point.z),n=new Z(e.normal.x,e.normal.y,e.normal.z),r=new Q(new JN(1,1),new GA({color:16711935,side:2}));r.position.copy(t);let i=new QO;return i.setFromUnitVectors(new Z(0,0,1),n),r.quaternion.copy(i),r}function zR(e){let t=new oj,n=new Float32Array([e.x,e.y,e.z]);return t.setAttribute(`position`,new YA(n,3)),new gM(t,new dM({size:.2,color:255}))}function BR(e){let t=new oj,n=AR(e.points);return t.setAttribute(`position`,new YA(n,3)),new gM(t,new dM({size:.2,color:16711935}))}function VR(e){let t=new oj,n=AR(e.points);return t.setAttribute(`position`,new YA(n,3)),new oM(t,new Qj({color:0}))}function HR(e,t=64,n=64){let r=new Q(new YN(e.radius,t,n)),i=kR(e.frame);return r.applyMatrix4(i),r}function UR(e,t=64,n=64){let r=new Q(new XN(e.radiusAxis,e.radiusPipe,t,n)),i=kR(e.frame);return r.applyMatrix4(i),r}function WR(e,t){let n=new Z(e.x,e.y,e.z),r=n.length();n.normalize();let i;i=t?new Z(t.x,t.y,t.z):new Z(0,0,0);let a=new nF(n,i,r,16711680);return a.setDirection(n),a}var GR=[tT,iT,yT,Uw,ST,OT,LT],KR=[UT,KT,YT,QT,tE,iE,pE,gE];function qR(e){return e===null?`null`:e===void 0?`undefined`:typeof e==`object`?e.constructor?.name||`object`:typeof e}var JR=class extends TypeError{objectType;constructor(e,t=`is not supported by the viewer`){let n=qR(e);super(`${n} ${t}`),this.name=`UnsupportedCompasObjectError`,this.objectType=n}};function YR(e){if(GR.some(t=>e instanceof t))throw new JR(e,`does not have an implemented renderer`);if(KR.some(t=>e instanceof t))throw new JR(e,`is data, not renderable scene geometry`);switch(!0){case e instanceof sT:return jR(e);case e instanceof uT:return MR(e,32,32);case e instanceof Qw:return NR(e,64);case e instanceof pT:return PR(e,64);case e instanceof gT:return FR(e,64);case e instanceof Yw:return IR(e);case e instanceof TT:return LR(e);case e instanceof jT:return RR(e);case e instanceof Dw:return zR(e);case e instanceof PT:return BR(e);case e instanceof BT:return VR(e);case e instanceof sE:return HR(e);case e instanceof uE:return UR(e);case e instanceof Kw:return WR(e);case e instanceof Bw:return DR(e);case e instanceof Pw:return OR(e)}throw new JR(e)}function XR(e){switch(e.type){case`standard_material`:return QR(e);case`line_material`:return $R(e);case`point_material`:return ez(e);case`physical_material`:return tz(e)}}function ZR(e){let t=e.replace(`#`,`0x`);return parseInt(t)}function QR(e){return new QN({color:ZR(e.color),metalness:e.metalness,roughness:e.roughness,emissive:ZR(e.emissive),emissiveIntensity:e.emissive_intensity,flatShading:e.flat_shading,wireframe:e.wireframe,side:2,transparent:e.transparent,opacity:e.opacity})}function $R(e){return new Qj({color:ZR(e.color)})}function ez(e){return new dM({color:ZR(e.color),size:e.size})}function tz(e){return new $N({color:ZR(e.color),metalness:e.metalness,roughness:e.roughness,emissive:ZR(e.emissive),emissiveIntensity:e.emissive_intensity,flatShading:e.flat_shading,wireframe:e.wireframe,side:2,anisotropy:e.anisotropy,anisotropyRotation:e.anisotropy_rotation,attenuationColor:ZR(e.attenuation_color),...e.attenuation_distance===void 0?{}:{attenuationDistance:e.attenuation_distance},clearcoat:e.clearcoat,clearcoatRoughness:e.clearcoat_roughness,dispersion:e.dispersion,ior:e.ior,iridescence:e.iridescence,iridescenceIOR:e.iridescence_ior,iridescenceThicknessRange:[e.iridescence_thickness_start,e.iridescence_thickness_end],reflectivity:e.reflectivity,sheen:e.sheen,sheenColor:ZR(e.sheen_color),specularColor:ZR(e.specular_color),sheenRoughness:e.sheen_roughness,specularIntensity:e.specular_intensity,thickness:e.thickness,transmission:e.transmission})}var nz=class e extends Q{constructor(){let t=e.SkyShader,n=new Oj({name:t.name,uniforms:Tj.clone(t.uniforms),vertexShader:t.vertexShader,fragmentShader:t.fragmentShader,side:1,depthWrite:!1});super(new bj(1,1,1),n),this.isSky=!0}};nz.SkyShader={name:`SkyShader`,uniforms:{turbidity:{value:2},rayleigh:{value:1},mieCoefficient:{value:.005},mieDirectionalG:{value:.8},sunPosition:{value:new Z},up:{value:new Z(0,1,0)}},vertexShader:` uniform vec3 sunPosition; uniform float rayleigh; uniform float turbidity; @@ -4166,5 +4166,5 @@ void main() { #include #include - }`};function OR(e){switch(e.type){case`point_light`:return AR(e);case`spot_light`:return jR(e);case`rect_light`:return MR(e);case`sunlight`:return NR(e);case`sky`:return PR(e);case`ambient_light`:return IR(e)}}function kR(e){let t=e.replace(`#`,`0x`);return parseInt(t)}function AR(e){let t=new eP;return t.color.setHex(kR(e.color)),t.intensity=e.intensity,t.distance=e.distance,t.decay=e.decay,t.position.set(e.x,e.y,e.z),t.castShadow=!0,t.shadow.bias=-.002,t.shadow.normalBias=.02,t}function jR(e){let t=new QN;t.color.setHex(kR(e.color)),t.intensity=e.intensity,t.distance=e.distance,t.angle=e.angle,t.penumbra=e.penumbra,t.decay=e.decay,t.position.set(e.x,e.y,e.z),t.castShadow=!0,t.shadow.bias=-.002,t.shadow.normalBias=.02;let n=new qk;return n.position.set(e.tx,e.ty,e.tz),t.target=n,t}function MR(e){let t=new aP;return t.color.setHex(kR(e.color)),t.intensity=e.intensity,t.width=e.width,t.height=e.height,t.position.set(e.x,e.y,e.z),t.lookAt(e.tx,e.ty,e.tz),t}function NR(e){let t=new rP;return t.color.setHex(kR(e.color)),t.intensity=e.intensity,t.position.set(e.x,e.y,e.z),t.target.position.set(e.tx,e.ty,e.tz),t.castShadow=!0,t}function PR(e){let t=new DR;t.scale.setScalar(1e3),FR(t,`up`,new Z(0,0,1)),FR(t,`turbidity`,e.turbidity),FR(t,`rayleigh`,e.rayleigh),FR(t,`mieCoefficient`,e.mie_coefficient),FR(t,`mieDirectionalG`,e.mie_directional_g);let n=new Z,r=SO.degToRad(90-e.elevation),i=SO.degToRad(e.azimuth);return n.setFromSphericalCoords(1,r,i),FR(t,`sunPosition`,n),t}function FR(e,t,n){let r=e.material.uniforms[t];if(!r)throw Error(`The Three.js Sky shader has no "${t}" uniform`);r.value=n}function IR(e){let t=new iP;return t.color.setHex(kR(e.color)),t.intensity=e.intensity,t}var LR=class extends Error{code;details;constructor(e,t,n={}){super(t,{cause:n.cause}),this.name=`CompasViewerError`,this.code=e,this.details=n.details}};function RR(e,t,n,r){return e instanceof LR?e:new LR(t,n,{cause:e,...r===void 0?{}:{details:r}})}var zR=new Set([`background_color`,`controls_damping`,`world_axis`,`picker`,`camera_fov`,`camera_zoom`,`camera_position`,`camera_target`,`camera_view`,`show_edges`]),BR=new Set([`button`,`load_json_button`,`slider`,`number_field`,`checkbox`,`select`]),VR=new Set([`remove`,`set_visibility`,`toggle_visibility`]),HR=new Set([`standard_material`,`line_material`,`point_material`,`physical_material`]),UR=new Set([`point_light`,`spot_light`,`rect_light`,`sunlight`,`sky`,`ambient_light`]),WR=new Set([`top`,`bottom`,`front`,`back`,`left`,`right`,`front_left`,`front_right`,`back_left`,`back_right`]);function GR(e){let t=qR(e,`dispatch`);switch(t){case`material`:return ez(e),e;case`light`:return tz(e),e;case`object_action`:return oz(e),e;case`scene`:return nz(e),e;case`theme`:return $R(e,`mode`,new Set([`light`,`dark`])),e;case`ui`:return rz(e),e;case`text`:return $R(e,`type`,new Set([`text_geometry`])),iz(e),e;case`text_tag`:return az(e),e;case`object_infos`:return e;case`handle_geometry`:return sz(e),e;default:throw new LR(`unsupported_message`,`Unsupported viewer dispatch: ${t}`,{details:{dispatch:t}})}}function KR(e){let t=e.geometry_guid??e.geometryBackendGuid;return(typeof t!=`string`||t.length===0)&&uz(e,`geometry_guid`,`a non-empty geometry GUID (geometry_guid or geometryBackendGuid)`),t}function qR(e,t){let n=e[t];return typeof n!=`string`&&uz(e,t,`a string`),n}function JR(e,t){let n=qR(e,t);return n.length===0&&uz(e,t,`a non-empty string`),n}function YR(e,t){let n=e[t];if(n!=null)return typeof n!=`string`&&uz(e,t,`a string`),n}function XR(e,t){let n=e[t];return(typeof n!=`number`||!Number.isFinite(n))&&uz(e,t,`a finite number`),n}function ZR(e,t){let n=e[t];return typeof n!=`boolean`&&uz(e,t,`a boolean`),n}function QR(e,t){let n=e[t];return(!Array.isArray(n)||!n.every(e=>typeof e==`string`))&&uz(e,t,`an array of strings`),n}function $R(e,t,n){let r=qR(e,t);if(!n.has(r))throw new LR(`unsupported_message`,`Unsupported ${dz(e)} ${t}: ${r}`,{details:{dispatch:e.dispatch,field:t,value:r}});return r}function ez(e){let t=$R(e,`type`,HR);if(JR(e,`guid`),KR(e),qR(e,`color`),t!==`line_material`){if(t===`point_material`){XR(e,`size`);return}if(cz(e,[`metalness`,`roughness`,`emissive_intensity`]),qR(e,`emissive`),lz(e,[`flat_shading`,`wireframe`]),t===`standard_material`){ZR(e,`transparent`),XR(e,`opacity`);return}cz(e,[`anisotropy`,`anisotropy_rotation`,`clearcoat`,`clearcoat_roughness`,`dispersion`,`ior`,`iridescence`,`iridescence_ior`,`iridescence_thickness_start`,`iridescence_thickness_end`,`reflectivity`,`sheen`,`sheen_roughness`,`specular_intensity`,`thickness`,`transmission`]),e.attenuation_distance!==void 0&&XR(e,`attenuation_distance`);for(let t of[`attenuation_color`,`sheen_color`,`specular_color`])qR(e,t)}}function tz(e){let t=$R(e,`type`,UR);if(JR(e,`guid`),t===`sky`){cz(e,[`turbidity`,`rayleigh`,`mie_coefficient`,`mie_directional_g`,`elevation`,`azimuth`]);return}qR(e,`color`),XR(e,`intensity`),t!==`ambient_light`&&(cz(e,[`x`,`y`,`z`]),t===`point_light`?cz(e,[`distance`,`decay`]):t===`spot_light`?cz(e,[`distance`,`decay`,`angle`,`penumbra`,`tx`,`ty`,`tz`]):(cz(e,[`tx`,`ty`,`tz`]),t===`rect_light`&&cz(e,[`width`,`height`])))}function nz(e){switch($R(e,`type`,zR)){case`background_color`:qR(e,`color`);break;case`controls_damping`:ZR(e,`damping`);break;case`world_axis`:case`show_edges`:ZR(e,`show`);break;case`picker`:ZR(e,`enabled`);break;case`camera_fov`:XR(e,`fov`);break;case`camera_zoom`:XR(e,`zoom`);break;case`camera_position`:case`camera_target`:cz(e,[`x`,`y`,`z`]);break;case`camera_view`:$R(e,`preset`,WR)}}function rz(e){let t=$R(e,`type`,BR);switch(JR(e,`guid`),YR(e,`label`),t){case`button`:case`load_json_button`:qR(e,`text`),qR(e,`variant`);break;case`slider`:cz(e,[`min`,`max`,`step`,`default_value`]);break;case`number_field`:cz(e,[`min`,`max`,`step`,`value`]);break;case`checkbox`:qR(e,`text`),ZR(e,`default_value`);break;case`select`:QR(e,`options`),YR(e,`placeholder`),YR(e,`default_value`)}}function iz(e){JR(e,`guid`),qR(e,`text`),YR(e,`font`),YR(e,`weight`),cz(e,[`size`,`depth`,`direction_x`,`direction_y`,`direction_z`,`up_x`,`up_y`,`up_z`,`point_x`,`point_y`,`point_z`]),ZR(e,`centered`)}function az(e){JR(e,`guid`),qR(e,`text`),YR(e,`color`),cz(e,[`x`,`y`,`z`])}function oz(e){JR(e,`guid`),qR(e,`type`),JR(e,`object_guid`),YR(e,`label`),YR(e,`text`),YR(e,`placeholder`),e.options!==void 0&&QR(e,`options`)}function sz(e){let t=$R(e,`type`,VR);JR(e,`guid`),t===`set_visibility`&&ZR(e,`visible`)}function cz(e,t){for(let n of t)XR(e,n)}function lz(e,t){for(let n of t)ZR(e,n)}function uz(e,t,n){throw new LR(`invalid_message`,`Invalid ${dz(e)} command: ${t} must be ${n}`,{details:{dispatch:e.dispatch,field:t,value:e[t]}})}function dz(e){return typeof e.dispatch==`string`?e.dispatch:`viewer`}function fz(){return{objectBarData:Kt({title:`Object Infos`,isVisible:!1,data:null}),objectActionsState:Kt([]),sideBarInfoState:Kt({title:`Sidebar Infos`,isVisible:!1,data:null}),sidebarComponents:Kt([]),pickerEnabled:Kt({value:!0}),pickerMode:Kt({value:`translate`}),blockPicker:Kt({value:!1}),showEdges:Kt({value:!1}),theme:Kt({value:`light`})}}var pz={type:`change`},mz={type:`start`},hz={type:`end`},gz=new yk,_z=new vj,vz=Math.cos(70*SO.DEG2RAD),yz=new Z,bz=2*Math.PI,xz={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},Sz=1e-6,Cz=class extends AP{constructor(e,t=null){super(e,t),this.state=xz.NONE,this.target=new Z,this.cursor=new Z,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minTargetRadius=0,this.maxTargetRadius=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.keyRotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:`ArrowLeft`,UP:`ArrowUp`,RIGHT:`ArrowRight`,BOTTOM:`ArrowDown`},this.mouseButtons={LEFT:lE.ROTATE,MIDDLE:lE.DOLLY,RIGHT:lE.PAN},this.touches={ONE:uE.ROTATE,TWO:uE.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this._lastPosition=new Z,this._lastQuaternion=new CO,this._lastTargetPosition=new Z,this._quat=new CO().setFromUnitVectors(e.up,new Z(0,1,0)),this._quatInverse=this._quat.clone().invert(),this._spherical=new CP,this._sphericalDelta=new CP,this._scale=1,this._panOffset=new Z,this._rotateStart=new X,this._rotateEnd=new X,this._rotateDelta=new X,this._panStart=new X,this._panEnd=new X,this._panDelta=new X,this._dollyStart=new X,this._dollyEnd=new X,this._dollyDelta=new X,this._dollyDirection=new Z,this._mouse=new X,this._performCursorZoom=!1,this._pointers=[],this._pointerPositions={},this._controlActive=!1,this._onPointerMove=Tz.bind(this),this._onPointerDown=wz.bind(this),this._onPointerUp=Ez.bind(this),this._onContextMenu=Nz.bind(this),this._onMouseWheel=kz.bind(this),this._onKeyDown=Az.bind(this),this._onTouchStart=jz.bind(this),this._onTouchMove=Mz.bind(this),this._onMouseDown=Dz.bind(this),this._onMouseMove=Oz.bind(this),this._interceptControlDown=Pz.bind(this),this._interceptControlUp=Fz.bind(this),this.domElement!==null&&this.connect(this.domElement),this.update()}connect(e){super.connect(e),this.domElement.addEventListener(`pointerdown`,this._onPointerDown),this.domElement.addEventListener(`pointercancel`,this._onPointerUp),this.domElement.addEventListener(`contextmenu`,this._onContextMenu),this.domElement.addEventListener(`wheel`,this._onMouseWheel,{passive:!1}),this.domElement.getRootNode().addEventListener(`keydown`,this._interceptControlDown,{passive:!0,capture:!0}),this.domElement.style.touchAction=`none`}disconnect(){this.domElement.removeEventListener(`pointerdown`,this._onPointerDown),this.domElement.ownerDocument.removeEventListener(`pointermove`,this._onPointerMove),this.domElement.ownerDocument.removeEventListener(`pointerup`,this._onPointerUp),this.domElement.removeEventListener(`pointercancel`,this._onPointerUp),this.domElement.removeEventListener(`wheel`,this._onMouseWheel),this.domElement.removeEventListener(`contextmenu`,this._onContextMenu),this.stopListenToKeyEvents(),this.domElement.getRootNode().removeEventListener(`keydown`,this._interceptControlDown,{capture:!0}),this.domElement.style.touchAction=`auto`}dispose(){this.disconnect()}getPolarAngle(){return this._spherical.phi}getAzimuthalAngle(){return this._spherical.theta}getDistance(){return this.object.position.distanceTo(this.target)}listenToKeyEvents(e){e.addEventListener(`keydown`,this._onKeyDown),this._domElementKeyEvents=e}stopListenToKeyEvents(){this._domElementKeyEvents!==null&&(this._domElementKeyEvents.removeEventListener(`keydown`,this._onKeyDown),this._domElementKeyEvents=null)}saveState(){this.target0.copy(this.target),this.position0.copy(this.object.position),this.zoom0=this.object.zoom}reset(){this.target.copy(this.target0),this.object.position.copy(this.position0),this.object.zoom=this.zoom0,this.object.updateProjectionMatrix(),this.dispatchEvent(pz),this.update(),this.state=xz.NONE}update(e=null){let t=this.object.position;yz.copy(t).sub(this.target),yz.applyQuaternion(this._quat),this._spherical.setFromVector3(yz),this.autoRotate&&this.state===xz.NONE&&this._rotateLeft(this._getAutoRotationAngle(e)),this.enableDamping?(this._spherical.theta+=this._sphericalDelta.theta*this.dampingFactor,this._spherical.phi+=this._sphericalDelta.phi*this.dampingFactor):(this._spherical.theta+=this._sphericalDelta.theta,this._spherical.phi+=this._sphericalDelta.phi);let n=this.minAzimuthAngle,r=this.maxAzimuthAngle;isFinite(n)&&isFinite(r)&&(n<-Math.PI?n+=bz:n>Math.PI&&(n-=bz),r<-Math.PI?r+=bz:r>Math.PI&&(r-=bz),n<=r?this._spherical.theta=Math.max(n,Math.min(r,this._spherical.theta)):this._spherical.theta=this._spherical.theta>(n+r)/2?Math.max(n,this._spherical.theta):Math.min(r,this._spherical.theta)),this._spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this._spherical.phi)),this._spherical.makeSafe(),this.enableDamping===!0?this.target.addScaledVector(this._panOffset,this.dampingFactor):this.target.add(this._panOffset),this.target.sub(this.cursor),this.target.clampLength(this.minTargetRadius,this.maxTargetRadius),this.target.add(this.cursor);let i=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radius=this._clampDistance(this._spherical.radius);else{let e=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),i=e!=this._spherical.radius}if(yz.setFromSpherical(this._spherical),yz.applyQuaternion(this._quatInverse),t.copy(this.target).add(yz),this.object.lookAt(this.target),this.enableDamping===!0?(this._sphericalDelta.theta*=1-this.dampingFactor,this._sphericalDelta.phi*=1-this.dampingFactor,this._panOffset.multiplyScalar(1-this.dampingFactor)):(this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0)),this.zoomToCursor&&this._performCursorZoom){let e=null;if(this.object.isPerspectiveCamera){let t=yz.length();e=this._clampDistance(t*this._scale);let n=t-e;this.object.position.addScaledVector(this._dollyDirection,n),this.object.updateMatrixWorld(),i=!!n}else if(this.object.isOrthographicCamera){let t=new Z(this._mouse.x,this._mouse.y,0);t.unproject(this.object);let n=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),i=n!==this.object.zoom;let r=new Z(this._mouse.x,this._mouse.y,0);r.unproject(this.object),this.object.position.sub(r).add(t),this.object.updateMatrixWorld(),e=yz.length()}else console.warn(`WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled.`),this.zoomToCursor=!1;e!==null&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(e).add(this.object.position):(gz.origin.copy(this.object.position),gz.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(gz.direction))Sz||8*(1-this._lastQuaternion.dot(this.object.quaternion))>Sz||this._lastTargetPosition.distanceToSquared(this.target)>Sz?(this.dispatchEvent(pz),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0):!1}_getAutoRotationAngle(e){return e===null?bz/60/60*this.autoRotateSpeed:bz/60*this.autoRotateSpeed*e}_getZoomScale(e){let t=Math.abs(e*.01);return .95**(this.zoomSpeed*t)}_rotateLeft(e){this._sphericalDelta.theta-=e}_rotateUp(e){this._sphericalDelta.phi-=e}_panLeft(e,t){yz.setFromMatrixColumn(t,0),yz.multiplyScalar(-e),this._panOffset.add(yz)}_panUp(e,t){this.screenSpacePanning===!0?yz.setFromMatrixColumn(t,1):(yz.setFromMatrixColumn(t,0),yz.crossVectors(this.object.up,yz)),yz.multiplyScalar(e),this._panOffset.add(yz)}_pan(e,t){let n=this.domElement;if(this.object.isPerspectiveCamera){let r=this.object.position;yz.copy(r).sub(this.target);let i=yz.length();i*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*e*i/n.clientHeight,this.object.matrix),this._panUp(2*t*i/n.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(e*(this.object.right-this.object.left)/this.object.zoom/n.clientWidth,this.object.matrix),this._panUp(t*(this.object.top-this.object.bottom)/this.object.zoom/n.clientHeight,this.object.matrix)):(console.warn(`WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.`),this.enablePan=!1)}_dollyOut(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale/=e:(console.warn(`WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.`),this.enableZoom=!1)}_dollyIn(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale*=e:(console.warn(`WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.`),this.enableZoom=!1)}_updateZoomParameters(e,t){if(!this.zoomToCursor)return;this._performCursorZoom=!0;let n=this.domElement.getBoundingClientRect(),r=e-n.left,i=t-n.top,a=n.width,o=n.height;this._mouse.x=r/a*2-1,this._mouse.y=-(i/o)*2+1,this._dollyDirection.set(this._mouse.x,this._mouse.y,1).unproject(this.object).sub(this.object.position).normalize()}_clampDistance(e){return Math.max(this.minDistance,Math.min(this.maxDistance,e))}_handleMouseDownRotate(e){this._rotateStart.set(e.clientX,e.clientY)}_handleMouseDownDolly(e){this._updateZoomParameters(e.clientX,e.clientX),this._dollyStart.set(e.clientX,e.clientY)}_handleMouseDownPan(e){this._panStart.set(e.clientX,e.clientY)}_handleMouseMoveRotate(e){this._rotateEnd.set(e.clientX,e.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);let t=this.domElement;this._rotateLeft(bz*this._rotateDelta.x/t.clientHeight),this._rotateUp(bz*this._rotateDelta.y/t.clientHeight),this._rotateStart.copy(this._rotateEnd),this.update()}_handleMouseMoveDolly(e){this._dollyEnd.set(e.clientX,e.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),this._dollyDelta.y>0?this._dollyOut(this._getZoomScale(this._dollyDelta.y)):this._dollyDelta.y<0&&this._dollyIn(this._getZoomScale(this._dollyDelta.y)),this._dollyStart.copy(this._dollyEnd),this.update()}_handleMouseMovePan(e){this._panEnd.set(e.clientX,e.clientY),this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this.update()}_handleMouseWheel(e){this._updateZoomParameters(e.clientX,e.clientY),e.deltaY<0?this._dollyIn(this._getZoomScale(e.deltaY)):e.deltaY>0&&this._dollyOut(this._getZoomScale(e.deltaY)),this.update()}_handleKeyDown(e){let t=!1;switch(e.code){case this.keys.UP:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(bz*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,this.keyPanSpeed),t=!0;break;case this.keys.BOTTOM:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(-bz*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,-this.keyPanSpeed),t=!0;break;case this.keys.LEFT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(bz*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(this.keyPanSpeed,0),t=!0;break;case this.keys.RIGHT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(-bz*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(-this.keyPanSpeed,0),t=!0}t&&(e.preventDefault(),this.update())}_handleTouchStartRotate(e){if(this._pointers.length===1)this._rotateStart.set(e.pageX,e.pageY);else{let t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._rotateStart.set(n,r)}}_handleTouchStartPan(e){if(this._pointers.length===1)this._panStart.set(e.pageX,e.pageY);else{let t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._panStart.set(n,r)}}_handleTouchStartDolly(e){let t=this._getSecondPointerPosition(e),n=e.pageX-t.x,r=e.pageY-t.y,i=Math.sqrt(n*n+r*r);this._dollyStart.set(0,i)}_handleTouchStartDollyPan(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enablePan&&this._handleTouchStartPan(e)}_handleTouchStartDollyRotate(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enableRotate&&this._handleTouchStartRotate(e)}_handleTouchMoveRotate(e){if(this._pointers.length==1)this._rotateEnd.set(e.pageX,e.pageY);else{let t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._rotateEnd.set(n,r)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);let t=this.domElement;this._rotateLeft(bz*this._rotateDelta.x/t.clientHeight),this._rotateUp(bz*this._rotateDelta.y/t.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(e){if(this._pointers.length===1)this._panEnd.set(e.pageX,e.pageY);else{let t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._panEnd.set(n,r)}this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd)}_handleTouchMoveDolly(e){let t=this._getSecondPointerPosition(e),n=e.pageX-t.x,r=e.pageY-t.y,i=Math.sqrt(n*n+r*r);this._dollyEnd.set(0,i),this._dollyDelta.set(0,(this._dollyEnd.y/this._dollyStart.y)**+this.zoomSpeed),this._dollyOut(this._dollyDelta.y),this._dollyStart.copy(this._dollyEnd);let a=(e.pageX+t.x)*.5,o=(e.pageY+t.y)*.5;this._updateZoomParameters(a,o)}_handleTouchMoveDollyPan(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enablePan&&this._handleTouchMovePan(e)}_handleTouchMoveDollyRotate(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enableRotate&&this._handleTouchMoveRotate(e)}_addPointer(e){this._pointers.push(e.pointerId)}_removePointer(e){delete this._pointerPositions[e.pointerId];for(let t=0;t.9&&(r.visible=!1)),this.axis===`Y`&&(zz.setFromEuler(Qz.set(0,0,Math.PI/2)),r.quaternion.copy(t).multiply(zz),Math.abs($z.copy(sB).applyQuaternion(t).dot(this.eye))>.9&&(r.visible=!1)),this.axis===`Z`&&(zz.setFromEuler(Qz.set(0,Math.PI/2,0)),r.quaternion.copy(t).multiply(zz),Math.abs($z.copy(cB).applyQuaternion(t).dot(this.eye))>.9&&(r.visible=!1)),this.axis===`XYZE`&&(zz.setFromEuler(Qz.set(0,Math.PI/2,0)),$z.copy(this.rotationAxis),r.quaternion.setFromRotationMatrix(tB.lookAt(eB,$z,sB)),r.quaternion.multiply(zz),r.visible=this.dragging),this.axis===`E`&&(r.visible=!1)):r.name===`START`?(r.position.copy(this.worldPositionStart),r.visible=this.dragging):r.name===`END`?(r.position.copy(this.worldPosition),r.visible=this.dragging):r.name===`DELTA`?(r.position.copy(this.worldPositionStart),r.quaternion.copy(this.worldQuaternionStart),Lz.set(1e-10,1e-10,1e-10).add(this.worldPositionStart).sub(this.worldPosition).multiplyScalar(-1),Lz.applyQuaternion(this.worldQuaternionStart.clone().invert()),r.scale.copy(Lz),r.visible=this.dragging):(r.quaternion.copy(t),this.dragging?r.position.copy(this.worldPositionStart):r.position.copy(this.worldPosition),this.axis&&(r.visible=this.axis.search(r.name)!==-1));continue}if(r.quaternion.copy(t),this.mode===`translate`||this.mode===`scale`){let e=.99,n=.2;r.name===`X`&&Math.abs($z.copy(oB).applyQuaternion(t).dot(this.eye))>e&&(r.scale.set(1e-10,1e-10,1e-10),r.visible=!1),r.name===`Y`&&Math.abs($z.copy(sB).applyQuaternion(t).dot(this.eye))>e&&(r.scale.set(1e-10,1e-10,1e-10),r.visible=!1),r.name===`Z`&&Math.abs($z.copy(cB).applyQuaternion(t).dot(this.eye))>e&&(r.scale.set(1e-10,1e-10,1e-10),r.visible=!1),r.name===`XY`&&Math.abs($z.copy(cB).applyQuaternion(t).dot(this.eye))=-1&&xB.z<=1&&e.layers.test(r.layers)===!0,l=e.element;l.style.display=c===!0?``:`none`,c===!0&&(e.onBeforeRender(t,n,r),l.style.transform=`translate(`+-100*e.center.x+`%,`+-100*e.center.y+`%)translate(`+(xB.x*i+i)+`px,`+(-xB.y*a+a)+`px)`,l.parentNode!==s&&s.appendChild(l),e.onAfterRender(t,n,r));let d={distanceToCameraSquared:u(r,e)};o.objects.set(e,d)}for(let t=0,i=e.children.length;tthis.resize();onPointerDown=e=>this.pickFromPointer(e);onKeyDown=e=>this.handleKeyDown(e);animationFrame=null;attachedContainer=null;componentId=0;disposed=!1;pickedObject=null;pickedMaterial=null;highlightMaterial=new CN({color:`orange`,emissive:`yellow`,emissiveIntensity:.1});constructor(e,t){this.root=e,this.options=t;let{width:n,height:r}=this.getDimensions();this.camera=new ij(60,n/r,.1,1e3),this.camera.up.set(0,0,1),this.camera.position.set(8,-15,15),this.camera.layers.enable(1),this.renderer=new YL({antialias:!0}),this.renderer.domElement.tabIndex=0,this.renderer.setPixelRatio(window.devicePixelRatio),this.renderer.toneMapping=4,this.renderer.shadowMap.enabled=!0,this.renderer.shadowMap.type=2,this.renderer.toneMappingExposure=2.5,this.renderer.outputColorSpace=MD,this.controls=new Cz(this.camera,this.renderer.domElement),this.controls.enableDamping=!0,this.controls.mouseButtons={LEFT:null,MIDDLE:null,RIGHT:lE.ROTATE},this.transformControls=new Gz(this.camera,this.renderer.domElement),this.transformHelper=this.transformControls.getHelper(),this.transformControls.addEventListener(`dragging-changed`,e=>{this.controls.enabled=!e.value}),this.scene.add(this.transformHelper),this.labelRenderer.domElement.style.position=`absolute`,this.labelRenderer.domElement.style.inset=`0`,this.labelRenderer.domElement.style.pointerEvents=`none`,this.scene.add(this.axesHelper),this.applyTheme(`light`),this.resize(),this.connection=new cE({...t.websocket,...t.send===void 0?{}:{send:t.send},dispatch:e=>this.dispatch(e),onError:e=>this.reportAsyncError(RR(e,`connection_error`,`The viewer WebSocket connection failed`))})}attach(e){if(this.assertUsable(),this.attachedContainer!==e){if(this.attachedContainer=e,e.append(this.renderer.domElement,this.labelRenderer.domElement),window.addEventListener(`resize`,this.onResize),this.renderer.domElement.addEventListener(`mousedown`,this.onPointerDown),this.root.addEventListener(`keydown`,this.onKeyDown),this.options.defaultLighting&&this.addDefaultLighting(),(this.options.mode??`embedded`)===`websocket`)try{this.connection.start()}catch(e){this.reportOrThrow(RR(e,`connection_error`,`Unable to start the viewer WebSocket connection`))}this.startAnimation(),this.resize()}}dispatch(e){this.assertUsable();let t;try{t=sE(e)}catch(e){this.reportOrThrow(RR(e,`decode_error`,`Unable to decode the COMPAS Protobuf message`));return}try{this.dispatchObject(t)}catch(e){let t=e instanceof yR?new LR(`unsupported_message`,e.message,{cause:e,details:{objectType:e.objectType}}):RR(e,`render_error`,`Unable to apply the viewer message`);this.reportOrThrow(t)}}send(e){return this.connection.send(e)}sendData(e){return this.send(e)}handleUiAction(e,t){this.sendData({dispatch:`ui_callback`,action:e,value:t??null})}handleObjectAction(e,t){this.sendData({dispatch:`object_action_callback`,action_guid:e.guid,object_guid:e.objectGuid,value:t??null})}hideObjectInfo(){this.store.objectBarData.isVisible=!1}setTransformMode(e){this.store.pickerMode.value=e,this.transformControls.setMode(e)}toggleTheme(){this.applyTheme(this.store.theme.value===`dark`?`light`:`dark`)}setCameraViewPreset(e){let t=DB[e].clone().normalize(),n=this.camera.position.distanceTo(this.controls.target);this.camera.position.copy(this.controls.target.clone().add(t.multiplyScalar(n))),this.controls.update()}captureCurrentView(e){return{id:`view-${Date.now()}`,name:e,cameraPosition:this.vectorData(this.camera.position),target:this.vectorData(this.controls.target),zoom:this.camera.zoom,fov:this.camera.fov}}applySavedView(e){this.camera.position.set(e.cameraPosition.x,e.cameraPosition.y,e.cameraPosition.z),this.controls.target.set(e.target.x,e.target.y,e.target.z),this.camera.zoom=e.zoom,this.camera.fov=e.fov,this.camera.updateProjectionMatrix(),this.controls.update()}saveCurrentCanvasImage(e={}){let t=e.format??`png`,n=t===`jpg`?`image/jpeg`:`image/${t}`,r=t,i=Math.max(16,Math.round(e.width??this.renderer.domElement.width)),a=Math.max(16,Math.round(e.height??this.renderer.domElement.height));this.controls.update(),this.renderer.render(this.scene,this.camera);let o=document.createElement(`canvas`);o.width=i,o.height=a;let s=o.getContext(`2d`);if(!s)throw Error(`Unable to create screenshot canvas context`);t===`jpg`&&(s.fillStyle=`#ffffff`,s.fillRect(0,0,i,a)),s.drawImage(this.renderer.domElement,0,0,i,a);let c=document.createElement(`a`);c.download=e.fileName??`compas-view-${Date.now()}.${r}`,c.href=o.toDataURL(n,e.quality),c.click()}reset(){this.clearPickedObject();for(let e of this.geometries.values())this.scene.remove(e),this.disposeObject(e);this.geometries.clear(),this.clearLights();for(let e of this.materials.values())e.material.dispose();this.materials.clear(),this.geometryMaterials.clear(),this.store.sidebarComponents.splice(0),this.store.objectActionsState.splice(0),this.store.objectBarData.data=null,this.store.objectBarData.isVisible=!1,this.store.sideBarInfoState.data=null,this.store.sideBarInfoState.isVisible=!1}resize(){if(this.disposed)return;let{width:e,height:t}=this.getDimensions();this.camera.aspect=e/t,this.camera.updateProjectionMatrix(),this.renderer.setSize(e,t),this.labelRenderer.setSize(e,t)}dispose(){this.disposed||(this.disposed=!0,this.connection.dispose(),window.removeEventListener(`resize`,this.onResize),this.root.removeEventListener(`keydown`,this.onKeyDown),this.renderer.domElement.removeEventListener(`mousedown`,this.onPointerDown),this.animationFrame!==null&&cancelAnimationFrame(this.animationFrame),this.animationFrame=null,this.clearPickedObject(),this.resetAfterDispose(),this.controls.dispose(),this.transformControls.detach(),this.scene.remove(this.transformHelper),this.highlightMaterial.dispose(),this.renderer.dispose(),this.renderer.domElement.remove(),this.labelRenderer.domElement.remove(),this.attachedContainer=null)}dispatchObject(e){if(Array.isArray(e)){e.forEach(e=>this.dispatchObject(e));return}if(!e||typeof e!=`object`)return;let t=e;typeof t.dispatch==`string`?this.dispatchCommand(GR(t)):t.bytes instanceof Uint8Array?this.manageGeometry(t):Object.values(t).forEach(e=>this.dispatchObject(e))}dispatchCommand(e){switch(e.dispatch){case`material`:this.manageMaterial(e);break;case`light`:this.manageLight(e);break;case`scene`:this.manageScene(e);break;case`theme`:this.applyTheme(e.mode);break;case`ui`:this.manageUi(e);break;case`text`:this.manageText(e).catch(t=>this.reportAsyncError(RR(t,`render_error`,`Unable to create text geometry`,{dispatch:e.dispatch,guid:e.guid})));break;case`text_tag`:this.manageTextTag(e);break;case`object_infos`:this.store.objectBarData.data=this.withoutDispatch(e);break;case`object_action`:this.manageObjectAction(e);break;case`handle_geometry`:this.handleGeometry(e)}}manageGeometry(e){let t=JR(e,`guid`),n=bR(e),r=this.geometries.get(t);if(r&&(this.scene.remove(r),this.disposeObject(r)),this.applyGeometryMaterial(t,n),this.scene.add(n),this.geometries.set(t,n),this.store.showEdges.value&&n instanceof Q){let e=new Fj(new tM(n.geometry),new Cj({color:0}));e.layers.set(1),n.add(e)}}manageMaterial(e){let t=e.guid,n=KR(e),r=xR(e);this.materials.get(t)?.material.dispose(),this.materials.set(t,{material:r,materialType:e.type}),this.geometryMaterials.set(n,t);let i=this.geometries.get(n);i&&this.assignMaterial(i,r)}manageLight(e){let t=e.guid,n=OR(e);this.removeLight(t);let r=[n];n instanceof DR?r.push(new rP(16777215,1),new iP(16777215,.6)):n instanceof QN&&r.push(n.target),r.forEach(e=>this.scene.add(e)),this.lights.set(t,{objects:r})}manageScene(e){switch(e.type){case`background_color`:this.scene.background=new fA(e.color);break;case`controls_damping`:this.controls.enableDamping=e.damping;break;case`world_axis`:this.axesHelper.visible=e.show;break;case`picker`:this.store.pickerEnabled.value=e.enabled;break;case`camera_fov`:this.camera.fov=e.fov,this.camera.updateProjectionMatrix();break;case`camera_zoom`:this.camera.zoom=e.zoom,this.camera.updateProjectionMatrix();break;case`camera_position`:this.camera.position.set(e.x,e.y,e.z),this.controls.update();break;case`camera_target`:this.controls.target.set(e.x,e.y,e.z),this.controls.update();break;case`camera_view`:this.setCameraViewPreset(e.preset);break;case`show_edges`:this.store.showEdges.value=e.show}}manageUi(e){let t={id:++this.componentId,action:e.guid,...e.label===void 0?{}:{label:e.label}},n;switch(e.type){case`button`:case`load_json_button`:n={...t,component:e.type===`button`?`Button`:`LoadJsonButton`,props:{text:e.text,variant:e.variant}};break;case`slider`:n={...t,component:`Slider`,props:{min:e.min,max:e.max,step:e.step,defaultValue:[e.default_value]}};break;case`number_field`:n={...t,component:`NumberField`,props:{min:e.min,max:e.max,step:e.step,value:e.value}};break;case`checkbox`:n={...t,component:`Checkbox`,props:{text:e.text,defaultValue:e.default_value}};break;case`select`:n={...t,component:`Select`,props:{options:e.options,...e.placeholder===void 0?{}:{placeholder:e.placeholder},...e.default_value===void 0?{}:{defaultValue:e.default_value}}}}this.store.sidebarComponents.push(n),this.store.sideBarInfoState.isVisible=!0}manageObjectAction(e){this.store.objectActionsState.push({guid:e.guid,type:e.type,objectGuid:e.object_guid,...e.label===void 0?{}:{label:e.label},...e.text===void 0?{}:{text:e.text},...e.options===void 0?{}:{options:e.options},...e.placeholder===void 0?{}:{placeholder:e.placeholder},...e.default_value===void 0?{}:{defaultValue:e.default_value}})}pickFromPointer(e){if(this.renderer.domElement.focus({preventScroll:!0}),e.button!==0||!this.store.pickerEnabled.value||this.store.blockPicker.value||this.transformControls.dragging)return;let t=this.renderer.domElement.getBoundingClientRect();if(!t.width||!t.height)return;let n=new X((e.clientX-t.left)/t.width*2-1,-((e.clientY-t.top)/t.height)*2+1);this.raycaster.layers.set(0),this.raycaster.setFromCamera(n,this.camera);let r=Array.from(this.geometries.values()).filter(e=>e.visible),i=this.raycaster.intersectObjects(r,!0)[0]?.object??null;if(!i){this.clearPickedObject();return}if(this.clearPickedObject(),this.pickedObject=i,`material`in i){let e=i;this.pickedMaterial=e.material??null,e.material=this.highlightMaterial}this.transformControls.attach(i);let a=this.findGeometryGuid(i);a&&this.sendData({dispatch:`object_picked`,guid:a})}clearPickedObject(){this.pickedObject&&this.pickedMaterial&&`material`in this.pickedObject&&(this.pickedObject.material=this.pickedMaterial),this.pickedObject=null,this.pickedMaterial=null,this.transformControls.detach(),this.store.objectBarData.data=null,this.store.objectActionsState.splice(0)}findGeometryGuid(e){let t=e;for(;t;){for(let[e,n]of this.geometries)if(n===t)return e;t=t.parent}}handleKeyDown(e){e.altKey||e.ctrlKey||e.metaKey||(e.key===`Escape`?this.clearPickedObject():e.key.toLowerCase()===`p`?this.store.pickerEnabled.value=!this.store.pickerEnabled.value:e.key.toLowerCase()===`i`&&(this.store.objectBarData.isVisible=!this.store.objectBarData.isVisible))}manageTextTag(e){let t=e.guid,n=document.createElement(`div`);n.className=`text-tag`,n.textContent=e.text,e.color&&(n.style.color=e.color);let r=new bB(n);r.position.set(e.x,e.y,e.z);let i=this.geometries.get(t);i&&this.scene.remove(i),this.scene.add(r),this.geometries.set(t,r)}async manageText(e){let t=`${e.font??`helvetiker`}_${e.weight??`regular`}`,n=this.fonts.get(t);n||(n=await new gB().loadAsync(`/fonts/${t}.typeface.json`),this.fonts.set(t,n));let r=new hB(e.text,{font:n,size:e.size,depth:e.depth});if(e.centered){r.computeBoundingBox();let e=r.boundingBox;e&&r.translate(-.5*(e.max.x-e.min.x),0,0)}let i=new Z(e.direction_x,e.direction_y,e.direction_z).normalize(),a=new Z(e.up_x,e.up_y,e.up_z).normalize(),o=new Z().crossVectors(i,a).normalize(),s=new bk().makeBasis(i,a,o);s.setPosition(e.point_x,e.point_y,e.point_z);let c=e.guid,l=this.geometryMaterials.get(c),u=new Q(r,l?this.materials.get(l)?.material:new CN({color:65535,side:2}));u.applyMatrix4(s);let d=this.geometries.get(c);d&&(this.scene.remove(d),this.disposeObject(d)),this.scene.add(u),this.geometries.set(c,u)}handleGeometry(e){let t=e.guid,n=this.geometries.get(t);n&&(e.type===`remove`?(this.scene.remove(n),this.disposeObject(n),this.geometries.delete(t),this.geometryMaterials.delete(t)):e.type===`set_visibility`?n.visible=e.visible:e.type===`toggle_visibility`&&(n.visible=!n.visible))}applyGeometryMaterial(e,t){let n=this.geometryMaterials.get(e),r=n?this.materials.get(n)?.material:void 0;r?this.assignMaterial(t,r):t instanceof Q?t.material=new CN({color:37586,roughness:.7,metalness:.05}):t instanceof jj?t.material=new Cj({color:37586}):t instanceof Vj?t.material=new Ij({color:37586,size:.5}):t instanceof DP&&t.setColor(37586)}assignMaterial(e,t){e instanceof Q?e.material=t:e instanceof jj?e.material=t instanceof Cj?t:new Cj({color:this.materialColor(t)}):e instanceof Vj?e.material=t instanceof Ij?t:new Ij({color:this.materialColor(t),size:.5}):e instanceof DP&&e.setColor(this.materialColor(t))}materialColor(e){return`color`in e&&e.color instanceof fA?e.color:new fA(37586)}applyTheme(e){this.store.theme.value=e,this.scene.background=new fA(e===`dark`?0:15132390)}addDefaultLighting(){if(this.defaultLights.length)return;let e=new rP(16777215,1);e.position.set(30,-10,30);let t=new rP(16777215,.5);t.position.set(-30,-20,30);let n=new rP(16777215,.5);n.position.set(-30,20,10);let r=[e,t,n,new iP(16777215,.5)];r.forEach(e=>this.scene.add(e)),this.defaultLights.push(...r)}removeLight(e){let t=this.lights.get(e);t&&(t.objects.forEach(e=>this.scene.remove(e)),this.lights.delete(e))}clearLights(){for(let e of this.lights.keys())this.removeLight(e)}startAnimation(){if(this.animationFrame!==null)return;let e=()=>{this.disposed||(this.animationFrame=requestAnimationFrame(e),this.controls.update(),this.renderer.render(this.scene,this.camera),this.labelRenderer.render(this.scene,this.camera))};e()}getDimensions(){let e=this.root.getBoundingClientRect();return{width:Math.max(1,Math.round(e.width||this.root.clientWidth||window.innerWidth)),height:Math.max(1,Math.round(e.height||this.root.clientHeight||window.innerHeight))}}disposeObject(e){e.traverse(e=>{let t=e;t.geometry?.dispose(),Array.isArray(t.material)?t.material.forEach(e=>this.disposeUnregisteredMaterial(e)):this.disposeUnregisteredMaterial(t.material)})}disposeUnregisteredMaterial(e){e&&!Array.from(this.materials.values()).some(t=>t.material===e)&&e!==this.highlightMaterial&&e.dispose()}resetAfterDispose(){for(let e of this.geometries.values())this.disposeObject(e);this.geometries.clear(),this.clearLights(),this.materials.clear(),this.geometryMaterials.clear()}vectorData(e){return{x:e.x,y:e.y,z:e.z}}withoutDispatch(e){let{dispatch:t,...n}=e;return n}reportOrThrow(e){if(this.options.onError)this.options.onError(e);else throw e}reportAsyncError(e){this.options.onError?this.options.onError(e):console.error(e)}assertUsable(){if(this.disposed)throw new LR(`lifecycle_error`,`The COMPAS viewer has been disposed`)}};function kB(e,t={}){if(typeof HTMLElement>`u`||!(e instanceof HTMLElement))throw new LR(`lifecycle_error`,`createViewer requires an HTMLElement container`);let n=nn(new OB(e,t)),r=hu(xx,{runtime:n,showToolbar:t.showToolbar??!0});r.provide(iy,n),r.mount(e);let i=!1;return{dispatch(e){n.dispatch(e)},reset(){n.reset()},resize(){n.resize()},dispose(){i||(i=!0,r.unmount(),n.dispose())}}}var AB=document.querySelector(`#app`);if(!AB)throw Error(`Standalone viewer requires an #app container`);kB(AB,{mode:`websocket`,showToolbar:!0}); \ No newline at end of file + }`};function rz(e){switch(e.type){case`point_light`:return az(e);case`spot_light`:return oz(e);case`rect_light`:return sz(e);case`sunlight`:return cz(e);case`sky`:return lz(e);case`ambient_light`:return dz(e)}}function iz(e){let t=e.replace(`#`,`0x`);return parseInt(t)}function az(e){let t=new kP;return t.color.setHex(iz(e.color)),t.intensity=e.intensity,t.distance=e.distance,t.decay=e.decay,t.position.set(e.x,e.y,e.z),t.castShadow=!0,t.shadow.bias=-.002,t.shadow.normalBias=.02,t}function oz(e){let t=new DP;t.color.setHex(iz(e.color)),t.intensity=e.intensity,t.distance=e.distance,t.angle=e.angle,t.penumbra=e.penumbra,t.decay=e.decay,t.position.set(e.x,e.y,e.z),t.castShadow=!0,t.shadow.bias=-.002,t.shadow.normalBias=.02;let n=new SA;return n.position.set(e.tx,e.ty,e.tz),t.target=n,t}function sz(e){let t=new PP;return t.color.setHex(iz(e.color)),t.intensity=e.intensity,t.width=e.width,t.height=e.height,t.position.set(e.x,e.y,e.z),t.lookAt(e.tx,e.ty,e.tz),t}function cz(e){let t=new MP;return t.color.setHex(iz(e.color)),t.intensity=e.intensity,t.position.set(e.x,e.y,e.z),t.target.position.set(e.tx,e.ty,e.tz),t.castShadow=!0,t}function lz(e){let t=new nz;t.scale.setScalar(1e3),uz(t,`up`,new Z(0,0,1)),uz(t,`turbidity`,e.turbidity),uz(t,`rayleigh`,e.rayleigh),uz(t,`mieCoefficient`,e.mie_coefficient),uz(t,`mieDirectionalG`,e.mie_directional_g);let n=new Z,r=ZO.degToRad(90-e.elevation),i=ZO.degToRad(e.azimuth);return n.setFromSphericalCoords(1,r,i),uz(t,`sunPosition`,n),t}function uz(e,t,n){let r=e.material.uniforms[t];if(!r)throw Error(`The Three.js Sky shader has no "${t}" uniform`);r.value=n}function dz(e){let t=new NP;return t.color.setHex(iz(e.color)),t.intensity=e.intensity,t}var fz=class extends Error{code;details;constructor(e,t,n={}){super(t,{cause:n.cause}),this.name=`CompasViewerError`,this.code=e,this.details=n.details}};function pz(e,t,n,r){return e instanceof fz?e:new fz(t,n,{cause:e,...r===void 0?{}:{details:r}})}var mz=new Set([`background_color`,`controls_damping`,`world_axis`,`picker`,`camera_fov`,`camera_zoom`,`camera_position`,`camera_target`,`camera_view`,`show_edges`]),hz=new Set([`button`,`load_json_button`,`slider`,`number_field`,`checkbox`,`select`]),gz=new Set([`remove`,`set_visibility`,`toggle_visibility`]),_z=new Set([`standard_material`,`line_material`,`point_material`,`physical_material`]),vz=new Set([`point_light`,`spot_light`,`rect_light`,`sunlight`,`sky`,`ambient_light`]),yz=new Set([`top`,`bottom`,`front`,`back`,`left`,`right`,`front_left`,`front_right`,`back_left`,`back_right`]);function bz(e){let t=Sz(e,`dispatch`);switch(t){case`material`:return kz(e),e;case`light`:return Az(e),e;case`object_action`:return Fz(e),e;case`scene`:return jz(e),e;case`theme`:return Oz(e,`mode`,new Set([`light`,`dark`])),e;case`ui`:return Mz(e),e;case`text`:return Oz(e,`type`,new Set([`text_geometry`])),Nz(e),e;case`text_tag`:return Pz(e),e;case`object_infos`:return e;case`handle_geometry`:return Iz(e),e;case`spinner`:return Lz(e),e;default:throw new fz(`unsupported_message`,`Unsupported viewer dispatch: ${t}`,{details:{dispatch:t}})}}function xz(e){let t=e.geometry_guid??e.geometryBackendGuid;return(typeof t!=`string`||t.length===0)&&Bz(e,`geometry_guid`,`a non-empty geometry GUID (geometry_guid or geometryBackendGuid)`),t}function Sz(e,t){let n=e[t];return typeof n!=`string`&&Bz(e,t,`a string`),n}function Cz(e,t){let n=Sz(e,t);return n.length===0&&Bz(e,t,`a non-empty string`),n}function wz(e,t){let n=e[t];if(n!=null)return typeof n!=`string`&&Bz(e,t,`a string`),n}function Tz(e,t){let n=e[t];return(typeof n!=`number`||!Number.isFinite(n))&&Bz(e,t,`a finite number`),n}function Ez(e,t){let n=e[t];return typeof n!=`boolean`&&Bz(e,t,`a boolean`),n}function Dz(e,t){let n=e[t];return(!Array.isArray(n)||!n.every(e=>typeof e==`string`))&&Bz(e,t,`an array of strings`),n}function Oz(e,t,n){let r=Sz(e,t);if(!n.has(r))throw new fz(`unsupported_message`,`Unsupported ${Vz(e)} ${t}: ${r}`,{details:{dispatch:e.dispatch,field:t,value:r}});return r}function kz(e){let t=Oz(e,`type`,_z);if(Cz(e,`guid`),xz(e),Sz(e,`color`),t!==`line_material`){if(t===`point_material`){Tz(e,`size`);return}if(Rz(e,[`metalness`,`roughness`,`emissive_intensity`]),Sz(e,`emissive`),zz(e,[`flat_shading`,`wireframe`]),t===`standard_material`){Ez(e,`transparent`),Tz(e,`opacity`);return}Rz(e,[`anisotropy`,`anisotropy_rotation`,`clearcoat`,`clearcoat_roughness`,`dispersion`,`ior`,`iridescence`,`iridescence_ior`,`iridescence_thickness_start`,`iridescence_thickness_end`,`reflectivity`,`sheen`,`sheen_roughness`,`specular_intensity`,`thickness`,`transmission`]),e.attenuation_distance!==void 0&&Tz(e,`attenuation_distance`);for(let t of[`attenuation_color`,`sheen_color`,`specular_color`])Sz(e,t)}}function Az(e){let t=Oz(e,`type`,vz);if(Cz(e,`guid`),t===`sky`){Rz(e,[`turbidity`,`rayleigh`,`mie_coefficient`,`mie_directional_g`,`elevation`,`azimuth`]);return}Sz(e,`color`),Tz(e,`intensity`),t!==`ambient_light`&&(Rz(e,[`x`,`y`,`z`]),t===`point_light`?Rz(e,[`distance`,`decay`]):t===`spot_light`?Rz(e,[`distance`,`decay`,`angle`,`penumbra`,`tx`,`ty`,`tz`]):(Rz(e,[`tx`,`ty`,`tz`]),t===`rect_light`&&Rz(e,[`width`,`height`])))}function jz(e){switch(Oz(e,`type`,mz)){case`background_color`:Sz(e,`color`);break;case`controls_damping`:Ez(e,`damping`);break;case`world_axis`:case`show_edges`:Ez(e,`show`);break;case`picker`:Ez(e,`enabled`);break;case`camera_fov`:Tz(e,`fov`);break;case`camera_zoom`:Tz(e,`zoom`);break;case`camera_position`:case`camera_target`:Rz(e,[`x`,`y`,`z`]);break;case`camera_view`:Oz(e,`preset`,yz)}}function Mz(e){let t=Oz(e,`type`,hz);switch(Cz(e,`guid`),wz(e,`label`),t){case`button`:case`load_json_button`:Sz(e,`text`),Sz(e,`variant`);break;case`slider`:Rz(e,[`min`,`max`,`step`,`default_value`]);break;case`number_field`:Rz(e,[`min`,`max`,`step`,`value`]);break;case`checkbox`:Sz(e,`text`),Ez(e,`default_value`);break;case`select`:Dz(e,`options`),wz(e,`placeholder`),wz(e,`default_value`)}}function Nz(e){Cz(e,`guid`),Sz(e,`text`),wz(e,`font`),wz(e,`weight`),Rz(e,[`size`,`depth`,`direction_x`,`direction_y`,`direction_z`,`up_x`,`up_y`,`up_z`,`point_x`,`point_y`,`point_z`]),Ez(e,`centered`)}function Pz(e){Cz(e,`guid`),Sz(e,`text`),wz(e,`color`),Rz(e,[`x`,`y`,`z`])}function Fz(e){Cz(e,`guid`),Sz(e,`type`),Cz(e,`object_guid`),wz(e,`label`),wz(e,`text`),wz(e,`placeholder`),e.options!==void 0&&Dz(e,`options`)}function Iz(e){let t=Oz(e,`type`,gz);Cz(e,`guid`),t===`set_visibility`&&Ez(e,`visible`)}function Lz(e){Ez(e,`visible`),e.message!==void 0&&e.message!==null&&wz(e,`message`)}function Rz(e,t){for(let n of t)Tz(e,n)}function zz(e,t){for(let n of t)Ez(e,n)}function Bz(e,t,n){throw new fz(`invalid_message`,`Invalid ${Vz(e)} command: ${t} must be ${n}`,{details:{dispatch:e.dispatch,field:t,value:e[t]}})}function Vz(e){return typeof e.dispatch==`string`?e.dispatch:`viewer`}function Hz(){return{objectBarData:Kt({title:`Object Infos`,isVisible:!1,data:null}),objectActionsState:Kt([]),sideBarInfoState:Kt({title:`Sidebar Infos`,isVisible:!1,data:null}),sidebarComponents:Kt([]),pickerEnabled:Kt({value:!0}),pickerMode:Kt({value:`translate`}),pickedObjectGuid:Kt({value:null}),blockPicker:Kt({value:!1}),showEdges:Kt({value:!1}),theme:Kt({value:`light`}),spinnerState:Kt({visible:!1,message:null})}}var Uz={type:`change`},Wz={type:`start`},Gz={type:`end`},Kz=new Jk,qz=new qj,Jz=Math.cos(70*ZO.DEG2RAD),Yz=new Z,Xz=2*Math.PI,Zz={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},Qz=1e-6,$z=class extends aF{constructor(e,t=null){super(e,t),this.state=Zz.NONE,this.target=new Z,this.cursor=new Z,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minTargetRadius=0,this.maxTargetRadius=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.keyRotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:`ArrowLeft`,UP:`ArrowUp`,RIGHT:`ArrowRight`,BOTTOM:`ArrowDown`},this.mouseButtons={LEFT:RE.ROTATE,MIDDLE:RE.DOLLY,RIGHT:RE.PAN},this.touches={ONE:zE.ROTATE,TWO:zE.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this._lastPosition=new Z,this._lastQuaternion=new QO,this._lastTargetPosition=new Z,this._quat=new QO().setFromUnitVectors(e.up,new Z(0,1,0)),this._quatInverse=this._quat.clone().invert(),this._spherical=new QP,this._sphericalDelta=new QP,this._scale=1,this._panOffset=new Z,this._rotateStart=new X,this._rotateEnd=new X,this._rotateDelta=new X,this._panStart=new X,this._panEnd=new X,this._panDelta=new X,this._dollyStart=new X,this._dollyEnd=new X,this._dollyDelta=new X,this._dollyDirection=new Z,this._mouse=new X,this._performCursorZoom=!1,this._pointers=[],this._pointerPositions={},this._controlActive=!1,this._onPointerMove=tB.bind(this),this._onPointerDown=eB.bind(this),this._onPointerUp=nB.bind(this),this._onContextMenu=lB.bind(this),this._onMouseWheel=aB.bind(this),this._onKeyDown=oB.bind(this),this._onTouchStart=sB.bind(this),this._onTouchMove=cB.bind(this),this._onMouseDown=rB.bind(this),this._onMouseMove=iB.bind(this),this._interceptControlDown=uB.bind(this),this._interceptControlUp=dB.bind(this),this.domElement!==null&&this.connect(this.domElement),this.update()}connect(e){super.connect(e),this.domElement.addEventListener(`pointerdown`,this._onPointerDown),this.domElement.addEventListener(`pointercancel`,this._onPointerUp),this.domElement.addEventListener(`contextmenu`,this._onContextMenu),this.domElement.addEventListener(`wheel`,this._onMouseWheel,{passive:!1}),this.domElement.getRootNode().addEventListener(`keydown`,this._interceptControlDown,{passive:!0,capture:!0}),this.domElement.style.touchAction=`none`}disconnect(){this.domElement.removeEventListener(`pointerdown`,this._onPointerDown),this.domElement.ownerDocument.removeEventListener(`pointermove`,this._onPointerMove),this.domElement.ownerDocument.removeEventListener(`pointerup`,this._onPointerUp),this.domElement.removeEventListener(`pointercancel`,this._onPointerUp),this.domElement.removeEventListener(`wheel`,this._onMouseWheel),this.domElement.removeEventListener(`contextmenu`,this._onContextMenu),this.stopListenToKeyEvents(),this.domElement.getRootNode().removeEventListener(`keydown`,this._interceptControlDown,{capture:!0}),this.domElement.style.touchAction=`auto`}dispose(){this.disconnect()}getPolarAngle(){return this._spherical.phi}getAzimuthalAngle(){return this._spherical.theta}getDistance(){return this.object.position.distanceTo(this.target)}listenToKeyEvents(e){e.addEventListener(`keydown`,this._onKeyDown),this._domElementKeyEvents=e}stopListenToKeyEvents(){this._domElementKeyEvents!==null&&(this._domElementKeyEvents.removeEventListener(`keydown`,this._onKeyDown),this._domElementKeyEvents=null)}saveState(){this.target0.copy(this.target),this.position0.copy(this.object.position),this.zoom0=this.object.zoom}reset(){this.target.copy(this.target0),this.object.position.copy(this.position0),this.object.zoom=this.zoom0,this.object.updateProjectionMatrix(),this.dispatchEvent(Uz),this.update(),this.state=Zz.NONE}update(e=null){let t=this.object.position;Yz.copy(t).sub(this.target),Yz.applyQuaternion(this._quat),this._spherical.setFromVector3(Yz),this.autoRotate&&this.state===Zz.NONE&&this._rotateLeft(this._getAutoRotationAngle(e)),this.enableDamping?(this._spherical.theta+=this._sphericalDelta.theta*this.dampingFactor,this._spherical.phi+=this._sphericalDelta.phi*this.dampingFactor):(this._spherical.theta+=this._sphericalDelta.theta,this._spherical.phi+=this._sphericalDelta.phi);let n=this.minAzimuthAngle,r=this.maxAzimuthAngle;isFinite(n)&&isFinite(r)&&(n<-Math.PI?n+=Xz:n>Math.PI&&(n-=Xz),r<-Math.PI?r+=Xz:r>Math.PI&&(r-=Xz),n<=r?this._spherical.theta=Math.max(n,Math.min(r,this._spherical.theta)):this._spherical.theta=this._spherical.theta>(n+r)/2?Math.max(n,this._spherical.theta):Math.min(r,this._spherical.theta)),this._spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this._spherical.phi)),this._spherical.makeSafe(),this.enableDamping===!0?this.target.addScaledVector(this._panOffset,this.dampingFactor):this.target.add(this._panOffset),this.target.sub(this.cursor),this.target.clampLength(this.minTargetRadius,this.maxTargetRadius),this.target.add(this.cursor);let i=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radius=this._clampDistance(this._spherical.radius);else{let e=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),i=e!=this._spherical.radius}if(Yz.setFromSpherical(this._spherical),Yz.applyQuaternion(this._quatInverse),t.copy(this.target).add(Yz),this.object.lookAt(this.target),this.enableDamping===!0?(this._sphericalDelta.theta*=1-this.dampingFactor,this._sphericalDelta.phi*=1-this.dampingFactor,this._panOffset.multiplyScalar(1-this.dampingFactor)):(this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0)),this.zoomToCursor&&this._performCursorZoom){let e=null;if(this.object.isPerspectiveCamera){let t=Yz.length();e=this._clampDistance(t*this._scale);let n=t-e;this.object.position.addScaledVector(this._dollyDirection,n),this.object.updateMatrixWorld(),i=!!n}else if(this.object.isOrthographicCamera){let t=new Z(this._mouse.x,this._mouse.y,0);t.unproject(this.object);let n=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),i=n!==this.object.zoom;let r=new Z(this._mouse.x,this._mouse.y,0);r.unproject(this.object),this.object.position.sub(r).add(t),this.object.updateMatrixWorld(),e=Yz.length()}else console.warn(`WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled.`),this.zoomToCursor=!1;e!==null&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(e).add(this.object.position):(Kz.origin.copy(this.object.position),Kz.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(Kz.direction))Qz||8*(1-this._lastQuaternion.dot(this.object.quaternion))>Qz||this._lastTargetPosition.distanceToSquared(this.target)>Qz?(this.dispatchEvent(Uz),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0):!1}_getAutoRotationAngle(e){return e===null?Xz/60/60*this.autoRotateSpeed:Xz/60*this.autoRotateSpeed*e}_getZoomScale(e){let t=Math.abs(e*.01);return .95**(this.zoomSpeed*t)}_rotateLeft(e){this._sphericalDelta.theta-=e}_rotateUp(e){this._sphericalDelta.phi-=e}_panLeft(e,t){Yz.setFromMatrixColumn(t,0),Yz.multiplyScalar(-e),this._panOffset.add(Yz)}_panUp(e,t){this.screenSpacePanning===!0?Yz.setFromMatrixColumn(t,1):(Yz.setFromMatrixColumn(t,0),Yz.crossVectors(this.object.up,Yz)),Yz.multiplyScalar(e),this._panOffset.add(Yz)}_pan(e,t){let n=this.domElement;if(this.object.isPerspectiveCamera){let r=this.object.position;Yz.copy(r).sub(this.target);let i=Yz.length();i*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*e*i/n.clientHeight,this.object.matrix),this._panUp(2*t*i/n.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(e*(this.object.right-this.object.left)/this.object.zoom/n.clientWidth,this.object.matrix),this._panUp(t*(this.object.top-this.object.bottom)/this.object.zoom/n.clientHeight,this.object.matrix)):(console.warn(`WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.`),this.enablePan=!1)}_dollyOut(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale/=e:(console.warn(`WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.`),this.enableZoom=!1)}_dollyIn(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale*=e:(console.warn(`WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.`),this.enableZoom=!1)}_updateZoomParameters(e,t){if(!this.zoomToCursor)return;this._performCursorZoom=!0;let n=this.domElement.getBoundingClientRect(),r=e-n.left,i=t-n.top,a=n.width,o=n.height;this._mouse.x=r/a*2-1,this._mouse.y=-(i/o)*2+1,this._dollyDirection.set(this._mouse.x,this._mouse.y,1).unproject(this.object).sub(this.object.position).normalize()}_clampDistance(e){return Math.max(this.minDistance,Math.min(this.maxDistance,e))}_handleMouseDownRotate(e){this._rotateStart.set(e.clientX,e.clientY)}_handleMouseDownDolly(e){this._updateZoomParameters(e.clientX,e.clientX),this._dollyStart.set(e.clientX,e.clientY)}_handleMouseDownPan(e){this._panStart.set(e.clientX,e.clientY)}_handleMouseMoveRotate(e){this._rotateEnd.set(e.clientX,e.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);let t=this.domElement;this._rotateLeft(Xz*this._rotateDelta.x/t.clientHeight),this._rotateUp(Xz*this._rotateDelta.y/t.clientHeight),this._rotateStart.copy(this._rotateEnd),this.update()}_handleMouseMoveDolly(e){this._dollyEnd.set(e.clientX,e.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),this._dollyDelta.y>0?this._dollyOut(this._getZoomScale(this._dollyDelta.y)):this._dollyDelta.y<0&&this._dollyIn(this._getZoomScale(this._dollyDelta.y)),this._dollyStart.copy(this._dollyEnd),this.update()}_handleMouseMovePan(e){this._panEnd.set(e.clientX,e.clientY),this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this.update()}_handleMouseWheel(e){this._updateZoomParameters(e.clientX,e.clientY),e.deltaY<0?this._dollyIn(this._getZoomScale(e.deltaY)):e.deltaY>0&&this._dollyOut(this._getZoomScale(e.deltaY)),this.update()}_handleKeyDown(e){let t=!1;switch(e.code){case this.keys.UP:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(Xz*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,this.keyPanSpeed),t=!0;break;case this.keys.BOTTOM:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(-Xz*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,-this.keyPanSpeed),t=!0;break;case this.keys.LEFT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(Xz*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(this.keyPanSpeed,0),t=!0;break;case this.keys.RIGHT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(-Xz*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(-this.keyPanSpeed,0),t=!0}t&&(e.preventDefault(),this.update())}_handleTouchStartRotate(e){if(this._pointers.length===1)this._rotateStart.set(e.pageX,e.pageY);else{let t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._rotateStart.set(n,r)}}_handleTouchStartPan(e){if(this._pointers.length===1)this._panStart.set(e.pageX,e.pageY);else{let t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._panStart.set(n,r)}}_handleTouchStartDolly(e){let t=this._getSecondPointerPosition(e),n=e.pageX-t.x,r=e.pageY-t.y,i=Math.sqrt(n*n+r*r);this._dollyStart.set(0,i)}_handleTouchStartDollyPan(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enablePan&&this._handleTouchStartPan(e)}_handleTouchStartDollyRotate(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enableRotate&&this._handleTouchStartRotate(e)}_handleTouchMoveRotate(e){if(this._pointers.length==1)this._rotateEnd.set(e.pageX,e.pageY);else{let t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._rotateEnd.set(n,r)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);let t=this.domElement;this._rotateLeft(Xz*this._rotateDelta.x/t.clientHeight),this._rotateUp(Xz*this._rotateDelta.y/t.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(e){if(this._pointers.length===1)this._panEnd.set(e.pageX,e.pageY);else{let t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._panEnd.set(n,r)}this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd)}_handleTouchMoveDolly(e){let t=this._getSecondPointerPosition(e),n=e.pageX-t.x,r=e.pageY-t.y,i=Math.sqrt(n*n+r*r);this._dollyEnd.set(0,i),this._dollyDelta.set(0,(this._dollyEnd.y/this._dollyStart.y)**+this.zoomSpeed),this._dollyOut(this._dollyDelta.y),this._dollyStart.copy(this._dollyEnd);let a=(e.pageX+t.x)*.5,o=(e.pageY+t.y)*.5;this._updateZoomParameters(a,o)}_handleTouchMoveDollyPan(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enablePan&&this._handleTouchMovePan(e)}_handleTouchMoveDollyRotate(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enableRotate&&this._handleTouchMoveRotate(e)}_addPointer(e){this._pointers.push(e.pointerId)}_removePointer(e){delete this._pointerPositions[e.pointerId];for(let t=0;t.9&&(r.visible=!1)),this.axis===`Y`&&(hB.setFromEuler(OB.set(0,0,Math.PI/2)),r.quaternion.copy(t).multiply(hB),Math.abs(kB.copy(LB).applyQuaternion(t).dot(this.eye))>.9&&(r.visible=!1)),this.axis===`Z`&&(hB.setFromEuler(OB.set(0,Math.PI/2,0)),r.quaternion.copy(t).multiply(hB),Math.abs(kB.copy(RB).applyQuaternion(t).dot(this.eye))>.9&&(r.visible=!1)),this.axis===`XYZE`&&(hB.setFromEuler(OB.set(0,Math.PI/2,0)),kB.copy(this.rotationAxis),r.quaternion.setFromRotationMatrix(jB.lookAt(AB,kB,LB)),r.quaternion.multiply(hB),r.visible=this.dragging),this.axis===`E`&&(r.visible=!1)):r.name===`START`?(r.position.copy(this.worldPositionStart),r.visible=this.dragging):r.name===`END`?(r.position.copy(this.worldPosition),r.visible=this.dragging):r.name===`DELTA`?(r.position.copy(this.worldPositionStart),r.quaternion.copy(this.worldQuaternionStart),pB.set(1e-10,1e-10,1e-10).add(this.worldPositionStart).sub(this.worldPosition).multiplyScalar(-1),pB.applyQuaternion(this.worldQuaternionStart.clone().invert()),r.scale.copy(pB),r.visible=this.dragging):(r.quaternion.copy(t),this.dragging?r.position.copy(this.worldPositionStart):r.position.copy(this.worldPosition),this.axis&&(r.visible=this.axis.search(r.name)!==-1));continue}if(r.quaternion.copy(t),this.mode===`translate`||this.mode===`scale`){let e=.99,n=.2;r.name===`X`&&Math.abs(kB.copy(IB).applyQuaternion(t).dot(this.eye))>e&&(r.scale.set(1e-10,1e-10,1e-10),r.visible=!1),r.name===`Y`&&Math.abs(kB.copy(LB).applyQuaternion(t).dot(this.eye))>e&&(r.scale.set(1e-10,1e-10,1e-10),r.visible=!1),r.name===`Z`&&Math.abs(kB.copy(RB).applyQuaternion(t).dot(this.eye))>e&&(r.scale.set(1e-10,1e-10,1e-10),r.visible=!1),r.name===`XY`&&Math.abs(kB.copy(RB).applyQuaternion(t).dot(this.eye))=-1&&ZB.z<=1&&e.layers.test(r.layers)===!0,l=e.element;l.style.display=c===!0?``:`none`,c===!0&&(e.onBeforeRender(t,n,r),l.style.transform=`translate(`+-100*e.center.x+`%,`+-100*e.center.y+`%)translate(`+(ZB.x*i+i)+`px,`+(-ZB.y*a+a)+`px)`,l.parentNode!==s&&s.appendChild(l),e.onAfterRender(t,n,r));let d={distanceToCameraSquared:u(r,e)};o.objects.set(e,d)}for(let t=0,i=e.children.length;tthis.resize();onPointerDown=e=>this.pickFromPointer(e);onKeyDown=e=>this.handleKeyDown(e);animationFrame=null;attachedContainer=null;componentId=0;disposed=!1;pickedObject=null;pickedMaterial=null;dragStartMatrix=null;highlightMaterial=new QN({color:`orange`,emissive:`yellow`,emissiveIntensity:.1});constructor(e,t){this.root=e,this.options=t;let{width:n,height:r}=this.getDimensions();this.camera=new Nj(60,n/r,.1,1e3),this.camera.up.set(0,0,1),this.camera.position.set(8,-15,15),this.camera.layers.enable(1),this.renderer=new wR({antialias:!0}),this.renderer.domElement.tabIndex=0,this.renderer.setPixelRatio(window.devicePixelRatio),this.renderer.toneMapping=4,this.renderer.shadowMap.enabled=!0,this.renderer.shadowMap.type=2,this.renderer.toneMappingExposure=2.5,this.renderer.outputColorSpace=sO,this.controls=new $z(this.camera,this.renderer.domElement),this.controls.enableDamping=!0,this.controls.mouseButtons={LEFT:null,MIDDLE:null,RIGHT:RE.ROTATE},this.transformControls=new xB(this.camera,this.renderer.domElement),this.transformHelper=this.transformControls.getHelper(),this.transformControls.addEventListener(`dragging-changed`,e=>{this.controls.enabled=!e.value,e.value&&(this.dragStartMatrix=this.transformControls.object?.matrix.clone()??null)}),this.transformControls.addEventListener(`mouseUp`,()=>{this.sendObjectTransform()}),this.scene.add(this.transformHelper),this.labelRenderer.domElement.style.position=`absolute`,this.labelRenderer.domElement.style.inset=`0`,this.labelRenderer.domElement.style.pointerEvents=`none`,this.scene.add(this.axesHelper),this.applyTheme(`light`),this.resize(),this.connection=new LE({...t.websocket,...t.send===void 0?{}:{send:t.send},dispatch:e=>this.dispatch(e),onError:e=>this.reportAsyncError(pz(e,`connection_error`,`The viewer WebSocket connection failed`))})}attach(e){if(this.assertUsable(),this.attachedContainer!==e){if(this.attachedContainer=e,e.append(this.renderer.domElement,this.labelRenderer.domElement),window.addEventListener(`resize`,this.onResize),this.renderer.domElement.addEventListener(`mousedown`,this.onPointerDown),this.root.addEventListener(`keydown`,this.onKeyDown),this.options.defaultLighting&&this.addDefaultLighting(),(this.options.mode??`embedded`)===`websocket`)try{this.connection.start()}catch(e){this.reportOrThrow(pz(e,`connection_error`,`Unable to start the viewer WebSocket connection`))}this.startAnimation(),this.resize()}}dispatch(e){this.assertUsable();let t;try{t=IE(e)}catch(e){this.reportOrThrow(pz(e,`decode_error`,`Unable to decode the COMPAS Protobuf message`));return}try{this.dispatchObject(t)}catch(e){let t=e instanceof JR?new fz(`unsupported_message`,e.message,{cause:e,details:{objectType:e.objectType}}):pz(e,`render_error`,`Unable to apply the viewer message`);this.reportOrThrow(t)}}send(e){return this.connection.send(e)}sendData(e){return this.send(e)}handleUiAction(e,t){this.sendData({dispatch:`ui_callback`,action:e,value:t??null})}handleObjectAction(e,t){this.sendData({dispatch:`object_action_callback`,action_guid:e.guid,object_guid:e.objectGuid,value:t??null})}createGeometry(e,t){let n=this.vectorData(this.controls.target);this.sendData({dispatch:`create_geometry`,type:e,point:[n.x,n.y,n.z],params:t})}getMaterialSnapshot(e){let t=this.geometryMaterials.get(e);if(!t)return null;let n=this.materials.get(t);if(!n||n.materialType!==`standard_material`)return null;let r=n.material;return{color:`#${r.color.getHexString()}`,metalness:r.metalness,roughness:r.roughness}}setMaterial(e,t){let n=this.geometryMaterials.get(e),r=n?this.materials.get(n):void 0;if(r&&r.materialType===`standard_material`){let e=r.material;t.color!==void 0&&e.color.set(t.color),t.metalness!==void 0&&(e.metalness=t.metalness),t.roughness!==void 0&&(e.roughness=t.roughness)}this.sendData({dispatch:`material_edit`,guid:e,...t})}hideObjectInfo(){this.store.objectBarData.isVisible=!1}setTransformMode(e){this.store.pickerMode.value=e,this.transformControls.setMode(e)}toggleTheme(){this.applyTheme(this.store.theme.value===`dark`?`light`:`dark`)}setCameraViewPreset(e){let t=rV[e].clone().normalize(),n=this.camera.position.distanceTo(this.controls.target);this.camera.position.copy(this.controls.target.clone().add(t.multiplyScalar(n))),this.controls.update()}captureCurrentView(e){return{id:`view-${Date.now()}`,name:e,cameraPosition:this.vectorData(this.camera.position),target:this.vectorData(this.controls.target),zoom:this.camera.zoom,fov:this.camera.fov}}applySavedView(e){this.camera.position.set(e.cameraPosition.x,e.cameraPosition.y,e.cameraPosition.z),this.controls.target.set(e.target.x,e.target.y,e.target.z),this.camera.zoom=e.zoom,this.camera.fov=e.fov,this.camera.updateProjectionMatrix(),this.controls.update()}saveCurrentCanvasImage(e={}){let t=e.format??`png`,n=t===`jpg`?`image/jpeg`:`image/${t}`,r=t,i=Math.max(16,Math.round(e.width??this.renderer.domElement.width)),a=Math.max(16,Math.round(e.height??this.renderer.domElement.height));this.controls.update(),this.renderer.render(this.scene,this.camera);let o=document.createElement(`canvas`);o.width=i,o.height=a;let s=o.getContext(`2d`);if(!s)throw Error(`Unable to create screenshot canvas context`);t===`jpg`&&(s.fillStyle=`#ffffff`,s.fillRect(0,0,i,a)),s.drawImage(this.renderer.domElement,0,0,i,a);let c=document.createElement(`a`);c.download=e.fileName??`compas-view-${Date.now()}.${r}`,c.href=o.toDataURL(n,e.quality),c.click()}reset(){this.clearPickedObject();for(let e of this.geometries.values())this.scene.remove(e),this.disposeObject(e);this.geometries.clear(),this.clearLights();for(let e of this.materials.values())e.material.dispose();this.materials.clear(),this.geometryMaterials.clear(),this.store.sidebarComponents.splice(0),this.store.objectActionsState.splice(0),this.store.objectBarData.data=null,this.store.objectBarData.isVisible=!1,this.store.sideBarInfoState.data=null,this.store.sideBarInfoState.isVisible=!1}resize(){if(this.disposed)return;let{width:e,height:t}=this.getDimensions();this.camera.aspect=e/t,this.camera.updateProjectionMatrix(),this.renderer.setSize(e,t),this.labelRenderer.setSize(e,t)}dispose(){this.disposed||(this.disposed=!0,this.connection.dispose(),window.removeEventListener(`resize`,this.onResize),this.root.removeEventListener(`keydown`,this.onKeyDown),this.renderer.domElement.removeEventListener(`mousedown`,this.onPointerDown),this.animationFrame!==null&&cancelAnimationFrame(this.animationFrame),this.animationFrame=null,this.clearPickedObject(),this.resetAfterDispose(),this.controls.dispose(),this.transformControls.detach(),this.transformControls.dispose(),this.scene.remove(this.transformHelper),this.scene.remove(this.axesHelper),this.disposeObject(this.axesHelper),this.clearDefaultLighting(),this.highlightMaterial.dispose(),this.renderer.dispose(),this.renderer.domElement.remove(),this.labelRenderer.domElement.remove(),this.attachedContainer=null)}dispatchObject(e){if(Array.isArray(e)){e.forEach(e=>this.dispatchObject(e));return}if(!e||typeof e!=`object`)return;let t=e;typeof t.dispatch==`string`?this.dispatchCommand(bz(t)):t.bytes instanceof Uint8Array?this.manageGeometry(t):Object.values(t).forEach(e=>this.dispatchObject(e))}dispatchCommand(e){switch(e.dispatch){case`material`:this.manageMaterial(e);break;case`light`:this.manageLight(e);break;case`scene`:this.manageScene(e);break;case`theme`:this.applyTheme(e.mode);break;case`ui`:this.manageUi(e);break;case`text`:this.manageText(e).catch(t=>this.reportAsyncError(pz(t,`render_error`,`Unable to create text geometry`,{dispatch:e.dispatch,guid:e.guid})));break;case`text_tag`:this.manageTextTag(e);break;case`object_infos`:this.store.objectBarData.data=this.withoutDispatch(e);break;case`object_action`:this.manageObjectAction(e);break;case`handle_geometry`:this.handleGeometry(e);break;case`spinner`:this.manageSpinner(e)}}manageGeometry(e){let t=Cz(e,`guid`),n=this.geometries.get(t);if(n&&this.transformControls.dragging&&n===this.transformControls.object)return;let r=YR(e),i=n!==void 0&&n===this.pickedObject;if(n&&(this.scene.remove(n),this.disposeObject(n)),this.applyGeometryMaterial(t,r),this.scene.add(r),this.geometries.set(t,r),this.store.showEdges.value&&r instanceof Q){let e=new uM(new AM(r.geometry),new Qj({color:0}));e.layers.set(1),r.add(e)}if(i){if(this.pickedObject=r,`material`in r){let e=r;this.pickedMaterial=e.material??null,e.material=this.highlightMaterial}this.transformControls.attach(r)}}manageMaterial(e){let t=e.guid,n=xz(e),r=XR(e),i=this.materials.get(t)?.material;this.geometryMaterials.set(n,t);for(let[e,n]of this.geometryMaterials){if(n!==t)continue;let i=this.geometries.get(e);i&&this.assignMaterial(i,r)}this.materials.set(t,{material:r,materialType:e.type}),i?.dispose()}manageLight(e){let t=e.guid,n=rz(e);this.removeLight(t);let r=[n];n instanceof nz?r.push(new MP(16777215,1),new NP(16777215,.6)):n instanceof DP&&r.push(n.target),r.forEach(e=>this.scene.add(e)),this.lights.set(t,{objects:r})}manageScene(e){switch(e.type){case`background_color`:this.scene.background=new VA(e.color);break;case`controls_damping`:this.controls.enableDamping=e.damping;break;case`world_axis`:this.axesHelper.visible=e.show;break;case`picker`:this.store.pickerEnabled.value=e.enabled;break;case`camera_fov`:this.camera.fov=e.fov,this.camera.updateProjectionMatrix();break;case`camera_zoom`:this.camera.zoom=e.zoom,this.camera.updateProjectionMatrix();break;case`camera_position`:this.camera.position.set(e.x,e.y,e.z),this.controls.update();break;case`camera_target`:this.controls.target.set(e.x,e.y,e.z),this.controls.update();break;case`camera_view`:this.setCameraViewPreset(e.preset);break;case`show_edges`:this.store.showEdges.value=e.show}}manageUi(e){let t={id:++this.componentId,action:e.guid,...e.label===void 0?{}:{label:e.label}},n;switch(e.type){case`button`:case`load_json_button`:n={...t,component:e.type===`button`?`Button`:`LoadJsonButton`,props:{text:e.text,variant:e.variant}};break;case`slider`:n={...t,component:`Slider`,props:{min:e.min,max:e.max,step:e.step,defaultValue:[e.default_value]}};break;case`number_field`:n={...t,component:`NumberField`,props:{min:e.min,max:e.max,step:e.step,value:e.value}};break;case`checkbox`:n={...t,component:`Checkbox`,props:{text:e.text,defaultValue:e.default_value}};break;case`select`:n={...t,component:`Select`,props:{options:e.options,...e.placeholder===void 0?{}:{placeholder:e.placeholder},...e.default_value===void 0?{}:{defaultValue:e.default_value}}}}this.store.sidebarComponents.push(n),this.store.sideBarInfoState.isVisible=!0}manageObjectAction(e){this.store.objectActionsState.push({guid:e.guid,type:e.type,objectGuid:e.object_guid,...e.label===void 0?{}:{label:e.label},...e.text===void 0?{}:{text:e.text},...e.options===void 0?{}:{options:e.options},...e.placeholder===void 0?{}:{placeholder:e.placeholder},...e.default_value===void 0?{}:{defaultValue:e.default_value}})}manageSpinner(e){this.store.spinnerState.visible=e.visible,this.store.spinnerState.message=e.visible?e.message??null:null}pickFromPointer(e){if(this.renderer.domElement.focus({preventScroll:!0}),e.button!==0||!this.store.pickerEnabled.value||this.store.blockPicker.value||this.transformControls.dragging)return;let t=this.renderer.domElement.getBoundingClientRect();if(!t.width||!t.height)return;let n=new X((e.clientX-t.left)/t.width*2-1,-((e.clientY-t.top)/t.height)*2+1);this.raycaster.layers.set(0),this.raycaster.setFromCamera(n,this.camera);let r=Array.from(this.geometries.values()).filter(e=>e.visible),i=this.raycaster.intersectObjects(r,!0)[0]?.object??null;if(!i){this.clearPickedObject();return}if(this.clearPickedObject(),this.pickedObject=i,`material`in i){let e=i;this.pickedMaterial=e.material??null,e.material=this.highlightMaterial}this.transformControls.attach(i);let a=this.findGeometryGuid(i);this.store.pickedObjectGuid.value=a??null,a&&this.sendData({dispatch:`object_picked`,guid:a})}clearPickedObject(){this.pickedObject&&this.pickedMaterial&&`material`in this.pickedObject&&(this.pickedObject.material=this.pickedMaterial),this.pickedObject=null,this.pickedMaterial=null,this.transformControls.detach(),this.store.pickedObjectGuid.value=null,this.store.objectBarData.data=null,this.store.objectActionsState.splice(0)}findGeometryGuid(e){let t=e;for(;t;){for(let[e,n]of this.geometries)if(n===t)return e;t=t.parent}}sendObjectTransform(){let e=this.transformControls.object,t=this.dragStartMatrix;if(this.dragStartMatrix=null,!e||!t)return;let n=e.matrix.clone().multiply(t.clone().invert());if(n.equals(new Yk))return;let r=this.findGeometryGuid(e);if(!r)return;let i=n.elements,a=[[i[0],i[4],i[8],i[12]],[i[1],i[5],i[9],i[13]],[i[2],i[6],i[10],i[14]],[i[3],i[7],i[11],i[15]]];this.sendData({dispatch:`object_transform`,guid:r,matrix:a})}handleKeyDown(e){e.altKey||e.ctrlKey||e.metaKey||(e.key===`Escape`?this.clearPickedObject():e.key.toLowerCase()===`p`?this.store.pickerEnabled.value=!this.store.pickerEnabled.value:e.key.toLowerCase()===`i`&&(this.store.objectBarData.isVisible=!this.store.objectBarData.isVisible))}manageTextTag(e){let t=e.guid,n=document.createElement(`div`);n.className=`text-tag`,n.textContent=e.text,e.color&&(n.style.color=e.color);let r=new XB(n);r.position.set(e.x,e.y,e.z);let i=this.geometries.get(t);i&&this.scene.remove(i),this.scene.add(r),this.geometries.set(t,r)}async manageText(e){let t=`${e.font??`helvetiker`}_${e.weight??`regular`}`,n=this.fonts.get(t);n||(n=await new KB().loadAsync(`/fonts/${t}.typeface.json`),this.fonts.set(t,n));let r=new GB(e.text,{font:n,size:e.size,depth:e.depth});if(e.centered){r.computeBoundingBox();let e=r.boundingBox;e&&r.translate(-.5*(e.max.x-e.min.x),0,0)}let i=new Z(e.direction_x,e.direction_y,e.direction_z).normalize(),a=new Z(e.up_x,e.up_y,e.up_z).normalize(),o=new Z().crossVectors(i,a).normalize(),s=new Yk().makeBasis(i,a,o);s.setPosition(e.point_x,e.point_y,e.point_z);let c=e.guid,l=this.geometryMaterials.get(c),u=new Q(r,l?this.materials.get(l)?.material:new QN({color:65535,side:2}));u.applyMatrix4(s);let d=this.geometries.get(c);d&&(this.scene.remove(d),this.disposeObject(d)),this.scene.add(u),this.geometries.set(c,u)}handleGeometry(e){let t=e.guid,n=this.geometries.get(t);n&&(e.type===`remove`?(this.scene.remove(n),this.disposeObject(n),this.geometries.delete(t),this.geometryMaterials.delete(t)):e.type===`set_visibility`?n.visible=e.visible:e.type===`toggle_visibility`&&(n.visible=!n.visible))}applyGeometryMaterial(e,t){let n=this.geometryMaterials.get(e),r=n?this.materials.get(n)?.material:void 0;if(r)this.assignMaterial(t,r);else if(t instanceof rF)return;else t instanceof Q?this.replaceMaterial(t,new QN({color:37586,roughness:.7,metalness:.05})):t instanceof oM?this.replaceMaterial(t,new Qj({color:37586})):t instanceof gM?this.replaceMaterial(t,new dM({color:37586,size:.5})):t instanceof nF&&t.setColor(37586)}assignMaterial(e,t){e instanceof rF||(e instanceof Q?this.replaceMaterial(e,t):e instanceof oM?this.replaceMaterial(e,t instanceof Qj?t:new Qj({color:this.materialColor(t)})):e instanceof gM?this.replaceMaterial(e,t instanceof dM?t:new dM({color:this.materialColor(t),size:.5})):e instanceof nF&&e.setColor(this.materialColor(t)))}replaceMaterial(e,t){let n=e.material;e.material=t;let r=Array.isArray(n)?n:[n];for(let e of r)e&&!this.includesMaterial(t,e)&&this.disposeUnregisteredMaterial(e)}includesMaterial(e,t){return Array.isArray(e)?e.includes(t):e===t}materialColor(e){return`color`in e&&e.color instanceof VA?e.color:new VA(37586)}applyTheme(e){this.store.theme.value=e,this.scene.background=new VA(e===`dark`?0:15132390)}addDefaultLighting(){if(this.defaultLights.length)return;let e=new MP(16777215,1);e.position.set(30,-10,30);let t=new MP(16777215,.5);t.position.set(-30,-20,30);let n=new MP(16777215,.5);n.position.set(-30,20,10);let r=[e,t,n,new NP(16777215,.5)];r.forEach(e=>this.scene.add(e)),this.defaultLights.push(...r)}removeLight(e){let t=this.lights.get(e);t&&(t.objects.forEach(e=>{this.scene.remove(e),this.disposeObject(e)}),this.lights.delete(e))}clearLights(){for(let e of this.lights.keys())this.removeLight(e)}clearDefaultLighting(){for(let e of this.defaultLights)this.scene.remove(e),this.disposeObject(e);this.defaultLights.splice(0)}startAnimation(){if(this.animationFrame!==null)return;let e=()=>{this.disposed||(this.animationFrame=requestAnimationFrame(e),this.controls.update(),this.renderer.render(this.scene,this.camera),this.labelRenderer.render(this.scene,this.camera))};e()}getDimensions(){let e=this.root.getBoundingClientRect();return{width:Math.max(1,Math.round(e.width||this.root.clientWidth||window.innerWidth)),height:Math.max(1,Math.round(e.height||this.root.clientHeight||window.innerHeight))}}disposeObject(e){e.traverse(e=>{e instanceof xP&&e.dispose();let t=e;t.geometry?.dispose(),Array.isArray(t.material)?t.material.forEach(e=>this.disposeUnregisteredMaterial(e)):this.disposeUnregisteredMaterial(t.material)})}disposeUnregisteredMaterial(e){e&&!Array.from(this.materials.values()).some(t=>t.material===e)&&e!==this.highlightMaterial&&e.dispose()}resetAfterDispose(){for(let e of this.geometries.values())this.disposeObject(e);this.geometries.clear(),this.clearLights();for(let e of this.materials.values())e.material.dispose();this.materials.clear(),this.geometryMaterials.clear()}vectorData(e){return{x:e.x,y:e.y,z:e.z}}withoutDispatch(e){let{dispatch:t,...n}=e;return n}reportOrThrow(e){if(this.options.onError)this.options.onError(e);else throw e}reportAsyncError(e){this.options.onError?this.options.onError(e):console.error(e)}assertUsable(){if(this.disposed)throw new fz(`lifecycle_error`,`The COMPAS viewer has been disposed`)}};function aV(e,t={}){if(typeof HTMLElement>`u`||!(e instanceof HTMLElement))throw new fz(`lifecycle_error`,`createViewer requires an HTMLElement container`);let n=nn(new iV(e,t)),r=hu(Xx,{runtime:n,showToolbar:t.showToolbar??!0});r.provide(iy,n),r.mount(e);let i=!1;return{dispatch(e){n.dispatch(e)},reset(){n.reset()},resize(){n.resize()},dispose(){i||(i=!0,r.unmount(),n.dispose())}}}var oV=document.querySelector(`#app`);if(!oV)throw Error(`Standalone viewer requires an #app container`);aV(oV,{mode:`websocket`,showToolbar:!0}); \ No newline at end of file diff --git a/src/compas_threejs/viewer/frontend/index.html b/src/compas_threejs/viewer/frontend/index.html index 2c0a358..e9d273e 100644 --- a/src/compas_threejs/viewer/frontend/index.html +++ b/src/compas_threejs/viewer/frontend/index.html @@ -5,8 +5,6 @@ COMPAS ThreeJS - -