PageSourceSearch

https://makenagolfandbeachclub.com/_nuxt/DKplvwjG.js

js makenagolfandbeachclub.com collected 2026-10-04 04:01:54 UTC 361,064 bytes, 1,032 lines download raw bytes

1import{o as Ie,f as $t,aq as Ha,C as vt,D as Jt,E as Me,h as z,i as q,k as Ze,u as O,aA as $a,aB as Ka,aF as Wa,G as W,aI as qa,aL as Xa,aG as ps,aC as dr,a9 as Ya,ac as eo,y as Ce,j as F,aH as Za,aO as Qa,w as ke,q as ee,aP as Ja,z as et,l as pe,az as el,e as ue,t as fs,F as st,A as Re,S as kt,n as en,v as bn,B as tl,_ as Kt,I as xe,J as _n,H as it,M as ei,O as to,Q as Nt,K as nl,T as zn,ap as rl,U as sl,R as il}from"./BW8Z-FKZ.js";import{u as he,p as _t,aT as ti,aV as ol,aW as al,aX as ll,z as tt,w as pt,a_ as rr,a3 as hr,au as pr,av as Jr,Y as Je,aO as fr,a$ as ms,at as yn,b0 as sr,b1 as no,aw as cl,k as ir,aN as Rt,aa as nt,K as Dt,b2 as ul,b3 as dl,b4 as hl,b5 as pl,ak as xn,L as vs,b6 as fl,b7 as ni,S as sn,F as Cn,b8 as ml,V as H,b9 as vl,ba as gl,bb as wl,B as Ee,bc as bl,h as Bt,W as Ln,i as It,j as ot,C as Pe,l as _l,P as yl,D as xl,m as gt,I as Cl,Q as ro,O as so,o as io,q as Pl,r as oo,s as gs,N as ao,t as lo,v as co,x as uo,R as Pn,y as ho,A as Tl,E as Pr,G as El,H as po,J as mr,U as Tn,X as Ml,Z as Al,_ as Sl,$ as kl,a0 as Ll,a1 as Tr,a2 as Rn,M as fe,a4 as Rl,a7 as fo,a8 as ws,a5 as Il,a6 as Ol,a9 as es,ab as Fl,ad as ri,ac as Vl,af as Nl,T as Dl,b as ts,f as mo,ag as Ul,ah as bs,ai as vo,bd as go,be as Bl,aM as wo,bf as jl,bg as bo,bh as gn,bi as zl,bj as _s,aH as jt,bk as Gl,bl as si,bm as Er,bn as Hl,bo as $l,bp as Kl,bq as Wl,am as Mr,aR as ql,br as Xl,bs as Yl,a as Ke,aI as Zl,aP as Ar,bt as _o,c as Zn,g as ii,d as Sr,e as kr,aU as Ql,aY as zt,aZ as Jl}from"./Duyjjrp8.js";import{u as Ve,M as ec,m as oi,c as ai,b as tc}from"./CIVwTKha.js";import"./BVkfsgqd.js";const nc={__name:"GlobeGlCustomRaycaster",setup(n){const{dynamicValues:e,sizes:t}=he("globe"),{raycaster:r,camera:s,renderer:i}=_t(),o=(l,c=!0)=>{const d=Ha(i.value.domElement),u=l.clientX,g=l.clientY-d.top;e.mouse.default.x=u,e.mouse.default.y=g,e.mouse.normalized.x=u/t.w*2-1,e.mouse.normalized.y=-(g/t.h)*2+1,c&&ti.onPointerMove(e.mouse.normalized,s.value)},a=l=>{o(l,!1),ti.onClick(e.mouse.normalized,s.value)};return Ie(()=>{r.value.layers.set(9),i.value.domElement.addEventListener("pointermove",o),i.value.domElement.addEventListener("click",a)}),$t(()=>{i.value.domElement.removeEventListener("pointermove",o),i.value.domElement.removeEventListener("click",a)}),(l,c)=>null}},rc={__name:"GlobeGlGestures",setup(n){const e=vt(),{$event:t,$device:r}=e;let s,i,o;const a=d=>{t.emit(Me.WEBGL_DRAG,d)},l=d=>{t.emit(Me.WEBGL_WHEEL,d)},c=d=>{t.emit(Me.WEBGL_PINCH,d)};return Ie(()=>{const d=Jt(".js-globe-wrap");i=new ol(d,a,{filterTaps:!1,threshold:10,preventScroll:!0}),s=new al(d,l,{event:{passive:!0}}),o=new ll(d,c,{pointer:{touch:!0},event:{passive:!1}})}),$t(()=>{i?.destroy(),s?.destroy(),o?.destroy()}),(d,u)=>null}},sc={__name:"GlobeGlCamera",setup(n){const e=Ze(null),{sizes:t}=_t();return Ie(()=>{}),(r,s)=>(z(),q("TresPerspectiveCamera",{ref_key:"camera",ref:e,position:[0,0,3],fov:15},null,512))}},yo=(n,e,t)=>{let r;switch(n){case xn:r=new Uint8ClampedArray(e*t*4);break;case pr:r=new Uint16Array(e*t*4);break;case pl:r=new Uint32Array(e*t*4);break;case hl:r=new Int8Array(e*t*4);break;case dl:r=new Int16Array(e*t*4);break;case ul:r=new Int32Array(e*t*4);break;case Jr:r=new Float32Array(e*t*4);break;default:throw new Error("Unsupported data type")}return r};let Gn;const ic=(n,e,t,r)=>{if(Gn!==void 0)return Gn;const s=new ms(1,1,r);e.setRenderTarget(s);const i=new Je(new fr,new Dt({color:16777215}));e.render(i,t),e.setRenderTarget(null);const o=yo(n,s.width,s.height);return e.readRenderTargetPixels(s,0,0,s.width,s.height,o),s.dispose(),i.geometry.dispose(),i.material.dispose(),Gn=o[0]!==0,Gn};class ys{_renderer;_rendererIsDisposable=!1;_material;_scene;_camera;_quad;_renderTarget;_width;_height;_type;_colorSpace;_supportsReadPixels=!0;constructor(e){this._width=e.width,this._height=e.height,this._type=e.type,this._colorSpace
vendor: 9,444 bytes, lines 1-6
1=e.colorSpace;const t={format:yn,depthBuffer:!1,stencilBuffer:!1,type:this._type,colorSpace:this._colorSpace,anisotropy:e.renderTargetOptions?.anisotropy!==void 0?e.renderTargetOptions?.anisotropy:1,generateMipmaps:e.renderTargetOptions?.generateMipmaps!==void 0?e.renderTargetOptions?.generateMipmaps:!1,magFilter:e.renderTargetOptions?.magFilter!==void 0?e.renderTargetOptions?.magFilter:pt,minFilter:e.renderTargetOptions?.minFilter!==void 0?e.renderTargetOptions?.minFilter:pt,samples:e.renderTargetOptions?.samples!==void 0?e.renderTargetOptions?.samples:void 0,wrapS:e.renderTargetOptions?.wrapS!==void 0?e.renderTargetOptions?.wrapS:tt,wrapT:e.renderTargetOptions?.wrapT!==void 0?e.renderTargetOptions?.wrapT:tt};if(this._material=e.material,e.renderer?this._renderer=e.renderer:(this._renderer=ys.instantiateRenderer(),this._rendererIsDisposable=!0),this._scene=new rr,this._camera=new hr,this._camera.position.set(0,0,10),this._camera.left=-.5,this._camera.right=.5,this._camera.top=.5,this._camera.bottom=-.5,this._camera.updateProjectionMatrix(),!ic(this._type,this._renderer,this._camera,t)){let r;this._type===pr&&(r=this._renderer.extensions.has("EXT_color_buffer_float")?Jr:void 0),r!==void 0?(console.warn(`This browser does not support reading pixels from ${this._type} RenderTargets, switching to ${Jr}`),this._type=r):(this._supportsReadPixels=!1,console.warn("This browser dos not support toArray or toDataTexture, calls to those methods will result in an error thrown"))}this._quad=new Je(new fr,this._material),this._quad.geometry.computeBoundingBox(),this._scene.add(this._quad),this._renderTarget=new ms(this.width,this.height,t),this._renderTarget.texture.mapping=e.renderTargetOptions?.mapping!==void 0?e.renderTargetOptions?.mapping:sr}static instantiateRenderer(){const e=new no;return e.setSize(128,128),e}render=()=>{this._renderer.setRenderTarget(this._renderTarget);try{this._renderer.render(this._scene,this._camera)}catch(e){throw this._renderer.setRenderTarget(null),e}this._renderer.setRenderTarget(null)};toArray(){if(!this._supportsReadPixels)throw new Error("Can't read pixels in this browser");const e=yo(this._type,this._width,this._height);return this._renderer.readRenderTargetPixels(this._renderTarget,0,0,this._width,this._height,e),e}toDataTexture(e){const t=new cl(this.toArray(),this.width,this.height,yn,this._type,e?.mapping||sr,e?.wrapS||tt,e?.wrapT||tt,e?.magFilter||pt,e?.minFilter||pt,e?.anisotropy||1,ir);return t.generateMipmaps=e?.generateMipmaps!==void 0?e?.generateMipmaps:!1,t}disposeOnDemandRenderer(){this._renderer.setRenderTarget(null),this._rendererIsDisposable&&(this._renderer.dispose(),this._renderer.forceContextLoss())}dispose(e){this.disposeOnDemandRenderer(),e&&this.renderTarget.dispose(),this.material instanceof Rt&&Object.values(this.material.uniforms).forEach(t=>{t.value instanceof nt&&t.value.dispose()}),Object.values(this.material).forEach(t=>{t instanceof nt&&t.dispose()}),this.material.dispose(),this._quad.geometry.dispose()}get width(){return this._width}set width(e){this._width=e,this._renderTarget.setSize(this._width,this._height)}get height(){return this._height}set height(e){this._height=e,this._renderTarget.setSize(this._width,this._height)}get renderer(){return this._renderer}get renderTarget(){return this._renderTarget}set renderTarget(e){this._renderTarget=e,this._width=e.width,this._height=e.height}get material(){return this._material}get type(){return this._type}get colorSpace(){return this._colorSpace}}class xo extends Error{}class Co extends Error{}const un=(n,e,t)=>{const r=new RegExp(`${e}="([^"]*)"`,"i").exec(n);if(r)return r[1];const s=new RegExp(`<${e}[^>]*>([\\s\\S]*?)</${e}>`,"i").exec(n);if(s){const i=s[1].match(/<rdf:li>([^<]*)<\/rdf:li>/g);return i&&i.length===3?i.map(o=>o.replace(/<\/?rdf:li>/g,"")):s[1].trim()}if(t!==void 0)return t;throw new Error(`Can't find ${e} in gainmap metadata`)},oc=n=>{let e;typeof TextDecoder<"u"?e=new TextDecoder().decode(n):e=n.toString();let t=e.indexOf("<x:xmpmeta");for(;t!==-1;){const r=e.indexOf("x:xmpmeta>",t),s=e.slice(t,r+10);try{const i=un(s,"hdrgm:GainMapMin","0"),o=un(s,"hdrgm:GainMapMax"),a=un(s,"hdrgm:Gamma","1"),l=un(s,"hdrgm:OffsetSDR","0.015625"),c=un(s,"hdrgm:OffsetHDR","0.015625"),d=/hdrgm:HDRCapacityMin="([^"]*)"/.exec(s),u=d?d[1]:"0",g=/hdrgm:HDRCapacityMax="([^"]*)"/.exec(s);if(!g)throw new Error("Incomplete gainmap metadata");const _=g[1];return{gainMapMin:Array.isArray(i)?i.map(m=>parseFloat(m)):[parseFloat(i),parseFloat(i),parseFloat(i)],gainMapMax:Array.isArray(o)?o.map(m=>parseFloat(m)):[parseFloat(o),parseFloat(o),parseFloat(o)],gamma:Array.isArray(a)?a.map(m=>parseFloat(m)):[parseFloat(a),parseFloat(a),parseFloat(a)],offsetSdr:Array.isArray(l)?l.map(m=>parseFloat(m)):[parseFloat(l),parseFloat(l),parseFloat(l)],offsetHdr:Array.isArray(c)?c.map(m=>parseFloat(m)):[parseFloat(c),parseFloat(c),parseFloat(c)],hdrCapacityMin:parseFloat(u),hdrCapacityMax:parseFloat(_)}}catch{}t=e.indexOf("<x:xmpmeta",r)}};class ac{options;constructor(e){this.options={debug:e&&e.debug!==void 0?e.debug:!1,extractFII:e&&e.extractFII!==void 0?e.extractFII:!0,extractNonFII:e&&e.extractNonFII!==void 0?e.extractNonFII:!0}}extract(e){return new Promise((t,r)=>{const s=this.options.debug,i=new DataView(e.buffer);if(i.getUint16(0)!==65496){r(new Error("Not a valid jpeg"));return}const o=i.byteLength;let a=2,l=0,c;for(;a<o;){if(++l>250){r(new Error(`Found no marker after ${l} loops 😵`));return}if(i.getUint8(a)!==255){r(new Error(`Not a valid marker at offset 0x${a.toString(16)}, found: 0x${i.getUint8(a).toString(16)}`));return}if(c=i.getUint8(a+1),s&&console.log(`Marker: ${c.toString(16)}`),c===226){s&&console.log("Found APP2 marker (0xffe2)");const d=a+4;if(i.getUint32(d)===1297106432){const u=d+4;let g;if(i.getUint16(u)===18761)g=!1;else if(i.getUint16(u)===19789)g=!0;else{r(new Error("No valid endianness marker found in TIFF header"));return}if(i.getUint16(u+2,!g)!==42){r(new Error("Not valid TIFF data! (no 0x002A marker)"));return}const _=i.getUint32(u+4,!g);if(_<8){r(new Error("Not valid TIFF data! (First offset less than 8)"));return}const m=u+_,C=i.getUint16(m,!g),v=m+2;let E=0;for(let L=v;L<v+12*C;L+=12)i.getUint16(L,!g)===45057&&(E=i.getUint32(L+8,!g));const x=m+2+C*12+4,M=[];for(let L=x;L<x+E*16;L+=16){const y={MPType:i.getUint32(L,!g),size:i.getUint32(L+4,!g),dataOffset:i.getUint32(L+8,!g),dependantImages:i.getUint32(L+12,!g),start:-1,end:-1,isFII:!1};y.dataOffset?(y.start=u+y.dataOffset,y.isFII=!1):(y.start=0,y.isFII=!0),y.end=y.start+y.size,M.push(y)}if(this.options.extractNonFII&&M.length){const L=new Blob([i]),y=[];for(const A of M){if(A.isFII&&!this.options.extractFII)continue;const h=L.slice(A.start,A.end+1,"image/jpeg");y.push(h)}t(y)}}}a+=2+i.getUint16(a+2)}})}}const lc=async n=>{const e=oc(n);if(!e)throw new Co("Gain map XMP metadata not found");const r=await new ac({extractFII:!0,extractNonFII:!0}).extract(n);if(r.length!==2)throw new xo("Gain map recovery image not found");return{sdr:new Uint8Array(await r[0].arrayBuffer()),gainMap:new Uint8Array(await r[1].arrayBuffer()),metadata:e}},li=n=>new Promise((e,t)=>{const r=document.createElement("img");r.onload=()=>{e(r)},r.onerror=s=>{t(s)},r.src=URL.createObjectURL(n)});class cc extends vs{_renderer;_renderTargetOptions;_internalLoadingManager;_config;constructor(e,t){super(t),this._config=e,e.renderer&&(this._renderer=e.renderer),this._internalLoadingManager=new fl}setRenderer(e){return this._renderer=e,this}setRenderTargetOptions(e){return this._renderTargetOptions=e,this}prepareQuadRenderer(){this._renderer||console.warn("WARNING: A Renderer was not passed to this Loader constructor or in setRenderer, the result of this Loader will need to be converted to a Data Texture with toDataTexture() before you can use it in your renderer.");const e=this._config.createMaterial({gainMapMax:[1,1,1],gainMapMin:[0,0,0],gamma:[1,1,1],offsetHdr:[1,1,1],offsetSdr:[1,1,1],hdrCapacityMax:1,hdrCapacityMin:0,maxDisplayBoost:1,gainMap:new nt,sdr:new nt});return this._config.createQuadRenderer({width:16,height:16,type:pr,colorSpace:ir,material:e,renderer:this._renderer,renderTargetOptions:this._renderTargetOptions})}async processImages(e,t,r){const s=t?new Blob([t],{type:"image/jpeg"}):void 0,i=new Blob([e],{type:"image/jpeg"});let o,a,l=!1;if(typeof createImageBitmap>"u"){const c=await Promise.all([s?li(s):Promise.resolve(void 0),li(i)]);a=c[0],o=c[1],l=r==="flipY"}else{const c=await Promise.all([s?createImageBitmap(s,{imageOrientation:r||"flipY"}):Promise.resolve(void 0),createImageBitmap(i,{imageOrientation:r||"flipY"})]);a=c[0],o=c[1]}return{sdrImage:o,gainMapImage:a,needsFlip:l}}createTextures(e,t,r){const s=new nt(t||new ImageData(2,2),sr,tt,tt,pt,ni,yn,xn,1,ir);s.flipY=r,s.needsUpdate=!0;const i=new nt(e,sr,tt,tt,pt,ni,yn,xn,1,sn);return i.flipY=r,i.needsUpdate=!0,{gainMap:s,sdr:i}}updateQuadRenderer(e,t,r,s,i){e.width=t.width,e.height=t.height,e.material.gainMap=r,e.material.sdr=s,e.material.gainMapMin=i.gainMapMin,e.material.gainMapMax=i.gainMapMax,e.material.offsetHdr=i.offsetHdr,e.material.offsetSdr=i.offsetSdr,e.material.gamma=i.gamma,e.material.hdrCapacityMin=i.hdrCapacityMin,e.material.hdrCapacityMax=i.hdrCapacityMax,e.material.maxDisplayBoost=Math.pow(2,i.hdrCapacityMax),e.material.needsUpdate=!0}}const uc=`
2varying vec2 vUv;
3
4void main() {
5  vUv = uv;
6  gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0
6);
7}
8`,dc=`
9// min half float value
10#define HALF_FLOAT_MIN vec3( -65504, -65504, -65504 )
11// max half float value
12#define HALF_FLOAT_MAX vec3( 65504, 65504, 65504 )
13
14uniform sampler2D sdr;
15uniform sampler2D gainMap;
16uniform vec3 gamma;
17uniform vec3 offsetHdr;
18uniform vec3 offsetSdr;
19uniform vec3 gainMapMin;
20uniform vec3 gainMapMax;
21uniform float weightFactor;
22
23varying vec2 vUv;
24
25void main() {
26  vec3 rgb = texture2D( sdr, vUv ).rgb;
27  vec3 recovery = texture2D( gainMap, vUv ).rgb;
28  vec3 logRecovery = pow( recovery, gamma );
29  vec3 logBoost = gainMapMin * ( 1.0 - logRecovery ) + gainMapMax * logRecovery;
30  vec3 hdrColor = (rgb + offsetSdr) * exp2( logBoost * weightFactor ) - offsetHdr;
31  vec3 clampedHdrColor = max( HALF_FLOAT_MIN, min( HALF_FLOAT_MAX, hdrColor ));
32  gl_FragColor = vec4( clampedHdrColor , 1.0 );
33}
34`;class hc extends Rt{_maxDisplayBoost;_hdrCapacityMin;_hdrCapacityMax;constructor({gamma:e,offsetHdr:t,offsetSdr:r,gainMapMin:s,gainMapMax:i,maxDisplayBoost:o,hdrCapacityMin:a,hdrCapacityMax:l,sdr:c,gainMap:d}){super({name:"GainMapDecoderMaterial",vertexShader:uc,fragmentShader:dc,uniforms:{sdr:{value:c},gainMap:{value:d},gamma:{value:new H(1/e[0],1/e[1],1/e[2])},offsetHdr:{value:new H().fromArray(t)},offsetSdr:{value:new H().fromArray(r)},gainMapMin:{value:new H().fromArray(s)},gainMapMax:{value:new H().fromArray(i)},weightFactor:{value:(Math.log2(o)-a)/(l-a)}},blending:ml,depthTest:!1,depthWrite:!1}),this._maxDisplayBoost=o,this._hdrCapacityMin=a,this._hdrCapacityMax=l,this.needsUpdate=!0,this.uniformsNeedUpdate=!0}get sdr(){return this.uniforms.sdr.value}set sdr(e){this.uniforms.sdr.value=e}get gainMap(){return this.uniforms.gainMap.value}set gainMap(e){this.uniforms.gainMap.value=e}get offsetHdr(){return this.uniforms.offsetHdr.value.toArray()}set offsetHdr(e){this.uniforms.offsetHdr.value.fromArray(e)}get offsetSdr(){return this.uniforms.offsetSdr.value.toArray()}set offsetSdr(e){this.uniforms.offsetSdr.value.fromArray(e)}get gainMapMin(){return this.uniforms.gainMapMin.value.toArray()}set gainMapMin(e){this.uniforms.gainMapMin.value.fromArray(e)}get gainMapMax(){return this.uniforms.gainMapMax.value.toArray()}set gainMapMax(e){this.uniforms.gainMapMax.value.fromArray(e)}get gamma(){const e=this.uniforms.gamma.value;return[1/e.x,1/e.y,1/e.z]}set gamma(e){const t=this.uniforms.gamma.value;t.x=1/e[0],t.y=1/e[1],t.z=1/e[2]}get hdrCapacityMin(){return this._hdrCapacityMin}set hdrCapacityMin(e){this._hdrCapacityMin=e,this.calculateWeight()}get hdrCapacityMax(){return this._hdrCapacityMax}set hdrCapacityMax(e){this._hdrCapacityMax=e,this.calculateWeight()}get maxDisplayBoost(){return this._maxDisplayBoost}set maxDisplayBoost(e){this._maxDisplayBoost=Math.max(1,Math.min(65504,e)),this.calculateWeight()}calculateWeight(){const e=(Math.log2(this._maxDisplayBoost)-this._hdrCapacityMin)/(this._hdrCapacityMax-this._hdrCapacityMin);this.uniforms.weightFactor.value=Math.max(0,Math.min(1,e))}}class pc extends cc{constructor(e,t){super({renderer:e,createMaterial:r=>new hc(r),createQuadRenderer:r=>new ys(r)},t)}async render(e,t,r,s){const{sdrImage:i,gainMapImage:o,needsFlip:a}=await this.processImages(r,s,"flipY"),{gainMap:l,sdr:c}=this.createTextures(i,o,a);this.updateQuadRenderer(e,i,l,c,t),e.render()}}class fc extends pc{load(e,t,r,s){const i=this.prepareQuadRenderer(),o=new Cn(this._internalLoadingManager);return o.setResponseType("arraybuffer"),o.setRequestHeader(this.requestHeader),o.setPath(this.path),o.setWithCredentials(this.withCredentials),this.manager.itemStart(e),o.load(e,async a=>{if(typeof a=="string")throw new Error("Invalid buffer, received [string], was expecting [ArrayBuffer]");const l=new Uint8Array(a);let c,d,u;try{const g=await lc(l);c=g.sdr,d=g.gainMap,u=g.metadata}catch(g){if(g instanceof Co||g instanceof xo)console.warn(`Failure to reconstruct an HDR image from ${e}: Gain map metadata not found in the file, HDRJPGLoader will render the SDR jpeg`),u={gainMapMin:[0,0,0],gainMapMax:[1,1,1],gamma:[1,1,1],hdrCapacityMin:0,hdrCapacityMax:1,offsetHdr:[0,0,0],offsetSdr:[0,0,0]},c=l;else throw g}try{await this.render(i,u,c.buffer,d?.buffer)}catch(g){this.manager.itemError(e),typeof s=="function"&&s(g),i.disposeOnDemandRenderer();return}typeof t=="function"&&t(i),this.manager.itemEnd(e),i.disposeOnDemandRenderer()},r,a=>{this.manager.itemError(e),typeof s=="function"&&s(a)}),i}}const mc=["intensity"],vc={__name:"GlobeGlSceneLights",setup(n){const{config:e}=he("globe"),{scene:t,renderer:r}=_t();return r.value.toneMapping=vl,r.value.toneMappingExposure=5,Ie(()=>{const s=new gl(r.value);s.compileEquirectangularShader(),new fc(r.value).loadAsync("/images/globe/lighting.jpg").then(o=>{const a=s.fromEquirectangular(o.renderTarget.texture).texture;t.value.environment=a,t.value.environmentRotation.x=.2})}),(s,i)=>(z(),q("TresAmbientLight",{intensity:O(e).globe.lights.ambient},null,8,mc))}};function Po(n){return $a()?(Ka(n),!0):!1}function xs(){const n=new Set,e=s=>{n.delete(s)};return{on:s=>
34{n.add(s);const i=()=>e(s);return Po(i),{off:i}},off:e,trigger:(...s)=>Promise.all(Array.from(n).map(i=>i(...s)))}}const gc=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const wc=gc?window:void 0;function bc(n,e={}){const{immediate:t=!0,fpsLimit:r=void 0,window:s=wc}=e,i=W(!1),o=r?1e3/r:null;let a=0,l=null;function c(g){if(!i.value||!s)return;a||(a=g);const _=g-a;if(o&&_<o){l=s.requestAnimationFrame(c);return}a=g,n({delta:_,timestamp:g}),l=s.requestAnimationFrame(c)}function d(){!i.value&&s&&(i.value=!0,a=0,l=s.requestAnimationFrame(c))}function u(){i.value=!1,l!=null&&s&&(s.cancelAnimationFrame(l),l=null)}return t&&d(),Po(u),{isActive:Wa(i),pause:u,resume:d}}const To=xs(),Eo=xs(),Cs=xs(),wn=new wl;let Qn=0,Jn=0;const{pause:_c,resume:yc,isActive:xc}=bc(()=>{To.trigger({delta:Qn,elapsed:Jn,clock:wn}),Eo.trigger({delta:Qn,elapsed:Jn,clock:wn}),Cs.trigger({delta:Qn,elapsed:Jn,clock:wn})},{immediate:!1});Cs.on(()=>{Qn=wn.getDelta(),Jn=wn.getElapsedTime()});const Cc=()=>({onBeforeLoop:To.on,onLoop:Eo.on,onAfterLoop:Cs.on,pause:_c,resume:yc,isActive:xc}),Hn="[TresJS ▲ ■ ●] ";function Mo(){function n(...r){typeof r[0]=="string"?r[0]=Hn+r[0]:r.unshift(Hn),console.error(...r)}function e(...r){typeof r[0]=="string"?r[0]=Hn+r[0]:r.unshift(Hn),console.warn(...r)}function t(r,s){}return{logError:n,logWarning:e,logMessage:t}}const Pc="html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot",Tc=Ec(Pc);function ci(n){return n&&n.nodeType===1}function $n(n){return n.replace(/-([a-z])/g,(e,t)=>t.toUpperCase())}function Ec(n,e){const t=Object.create(null),r=n.split(",");for(let s=0;s<r.length;s++)t[r[s]]=!0;return s=>!!t[s]}function Ao(n,e){if(ci(n)&&ci(e)){const s=n.attributes,i=e.attributes;return s.length!==i.length?!1:Array.from(s).every(({name:o,value:a})=>e.getAttribute(o)===a)}if(n===e)return!0;if(n===null||typeof n!="object"||e===null||typeof e!="object")return!1;const t=Object.keys(n),r=Object.keys(e);if(t.length!==r.length)return!1;for(const s of t)if(!r.includes(s)||!Ao(n[s],e[s]))return!1;return!0}function Mc(n,e){if(!Array.isArray(n)||!Array.isArray(e)||n.length!==e.length)return!1;for(let t=0;t<n.length;t++)if(!Ao(n[t],e[t]))return!1;return!0}const ui=n=>typeof n=="function",Ac=n=>!!n&&n.constructor===Array;function Sc(n){const e={nodes:{},materials:{}};return n&&n.traverse(t=>{t.name&&(e.nodes[t.name]=t),t.material&&!e.materials[t.material.name]&&(e.materials[t.material.name]=t.material)}),e}async function kc(n,e,t,r,s){const{logError:i}=Mo(),o=new n;t&&t(o);const a=(Array.isArray(e)?e:[e]).map(l=>new Promise((c,d)=>{o.load(l,u=>{u.scene&&Object.assign(u,Sc(u.scene)),c(u)},r,u=>d(i("[useLoader] - Failed to load resource",u)))}));return Ac(e)?await Promise.all(a):await a[0]}const ns=W({}),Lc=n=>Object.assign(ns.value,n);function So(){const n=Xa("useTres");if(!n)throw new Error("useTresContext must be used together with useTresContextProvider");return n}let be=null;const{logError:di}=Mo(),Lr=["onClick","onPointerMove","onPointerEnter","onPointerLeave"],Rc={createElement(n,e,t,r){var s,i;if(r||(r={}),r.args||(r.args=[]),n==="template"||Tc(n))return null;let o=n.replace("Tres",""),a;if(n==="primitive"){r?.object===void 0&&di("Tres primitives need a prop 'object'");const l=r.object;o=l.type,a=Object.assign(l,{type:o,attach:r.attach,primitive:!0})}else{const l=ns.value[o];l||di(`${o} is not defined on the THREE namespace. Use extend to add it to the catalog.`),a=new l(...r.args)}return a.isCamera&&(r!=null&&r.position||a.position.set(3,3,3),r!=null&&r.lookAt||a.lookAt(0,0,0)),r?.attach===void 0&&(a.isMaterial?a.attach="material":a.isBufferGeometry&&(a.attach="geometry")),a.isObject3D&&((s=r?.material)!=null&&s.isMaterial&&(a.userData.tres__materialViaProp=!0),(i=r?.geometry)!=null&&i.isBufferGeometry&&(a.userData.tres__geometryViaProp=!0)),a.userData={...a.userData,tres__name:o},a},insert(n,e){var t,r,s,i;e&&e.isScene&&(be=e);const o=e||be;if(n!=null&&n.isObject3D){if(n!=null&&n.isCamera){if(!(be!=null&&be.userData.tres__registerCamera))throw new Error("could not find tres__registerCamera on scene's userData");(r=be==null?void 0:(t=be.userData).tres__registerCamera)==null||r.call(t,n)}if(n&&Lr.some(a=>n[a])){if(!(be!=null&&be.userData.tres__registerAtPointerEventHandler))throw new Error("could not find tres__registerAtPointerEventHandler on sce
34ne's userData");(i=be==null?void 0:(s=be.userData).tres__registerAtPointerEventHandler)==null||i.call(s,n)}}n!=null&&n.isObject3D&&o!=null&&o.isObject3D?(o.add(n),n.dispatchEvent({type:"added"})):n!=null&&n.isFog?o.fog=n:typeof n?.attach=="string"&&(n.__previousAttach=n[o?.attach],o&&(o[n.attach]=n))},remove(n){var e,t;if(n){if(n.isObject3D){const r=n,s=c=>{var d,u;const g=c;c.userData.tres__materialViaProp||((d=g.material)==null||d.dispose(),g.material=void 0),c.userData.tres__geometryViaProp||((u=g.geometry)==null||u.dispose(),g.geometry=void 0)},i=be?.userData.tres__deregisterAtPointerEventHandler,o=be?.userData.tres__deregisterBlockingObjectAtPointerEventHandler,a=c=>{var d,u;if(!o)throw new Error("could not find tres__deregisterBlockingObjectAtPointerEventHandler on scene's userData");if((u=be==null?void 0:(d=be.userData).tres__deregisterBlockingObjectAtPointerEventHandler)==null||u.call(d,c),!i)throw new Error("could not find tres__deregisterAtPointerEventHandler on scene's userData");c&&Lr.some(g=>c[g])&&i?.(c)},l=c=>{const d=be?.userData.tres__deregisterCamera;if(!d)throw new Error("could not find tres__deregisterCamera on scene's userData");c.isCamera&&d?.(c)};(e=n.removeFromParent)==null||e.call(n),r.traverse(c=>{s(c),l(c),a?.(c)}),s(r),l(r),a?.(r)}(t=n.dispose)==null||t.call(n)}},patchProp(n,e,t,r){var s,i,o,a;if(n){let l=n,c=e;if(n.isObject3D&&c==="blocks-pointer-events"){r||r===""?(i=be==null?void 0:(s=be.userData).tres__registerBlockingObjectAtPointerEventHandler)==null||i.call(s,n):(a=be==null?void 0:(o=be.userData).tres__deregisterBlockingObjectAtPointerEventHandler)==null||a.call(o,n);return}let d=$n(c),u=l?.[d];if(c==="args"){const _=n,m=t??[],C=r??[],v=n.userData.tres__name||n.type;v&&m.length&&!Mc(m,C)&&(l=Object.assign(_,new ns.value[v](...r)));return}if(l.type==="BufferGeometry"){if(c==="args")return;l.setAttribute($n(c),new Ee(...r));return}if(c.includes("-")&&u===void 0){const _=c.split("-");u=_.reduce((m,C)=>m[$n(C)],l),c=_.pop(),d=c.toLowerCase(),u!=null&&u.set||(l=_.reduce((m,C)=>m[$n(C)],l))}let g=r;if(g===""&&(g=!0),ui(u)){Lr.includes(e)||(Array.isArray(g)?n[d](...g):n[d](g));return}!(u!=null&&u.set)&&!ui(u)?l[d]=g:u.constructor===g.constructor&&u!=null&&u.copy?u?.copy(g):Array.isArray(g)?u.set(...g):!u.isColor&&u.setScalar?u.setScalar(g):u.set(g)}},parentNode(n){return n?.parent||null},createText:()=>{},createComment:()=>{},setText:()=>{},setElementText:()=>{},nextSibling:()=>{},querySelector:()=>{},setScopeId:()=>{},cloneNode:()=>{},insertStaticContent:()=>{}},{render:dg}=qa(Rc);Lc(bl);function me(n){return n==null}function Ps(n){return n!==null&&typeof n=="object"}function rs(n){return n!==null&&typeof n=="object"}function Ic(n,e){if(n.length!==e.length)return!1;for(let t=0;t<n.length;t++)if(n[t]!==e[t])return!1;return!0}function Gt(n,e){return Array.from(new Set([...Object.keys(n),...Object.keys(e)])).reduce((r,s)=>{const i=n[s],o=e[s];return rs(i)&&rs(o)?Object.assign(Object.assign({},r),{[s]:Gt(i,o)}):Object.assign(Object.assign({},r),{[s]:s in e?o:i})},{})}function Oc(n){return Ps(n)?"target"in n:!1}const Fc={alreadydisposed:()=>"View has been already disposed",invalidparams:n=>`Invalid parameters for '${n.name}'`,nomatchingcontroller:n=>`No matching controller for '${n.key}'`,nomatchingview:n=>`No matching view for '${JSON.stringify(n.params)}'`,notbindable:()=>"Value is not bindable",notcompatible:n=>`Not compatible with  plugin '${n.id}'`,propertynotfound:n=>`Property '${n.name}' not found`,shouldneverhappen:()=>"This error should never happen"};class $e{static alreadyDisposed(){return new $e({type:"alreadydisposed"})}static notBindable(){return new $e({type:"notbindable"})}static notCompatible(e,t){return new $e({type:"notcompatible",context:{id:`${e}.${t}`}})}static propertyNotFound(e){return new $e({type:"propertynotfound",context:{name:e}})}static shouldNeverHappen(){return new $e({type:"shouldneverhappen"})}constructor(e){var t;this.message=(t=Fc[e.type](e.context))!==null&&t!==void 0?t:"Unexpected error",this.name=this.constructor.name,this.stack=new Error(this.message).stack,this.type=e.type}toString(){return this.message}}class or{constructor(e,t){this.obj_=e,this.key=t}static isBindable(e){return!(e===null||typeof e!="object"&&typeof e!="function")}read(){return this.obj_[this.key]}write(e){this.obj_[this.key]=e}writeProperty(e,t){const r=this.read();if(!or.isBindable(r))throw $e.notBindable();if(!(e in r))throw $e.propertyNotFound(e);r[e]=t}}class qe{constructor(){this.observers_={}}on(e,t,r){var s;let i=this.observers_[e];
34return i||(i=this.observers_[e]=[]),i.push({handler:t,key:(s=r?.key)!==null&&s!==void 0?s:t}),this}off(e,t){const r=this.observers_[e];return r&&(this.observers_[e]=r.filter(s=>s.key!==t)),this}emit(e,t){const r=this.observers_[e];r&&r.forEach(s=>{s.handler(t)})}}class Vc{constructor(e,t){var r;this.constraint_=t?.constraint,this.equals_=(r=t?.equals)!==null&&r!==void 0?r:((s,i)=>s===i),this.emitter=new qe,this.rawValue_=e}get constraint(){return this.constraint_}get rawValue(){return this.rawValue_}set rawValue(e){this.setRawValue(e,{forceEmit:!1,last:!0})}setRawValue(e,t){const r=t??{forceEmit:!1,last:!0},s=this.constraint_?this.constraint_.constrain(e):e,i=this.rawValue_;this.equals_(i,s)&&!r.forceEmit||(this.emitter.emit("beforechange",{sender:this}),this.rawValue_=s,this.emitter.emit("change",{options:r,previousRawValue:i,rawValue:s,sender:this}))}}class Nc{constructor(e){this.emitter=new qe,this.value_=e}get rawValue(){return this.value_}set rawValue(e){this.setRawValue(e,{forceEmit:!1,last:!0})}setRawValue(e,t){const r=t??{forceEmit:!1,last:!0},s=this.value_;s===e&&!r.forceEmit||(this.emitter.emit("beforechange",{sender:this}),this.value_=e,this.emitter.emit("change",{options:r,previousRawValue:s,rawValue:this.value_,sender:this}))}}class Dc{constructor(e){this.emitter=new qe,this.onValueBeforeChange_=this.onValueBeforeChange_.bind(this),this.onValueChange_=this.onValueChange_.bind(this),this.value_=e,this.value_.emitter.on("beforechange",this.onValueBeforeChange_),this.value_.emitter.on("change",this.onValueChange_)}get rawValue(){return this.value_.rawValue}onValueBeforeChange_(e){this.emitter.emit("beforechange",Object.assign(Object.assign({},e),{sender:this}))}onValueChange_(e){this.emitter.emit("change",Object.assign(Object.assign({},e),{sender:this}))}}function Ae(n,e){const t=e?.constraint,r=e?.equals;return!t&&!r?new Nc(n):new Vc(n,e)}function Uc(n){return[new Dc(n),(e,t)=>{n.setRawValue(e,t)}]}class ie{constructor(e){this.emitter=new qe,this.valMap_=e;for(const t in this.valMap_)this.valMap_[t].emitter.on("change",()=>{this.emitter.emit("change",{key:t,sender:this})})}static createCore(e){return Object.keys(e).reduce((r,s)=>Object.assign(r,{[s]:Ae(e[s])}),{})}static fromObject(e){const t=this.createCore(e);return new ie(t)}get(e){return this.valMap_[e].rawValue}set(e,t){this.valMap_[e].rawValue=t}value(e){return this.valMap_[e]}}class vr{constructor(e){this.values=ie.fromObject({max:e.max,min:e.min})}constrain(e){const t=this.values.get("max"),r=this.values.get("min");return Math.min(Math.max(e,r),t)}}class Bc{constructor(e){this.values=ie.fromObject({max:e.max,min:e.min})}constrain(e){const t=this.values.get("max"),r=this.values.get("min");let s=e;return me(r)||(s=Math.max(s,r)),me(t)||(s=Math.min(s,t)),s}}class jc{constructor(e,t=0){this.step=e,this.origin=t}constrain(e){const t=this.origin%this.step,r=Math.round((e-t)/this.step);return t+r*this.step}}class zc{constructor(e){this.text=e}evaluate(){return Number(this.text)}toString(){return this.text}}const Gc={"**":(n,e)=>Math.pow(n,e),"*":(n,e)=>n*e,"/":(n,e)=>n/e,"%":(n,e)=>n%e,"+":(n,e)=>n+e,"-":(n,e)=>n-e,"<<":(n,e)=>n<<e,">>":(n,e)=>n>>e,">>>":(n,e)=>n>>>e,"&":(n,e)=>n&e,"^":(n,e)=>n^e,"|":(n,e)=>n|e};class Hc{constructor(e,t,r){this.left=t,this.operator=e,this.right=r}evaluate(){const e=Gc[this.operator];if(!e)throw new Error(`unexpected binary operator: '${this.operator}`);return e(this.left.evaluate(),this.right.evaluate())}toString(){return["b(",this.left.toString(),this.operator,this.right.toString(),")"].join(" ")}}const $c={"+":n=>n,"-":n=>-n,"~":n=>~n};class Kc{constructor(e,t){this.operator=e,this.expression=t}evaluate(){const e=$c[this.operator];if(!e)throw new Error(`unexpected unary operator: '${this.operator}`);return e(this.expression.evaluate())}toString(){return["u(",this.operator,this.expression.toString(),")"].join(" ")}}function Ts(n){return(e,t)=>{for(let r=0;r<n.length;r++){const s=n[r](e,t);if(s!=="")return s}return""}}function En(n,e){var t;const r=n.substr(e).match(/^\s+/);return(t=r&&r[0])!==null&&t!==void 0?t:""}function Wc(n,e){const t=n.substr(e,1);return t.match(/^[1-9]$/)?t:""}function Mn(n,e){var t;const r=n.substr(e).match(/^[0-9]+/);return(t=r&&r[0])!==null&&t!==void 0?t:""}function qc(n,e){const t=Mn(n,e);if(t!=="")return t;const r=n.substr(e,1);if(e+=1,r!=="-"&&r!=="+")return"";const s=Mn(n,e);return s===""?"":r+s}function Es(n,e){const t=n.substr(e,1);if(e+=1,t.toLowerCase()!=="e")return"";const r=qc(n,e);return r===""?"":t+r}function ko(n,e){const t=n.substr(e,1);if(t==="0")return t;const r=Wc(n,e);return e+=r.length,r===""?"":r+Mn(n,e)}function Xc(n,e){const t=ko(n,e);if(e+=t.length,t==="")return"";const r=n.substr(e,1);if(e+=r.length,r!==".")return"";const s=Mn(n,e);return e+=s.length,t+r+s+Es(n,e)}function Yc(n,e){const t=n.substr(e,1);if(e+=t.length,t!==".")return"";const r=Mn(n,e);return e+=r.length,r===""?"":t+r+Es(n,e)}function Zc(n,e){const t=ko(n,e);return e+=t.length,t===""?"":t+Es(n,e)}const Qc=Ts([Xc,Yc,Zc]);
34function Jc(n,e){var t;const r=n.substr(e).match(/^[01]+/);return(t=r&&r[0])!==null&&t!==void 0?t:""}function eu(n,e){const t=n.substr(e,2);if(e+=t.length,t.toLowerCase()!=="0b")return"";const r=Jc(n,e);return r===""?"":t+r}function tu(n,e){var t;const r=n.substr(e).match(/^[0-7]+/);return(t=r&&r[0])!==null&&t!==void 0?t:""}function nu(n,e){const t=n.substr(e,2);if(e+=t.length,t.toLowerCase()!=="0o")return"";const r=tu(n,e);return r===""?"":t+r}function ru(n,e){var t;const r=n.substr(e).match(/^[0-9a-f]+/i);return(t=r&&r[0])!==null&&t!==void 0?t:""}function su(n,e){const t=n.substr(e,2);if(e+=t.length,t.toLowerCase()!=="0x")return"";const r=ru(n,e);return r===""?"":t+r}const iu=Ts([eu,nu,su]),ou=Ts([iu,Qc]);function au(n,e){const t=ou(n,e);return e+=t.length,t===""?null:{evaluable:new zc(t),cursor:e}}function lu(n,e){const t=n.substr(e,1);if(e+=t.length,t!=="(")return null;const r=Ro(n,e);if(!r)return null;e=r.cursor,e+=En(n,e).length;const s=n.substr(e,1);return e+=s.length,s!==")"?null:{evaluable:r.evaluable,cursor:e}}function cu(n,e){var t;return(t=au(n,e))!==null&&t!==void 0?t:lu(n,e)}function Lo(n,e){const t=cu(n,e);if(t)return t;const r=n.substr(e,1);if(e+=r.length,r!=="+"&&r!=="-"&&r!=="~")return null;const s=Lo(n,e);return s?(e=s.cursor,{cursor:e,evaluable:new Kc(r,s.evaluable)}):null}function uu(n,e,t){t+=En(e,t).length;const r=n.filter(s=>e.startsWith(s,t))[0];return r?(t+=r.length,t+=En(e,t).length,{cursor:t,operator:r}):null}function du(n,e){return(t,r)=>{const s=n(t,r);if(!s)return null;r=s.cursor;let i=s.evaluable;for(;;){const o=uu(e,t,r);if(!o)break;r=o.cursor;const a=n(t,r);if(!a)return null;r=a.cursor,i=new Hc(o.operator,i,a.evaluable)}return i?{cursor:r,evaluable:i}:null}}const hu=[["**"],["*","/","%"],["+","-"],["<<",">>>",">>"],["&"],["^"],["|"]].reduce((n,e)=>du(n,e),Lo);function Ro(n,e){return e+=En(n,e).length,hu(n,e)}function pu(n){const e=Ro(n,0);return!e||e.cursor+En(n,e.cursor).length!==n.length?null:e.evaluable}function Lt(n){var e;const t=pu(n);return(e=t?.evaluate())!==null&&e!==void 0?e:null}function Io(n){if(typeof n=="number")return n;if(typeof n=="string"){const e=Lt(n);if(!me(e))return e}return 0}function ze(n){return e=>e.toFixed(Math.max(Math.min(n,20),0))}function ae(n,e,t,r,s){const i=(n-e)/(t-e);return r+i*(s-r)}function hi(n){return String(n.toFixed(10)).split(".")[1].replace(/0+$/,"").length}function Te(n,e,t){return Math.min(Math.max(n,e),t)}function Oo(n,e){return(n%e+e)%e}function fu(n,e){return me(n.step)?Math.max(hi(e),2):hi(n.step)}function Fo(n){var e;return(e=n.step)!==null&&e!==void 0?e:1}function mu(n,e){var t;const r=Math.abs((t=n.step)!==null&&t!==void 0?t:e);return r===0?.1:Math.pow(10,Math.floor(Math.log10(r))-1)}function Vo(n,e){return me(n.step)?null:new jc(n.step,e)}function No(n){return!me(n.max)&&!me(n.min)?new vr({max:n.max,min:n.min}):!me(n.max)||!me(n.min)?new Bc({max:n.max,min:n.min}):null}function Do(n,e){var t,r,s;return{formatter:(t=n.format)!==null&&t!==void 0?t:ze(fu(n,e)),keyScale:(r=n.keyScale)!==null&&r!==void 0?r:Fo(n),pointerScale:(s=n.pointerScale)!==null&&s!==void 0?s:mu(n,e)}}function Uo(n){return{format:n.optional.function,keyScale:n.optional.number,max:n.optional.number,min:n.optional.number,pointerScale:n.optional.number,step:n.optional.number}}function Ms(n){return{constraint:n.constraint,textProps:ie.fromObject(Do(n.params,n.initialValue))}}class As{constructor(e){this.controller=e}get element(){return this.controller.view.element}get disabled(){return this.controller.viewProps.get("disabled")}set disabled(e){this.controller.viewProps.set("disabled",e)}get hidden(){return this.controller.viewProps.get("hidden")}set hidden(e){this.controller.viewProps.set("hidden",e)}dispose(){this.controller.viewProps.set("disposed",!0)}importState(e){return this.controller.importState(e)}exportState(){return this.controller.exportState()}}class gr{constructor(e){this.target=e}}class Bo extends gr{constructor(e,t,r){super(e),this.value=t,this.last=r??!0}}class vu extends gr{constructor(e,t){super(e),this.expanded=t}}class gu extends gr{constructor(e,t){super(e),this.index=t}}class wu extends gr{constructor(e,t){super(e),this.native=t}}class Ss extends As{constructor(e){super(e),this.onValueChange_=this.onValueChange_.bind(this),this.emitter_=new qe,this.controller.value.emitter.on("change",this.onValueChange_)}get label(){return this.controller.labelController.props.get("label")}set label(e){this.controller.labelController.props.set("label",e)}get key(){return this.controller.value.binding.target.key}get tag(){return this.controller.tag}set tag(e){this.controller.tag=e}on(e,t){const r=t.bind(this);return this.emitter_.on(e,s=>{r(s)},{key:t}),this}off(e,t){return this.emitter_.off(e,t),this}refresh(){this.controller.value.fetch()}onValueChange_(e){const t=this.controller.value;this.emitter_.emit("change",new Bo(this,t.binding.target.read(),e.options.last))}}function bu(n,e){const r=Object.keys(e).reduce((s,i)=>{if(s===void 0)return;const o=e[i],a=o(n[i]);return a.succeeded?Object.assign(Object.assign({},s),{[i]:a.value}):void 0},{});return r}function _u(n,e){return n.reduce((t,r)=>{if(t===void 0)return;const s=e(r);if(!(!s.succeeded||s.value===void 0))return[...t,s.value]},[])}function yu(n){return n===null?!1:typeof n=="object"}function ht(n){return e=>t=>{if(!e&&t===void 0)return{succeeded:!1,value:void 0};if(e&&t===void 0)return{succeeded:!0,value:void 0};const r=n(t);return r!==void 0?{succeeded:!0,value:r}:{succeeded:!1,value:void 0}}}function pi(n){return{custom:e=>ht(e)(n),boolean:ht(e=>typeof e=="boolean"?e:void 0)(n),number:ht(e=>typeof e=="number"?e:void 0)(n),string:ht(e=>typeof e=="string"?e:void 0)(n),function:ht(e=>typeof e=="function"?e:void 0)(n),constant:e=>ht(t=>t===e?e:void 0)(n),raw:ht(e=>e)(n),object:e=>ht(t=>{if(yu(t))return bu(t,e)})(n),array:e=>ht(t=>{if(Array.isArray(t))return _u(t,e)})(n)}}const ss={optional:pi(!0),required:pi(!1)};function Oe(n,e){const t=e(ss),r=ss.required.object(t)(n);return r.succeeded?r.value:void 0}function ct(n,e,t,r){if(e&&!e(n))return!1;const s=Oe(n,t);return s?r(s):!1}function ut(n,e){var t;return Gt((t=n?.())!==null&&t!==void 0?t:{},e)}function er(n){return"value"in n}function xu(n){if(!Ps(n)||!("binding"in n))return!1;const e=n.binding;return Oc(e)}const rt="http://www.w3.org/2000/svg";function ar(n){n.offsetHeight}function Cu(n,e){const t=n.style.transition;n.style.transition="none",e(),n.style.transition=t}function ks(n){return n.ontouchstart!==void 0}function Pu(n){const e=n.ownerDocument.defaultView;return e&&"document"in e?n.getContext("2d",{willReadFrequently:!0}):null}const Tu={check:'<path d="M2 8l4 4l8 -8"/>',dropdown:'<path d="M5 7h6l-3 3 z"/>',p2dpad:'<path d="M8 4v8"/><path d="M4 8h8"/><circle cx="12" cy="12" r="1.2"/>'};function wr(n,e){const t=n.createElementNS(rt,"svg");return t.innerHTML=Tu[e],t}function jo(n,e,t){n.insertBefore(e,n.children[t])}function Ls(n){n.parentElement&&n.parentElement.removeChild(n)}function zo(n){for(;n.children.length>0;)n.removeChild(n.children[0])}function Eu(n){for(;n.childNodes.length>0;)n.removeChild(n.childNodes[0])}function Go(n){return n.relatedTarget?n.relatedTarget:"explicitOriginalTarget"
34in n?n.explicitOriginalTarget:null}function mt(n,e){n.emitter.on("change",t=>{e(t.rawValue)}),e(n.rawValue)}function at(n,e,t){mt(n.value(e),t)}const Mu="tp";function oe(n){return(t,r)=>[Mu,"-",n,"v",t?`_${t}`:"",r?`-${r}`:""].join("")}const dn=oe("lbl");function Au(n,e){const t=n.createDocumentFragment();return e.split(`
35`).map(s=>n.createTextNode(s)).forEach((s,i)=>{i>0&&t.appendChild(n.createElement("br")),t.appendChild(s)}),t}class Su{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(dn()),t.viewProps.bindClassModifiers(this.element);const r=e.createElement("div");r.classList.add(dn("l")),at(t.props,"label",i=>{me(i)?this.element.classList.add(dn(void 0,"nol")):(this.element.classList.remove(dn(void 0,"nol")),Eu(r),r.appendChild(Au(e,i)))}),this.element.appendChild(r),this.labelElement=r;const s=e.createElement("div");s.classList.add(dn("v")),this.element.appendChild(s),this.valueElement=s}}class ku{constructor(e,t){this.props=t.props,this.valueController=t.valueController,this.viewProps=t.valueController.viewProps,this.view=new Su(e,{props:t.props,viewProps:this.viewProps}),this.view.valueElement.appendChild(this.valueController.view.element)}importProps(e){return ct(e,null,t=>({label:t.optional.string}),t=>(this.props.set("label",t.label),!0))}exportProps(){return ut(null,{label:this.props.get("label")})}}function Lu(){return["veryfirst","first","last","verylast"]}const fi=oe(""),mi={veryfirst:"vfst",first:"fst",last:"lst",verylast:"vlst"};class Ho{constructor(e){this.parent_=null,this.blade=e.blade,this.view=e.view,this.viewProps=e.viewProps;const t=this.view.element;this.blade.value("positions").emitter.on("change",()=>{Lu().forEach(r=>{t.classList.remove(fi(void 0,mi[r]))}),this.blade.get("positions").forEach(r=>{t.classList.add(fi(void 0,mi[r]))})}),this.viewProps.handleDispose(()=>{Ls(t)})}get parent(){return this.parent_}set parent(e){this.parent_=e,this.viewProps.set("parent",this.parent_?this.parent_.viewProps:null)}importState(e){return ct(e,null,t=>({disabled:t.required.boolean,hidden:t.required.boolean}),t=>(this.viewProps.importState(t),!0))}exportState(){return ut(null,Object.assign({},this.viewProps.exportState()))}}class Ru extends As{get label(){return this.controller.labelController.props.get("label")}set label(e){this.controller.labelController.props.set("label",e)}get title(){var e;return(e=this.controller.buttonController.props.get("title"))!==null&&e!==void 0?e:""}set title(e){this.controller.buttonController.props.set("title",e)}on(e,t){const r=t.bind(this);return this.controller.buttonController.emitter.on(e,i=>{r(new wu(this,i.nativeEvent))}),this}off(e,t){return this.controller.buttonController.emitter.off(e,t),this}}function Iu(n,e,t){t?n.classList.add(e):n.classList.remove(e)}function ln(n,e){return t=>{Iu(n,e,t)}}function Rs(n,e){mt(n,t=>{e.textContent=t??""})}const Rr=oe("btn");class Ou{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(Rr()),t.viewProps.bindClassModifiers(this.element);const r=e.createElement("button");r.classList.add(Rr("b")),t.viewProps.bindDisabled(r),this.element.appendChild(r),this.buttonElement=r;const s=e.createElement("div");s.classList.add(Rr("t")),Rs(t.props.value("title"),s),this.buttonElement.appendChild(s)}}class Fu{constructor(e,t){this.emitter=new qe,this.onClick_=this.onClick_.bind(this),this.props=t.props,this.viewProps=t.viewProps,this.view=new Ou(e,{props:this.props,viewProps:this.viewProps}),this.view.buttonElement.addEventListener("click",this.onClick_)}importProps(e){return ct(e,null,t=>({title:t.optional.string}),t=>(this.props.set("title",t.title),!0))}exportProps(){return ut(null,{title:this.props.get("title")})}onClick_(e){this.emitter.emit("click",{nativeEvent:e,sender:this})}}class vi extends Ho{constructor(e,t){const r=new Fu(e,{props:t.buttonProps,viewProps:t.viewProps}),s=new ku(e,{blade:t.blade,props:t.labelProps,valueController:r});super({blade:t.blade,view:s.view,viewProps:t.viewProps}),this.buttonController=r,this.labelController=s}importState(e){return ct(e,t=>super.importState(t)&&this.buttonController.importProps(t)&&this.labelController.importProps(t),()=>({}),()=>!0)}exportState(){return ut(()=>super.exportState(),Object.assign(Object.assign({},this.buttonController.exportProps()),this.labelController.exportProps()))}}class $o{constructor(e){const[t,r]=e.split("-"),s=t.split(".");this.major=parseInt(s[0],10),this.minor=parseInt(s[1],10),this.patch=parseInt(s[2],10),this.prerelease=r??null}toString(){const e=[this.major,this.minor,this.patch].join(".");return this.prerelease!==null?[e,this.prerelease].join("-"):e}}const Vu=new $o("2.0.5");function Ne(n){return Object.assign({core:Vu},n)}Ne({id:"button",type:"blade",accept(n){const e=Oe(n,t=>({title:t.required.string,view:t.required.constant("button"),label:t.optional.string}));return e?{params:e}:null},controller(n){return new vi(n.document,{blade:n.blade,buttonProps:ie.fromObject({title:n.params.title}),labelProps:ie.fromObject({label:n.params.label}),viewProps:n.viewProps})},api(n){return n.controller instanceof vi?new Ru(n.controller):null}});function Nu(n,e){return n.addBlade(Object.assign(Object.assign({},e),{view:"button"}))}function Du(n,e){return n.addBlade(Object.assign(Object.assign({},e),{view:"folder"}))}function Uu(n,e){return n.addBlade(Object.assign(Object.assign({},e),{view:"tab"}))}function Bu(n){return Ps(n)?"refresh"in n&&typeof n.refresh=="function":!1}function ju(n,e){if(!or.isBindable(n))throw $e.notBindable();return new or(n,e)}class zu{constructor(e,t){this.onRackValueChange_=this.onRackValueChange_.bind(this),this.controller_=e,this.emitter_=new qe,this.pool_=t,this.controller_.rack.emitter.on("valuechange",this.onRackValueChange_)}get children(){return this.controller_.rack.children.map(e=>this.pool_.createApi(e))}addBinding(e,t,r){const s=r??{},i=this.controller_.element.ownerDocument,o=this.pool_.createBinding(i,ju(e,t),s),a=this.pool_.createBindingApi(o);return this.add(a,s.index)}addFolder(e){return Du(this,e)}addButton(e){return Nu(this,e)}addTab(e){return Uu(this,e)}add(e,t){const r=e.controller;return this.controller_.rack.add(r,t),e}remove(e){this.controller_.rack.remove(e.controller)}addBlade(e){const t=this.controller_.element.ownerDocument,r=this.pool_.createBlade(t,e),s=this.pool_.createApi(r);return this.add(s,e.index)}on(e,t){const r=t.bind(this);return this.emitter_.on(e,s=>{r(s)},{key:t}),this}off(e,t){return this.emitter_.off(e,t),this}
35refresh(){this.children.forEach(e=>{Bu(e)&&e.refresh()})}onRackValueChange_(e){const t=e.bladeController,r=this.pool_.createApi(t),s=xu(t.value)?t.value.binding:null;this.emitter_.emit("change",new Bo(r,s?s.target.read():t.value.rawValue,e.options.last))}}class Is extends As{constructor(e,t){super(e),this.rackApi_=new zu(e.rackController,t)}refresh(){this.rackApi_.refresh()}}class Os extends Ho{constructor(e){super({blade:e.blade,view:e.view,viewProps:e.rackController.viewProps}),this.rackController=e.rackController}importState(e){return ct(e,t=>super.importState(t),t=>({children:t.required.array(t.required.raw)}),t=>this.rackController.rack.children.every((r,s)=>r.importState(t.children[s])))}exportState(){return ut(()=>super.exportState(),{children:this.rackController.rack.children.map(e=>e.exportState())})}}function is(n){return"rackController"in n}class Gu{constructor(e){this.emitter=new qe,this.items_=[],this.cache_=new Set,this.onSubListAdd_=this.onSubListAdd_.bind(this),this.onSubListRemove_=this.onSubListRemove_.bind(this),this.extract_=e}get items(){return this.items_}allItems(){return Array.from(this.cache_)}find(e){for(const t of this.allItems())if(e(t))return t;return null}includes(e){return this.cache_.has(e)}add(e,t){if(this.includes(e))throw $e.shouldNeverHappen();const r=t!==void 0?t:this.items_.length;this.items_.splice(r,0,e),this.cache_.add(e);const s=this.extract_(e);s&&(s.emitter.on("add",this.onSubListAdd_),s.emitter.on("remove",this.onSubListRemove_),s.allItems().forEac
35h(i=>{this.cache_.add(i)})),this.emitter.emit("add",{index:r,item:e,root:this,target:this})}remove(e){const t=this.items_.indexOf(e);if(t<0)return;this.items_.splice(t,1),this.cache_.delete(e);const r=this.extract_(e);r&&(r.allItems().forEach(s=>{this.cache_.delete(s)}),r.emitter.off("add",this.onSubListAdd_),r.emitter.off("remove",this.onSubListRemove_)),this.emitter.emit("remove",{index:t,item:e,root:this,target:this})}onSubListAdd_(e){this.cache_.add(e.item),this.emitter.emit("add",{index:e.index,item:e.item,root:this,target:e.target})}onSubListRemove_(e){this.cache_.delete(e.item),this.emitter.emit("remove",{index:e.index,item:e.item,root:this,target:e.target})}}function Hu(n,e){for(let t=0;t<n.length;t++){const r=n[t];if(er(r)&&r.value===e)return r}return null}function $u(n){return is(n)?n.rackController.rack.bcSet_:null}class Ku{constructor(e){var t,r;this.emitter=new qe,this.onBladePositionsChange_=this.onBladePositionsChange_.bind(this),this.onSetAdd_=this.onSetAdd_.bind(this),this.onSetRemove_=this.onSetRemove_.bind(this),this.onChildDispose_=this.onChildDispose_.bind(this),this.onChildPositionsChange_=this.onChildPositionsChange_.bind(this),this.onChildValueChange_=this.onChildValueChange_.bind(this),this.onChildViewPropsChange_=this.onChildViewPropsChange_.bind(this),this.onRackLayout_=this.onRackLayout_.bind(this),this.onRackValueChange_=this.onRackValueChange_.bind(this),this.blade_=(t=e.blade)!==null&&t!==void 0?t:null,(r=this.blade_)===null||r===void 0||r.value("positions").emitter.on("change",this.onBladePositionsChange_),this.viewProps=e.viewProps,this.bcSet_=ne
35w Gu($u),this.bcSet_.emitter.on("add",this.onSetAdd_),this.bcSet_.emitter.on("remove",this.onSetRemove_)}get children(){return this.bcSet_.items}add(e,t){var r;(r=e.parent)===null||r===void 0||r.remove(e),e.parent=this,this.bcSet_.add(e,t)}remove(e){e.parent=null,this.bcSet_.remove(e)}find(e){return this.bcSet_.allItems().filter(e)}onSetAdd_(e){this.updatePositions_();const t=e.target===e.root;if(this.emitter.emit("add",{bladeController:e.item,index:e.index,root:t,sender:this}),!t)return;const r=e.item;if(r.viewProps.emitter.on("change",this.onChildViewPropsChange_),r.blade.value("positions").emitter.on("change",this.onChildPositionsChange_),r.viewProps.handleDispose(this.onChildDispose_),er(r))r.value.emitter.on("change",this.onChildValueChange_);else if(is(r)){const s=r.rackController.rack;if(s){const i=s.emitter;i.on("layout",this.onRackLayout_),i.on("valuechange",this.onRackValueChange_)}}}onSetRemove_(e){this.updatePositions_();const t=e.target===e.root;if(this.emitter.emit("remove",{bladeController:e.item,root:t,sender:this}),!t)return;const r=e.item;if(er(r))r.value.emitter.off("change",this.onChildValueChange_);else if(is(r)){const s=r.rackController.rack;if(s){const i=s.emitter;i.off("layout",this.onRackLayout_),i.off("valuechange",this.onRackValueChange_)}}}updatePositions_(){const e=this.bcSet_.items.filter(s=>!s.viewProps.get("hidden")),t=e[0],r=e[e.length-1];this.bcSet_.items.forEach(s=>{const i=[];s===t&&(i.push("first"),(!this.blade_||this.blade_.get("positions").includes("veryfirst"))&&i.push("veryfirst")),s===r&&(i.push("last"),(!this.blade_||this.blade_.get("positions").includes("verylast"))&&i.push("verylast")),s.blade.set("positions",i)})}onChildPositionsChange_(){this.updatePositions_(),this.emitter.emit("layout",{sender:this})}onChildViewPropsChange_(e){this.updatePositions_(),this.emitter.emit("layout",{sender:this})}onChildDispose_(){this.bcSet_.items.filter(t=>t.viewProps.get("disposed")).forEach(t=>{this.bcSet_.remove(t)})}onChildValueChange_(e){const t=Hu(this.find(er),e.sender);if(!t)throw $e.alreadyDisposed();this.emitter.emit("valuechange",{bladeController:t,options:e.options,sender:this})}onRackLayout_(e){this.updatePositions_(),this.emitter.emit("layout",{sender:this})}onRackValueChange_(e){this.emitter.emit("valuechange",{bladeController:e.bladeController,options:e.options,sender:this})}onBladePositionsChange_(){this.updatePositions_()}}class Fs{constructor(e){this.onRackAdd_=this.onRackAdd_.bind(this),this.onRackRemove_=this.onRackRemove_.bind(this),this.element=e.element,this.viewProps=e.viewProps;const t=new Ku({blade:e.root?void 0:e.blade,viewProps:e.viewProps});t.emitter.on("add",this.onRackAdd_),t.emitter.on("remove",this.onRackRemove_),this.rack=t,this.viewProps.handleDispose(()=>{for(let r=this.rack.children.length-1;r>=0;r--)this.rack.children[r].viewProps.set("disposed",!0)})}onRackAdd_(e){e.root&&jo(this.element,e.bladeController.view.element,e.index)}onRackRemove_(e){e.root&&Ls(e.bladeController.view.element)}}function Ko(){return new ie({positions:Ae([],{equals:Ic})})}class In extends ie{constructor(e){super(e)}static create(e){const t={completed:!0,expanded:e,expandedHeight:null,shouldFixHeight:!1,temporaryExpanded:null},r=ie.createCore(t);return new In(r)}get styleExpanded(){var e;return(e=this.get("temporaryExpanded"))!==null&&e!==void 0?e:this.get("expanded")}get styleHeight(){if(!this.styleExpanded)return"0";const e=this.get("expandedHeight");return this.get("shouldFixHeight")&&!me(e)?`${e}px`:"auto"}bindExpandedClass(e,t){const r=()=>{this.styleExpanded?e.classList.add(t):e.classList.remove(t)};at(this,"expanded",r),at(this,"temporaryExpanded",r)}cleanUpTransition(){this.set("shouldFixHeight",!1),this.set("expandedHeight",null),this.set("completed",!0)}}function Wu(n,e){let t=0;return Cu(e,()=>{n.set("expandedHeight",null),n.set("temporaryExpanded",!0),ar(e),t=e.clientHeight,n.set("temporaryExpanded",null),ar(e)}),t}function gi(n,e){e.style.height=n.styleHeight}function Vs(n,e){n.value("expanded").emitter.on("beforechange",()=>{if(n.set("completed",!1),me(n.get("expandedHeight"))){const t=Wu(n,e);t>0&&n.set("expandedHeight",t)}n.set("shouldFixHeight",!0),ar(e)}),n.emitter.on("change",()=>{gi(n,e)}),gi(n,e),e.addEventListener("transitionend",t=>{t.propertyName==="height"&&n.cleanUpTransition()})}class qu extends Is{constructor(e,t){super(e,t),this.emitter_=new qe,this.controller.foldable.value("expanded").emitter.on("change",r=>{this.emitter_.emit("fold",new vu(this,r.sender.rawValue))}),this.rackApi_.on("change",r=>{this.emitter_.emit("change",r)})}get expanded(){return this.controller.foldable.get("expanded")}set expanded(e){this.controller.foldable.set("expanded",e)}get title(){return this.controller.props.get("title")}set title(e){this.controller.props.set("title",e)}get children(){return this.rackApi_.children}addBinding(e,t,r){return this.rackApi_.addBinding(e,t,r)}addFolder(e){return this.rackApi_.addFolder(e)}addButton(e){return this.rackApi_.addButton(e)}addTab(e){return this.rackApi_.addTab(e)}add(e,t){return this.rackApi_.add(e,t)}remove(e){this.rackApi_.remove(e)}
35addBlade(e){return this.rackApi_.addBlade(e)}on(e,t){const r=t.bind(this);return this.emitter_.on(e,s=>{r(s)},{key:t}),this}off(e,t){return this.emitter_.off(e,t),this}}const Wo=oe("cnt");class Xu{constructor(e,t){var r;this.className_=oe((r=t.viewName)!==null&&r!==void 0?r:"fld"),this.element=e.createElement("div"),this.element.classList.add(this.className_(),Wo()),t.viewProps.bindClassModifiers(this.element),this.foldable_=t.foldable,this.foldable_.bindExpandedClass(this.element,this.className_(void 0,"expanded")),at(this.foldable_,"completed",ln(this.element,this.className_(void 0,"cpl")));const s=e.createElement("button");s.classList.add(this.className_("b")),at(t.props,"title",c=>{me(c)?this.element.classList.add(this.className_(void 0,"not")):this.element.classList.remove(this.className_(void 0,"not"))}),t.viewProps.bindDisabled(s),this.element.appendChild(s),this.buttonElement=s;const i=e.createElement("div");i.classList.add(this.className_("i")),this.element.appendChild(i);const o=e.createElement("div");o.classList.add(this.className_("t")),Rs(t.props.value("title"),o),this.buttonElement.appendChild(o),this.titleElement=o;const a=e.createElement("div");a.classList.add(this.className_("m")),this.buttonElement.appendChild(a);const l=e.createElement("div");l.classList.add(this.className_("c")),this.element.appendChild(l),this.containerElement=l}}class wi extends Os{constructor(e,t){var r;const s=In.create((r=t.expanded)!==null&&r!==void 0?r:!0),i=new Xu(e,{foldable:s,props:t.props,viewName:t.root?"rot":void 0,viewProps:t.viewProps});super(Object.assign(Object.assign({},t),{rackController:new Fs({blade:t.blade,element:i.containerElement,root:t.root,viewProps:t.viewProps}),view:i})),this.onTitleClick_=this.onTitleClick_.bind(this),this.props=t.props,this.foldable=s,Vs(this.foldable,this.view.containerElement),this.rackController.rack.emitter.on("add",()=>{this.foldable.cleanUpTransition()}),this.rackController.rack.emitter.on("remove",()=>{this.foldable.cleanUpTransition()}),this.view.buttonElement.addEventListener("click",this.onTitleClick_)}get document(){return this.view.element.ownerDocument}importState(e){return ct(e,t=>super.importState(t),t=>({expanded:t.required.boolean,title:t.optional.string}),t=>(this.foldable.set("expanded",t.expanded),this.props.set("title",t.title),!0))}exportState(){return ut(()=>super.exportState(),{expanded:this.foldable.get("expanded"),title:this.props.get("title")})}onTitleClick_(){this.foldable.set("expanded",!this.foldable.get("expanded"))}}Ne({id:"folder",type:"blade",accept(n){const e=Oe(n,t=>({title:t.required.string,view:t.required.constant("folder"),expanded:t.optional.boolean}));return e?{params:e}:null},controller(n){return new wi(n.document,{blade:n.blade,expanded:n.params.expanded,props:ie.fromObject({title:n.params.title}),viewProps:n.viewProps})},api(n){return n.controller instanceof wi?new qu(n.controller,n.pool):null}});const Yu=oe("");function bi(n,e){return ln(n,Yu(void 0,e))}class On extends ie{constructor(e){var t;super(e),this.onDisabledChange_=this.onDisabledChange_.bind(this),this.onParentChange_=this.onParentChange_.bind(this),this.onParentGlobalDisabledChange_=this.onParentGlobalDisabledChange_.bind(this),[this.globalDisabled_,this.setGlobalDisabled_]=Uc(Ae(this.getGlobalDisabled_())),this.value("disabled").emitter.on("change",this.onDisabledChange_),this.value("parent").emitter.on("change",this.onParentChange_),(t=this.get("parent"))===null||t===void 0||t.globalDisabled.emitter.on("change",this.onParentGlobalDisabledChange_)}static create(e){var t,r,s;const i=e??{};return new On(ie.createCore({disabled:(t=i.disabled)!==null&&t!==void 0?t:!1,disposed:!1,hidden:(r=i.hidden)!==null&&r!==void 0?r:!1,parent:(s=i.parent)!==null&&s!==void 0?s:null}))}get globalDisabled(){return this.globalDisabled_}bindClassModifiers(e){mt(this.globalDisabled_,bi(e,"disabled")),at(this,"hidden",bi(e,"hidden"))}bindDisabled(e){mt(this.globalDisabled_,t=>{e.disabled=t})}bindTabIndex(e){mt(this.globalDisabled_,t=>{e.tabIndex=t?-1:0})}handleDispose(e){this.value("disposed").emitter.on("change",t=>{t&&e()})}importState(e){this.set("disabled",e.disabled),this.set("hidden",e.hidden)}exportState(){return{disabled:this.get("disabled"),hidden:this.get("hidden")}}getGlobalDisabled_(){const e=this.get("parent");return(e?e.globalDisabled.rawValue:!1)||this.get("disabled")}updateGlobalDisabled_(){this.setGlobalDisabled_(this.getGlobalDisabled_())}onDisabledChange_(){this.updateGlobalDisabled_()}onParentGlobalDisabledChange_(){this.updateGlobalDisabled_()}onParentChange_(e){var t;const r=e.previousRawValue;r?.globalDisabled.emitter.off("change",this.onParentGlobalDisabledChange_),(t=this.get("parent"))===null||t===void 0||t.globalDisabled.emitter.on("change",this.onParentGlobalDisabledChange_),this.updateGlobalDisabled_()}}const _i=oe("tbp");class Zu{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(_i()),t.viewProps.bindClassModifiers(this.element);const r=e.createElement("div");r.classList.add(_i("c")),this.element.appendChild(r),this.containerElement=r}}const hn=oe("tbi");class Qu{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(hn()),t.viewProps.bindClassModifiers(this.element),at(t.props,"selected",i=>{i?this.element.classList.add(hn(void 0,"sel")):this.element.classList.remove(hn(void 0,"sel"))});const r=e.createElement("button");r.classList.add(hn("b")),t.viewProps.bindDisabled(r),this.element.appendChild(r),this.buttonElement=r;const s=e.createElement("div");s.classList.add(hn("t")),Rs(t.props.value("title"),s),this.buttonElement.appendChild(s),this.titleElement=s}}class Ju{constructor(e,t){this.emitter=new qe,this.onClick_=this.onClick_.bind(this),this.props=t.props,this.viewProps=t.viewProps,this.view=new Qu(e,{props:t.props,viewProps:t.viewProps}),this.view.buttonElement.addEventListener("click",this.onClick_)}onClick_(){this.emitter.emit("click",{sender:this})}}class os extends Os{constructor(e,t){const r=new Zu(e,{viewProps:t.viewProps});super(Object.assign(Object.assign({},t),{rackController:new Fs({blade:t.blade,element:r.containerElement,viewProps:t.viewProps}),view:r})),this.onItemClick_=this.onItemClick_.bind(this),this.ic_=new Ju(e,{props:t.itemProps,viewProps:On.create()}),this.ic_.emitter.on("click",this.onItemClick_),this.props=t.props,at(this.props,"selected",s=>{this.itemController.props.set("selected",s),this.viewProps.set("hidden",!s)})}get itemController(){return this.ic_}importState(e){return ct(e,t=>super.importState(t),t=>({selected:t.required.boolean,title:t.required.string}),t=>(this.ic_.props.set("selected",t.selected),this.ic_.props.set("title",t.title),!0))}exportState(){return ut(()=>super.exportState(),{selected:this.ic_.props.get("selected"),title:this.ic_.props.get("title")})}onItemClick_(){this.props.set("selected",!0)}}class ed extends Is{constructor(e,t){super(e,t),this.emitter_=new qe,this.onSelect_=this.onSelect_.bind(this),this.pool_=t,this.rackApi_.on("change",r=>{this.emitter_.emit("change",r)}),this.controller.tab.selectedIndex.emitter.on("change",this.onSelect_)}get pages(){return this.rackApi_.children}addPage(e){const t=this.controller.view.element.ownerDocument,r=new os(t,{blade:Ko(),itemProps:ie.fromObject({selected:!1,title:e.title}),props:ie.fromObject({selected:!1}),viewProps:On.create()}),s=this.pool_.createApi(r);return this.rackApi_.add(s,e.index)}removePage(e){this.rackApi_.remove(this.rackApi_.children[e])}on(e,t){const r=t.bind(this);return this.emitter_.on(e,s=>{r(s)},{key:t}),this}off(e,t){return this.emitter_.off(e,t),this}onSelect_(e){this.emitter_.emit("select",new gu(this,e.rawValue))}}class td extends Is{get title(){var e;return(e=this.controller.itemController.props.get("title"))!==null&&e!==void 0?e:""}set title(e){this.controller.itemController.props.set("title",e)}get selected(){return this.controller.props.get("selected")}set selected(e){this.controller.props.set("selected",e)}get children(){return this.rackApi_.children}addButton(e){return this.rackApi_.addButton(e)}addFolder(e){return this.rackApi_.addFolder(e)}addTab(e){return this.rackApi_.addTab(e)}add(e,t){this.rackApi_.add(e,t)}remove(e){this.rackApi_.remove(e)}
35addBinding(e,t,r){return this.rackApi_.addBinding(e,t,r)}addBlade(e){return this.rackApi_.addBlade(e)}}const yi=-1;class nd{constructor(){this.onItemSelectedChange_=this.onItemSelectedChange_.bind(this),this.empty=Ae(!0),this.selectedIndex=Ae(yi),this.items_=[]}add(e,t){const r=t??this.items_.length;this.items_.splice(r,0,e),e.emitter.on("change",this.onItemSelectedChange_),this.keepSelection_()}remove(e){const t=this.items_.indexOf(e);t<0||(this.items_.splice(t,1),e.emitter.off("change",this.onItemSelectedChange_),this.keepSelection_())}keepSelection_(){if(this.items_.length===0){this.selectedIndex.rawValue=yi,this.empty.rawValue=!0;return}const e=this.items_.findIndex(t=>t.rawValue);e<0?(this.items_.forEach((t,r)=>{t.rawValue=r===0}),this.selectedIndex.rawValue=0):(this.items_.forEach((t,r)=>{t.rawValue=r===e}),this.selectedIndex.rawValue=e),this.empty.rawValue=!1}onItemSelectedChange_(e){if(e.rawValue){const t=this.items_.findIndex(r=>r===e.sender);this.items_.forEach((r,s)=>{r.rawValue=s===t}),this.selectedIndex.rawValue=t}else this.keepSelection_()}}const pn=oe("tab");class rd{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(pn(),Wo()),t.viewProps.bindClassModifiers(this.element),mt(t.empty,ln(this.element,pn(void 0,"nop")));const r=e.createElement("div");r.classList.add(pn("t")),this.element.appendChild(r),this.itemsElement=r;const s=e.createElement("div");s.classList.add(pn("i")),this.element.appendChild(s);const i=e.createElement("div");i.classList.add(pn("c")),this.element.appendChild(i),this.contentsElement=i}}class xi extends Os{constructor(e,t){const r=new nd,s=new rd(e,{empty:r.empty,viewProps:t.viewProps});super({blade:t.blade,rackController:new Fs({blade:t.blade,element:s.contentsElement,viewProps:t.viewProps}),view:s}),this.onRackAdd_=this.onRackAdd_.bind(this),this.onRackRemove_=this.onRackRemove_.bind(this);const i=this.rackController.rack;i.emitter.on("add",this.onRackAdd_),i.emitter.on("remove",this.onRackRemove_),this.tab=r}add(e,t){this.rackController.rack.add(e,t)}remove(e){this.rackController.rack.remove(this.rackController.rack.children[e])}onRackAdd_(e){if(!e.root)return;const t=e.bladeController;jo(this.view.itemsElement,t.itemController.view.element,e.index),t.itemController.viewProps.set("parent",this.viewProps),this.tab.add(t.props.value("selected"))}onRackRemove_(e){if(!e.root)return;const t=e.bladeController;Ls(t.itemController.view.element),t.itemController.viewProps.set("parent",null),this.tab.remove(t.props.value("selected"))}}Ne({id:"tab",type:"blade",accept(n){const e=Oe(n,t=>({pages:t.required.array(t.required.object({title:t.required.string})),view:t.required.constant("tab")}));return!e||e.pages.length===0?null:{params:e}},controller(n){const e=new xi(n.document,{blade:n.blade,viewProps:n.viewProps});return n.params.pages.forEach(t=>{const r=new os(n.document,{blade:Ko(),itemProps:ie.fromObject({selected:!1,title:t.title}),props:ie.fromObject({selected:!1}),viewProps:On.create()});e.add(r)}),e},api(n){return n.controller instanceof xi?new ed(n.controller,n.pool):n.controller instanceof os?new td(n.controller,n.pool):null}});class Ns extends Ss{get options(){return this.controller.valueController.props.get("options")}set options(e){this.controller.valueController.props.set("options",e)}}class Fn{constructor(e){this.constraints=e}constrain(e){return this.constraints.reduce((t,r)=>r.constrain(t),e)}}function lr(n,e){if(n instanceof e)return n;if(n instanceof Fn){const t=n.constraints.reduce((r,s)=>r||(s instanceof e?s:null),null);if(t)return t}return null}class br{constructor(e){this.values=ie.fromObject({options:e})}constrain(e){const t=this.values.get("options");return t.length===0||t.filter(s=>s.value===e).length>0?e:t[0].value}}function _r(n){var e;const t=ss;if(Array.isArray(n))return(e=Oe({items:n},r=>({items:r.required.array(r.required.object({text:r.required.string,value:r.required.raw}))})))===null||e===void 0?void 0:e.items;if(typeof n=="object")return t.required.raw(n).value}function qo(n){if(Array.isArray(n))return n;const e=[];
35return Object.keys(n).forEach(t=>{e.push({text:t,value:n[t]})}),e}function Ds(n){return me(n)?null:new br(qo(n))}const Ir=oe("lst");class sd{constructor(e,t){this.onValueChange_=this.onValueChange_.bind(this),this.props_=t.props,this.element=e.createElement("div"),this.element.classList.add(Ir()),t.viewProps.bindClassModifiers(this.element);const r=e.createElement("select");r.classList.add(Ir("s")),t.viewProps.bindDisabled(r),this.element.appendChild(r),this.selectElement=r;const s=e.createElement("div");s.classList.add(Ir("m")),s.appendChild(wr(e,"dropdown")),this.element.appendChild(s),t.value.emitter.on("change",this.onValueChange_),this.value_=t.value,at(this.props_,"options",i=>{zo(this.selectElement),i.forEach(o=>{const a=e.createElement("option");a.textContent=o.text,this.selectElement.appendChild(a)}),this.update_()})}update_(){const e=this.props_.get("options").map(t=>t.value);this.selectElement.selectedIndex=e.indexOf(this.value_.rawValue)}onValueChange_(){this.update_()}}class on{constructor(e,t){this.onSelectChange_=this.onSelectChange_.bind(this),this.props=t.props,this.value=t.value,this.viewProps=t.viewProps,this.view=new sd(e,{props:this.props,value:this.value,viewProps:this.viewProps}),this.view.selectElement.addEventListener("change",this.onSelectChange_)}onSelectChange_(e){const t=e.currentTarget;this.value.rawValue=this.props.get("options")[t.selectedIndex].value}importProps(e){return ct(e,null,t=>({options:t.required.custom(_r)}),t=>(this.props.set("options",qo(t.options)),!0))}exportProps(){return ut(null,{options:this.props.get("options")})}}const Ci=oe("pop");class id{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(Ci()),t.viewProps.bindClassModifiers(this.element),mt(t.shows,ln(this.element,Ci(void 0,"v")))}}class Xo{constructor(e,t){this.shows=Ae(!1),this.viewProps=t.viewProps,this.view=new id(e,{shows:this.shows,viewProps:this.viewProps})}}const Pi=oe("txt");class od{constructor(e,t){this.onChange_=this.onChange_.bind(this),this.element=e.createElement("div"),this.element.classList.add(Pi()),t.viewProps.bindClassModifiers(this.element),this.props_=t.props,this.props_.emitter.on("change",this.onChange_);const r=e.createElement("input");r.classList.add(Pi("i")),r.type="text",t.viewProps.bindDisabled(r),this.element.appendChild(r),this.inputElement=r,t.value.emitter.on("change",this.onChange_),this.value_=t.value,this.refresh()}refresh(){const e=this.props_.get("formatter");this.inputElement.value=e(this.value_.rawValue)}onChange_(){this.refresh()}}class Us{constructor(e,t){this.onInputChange_=this.onInputChange_.bind(this),this.parser_=t.parser,this.props=t.props,this.value=t.value,this.viewProps=t.viewProps,this.view=new od(e,{props:t.props,value:this.value,viewProps:this.viewProps}),this.view.inputElement.addEventListener("change",this.onInputChange_)}onInputChange_(e){const r=e.currentTarget.value,s=this.parser_(r);me(s)||(this.value.rawValue=s),this.view.refresh()}}function ad(n){return String(n)}function Yo(n){return n==="false"?!1:!!n}function Ti(n){return ad(n)}function ld(n){return e=>n.reduce((t,r)=>t!==null?t:r(e),null)}const cd=ze(0);function cr(n){return cd(n)+"%"}function Zo(n){return String(n)}function as(n){return n}function cn({primary:n,secondary:e,forward:t,backward:r}){let s=!1;function i(o){s||(s=!0,o(),s=!1)}n.emitter.on("change",o=>{i(()=>{e.setRawValue(t(n.rawValue,e.rawValue),o.options)})}),e.emitter.on("change",o=>{i(()=>{n.setRawValue(r(n.rawValue,e.rawValue),o.options)}),i(()=>{e.setRawValue(t(n.rawValue,e.rawValue),o.options)})}),i(()=>{e.setRawValue(t(n.rawValue,e.rawValue),{forceEmit:!1,last:!0})})}function je(n,e){const t=n*(e.altKey?.1:1)*(e.shiftKey?10:1);return e.upKey?+t:e.downKey?-t:0}function An(n){return{altKey:n.altKey,downKey:n.key==="ArrowDown",shiftKey:n.shiftKey,upKey:n.key==="ArrowUp"}}function wt(n){return{altKey:n.altKey,downKey:n.key==="ArrowLeft",shiftKey:n.shiftKey,upKey:n.key==="ArrowRight"}}function ud(n){return n==="ArrowUp"||n==="ArrowDown"}function Qo(n){return ud(n)||n==="ArrowLeft"||n==="ArrowRight"}function Or(n,e){var t,r;const s=e.ownerDocument.defaultView,i=e.getBoundingClientRect();return{x:n.pageX-(((t=s&&s.scrollX)!==null&&t!==void 0?t:0)+i.left),y:n.pageY-(((r=s&&s.scrollY)!==null&&r!==void 0?r:0)+i.top)}}class Wt{constructor(e){this.lastTouch_=null,this.onDocumentMouseMove_=this.onDocumentMouseMove_.bind(this),this.onDocumentMouseUp_=this.onDocumentMouseUp_.bind(this),this.onMouseDown_=this.onMouseDown_.bind(this),this.onTouchEnd_=this.onTouchEnd_.bind(this),this.onTouchMove_=this.onTouchMove_.bind(this),this.onTouchStart_=this.onTouchStart_.bind(this),this.elem_=e,this.emitter=new qe,e.addEventListener("touchstart",this.onTouchStart_,{passive:!1}),e.addEventListener("touchmove",this.onTouchMove_,{passive:!0}),e.addEventListener("touchend",this.onTouchEnd_),e.addEventListener("mousedown",this.onMouseDown_)}computePosition_(e){const t=this.elem_.getBoundingClientRect();return{bounds:{width:t.width,height:t.height},point:e?{x:e.x,y:e.y}:null}}onMouseDown_(e){var t;e.preventDefault(),(t=e.currentTarget)===null||t===void 0||t.focu
35s();const r=this.elem_.ownerDocument;r.addEventListener("mousemove",this.onDocumentMouseMove_),r.addEventListener("mouseup",this.onDocumentMouseUp_),this.emitter.emit("down",{altKey:e.altKey,data:this.computePosition_(Or(e,this.elem_)),sender:this,shiftKey:e.shiftKey})}onDocumentMouseMove_(e){this.emitter.emit("move",{altKey:e.altKey,data:this.computePosition_(Or(e,this.elem_)),sender:this,shiftKey:e.shiftKey})}onDocumentMouseUp_(e){const t=this.elem_.ownerDocument;t.removeEventListener("mousemove",this.onDocumentMouseMove_),t.removeEventListener("mouseup",this.onDocumentMouseUp_),this.emitter.emit("up",{altKey:e.altKey,data:this.computePosition_(Or(e,this.elem_)),sender:this,shiftKey:e.shiftKey})}onTouchStart_(e){e.preventDefault();const t=e.targetTouches.item(0),r=this.elem_.getBoundingClientRect();this.emitter.emit("down",{altKey:e.altKey,data:this.computePosition_(t?{x:t.clientX-r.left,y:t.clientY-r.top}:void 0),sender:this,shiftKey:e.shiftKey}),this.lastTouch_=t}onTouchMove_(e){const t=e.targetTouches.item(0),r=this.elem_.getBoundingClientRect();this.emitter.emit("move",{altKey:e.altKey,data:this.computePosition_(t?{x:t.clientX-r.left,y:t.clientY-r.top}:void 0),sender:this,shiftKey:e.shiftKey}),this.lastTouch_=t}onTouchEnd_(e){var t;const r=(t=e.targetTouches.item(0))!==null&&t!==void 0?t:this.lastTouch_,s=this.elem_.getBoundingClientRect();this.emitter.emit("up",{altKey:e.altKey,data:this.computePosition_(r?{x:r.clientX-s.left,y:r.clientY-s.top}:void 0),sender:this,shiftKey:e.shiftKey})}}const Xe=oe("txt");class dd{constructor(e,t){this.onChange_=this.onChange_.bind(this),this.props_=t.props,this.props_.emitter.on("change",this.onChange_),this.element=e.createElement("div"),this.element.classList.add(Xe(),Xe(void 0,"num")),t.arrayPosition&&this.element.classList.add(Xe(void 0,t.arrayPosition)),t.viewProps.bindClassModifiers(this.element);const r=e.createElement("input");r.classList.add(Xe("i")),r.type="text",t.viewProps.bindDisabled(r),this.element.appendChild(r),this.inputElement=r,this.onDraggingChange_=this.onDraggingChange_.bind(this),this.dragging_=t.dragging,this.dragging_.emitter.on("change",this.onDraggingChange_),this.element.classList.add(Xe()),this.inputElement.classList.add(Xe("i"));const s=e.createElement("div");s.classList.add(Xe("k")),this.element.appendChild(s),this.knobElement=s;const i=e.createElementNS(rt,"svg");i.classList.add(Xe("g")),this.knobElement.appendChild(i);const o=e.createElementNS(rt,"path");o.classList.add(Xe("gb")),i.appendChild(o),this.guideBodyElem_=o;const a=e.createElementNS(rt,"path");a.classList.add(Xe("gh")),i.appendChild(a),this.guideHeadElem_=a;const l=e.createElement("div");l.classList.add(oe("tt")()),this.knobElement.appendChild(l),this.tooltipElem_=l,t.value.emitter.on("change",this.onChange_),this.value=t.value,this.refresh()}onDraggingChange_(e){if(e.rawValue===null){this.element.classList.remove(Xe(void 0,"drg"));return}this.element.classList.add(Xe(void 0,"drg"));const t=e.rawValue/this.props_.get("pointerScale"),r=t+(t>0?-1:t<0?1:0),s=Te(-r,-4,4);this.guideHeadElem_.setAttributeNS(null,"d",[`M ${r+s},0 L${r},4 L${r+s},8`,`M ${t},-1 L${t},9`].join(" ")),this.guideBodyElem_.setAttributeNS(null,"d",`M 0,4 L${t},4`);const i=this.props_.get("formatter");this.tooltipElem_.textContent=i(this.value.rawValue),this.tooltipElem_.style.left=`${t}px`}refresh(){const e=this.props_.get("formatter");this.inputElement.value=e(this.value.rawValue)}onChange_(){this.refresh()}}class Vn{constructor(e,t){var r;this.originRawValue_=0,this.onInputChange_=this.onInputChange_.bind(this),this.onInputKeyDown_=this.onInputKeyDown_.bind(this),this.onInputKeyUp_=this.onInputKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.parser_=t.parser,this.props=t.props,this.sliderProps_=(r=t.sliderProps)!==null&&r!==void 0?r:null,this.value=t.value,this.viewProps=t.viewProps,this.dragging_=Ae(null),this.view=new dd(e,{arrayPosition:t.arrayPosition,dragging:this.dragging_,props:this.props,value:this.value,viewProps:this.viewProps}),this.view.inputElement.addEventListener("change",this.onInputChange_),this.view.inputElement.addEventListener("keydown",this.onInputKeyDown_),this.view.inputElement.addEventListener("keyup",this.onInputKeyUp_);const s=new Wt(this.view.knobElement);s.emitter.on("down",this.onPointerDown_),s.emitter.on("move",this.onPointerMove_),s.emitter.on("up",this.onPointerUp_)}constrainValue_(e){var t,r;const s=(t=this.sliderProps_)===null||t===void 0?void 0:t.get("min"),i=(r=this.sliderProps_)===null||r===void 0?void 0:r.get("max");let o=e;
35return s!==void 0&&(o=Math.max(o,s)),i!==void 0&&(o=Math.min(o,i)),o}onInputChange_(e){const r=e.currentTarget.value,s=this.parser_(r);me(s)||(this.value.rawValue=this.constrainValue_(s)),this.view.refresh()}onInputKeyDown_(e){const t=je(this.props.get("keyScale"),An(e));t!==0&&this.value.setRawValue(this.constrainValue_(this.value.rawValue+t),{forceEmit:!1,last:!1})}onInputKeyUp_(e){je(this.props.get("keyScale"),An(e))!==0&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}onPointerDown_(){this.originRawValue_=this.value.rawValue,this.dragging_.rawValue=0}computeDraggingValue_(e){if(!e.point)return null;const t=e.point.x-e.bounds.width/2;return this.constrainValue_(this.originRawValue_+t*this.props.get("pointerScale"))}onPointerMove_(e){const t=this.computeDraggingValue_(e.data);t!==null&&(this.value.setRawValue(t,{forceEmit:!1,last:!1}),this.dragging_.rawValue=this.value.rawValue-this.originRawValue_)}onPointerUp_(e){const t=this.computeDraggingValue_(e.data);t!==null&&(this.value.setRawValue(t,{forceEmit:!0,last:!0}),this.dragging_.rawValue=null)}}const Fr=oe("sld");class hd{constructor(e,t){this.onChange_=this.onChange_.bind(this),this.props_=t.props,this.props_.emitter.on("change",this.onChange_),this.element=e.createElement("div"),this.element.classList.add(Fr()),t.viewProps.bindClassModifiers(this.element);const r=e.createElement("div");r.classList.add(Fr("t")),t.viewProps.bindTabIndex(r),this.element.appendChild(r),this.trackElement=r;const s=e.createElement("div");s.classList.add(Fr("k")),this.trackElement.appendChild(s),this.knobElement=s,t.value.emitter.on("change",this.onChange_),this.value=t.value,this.update_()}update_(){const e=Te(ae(this.value.rawValue,this.props_.get("min"),this.props_.get("max"),0,100),0,100);this.knobElement.style.width=`${e}%`}onChange_(){this.update_()}}class pd{constructor(e,t){this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDownOrMove_=this.onPointerDownOrMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.props=t.props,this.view=new hd(e,{props:this.props,value:this.value,viewProps:this.viewProps}),this.ptHandler_=new Wt(this.view.trackElement),this.ptHandler_.emitter.on("down",this.onPointerDownOrMove_),this.ptHandler_.emitter.on("move",this.onPointerDownOrMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.trackElement.addEventListener("keydown",this.onKeyDown_),this.view.trackElement.addEventListener("keyup",this.onKeyUp_)}handlePointerEvent_(e,t){e.point&&this.value.setRawValue(ae(Te(e.point.x,0,e.bounds.width),0,e.bounds.width,this.props.get("min"),this.props.get("max")),t)}onPointerDownOrMove_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerUp_(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})}onKeyDown_(e){const t=je(this.props.get("keyScale"),wt(e));t!==0&&this.value.setRawValue(this.value.rawValue+t,{forceEmit:!1,last:!1})}onKeyUp_(e){je(this.props.get("keyScale"),wt(e))!==0&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}const Vr=oe("sldtxt");class fd{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(Vr());const r=e.createElement("div");r.classList.add(Vr("s")),this.sliderView_=t.sliderView,r.appendChild(this.sliderView_.element),this.element.appendChild(r);const s=e.createElement("div");s.classList.add(Vr("t")),this.textView_=t.textView,s.appendChild(this.textView_.element),this.element.appendChild(s)}}class Ei{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.sliderC_=new pd(e,{props:t.sliderProps,value:t.value,viewProps:this.viewProps}),this.textC_=new Vn(e,{parser:t.parser,props:t.textProps,sliderProps:t.sliderProps,value:t.value,viewProps:t.viewProps}),this.view=new fd(e,{sliderView:this.sliderC_.view,textView:this.textC_.view})}get sliderController(){return this.sliderC_}get textController(){return this.textC_}importProps(e){return ct(e,null,t=>({max:t.required.number,min:t.required.number}),t=>{const r=this.sliderC_.props;return r.set("max",t.max),r.set("min",t.min),!0})}exportProps(){const e=this.sliderC_.props;return ut(null,{max:e.get("max"),min:e.get("min")})}}function md(n){return{sliderProps:new ie({keyScale:n.keyScale,max:n.max,min:n.min}),textProps:new ie({formatter:Ae(n.formatter),keyScale:n.keyScale,pointerScale:Ae(n.pointerScale)})}}const vd={containerUnitSize:"cnt-usz"};function Jo(n){return`--${vd[n]}`}function Sn(n){return Uo(n)}function At(n){if(rs(n))return Oe(n,Sn)}function ft(n,e){if(!n)return;const t=[],r=Vo(n,e);r&&t.push(r);const s=No(n);
35return s&&t.push(s),new Fn(t)}function ea(n){if(n==="inline"||n==="popup")return n}function Nn(n,e){n.write(e)}const Kn=oe("ckb");class gd{constructor(e,t){this.onValueChange_=this.onValueChange_.bind(this),this.element=e.createElement("div"),this.element.classList.add(Kn()),t.viewProps.bindClassModifiers(this.element);const r=e.createElement("label");r.classList.add(Kn("l")),this.element.appendChild(r),this.labelElement=r;const s=e.createElement("input");s.classList.add(Kn("i")),s.type="checkbox",this.labelElement.appendChild(s),this.inputElement=s,t.viewProps.bindDisabled(this.inputElement);const i=e.createElement("div");i.classList.add(Kn("w")),this.labelElement.appendChild(i);const o=wr(e,"check");i.appendChild(o),t.value.emitter.on("change",this.onValueChange_),this.value=t.value,this.update_()}update_(){this.inputElement.checked=this.value.rawValue}onValueChange_(){this.update_()}}class wd{constructor(e,t){this.onInputChange_=this.onInputChange_.bind(this),this.onLabelMouseDown_=this.onLabelMouseDown_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.view=new gd(e,{value:this.value,viewProps:this.viewProps}),this.view.inputElement.addEventListener("change",this.onInputChange_),this.view.labelElement.addEventListener("mousedown",this.onLabelMouseDown_)}onInputChange_(e){const t=e.currentTarget;this.value.rawValue=t.checked,e.preventDefault(),e.stopPropagation()}onLabelMouseDown_(e){e.preventDefault()}}function bd(n){const e=[],t=Ds(n.options);return t&&e.push(t),new Fn(e)}Ne({id:"input-bool",type:"input",accept:(n,e)=>{if(typeof n!="boolean")return null;const t=Oe(e,r=>({options:r.optional.custom(_r),readonly:r.optional.constant(!1)}));return t?{initialValue:n,params:t}:null},binding:{reader:n=>Yo,constraint:n=>bd(n.params),writer:n=>Nn},controller:n=>{const e=n.document,t=n.value,r=n.constraint,s=r&&lr(r,br);return s?new on(e,{props:new ie({options:s.values.value("options")}),value:t,viewProps:n.viewProps}):new wd(e,{value:t,viewProps:n.viewProps})},api(n){return typeof n.controller.value.rawValue!="boolean"?null:n.controller.valueController instanceof on?new Ns(n.controller):null}});const Ft=oe("col");class _d{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(Ft()),t.foldable.bindExpandedClass(this.element,Ft(void 0,"expanded")),at(t.foldable,"completed",ln(this.element,Ft(void 0,"cpl")));const r=e.createElement("div");r.classList.add(Ft("h")),this.element.appendChild(r);const s=e.createElement("div");s.classList.add(Ft("s")),r.appendChild(s),this.swatchElement=s;const i=e.createElement("div");if(i.classList.add(Ft("t")),r.appendChild(i),this.textElement=i,t.pickerLayout==="inline"){const o=e.createElement("div");o.classList.add(Ft("p")),this.element.appendChild(o),this.pickerElement=o}else this.pickerElement=null}}function yd(n,e,t){const r=Te(n/255,0,1),s=Te(e/255,0,1),i=Te(t/255,0,1),o=Math.max(r,s,i),a=Math.min(r,s,i),l=o-a;let c=0,d=0;const u=(a+o)/2;return l!==0&&(d=l/(1-Math.abs(o+a-1)),r===o?c=(s-i)/l:s===o?c=2+(i-r)/l:c=4+(r-s)/l,c=c/6+(c<0?1:0)),[c*360,d*100,u*100]}function xd(n,e,t){const r=(n%360+360)%360,s=Te(e/100,0,1),i=Te(t/100,0,1),o=(1-Math.abs(2*i-1))*s,a=o*(1-Math.abs(r/60%2-1)),l=i-o/2;let c,d,u;return r>=0&&r<60?[c,d,u]=[o,a,0]:r>=60&&r<120?[c,d,u]=[a,o,0]:r>=120&&r<180?[c,d,u]=[0,o,a]:r>=180&&r<240?[c,d,u]=[0,a,o]:r>=240&&r<300?[c,d,u]=[a,0,o]:[c,d,u]=[o,0,a],[(c+l)*255,(d+l)*255,(u+l)*255]}function Cd(n,e,t){const r=Te(n/255,0,1),s=Te(e/255,0,1),i=Te(t/255,0,1),o=Math.max(r,s,i),a=Math.min(r,s,i),l=o-a;let c;l===0?c=0:o===r?c=60*(((s-i)/l%6+6)%6):o===s?c=60*((i-r)/l+2):c=60*((r-s)/l+4);const d=o===0?0:l/o,u=o;return[c,d*100,u*100]}function ta(n,e,t){const r=Oo(n,360),s=Te(e/100,0,1),i=Te(t/100,0,1),o=i*s,a=o*(1-Math.abs(r/60%2-1)),l=i-o;let c,d,u;return r>=0&&r<60?[c,d,u]=[o,a,0]:r>=60&&r<120?[c,d,u]=[a,o,0]:r>=120&&r<180?[c,d,u]=[0,o,a]:r>=180&&r<240?[c,d,u]=[0,a,o]:r>=240&&r<300?[c,d,u]=[a,0,o]:[c,d,u]=[o,0,a],[(c+l)*255,(d+l)*255,(u+l)*255]}function Pd(n,e,t){const r=t+e*(100-Math.abs(2*t-100))/200;return[n,r!==0?e*(100-Math.abs(2*t-100))/r:0,t+e*(100-Math.abs(2*t-100))/200]}function Td(n,e,t){const r=100-Math.abs(t*(200-e)/100-100);return[n,r!==0?e*t/r:0,t*(200-e)/200]}function lt(n){return[n[0],n[1],n[2]]}function yr(n,e){return[n[0],n[1],n[2],e]}const Ed={hsl:{hsl:(n,e,t)=>[n,e,t],hsv:Pd,rgb:xd},hsv:{hsl:Td,hsv:(n,e,t)=>
35[n,e,t],rgb:ta},rgb:{hsl:yd,hsv:Cd,rgb:(n,e,t)=>[n,e,t]}};function an(n,e){return[e==="float"?1:n==="rgb"?255:360,e==="float"?1:n==="rgb"?255:100,e==="float"?1:n==="rgb"?255:100]}function Md(n,e){return n===e?e:Oo(n,e)}function na(n,e,t){var r;const s=an(e,t);return[e==="rgb"?Te(n[0],0,s[0]):Md(n[0],s[0]),Te(n[1],0,s[1]),Te(n[2],0,s[2]),Te((r=n[3])!==null&&r!==void 0?r:1,0,1)]}function Mi(n,e,t,r){const s=an(e,t),i=an(e,r);return n.map((o,a)=>o/s[a]*i[a])}function ra(n,e,t){const r=Mi(n,e.mode,e.type,"int"),s=Ed[e.mode][t.mode](...r);return Mi(s,t.mode,"int",t.type)}class re{static black(){return new re([0,0,0],"rgb")}constructor(e,t){this.type="int",this.mode=t,this.comps_=na(e,t,this.type)}getComponents(e){return yr(ra(lt(this.comps_),{mode:this.mode,type:this.type},{mode:e??this.mode,type:this.type}),this.comps_[3])}toRgbaObject(){const e=this.getComponents("rgb");return{r:e[0],g:e[1],b:e[2],a:e[3]}}}const xt=oe("colp");class Ad{constructor(e,t){this.alphaViews_=null,this.element=e.createElement("div"),this.element.classList.add(xt()),t.viewProps.bindClassModifiers(this.element);const r=e.createElement("div");r.classList.add(xt("hsv"));const s=e.createElement("div");s.classList.add(xt("sv")),this.svPaletteView_=t.svPaletteView,s.appendChild(this.svPaletteView_.element),r.appendChild(s);const i=e.createElement("div");i.classList.add(xt("h")),this.hPaletteView_=t.hPaletteView,i.appendChild(this.hPaletteView_.element),r.appendChild(i),this.element.appendChild(r);const o=e.createElement("div");if(o.classList.add(xt("rgb")),this.textsView_=t.textsView,o.appendChild(this.textsView_.element),this.element.appendChild(o),t.alphaViews){this.alphaViews_={palette:t.alphaViews.palette,text:t.alphaViews.text};const a=e.createElement("div");a.classList.add(xt("a"));const l=e.createElement("div");l.classList.add(xt("ap")),l.appendChild(this.alphaViews_.palette.element),a.appendChild(l);const c=e.createElement("div");c.classList.add(xt("at")),c.appendChild(this.alphaViews_.text.element),a.appendChild(c),this.element.appendChild(a)}}get allFocusableElements(){const e=[this.svPaletteView_.element,this.hPaletteView_.element,this.textsView_.modeSelectElement,...this.textsView_.inputViews.map(t=>t.inputElement)];return this.alphaViews_&&e.push(this.alphaViews_.palette.element,this.alphaViews_.text.inputElement),e}}function Sd(n){return n==="int"?"int":n==="float"?"float":void 0}function Bs(n){return Oe(n,e=>({color:e.optional.object({alpha:e.optional.boolean,type:e.optional.custom(Sd)}),expanded:e.optional.boolean,picker:e.optional.custom(ea),readonly:e.optional.constant(!1)}))}function Ht(n){return n?.1:1}function sa(n){var e;return(e=n.color)===null||e===void 0?void 0:e.type}class js{constructor(e,t){this.type="float",this.mode=t,this.comps_=na(e,t,this.type)}getComponents(e){return yr(ra(lt(this.comps_),{mode:this.mode,type:this.type},{mode:e??this.mode,type:this.type}),this.comps_[3])}toRgbaObject(){const e=this.getComponents("rgb");return{r:e[0],g:e[1],b:e[2],a:e[3]}}}const kd={int:(n,e)=>new re(n,e),float:(n,e)=>new js(n,e)};function zs(n,e,t){return kd[t](n,e)}function Ld(n){return n.type==="float"}function Rd(n){return n.type==="int"}function Id(n){const e=n.getComponents(),t=an(n.mode,"int");return new re([Math.round(ae(e[0],0,1,0,t[0])),Math.round(ae(e[1],0,1,0,t[1])),Math.round(ae(e[2],0,1,0,t[2])),e[3]],n.mode)}function Od(n){const e=n.getComponents(),t=an(n.mode,"int");return new js([ae(e[0],0,t[0],0,1),ae(e[1],0,t[1],0,1),ae(e[2],0,t[2],0,1),e[3]],n.mode)}function Fe(n,e){if(n.type===e)return n;if(Rd(n)&&e==="float")return Od(n);if(Ld(n)&&e==="int")return Id(n);throw $e.shouldNeverHappen()}function Fd(n,e){return n.alpha===e.alpha&&n.mode===e.mode&&n.notation===e.notation&&n.type===e.type}function Qe(n,e){const t=n.match(/^(.+)%$/);return Math.min(t?parseFloat(t[1])*.01*e:parseFloat(n),e)}const Vd={deg:n=>n,grad:n=>n*360/400,rad:n=>n*360/(2*Math.PI),turn:n=>n*360};function ia(n){const e=n.match(/^([0-9.]+?)(deg|grad|rad|turn)$/);if(!e)return parseFloat(n);const t=parseFloat(e[1]),r=e[2];return Vd[r](t)}function oa(n){const e=n.match(/^rgb\(\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!e)return null;const t=[Qe(e[1],255),Qe(e[2],255),Qe(e[3],255)];return isNaN(t[0])||isNaN(t[1])||isNaN(t[2])?null:t}function Nd(n){const e=oa(n);return e?new re(e,"rgb"):null}function aa(n){const e=n.match(/^rgba\(\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!e)return null;const t=[Qe(e[1],255),Qe(e[2],255),Qe(e[3],255),Qe(e[4],1)];return isNaN(t[0])||isNaN(t[1])||isNaN(t[2])||isNaN(t[3])?null:t}
35function Dd(n){const e=aa(n);return e?new re(e,"rgb"):null}function la(n){const e=n.match(/^hsl\(\s*([0-9A-Fa-f.]+(?:deg|grad|rad|turn)?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!e)return null;const t=[ia(e[1]),Qe(e[2],100),Qe(e[3],100)];return isNaN(t[0])||isNaN(t[1])||isNaN(t[2])?null:t}function Ud(n){const e=la(n);return e?new re(e,"hsl"):null}function ca(n){const e=n.match(/^hsla\(\s*([0-9A-Fa-f.]+(?:deg|grad|rad|turn)?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!e)return null;const t=[ia(e[1]),Qe(e[2],100),Qe(e[3],100),Qe(e[4],1)];return isNaN(t[0])||isNaN(t[1])||isNaN(t[2])||isNaN(t[3])?null:t}function Bd(n){const e=ca(n);return e?new re(e,"hsl"):null}function ua(n){const e=n.match(/^#([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])$/);if(e)return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16)];const t=n.match(/^(?:#|0x)([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})$/);return t?[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]:null}function jd(n){const e=ua(n);return e?new re(e,"rgb"):null}function da(n){const e=n.match(/^#([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])$/);if(e)return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16),ae(parseInt(e[4]+e[4],16),0,255,0,1)];const t=n.match(/^(?:#|0x)?([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})$/);return t?[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16),ae(parseInt(t[4],16),0,255,0,1)]:null}function zd(n){const e=da(n);return e?new re(e,"rgb"):null}function ha(n){const e=n.match(/^\{\s*r\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*g\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*b\s*:\s*([0-9A-Fa-f.]+%?)\s*\}$/);if(!e)return null;const t=[parseFloat(e[1]),parseFloat(e[2]),parseFloat(e[3])];return isNaN(t[0])||isNaN(t[1])||isNaN(t[2])?null:t}function Gd(n){return e=>{const t=ha(e);return t?zs(t,"rgb",n):null}}function pa(n){const e=n.match(/^\{\s*r\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*g\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*b\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*a\s*:\s*([0-9A-Fa-f.]+%?)\s*\}$/);if(!e)return null;const t=[parseFloat(e[1]),parseFloat(e[2]),parseFloat(e[3]),parseFloat(e[4])];return isNaN(t[0])||isNaN(t[1])||isNaN(t[2])||isNaN(t[3])?null:t}function Hd(n){return e=>{const t=pa(e);return t?zs(t,"rgb",n):null}}const $d=[{parser:ua,result:{alpha:!1,mode:"rgb",notation:"hex"}},{parser:da,result:{alpha:!0,mode:"rgb",notation:"hex"}},{parser:oa,result:{alpha:!1,mode:"rgb",notation:"func"}},{parser:aa,result:{alpha:!0,mode:"rgb",notation:"func"}},{parser:la,result:{alpha:!1,mode:"hsl",notation:"func"}},{parser:ca,result:{alpha:!0,mode:"hsl",notation:"func"}},{parser:ha,result:{alpha:!1,mode:"rgb",notation:"object"}},{parser:pa,result:{alpha:!0,mode:"rgb",notation:"object"}}];function Kd(n){return $d.reduce((e,{parser:t,result:r})=>e||(t(n)?r:null),null)}function Wd(n,e="int"){const t=Kd(n);return t?t.notation==="hex"&&e!=="float"?Object.assign(Object.assign({},t),{type:"int"}):t.notation==="func"?Object.assign(Object.assign({},t),{type:e}):null:null}function Dn(n){const e=[jd,zd,Nd,Dd,Ud,Bd];e.push(Gd("int"),Hd("int"));const t=ld(e);return r=>{const s=t(r);return s?Fe(s,n):null}}function qd(n){const e=Dn("int");if(typeof n!="string")return re.black();const t=e(n);return t??re.black()}function fa(n){const e=Te(Math.floor(n),0,255).toString(16);return e.length===1?`0${e}`:e}function Gs(n,e="#"){const t=lt(n.getComponents("rgb")).map(fa).join("");return`${e}${t}`}function Hs(n,e="#"){const t=n.getComponents("rgb"),r=[t[0],t[1],t[2],t[3]*255].map(fa).join("");return`${e}${r}`}function ma(n){const e=ze(0),t=Fe(n,"int");return`rgb(${lt(t.getComponents("rgb")).map(s=>e(s)).join(", ")})`}function tr(n){const e=ze(2),t=ze(0);return`rgba(${Fe(n,"int").getComponents("rgb").map((i,o)=>(o===3?e:t)(i)).join(", ")})`}function Xd(n){const e=[ze(0),cr,cr],t=Fe(n,"int");return`hsl(${lt(t.getComponents("hsl")).map((s,i)=>e[i](s)).join(", ")})`}function Yd(n){const e=[ze(0),cr,cr,ze(2)];return`hsla(${Fe(n,"int").getComponents("hsl").map((s,i)=>e[i](s)).join(", ")})`}function va(n,e){const t=ze(e==="float"?2:0),r=["r","g","b"],s=Fe(n,e);return`{${lt(s.getComponents("rgb")).map((o,a)=>`${r[a]}: ${t(o)}`).join(", ")}}`}function Zd(n){return e=>va(e,n)}function ga(n,e){const t=ze(2),r=ze(e==="float"?2:0),s=["r","g","b","a"];return`{${Fe(n,e).getComponents("rgb").map((a,l)=>{const c=l===3?t:r;return`${s[l]}: ${c(a)}`}).join(", ")}}`}function Qd(n){return e=>ga(e,n)}const Jd=[{format:{alpha:!1,mode:"rgb",notation:"hex",type:"int"},stringifier:Gs},{format:{alpha:!0,mode:"rgb",notation:"hex",type:"int"},stringifier:Hs},{format:{alpha:!1,mode:"rgb",notation:"func",type:"int"},stringifier:ma},{format:{alpha:!0,mode:"rgb",notation:"func",type:"int"},stringifier:tr},{format:{alpha:!1,mode:"hsl",notation:"func",type:"int"},stringifier:Xd},{format:{alpha:!0,mode:"hsl",notation:"func",type:"int"},stringifier:Yd},...["int","float"].reduce((n,e)=>[...n,{format:{alpha:!1,mode:"rgb",notation:"object",type:e},stringifier:Zd(e)},{format:{alpha:!0,mode:"rgb",notation:"object",type:e},stringifier:Qd(e)}],[])];function wa(n){return Jd.reduce((e,t)=>
35e||(Fd(t.format,n)?t.stringifier:null),null)}const fn=oe("apl");class eh{constructor(e,t){this.onValueChange_=this.onValueChange_.bind(this),this.value=t.value,this.value.emitter.on("change",this.onValueChange_),this.element=e.createElement("div"),this.element.classList.add(fn()),t.viewProps.bindClassModifiers(this.element),t.viewProps.bindTabIndex(this.element);const r=e.createElement("div");r.classList.add(fn("b")),this.element.appendChild(r);const s=e.createElement("div");s.classList.add(fn("c")),r.appendChild(s),this.colorElem_=s;const i=e.createElement("div");i.classList.add(fn("m")),this.element.appendChild(i),this.markerElem_=i;const o=e.createElement("div");o.classList.add(fn("p")),this.markerElem_.appendChild(o),this.previewElem_=o,this.update_()}update_(){const e=this.value.rawValue,t=e.getComponents("rgb"),r=new re([t[0],t[1],t[2],0],"rgb"),s=new re([t[0],t[1],t[2],255],"rgb"),i=["to right",tr(r),tr(s)];this.colorElem_.style.background=`linear-gradient(${i.join(",")})`,this.previewElem_.style.backgroundColor=tr(e);const o=ae(t[3],0,1,0,100);this.markerElem_.style.left=`${o}%`}onValueChange_(){this.update_()}}class th{constructor(e,t){this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.view=new eh(e,{value:this.value,viewProps:this.viewProps}),this.ptHandler_=new Wt(this.view.element),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.element.addEventListener("keydown",this.onKeyDown_),this.view.element.addEventListener("keyup",this.onKeyUp_)}handlePointerEvent_(e,t){if(!e.point)return;const r=e.point.x/e.bounds.width,s=this.value.rawValue,[i,o,a]=s.getComponents("hsv");this.value.setRawValue(new re([i,o,a,r],"hsv"),t)}onPointerDown_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerMove_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerUp_(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})}onKeyDown_(e){const t=je(Ht(!0),wt(e));if(t===0)return;const r=this.value.rawValue,[s,i,o,a]=r.getComponents("hsv");this.value.setRawValue(new re([s,i,o,a+t],"hsv"),{forceEmit:!1,last:!1})}onKeyUp_(e){je(Ht(!0),wt(e))!==0&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}const Xt=oe("coltxt");function nh(n){const e=n.createElement("select"),t=[{text:"RGB",value:"rgb"},{text:"HSL",value:"hsl"},{text:"HSV",value:"hsv"},{text:"HEX",value:"hex"}];return e.appendChild(t.reduce((r,s)=>{const i=n.createElement("option");return i.textContent=s.text,i.value=s.value,r.appendChild(i),r},n.createDocumentFragment())),e}class rh{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(Xt()),t.viewProps.bindClassModifiers(this.element);const r=e.createElement("div");r.classList.add(Xt("m")),this.modeElem_=nh(e),this.modeElem_.classList.add(Xt("ms")),r.appendChild(this.modeSelectElement),t.viewProps.bindDisabled(this.modeElem_);const s=e.createElement("div");s.classList.add(Xt("mm")),s.appendChild(wr(e,"dropdown")),r.appendChild(s),this.element.appendChild(r);const i=e.createElement("div");i.classList.add(Xt("w")),this.element.appendChild(i),this.inputsElem_=i,this.inputViews_=t.inputViews,this.applyInputViews_(),mt(t.mode,o=>{this.modeElem_.value=o})}get modeSelectElement(){return this.modeElem_}get inputViews(){return this.inputViews_}set inputViews(e){this.inputViews_=e,this.applyInputViews_()}applyInputViews_(){zo(this.inputsElem_);const e=this.element.ownerDocument;this.inputViews_.forEach(t=>{const r=e.createElement("div");r.classList.add(Xt("c")),r.appendChild(t.element),this.inputsElem_.appendChild(r)})}}function sh(n){return ze(n==="float"?2:0)}function ih(n,e,t){const r=an(n,e)[t];return new vr({min:0,max:r})}function oh(n,e,t){return new Vn(n,{arrayPosition:t===0?"fst":t===2?"lst":"mid",parser:e.parser,props:ie.fromObject({formatter:sh(e.colorType),keyScale:Ht
35(!1),pointerScale:e.colorType==="float"?.01:1}),value:Ae(0,{constraint:ih(e.colorMode,e.colorType,t)}),viewProps:e.viewProps})}function ah(n,e){const t={colorMode:e.colorMode,colorType:e.colorType,parser:Lt,viewProps:e.viewProps};return[0,1,2].map(r=>{const s=oh(n,t,r);return cn({primary:e.value,secondary:s.value,forward(i){return Fe(i,e.colorType).getComponents(e.colorMode)[r]},backward(i,o){const a=e.colorMode,c=Fe(i,e.colorType).getComponents(a);c[r]=o;const d=zs(yr(lt(c),c[3]),a,e.colorType);return Fe(d,"int")}}),s})}function lh(n,e){const t=new Us(n,{parser:Dn("int"),props:ie.fromObject({formatter:Gs}),value:Ae(re.black()),viewProps:e.viewProps});return cn({primary:e.value,secondary:t.value,forward:r=>new re(lt(r.getComponents()),r.mode),backward:(r,s)=>new re(yr(lt(s.getComponents(r.mode)),r.getComponents()[3]),r.mode)}),[t]}function ch(n){return n!=="hex"}class uh{constructor(e,t){this.onModeSelectChange_=this.onModeSelectChange_.bind(this),this.colorType_=t.colorType,this.value=t.value,this.viewProps=t.viewProps,this.colorMode=Ae(this.value.rawValue.mode),this.ccs_=this.createComponentControllers_(e),this.view=new rh(e,{mode:this.colorMode,inputViews:[this.ccs_[0].view,this.ccs_[1].view,this.ccs_[2].view],viewProps:this.viewProps}),this.view.modeSelectElement.addEventListener("change",this.onModeSelectChange_)}createComponentControllers_(e){const t=this.colorMode.rawValue;return ch(t)?ah(e,{colorMode:t,colorType:this.colorType_,value:this.value,viewProps:this.viewProps}):lh(e,{value:this.value,viewProps:this.viewProps})}onModeSelectChange_(e){const t=e.currentTarget;this.colorMode.rawValue=t.value,this.ccs_=this.createComponentControllers_(this.view.element.ownerDocument),this.view.inputViews=this.ccs_.map(r=>r.view)}}const Nr=oe("hpl");class dh{constructor(e,t){this.onValueChange_=this.onValueChange_.bind(this),this.value=t.value,this.value.emitter.on("change",this.onValueChange_),this.element=e.createElement("div"),this.element.classList.add(Nr()),t.viewProps.bindClassModifiers(this.element),t.viewProps.bindTabIndex(this.element);const r=e.createElement("div");r.classList.add(Nr("c")),this.element.appendChild(r);const s=e.createElement("div");s.classList.add(Nr("m")),this.element.appendChild(s),this.markerElem_=s,this.update_()}update_(){const e=this.value.rawValue,[t]=e.getComponents("hsv");this.markerElem_.style.backgroundColor=ma(new re([t,100,100],"hsv"));const r=ae(t,0,360,0,100);this.markerElem_.style.left=`${r}%`}onValueChange_(){this.update_()}}class hh{constructor(e,t){this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.view=new dh(e,{value:this.value,viewProps:this.viewProps}),this.ptHandler_=new Wt(this.view.element),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.element.addEventListener("keydown",this.onKeyDown_),this.view.element.addEventListener("keyup",this.onKeyUp_)}handlePointerEvent_(e,t){if(!e.point)return;const r=ae(Te(e.point.x,0,e.bounds.width),0,e.bounds.width,0,360),s=this.value.rawValue,[,i,o,a]=s.getComponents("hsv");this.value.setRawValue(new re([r,i,o,a],"hsv"),t)}onPointerDown_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerMove_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerUp_(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})}onKeyDown_(e){const t=je(Ht(!1),wt(e));if(t===0)return;const r=this.value.rawValue,[s,i,o,a]=r.getComponents("hsv");this.value.setRawValue(new re([s+t,i,o,a],"hsv"),{forceEmit:!1,last:!1})}onKeyUp_(e){je(Ht(!1),wt(e))!==0&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}const Dr=oe("svp"),Ai=64;class ph{constructor(e,t){this.onValueChange_=this.onValueChange_.bind(this),this.value=t.value,this.value.emitter.on("change",this.onValueChange_),this.element=e.createElement("div"),this.element.classList.add(Dr()),t.viewProps.bindClassModifiers(this.element),t.viewProps.bindTabIndex(this.element);const r=e.createElement("canvas");r.height=Ai,r.width=Ai,r.classList.add(Dr("c")),this.element.appendChild(r),this.canvasElement=r;const s=e.createElement("div");s.classList.add(Dr("m")),this.element.appendChild(s),this.markerElem_=s,this.update_()}update_(){const e=Pu(this.canvasElement);if(!e)return;const r=this.value.rawValue.getComponents("hsv"),s=this.canvasElement.width,i=this.canvasElement.height,o=e.getImageData(0,0,s,i),a=o.data;for(let d=0;d<i;d++)for(let u=0;u<s;u++){const g=ae(u,0,s,0,100),_=ae(d,0,i,100,0),m=ta(r[0],g,_),C=(d*s+u)*4;a[C]=m[0],a[C+1]=m[1],a[C+2]=m[2],a[C+3]=255}e.putImageData(o,0,0);const l=ae(r[1],0,100,0,100);this.markerElem_.style.left=`${l}%`;const c=ae(r[2],0,100,100,0);this.markerElem_.style.top=`${c}%`}onValueChange_(){this.update_()}}class fh{constructor(e,t){this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.view=new ph(e,{value:this.value,viewProps:this.viewProps}),this.ptHandler_=new Wt(this.view.element),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.element.addEventListener("keydown",this.onKeyDown_),this.view.element.addEventListener("keyup",this.onKeyUp_)}handlePointerEvent_(e,t){if(!e.point)return;const r=ae(e.point.x,0,e.bounds.width,0,100),s=ae(e.point.y,0,e.bounds.height,100,0),[i,,,o]=this.value.rawValue.getComponents("hsv");this.value.setRawValue(new re([i,r,s,o],"hsv"),t)}onPointerDown_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerMove_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerUp_(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})}onKeyDown_(e){Qo(e.key)&&e.preventDefault();const[t,r,s,i]=this.value.rawValue.getComponents("hsv"),o=Ht(!1),a=je(o,wt(e)),l=je(o,An(e));a===0&&l===0||this.value.setRawValue(new re([t,r+a,s+l,i],"hsv"),{forceEmit:!1,last:!1})}onKeyUp_(e){const t=Ht(!1),r=je(t,wt(e)),s=je(t,An(e));r===0&&s===0||this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}class mh{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.hPaletteC_=new hh(e,{value:this.value,viewProps:this.viewProps}),this.svPaletteC_=new fh(e,{value:this.value,viewProps:this.viewProps}
35),this.alphaIcs_=t.supportsAlpha?{palette:new th(e,{value:this.value,viewProps:this.viewProps}),text:new Vn(e,{parser:Lt,props:ie.fromObject({pointerScale:.01,keyScale:.1,formatter:ze(2)}),value:Ae(0,{constraint:new vr({min:0,max:1})}),viewProps:this.viewProps})}:null,this.alphaIcs_&&cn({primary:this.value,secondary:this.alphaIcs_.text.value,forward:r=>r.getComponents()[3],backward:(r,s)=>{const i=r.getComponents();return i[3]=s,new re(i,r.mode)}}),this.textsC_=new uh(e,{colorType:t.colorType,value:this.value,viewProps:this.viewProps}),this.view=new Ad(e,{alphaViews:this.alphaIcs_?{palette:this.alphaIcs_.palette.view,text:this.alphaIcs_.text.view}:null,hPaletteView:this.hPaletteC_.view,supportsAlpha:t.supportsAlpha,svPaletteView:this.svPaletteC_.view,textsView:this.textsC_.view,viewProps:this.viewProps})}get textsController(){return this.textsC_}}const Ur=oe("colsw");class vh{constructor(e,t){this.onValueChange_=this.onValueChange_.bind(this),t.value.emitter.on("change",this.onValueChange_),this.value=t.value,this.element=e.createElement("div"),this.element.classList.add(Ur()),t.viewProps.bindClassModifiers(this.element);const r=e.createElement("div");r.classList.add(Ur("sw")),this.element.appendChild(r),this.swatchElem_=r;const s=e.createElement("button");s.classList.add(Ur("b")),t.viewProps.bindDisabled(s),this.element.appendChild(s),this.buttonElement=s,this.update_()}update_(){const e=this.value.rawValue;this.swatchElem_.style.backgroundColor=Hs(e)}onValueChange_(){this.update_()}}class gh{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.view=new vh(e,{value:this.value,viewProps:this.viewProps})}}class $s{constructor(e,t){this.onButtonBlur_=this.onButtonBlur_.bind(this),this.onButtonClick_=this.onButtonClick_.bind(this),this.onPopupChildBlur_=this.onPopupChildBlur_.bind(this),this.onPopupChildKeydown_=this.onPopupChildKeydown_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.foldable_=In.create(t.expanded),this.swatchC_=new gh(e,{value:this.value,viewProps:this.viewProps});const r=this.swatchC_.view.buttonElement;r.addEventListener("blur",this.onButtonBlur_),r.addEventListener("click",this.onButtonClick_),this.textC_=new Us(e,{parser:t.parser,props:ie.fromObject({formatter:t.formatter}),value:this.value,viewProps:this.viewProps}),this.view=new _d(e,{foldable:this.foldable_,pickerLayout:t.pickerLayout}),this.view.swatchElement.appendChild(this.swatchC_.view.element),this.view.textElement.appendChild(this.textC_.view.element),this.popC_=t.pickerLayout==="popup"?new Xo(e,{viewProps:this.viewProps}):null;const s=new mh(e,{colorType:t.colorType,supportsAlpha:t.supportsAlpha,value:this.value,viewProps:this.viewProps});s.view.allFocusableElements.forEach(i=>{i.addEventListener("blur",this.onPopupChildBlur_),i.addEventListener("keydown",this.onPopupChildKeydown_)}),this.pickerC_=s,this.popC_?(this.view.element.appendChild(this.popC_.view.element),this.popC_.view.element.appendChild(s.view.element),cn({primary:this.foldable_.value("expanded"),secondary:this.popC_.shows,forward:i=>i,backward:(i,o)=>o})):this.view.pickerElement&&(this.view.pickerElement.appendChild(this.pickerC_.view.element),Vs(this.foldable_,this.view.pickerElement))}get textController(){return this.textC_}onButtonBlur_(e){if(!this.popC_)return;const t=this.view.element,r=e.relatedTarget;(!r||!t.contains(r))&&(this.popC_.shows.rawValue=!1)}onButtonClick_(){this.foldable_.set("expanded",!this.foldable_.get("expanded")),this.foldable_.get("expanded")&&this.pickerC_.view.allFocusableElements[0].focus()}onPopupChildBlur_(e){if(!this.popC_)return;const t=this.popC_.view.element,r=Go(e);r&&t.contains(r)||r&&r===this.swatchC_.view.buttonElement&&!ks(t.ownerDocument)||(this.popC_.shows.rawValue=!1)}onPopupChildKeydown_(e){this.popC_?e.key==="Escape"&&(this.popC_.shows.rawValue=!1):this.view.pickerElement&&e.key==="Escape"&&this.swatchC_.view.buttonElement.focus()}}function wh(n){return lt(n.getComponents("rgb")).reduce((e,t)=>e<<8|Math.floor(t)&255,0)}function bh(n){return n.getComponents("rgb").reduce((e,t,r)=>{const s=Math.floor(r===3?t*255:t)&255;return e<<8|s},0)>>>0}function _h(n){return new re([n>>16&255,n>>8&255,n&255],"rgb")}function yh(n){return new re([n>>24&255,n>>16&255,n>>8&255,ae(n&255,0,255,0,1)],"rgb")}function xh(n){return typeof n!="number"?re.black():_h(n)}
35function Ch(n){return typeof n!="number"?re.black():yh(n)}function nr(n,e){return typeof n!="object"||me(n)?!1:e in n&&typeof n[e]=="number"}function ba(n){return nr(n,"r")&&nr(n,"g")&&nr(n,"b")}function _a(n){return ba(n)&&nr(n,"a")}function ya(n){return ba(n)}function Ks(n,e){if(n.mode!==e.mode||n.type!==e.type)return!1;const t=n.getComponents(),r=e.getComponents();for(let s=0;s<t.length;s++)if(t[s]!==r[s])return!1;return!0}function Si(n){return"a"in n?[n.r,n.g,n.b,n.a]:[n.r,n.g,n.b]}function Ph(n){const e=wa(n);return e?(t,r)=>{Nn(t,e(r))}:null}function Th(n){const e=n?bh:wh;return(t,r)=>{Nn(t,e(r))}}function Eh(n,e,t){const s=Fe(e,t).toRgbaObject();n.writeProperty("r",s.r),n.writeProperty("g",s.g),n.writeProperty("b",s.b),n.writeProperty("a",s.a)}function Mh(n,e,t){const s=Fe(e,t).toRgbaObject();n.writeProperty("r",s.r),n.writeProperty("g",s.g),n.writeProperty("b",s.b)}function Ah(n,e){return(t,r)=>{n?Eh(t,r,e):Mh(t,r,e)}}function Sh(n){var e;return!!(!((e=n?.color)===null||e===void 0)&&e.alpha)}function kh(n){return n?e=>Hs(e,"0x"):e=>Gs(e,"0x")}function Lh(n){return"color"in n||n.view==="color"}Ne({id:"input-color-number",type:"input",accept:(n,e)=>{if(typeof n!="number"||!Lh(e))return null;const t=Bs(e);return t?{initialValue:n,params:Object.assign(Object.assign({},t),{supportsAlpha:Sh(e)})}:null},binding:{reader:n=>n.params.supportsAlpha?Ch:xh,equals:Ks,writer:n=>Th(n.params.supportsAlpha)},controller:n=>{var e,t;return new $s(n.document,{colorType:"int",expanded:(e=n.params.expanded)!==null&&e!==void 0?e:!1,formatter:kh(n.params.supportsAlpha),parser:Dn("int"),pickerLayout:(t=n.params.picker)!==null&&t!==void 0?t:"popup",supportsAlpha:n.params.supportsAlpha,value:n.value,viewProps:n.viewProps})}});function Rh(n,e){if(!ya(n))return Fe(re.black(),e);if(e==="int"){const t=Si(n);return new re(t,"rgb")}if(e==="float"){const t=Si(n);return new js(t,"rgb")}return Fe(re.black(),"int")}function Ih(n){return _a(n)}function Oh(n){return e=>{const t=Rh(e,n);return Fe(t,"int")}}function Fh(n,e){return t=>n?ga(t,e):va(t,e)}Ne({id:"input-color-object",type:"input",accept:(n,e)=>{var t;if(!ya(n))return null;const r=Bs(e);return r?{initialValue:n,params:Object.assign(Object.assign({},r),{colorType:(t=sa(e))!==null&&t!==void 0?t:"int"})}:null},binding:{reader:n=>Oh(n.params.colorType),equals:Ks,writer:n=>Ah(Ih(n.initialValue),n.params.colorType)},controller:n=>{var e,t;const r=_a(n.initialValue);return new $s(n.document,{colorType:n.params.colorType,expanded:(e=n.params.expanded)!==null&&e!==void 0?e:!1,formatter:Fh(r,n.params.colorType),parser:Dn("int"),pickerLayout:(t=n.params.picker)!==null&&t!==void 0?t:"popup",supportsAlpha:r,value:n.value,viewProps:n.viewProps})}});Ne({id:"input-color-string",type:"input",accept:(n,e)=>{if(typeof n!="string"||e.view==="text")return null;const t=Wd(n,sa(e));if(!t)return null;const r=wa(t);if(!r)return null;const s=Bs(e);return s?{initialValue:n,params:Object.assign(Object.assign({},s),{format:t,stringifier:r})}:null},binding:{reader:()=>qd,equals:Ks,writer:n=>{const e=Ph(n.params.format);if(!e)throw $e.notBindable();return e}},controller:n=>{var e,t;return new $s(n.document,{colorType:n.params.format.type,expanded:(e=n.params.expanded)!==null&&e!==void 0?e:!1,formatter:n.params.stringifier,parser:Dn("int"),pickerLayout:(t=n.params.picker)!==null&&t!==void 0?t:"popup",supportsAlpha:n.params.format.alpha,value:n.value,viewProps:n.viewProps})}});class Ws{constructor(e){this.components=e.components,this.asm_=e.assembly}constrain(e){const t=this.asm_.toComponents(e).map((r,s)=>{var i,o;return(o=(i=this.components[s])===null||i===void 0?void 0:i.constrain(r))!==null&&o!==void 0?o:r});return this.asm_.fromComponents(t)}}const ki=oe("pndtxt");class Vh{constructor(e,t){this.textViews=t.textViews,this.element=e.createElement("div"),this.element.classList.add(ki()),this.textViews.forEach(r=>{const s=e.createElement("div");s.classList.add(ki("a")),s.appendChild(r.element),this.element.appendChild(s)})}}function Nh(n,e,t){return new Vn(n,{arrayPosition:t===0?"fst":t===e.axes.length-1?"lst":"mid",parser:e.parser,props:e.axes[t].textProps,value:Ae(0,{constraint:e.axes[t].constraint}),viewProps:e.viewProps})}class qs{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.acs_=t.axes.map((r,s)=>Nh(e,t,s)),this.acs_.forEach((r,s)=>{cn({primary:this.value,secondary:r.value,forward:i=>t.assembly.toComponents(i)[s],backward:(i,o)=>{const a=t.assembly.toComponents(i);return a[s]=o,t.assembly.fromComponents(a)}})}),this.view=new Vh(e,{textViews:this.acs_.map(r=>r.view)})}get textControllers(){return this.acs_}}class Dh extends Ss{get max(){return this.controller.valueController.sliderController.props.get("max")}
35set max(e){this.controller.valueController.sliderController.props.set("max",e)}get min(){return this.controller.valueController.sliderController.props.get("min")}set min(e){this.controller.valueController.sliderController.props.set("min",e)}}function Uh(n,e){const t=[],r=Vo(n,e);r&&t.push(r);const s=No(n);s&&t.push(s);const i=Ds(n.options);return i&&t.push(i),new Fn(t)}Ne({id:"input-number",type:"input",accept:(n,e)=>{if(typeof n!="number")return null;const t=Oe(e,r=>Object.assign(Object.assign({},Uo(r)),{options:r.optional.custom(_r),readonly:r.optional.constant(!1)}));return t?{initialValue:n,params:t}:null},binding:{reader:n=>Io,constraint:n=>Uh(n.params,n.initialValue),writer:n=>Nn},controller:n=>{const e=n.value,t=n.constraint,r=t&&lr(t,br);if(r)return new on(n.document,{props:new ie({options:r.values.value("options")}),value:e,viewProps:n.viewProps});const s=Do(n.params,e.rawValue),i=t&&lr(t,vr);return i?new Ei(n.document,Object.assign(Object.assign({},md(Object.assign(Object.assign({},s),{keyScale:Ae(s.keyScale),max:i.values.value("max"),min:i.values.value("min")}))),{parser:Lt,value:e,viewProps:n.viewProps})):new Vn(n.document,{parser:Lt,props:ie.fromObject(s),value:e,viewProps:n.viewProps})},api(n){return typeof n.controller.value.rawValue!="number"?null:n.controller.valueController instanceof Ei?new Dh(n.controller):n.controller.valueController instanceof on?new Ns(n.controller):null}});class St{constructor(e=0,t=0){this.x=e,this.y=t}getComponents(){return[this.x,this.y]}static isObject(e){if(me(e))return!1;const t=e.x,r=e.y;return!(typeof t!="number"||typeof r!="number")}static equals(e,t){return e.x===t.x&&e.y===t.y}toObject(){return{x:this.x,y:this.y}}}const xa={toComponents:n=>n.getComponents(),fromComponents:n=>new St(...n)},Yt=oe("p2d");class Bh{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(Yt()),t.viewProps.bindClassModifiers(this.element),mt(t.expanded,ln(this.element,Yt(void 0,"expanded")));const r=e.createElement("div");r.classList.add(Yt("h")),this.element.appendChild(r);const s=e.createElement("button");s.classList.add(Yt("b")),s.appendChild(wr(e,"p2dpad")),t.viewProps.bindDisabled(s),r.appendChild(s),this.buttonElement=s;const i=e.createElement("div");if(i.classList.add(Yt("t")),r.appendChild(i),this.textElement=i,t.pickerLayout==="inline"){const o=e.createElement("div");o.classList.add(Yt("p")),this.element.appendChild(o),this.pickerElement=o}else this.pickerElement=null}}const Ct=oe("p2dp");class jh{constructor(e,t){this.onFoldableChange_=this.onFoldableChange_.bind(this),this.onPropsChange_=this.onPropsChange_.bind(this),this.onValueChange_=this.onValueChange_.bind(this),this.props_=t.props,this.props_.emitter.on("change",this.onPropsChange_),this.element=e.createElement("div"),this.element.classList.add(Ct()),t.layout==="popup"&&this.element.classList.add(Ct(void 0,"p")),t.viewProps.bindClassModifiers(this.element);const r=e.createElement("div");r.classList.add(Ct("p")),t.viewProps.bindTabIndex(r),this.element.appendChild(r),this.padElement=r;const s=e.createElementNS(rt,"svg");s.classList.add(Ct("g")),this.padElement.appendChild(s),this.svgElem_=s;const i=e.createElementNS(rt,"line");i.classList.add(Ct("ax")),i.setAttributeNS(null,"x1","0"),i.setAttributeNS(null,"y1","50%"),i.setAttributeNS(null,"x2","100%"),i.setAttributeNS(null,"y2","50%"),this.svgElem_.appendChild(i);const o=e.createElementNS(rt,"line");o.classList.add(Ct("ax")),o.setAttributeNS(null,"x1","50%"),o.setAttributeNS(null,"y1","0"),o.setAttributeNS(null,"x2","50%"),o.setAttributeNS(null,"y2","100%"),this.svgElem_.appendChild(o);const a=e.createElementNS(rt,"line");a.classList.add(Ct("l")),a.setAttributeNS(null,"x1","50%"),a.setAttributeNS(null,"y1","50%"),this.svgElem_.appendChild(a),this.lineElem_=a;const l=e.createElement("div");l.classList.add(Ct("m")),this.padElement.appendChild(l),this.markerElem_=l,t.value.emitter.on("change",this.onValueChange_),this.value=t.value,this.update_()}get allFocusableElements(){return[this.padElement]}update_(){const[e,t]=this.value.rawValue.getComponents(),r=this.props_.get("max"),s=ae(e,-r,+r,0,100),i=ae(t,-r,+r,0,100),o=this.props_.get("invertsY")?100-i:i;this.lineElem_.setAttributeNS(null,"x2",`${s}%`),this.lineElem_.setAttributeNS(null,"y2",`${o}%`),this.markerElem_.style.left=`${s}%`,this.markerElem_.style.top=`${o}%`}onValueChange_(){this.update_()}onPropsChange_(){this.update_()}onFoldableChange_(){this.update_()}}function Li(n,e,t){return[je(e[0],wt(n)),je(e[1],An(n))*(t?1:-1)]}class zh{constructor(e,t){this.onPadKeyDown_=this.onPadKeyDown_.bind(this),this.onPadKeyUp_=this.onPadKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.props=t.props,this.value=t.value,this.viewProps=t.viewProps,this.view=new jh(e,{layout:t.layout,props:this.props,value:this.value,viewProps:this.viewProps}),this.ptHandler_=new Wt(this.view.padElement),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.padElement.addEventListener("keydown",this.onPadKeyDown_),this.view.padElement.addEventListener("keyup",this.onPadKeyUp_)}handlePointerEvent_(e,t){if(!e.point)return;const r=this.props.get("max"),s=ae(e.point.x,0,e.bounds.width,-r,+r),i=ae(this.props.get("invertsY")?e.bounds.height-e.point.y:e.point.y,0,e.bounds.height,-r,+r);this.value.setRawValue(new St(s,i),t)}onPointerDown_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerMove_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerUp_(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})}onPadKeyDown_(e){Qo(e.key)&&e.preventDefault();const[t,r]=Li(e,[this.props.get("xKeyScale"),this.props.get("yKeyScale")],this.props.get("invertsY"));t===0&&r===0||this.value.setRawValue(new St(this.value.rawValue.x+t,this.value.rawValue.y+r),{forceEmit:!1,last:!1})}onPadKeyUp_(e){const[t,r]=Li(e,[this.props.get("xKeyScale"),this.props.get("yKeyScale")],this.props.get("invertsY"));t===0&&r===0||this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}class Gh{constructor(e,t){var r,s;this.onPopupChildBlur_=this.onPopupChildBlur_.bind(this),this.onPopupChildKeydown_=this.onPopupChildKeydown_.bind(this),this.onPadButtonBlur_=this.onPadButtonBlur_.bind(this),this.onPadButtonClick_=this.onPadButtonClick_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.foldable_=In.create(t.expanded),this.popC_=t.pickerLayout==="popup"?new Xo(e,{viewProps:this.viewProps}):null;const i=new zh(e,{layout:t.pickerLayout,props:new ie({invertsY:Ae(t.invertsY),max:Ae(t.max),xKeyScale:t.axes[0].textProps.value("keyScale"),yKeyScale:t.axes[1].textProps.value("keyScale")}
35),value:this.value,viewProps:this.viewProps});i.view.allFocusableElements.forEach(o=>{o.addEventListener("blur",this.onPopupChildBlur_),o.addEventListener("keydown",this.onPopupChildKeydown_)}),this.pickerC_=i,this.textC_=new qs(e,{assembly:xa,axes:t.axes,parser:t.parser,value:this.value,viewProps:this.viewProps}),this.view=new Bh(e,{expanded:this.foldable_.value("expanded"),pickerLayout:t.pickerLayout,viewProps:this.viewProps}),this.view.textElement.appendChild(this.textC_.view.element),(r=this.view.buttonElement)===null||r===void 0||r.addEventListener("blur",this.onPadButtonBlur_),(s=this.view.buttonElement)===null||s===void 0||s.addEventListener("click",this.onPadButtonClick_),this.popC_?(this.view.element.appendChild(this.popC_.view.element),this.popC_.view.element.appendChild(this.pickerC_.view.element),cn({primary:this.foldable_.value("expanded"),secondary:this.popC_.shows,forward:o=>o,backward:(o,a)=>a})):this.view.pickerElement&&(this.view.pickerElement.appendChild(this.pickerC_.view.element),Vs(this.foldable_,this.view.pickerElement))}get textController(){return this.textC_}onPadButtonBlur_(e){if(!this.popC_)return;const t=this.view.element,r=e.relatedTarget;(!r||!t.contains(r))&&(this.popC_.shows.rawValue=!1)}onPadButtonClick_(){this.foldable_.set("expanded",!this.foldable_.get("expanded")),this.foldable_.get("expanded")&&this.pickerC_.view.allFocusableElements[0].focus()}onPopupChildBlur_(e){if(!this.popC_)return;const t=this.popC_.view.element,r=Go(e);r&&t.contains(r)||r&&r===this.view.buttonElement&&!ks(t.ownerDocument)||(this.popC_.shows.rawValue=!1)}onPopupChildKeydown_(e){this.popC_?e.key==="Escape"&&(this.popC_.shows.rawValue=!1):this.view.pickerElement&&e.key==="Escape"&&this.view.buttonElement.focus()}}function Hh(n){return St.isObject(n)?new St(n.x,n.y):new St}function $h(n,e){n.writeProperty("x",e.x),n.writeProperty("y",e.y)}function Kh(n,e){return new Ws({assembly:xa,components:[ft(Object.assign(Object.assign({},n),n.x),e.x),ft(Object.assign(Object.assign({},n),n.y),e.y)]})}function Ri(n,e){var t,r;if(!me(n.min)||!me(n.max))return Math.max(Math.abs((t=n.min)!==null&&t!==void 0?t:0),Math.abs((r=n.max)!==null&&r!==void 0?r:0));const s=Fo(n);return Math.max(Math.abs(s)*10,Math.abs(e)*10)}function Wh(n,e){var t,r;const s=Ri(Gt(n,(t=n.x)!==null&&t!==void 0?t:{}),e.x),i=Ri(Gt(n,(r=n.y)!==null&&r!==void 0?r:{}),e.y);return Math.max(s,i)}function qh(n){if(!("y"in n))return!1;const e=n.y;return e&&"inverted"in e?!!e.inverted:!1}Ne({id:"input-point2d",type:"input",accept:(n,e)=>{if(!St.isObject(n))return null;const t=Oe(e,r=>Object.assign(Object.assign({},Sn(r)),{expanded:r.optional.boolean,picker:r.optional.custom(ea),readonly:r.optional.constant(!1),x:r.optional.custom(At),y:r.optional.object(Object.assign(Object.assign({},Sn(r)),{inverted:r.optional.boolean}))}));return t?{initialValue:n,params:t}:null},binding:{reader:()=>Hh,constraint:n=>Kh(n.params,n.initialValue),equals:St.equals,writer:()=>$h},controller:n=>{var e,t;const r=n.document,s=n.value,i=n.constraint,o=[n.params.x,n.params.y];return new Gh(r,{axes:s.rawValue.getComponents().map((a,l)=>{var c;return Ms({constraint:i.components[l],initialValue:a,params:Gt(n.params,(c=o[l])!==null&&c!==void 0?c:{})})}),expanded:(e=n.params.expanded)!==null&&e!==void 0?e:!1,invertsY:qh(n.params),max:Wh(n.params,s.rawValue),parser:Lt,pickerLayout:(t=n.params.picker)!==null&&t!==void 0?t:"popup",value:s,viewProps:n.viewProps})}});class tn{constructor(e=0,t=0,r=0){this.x=e,this.y=t,this.z=r}getComponents(){return[this.x,this.y,this.z]}static isObject(e){if(me(e))return!1;const t=e.x,r=e.y,s=e.z;return!(typeof t!="number"||typeof r!="number"||typeof s!="number")}static equals(e,t){return e.x===t.x&&e.y===t.y&&e.z===t.z}toObject(){return{x:this.x,y:this.y,z:this.z}}}const Ca={toComponents:n=>n.getComponents(),fromComponents:n=>new tn(...n)};function Xh(n){return tn.isObject(n)?new tn(n.x,n.y,n.z):new tn}function Yh(n,e){n.writeProperty("x",e.x),n.writeProperty("y",e.y),n.writeProperty("z",e.z)}function Zh(n,e){return new Ws({assembly:Ca,components:[ft(Object.assign(Object.assign({},n),n.x),e.x),ft(Object.assign(Object.assign({},n),n.y),e.y),ft(Object.assign(Object.assign({},n),n.z),e.z)]})}Ne({id:"input-point3d",type:"input",accept:(n,e)=>{if(!tn.isObject(n))return null;const t=Oe(e,r=>Object.assign(Object.assign({},Sn(r)),{readonly:r.optional.constant(!1),x:r.optional.custom(At),y:r.optional.custom(At),z:r.optional.custom(At)}));return t?{initialValue:n,params:t}:null},binding:{reader:n=>Xh,constraint:n=>
35Zh(n.params,n.initialValue),equals:tn.equals,writer:n=>Yh},controller:n=>{const e=n.value,t=n.constraint,r=[n.params.x,n.params.y,n.params.z];return new qs(n.document,{assembly:Ca,axes:e.rawValue.getComponents().map((s,i)=>{var o;return Ms({constraint:t.components[i],initialValue:s,params:Gt(n.params,(o=r[i])!==null&&o!==void 0?o:{})})}),parser:Lt,value:e,viewProps:n.viewProps})}});class nn{constructor(e=0,t=0,r=0,s=0){this.x=e,this.y=t,this.z=r,this.w=s}getComponents(){return[this.x,this.y,this.z,this.w]}static isObject(e){if(me(e))return!1;const t=e.x,r=e.y,s=e.z,i=e.w;return!(typeof t!="number"||typeof r!="number"||typeof s!="number"||typeof i!="number")}static equals(e,t){return e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w}toObject(){return{x:this.x,y:this.y,z:this.z,w:this.w}}}const Pa={toComponents:n=>n.getComponents(),fromComponents:n=>new nn(...n)};function Qh(n){return nn.isObject(n)?new nn(n.x,n.y,n.z,n.w):new nn}function Jh(n,e){n.writeProperty("x",e.x),n.writeProperty("y",e.y),n.writeProperty("z",e.z),n.writeProperty("w",e.w)}function ep(n,e){return new Ws({assembly:Pa,components:[ft(Object.assign(Object.assign({},n),n.x),e.x),ft(Object.assign(Object.assign({},n),n.y),e.y),ft(Object.assign(Object.assign({},n),n.z),e.z),ft(Object.assign(Object.assign({},n),n.w),e.w)]})}Ne({id:"input-point4d",type:"input",accept:(n,e)=>{if(!nn.isObject(n))return null;const t=Oe(e,r=>Object.assign(Object.assign({},Sn(r)),{readonly:r.optional.constant(!1),w:r.optional.custom(At),x:r.optional.custom(At),y:r.optional.custom(At),z:r.optional.custom(At)}));return t?{initialValue:n,params:t}:null},binding:{reader:n=>Qh,constraint:n=>ep(n.params,n.initialValue),equals:nn.equals,writer:n=>Jh},controller:n=>{const e=n.value,t=n.constraint,r=[n.params.x,n.params.y,n.params.z,n.params.w];return new qs(n.document,{assembly:Pa,axes:e.rawValue.getComponents().map((s,i)=>{var o;return Ms({constraint:t.components[i],initialValue:s,params:Gt(n.params,(o=r[i])!==null&&o!==void 0?o:{})})}),parser:Lt,value:e,viewProps:n.viewProps})}});function tp(n){const e=[],t=Ds(n.options);return t&&e.push(t),new Fn(e)}Ne({id:"input-string",type:"input",accept:(n,e)=>{if(typeof n!="string")return null;const t=Oe(e,r=>({readonly:r.optional.constant(!1),options:r.optional.custom(_r)}));return t?{initialValue:n,params:t}:null},binding:{reader:n=>Zo,constraint:n=>tp(n.params),writer:n=>Nn},controller:n=>{const e=n.document,t=n.value,r=n.constraint,s=r&&lr(r,br);return s?new on(e,{props:new ie({options:s.values.value("options")}),value:t,viewProps:n.viewProps}):new Us(e,{parser:i=>i,props:ie.fromObject({formatter:as}),value:t,viewProps:n.viewProps})},api(n){return typeof n.controller.value.rawValue!="string"?null:n.controller.valueController instanceof on?new Ns(n.controller):null}});const xr={monitor:{defaultRows:3}},Ii=oe("mll");class np{constructor(e,t){this.onValueUpdate_=this.onValueUpdate_.bind(this),this.formatter_=t.formatter,this.element=e.createElement("div"),this.element.classList.add(Ii()),t.viewProps.bindClassModifiers(this.element);const r=e.createElement("textarea");r.classList.add(Ii("i")),r.style.height=`calc(var(${Jo("containerUnitSize")}) * ${t.rows})`,r.readOnly=!0,t.viewProps.bindDisabled(r),this.element.appendChild(r),this.textareaElem_=r,t.value.emitter.on("change",this.onValueUpdate_),this.value=t.value,this.update_()}update_(){const e=this.textareaElem_,t=e.scrollTop===e.scrollHeight-e.clientHeight,r=[];this.value.rawValue.forEach(s=>{s!==void 0&&r.push(this.formatter_(s))}),e.textContent=r.join(`
36`),t&&(e.scrollTop=e.scrollHeight)}onValueUpdate_(){this.update_()}}class Xs{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.view=new np(e,{formatter:t.formatter,rows:t.rows,value:this.value,viewProps:this.viewProps})}}const Oi=oe("sgl");class rp{constructor(e,t){this.onValueUpdate_=this.onValueUpdate_.bind(this),this.formatter_=t.formatter,this.element=e.createElement("div"),this.element.classList.add(Oi()),t.viewProps.bindClassModifiers(this.element);const r=e.createElement("input");r.classList.add(Oi("i")),r.readOnly=!0,r.type="text",t.viewProps.bindDisabled(r),this.element.appendChild(r),this.inputElement=r,t.value.emitter.on("change",this.onValueUpdate_),this.value=t.value,this.update_()}update_(){const e=this.value.rawValue,t=e[e.length-1];this.inputElement.value=t!==void 0?this.formatter_(t):""}onValueUpdate_(){this.update_()}}class Ys{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.view=new rp(e,{formatter:t.formatter,value:this.value,viewProps:this.viewProps})}}Ne({id:"monitor-bool",type:"monitor",accept:(n,e)=>{if(typeof n!="boolean")return null;const t=Oe(e,r=>({readonly:r.required.constant(!0),rows:r.optional.number}));return t?{initialValue:n,params:t}:null},binding:{reader:n=>Yo},controller:n=>{var e;return n.value.rawValue.length===1?new Ys(n.document,{formatter:Ti,value:n.value,viewProps:n.viewProps}):new Xs(n.document,{formatter:Ti,rows:(e=n.params.rows)!==null&&e!==void 0?e:xr.monitor.defaultRows,value:n.value,viewProps:n.viewProps})}});class sp extends Ss{get max(){return this.controller.valueController.props.get("max")}
36set max(e){this.controller.valueController.props.set("max",e)}get min(){return this.controller.valueController.props.get("min")}set min(e){this.controller.valueController.props.set("min",e)}}const Pt=oe("grl");class ip{constructor(e,t){this.onCursorChange_=this.onCursorChange_.bind(this),this.onValueUpdate_=this.onValueUpdate_.bind(this),this.element=e.createElement("div"),this.element.classList.add(Pt()),t.viewProps.bindClassModifiers(this.element),this.formatter_=t.formatter,this.props_=t.props,this.cursor_=t.cursor,this.cursor_.emitter.on("change",this.onCursorChange_);const r=e.createElementNS(rt,"svg");r.classList.add(Pt("g")),r.style.height=`calc(var(${Jo("containerUnitSize")}) * ${t.rows})`,this.element.appendChild(r),this.svgElem_=r;const s=e.createElementNS(rt,"polyline");this.svgElem_.appendChild(s),this.lineElem_=s;const i=e.createElement("div");i.classList.add(Pt("t"),oe("tt")()),this.element.appendChild(i),this.tooltipElem_=i,t.value.emitter.on("change",this.onValueUpdate_),this.value=t.value,this.update_()}get graphElement(){return this.svgElem_}update_(){const{clientWidth:e,clientHeight:t}=this.element,r=this.value.rawValue.length-1,s=this.props_.get("min"),i=this.props_.get("max"),o=[];this.value.rawValue.forEach((u,g)=>{if(u===void 0)return;const _=ae(g,0,r,0,e),m=ae(u,s,i,t,0);o.push([_,m].join(","))}),this.lineElem_.setAttributeNS(null,"points",o.join(" "));const a=this.tooltipElem_,l=this.value.rawValue[this.cursor_.rawValue];if(l===void 0){a.classList.remove(Pt("t","a"));return}const c=ae(this.cursor_.rawValue,0,r,0,e),d=ae(l,s,i,t,0);a.style.left=`${c}px`,a.style.top=`${d}px`,a.textContent=`${this.formatter_(l)}`,a.classList.contains(Pt("t","a"))||(a.classList.add(Pt("t","a"),Pt("t","in")),ar(a),a.classList.remove(Pt("t","in")))}onValueUpdate_(){this.update_()}onCursorChange_(){this.update_()}}class Ta{constructor(e,t){if(this.onGraphMouseMove_=this.onGraphMouseMove_.bind(this),this.onGraphMouseLeave_=this.onGraphMouseLeave_.bind(this),this.onGraphPointerDown_=this.onGraphPointerDown_.bind(this),this.onGraphPointerMove_=this.onGraphPointerMove_.bind(this),this.onGraphPointerUp_=this.onGraphPointerUp_.bind(this),this.props=t.props,this.value=t.value,this.viewProps=t.viewProps,this.cursor_=Ae(-1),this.view=new ip(e,{cursor:this.cursor_,formatter:t.formatter,rows:t.rows,props:this.props,value:this.value,viewProps:this.viewProps}),!ks(e))this.view.element.addEventListener("mousemove",this.onGraphMouseMove_),this.view.element.addEventListener("mouseleave",this.onGraphMouseLeave_);else{const r=new Wt(this.view.element);r.emitter.on("down",this.onGraphPointerDown_),r.emitter.on("move",this.onGraphPointerMove_),r.emitter.on("up",this.onGraphPointerUp_)}}importProps(e){return ct(e,null,t=>({max:t.required.number,min:t.required.number}),t=>(this.props.set("max",t.max),this.props.set("min",t.min),!0))}exportProps(){return ut(null,{max:this.props.get("max"),min:this.props.get("min")})}onGraphMouseLeave_(){this.cursor_.rawValue=-1}onGraphMouseMove_(e){const{clientWidth:t}=this.view.element;this.cursor_.rawValue=Math.floor(ae(e.offsetX,0,t,0,this.value.rawValue.length))}onGraphPointerDown_(e){this.onGraphPointerMove_(e)}onGraphPointerMove_(e){if(!e.data.point){this.cursor_.rawValue=-1;return}this.cursor_.rawValue=Math.floor(ae(e.data.point.x,0,e.data.bounds.width,0,this.value.rawValue.length))}onGraphPointerUp_(){this.cursor_.rawValue=-1}}function ls(n){return me(n.format)?ze(2):n.format}function op(n){var e;return n.value.rawValue.length===1?new Ys(n.document,{formatter:ls(n.params),value:n.value,viewProps:n.viewProps}):new Xs(n.document,{formatter:ls(n.params),rows:(e=n.params.rows)!==null&&e!==void 0?e:xr.monitor.defaultRows,value:n.value,viewProps:n.viewProps})}function ap(n){var e,t,r;return new Ta(n.document,{formatter:ls(n.params),rows:(e=n.params.rows)!==null&&e!==void 0?e:xr.monitor.defaultRows,props:ie.fromObject({max:(t=n.params.max)!==null&&t!==void 0?t:100,min:(r=n.params.min)!==null&&r!==void 0?r:0}),value:n.value,viewProps:n.viewProps})}function Fi(n){return n.view==="graph"}Ne({id:"monitor-number",type:"monitor",accept:(n,e)=>{if(typeof n!="number")return null;const t=Oe(e,r=>({format:r.optional.function,max:r.optional.number,min:r.optional.number,readonly:r.required.constant(!0),rows:r.optional.number,view:r.optional.string}));return t?{initialValue:n,params:t}:null},binding:{defaultBufferSize:n=>Fi(n)?64:1,reader:n=>Io},controller:n=>Fi(n.params)?ap(n):op(n),api:n=>n.controller.valueController instanceof Ta?new sp(n.controller):null});Ne({id:"monitor-string",type:"monitor",accept:(n,e)=>
36{if(typeof n!="string")return null;const t=Oe(e,r=>({multiline:r.optional.boolean,readonly:r.required.constant(!0),rows:r.optional.number}));return t?{initialValue:n,params:t}:null},binding:{reader:n=>Zo},controller:n=>{var e;const t=n.value;return t.rawValue.length>1||n.params.multiline?new Xs(n.document,{formatter:as,rows:(e=n.params.rows)!==null&&e!==void 0?e:xr.monitor.defaultRows,value:t,viewProps:n.viewProps}):new Ys(n.document,{formatter:as,value:t,viewProps:n.viewProps})}});new $o("4.0.5");function Vi(n,e){if(e===Dl)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),n;if(e===ts||e===mo){let t=n.getIndex();if(t===null){const o=[],a=n.getAttribute("position");if(a!==void 0){for(let l=0;l<a.count;l++)o.push(l);n.setIndex(o),t=n.getIndex()}else return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),n}const r=t.count-2,s=[];if(t)if(e===ts)for(let o=1;o<=r;o++)s.push(t.getX(0)),s.push(t.getX(o)),s.push(t.getX(o+1));else for(let o=0;o<r;o++)o%2===0?(s.push(t.getX(o)),s.push(t.getX(o+1)),s.push(t.getX(o+2))):(s.push(t.getX(o+2)),s.push(t.getX(o+1)),s.push(t.getX(o)));s.length/3!==r&&console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");const i=n.clone();return i.setIndex(s),i.clearGroups(),i}else return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:",e),n}const Ea=parseInt(go.replace(/\D+/g,""));var lp=Object.defineProperty,cp=(n,e,t)=>e in n?lp(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,up=(n,e,t)=>(cp(n,e+"",t),t);async function Ni(n){const e=await n.arrayBuffer(),t=btoa(String.fromCharCode(...new Uint8Array(e)));return`data:${n.type||""};base64,${t}`}let Wn,Br,Zt,qn;function jr(n,e=1/0,t=null){Br||(Br=new fr(2,2,1,1)),Zt||(Zt=new Rt({uniforms:{blitTexture:new ql(n)},vertexShader:`
37        varying vec2 vUv;
38        void main(){
39            vUv = uv;
40            gl_Position = vec4(position.xy * 1.0,0.,.999999);
41        }
42      `,fragmentShader:`
43          uniform sampler2D blitTexture; 
44          varying vec2 vUv;
45
46          void main(){ 
47              gl_FragColor = vec4(vUv.xy, 0, 1);
48              
49              #ifdef IS_SRGB
50              gl_FragColor = LinearTosRGB( texture2D( blitTexture, vUv) );
51              #else
52              gl_FragColor = texture2D( blitTexture, vUv);
53              #endif
54          }
55      `})),Zt.uniforms.blitTexture.value=n,Zt.defines.IS_SRGB="colorSpace"in n?n.colorSpace
vendor: 4,182 bytes, line 55
55==="srgb":n.encoding===3001,Zt.needsUpdate=!0,qn||(qn=new Je(Br,Zt),qn.frustrumCulled=!1);const r=new Rn,s=new rr;s.add(qn),t||(t=Wn=new no({antialias:!1})),t.setSize(Math.min(n.image.width,e),Math.min(n.image.height,e)),t.clear(),t.render(s,r);const i=new nt(t.domElement);return i.minFilter=n.minFilter,i.magFilter=n.magFilter,i.wrapS=n.wrapS,i.wrapT=n.wrapT,i.name=n.name,Wn&&(Wn.dispose(),Wn=null),i}const Di={POSITION:["byte","byte normalized","unsigned byte","unsigned byte normalized","short","short normalized","unsigned short","unsigned short normalized"],NORMAL:["byte normalized","short normalized"],TANGENT:["byte normalized","short normalized"],TEXCOORD:["byte","byte normalized","unsigned byte","short","short normalized","unsigned short"]};class Ma{constructor(){this.pluginCallbacks=[],this.register(function(e){return new _p(e)}),this.register(function(e){return new yp(e)}),this.register(function(e){return new Pp(e)}),this.register(function(e){return new Tp(e)}),this.register(function(e){return new Ep(e)}),this.register(function(e){return new Mp(e)}),this.register(function(e){return new xp(e)}),this.register(function(e){return new Cp(e)}),this.register(function(e){return new Ap(e)}),this.register(function(e){return new Sp(e)}),this.register(function(e){return new kp(e)})}register(e){return this.pluginCallbacks.indexOf(e)===-1&&this.pluginCallbacks.push(e),this}unregister(e){return this.pluginCallbacks.indexOf(e)!==-1&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(e),1),this}parse(e,t,r,s){const i=new bp,o=[];for(let a=0,l=this.pluginCallbacks.length;a<l;a++)o.push(this.pluginCallbacks[a](i));i.setPlugins(o),i.write(e,t,s).catch(r)}parseAsync(e,t){const r=this;return new Promise(function(s,i){r.parse(e,s,i,t)})}}up(Ma,"Utils",{insertKeyframe:function(n,e){const t=n.getValueSize(),r=new n.TimeBufferType(n.times.length+1),s=new n.ValueBufferType(n.values.length+t),i=n.createInterpolant(new n.ValueBufferType(t));let o;if(n.times.length===0){r[0]=e;for(let a=0;a<t;a++)s[a]=0;o=0}else if(e<n.times[0]){if(Math.abs(n.times[0]-e)<.001)return 0;r[0]=e,r.set(n.times,1),s.set(i.evaluate(e),0),s.set(n.values,t),o=0}else if(e>n.times[n.times.length-1]){if(Math.abs(n.times[n.times.length-1]-e)<.001)return n.times.length-1;r[r.length-1]=e,r.set(n.times,0),s.set(n.values,0),s.set(i.evaluate(e),n.values.length),o=r.length-1}else for(let a=0;a<n.times.length;a++){if(Math.abs(n.times[a]-e)<.001)return a;if(n.times[a]<e&&n.times[a+1]>e){r.set(n.times.slice(0,a+1),0),r[a+1]=e,r.set(n.times.slice(a+1),a+2),s.set(n.values.slice(0,(a+1)*t),0),s.set(i.evaluate(e),(a+1)*t),s.set(n.values.slice((a+1)*t),(a+2)*t),o=a+1;break}}return n.times=r,n.values=s,o},mergeMorphTargetTracks:function(n,e){const t=[],r={},s=n.tracks;for(let i=0;i<s.length;++i){let o=s[i];const a=Tn.parseTrackName(o.name),l=Tn.findNode(e,a.nodeName);if(a.propertyName!=="morphTargetInfluences"||a.propertyIndex===void 0){t.push(o);continue}if(o.createInterpolant!==o.InterpolantFactoryMethodDiscrete&&o.createInterpolant!==o.InterpolantFactoryMethodLinear){if(o.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline)throw new Error("THREE.GLTFExporter: Cannot merge tracks with glTF CUBICSPLINE interpolation.");console.warn("THREE.GLTFExporter: Morph target interpolation mode not yet supported. Using LINEAR instead."),o=o.clone(),o.setInterpolation(ws)}const c=l.morphTargetInfluences.length,d=l.morphTargetDictionary[a.propertyIndex];if(d===void 0)throw new Error("THREE.GLTFExporter: Morph target name not found: "+a.propertyIndex);let u;if(r[l.uuid]===void 0){u=o.clone();const _=new u.ValueBufferType(c*u.times.length);for(let m=0;m<u.times.length;m++)_[m*c+d]=u.values[m];u.name=(a.nodeName||"")+".morphTargetInfluences",u.values=_,r[l.uuid]=u,t.push(u);continue}const g=o.createInterpolant(new o.ValueBufferType(1));u=r[l.uuid];for(let _=0;_<u.times.length;_++)u.values[_*c+d]=g.evaluate(u.times[_]);for(let _=0;_<o.times.length;_++){const m=this.insertKeyframe(u,o.times[_]);u.values[m*c+d]=o.values[_]}}return n.tracks=t,n}});const Q={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,
55UNSIGNED_INT:5125,FLOAT:5126,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,REPEAT:10497},zr="KHR_mesh_quantization",We={};We[uo]=Q.NEAREST;We[co]=Q.NEAREST_MIPMAP_NEAREST;We[ao]=Q.NEAREST_MIPMAP_LINEAR;We[pt]=Q.LINEAR;We[lo]=Q.LINEAR_MIPMAP_NEAREST;We[gs]=Q.LINEAR_MIPMAP_LINEAR;We[tt]=Q.CLAMP_TO_EDGE;We[Pn]=Q.REPEAT;We[ho]=Q.MIRRORED_REPEAT;const Ui={scale:"scale",position:"translation",quaternion:"rotation",morphTargetInfluences:"weights"},dp=new Pe,Bi=12,hp=1179937895,pp=2,ji=8,fp=1313821514,mp=5130562;function vn(n,e){return n.length===e.length&&n.every(function(t,r){return t===e[r]})}function vp(n){return new TextEncoder().encode(n).buffer}function gp(n){return vn(n.elements,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}function wp(n,e,t){const r={min:new Array(n.itemSize).fill(Number.POSITIVE_INFINITY),max:new Array(n.itemSize).fill(Number.NEGATIVE_INFINITY)};for(let s=e;s<e+t;s++)for(let i=0;i<n.itemSize;i++){let o;n.itemSize>4?o=n.array[s*n.itemSize+i]:(i===0?o=n.getX(s):i===1?o=n.getY(s):i===2?o=n.getZ(s):i===3&&(o=n.getW(s)),n.normalized===!0&&(o=fe.normalize(o,n.array))),r.min[i]=Math.min(r.min[i],o),r.max[i]=Math.max(r.max[i],o)}return r}function Aa(n){return Math.ceil(n/4)*4}function Gr(n,e=0){const t=Aa(n.byteLength);if(t!==n.byteLength){const r=new Uint8Array(t);if(r.set(new Uint8Array(n)),e!==0)for(let s=n.byteLength;s<t;s++)r[s]=e;return r.buffer}return n}function zi(){return typeof document>"u"&&typeof OffscreenCanvas<"u"?new OffscreenCanvas(1,1):document.createElement("canvas")}function Gi(n,e){if(n.toBlob!==void 0)return new Promise(r=>n.toBlob(r,e));let t;return e==="image/jpeg"?t=.92:e==="image/webp"&&(t=.8),n.convertToBlob({type:e,quality:t})}class bp{constructor(){this.plugins=[],this.options={},this.pending=[],this.buffers=[],this.byteOffset=0,this.buffers=[],this.nodeMap=new Map,this.skins=[],this.extensionsUsed={},this.extensionsRequired={},this.uids=new Map,this.uid=0,this.json={asset:{version:"2.0",generator:"THREE.GLTFExporter"}},this.cache={meshes:new Map,attributes:new Map,attributesNormalized:new Map,materials:new Map,textures:new Map,images:new Map}}setPlugins(e){this.plugins=e}async write(e,t,r={}){this.options=Object.assign({binary:!1,trs:!1,onlyVisible:!0,maxTextureSize:1/0,animations:[],includeCustomExtensions:!1},r),this.options.animations.length>0&&(this.options.trs=!0),this.processInput(e),await Promise.all(this.pending);const s=this,i=s.buffers,o=s.json;r=s.options;const a=s.extensionsUsed,l=s.extensionsRequired,c=new Blob(i,{type:"application/octet-stream"}),d=Object.keys(a),u=Object.keys(l);d.length>0&&(o.extensionsUsed=d),u.length>0&&(o.extensionsRequired=u),o.buffers&&o.buffers.length>0&&(o.buffers[0].byteLength=c.size),r.binary===!0?c.arrayBuffer().then(g=>{const _=Gr(g),m=new DataView(new ArrayBuffer(ji));m.setUint32(0,_.byteLength,!0),m.setUint32(4,mp,!0);const C=Gr(vp(JSON.stringify(o)),32),v=new DataView(new ArrayBuffer(ji));v.setUint32(0,C.byteLength,!0),v.setUint32(4,fp,!0);const E=new ArrayBuffer(Bi),S=new DataView(E);S.setUint32(0,hp,!0),S.setUint32(4,pp,!0);const x=Bi+v.byteLength+C.byteLength+m.byteLength+_.byteLength;S.setUint32(8,x,!0),new Blob([E,v,C,m,_],{type:"application/octet-stream"}).arrayBuffer().then(t)}):o.buffers&&o.buffers.length>0?Ni(c).then(g=>{o.buffers[0].uri=g,t(o)}):t(o)}serializeUserData(e,t){if(Object.keys(e.userData).length===0)return;const r=this.options,s=this.extensionsUsed;try{const i=JSON.parse(JSON.stringify(e.userData));if(r.includeCustomExtensions&&i.gltfExtensions){t.extensions===void 0&&(t.extensions={});for(const o in i.gltfExtensions)t.extensions[o]=i.gltfExtensions[o],s[o]=!0;delete i.gltfExtensions}Object.keys(i).length>0&&(t.extras=i)}
vendor: 23,657 bytes, line 55
55catch(i){console.warn("THREE.GLTFExporter: userData of '"+e.name+"' won't be serialized because of JSON.stringify error - "+i.message)}}getUID(e,t=!1){if(this.uids.has(e)===!1){const r=new Map;r.set(!0,this.uid++),r.set(!1,this.uid++),this.uids.set(e,r)}return this.uids.get(e).get(t)}isNormalizedNormalAttribute(e){if(this.cache.attributesNormalized.has(e))return!1;const t=new H;for(let r=0,s=e.count;r<s;r++)if(Math.abs(t.fromBufferAttribute(e,r).length()-1)>5e-4)return!1;return!0}createNormalizedNormalAttribute(e){const t=this.cache;if(t.attributesNormalized.has(e))return t.attributesNormalized.get(e);const r=e.clone(),s=new H;for(let i=0,o=r.count;i<o;i++)s.fromBufferAttribute(r,i),s.x===0&&s.y===0&&s.z===0?s.setX(1):s.normalize(),r.setXYZ(i,s.x,s.y,s.z);return t.attributesNormalized.set(e,r),r}applyTextureTransform(e,t){let r=!1;const s={};(t.offset.x!==0||t.offset.y!==0)&&(s.offset=t.offset.toArray(),r=!0),t.rotation!==0&&(s.rotation=t.rotation,r=!0),(t.repeat.x!==1||t.repeat.y!==1)&&(s.scale=t.repeat.toArray(),r=!0),r&&(e.extensions=e.extensions||{},e.extensions.KHR_texture_transform=s,this.extensionsUsed.KHR_texture_transform=!0)}buildMetalRoughTexture(e,t){if(e===t)return e;function r(g){return("colorSpace"in g?g.colorSpace==="srgb":g.encoding===3001)?function(_){return _<.04045?_*.0773993808:Math.pow(_*.9478672986+.0521327014,2.4)}:function(_){return _}}console.warn("THREE.GLTFExporter: Merged metalnessMap and roughnessMap textures."),e instanceof Mr&&(e=jr(e)),t instanceof Mr&&(t=jr(t));const s=e?e.image:null,i=t?t.image:null,o=Math.max(s?s.width:0,i?i.width:0),a=Math.max(s?s.height:0,i?i.height:0),l=zi();l.width=o,l.height=a;const c=l.getContext("2d");c.fillStyle="#00ffff",c.fillRect(0,0,o,a);const d=c.getImageData(0,0,o,a);if(s){c.drawImage(s,0,0,o,a);const g=r(e),_=c.getImageData(0,0,o,a).data;for(let m=2;m<_.length;m+=4)d.data[m]=g(_[m]/256)*256}if(i){c.drawImage(i,0,0,o,a);const g=r(t),_=c.getImageData(0,0,o,a).data;for(let m=1;m<_.length;m+=4)d.data[m]=g(_[m]/256)*256}c.putImageData(d,0,0);const u=(e||t).clone();return u.source=new nt(l).source,"colorSpace"in u?u.colorSpace="":u.encoding=3e3,u.channel=(e||t).channel,e&&t&&e.channel!==t.channel&&console.warn("THREE.GLTFExporter: UV channels for metalnessMap and roughnessMap textures must match."),u}processBuffer(e){const t=this.json,r=this.buffers;return t.buffers||(t.buffers=[{byteLength:0}]),r.push(e),0}processBufferView(e,t,r,s,i){const o=this.json;o.bufferViews||(o.bufferViews=[]);let a;switch(t){case Q.BYTE:case Q.UNSIGNED_BYTE:a=1;break;case Q.SHORT:case Q.UNSIGNED_SHORT:a=2;break;default:a=4}const l=Aa(s*e.itemSize*a),c=new DataView(new ArrayBuffer(l));let d=0;for(let g=r;g<r+s;g++)for(let _=0;_<e.itemSize;_++){let m;e.itemSize>4?m=e.array[g*e.itemSize+_]:(_===0?m=e.getX(g):_===1?m=e.getY(g):_===2?m=e.getZ(g):_===3&&(m=e.getW(g)),e.normalized===!0&&(m=fe.normalize(m,e.array))),t===Q.FLOAT?c.setFloat32(d,m,!0):t===Q.INT?c.setInt32(d,m,!0):t===Q.UNSIGNED_INT?c.setUint32(d,m,!0):t===Q.SHORT?c.setInt16(d,m,!0):t===Q.UNSIGNED_SHORT?c.setUint16(d,m,!0):t===Q.BYTE?c.setInt8(d,m):t===Q.UNSIGNED_BYTE&&c.setUint8(d,m),d+=a}const u={buffer:this.processBuffer(c.buffer),byteOffset:this.byteOffset,byteLength:l};return i!==void 0&&(u.target=i),i===Q.ARRAY_BUFFER&&(u.byteStride=e.itemSize*a),this.byteOffset+=l,o.bufferViews.push(u),{id:o.bufferViews.length-1,byteLength:0}}processBufferViewImage(e){const t=this,r=t.json;return r.bufferViews||(r.bufferViews=[]),e.arrayBuffer().then(s=>{const i=Gr(s),o={buffer:t.processBuffer(i),byteOffset:t.byteOffset,byteLength:i.byteLength};return t.byteOffset+=i.byteLength,r.bufferViews.push(o)-1})}processAccessor(e,t,r,s){const i=this.json,o={1:"SCALAR",2:"VEC2",3:"VEC3",4:"VEC4",9:"MAT3",16:"MAT4"};let a;if(e.array.constructor===Float32Array)a=Q.FLOAT;else if(e.array.constructor===Int32Array)a=Q.INT;else if(e.array.constructor===Uint32Array)a=Q.UNSIGNED_INT;else if(e.array.constructor===Int16Array)a=Q.SHORT;else if(e.array.constructor===Uint16Array)a=Q.UNSIGNED_SHORT;else if(e.array.constructor===Int8Array)a=Q.BYTE;else if(e.array.constructor===Uint8Array)a=Q.UNSIGNED_BYTE;else throw new Error("THREE.GLTFExporter: Unsupported bufferAttribute component type: "+e.array.constructor.name);if(r===void 0&&(r=0),s===void 0&&(s=e.count),s===0)return null;const l=wp(e,r,s);let c;t!==void 0&&(c=e===t.index?Q.ELEMENT_ARRAY_BUFFER:Q.ARRAY_BUFFER);const d=this.processBufferView(e,a,r,s,c),u={bufferView:d.id,byteOffset:d.byteOffset,componentType:a,count:s,max:l.max,min:l.min,type:o[e.itemSize]};return e.normalized===!0&&(u.normalized=!0),i.accessors||(i.accessors=[]),i.accessors.push(u)-1}processImage(e,t,r,s="image/png"){if(e!==null){const i=this,o=i.cache,a=i.json,l=i.options,c=i.pending;o.images.has(e)||o.images.set(e,{});const d=o.images.get(e),u=s+":flipY/"+r.toString();if(d[u]!==void 0)return d[u];a.images||(a.images=[]);const g={mimeType:s},_=zi();_.width=Math.min(e.width,l.maxTextureSize),_.height=Math.min(e.height,l.maxTextureSize);const m=_.getContext("2d");if(r===!0&&(m.translate(0,_.height),m.scale(1,-1)),e.data!==void 0){t!==yn&&console.error("GLTFExporter: Only RGBAFormat is supported.",t),(e.width>l.maxTextureSize||e.height>l.maxTextureSize)&&console.warn("GLTFExporter: Image size is bigger than maxTextureSize",e);const v=new Uint8ClampedArray(e.height*e.width*4);for(let E=0;E<v.length;E+=4)v[E+0]=e.data[E+0],v[E+1]=e.data[E+1],v[E+2]=e.data[E+2],v[E+3]=e.data[E+3];m.putImageData(new ImageData(v,e.width,e.height),0,0)}else m.drawImage(e,0,0,_.width,_.height);l.binary===!0?c.push(Gi(_,s).then(v=>i.processBufferViewImage(v)).then(v=>{g.bufferView=v})):_.toDataURL!==void 0?g.uri=_.toDataURL(s):c.push(Gi(_,s).then(Ni).then(v=>{g.uri=v}));const C=a.images.push(g)-1;return d[u]=C,C}else throw new Error("THREE.GLTFExporter: No valid image data found. Unable to process texture.")}processSampler(e){const t=this.json;t.samplers||(t.samplers=[]);const r={magFilter:We[e.magFilter],minFilter:We[e.minFilter],wrapS:We[e.wrapS],wrapT:We[e.wrapT]};return t.samplers.push(r)-1}processTexture(e){const t=this.options,r=this.cache,s=this.json;if(r.textures.has(e))return r.textures.get(e);s.textures||(s.textures=[]),e instanceof Mr&&(e=jr(e,t.maxTextureSize));let i=e.userData.mimeType;i==="image/webp"&&(i="image/png");const o={sampler:this.processSampler(e),source:this.processImage(e.image,e.format,e.flipY,i)};e.name&&(o.name=e.name),this._invokeAll(function(l){l.writeTexture&&l.writeTexture(e,o)});const a=s.textures.push(o)-1;return r.textures.set(e,a),a}processMaterial(e){const t=this.cache,r=this.json;if(t.materials.has(e))return t.materials.get(e);if(e.isShaderMaterial)return console.warn("GLTFExporter: THREE.ShaderMaterial not supported."),null;r.materials||(r.materials=[]);const s={pbrMetallicRoughness:{}};e.isMeshStandardMaterial!==!0&&e.isMeshBasicMaterial!==!0&&console.warn("GLTFExporter: Use MeshStandardMaterial or MeshBasicMaterial for best results.");const i=e.color.toArray().concat([e.opacity]);if(vn(i,[1,1,1,1])||(s.pbrMetallicRoughness.baseColorFactor=i),e.isMeshStandardMaterial?(s.pbrMetallicRoughness.metallicFactor=e.metalness,s.pbrMetallicRoughness.roughnessFactor=e.roughness):(s.pbrMetallicRoughness.metallicFactor=.5,s.pbrMetallicRoughness.roughnessFactor=.5),e.metalnessMap||e.roughnessMap){const a=this.buildMetalRoughTexture(e.metalnessMap,e.roughnessMap),l={index:this.processTexture(a),channel:a.channel};this.applyTextureTransform(l,a),s.pbrMetallicRoughness.metallicRoughnessTexture=l}if(e.map){const a={index:this.processTexture(e.map),texCoord:e.map.channel};this.applyTextureTransform(a,e.map),s.pbrMetallicRoughness.baseColorTexture=a}if(e.emissive){const a=e.emissive;if(Math.max(a.r,a.g,a.b)>0&&(s.emissiveFactor=e.emissive.toArray()),e.emissiveMap){const l={index:this.processTexture(e.emissiveMap),texCoord:e.emissiveMap.channel};this.applyTextureTransform(l,e.emissiveMap),s.emissiveTexture=l}}if(e.normalMap){const a={index:this.processTexture(e.normalMap),texCoord:e.normalMap.channel};e.normalScale&&e.normalScale.x!==1&&(a.scale=e.normalScale.x),this.applyTextureTransform(a,e.normalMap),s.normalTexture=a}if(e.aoMap){const a={index:this.processTexture(e.aoMap),texCoord:e.aoMap.channel};e.aoMapIntensity!==1&&(a.strength=e.aoMapIntensity),this.applyTextureTransform(a,e.aoMap),s.occlusionTexture=a}e.transparent?s.alphaMode="BLEND":e.alphaTest>0&&(s.alphaMode="MASK",s.alphaCutoff=e.alphaTest),e.side===mr&&(s.doubleSided=!0),e.name!==""&&(s.name=e.name),this.serializeUserData(e,s),this._invokeAll(function(a){a.writeMaterial&&a.writeMaterial(e,s)});const o=r.materials.push(s)-1;return t.materials.set(e,o),o}processMesh(e){const t=this.cache,r=this.json,s=[e.geometry.uuid];if(Array.isArray(e.material))for(let x=0,M=e.material.length;x<M;x++)s.push(e.material[x].uuid);else s.push(e.material.uuid);const i=s.join(":");if(t.meshes.has(i))return t.meshes.get(i);const o=e.geometry;let a;e.isLineSegments?a=Q.LINES:e.isLineLoop?a=Q.LINE_LOOP:e.isLine?a=Q.LINE_STRIP:e.isPoints?a=Q.POINTS:a=e.material.wireframe?Q.LINES:Q.TRIANGLES;const l={},c={},d=[],u=[],g={...Ea>=152?{uv:"TEXCOORD_0",uv1:"TEXCOORD_1",uv2:"TEXCOORD_2",uv3:"TEXCOORD_3"}:{uv:"TEXCOORD_0",uv2:"TEXCOORD_1"},color:"COLOR_0",skinWeight:"WEIGHTS_0",skinIndex:"JOINTS_0"},_=o.getAttribute("normal");_!==void 0&&!this.isNormalizedNormalAttribute(_)&&(console.warn("THREE.GLTFExporter: Creating normalized normal attribute from the non-normalized one."),o.setAttribute("normal",this.createNormalizedNormalAttribute(_)));let m=null;for(let x in o.attributes){if(x.slice(0,5)==="morph")continue;const M=o.attributes[x];if(x=g[x]||x.toUpperCase(),/^(POSITION|NORMAL|TANGENT|TEXCOORD_\d+|COLOR_\d+|JOINTS_\d+|WEIGHTS_\d+)$/.test(x)||(x="_"+x),t.attributes.has(this.getUID(M))){c[x]=t.attributes.get(this.getUID(M));continue}m=null;const L=M.array;x==="JOINTS_0"&&!(L instanceof Uint16Array)&&!(L instanceof Uint8Array)&&(console.warn('GLTFExporter: Attribute "skinIndex" converted to type UNSIGNED_SHORT.'),m=new Ee(new Uint16Array(L),M.itemSize,M.normalized));const y=this.processAccessor(m||M,o);y!==null&&(x.startsWith("_")||this.detectMeshQuantization(x,M),c[x]=y,t.attributes.set(this.getUID(M),y))}if(_!==void 0&&o.setAttribute("normal",_),Object.keys(c).length===0)return null;if(e.morphTargetInfluences!==void 0&&e.morphTargetInfluences.length>0){const x=[],M=[],L={};if(e.morphTargetDictionary!==void 0)for(const y in e.morphTargetDictionary)L[e.morphTargetDictionary[y]]=y;for(let y=0;y<e.morphTargetInfluences.length;++y){const A={};let h=!1;for(const b in o.morphAttributes){if(b!=="position"&&b!=="normal"){h||(console.warn("GLTFExporter: Only POSITION and NORMAL morph are supported."),h=!0);continue}const f=o.morphAttributes[b][y],P=b.toUpperCase(),k=o.attributes[b];if(t.attributes.has(this.getUID(f,!0))){A[P]=t.attributes.get(this.getUID(f,!0));continue}const B=f.clone();if(!o.morphTargetsRelative)for(let V=0,j=f.count;V<j;V++)for(let N=0;N<f.itemSize;N++)N===0&&B.setX(V,f.getX(V)-k.getX(V)),N===1&&B.setY(V,f.getY(V)-k.getY(V)),N===2&&B.setZ(V,f.getZ(V)-k.getZ(V)),N===3&&B.setW(V,f.getW(V)-k.getW(V));A[P]=this.processAccessor(B,o),t.attributes.set(this.getUID(k,!0),A[P])}u.push(A),x.push(e.morphTargetInfluences[y]),e.morphTargetDictionary!==void 0&&M.push(L[y])}l.weights=x,M.length>0&&(l.extras={},l.extras.targetNames=M)}const C=Array.isArray(e.material);if(C&&o.groups.length===0)return null;const v=C?e.material:[e.material],E=C?o.groups:[{materialIndex:0,start:void 0,count:void 0}];for(let x=0,M=E.length;x<M;x++){const L={mode:a,attributes:c};if(this.serializeUserData(o,L),u.length>0&&(L.targets=u),o.index!==null){let A=this.getUID(o.index);(E[x].start!==void 0||E[x].count!==void 0)&&(A+=":"+E[x].start+":"+E[x].count),t.attributes.has(A)?L.indices=t.attributes.get(A):(L.indices=this.processAccessor(o.index,o,E[x].start,E[x].count),t.attributes.set(A,L.indices)),L.indices===null&&delete L.indices}const y=this.processMaterial(v[E[x].materialIndex]);y!==null&&(L.material=y),d.push(L)}l.primitives=d,r.meshes||(r.meshes=[]),this._invokeAll(function(x){x.writeMesh&&x.writeMesh(e,l)});const S=r.meshes.push(l)-1;return t.meshes.set(i,S),S}detectMeshQuantization(e,t){if(this.extensionsUsed[zr])return;let r;switch(t.array.constructor){case Int8Array:r="byte";break;case Uint8Array:r="unsigned byte";break;case Int16Array:r="short";break;case Uint16Array:r="unsigned short";break;default:return}t.normalized&&(r+=" normalized");const s=e.split("_",1)[0];Di[s]&&Di[s].includes(r)&&(this.extensionsUsed[zr]=!0,this.extensionsRequired[zr]=!0)}processCamera(e){const t=this.json;t.cameras||(t.cameras=[]);const r=e.isOrthographicCamera,s={type:r?"orthographic":"perspective"};return r?s.orthographic={xmag:e.right*2,ymag:e.top*2,zfar:e.far<=0?.001:e.far,znear:e.near<0?0:e.near}:s.perspective={aspectRatio:e.aspect,yfov:fe.degToRad(e.fov),zfar:e.far<=0?.001:e.far,znear:e.near<0?0:e.near},e.name!==""&&(s.name=e.type),t.cameras.push(s)-1}processAnimation(e,t){const r=this.json,s=this.nodeMap;r.animations||(r.animations=[]),e=Ma.Utils.mergeMorphTargetTracks(e.clone(),t);const i=e.tracks,o=[],a=[];for(let l=0;l<i.length;++l){const c=i[l],d=Tn.parseTrackName(c.name);let u=Tn.findNode(t,d.nodeName);const g=Ui[d.propertyName];if(d.objectName==="bones"&&(u.isSkinnedMesh===!0?u=u.skeleton.getBoneByName(d.objectIndex):u=void 0),!u||!g)return console.warn('THREE.GLTFExporter: Could not export animation track "%s".',c.name),null;const _=1;let m=c.values.length/c.times.length;g===Ui.morphTargetInfluences&&(m/=u.morphTargetInfluences.length);let C;c.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline===!0?(C="CUBICSPLINE",m/=3):c.getInterpolation()===fo?C="STEP":C="LINEAR",a.push({input:this.processAccessor(new Ee(c.times,_)),output:this.processAccessor(new Ee(c.values,m)),interpolation:C}),o.push({sampler:a.length-1,target:{node:s.get(u),path:g}})}return r.animations.push({name:e.name||"clip_"+r.animations.length,samplers:a,channels:o}),r.animations.length-1}processSkin(e){const t=this.json,r=this.nodeMap,s=t.nodes[r.get(e)],i=e.skeleton;if(i===void 0)return null;const o=e.skeleton.bones[0];if(o===void 0)return null;const a=[],l=new Float32Array(i.bones.length*16),c=new gt;for(let d=0;d<i.bones.length;++d)a.push(r.get(i.bones[d])),c.copy(i.boneInverses[d]),c.multiply(e.bindMatrix).toArray(l,d*16);return t.skins===void 0&&(t.skins=[]),t.skins.push({inverseBindMatrices:this.processAccessor(new Ee(l,16)),joints:a,skeleton:r.get(o)}),s.skin=t.skins.length-1}processNode(e){const t=this.json,r=this.options,s=this.nodeMap;t.nodes||(t.nodes=[]);const i={};if(r.trs){const a=e.quaternion.toArray(),l=e.position.toArray(),c=e.scale.toArray();vn(a,[0,0,0,1])||(i.rotation=a),vn(l,[0,0,0])||(i.translation=l),vn(c,[1,1,1])||(i.scale=c)}else e.matrixAutoUpdate&&e.updateMatrix(),gp(e.matrix)===!1&&(i.matrix=e.matrix.elements);if(e.name!==""&&(i.name=String(e.name)),this.serializeUserData(e,i),e.isMesh||e.isLine||e.isPoints){const a=this.processMesh(e);a!==null&&(i.mesh=a)}else e.isCamera&&(i.camera=this.processCamera(e));if(e.isSkinnedMesh&&this.skins.push(e),e.children.length>0){const a=[];for(let l=0,c=e.children.length;l<c;l++){const d=e.children[l];if(d.visible||r.onlyVisible===!1){const u=this.processNode(d);u!==null&&a.push(u)}}a.length>0&&(i.children=a)}this._invokeAll(function(a){a.writeNode&&a.writeNode(e,i)});const o=t.nodes.push(i)-1;return s.set(e,o),o}processScene(e){const t=this.json,r=this.options;t.scenes||(t.scenes=[],t.scene=0);const s={};e.name!==""&&(s.name=e.name),t.scenes.push(s);const i=[];for(let o=0,a=e.children.length;o<a;o++){const l=e.children[o];if(l.visible||r.onlyVisible===!1){const c=this.processNode(l);c!==null&&i.push(c)}}i.length>0&&(s.nodes=i),this.serializeUserData(e,s)}processObjects(e){const t=new rr;t.name="AuxScene";for(let r=0;r<e.length;r++)t.children.push(e[r]);this.processScene(t)}processInput(e){const t=this.options;e=e instanceof Array?e:[e],this._invokeAll(function(s){s.beforeParse&&s.beforeParse(e)});const r=[];for(let s=0;s<e.length;s++)e[s]instanceof rr?this.processScene(e[s]):r.push(e[s]);r.length>0&&this.processObjects(r);for(let s=0;s<this.skins.length;++s)this.processSkin(this.skins[s]);for(let s=0;s<t.animations.length;++s)this.processAnimation(t.animations[s],e[0]);this._invokeAll(function(s){s.afterParse&&s.afterParse(e)})}_invokeAll(e){for(let t=0,r=this.plugins.length;t<r;t++)e(this.plugins[t])}}class _p{constructor(e){this.writer=e,this.name="KHR_lights_punctual"}writeNode(e,t){if(!e.isLight)return;if(!e.isDirectionalLight&&!e.isPointLight&&!e.isSpotLight){console.warn("THREE.GLTFExporter: Only directional, point, and spot lights are supported.",e);return}const r=this.writer,s=r.json,i=r.extensionsUsed,o={};e.name&&(o.name=e.name),o.color=e.color.toArray(),o.intensity=e.intensity,e.isDirectionalLight?o.type="directional":e.isPointLight?(o.type="point",e.distance>0&&(o.range=e.distance)):e.isSpotLight&&(o.type="spot",e.distance>0&&(o.range=e.distance),o.spot={},o.spot.innerConeAngle=(e.penumbra-1)*e.angle*-1,o.spot.outerConeAngle=e.angle),e.decay!==void 0&&e.decay!==2&&console.warn("THREE.GLTFExporter: Light decay may be lost. glTF is physically-based, and expects light.decay=2."),e.target&&(e.target.parent!==e||e.target.position.x!==0||e.target.position.y!==0||e.target.position.z!==-1)&&console.warn("THREE.GLTFExporter: Light direction may be lost. For best results, make light.target a child of the light with position 0,0,-1."),i[this.name]||(s.extensions=s.extensions||{},s.extensions[this.name]={lights:[]},i[this.name]=!0);const a=s.extensions[this.name].lights;a.push(o),t.extensions=t.extensions||{},t.extensions[this.name]={light:a.length-1}}}let yp=class{constructor(n){this.writer=n,this.name="KHR_materials_unlit"}writeMaterial(n,e){if(!n.isMeshBasicMaterial)return;const t=this.writer.extensionsUsed;e.extensions=e.extensions||{},e.extensions[this.name]={},t[this.name]=!0,e.pbrMetallicRoughness.metallicFactor=0,e.pbrMetallicRoughness.roughnessFactor=.9}},xp=class{constructor(n){this.writer=n,this.name="KHR_materials_clearcoat"}writeMaterial(n,e){if(!n.isMeshPhysicalMaterial||n.clearcoat===0)return;const t=this.writer,r=t.extensionsUsed,s={};if(s.clearcoatFactor=n.clearcoat,n.clearcoatMap){const i={index:t.processTexture(n.clearcoatMap),texCoord:n.clearcoatMap.channel};t.applyTextureTransform(i,n.clearcoatMap),s.clearcoatTexture=i}if(s.clearcoatRoughnessFactor=n.clearcoatRoughness,n.clearcoatRoughnessMap){const i={index:t.processTexture(n.clearcoatRoughnessMap),texCoord:n.clearcoatRoughnessMap.channel};t.applyTextureTransform(i,n.clearcoatRoughnessMap),s.clearcoatRoughnessTexture=i}if(n.clearcoatNormalMap){const i={index:t.processTexture(n.clearcoatNormalMap),texCoord:n.clearcoatNormalMap.channel};t.applyTextureTransform(i,n.clearcoatNormalMap),s.clearcoatNormalTexture=i}e.extensions=e.extensions||{},e.extensions[this.name]=s,r[this.name]=!0}},Cp=class{constructor(n){this.writer=n,this.name="KHR_materials_iridescence"}writeMaterial(n,e){if(!n.isMeshPhysicalMaterial||n.iridescence===0)return;const t=this.writer,r=t.extensionsUsed,s={};if(s.iridescenceFactor=n.iridescence,n.iridescenceMap){const i={index:t.processTexture(n.iridescenceMap),texCoord:n.iridescenceMap.channel};t.applyTextureTransform(i,n.iridescenceMap),s.iridescenceTexture=i}if(s.iridescenceIor=n.iridescenceIOR,s.iridescenceThicknessMinimum=n.iridescenceThicknessRange[0],s.iridescenceThicknessMaximum=n.iridescenceThicknessRange[1],n.iridescenceThicknessMap){const i={index:t.processTexture(n.iridescenceThicknessMap),texCoord:n.iridescenceThicknessMap.channel};t.applyTextureTransform(i,n.iridescenceThicknessMap),s.iridescenceThicknessTexture=i}e.extensions=e.extensions||{},e.extensions[this.name]=s,r[this.name]=!0}},Pp=class{constructor(n){this.writer=n,this.name="KHR_materials_transmission"}writeMaterial(n,e){if(!n.isMeshPhysicalMaterial||n.transmission===0)return;const t=this.writer,r=t.extensionsUsed,s={};if(s.transmissionFactor=n.transmission,n.transmissionMap){const i={index:t.processTexture(n.transmissionMap),texCoord:n.transmissionMap.channel};t.applyTextureTransform(i,n.transmissionMap),s.transmissionTexture=i}e.extensions=e.extensions||{},e.extensions[this.name]=s,r[this.name]=!0}},Tp=class{constructor(n){this.writer=n,this.name="KHR_materials_volume"}writeMaterial(n,e){if(!n.isMeshPhysicalMaterial||n.transmission===0)return;const t=this.writer,r=t.extensionsUsed,s={};if(s.thicknessFactor=n.thickness,n.thicknessMap){const i={index:t.processTexture(n.thicknessMap),texCoord:n.thicknessMap.channel};t.applyTextureTransform(i,n.thicknessMap),s.thicknessTexture=i}s.attenuationDistance=n.attenuationDistance,s.attenuationColor=n.attenuationColor.toArray(),e.extensions=e.extensions||{},e.extensions[this.name]=s,r[this.name]=!0}},Ep=class{constructor(n){this.writer=n,this.name="KHR_materials_ior"}writeMaterial(n,e){if(!n.isMeshPhysicalMaterial||n.ior===1.5)return;const t=this.writer.extensionsUsed,r={};r.ior=n.ior,e.extensions=e.extensions||{},e.extensions[this.name]=r,t[this.name]=!0}},Mp=class{constructor(n){this.writer=n,this.name="KHR_materials_specular"}writeMaterial(n,e){if(!n.isMeshPhysicalMaterial||n.specularIntensity===1&&n.specularColor.equals(dp)&&!n.specularIntensityMap&&!n.specularColorTexture)return;const t=this.writer,r=t.extensionsUsed,s={};if(n.specularIntensityMap){const i={index:t.processTexture(n.specularIntensityMap),texCoord:n.specularIntensityMap.channel};t.applyTextureTransform(i,n.specularIntensityMap),s.specularTexture=i}if(n.specularColorMap){const i={index:t.processTexture(n.specularColorMap),texCoord:n.specularColorMap.channel};t.applyTextureTransform(i,n.specularColorMap),s.specularColorTexture=i}s.specularFactor=n.specularIntensity,s.specularColorFactor=n.specularColor.toArray(),e.extensions=e.extensions||{},e.extensions[this.name]=s,r[this.name]=!0}},Ap=class{constructor(n){this.writer=n,this.name="KHR_materials_sheen"}writeMaterial(n,e){if(!n.isMeshPhysicalMaterial||n.sheen==0)return;const t=this.writer,r=t.extensionsUsed,s={};if(n.sheenRoughnessMap){const i={index:t.processTexture(n.sheenRoughnessMap),texCoord:n.sheenRoughnessMap.channel};t.applyTextureTransform(i,n.sheenRoughnessMap),s.sheenRoughnessTexture=i}if(n.sheenColorMap){const i={index:t.processTexture(n.sheenColorMap),texCoord:n.sheenColorMap.channel};t.applyTextureTransform(i,n.sheenColorMap),s.sheenColorTexture=i}s.sheenRoughnessFactor=n.sheenRoughness,s.sheenColorFactor=n.sheenColor.toArray(),e.extensions=e.extensions||{},e.extensions[this.name]=s,r[this.name]=!0}},Sp=class{constructor(n){this.writer=n,this.name="KHR_materials_anisotropy"}writeMaterial(n,e){if(!n.isMeshPhysicalMaterial||n.anisotropy==0)return;const t=this.writer,r=t.extensionsUsed,s={};if(n.anisotropyMap){const i={index:t.processTexture(n.anisotropyMap)};t.applyTextureTransform(i,n.anisotropyMap),s.anisotropyTexture=i}s.anisotropyStrength=n.anisotropy,s.anisotropyRotation=n.anisotropyRotation,e.extensions=e.extensions||{},e.extensions[this.name]=s,r[this.name]=!0}},kp=class{constructor(n){this.writer=n,this.name="KHR_materials_emissive_strength"}writeMaterial(n,e){if(!n.isMeshStandardMaterial||n.emissiveIntensity===1)return;const t=this.writer.extensionsUsed,r={};r.emissiveStrength=n.emissiveIntensity,e.extensions=e.extensions||{},e.extensions[this.name]=r,t[this.name]=!0}};var Un=Uint8Array,Sa=Uint16Array,Lp=Uint32Array,Rp=new Un([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Ip=new Un([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),ka=function(n,e){for(var t=new Sa(31),r=0;r<31;++r)t[r]=e+=1<<n[r-1];
55for(var s=new Lp(t[30]),r=1;r<30;++r)for(var i=t[r];i<t[r+1];++i)s[i]=i-t[r]<<5|r;return[t,s]},La=ka(Rp,2),Op=La[0],Fp=La[1];Op[28]=258,Fp[258]=28;ka(Ip,0);var Vp=new Sa(32768);for(var de=0;de<32768;++de){var Tt=(de&43690)>>>1|(de&21845)<<1;Tt=(Tt&52428)>>>2|(Tt&13107)<<2,Tt=(Tt&61680)>>>4|(Tt&3855)<<4,Vp[de]=((Tt&65280)>>>8|(Tt&255)<<8)>>>1}var Cr=new Un(288);for(var de=0;de<144;++de)Cr[de]=8;for(var de=144;de<256;++de)Cr[de]=9;for(var de=256;de<280;++de)Cr[de]=7;for(var de=280;de<288;++de)Cr[de]=8;var Np=new Un(32);for(var de=0;de<32;++de)Np[de]=5;var Dp=new Un(0),Up=typeof TextDecoder<"u"&&new TextDecoder,Bp=0;try{Up.decode(Dp,{stream:!0}),Bp=1}catch{}new Bl;new H;new wo(0,0,0,"YXZ");new H;new jl;new bo;class jp extends vs{constructor(e){super(e),this.dracoLoader=null,this.ktx2Loader=null,this.meshoptDecoder=null,this.pluginCallbacks=[],this.register(function(t){return new Kp(t)}),this.register(function(t){return new ef(t)}),this.register(function(t){return new tf(t)}),this.register(function(t){return new nf(t)}),this.register(function(t){return new qp(t)}),this.register(function(t){return new Xp(t)}),this.register(function(t){return new Yp(t)}),this.register(function(t){return new Zp(t)}),this.register(function(t){return new $p(t)}),this.register(function(t){return new Qp(t)}),this.register(function(t){return new Wp(t)}),this.register(function(t){return new Jp(t)}),this.register(function(t){return new Gp(t)}),this.register(function(t){return new rf(t)}),this.register(function(t){return new sf(t)})}load(e,t,r,s){const i=this;let o;this.resourcePath!==""?o=this.resourcePath:this.path!==""?o=this.path:o=Bt.extractUrlBase(e),this.manager.itemStart(e);const a=function(c){s?s(c):console.error(c),i.manager.itemError(e),i.manager.itemEnd(e)},l=new Cn(this.manager);l.setPath(this.path),l.setResponseType("arraybuffer"),l.setRequestHeader(this.requestHeader),l.setWithCredentials(this.withCredentials),l.load(e,function(c){try{i.parse(c,o,function(d){t(d),i.manager.itemEnd(e)},a)}catch(d){a(d)}},r,a)}setDRACOLoader(e){return this.dracoLoader=e,this}setDDSLoader(){throw new Error('THREE.GLTFLoader: "MSFT_texture_dds" no longer supported. Please update to "KHR_texture_basisu".')}setKTX2Loader(e){return this.ktx2Loader=e,this}setMeshoptDecoder(e){return this.meshoptDecoder=e,this}register(e){return this.pluginCallbacks.indexOf(e)===-1&&this.pluginCallbacks.push(e),this}unregister(e){return this.pluginCallbacks.indexOf(e)!==-1&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(e),1),this}parse(e,t,r,s){let i;const o={},a={};if(typeof e=="string")i=JSON.parse(e);else if(e instanceof ArrayBuffer)if(Bt.decodeText(new Uint8Array(e.slice(0,4)))===Ra){try{o[J.KHR_BINARY_GLTF]=new of(e)}catch(c){s&&s(c);return}i=JSON.parse(o[J.KHR_BINARY_GLTF].content)}else i=JSON.parse(Bt.decodeText(new Uint8Array(e)));else i=e;if(i.asset===void 0||i.asset.version[0]<2){s&&s(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));return}const l=new bf(i,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});l.fileLoader.setRequestHeader(this.requestHeader);for(let c=0;c<this.pluginCallbacks.length;c++){const d=this.pluginCallbacks[c](l);a[d.name]=d,o[d.name]=!0}if(i.extensionsUsed)for(let c=0;c<i.extensionsUsed.length;++c){const d=i.extensionsUsed[c],u=i.extensionsRequired||[];switch(d){case J.KHR_MATERIALS_UNLIT:o[d]=new Hp;break;case J.KHR_DRACO_MESH_COMPRESSION:o[d]=new af(i,this.dracoLoader);break;case J.KHR_TEXTURE_TRANSFORM:o[d]=new lf;break;case J.KHR_MESH_QUANTIZATION:o[d]=new cf;break;default:u.indexOf(d)>=0&&a[d]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+d+'".')}}l.setExtensions(o),l.setPlugins(a),l.parse(r,s)}parseAsync(e,t){const r=this;return new Promise(function(s,i){r.parse(e,t,s,i)})}}function zp(){let n={};return{get:function(e){return n[e]},add:function(e,t){n[e]=t},remove:function(e){delete n[e]},removeAll:function(){n={}}}}const J={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class Gp{constructor(e){this.parser=e,this.name=J.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const e=this.parser,t=this.parser.json.nodes||[];for(let r=0,s=t.length;r<s;r++){const i=t[r];
vendor: 10,211 bytes, line 55
55i.extensions&&i.extensions[this.name]&&i.extensions[this.name].light!==void 0&&e._addNodeRef(this.cache,i.extensions[this.name].light)}}_loadLight(e){const t=this.parser,r="light:"+e;let s=t.cache.get(r);if(s)return s;const i=t.json,o=((i.extensions&&i.extensions[this.name]||{}).lights||[])[e];let a;const l=new Pe(16777215);o.color!==void 0&&l.fromArray(o.color);const c=o.range!==void 0?o.range:0;switch(o.type){case"directional":a=new xl(l),a.target.position.set(0,0,-1),a.add(a.target);break;case"point":a=new yl(l),a.distance=c;break;case"spot":a=new _l(l),a.distance=c,o.spot=o.spot||{},o.spot.innerConeAngle=o.spot.innerConeAngle!==void 0?o.spot.innerConeAngle:0,o.spot.outerConeAngle=o.spot.outerConeAngle!==void 0?o.spot.outerConeAngle:Math.PI/4,a.angle=o.spot.outerConeAngle,a.penumbra=1-o.spot.innerConeAngle/o.spot.outerConeAngle,a.target.position.set(0,0,-1),a.add(a.target);break;default:throw new Error("THREE.GLTFLoader: Unexpected light type: "+o.type)}return a.position.set(0,0,0),a.decay=2,Mt(a,o),o.intensity!==void 0&&(a.intensity=o.intensity),a.name=t.createUniqueName(o.name||"light_"+e),s=Promise.resolve(a),t.cache.add(r,s),s}getDependency(e,t){if(e==="light")return this._loadLight(t)}createNodeAttachment(e){const t=this,r=this.parser,s=r.json.nodes[e],i=(s.extensions&&s.extensions[this.name]||{}).light;return i===void 0?null:this._loadLight(i).then(function(o){return r._getNodeRef(t.cache,i,o)})}}class Hp{constructor(){this.name=J.KHR_MATERIALS_UNLIT}getMaterialType(){return Dt}extendParams(e,t,r){const s=[];e.color=new Pe(1,1,1),e.opacity=1;const i=t.pbrMetallicRoughness;if(i){if(Array.isArray(i.baseColorFactor)){const o=i.baseColorFactor;e.color.fromArray(o),e.opacity=o[3]}i.baseColorTexture!==void 0&&s.push(r.assignTexture(e,"map",i.baseColorTexture,3001))}return Promise.all(s)}}class $p{constructor(e){this.parser=e,this.name=J.KHR_MATERIALS_EMISSIVE_STRENGTH}extendMaterialParams(e,t){const r=this.parser.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const s=r.extensions[this.name].emissiveStrength;return s!==void 0&&(t.emissiveIntensity=s),Promise.resolve()}}class Kp{constructor(e){this.parser=e,this.name=J.KHR_MATERIALS_CLEARCOAT}getMaterialType(e){const t=this.parser.json.materials[e];return!t.extensions||!t.extensions[this.name]?null:It}extendMaterialParams(e,t){const r=this.parser,s=r.json.materials[e];if(!s.extensions||!s.extensions[this.name])return Promise.resolve();const i=[],o=s.extensions[this.name];if(o.clearcoatFactor!==void 0&&(t.clearcoat=o.clearcoatFactor),o.clearcoatTexture!==void 0&&i.push(r.assignTexture(t,"clearcoatMap",o.clearcoatTexture)),o.clearcoatRoughnessFactor!==void 0&&(t.clearcoatRoughness=o.clearcoatRoughnessFactor),o.clearcoatRoughnessTexture!==void 0&&i.push(r.assignTexture(t,"clearcoatRoughnessMap",o.clearcoatRoughnessTexture)),o.clearcoatNormalTexture!==void 0&&(i.push(r.assignTexture(t,"clearcoatNormalMap",o.clearcoatNormalTexture)),o.clearcoatNormalTexture.scale!==void 0)){const a=o.clearcoatNormalTexture.scale;t.clearcoatNormalScale=new ot(a,a)}return Promise.all(i)}}class Wp{constructor(e){this.parser=e,this.name=J.KHR_MATERIALS_IRIDESCENCE}getMaterialType(e){const t=this.parser.json.materials[e];return!t.extensions||!t.extensions[this.name]?null:It}extendMaterialParams(e,t){const r=this.parser,s=r.json.materials[e];if(!s.extensions||!s.extensions[this.name])return Promise.resolve();const i=[],o=s.extensions[this.name];return o.iridescenceFactor!==void 0&&(t.iridescence=o.iridescenceFactor),o.iridescenceTexture!==void 0&&i.push(r.assignTexture(t,"iridescenceMap",o.iridescenceTexture)),o.iridescenceIor!==void 0&&(t.iridescenceIOR=o.iridescenceIor),t.iridescenceThicknessRange===void 0&&(t.iridescenceThicknessRange=[100,400]),o.iridescenceThicknessMinimum!==void 0&&(t.iridescenceThicknessRange[0]=o.iridescenceThicknessMinimum),o.iridescenceThicknessMaximum!==void 0&&(t.iridescenceThicknessRange[1]=o.iridescenceThicknessMaximum),o.iridescenceThicknessTexture!==void 0&&i.push(r.assignTexture(t,"iridescenceThicknessMap",o.iridescenceThicknessTexture)),Promise.all(i)}}class qp{constructor(e){this.parser=e,this.name=J.KHR_MATERIALS_SHEEN}getMaterialType(e){const t=this.parser.json.materials[e];return!t.extensions||!t.extensions[this.name]?null:It}extendMaterialParams(e,t){const r=this.parser,s=r.json.materials[e];if(!s.extensions||!s.extensions[this.name])return Promise.resolve();const i=[];t.sheenColor=new Pe(0,0,0),t.sheenRoughness=0,t.sheen=1;const o=s.extensions[this.name];return o.sheenColorFactor!==void 0&&t.sheenColor.fromArray(o.sheenColorFactor),o.sheenRoughnessFactor!==void 0&&(t.sheenRoughness=o.sheenRoughnessFactor),o.sheenColorTexture!==void 0&&i.push(r.assignTexture(t,"sheenColorMap",o.sheenColorTexture,3001)),o.sheenRoughnessTexture!==void 0&&i.push(r.assignTexture(t,"sheenRoughnessMap",o.sheenRoughnessTexture)),Promise.all(i)}}class Xp{constructor(e){this.parser=e,this.name=J.KHR_MATERIALS_TRANSMISSION}getMaterialType(e){const t=this.parser.json.materials[e];return!t.extensions||!t.extensions[this.name]?null:It}extendMaterialParams(e,t){const r=this.parser,s=r.json.materials[e];if(!s.extensions||!s.extensions[this.name])return Promise.resolve();const i=[],o=s.extensions[this.name];return o.transmissionFactor!==void 0&&(t.transmission=o.transmissionFactor),o.transmissionTexture!==void 0&&i.push(r.assignTexture(t,"transmissionMap",o.transmissionTexture)),Promise.all(i)}}class Yp{constructor(e){this.parser=e,this.name=J.KHR_MATERIALS_VOLUME}getMaterialType(e){const t=this.parser.json.materials[e];return!t.extensions||!t.extensions[this.name]?null:It}extendMaterialParams(e,t){const r=this.parser,s=r.json.materials[e];if(!s.extensions||!s.extensions[this.name])return Promise.resolve();const i=[],o=s.extensions[this.name];t.thickness=o.thicknessFactor!==void 0?o.thicknessFactor:0,o.thicknessTexture!==void 0&&i.push(r.assignTexture(t,"thicknessMap",o.thicknessTexture)),t.attenuationDistance=o.attenuationDistance||1/0;const a=o.attenuationColor||[1,1,1];return t.attenuationColor=new Pe(a[0],a[1],a[2]),Promise.all(i)}}class Zp{constructor(e){this.parser=e,this.name=J.KHR_MATERIALS_IOR}getMaterialType(e){const t=this.parser.json.materials[e];return!t.extensions||!t.extensions[this.name]?null:It}extendMaterialParams(e,t){const r=this.parser.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const s=r.extensions[this.name];return t.ior=s.ior!==void 0?s.ior:1.5,Promise.resolve()}}class Qp{constructor(e){this.parser=e,this.name=J.KHR_MATERIALS_SPECULAR}getMaterialType(e){const t=this.parser.json.materials[e];return!t.extensions||!t.extensions[this.name]?null:It}extendMaterialParams(e,t){const r=this.parser,s=r.json.materials[e];if(!s.extensions||!s.extensions[this.name])return Promise.resolve();const i=[],o=s.extensions[this.name];t.specularIntensity=o.specularFactor!==void 0?o.specularFactor:1,o.specularTexture!==void 0&&i.push(r.assignTexture(t,"specularIntensityMap",o.specularTexture));const a=o.specularColorFactor||[1,1,1];return t.specularColor=new Pe(a[0],a[1],a[2]),o.specularColorTexture!==void 0&&i.push(r.assignTexture(t,"specularColorMap",o.specularColorTexture,3001)),Promise.all(i)}}class Jp{constructor(e){this.parser=e,this.name=J.KHR_MATERIALS_ANISOTROPY}getMaterialType(e){const t=this.parser.json.materials[e];return!t.extensions||!t.extensions[this.name]?null:It}extendMaterialParams(e,t){const r=this.parser,s=r.json.materials[e];if(!s.extensions||!s.extensions[this.name])return Promise.resolve();const i=[],o=s.extensions[this.name];return o.anisotropyStrength!==void 0&&(t.anisotropy=o.anisotropyStrength),o.anisotropyRotation!==void 0&&(t.anisotropyRotation=o.anisotropyRotation),o.anisotropyTexture!==void 0&&i.push(r.assignTexture(t,"anisotropyMap",o.anisotropyTexture)),Promise.all(i)}}class ef{constructor(e){this.parser=e,this.name=J.KHR_TEXTURE_BASISU}loadTexture(e){const t=this.parser,r=t.json,s=r.textures[e];if(!s.extensions||!s.extensions[this.name])return null;const i=s.extensions[this.name],o=t.options.ktx2Loader;if(!o){if(r.extensionsRequired&&r.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return t.loadTextureImage(e,i.source,o)}}class tf{constructor(e){this.parser=e,this.name=J.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){const t=this.name,r=this.parser,s=r.json,i=s.textures[e];if(!i.extensions||!i.extensions[t])return null;const o=i.extensions[t],a=s.images[o.source];let l=r.textureLoader;if(a.uri){const c=r.options.manager.getHandler(a.uri);c!==null&&(l=c)}return this.detectSupport().then(function(c){if(c)return r.loadTextureImage(e,o.source,l);if(s.extensionsRequired&&s.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return r.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class nf{constructor(e){this.parser=e,this.name=J.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){const t=this.name,r=this.parser,s=r.json,i=s.textures[e];if(!i.extensions||!i.extensions[t])return null;const o=i.extensions[t],a=s.images[o.source];let l=r.textureLoader;if(a.uri){const c=r.options.manager.getHandler(a.uri);c!==null&&(l=c)}return this.detectSupport().then(function(c){if(c)return r.loadTextureImage(e,o.source,l);if(s.extensionsRequired&&s.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return r.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdj
55FDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class rf{constructor(e){this.name=J.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){const t=this.parser.json,r=t.bufferViews[e];if(r.extensions&&r.extensions[this.name]){const s=r.extensions[this.name],i=this.parser.getDependency("buffer",s.buffer),o=this.parser.options.meshoptDecoder;if(!o||!o.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return i.then(function(a){const l=s.byteOffset||0,c=s.byteLength||0,d=s.count,u=s.byteStride,g=new Uint8Array(a,l,c);return o.decodeGltfBufferAsync?o.decodeGltfBufferAsync(d,u,g,s.mode,s.filter).then(function(_){return _.buffer}):o.ready.then(function(){const _=new ArrayBuffer(d*u);return o.decodeGltfBuffer(new Uint8Array(_),d,u,g,s.mode,s.filter),_})})}else return null}}class sf{constructor(e){this.name=J.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){const t=this.parser.json,r=t.nodes[e];if(!r.extensions||!r.extensions[this.name]||r.mesh===void 0)return null;const s=t.meshes[r.mesh];for(const l of s.primitives)if(l.mode!==Ye.TRIANGLES&&l.mode!==Ye.TRIANGLE_STRIP&&l.mode!==Ye.TRIANGLE_FAN&&l.mode!==void 0)return null;const i=r.extensions[this.name].attributes,o=[],a={};for(const l in i)o.push(this.parser.getDependency("accessor",i[l]).then(c=>(a[l]=c,a[l])));return o.length<1?null:(o.push(this.parser.createNodeMesh(e)),Promise.all(o).then(l=>{const c=l.pop(),d=c.isGroup?c.children:[c],u=l[0].count,g=[];for(const _ of d){const m=new gt,C=new H,v=new ro,E=new H(1,1,1),S=new Cl(_.geometry,_.material,u);for(let x=0;x<u;x++)a.TRANSLATION&&C.fromBufferAttribute(a.TRANSLATION,x),a.ROTATION&&v.fromBufferAttribute(a.ROTATION,x),a.SCALE&&E.fromBufferAttribute(a.SCALE,x),S.setMatrixAt(x,m.compose(C,v,E));for(const x in a)x!=="TRANSLATION"&&x!=="ROTATION"&&x!=="SCALE"&&_.geometry.setAttribute(x,a[x]);so.prototype.copy.call(S,_),this.parser.assignFinalMaterial(S),g.push(S)}return c.isGroup?(c.clear(),c.add(...g),c):g[0]}))}}const Ra="glTF",mn=12,Hi={JSON:1313821514,BIN:5130562};class of{constructor(e){this.name=J.KHR_BINARY_GLTF,this.content=null,this.body=null;const t=new DataView(e,0,mn);if(this.header={magic:Bt.decodeText(new Uint8Array(e.slice(0,4))),version:t.getUint32(4,!0),length:t.getUint32(8,!0)},this.header.magic!==Ra)throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");if(this.header.version<2)throw new Error("THREE.GLTFLoader: Legacy binary file detected.");const r=this.header.length-mn,s=new DataView(e,mn);let i=0;for(;i<r;){const o=s.getUint32(i,!0);i+=4;const a=s.getUint32(i,!0);if(i+=4,a===Hi.JSON){const l=new Uint8Array(e,mn+i,o);this.content=Bt.decodeText(l)}else if(a===Hi.BIN){const l=mn+i;this.body=e.slice(l,l+o)}i+=o}if(this.content===null)throw new Error("THREE.GLTFLoader: JSON content not found.")}}class af{constructor(e,t){if(!t)throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");this.name=J.KHR_DRACO_MESH_COMPRESSION,this.json=e,this.dracoLoader=t,this.dracoLoader.preload()}decodePrimitive(e,t){const r=this.json,s=this.dracoLoader,i=e.extensions[this.name].bufferView,o=e.extensions[this.name].attributes,a={},l={},c={};for(const d in o){const u=cs[d]||d.toLowerCase();a[u]=o[d]}for(const d in e.attributes){const u=cs[d]||d.toLowerCase();if(o[d]!==void 0){const g=r.accessors[e.attributes[d]],_=rn[g.componentType];c[u]=_.name,l[u]=g.normalized===!0}}return t.getDependency("bufferView",i).then(function(d){return new Promise(function(u){s.decodeDracoFile(d,function(g){for(const _ in g.attributes){const m=g.attributes[_],C=l[_];C!==void 0&&(m.normalized=C)}u(g)},a,c)})})}}class lf{constructor(){this.name=J.KHR_TEXTURE_TRANSFORM}extendTexture(e,t){return(t.texCoord===void 0||t.texCoord===e.channel)&&t.offset===void 0&&t.rotation===void 0&&t.scale===void 0||(e=e.clone(),t.texCoord!==void 0&&(e.channel=t.texCoord),t.offset!==void 0&&e.offset.fromArray(t.offset),t.rotation!==void 0&&(e.rotation=t.rotation),t.scale!==void 0&&e.repeat.fromArray(t.scale),e.needsUpdate=!0),e}}class cf{constructor(){this.name=J.KHR_MESH_QUANTIZATION}}class Ia extends Ul{constructor(e,t,r,s){super(e,t,r,s)}copySampleValue_(e){const t=this.resultBuffer,r=this.sampleValues,s=this.valueSize,i=e*s*3+s;for(let o=0;o!==s;o++)t[o]=r[i+o];return t}interpolate_(e,t,r,s){const i=this.resultBuffer,o=this.sampleValues,a=this.valueSize,l=a*2,c=a*3,d=s-t,u=(r-t)/d,g=u*u,_=g*u,m=e*c,C=m-c,v=-2*_+3*g,E=_-g,S=1-v,x=E-g+u;for(let M=0;M!==a;M++){const L=o[C+M+a],y=o[C+M+l]*d,A=o[m+M+a],h=o[m+M]*d;i[M]=S*L+x*y+v*A+E*h}return i}}const uf=new ro;class df extends Ia{interpolate_(e,t,r,s){const i=super.interpolate_(e,t,r,s);return uf.fromArray(i).normalize().toArray(i),i}}const Ye={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},rn={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},$i={9728:uo,9729:pt,9984:co,9985:lo,9986:ao,9987:gs},Ki={33071:tt,33648:ho,10497:Pn},Hr={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},cs={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",...Ea>=152?{TEXCOORD_0:"uv",TEXCOORD_1:"uv1",TEXCOORD_2:"uv2",TEXCOORD_3:"uv3"}:{TEXCOORD_0:"uv",TEXCOORD_1:"uv2"},COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},Et={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},hf={CUBICSPLINE:void 0,LINEAR:ws,STEP:fo},$r={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function pf(n){return n.DefaultMaterial===void 0&&(n.DefaultMaterial=new po({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:Nl})),n.DefaultMaterial}function Vt(n,e,t){for(const r in t.extensions)n[r]===void 0&&(e.userData.gltfExtensions=e.userData.gltfExtensions||{},e.userData.gltfExtensions[r]=t.extensions[r])}function Mt(n,e){e.extras!==void 0&&(typeof e.extras=="object"?Object.assign(n.userData,e.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+e.extras))}function ff(n,e,t){let r=!1,s=!1,i=!1;for(let c=0,d=e.length;c<d;c++){const u=e[c];if(u.POSITION!==void 0&&(r=!0),u.NORMAL!==void 0&&(s=!0),u.COLOR_0!==void 0&&(i=!0),r&&s&&i)break}if(!r&&!s&&!i)return Promise.resolve(n);const o=[],a=[],l=[];for(let c=0,d=e.length;c<d;c++){const u=e[c];if(r){const g=u.POSITION!==void 0?t.getDependency("accessor",u.POSITION):n.attributes.position;o.push(g)}if(s){const g=u.NORMAL!==void 0?t.getDependency("accessor",u.NORMAL):n.attributes.normal;a.push(g)}if(i){const g=u.COLOR_0!==void 0?t.getDependency("accessor",u.COLOR_0):n.attributes.color;l.push(g)}}return Promise.all([Promise.all(o),Promise.all(a),Promise.all(l)]).then(function(c){const d=c[0],u=c[1],g=c[2];return r&&(n.morphAttributes.position=d),s&&(n.morphAttributes.normal=u),i&&(n.morphAttributes.color=g),n.morphTargetsRelative=!0,n})}function mf(n,e){if(n.updateMorphTargets(),e.weights!==void 0)for(let t=0,r=e.weights.length;t<r;t++)n.morphTargetInfluences[t]=e.weights[t];if(e.extras&&Array.isArray(e.extras.targetNames)){const t=e.extras.targetNames;if(n.morphTargetInfluences.length===t.length){n.morphTargetDictionary={};for(let r=0,s=t.length;r<s;r++)n.morphTargetDictionary[t[r]]=r}else console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.")}}function vf(n){let e;const t=n.extensions&&n.extensions[J.KHR_DRACO_MESH_COMPRESSION];if(t?e="draco:"+t.bufferView+":"+t.indices+":"+Kr(t.attributes):e=n.indices+":"+Kr(n.attributes)+":"+n.mode,n.targets!==void 0)for(let r=0,s=n.targets.length;r<s;r++)e+=":"+Kr(n.targets[r]);return e}function Kr(n){let e="";const t=Object.keys(n).sort();for(let r=0,s=t.length;r<s;r++)e+=t[r]+":"+n[t[r]]+";";return e}function us(n){switch(n){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.")}}function gf(n){return n.search(/\.jpe?g($|\?)/i)>0||n.search(/^data\:image\/jpeg/)===0?"image/jpeg":n.search(/\.webp($|\?)/i)>0||n.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const wf=new gt;class bf{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new zp,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let r=!1,s=!1,i=-1;typeof navigator<"u"&&typeof navigator.userAgent<"u"&&(r=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,s=navigator.userAgent.indexOf("Firefox")>-1,i=s?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap>"u"||r||s&&i<98?this.textureLoader=new io(this.options.manager):this.textureLoader=new Pl(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new Cn(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){const r=this,s=this.json,i=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(o){return o._markDefs&&o._markDefs()}),Promise.all(this._invokeAll(function(o){return o.beforeRoot&&o.beforeRoot()}
vendor: 5,477 bytes, line 55
55)).then(function(){return Promise.all([r.getDependencies("scene"),r.getDependencies("animation"),r.getDependencies("camera")])}).then(function(o){const a={scene:o[0][s.scene||0],scenes:o[0],animations:o[1],cameras:o[2],asset:s.asset,parser:r,userData:{}};Vt(i,a,s),Mt(a,s),Promise.all(r._invokeAll(function(l){return l.afterRoot&&l.afterRoot(a)})).then(function(){e(a)})}).catch(t)}_markDefs(){const e=this.json.nodes||[],t=this.json.skins||[],r=this.json.meshes||[];for(let s=0,i=t.length;s<i;s++){const o=t[s].joints;for(let a=0,l=o.length;a<l;a++)e[o[a]].isBone=!0}for(let s=0,i=e.length;s<i;s++){const o=e[s];o.mesh!==void 0&&(this._addNodeRef(this.meshCache,o.mesh),o.skin!==void 0&&(r[o.mesh].isSkinnedMesh=!0)),o.camera!==void 0&&this._addNodeRef(this.cameraCache,o.camera)}}_addNodeRef(e,t){t!==void 0&&(e.refs[t]===void 0&&(e.refs[t]=e.uses[t]=0),e.refs[t]++)}_getNodeRef(e,t,r){if(e.refs[t]<=1)return r;const s=r.clone(),i=(o,a)=>{const l=this.associations.get(o);l!=null&&this.associations.set(a,l);for(const[c,d]of o.children.entries())i(d,a.children[c])};return i(r,s),s.name+="_instance_"+e.uses[t]++,s}_invokeOne(e){const t=Object.values(this.plugins);t.push(this);for(let r=0;r<t.length;r++){const s=e(t[r]);if(s)return s}return null}_invokeAll(e){const t=Object.values(this.plugins);t.unshift(this);const r=[];for(let s=0;s<t.length;s++){const i=e(t[s]);i&&r.push(i)}return r}getDependency(e,t){const r=e+":"+t;let s=this.cache.get(r);if(!s){switch(e){case"scene":s=this.loadScene(t);break;case"node":s=this._invokeOne(function(i){return i.loadNode&&i.loadNode(t)});break;case"mesh":s=this._invokeOne(function(i){return i.loadMesh&&i.loadMesh(t)});break;case"accessor":s=this.loadAccessor(t);break;case"bufferView":s=this._invokeOne(function(i){return i.loadBufferView&&i.loadBufferView(t)});break;case"buffer":s=this.loadBuffer(t);break;case"material":s=this._invokeOne(function(i){return i.loadMaterial&&i.loadMaterial(t)});break;case"texture":s=this._invokeOne(function(i){return i.loadTexture&&i.loadTexture(t)});break;case"skin":s=this.loadSkin(t);break;case"animation":s=this._invokeOne(function(i){return i.loadAnimation&&i.loadAnimation(t)});break;case"camera":s=this.loadCamera(t);break;default:if(s=this._invokeOne(function(i){return i!=this&&i.getDependency&&i.getDependency(e,t)}),!s)throw new Error("Unknown type: "+e);break}this.cache.add(r,s)}return s}getDependencies(e){let t=this.cache.get(e);if(!t){const r=this,s=this.json[e+(e==="mesh"?"es":"s")]||[];t=Promise.all(s.map(function(i,o){return r.getDependency(e,o)})),this.cache.add(e,t)}return t}loadBuffer(e){const t=this.json.buffers[e],r=this.fileLoader;if(t.type&&t.type!=="arraybuffer")throw new Error("THREE.GLTFLoader: "+t.type+" buffer type is not supported.");if(t.uri===void 0&&e===0)return Promise.resolve(this.extensions[J.KHR_BINARY_GLTF].body);const s=this.options;return new Promise(function(i,o){r.load(Bt.resolveURL(t.uri,s.path),i,void 0,function(){o(new Error('THREE.GLTFLoader: Failed to load buffer "'+t.uri+'".'))})})}loadBufferView(e){const t=this.json.bufferViews[e];return this.getDependency("buffer",t.buffer).then(function(r){const s=t.byteLength||0,i=t.byteOffset||0;return r.slice(i,i+s)})}loadAccessor(e){const t=this,r=this.json,s=this.json.accessors[e];if(s.bufferView===void 0&&s.sparse===void 0){const o=Hr[s.type],a=rn[s.componentType],l=s.normalized===!0,c=new a(s.count*o);return Promise.resolve(new Ee(c,o,l))}const i=[];return s.bufferView!==void 0?i.push(this.getDependency("bufferView",s.bufferView)):i.push(null),s.sparse!==void 0&&(i.push(this.getDependency("bufferView",s.sparse.indices.bufferView)),i.push(this.getDependency("bufferView",s.sparse.values.bufferView))),Promise.all(i).then(function(o){const a=o[0],l=Hr[s.type],c=rn[s.componentType],d=c.BYTES_PER_ELEMENT,u=d*l,g=s.byteOffset||0,_=s.bufferView!==void 0?r.bufferViews[s.bufferView].byteStride:void 0,m=s.normalized===!0;let C,v;if(_&&_!==u){const E=Math.floor(g/_),S="InterleavedBuffer:"+s.bufferView+":"+s.componentType+":"+E+":"+s.count;let x=t.cache.get(S);x||(C=new c(a,E*_,s.count*_/d),x=new oo(C,_/d),t.cache.add(S,x)),v=new es(x,l,g%_/d,m)}else a===null?C=new c(s.count*l):C=new c(a,g,s.count*l),v=new Ee(C,l,m);if(s.sparse!==void 0){const E=Hr.SCALAR,S=rn[s.sparse.indices.componentType],x=s.sparse.indices.byteOffset||0,M=s.sparse.values.byteOffset||0,L=new S(o[1],x,s.sparse.count*E),y=new c(o[2],M,s.sparse.count*l);a!==null&&(v=new Ee(v.array.slice(),v.itemSize,v.normalized));for(let A=0,h=L.length;A<h;A++){const b=L[A];if(v.setX(b,y[A*l]),l>=2&&v.setY(b,y[A*l+1]),l>=3&&v.setZ(b,y[A*l+2]),l>=4&&v.setW(b,y[A*l+3]),l>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return v})}loadTexture(e){const t=this.json,r=this.options,s=t.textures[e].source,i=t.images[s];let o=this.textureLoader;if(i.uri){const a=r.manager.getHandler(i.uri);a!==null&&(o=a)}return this.loadTextureImage(e,s,o)}loadTextureImage(e,t,r){const s=this,i=this.json,o=i.textures[e],a=i.images[t],l=(a.uri||a.bufferView)+":"+o.sampler;if(this.textureCache[l])return this.textureCache[l];const c=this.loadImageSource(t,r).then(function(d){d.flipY=!1,d.name=o.name||a.name||"",d.name===""&&typeof a.uri=="string"&&a.uri.startsWith("data:image/")===!1&&(d.name=a.uri);const u=(i.samplers||{})[o.sampler]||{};return d.magFilter=$i[u.magFilter]||pt,d.minFilter=$i[u.minFilter]||gs,d.wrapS=Ki[u.wrapS]||Pn,d.wrapT=Ki[u.wrapT]||Pn,s.associations.set(d,{textures:e}),d}
vendor: 8,968 bytes, line 55
55).catch(function(){return null});return this.textureCache[l]=c,c}loadImageSource(e,t){const r=this,s=this.json,i=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(u=>u.clone());const o=s.images[e],a=self.URL||self.webkitURL;let l=o.uri||"",c=!1;if(o.bufferView!==void 0)l=r.getDependency("bufferView",o.bufferView).then(function(u){c=!0;const g=new Blob([u],{type:o.mimeType});return l=a.createObjectURL(g),l});else if(o.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const d=Promise.resolve(l).then(function(u){return new Promise(function(g,_){let m=g;t.isImageBitmapLoader===!0&&(m=function(C){const v=new nt(C);v.needsUpdate=!0,g(v)}),t.load(Bt.resolveURL(u,i.path),m,void 0,_)})}).then(function(u){return c===!0&&a.revokeObjectURL(l),u.userData.mimeType=o.mimeType||gf(o.uri),u}).catch(function(u){throw console.error("THREE.GLTFLoader: Couldn't load texture",l),u});return this.sourceCache[e]=d,d}assignTexture(e,t,r,s){const i=this;return this.getDependency("texture",r.index).then(function(o){if(!o)return null;if(r.texCoord!==void 0&&r.texCoord>0&&(o=o.clone(),o.channel=r.texCoord),i.extensions[J.KHR_TEXTURE_TRANSFORM]){const a=r.extensions!==void 0?r.extensions[J.KHR_TEXTURE_TRANSFORM]:void 0;if(a){const l=i.associations.get(o);o=i.extensions[J.KHR_TEXTURE_TRANSFORM].extendTexture(o,a),i.associations.set(o,l)}}return s!==void 0&&("colorSpace"in o?o.colorSpace=s===3001?"srgb":"srgb-linear":o.encoding=s),e[t]=o,o})}assignFinalMaterial(e){const t=e.geometry;let r=e.material;const s=t.attributes.tangent===void 0,i=t.attributes.color!==void 0,o=t.attributes.normal===void 0;if(e.isPoints){const a="PointsMaterial:"+r.uuid;let l=this.cache.get(a);l||(l=new Tl,Pr.prototype.copy.call(l,r),l.color.copy(r.color),l.map=r.map,l.sizeAttenuation=!1,this.cache.add(a,l)),r=l}else if(e.isLine){const a="LineBasicMaterial:"+r.uuid;let l=this.cache.get(a);l||(l=new El,Pr.prototype.copy.call(l,r),l.color.copy(r.color),l.map=r.map,this.cache.add(a,l)),r=l}if(s||i||o){let a="ClonedMaterial:"+r.uuid+":";s&&(a+="derivative-tangents:"),i&&(a+="vertex-colors:"),o&&(a+="flat-shading:");let l=this.cache.get(a);l||(l=r.clone(),i&&(l.vertexColors=!0),o&&(l.flatShading=!0),s&&(l.normalScale&&(l.normalScale.y*=-1),l.clearcoatNormalScale&&(l.clearcoatNormalScale.y*=-1)),this.cache.add(a,l),this.associations.set(l,this.associations.get(r))),r=l}e.material=r}getMaterialType(){return po}loadMaterial(e){const t=this,r=this.json,s=this.extensions,i=r.materials[e];let o;const a={},l=i.extensions||{},c=[];if(l[J.KHR_MATERIALS_UNLIT]){const u=s[J.KHR_MATERIALS_UNLIT];o=u.getMaterialType(),c.push(u.extendParams(a,i,t))}else{const u=i.pbrMetallicRoughness||{};if(a.color=new Pe(1,1,1),a.opacity=1,Array.isArray(u.baseColorFactor)){const g=u.baseColorFactor;a.color.fromArray(g),a.opacity=g[3]}u.baseColorTexture!==void 0&&c.push(t.assignTexture(a,"map",u.baseColorTexture,3001)),a.metalness=u.metallicFactor!==void 0?u.metallicFactor:1,a.roughness=u.roughnessFactor!==void 0?u.roughnessFactor:1,u.metallicRoughnessTexture!==void 0&&(c.push(t.assignTexture(a,"metalnessMap",u.metallicRoughnessTexture)),c.push(t.assignTexture(a,"roughnessMap",u.metallicRoughnessTexture))),o=this._invokeOne(function(g){return g.getMaterialType&&g.getMaterialType(e)}),c.push(Promise.all(this._invokeAll(function(g){return g.extendMaterialParams&&g.extendMaterialParams(e,a)})))}i.doubleSided===!0&&(a.side=mr);const d=i.alphaMode||$r.OPAQUE;if(d===$r.BLEND?(a.transparent=!0,a.depthWrite=!1):(a.transparent=!1,d===$r.MASK&&(a.alphaTest=i.alphaCutoff!==void 0?i.alphaCutoff:.5)),i.normalTexture!==void 0&&o!==Dt&&(c.push(t.assignTexture(a,"normalMap",i.normalTexture)),a.normalScale=new ot(1,1),i.normalTexture.scale!==void 0)){const u=i.normalTexture.scale;a.normalScale.set(u,u)}return i.occlusionTexture!==void 0&&o!==Dt&&(c.push(t.assignTexture(a,"aoMap",i.occlusionTexture)),i.occlusionTexture.strength!==void 0&&(a.aoMapIntensity=i.occlusionTexture.strength)),i.emissiveFactor!==void 0&&o!==Dt&&(a.emissive=new Pe().fromArray(i.emissiveFactor)),i.emissiveTexture!==void 0&&o!==Dt&&c.push(t.assignTexture(a,"emissiveMap",i.emissiveTexture,3001)),Promise.all(c).then(function(){const u=new o(a);return i.name&&(u.name=i.name),Mt(u,i),t.associations.set(u,{materials:e}),i.extensions&&Vt(s,u,i),u})}createUniqueName(e){const t=Tn.sanitizeNodeName(e||"");return t in this.nodeNamesUsed?t+"_"+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){const t=this,r=this.extensions,s=this.primitiveCache;function i(a){return r[J.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(a,t).then(function(l){return Wi(l,a,t)})}const o=[];for(let a=0,l=e.length;a<l;a++){const c=e[a],d=vf(c),u=s[d];if(u)o.push(u.promise);else{let g;c.extensions&&c.extensions[J.KHR_DRACO_MESH_COMPRESSION]?g=i(c):g=Wi(new Ln,c,t),s[d]={primitive:c,promise:g},o.push(g)}}return Promise.all(o)}loadMesh(e){const t=this,r=this.json,s=this.extensions,i=r.meshes[e],o=i.primitives,a=[];for(let l=0,c=o.length;l<c;l++){const d=o[l].material===void 0?pf(this.cache):this.getDependency("material",o[l].material);a.push(d)}return a.push(t.loadGeometries(o)),Promise.all(a).then(function(l){const c=l.slice(0,l.length-1),d=l[l.length-1],u=[];for(let _=0,m=d.length;_<m;_++){const C=d[_],v=o[_];let E;const S=c[_];if(v.mode===Ye.TRIANGLES||v.mode===Ye.TRIANGLE_STRIP||v.mode===Ye.TRIANGLE_FAN||v.mode===void 0)E=i.isSkinnedMesh===!0?new Ml(C,S):new Je(C,S),E.isSkinnedMesh===!0&&E.normalizeSkinWeights(),v.mode===Ye.TRIANGLE_STRIP?E.geometry=Vi(E.geometry,mo):v.mode===Ye.TRIANGLE_FAN&&(E.geometry=Vi(E.geometry,ts));else if(v.mode===Ye.LINES)E=new Al(C,S);else if(v.mode===Ye.LINE_STRIP)E=new Sl(C,S);else if(v.mode===Ye.LINE_LOOP)E=new kl(C,S);else if(v.mode===Ye.POINTS)E=new Ll(C,S);else throw new Error("THREE.GLTFLoader: Primitive mode unsupported: "+v.mode);Object.keys(E.geometry.morphAttributes).length>0&&mf(E,i),E.name=t.createUniqueName(i.name||"mesh_"+e),Mt(E,i),v.extensions&&Vt(s,E,v),t.assignFinalMaterial(E),u.push(E)}for(let _=0,m=u.length;_<m;_++)t.associations.set(u[_],{meshes:e,primitives:_});if(u.length===1)return i.extensions&&Vt(s,u[0],i),u[0];const g=new Tr;i.extensions&&Vt(s,g,i),t.associations.set(g,{meshes:e});for(let _=0,m=u.length;_<m;_++)g.add(u[_]);return g})}loadCamera(e){let t;const r=this.json.cameras[e],s=r[r.type];if(!s){console.warn("THREE.GLTFLoader: Missing camera parameters.");return}return r.type==="perspective"?t=new Rn(fe.radToDeg(s.yfov),s.aspectRatio||1,s.znear||1,s.zfar||2e6):r.type==="orthographic"&&(t=new hr(-s.xmag,s.xmag,s.ymag,-s.ymag,s.znear,s.zfar)),r.name&&(t.name=this.createUniqueName(r.name)),Mt(t,r),Promise.resolve(t)}loadSkin(e){const t=this.json.skins[e],r=[];for(let s=0,i=t.joints.length;s<i;s++)r.push(this._loadNodeShallow(t.joints[s]));return t.inverseBindMatrices!==void 0?r.push(this.getDependency("accessor",t.inverseBindMatrices)):r.push(null),Promise.all(r).then(function(s){const i=s.pop(),o=s,a=[],l=[];for(let c=0,d=o.length;c<d;c++){const u=o[c];if(u){a.push(u);const g=new gt;i!==null&&g.fromArray(i.array,c*16),l.push(g)}else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.',t.joints[c])}return new Rl(a,l)})}loadAnimation(e){const t=this.json.animations[e],r=t.name?t.name:"animation_"+e,s=[],i=[],o=[],a=[],l=[];for(let c=0,d=t.channels.length;c<d;c++){const u=t.channels[c],g=t.samplers[u.sampler],_=u.target,m=_.node,C=t.parameters!==void 0?t.parameters[g.input]:g.input,v=t.parameters!==void 0?t.parameters[g.output]:g.output;_.node!==void 0&&(s.push(this.getDependency("node",m)),i.push(this.getDependency("accessor",C)),o.push(this.getDependency("accessor",v)),a.push(g),l.push(_))}return Promise.all([Promise.all(s),Promise.all(i),Promise.all(o),Promise.all(a),Promise.all(l)]).then(function(c){const d=c[0],u=c[1],g=c[2],_=c[3],m=c[4],C=[];for(let v=0,E=d.length;v<E;v++){const S=d[v],x=u[v],M=g[v],L=_[v],y=m[v];if(S===void 0)continue;S.updateMatrix();let A;switch(Et[y.path]){case Et.weights:A=Vl;break;case Et.rotation:A=ri;break;case Et.position:case Et.scale:default:A=Fl;break}const h=S.name?S.name:S.uuid,b=L.interpolation!==void 0?hf[L.interpolation]:ws,f=[];Et[y.path]===Et.weights?S.traverse(function(k){k.morphTargetInfluences&&f.push(k.name?k.name:k.uuid)}):f.push(h);let P=M.array;if(M.normalized){const k=us(P.constructor),B=new Float32Array(P.length);for(let V=0,j=P.length;V<j;V++)B[V]=P[V]*k;P=B}for(let k=0,B=f.length;k<B;k++){const V=new A(f[k]+"."+Et[y.path],x.array,P,b);L.interpolation==="CUBICSPLINE"&&(V.createInterpolant=function(j){const N=this instanceof ri?df:Ia;return new N(this.times,this.values,this.getValueSize()/3,j)},V.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=!0),C.push(V)}}return new Il(r,void 0,C)})}createNodeMesh(e){const t=this.json,r=this,s=t.nodes[e];return s.mesh===void 0?null:r.getDependency("mesh",s.mesh).then(function(i){const o=r._getNodeRef(r.meshCache,s.mesh,i);
55return s.weights!==void 0&&o.traverse(function(a){if(a.isMesh)for(let l=0,c=s.weights.length;l<c;l++)a.morphTargetInfluences[l]=s.weights[l]}),o})}loadNode(e){const t=this.json,r=this,s=t.nodes[e],i=r._loadNodeShallow(e),o=[],a=s.children||[];for(let c=0,d=a.length;c<d;c++)o.push(r.getDependency("node",a[c]));const l=s.skin===void 0?Promise.resolve(null):r.getDependency("skin",s.skin);return Promise.all([i,Promise.all(o),l]).then(function(c){const d=c[0],u=c[1],g=c[2];g!==null&&d.traverse(function(_){_.isSkinnedMesh&&_.bind(g,wf)});for(let _=0,m=u.length;_<m;_++)d.add(u[_]);return d})}_loadNodeShallow(e){const t=this.json,r=this.extensions,s=this;if(this.nodeCache[e]!==void 0)return this.nodeCache[e];const i=t.nodes[e],o=i.name?s.createUniqueName(i.name):"",a=[],l=s._invokeOne(function(c){return c.createNodeMesh&&c.createNodeMesh(e)});return l&&a.push(l),i.camera!==void 0&&a.push(s.getDependency("camera",i.camera).then(function(c){return s._getNodeRef(s.cameraCache,i.camera,c)})),s._invokeAll(function(c){return c.createNodeAttachment&&c.createNodeAttachment(e)}).forEach(function(c){a.push(c)}),this.nodeCache[e]=Promise.all(a).then(function(c){let d;if(i.isBone===!0?d=new Ol:c.length>1?d=new Tr:c.length===1?d=c[0]:d=new so,d!==c[0])for(let u=0,g=c.length;u<g;u++)d.add(c[u]);if(i.name&&(d.userData.name=i.name,d.name=o),Mt(d,i),i.extensions&&Vt(r,d,i),i.matrix!==void 0){const u=new gt;u.fromArray(i.matrix),d.applyMatrix4(u)}else i.translation!==void 0&&d.position.fromArray(i.translation),i.rotation!==void 0&&d.quaternion.fromArray(i.rotation),i.scale!==void 0&&d.scale.fromArray(i.scale);return s.associations.has(d)||s.associations.set(d,{}),s.associations.get(d).nodes=e,d}),this.nodeCache[e]}loadScene(e){const t=this.extensions,r=this.json.scenes[e],s=this,i=new Tr;r.name&&(i.name=s.createUniqueName(r.name)),Mt(i,r),r.extensions&&Vt(t,i,r);const o=r.nodes||[],a=[];for(let l=0,c=o.length;l<c;l++)a.push(s.getDependency("node",o[l]));return Promise.all(a).then(function(l){for(let d=0,u=l.length;d<u;d++)i.add(l[d]);const c=d=>{const u=new Map;for(const[g,_]of s.associations)(g instanceof Pr||g instanceof nt)&&u.set(g,_);return d.traverse(g=>{const _=s.associations.get(g);_!=null&&u.set(g,_)}),u};return s.associations=c(i),i})}}function _f(n,e,t){const r=e.attributes,s=new bs;if(r.POSITION!==void 0){const a=t.json.accessors[r.POSITION],l=a.min,c=a.max;if(l!==void 0&&c!==void 0){if(s.set(new H(l[0],l[1],l[2]),new H(c[0],c[1],c[2])),a.normalized){const d=us(rn[a.componentType]);s.min.multiplyScalar(d),s.max.multiplyScalar(d)}}else{console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");return}}else return;const i=e.targets;if(i!==void 0){const a=new H,l=new H;for(let c=0,d=i.length;c<d;c++){const u=i[c];if(u.POSITION!==void 0){const g=t.json.accessors[u.POSITION],_=g.min,m=g.max;if(_!==void 0&&m!==void 0){if(l.setX(Math.max(Math.abs(_[0]),Math.abs(m[0]))),l.setY(Math.max(Math.abs(_[1]),Math.abs(m[1]))),l.setZ(Math.max(Math.abs(_[2]),Math.abs(m[2]))),g.normalized){const C=us(rn[g.componentType]);l.multiplyScalar(C)}a.max(l)}else console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}s.expandByVector(a)}n.boundingBox=s;const o=new vo;s.getCenter(o.center),o.radius=s.min.distanceTo(s.max)/2,n.boundingSphere=o}function Wi(n,e,t){const r=e.attributes,s=[];function i(o,a){return t.getDependency("accessor",o).then(function(l){n.setAttribute(a,l)})}for(const o in r){const a=cs[o]||o.toLowerCase();a in n.attributes||s.push(i(r[o],a))}if(e.indices!==void 0&&!n.index){const o=t.getDependency("accessor",e.indices).then(function(a){n.setIndex(a)});s.push(o)}return Mt(n,e),_f(n,e,t),Promise.all(s).then(function(){return e.targets!==void 0?ff(n,e.targets,t):n})}new H;new wo;new H;var yf=Object.defineProperty,xf=(n,e,t)=>e in n?yf(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Zs=(n,e,t)=>(xf(n,typeof e!="symbol"?e+"":e,t),t);class Oa{constructor(e){Zs(this,"data"),this.data=e}generateShapes(e,t=100,r){const s=[],i={letterSpacing:0,lineHeight:1,...r},o=Cf(e,t,this.data,i);for(let a=0,l=o.length;a<l;a++)Array.prototype.push.apply(s,o[a].toShapes(!1));return s}}Zs(Oa,"isFont");Zs(Oa,"type");function Cf(n,e,t,r){const s=Array.from(n),i=e/t.resolution,o=(t.boundingBox.yMax-t.boundingBox.yMin+t.underlineThickness)*i,a=[];let l=0,c=0;for(let d=0;d<s.length;d++){const u=s[d];if(u===`
56`)l=0,c-=o*r.lineHeight;else{const g=Pf(u,i,l,c,t);g&&(l+=g.offsetX+r.letterSpacing,a.push(g.path))}}return a}function Pf(n,e,t,r,s){const i=s.glyphs[n]||s.glyphs["?"];if(!i){console.error('THREE.Font: character "'+n+'" does not exists in font family '+s.familyName+".");return}const o=new Xl;let a,l,c,d,u,g,_,m;if(i.o){const C=i._cachedOutline||(i._cachedOutline=i.o.split(" "));for(let v=0,E=C.length;v<E;)switch(C[v++]){case"m":a=parseInt(C[v++])*e+t,l=parseInt(C[v++])*e+r,o.moveTo(a,l);break;case"l":a=parseInt(C[v++])*e+t,l=parseInt(C[v++])*e+r,o.lineTo(a,l);break;case"q":c=parseInt(C[v++])*e+t,d=parseInt(C[v++])*e+r,u=parseInt(C[v++])*e+t,g=parseInt(C[v++])*e+r,o.quadraticCurveTo(u,g,c,d);break;case"b":c=parseInt(C[v++])*e+t,d=parseInt(C[v++])*e+r,u=parseInt(C[v++])*e+t,g=parseInt(C[v++])*e+r,_=parseInt(C[v++])*e+t,m=parseInt(C[v++])*e+r,o.bezierCurveTo(u,g,_,m,c,d);break}}return{offsetX:i.ha*e,path:o}}const Wr=new WeakMap;class Tf extends vs{constructor(e){super(e),this.decoderPath="",this.decoderConfig={},this.decoderBinary=null,this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL="",this.defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},this.defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"}}setDecoderPath(e){return this.decoderPath=e,this}setDecoderConfig(e){return this.decoderConfig=e,this}setWorkerLimit(e){return this.workerLimit=e,this}load(e,t,r,s){const i=new Cn(this.manager);i.setPath(this.path),i.setResponseType("arraybuffer"),i.setRequestHeader(this.requestHeader),i.setWithCredentials(this.withCredentials),i.load(e,o=>{const a={attributeIDs:this.defaultAttributeIDs,attributeTypes:this.defaultAttributeTypes,useUniqueIDs:!1};
vendor: 5,149 bytes, lines 56-57
56this.decodeGeometry(o,a).then(t).catch(s)},r,s)}decodeDracoFile(e,t,r,s){const i={attributeIDs:r||this.defaultAttributeIDs,attributeTypes:s||this.defaultAttributeTypes,useUniqueIDs:!!r};this.decodeGeometry(e,i).then(t)}decodeGeometry(e,t){for(const l in t.attributeTypes){const c=t.attributeTypes[l];c.BYTES_PER_ELEMENT!==void 0&&(t.attributeTypes[l]=c.name)}const r=JSON.stringify(t);if(Wr.has(e)){const l=Wr.get(e);if(l.key===r)return l.promise;if(e.byteLength===0)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let s;const i=this.workerNextTaskID++,o=e.byteLength,a=this._getWorker(i,o).then(l=>(s=l,new Promise((c,d)=>{s._callbacks[i]={resolve:c,reject:d},s.postMessage({type:"decode",id:i,taskConfig:t,buffer:e},[e])}))).then(l=>this._createGeometry(l.geometry));return a.catch(()=>!0).then(()=>{s&&i&&this._releaseTask(s,i)}),Wr.set(e,{key:r,promise:a}),a}_createGeometry(e){const t=new Ln;e.index&&t.setIndex(new Ee(e.index.array,1));for(let r=0;r<e.attributes.length;r++){const s=e.attributes[r],i=s.name,o=s.array,a=s.itemSize;t.setAttribute(i,new Ee(o,a))}return t}_loadLibrary(e,t){const r=new Cn(this.manager);return r.setPath(this.decoderPath),r.setResponseType(t),r.setWithCredentials(this.withCredentials),new Promise((s,i)=>{r.load(e,s,void 0,i)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;const e=typeof WebAssembly!="object"||this.decoderConfig.type==="js",t=[];return e?t.push(this._loadLibrary("draco_decoder.js","text")):(t.push(this._loadLibrary("draco_wasm_wrapper.js","text")),t.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(t).then(r=>{const s=r[0];e||(this.decoderConfig.wasmBinary=r[1]);const i=Ef.toString(),o=["/* draco decoder */",s,"","/* worker */",i.substring(i.indexOf("{")+1,i.lastIndexOf("}"))].join(`
57`);this.workerSourceURL=URL.createObjectURL(new Blob([o]))}),this.decoderPending}_getWorker(e,t){return this._initDecoder().then(()=>{if(this.workerPool.length<this.workerLimit){const s=new Worker(this.workerSourceURL);s._callbacks={},s._taskCosts={},s._taskLoad=0,s.postMessage({type:"init",decoderConfig:this.decoderConfig}),s.onmessage=function(i){const o=i.data;switch(o.type){case"decode":s._callbacks[o.id].resolve(o);break;case"error":s._callbacks[o.id].reject(o);break;default:console.error('THREE.DRACOLoader: Unexpected message, "'+o.type+'"')}},this.workerPool.push(s)}else this.workerPool.sort(function(s,i){return s._taskLoad>i._taskLoad?-1:1});const r=this.workerPool[this.workerPool.length-1];return r._taskCosts[e]=t,r._taskLoad+=t,r})}_releaseTask(e,t){e._taskLoad-=e._taskCosts[t],delete e._callbacks[t],delete e._taskCosts[t]}debug(){console.log("Task load: ",this.workerPool.map(e=>e._taskLoad))}dispose(){for(let e=0;e<this.workerPool.length;++e)this.workerPool[e].terminate();return this.workerPool.length=0,this}}function Ef(){let n,e;onmessage=function(o){const a=o.data;switch(a.type){case"init":n=a.decoderConfig,e=new Promise(function(d){n.onModuleLoaded=function(u){d({draco:u})},DracoDecoderModule(n)});break;case"decode":const l=a.buffer,c=a.taskConfig;e.then(d=>{const u=d.draco,g=new u.Decoder,_=new u.DecoderBuffer;_.Init(new Int8Array(l),l.byteLength);try{const m=t(u,g,_,c),C=m.attributes.map(v=>v.array.buffer);m.index&&C.push(m.index.array.buffer),self.postMessage({type:"decode",id:a.id,geometry:m},C)}catch(m){console.error(m),self.postMessage({type:"error",id:a.id,error:m.message})}finally{u.destroy(_),u.destroy(g)}});break}};function t(o,a,l,c){const d=c.attributeIDs,u=c.attributeTypes;let g,_;const m=a.GetEncodedGeometryType(l);if(m===o.TRIANGULAR_MESH)g=new o.Mesh,_=a.DecodeBufferToMesh(l,g);else if(m===o.POINT_CLOUD)g=new o.PointCloud,_=a.DecodeBufferToPointCloud(l,g);else throw new Error("THREE.DRACOLoader: Unexpected geometry type.");if(!_.ok()||g.ptr===0)throw new Error("THREE.DRACOLoader: Decoding failed: "+_.error_msg());const C={index:null,attributes:[]};for(const v in d){const E=self[u[v]];let S,x;if(c.useUniqueIDs)x=d[v],S=a.GetAttributeByUniqueId(g,x);else{if(x=a.GetAttributeId(g,o[d[v]]),x===-1)continue;S=a.GetAttribute(g,x)}C.attributes.push(s(o,a,g,v,E,S))}return m===o.TRIANGULAR_MESH&&(C.index=r(o,a,g)),o.destroy(g),C}function r(o,a,l){const c=l.num_faces()*3,d=c*4,u=o._malloc(d);a.GetTrianglesUInt32Array(l,d,u);const g=new Uint32Array(o.HEAPF32.buffer,u,c).slice();return o._free(u),{array:g,itemSize:1}}function s(o,a,l,c,d,u){const g=u.num_components(),_=l.num_points()*g,m=_*d.BYTES_PER_ELEMENT,C=i(o,d),v=o._malloc(m);a.GetAttributeDataArrayForAllPoints(l,u,C,m,v);const E=new d(o.HEAPF32.buffer,v,_).slice();return o._free(v),{name:c,array:E,itemSize:g}}function i(o,a){switch(a){case Float32Array:return o.DT_FLOAT32;case Int8Array:return o.DT_INT8;case Int16Array:return o.DT_INT16;case Int32Array:return o.DT_INT32;case Uint8Array:return o.DT_UINT8;case Uint16Array:return o.DT_UINT16;case Uint32Array:return o.DT_UINT32}}}class kn extends Je{constructor(e,t={}){super(e),this.isReflector=!0,this.type="Reflector",this.camera=new Rn;
57const r=this,s=t.color!==void 0?new Pe(t.color):new Pe(8355711),i=t.textureWidth||512,o=t.textureHeight||512,a=t.clipBias||0,l=t.shader||kn.ReflectorShader,c=t.multisample!==void 0?t.multisample:4,d=new bo,u=new H,g=new H,_=new H,m=new gt,C=new H(0,0,-1),v=new jt,E=new H,S=new H,x=new jt,M=new gt,L=this.camera,y=new ms(i,o,{samples:c,type:pr}),A=new Rt({name:l.name!==void 0?l.name:"unspecified",uniforms:_s.clone(l.uniforms),fragmentShader:l.fragmentShader,vertexShader:l.vertexShader});A.uniforms.tDiffuse.value=y.texture,A.uniforms.color.value=s,A.uniforms.textureMatrix.value=M,this.material=A,this.onBeforeRender=function(h,b,f){if(g.setFromMatrixPosition(r.matrixWorld),_.setFromMatrixPosition(f.matrixWorld),m.extractRotation(r.matrixWorld),u.set(0,0,1),u.applyMatrix4(m),E.subVectors(g,_),E.dot(u)>0)return;E.reflect(u).negate(),E.add(g),m.extractRotation(f.matrixWorld),C.set(0,0,-1),C.applyMatrix4(m),C.add(_),S.subVectors(g,C),S.reflect(u).negate(),S.add(g),L.position.copy(E),L.up.set(0,1,0),L.up.applyMatrix4(m),L.up.reflect(u),L.lookAt(S),L.far=f.far,L.updateMatrixWorld(),L.projectionMatrix.copy(f.projectionMatrix),M.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),M.multiply(L.projectionMatrix),M.multiply(L.matrixWorldInverse),M.multiply(r.matrixWorld),d.setFromNormalAndCoplanarPoint(u,g),d.applyMatrix4(L.matrixWorldInverse),v.set(d.normal.x,d.normal.y,d.normal.z,d.constant);const P=L.projectionMatrix;x.x=(Math.sign(v.x)+P.elements[8])/P.elements[0],x.y=(Math.sign(v.y)+P.elements[9])/P.elements[5],x.z=-1,x.w=(1+P.elements[10])/P.elements[14],v.multiplyScalar(2/v.dot(x)),P.elements[2]=v.x,P.elements[6]=v.y,P.elements[10]=v.z+1-a,P.elements[14]=v.w,r.visible=!1;const k=h.getRenderTarget(),B=h.xr.enabled,V=h.shadowMap.autoUpdate;h.xr.enabled=!1,h.shadowMap.autoUpdate=!1,h.setRenderTarget(y),h.state.buffers.depth.setMask(!0),h.autoClear===!1&&h.clear(),h.render(b,L),h.xr.enabled=B,h.shadowMap.autoUpdate=V,h.setRenderTarget(k);const j=f.viewport;j!==void 0&&h.state.viewport(j),r.visible=!0},this.getRenderTarget=function(){return y},this.dispose=function(){y.dispose(),r.material.dispose()}}}kn.ReflectorShader={name:"ReflectorShader",uniforms:{color:{value:null},tDiffuse:{value:null},textureMatrix:{value:null}},vertexShader:`
58		uniform mat4 textureMatrix;
59		varying vec4 vUv;
60
61		#include <common>
62		#include <logdepthbuf_pars_vertex>
63
64		void main() {
65
66			vUv = textureMatrix * vec4( position, 1.0 );
67
68			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
69
70			#include <logdepthbuf_vertex>
71
72		}`,fragmentShader:`
73		uniform vec3 color;
74		uniform sampler2D tDiffuse;
75		varying vec4 vUv;
76
77		#include <logdepthbuf_pars_fragment>
78
79		float blendOverlay( float base, float blend ) {
80
81			return( base < 0.5 ? ( 2.0 * base * blend ) : ( 1.0 - 2.0 * ( 1.0 - base ) * ( 1.0 - blend ) ) );
82
83		}
84
85		vec3 blendOverlay( vec3 base, vec3 blend ) {
86
87			return vec3( blendOverlay( base.r, blend.r ), blendOverlay( base.g, blend.g ), blendOverlay( base.b, blend.b ) );
88
89		}
90
91		void main() {
92
93			#include <logdepthbuf_fragment>
94
95			vec4 base = texture2DProj( tDiffuse, vUv );
96			gl_FragColor = vec4( blendOverlay( base.rgb, color ), 1.0 );
97
98			#include <tonemapping_fragment>
99			#include <colorspace_fragment>
100
101		}`};const Mf=["args","material-uniforms-color-value"],Af=F("TresPlaneGeometry",{args:[5,5]},null,-1);kn.ReflectorShader;typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;class ur extends Je{constructor(){super(ur.Geometry,new Dt({opacity:0,transparent:!0})),this.isLensflare=!0,this.type="Lensflare",this.frustumCulled=!1,this.renderOrder=1/0;const e=new H,t=new H,r=new si(16,16),s=new si(16,16);let i=xn;const o=ur.Geometry,a=new Er({uniforms:{scale:{value:null},screenPosition:{value:null}},vertexShader:`
102
103				precision highp float;
104
105				uniform vec3 screenPosition;
106				uniform vec2 scale;
107
108				attribute vec3 position;
109
110				void main() {
111
112					gl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 );
113
114				}`,fragmentShader:`
115
116				precision highp float;
117
118				void main() {
119
120					gl_FragColor = vec4( 1.0, 0.0, 1.0, 1.0 );
121
122				}`,depthTest:!0,depthWrite:!1,transparent:!1}),l=new Er({uniforms:{map:{value:r},scale:{value:null},screenPosition:{value:null}},vertexShader:`
123
124				precision highp float;
125
126				uniform vec3 screenPosition;
127				uniform vec2 scale;
128
129				attribute vec3 position;
130				attribute vec2 uv;
131
132				varying vec2 vUV;
133
134				void main() {
135
136					vUV = uv;
137
138					gl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 );
139
140				}`,fragmentShader:`
141
142				precision highp float;
143
144				uniform sampler2D map;
145
146				varying vec2 vUV;
147
148				void main() {
149
150					gl_FragColor = texture2D( map, vUV );
151
152				}`,depthTest:!1,depthWrite:!1,transparent:!1}),c=new Je(o,a),d=[],u=Fa.Shader,g=new Er({name:u.name,uniforms:{map:{value:null},occlusionMap:{value:s},color:{value:new Pe(16777215)},scale:{value:new ot},screenPosition:{value:new H}},vertexShader:u.vertexShader,fragmentShader:u.fragmentShader,blending:Hl,transparent:!0,depthWrite:!1}),_=new Je(o,g);this.addElement=function(S){d.push(S)};const m=new ot,C=new ot,v=new $l,E=new jt;this.onBeforeRender=function(S,x,M){S.getCurrentViewport(E);const L=S.getRenderTarget(),y=L!==null?L.texture.type:xn;i!==y&&(r.dispose(),s.dispose(),r.type=s.type=y,i=y);const A=E.w/E.z,h=E.z/2,b=E.w/2;let f=16/E.w;if(m.set(f*A,f),v.min.set(E.x,E.y),v.max.set(E.x+(E.z-16),E.y+(E.w-16)),t.setFromMatrixPosition(this.matrixWorld),t.applyM
152atrix4(M.matrixWorldInverse),!(t.z>0)&&(e.copy(t).applyMatrix4(M.projectionMatrix),C.x=E.x+e.x*h+h-8,C.y=E.y+e.y*b+b-8,v.containsPoint(C))){S.copyFramebufferToTexture(C,r);let P=a.uniforms;P.scale.value=m,P.screenPosition.value=e,S.renderBufferDirect(M,null,o,a,c,null),S.copyFramebufferToTexture(C,s),P=l.uniforms,P.scale.value=m,P.screenPosition.value=e,S.renderBufferDirect(M,null,o,l,c,null);const k=-e.x*2,B=-e.y*2;for(let V=0,j=d.length;V<j;V++){const N=d[V],K=g.uniforms;K.color.value.copy(N.color),K.map.value=N.texture,K.screenPosition.value.x=e.x+k*N.distance,K.screenPosition.value.y=e.y+B*N.distance,f=N.size/E.w;const le=E.w/E.z;K.scale.value.set(f*le,f),g.uniformsNeedUpdate=!0,S.renderBufferDirect(M,null,o,g,_,null)}}},this.dispose=function(){a.dispose(),l.dispose(),g.dispose(),r.dispose(),s.dispose();for(let S=0,x=d.length;S<x;S++)d[S].texture.dispose()}}}class Fa{constructor(e,t=1,r=0,s=new Pe(16777215)){this.texture=e,this.size=t,this.distance=r,this.color=s}}Fa.Shader={name:"LensflareElementShader",uniforms:{map:{value:null},occlusionMap:{value:null},color:{value:null},scale:{value:null},screenPosition:{value:null}},vertexShader:`
153
154		precision highp float;
155
156		uniform vec3 screenPosition;
157		uniform vec2 scale;
158
159		uniform sampler2D occlusionMap;
160
161		attribute vec3 position;
162		attribute vec2 uv;
163
164		varying vec2 vUV;
165		varying float vVisibility;
166
167		void main() {
168
169			vUV = uv;
170
171			vec2 pos = position.xy;
172
173			vec4 visibility = texture2D( occlusionMap, vec2( 0.1, 0.1 ) );
174			visibility += texture2D( occlusionMap, vec2( 0.5, 0.1 ) );
175			visibility += texture2D( occlusionMap, vec2( 0.9, 0.1 ) );
176			visibility += texture2D( occlusionMap, vec2( 0.9, 0.5 ) );
177			visibility += texture2D( occlusionMap, vec2( 0.9, 0.9 ) );
178			visibility += texture2D( occlusionMap, vec2( 0.5, 0.9 ) );
179			visibility += texture2D( occlusionMap, vec2( 0.1, 0.9 ) );
180			visibility += texture2D( occlusionMap, vec2( 0.1, 0.5 ) );
181			visibility += texture2D( occlusionMap, vec2( 0.5, 0.5 ) );
182
183			vVisibility =        visibility.r / 9.0;
184			vVisibility *= 1.0 - visibility.g / 9.0;
185			vVisibility *=       visibility.b / 9.0;
186
187			gl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );
188
189		}`,fragmentShader:`
190
191		precision highp float;
192
193		uniform sampler2D map;
194		uniform vec3 color;
195
196		varying vec2 vUV;
197		varying float vVisibility;
198
199		void main() {
200
201			vec4 texture = texture2D( map, vUV );
202			texture.a *= vVisibility;
203			gl_FragColor = texture;
204			gl_FragColor.rgb *= color;
205
206		}`};ur.Geometry=(function(){const n=new Ln,e=new Float32Array([-1,-1,0,0,0,1,-1,0,1,0,1,1,0,1,1,-1,1,0,0,1]),t=new oo(e,5);return n.setIndex([0,1,2,0,2,3]),n.setAttribute("position",new es(t,3,0,!1)),n.setAttribute("uv",new es(t,2,3,!1)),n})();fe.clamp;fe.lerp;let Ut=null;function Sf(n,e){return t=>{e&&e(t),n.draco&&(Ut||(Ut=new Tf),Ut.setDecoderPath(n.decoderPath||"https://www.gstatic.com/draco/versioned/decoders/1.4.3/"),t.setDRACOLoader(Ut))}}async function Va(n,e={draco:!1},t){const r=await kc(jp,n,Sf(e,t));return Ut?.dispose(),Ut=null,r}var qr;/Mac/.test((qr=globalThis?.navigator)===null||qr===void 0?void 0:qr.platform);var kf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Xn(n){throw new Error('Could not dynamically require "'+n+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Lf={exports:{}};(function(n,e){(function(t){n.exports=t()})(function(){return(function t(r,s,i){function o(c,d){if(!s[c]){if(!r[c]){var u=typeof Xn=="function"&&Xn;if(!d&&u)return u(c,!0);if(a)return a(c,!0);throw new Error("Cannot find module '"+c+"'")}d=s[c]={exports:{}},r[c][0].call(d.exports,function(g){var _=r[c][1][g];return o(_||g)},d,d.exports,t,r,s,i)}return s[c].exports}for(var a=typeof Xn=="function"&&Xn,l=0;l<i.length;l++)o(i[l]);return o}
vendor: 42,471 bytes, lines 206-264
206)({1:[function(t,r,s){(function(i,o,a,l,c,d,u,g,_){var m=t("crypto");function C(y,A){A=S(y,A);var h;return(h=A.algorithm!=="passthrough"?m.createHash(A.algorithm):new L).write===void 0&&(h.write=h.update,h.end=h.update),M(A,h).dispatch(y),h.update||h.end(""),h.digest?h.digest(A.encoding==="buffer"?void 0:A.encoding):(y=h.read(),A.encoding!=="buffer"?y.toString(A.encoding):y)}(s=r.exports=C).sha1=function(y){return C(y)},s.keys=function(y){return C(y,{excludeValues:!0,algorithm:"sha1",encoding:"hex"})},s.MD5=function(y){return C(y,{algorithm:"md5",encoding:"hex"})},s.keysMD5=function(y){return C(y,{algorithm:"md5",encoding:"hex",excludeValues:!0})};var v=m.getHashes?m.getHashes().slice():["sha1","md5"],E=(v.push("passthrough"),["buffer","hex","binary","base64"]);function S(y,A){var h={};if(h.algorithm=(A=A||{}).algorithm||"sha1",h.encoding=A.encoding||"hex",h.excludeValues=!!A.excludeValues,h.algorithm=h.algorithm.toLowerCase(),h.encoding=h.encoding.toLowerCase(),h.ignoreUnknown=A.ignoreUnknown===!0,h.respectType=A.respectType!==!1,h.respectFunctionNames=A.respectFunctionNames!==!1,h.respectFunctionProperties=A.respectFunctionProperties!==!1,h.unorderedArrays=A.unorderedArrays===!0,h.unorderedSets=A.unorderedSets!==!1,h.unorderedObjects=A.unorderedObjects!==!1,h.replacer=A.replacer||void 0,h.excludeKeys=A.excludeKeys||void 0,y===void 0)throw new Error("Object argument required.");for(var b=0;b<v.length;++b)v[b].toLowerCase()===h.algorithm.toLowerCase()&&(h.algorithm=v[b]);if(v.indexOf(h.algorithm)===-1)throw new Error('Algorithm "'+h.algorithm+'"  not supported. supported values: '+v.join(", "));if(E.indexOf(h.encoding)===-1&&h.algorithm!=="passthrough")throw new Error('Encoding "'+h.encoding+'"  not supported. supported values: '+E.join(", "));return h}function x(y){if(typeof y=="function")return/^function\s+\w*\s*\(\s*\)\s*{\s+\[native code\]\s+}$/i.exec(Function.prototype.toString.call(y))!=null}function M(y,A,h){h=h||[];function b(f){return A.update?A.update(f,"utf8"):A.write(f,"utf8")}return{dispatch:function(f){return this["_"+((f=y.replacer?y.replacer(f):f)===null?"null":typeof f)](f)},_object:function(f){var P,k=Object.prototype.toString.call(f),B=/\[object (.*)\]/i.exec(k);if(B=(B=B?B[1]:"unknown:["+k+"]").toLowerCase(),0<=(k=h.indexOf(f)))return this.dispatch("[CIRCULAR:"+k+"]");if(h.push(f),a!==void 0&&a.isBuffer&&a.isBuffer(f))return b("buffer:"),b(f);if(B==="object"||B==="function"||B==="asyncfunction")return k=Object.keys(f),y.unorderedObjects&&(k=k.sort()),y.respectType===!1||x(f)||k.splice(0,0,"prototype","__proto__","constructor"),y.excludeKeys&&(k=k.filter(function(V){return!y.excludeKeys(V)})),b("object:"+k.length+":"),P=this,k.forEach(function(V){P.dispatch(V),b(":"),y.excludeValues||P.dispatch(f[V]),b(",")});if(!this["_"+B]){if(y.ignoreUnknown)return b("["+B+"]");throw new Error('Unknown object type "'+B+'"')}this["_"+B](f)},_array:function(f,V){V=V!==void 0?V:y.unorderedArrays!==!1;var k=this;if(b("array:"+f.length+":"),!V||f.length<=1)return f.forEach(function(j){return k.dispatch(j)});var B=[],V=f.map(function(j){var N=new L,K=h.slice();return M(y,N,K).dispatch(j),B=B.concat(K.slice(h.length)),N.read().toString()});return h=h.concat(B),V.sort(),this._array(V,!1)},_date:function(f){return b("date:"+f.toJSON())},_symbol:function(f){return b("symbol:"+f.toString())},_error:function(f){return b("error:"+f.toString())},_boolean:function(f){return b("bool:"+f.toString())},_string:function(f){b("string:"+f.length+":"),b(f.toString())},_function:function(f){b("fn:"),x(f)?this.dispatch("[native]"):this.dispatch(f.toString()),y.respectFunctionNames!==!1&&this.dispatch("function-name:"+String(f.name)),y.respectFunctionProperties&&this._object(f)},_number:function(f){return b("number:"+f.toString())},_xml:function(f){return b("xml:"+f.toString())},_null:function(){return b("Null")},_undefined:function(){return b("Undefined")},_regexp:function(f){return b("regex:"+f.toString())},_uint8array:function(f){return b("uint8array:"),this.dispatch(Array.prototype.slice.call(f))},_uint8clampedarray:function(f){return b("uint8clampedarray:"),this.dispatch(Array.prototype.slice.call(f))},_int8array:function(f){return b("int8array:"),this.dispatch(Array.prototype.slice.call(f))},_uint16array:function(f){return b("uint16array:"),this.dispatch(Array.prototype.slice.call(f))},_int16array:function(f){return b("int16array:"),this.dispatch(Array.prototype.slice.call(f))},_uint32array:function(f){return b("uint32array:"),this.dispatch(Array.prototype.slice.call(f))},_int32array:function(f){return b("int32array:"),this.dispatch(Array.prototype.slice.call(f))},_float32array:function(f){return b("float32array:"),this.dispatch(Array.prototype.slice.call(f))},_float64array:function(f){return b("float64array:"),this.dispatch(Array.prototype.slice.call(f))},_arraybuffer:function(f){return b("arraybuffer:"),this.dispatch(new Uint8Array(f))},_url:function(f){return b("url:"+f.toString())},_map:function(f){return b("map:"),f=Array.from(f),this._array(f,y.unorderedSets!==!1)},_set:function(f){return b("set:"),f=Array.from(f),this._array(f,y.unorderedSets!==!1)},_file:function(f){return b("file:"),this.dispatch([f.name,f.size,f.type,f.lastModfied])},_blob:function(){if(y.ignoreUnknown)return b("[blob]");throw Error(`Hashing Blob objects is currently not supported
207(see https://github.com/puleos/object-hash/issues/26)
208Use "options.replacer" or "options.ignoreUnknown"
209`)},_domwindow:function(){return b("domwindow")},_bigint:function(f){return b("bigint:"+f.toString())},_process:function(){return b("process")},_timer:function(){return b("timer")},_pipe:function(){return b("pipe")},_tcp:function(){return b("tcp")},_udp:function(){return b("udp")},_tty:function(){return b("tty")},_statwatcher:function(){return b("statwatcher")},_securecontext:function(){return b("securecontext")},_connection:function(){return b("connection")},_zlib:function(){return b("zlib")},_context:function(){return b("context")},_nodescript:function(){return b("nodescript")},_httpparser:function(){return b("httpparser")},_dataview:function(){return b("dataview")},_signal:function(){return b("signal")},_fsevent:function(){return b("fsevent")},_tlswrap:function(){return b("tlswrap")}}}function L(){return{buf:"",write:function(y){this.buf+=y},end:function(y){this.buf+=y},read:function(){return this.buf}}}s.writeToStream=function(y,A,h){return h===void 0&&(h=A,A={}),M(A=S(y,A),h).dispatch(y)}}).call(this,t("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/fake_9a5aa49d.js","/")},{buffer:3,crypto:5,lYpoI2:11}],2:[function(t,r,s){(function(i,o,a,l,c,d,u,g,_){(function(m){var C=typeof Uint8Array<"u"?Uint8Array:Array,v=43,E=47,S=48,x=97,M=65,L=45,y=95;function A(h){return h=h.charCodeAt(0),h===v||h===L?62:h===E||h===y?63:h<S?-1:h<S+10?h-S+26+26:h<M+26?h-M:h<x+26?h-x+26:void 0}m.toByteArray=function(h){var b,f;if(0<h.length%4)throw new Error("Invalid string. Length must be a multiple of 4");var P=h.length,P=h.charAt(P-2)==="="?2:h.charAt(P-1)==="="?1:0,k=new C(3*h.length/4-P),B=0<P?h.length-4:h.length,V=0;function j(N){k[V++]=N}for(b=0;b<B;b+=4,0)j((16711680&(f=A(h.charAt(b))<<18|A(h.charAt(b+1))<<12|A(h.charAt(b+2))<<6|A(h.charAt(b+3))))>>16),j((65280&f)>>8),j(255&f);return P==2?j(255&(f=A(h.charAt(b))<<2|A(h.charAt(b+1))>>4)):P==1&&(j((f=A(h.charAt(b))<<10|A(h.charAt(b+1))<<4|A(h.charAt(b+2))>>2)>>8&255),j(255&f)),k},m.fromByteArray=function(h){var b,f,P,k,B=h.length%3,V="";function j(N){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(N)}for(b=0,P=h.length-B;b<P;b+=3)f=(h[b]<<16)+(h[b+1]<<8)+h[b+2],V+=j((k=f)>>18&63)+j(k>>12&63)+j(k>>6&63)+j(63&k);switch(B){case 1:V=(V+=j((f=h[h.length-1])>>2))+j(f<<4&63)+"==";break;case 2:V=(V=(V+=j((f=(h[h.length-2]<<8)+h[h.length-1])>>10))+j(f>>4&63))+j(f<<2&63)+"="}return V}})(s===void 0?this.base64js={}:s)}).call(this,t("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js","/node_modules/gulp-browserify/node_modules/base64-js/lib")},{buffer:3,lYpoI2:11}],3:[function(t,r,s){(function(i,o,v,l,c,d,u,g,_){var m=t("base64-js"),C=t("ieee754");function v(p,w,T){if(!(this instanceof v))return new v(p,w,T);var R,I,D,G,Z=typeof p;if(w==="base64"&&Z=="string")for(p=(G=p).trim?G.trim():G.replace(/^\s+|\s+$/g,"");p.length%4!=0;)p+="=";if(Z=="number")R=le(p);else if(Z=="string")R=v.byteLength(p,w);else{if(Z!="object")throw new Error("First argument needs to be a number, array or string.");R=le(p.length)}if(v._useTypedArrays?I=v._augment(new Uint8Array(R)):((I=this).length=R,I._isBuffer=!0),v._useTypedArrays&&typeof p.byteLength=="number")I._set(p);else if(te(G=p)||v.isBuffer(G)||G&&typeof G=="object"&&typeof G.length=="number")for(D=0;D<R;D++)v.isBuffer(p)?I[D]=p.readUInt8(D):I[D]=p[D];else if(Z=="string")I.write(p,0,w);else if(Z=="number"&&!v._useTypedArrays&&!T)for(D=0;D<R;D++)I[D]=0;return I}function E(p,w,T,R){return v._charsWritten=De((function(I){for(var D=[],G=0;G<I.length;G++)D.push(255&I.charCodeAt(G));return D})(w),p,T,R)}function S(p,w,T,R){return v._charsWritten=De((function(I){for(var D,G,Z=[],X=0;X<I.length;X++)G=I.charCodeAt(X),D=G>>8,G=G%256,Z.push(G),Z.push(D);return Z})(w),p,T,R)}function x(p,w,T){var R="";T=Math.min(p.length,T);for(var I=w;I<T;I++)R+=String.fromCharCode(p[I]);return R}function M(p,w,T,D){D||(U(typeof T=="boolean","missing or invalid endian"),U(w!=null,"missing offset"),U(w+1<p.length,"Trying to read beyond buffer length"));var I,D=p.length;if(!(D<=w))return T?(I=p[w],w+1<D&&(I|=p[w+1]<<8)):(I=p[w]<<8,w+1<D&&(I|=p[w+1])),I}function L(p,w,T,D){D||(U(typeof T=="boolean","missing or invalid endian"),U(w!=null,"missing offset"),U(w+3<p.length,"Trying to read beyond buffer length"));var I,D=p.length;if(!(D<=w))return T?(w+2<D&&(I=p[w+2]<<16),w+1<D&&(I|=p[w+1]<<8),I|=p[w],w+3<D&&(I+=p[w+3]<<24>>>0)):(w+1<D&&(I=p[w+1]<<16),w+2<D&&(I|=p[w+2]<<8),w+3<D&&(I|=p[w+3]),I+=p[w]<<24>>>0),I}function y(p,w,T,R){if(R||(U(typeof T=="boolean","missing or invalid endian"),U(w!=null,"missing offset"),U(w+1<p.length,"Trying to read beyond buffer length")),!(p.length<=w))return R=M(p,w,T,!0),32768&R?-1*(65535-R+1):R}function A(p,w,T,R){if(R||(U(typeof T=="boolean","missing or invalid endian"),U(w!=null,"missing offset"),U(w+3<p.length,"Trying to read beyond buffer length")),!(p.length<=w))return R=L(p,w,T,!0),2147483648&R?-1*(4294967295-R+1):R}function h(p,w,T,R){return R||(U(typeof T=="boolean","missing or invalid endian"),U(w+3<p.length,"Trying to read beyond buffer length")),C.read(p,w,T,23,4)}function b(p,w,T,R){return R||(U(typeof T=="boolean","missing or invalid endian"),U(w+7<p.length,"Trying to read beyond buffer length")),C.read(p,w,T,52,8)}function f(p,w,T,R,I){if(I||(U(w!=null,"missing value"),U(typeof R=="boolean","missing or invalid endian"),U(T!=null,"missing offset"),U(T+1<p.length,"trying to write beyond buffer length"),Ge(w,65535)),I=p.length,!(I<=T))for(var D=0,G=Math.min(I-T,2);D<G;D++)p[T+D]=(w&255<<8*(R?D:1-D))>>>8*(R?D:1-D)}function P(p,w,T,R,I){if(I||(U(w!=null,"missing value"),U(typeof R=="boolean","missing or invalid endian"),U(T!=null,"missing offset"),U(T+3<p.length,"trying to write beyond buffer length"),Ge(w,4294967295)),I=p.length,!(I<=T))for(var D=0,G=Math.min(I-T,4);D<G;D++)p[T+D]=w>>>8*(R?D:3-D)&255}function k(p,w,T,R,I){I||(U(w!=null,"missing value"),U(typeof R=="boolean","missing or invalid endian"),U(T!=null,"missing offset"),U(T+1<p.length,"Trying to write beyond buffer length"),He(w,32767,-32768)),p.length<=T||f(p,0<=w?w:65535+w+1,T,R,I)}function B(p,w,T,R,I){I||(U(w!=null,"missing value"),U(typeof R=="boolean","missing or invalid endian"),U(T!=null,"missing offset"),U(T+3<p.length,"Trying to write beyond buffer length"),He(w,2147483647,-2147483648)),p.length<=T||P(p,0<=w?w:4294967295+w+1,T,R,I)}function V(p,w,T,R,I){I||(U(w!=null,"missing value"),U(typeof R=="boolean","missing or invalid endian"),U(T!=null,"missing offset"),U(T+3<p.length,"Trying to write beyond buffer length"),ne(w,34028234663852886e22,-34028234663852886e22)),p.length<=T||C.write(p,w,T,R,23,4)}function j(p,w,T,R,I){I||(U(w!=null,"missing value"),U(typeof R=="boolean","missing or invalid endian"),U(T!=null,"missing offset"),U(T+7<p.length,"Trying to write beyond buffer length"),ne(w,17976931348623157e292,-17976931348623157e292)),p.length<=T||C.write(p,w,T,R,52,8)}s.Buffer=v,s.SlowBuffer=v,s.INSPECT_MAX_BYTES=50,v.poolSize=8192,v._useTypedArrays=(function(){try{var p=new ArrayBuffer(0),w=new Uint8Array(p);return w.foo=function(){return 42},w.foo()===42&&typeof w.subarray=="function"}catch{return!1}})(),v.isEncoding=function(p){switch(String(p).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"raw":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},v.isBuffer=function(p){return!(p==null||!p._isBuffer)},v.byteLength=function(p,w){var T;switch(p+="",w||"utf8"){case"hex":T=p.length/2;break;case"utf8":case"utf-8":T=Le(p).length;break;case"ascii":case"binary":case"raw":T=p.length;break;case"base64":T=dt(p).length;break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":T=2*p.length;break;default:throw new Error("Unknown encoding")}return T},v.concat=function(p,w){if(U(te(p),`Usage: Buffer.concat(list, [totalLength])
210list should be an Array.`),p.length===0)return new v(0);if(p.length===1)return p[0];if(typeof w!="number")for(I=w=0;I<p.length;I++)w+=p[I].length;for(var T=new v(w),R=0,I=0;I<p.length;I++){var D=p[I];D.copy(T,R),R+=D.length}return T},v.prototype.write=function(p,w,T,R){isFinite(w)?isFinite(T)||(R=T,T=void 0):(X=R,R=w,w=T,T=X),w=Number(w)||0;var I,D,G,Z,X=this.length-w;switch((!T||X<(T=Number(T)))&&(T=X),R=String(R||"utf8").toLowerCase()){case"hex":I=(function(ge,_e,Se,ye){Se=Number(Se)||0;var we=ge.length-Se;(!ye||we<(ye=Number(ye)))&&(ye=we),U((we=_e.length)%2==0,"Invalid hex string"),we/2<ye&&(ye=we/2);for(var yt=0;yt<ye;yt++){var jn=parseInt(_e.substr(2*yt,2),16);U(!isNaN(jn),"Invalid hex string"),ge[Se+yt]=jn}return v._charsWritten=2*yt,yt})(this,p,w,T);break;case"utf8":case"utf-8":D=this,G=w,Z=T,I=v._charsWritten=De(Le(p),D,G,Z);break;case"ascii":case"binary":I=E(this,p,w,T);break;case"base64":D=this,G=w,Z=T,I=v._charsWritten=De(dt(p),D,G,Z);break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":I=S(this,p,w,T);break;default:throw new Error("Unknown encoding")}return I},v.prototype.toString=function(p,w,T){var R,I,D,G,Z=this;if(p=String(p||"utf8").toLowerCase(),w=Number(w)||0,(T=T!==void 0?Number(T):Z.length)===w)return"";switch(p){case"hex":R=(function(X,ge,_e){var Se=X.length;(!ge||ge<0)&&(ge=0),(!_e||_e<0||Se<_e)&&(_e=Se);for(var ye="",we=ge;we<_e;we++)ye+=Y(X[we]);return ye})(Z,w,T);break;case"utf8":case"utf-8":R=(function(X,ge,_e){var Se="",ye="";_e=Math.min(X.length,_e);for(var we=ge;we<_e;we++)X[we]<=127?(Se+=ve(ye)+String.fromCharCode(X[we]),ye=""):ye+="%"+X[we].toString(16);return Se+ve(ye)})(Z,w,T);break;case"ascii":case"binary":R=x(Z,w,T);break;case"base64":I=Z,G=T,R=(D=w)===0&&G===I.length?m.fromByteArray(I):m.fromByteArray(I.slice(D,G));break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":R=(function(X,ge,_e){for(var Se=X.slice(ge,_e),ye="",we=0;we<Se.length;we+=2)ye+=String.fromCharCode(Se[we]+256*Se[we+1]);return ye})(Z,w,T);break;default:throw new Error("Unknown encoding")}return R},v.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},v.prototype.copy=function(p,w,T,R){if(w=w||0,(R=R||R===0?R:this.length)!==(T=T||0)&&p.length!==0&&this.length!==0){U(T<=R,"sourceEnd < sourceStart"),U(0<=w&&w<p.length,"targetStart out of bounds"),U(0<=T&&T<this.length,"sourceStart out of bounds"),U(0<=R&&R<=this.length,"sourceEnd out of bounds"),R>this.length&&(R=this.length);var I=(R=p.length-w<R-T?p.length-w+T:R)-T;if(I<100||!v._useTypedArrays)for(var D=0;D<I;D++)p[D+w]=this[D+T];else p._set(this.subarray(T,T+I),w)}},v.prototype.slice=function(p,w){var T=this.length;if(p=K(p,T,0),w=K(w,T,T),v._useTypedArrays)return v._augment(this.subarray(p,w));for(var R=w-p,I=new v(R,void 0,!0),D=0;D<R;D++)I[D]=this[D+p];return I},v.prototype.get=function(p){return console.log(".get() is deprecated. Access using array indexes instead."),this.readUInt8(p)},v.prototype.set=function(p,w){return console.log(".set() is deprecated. Access using array indexes instead."),this.writeUInt8(p,w)},v.prototype.readUInt8=function(p,w){if(w||(U(p!=null,"missing offset"),U(p<this.length,"Trying to read beyond buffer length")),!(p>=this.length))return this[p]},v.prototype.readUInt16LE=function(p,w){return M(this,p,!0,w)},v.prototype.readUInt16BE=function(p,w){return M(this,p,!1,w)},v.prototype.readUInt32LE=function(p,w){return L(this,p,!0,w)},v.prototype.readUInt32BE=function(p,w){return L(this,p,!1,w)},v.prototype.readInt8=function(p,w){if(w||(U(p!=null,"missing offset"),U(p<this.length,"Trying to read beyond buffer length")),!(p>=this.length))return 128&this[p]?-1*(255-this[p]+1):this[p]},v.prototype.readInt16LE=function(p,w){return y(this,p,!0,w)},v.prototype.readInt16BE=function(p,w){return y(this,p,!1,w)},v.prototype.readInt32LE=function(p,w){return A(this,p,!0,w)},v.prototype.readInt32BE=function(p,w){return A(this,p,!1,w)},v.prototype.readFloatLE=function(p,w){return h(this,p,!0,w)},v.prototype.readFloatBE=function(p,w){return h(this,p,!1,w)},v.prototype.readDoubleLE=function(p,w){return b(this,p,!0,w)},v.prototype.readDoubleBE=function(p,w){return b(this,p,!1,w)},v.prototype.writeUInt8=function(p,w,T){T||(U(p!=null,"missing value"),U(w!=null,"missing offset"),U(w<this.length,"trying to write beyond buffer length"),Ge(p,255)),w>=this.length||(this[w]=p)},v.prototype.writeUInt16LE=function(p,w,T){f(this,p,w,!0,T)},v.prototype.writeUInt16BE=function(p,w,T){f(this,p,w,!1,T)},v.prototype.writeUInt32LE=function(p,w,T){P(this,p,w,!0,T)},v.prototype.writeUInt32BE=function(p,w,T){P(this,p,w,!1,T)},v.prototype.writeInt8=function(p,w,T){T||(U(p!=null,"missing value"),U(w!=null,"missing offset"),U(w<this.length,"Trying to write beyond buffer length"),He(p,127,-128)),w>=this.length||(0<=p?this.writeUInt8(p,w,T):this.writeUInt8(255+p+1,w,T))},v.prototype.writeInt16LE=function(p,w,T){k(this,p,w,!0,T)},v.prototype.writeInt16BE=function(p,w,T){k(this,p,w,!1,T)},v.prototype.writeInt32LE=function(p,w,T){B(this,p,w,!0,T)},v.prototype.writeInt32BE=function(p,w,T){B(this,p,w,!1,T)},v.prototype.writeFloatLE=function(p,w,T){V(this,p,w,!0,T)},v.prototype.writeFloatBE=function(p,w,T){V(this,p,w,!1,T)},v.prototype.writeDoubleLE=function(p,w,T){j(this,p,w,!0,T)},v.prototype.writeDoubleBE=function(p,w,T){j(this,p,w,!1,T)},v.prototype.fill=function(p,w,T){if(w=w||0,T=T||this.length,U(typeof(p=typeof(p=p||0)=="string"?p.charCodeAt(0):p)=="number"&&!isNaN(p),"value is not a number"),U(w<=T,"end < start"),T!==w&&this.length!==0){U(0<=w&&w<this.length,"start out of bounds"),U(0<=T&&T<=this.length,"end out of bounds");for(var R=w;R<T;R++)this[R]=p}},v.prototype.inspect=function(){for(var p=[],w=this.length,T=0;T<w;T++)if(p[T]=Y(this[T]),T===s.INSPECT_MAX_BYTES){p[T+1]="...";break}return"<Buffer "+p.join(" ")+">"},v.prototype.toArrayBuffer=function(){if(typeof Uint8Array>"u")throw new Error("Buffer.toArrayBuffer not supported in this browser");if(v._useTypedArrays)return new v(this).buffer;for(var p=new Uint8Array(this.length),w=0,T=p.length;w<T;w+=1)p[w]=this[w];return p.buffer};var N=v.prototype;function K(p,w,T){return typeof p!="number"?T:w<=(p=~~p)?w:0<=p||0<=(p+=w)?p:0}function le(p){return(p=~~Math.ceil(+p))<0?0:p}function te(p){return(Array.isArray||function(w){return Object.prototype.toString.call(w)==="[object Array]"})(p)}function Y(p){return p<16?"0"+p.toString(16):p.toString(16)}function Le(p){for(var w=[],T=0;T<p.length;T++){var R=p.charCodeAt(T);if(R<=127)w.push(p.charCodeAt(T));else for(var I=T,D=(55296<=R&&R<=57343&&T++,encodeURIComponent(p.slice(I,T+1)).substr(1).split("%")),G=0;G<D.length;G++)w.push(parseInt(D[G],16))}return w}function dt(p){return m.toByteArray(p)}function De(p,w,T,R){for(var I=0;I<R&&!(I+T>=w.length||I>=p.length);I++)w[I+T]=p[I];return I}function ve(p){try{return decodeURIComponent(p)}catch{return"�"}}function Ge(p,w){U(typeof p=="number","cannot write a non-number as a number"),U(0<=p,"specified a negative value for writing an unsigned value"),U(p<=w,"value is larger than maximum value for type"),U(Math.floor(p)===p,"value has a fractional component")}function He(p,w,T){U(typeof p=="number","cannot write a non-number as a number"),U(p<=w,"value larger than maximum allowed value"),U(T<=p,"value smaller than minimum allowed value"),U(Math.floor(p)===p,"value has a fractional component")}function ne(p,w,T){U(typeof p=="number","cannot write a non-number as a number"),U(p<=w,"value larger than maximum allowed value"),U(T<=p,"value smaller than minimum allowed value")}function U(p,w){if(!p)throw new Error(w||"Failed assertion")}v._augment=function(p){return p._isBuffer=!0,p._get=p.get,p._set=p.set,p.get=N.get,p.set=N.set,p.write=N.write,p.toString=N.toString,p.toLocaleString=N.toString,p.toJSON=N.toJSON,p.copy=N.copy,p.slice=N.slice,p.readUInt8=N.readUInt8,p.readUInt16LE=N.readUInt16LE,p.readUInt16BE=N.readUInt16BE,p.readUInt32LE=N.readUInt32LE,p.readUInt32BE=N.readUInt32BE,p.readInt8=N.readInt8,p.readInt16LE=N.readInt16LE,p.readInt16BE=N.readInt16BE,p.readInt32LE=N.readInt32LE,p.readInt32BE=N.readInt32BE,p.readFloatLE=N.readFloatLE,p.readFloatBE=N.readFloatBE,p.readDoubleLE=N.readDoubleLE,p.readDoubleBE=N.readDoubleBE,p.writeUInt8=N.writeUInt8,p.writeUInt16LE=N.writeUInt16LE,p.writeUInt16BE=N.writeUInt16BE,p.writeUInt32LE=N.writeUInt32LE,p.writeUInt32BE=N.writeUInt32BE,p.writeInt8=N.writeInt8,p.writeInt16LE=N.writeInt16LE,p.writeInt16BE=N.writeInt16BE,p.writeInt32LE=N.writeInt32LE,p.writeInt32BE=N.writeInt32BE,p.writeFloatLE=N.writeFloatLE,p.writeFloatBE=N.writeFloatBE,p.writeDoubleLE=N.writeDoubleLE,p.writeDoubleBE=N.writeDoubleBE,p.fill=N.fill,p.inspect=N.inspect,p.toArrayBuffer=N.toArrayBuffer,p}}).call(this,t("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/buffer/index.js","/node_modules/gulp-browserify/node_modules/buffer")},{"base64-js":2,buffer:3,ieee754:10,lYpoI2:11}],4:[function(t,r,s){(function(i,o,m,l,c,d,u,g,_){var m=t("buffer").Buffer,C=4,v=new m(C);v.fill(0),r.exports={hash:function(E,S,x,M){for(var L=S((function(f,P){f.length%C!=0&&(k=f.length+(C-f.length%C),f=m.concat([f,v],k));for(var k,B=[],V=P?f.readInt32BE:f.readInt32LE,j=0;j<f.length;j+=C)B.push(V.call(f,j));return B})(E=m.isBuffer(E)?E:new m(E),M),8*E.length),S=M,y=new m(x),A=S?y.writeInt32BE:y.writeInt32LE,h=0;h<L.length;h++)A.call(y,L[h],4*h,!0);return y}}}).call(this,t("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/helpers.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:11}],5:[function(t,r,s){(function(i,o,m,l,c,d,u,g,_){var m=t("buffer").Buffer,C=t("./sha"),v=t("./sha256"),E=t("./rng"),S={sha1:C,sha256:v,md5:t("./md5")},x=64,M=new m(x);function L(f,P){var k=S[f=f||"sha1"],B=[];return k||y("algorithm:",f,"is not yet supported"),{update:function(V){return m.isBuffer(V)||(V=new m(V)),B.push(V),V.length,this},digest:function(V){var j=m.concat(B),j=P?(function(N,K,le){m.isBuffer(K)||(K=new m(K)),m.isBuffer(le)||(le=new m(le)),K.length>x?K=N(K):K.length<x&&(K=m.concat([K,M],x));for(var te=new m(x),Y=new m(x),Le=0;Le<x;Le++)te[Le]=54^K[Le],Y[Le]=92^K[Le];return le=N(m.concat([te,le])),N(m.concat([Y,le]))})(k,P,j):k(j);return B=null,V?j.toString(V):j}}}function y(){var f=[].slice.call(arguments).join(" ");throw new Error([f,"we accept pull requests","http://github.com/dominictarr/crypto-browserify"].join(`
211`))}M.fill(0),s.createHash=function(f){return L(f)},s.createHmac=L,s.randomBytes=function(f,P){if(!P||!P.call)return new m(E(f));try{P.call(this,void 0,new m(E(f)))}catch(k){P(k)}};var A,h=["createCredentials","createCipher","createCipheriv","createDecipher","createDecipheriv","createSign","createVerify","createDiffieHellman","pbkdf2"],b=function(f){s[f]=function(){y("sorry,",f,"is not implemented yet")}};for(A in h)b(h[A])}).call(this,t("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/index.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./md5":6,"./rng":7,"./sha":8,"./sha256":9,buffer:3,lYpoI2:11}],6:[function(t,r,s){(function(i,o,a,l,c,d,u,g,_){var m=t("./helpers");function C(y,A){y[A>>5]|=128<<A%32,y[14+(A+64>>>9<<4)]=A;for(var h=1732584193,b=-271733879,f=-1732584194,P=271733878,k=0;k<y.length;k+=16){var B=h,V=b,j=f,N=P,h=E(h,b,f,P,y[k+0],7,-680876936),P=E(P,h,b,f,y[k+1],12,-389564586),f=E(f,P,h,b,y[k+2],17,606105819),b=E(b,f,P,h,y[k+3],22,-1044525330);h=E(h,b,f,P,y[k+4],7,-176418897),P=E(P,h,b,f,y[k+5],12,1200080426),f=E(f,P,h,b,y[k+6],17,-1473231341),b=E(b,f,P,h,y[k+7],22,-45705983),h=E(h,b,f,P,y[k+8],7,1770035416),P=E(P,h,b,f,y[k+9],12,-1958414417),f=E(f,P,h,b,y[k+10],17,-42063),b=E(b,f,P,h,y[k+11],22,-1990404162),h=E(h,b,f,P,y[k+12],7,1804603682),P=E(P,h,b,f,y[k+13],12,-40341101),f=E(f,P,h,b,y[k+14],17,-1502002290),h=S(h,b=E(b,f,P,h,y[k+15],22,1236535329),f,P,y[k+1],5,-165796510),P=S(P,h,b,f,y[k+6],9,-1069501632),f=S(f,P,h,b,y[k+11],14,643717713),b=S(b,f,P,h,y[k+0],20,-373897302),h=S(h,b,f,P,y[k+5],5,-701558691),P=S(P,h,b,f,y[k+10],9,38016083),f=S(f,P,h,b,y[k+15],14,-660478335),b=S(b,f,P,h,y[k+4],20,-405537848),h=S(h,b,f,P,y[k+9],5,568446438),P=S(P,h,b,f,y[k+14],9,-1019803690),f=S(f,P,h,b,y[k+3],14,-187363961),b=S(b,f,P,h,y[k+8],20,1163531501),h=S(h,b,f,P,y[k+13],5,-1444681467),P=S(P,h,b,f,y[k+2],9,-51403784),f=S(f,P,h,b,y[k+7],14,1735328473),h=x(h,b=S(b,f,P,h,y[k+12],20,-1926607734),f,P,y[k+5],4,-378558),P=x(P,h,b,f,y[k+8],11,-2022574463),f=x(f,P,h,b,y[k+11],16,1839030562),b=x(b,f,P,h,y[k+14],23,-35309556),h=x(h,b,f,P,y[k+1],4,-1530992060),P=x(P,h,b,f,y[k+4],11,1272893353),f=x(f,P,h,b,y[k+7],16,-155497632),b=x(b,f,P,h,y[k+10],23,-1094730640),h=x(h,b,f,P,y[k+13],4,681279174),P=x(P,h,b,f,y[k+0],11,-358537222),f=x(f,P,h,b,y[k+3],16,-722521979),b=x(b,f,P,h,y[k+6],23,76029189),h=x(h,b,f,P,y[k+9],4,-640364487),P=x(P,h,b,f,y[k+12],11,-421815835),f=x(f,P,h,b,y[k+15],16,530742520),h=M(h,b=x(b,f,P,h,y[k+2],23,-995338651),f,P,y[k+0],6,-198630844),P=M(P,h,b,f,y[k+7],10,1126891415),f=M(f,P,h,b,y[k+14],15,-1416354905),b=M(b,f,P,h,y[k+5],21,-57434055),h=M(h,b,f,P,y[k+12],6,1700485571),P=M(P,h,b,f,y[k+3],10,-1894986606),f=M(f,P,h,b,y[k+10],15,-1051523),b=M(b,f,P,h,y[k+1],21,-2054922799),h=M(h,b,f,P,y[k+8],6,1873313359),P=M(P,h,b,f,y[k+15],10,-30611744),f=M(f,P,h,b,y[k+6],15,-1560198380),b=M(b,f,P,h,y[k+13],21,1309151649),h=M(h,b,f,P,y[k+4],6,-145523070),P=M(P,h,b,f,y[k+11],10,-1120210379),f=M(f,P,h,b,y[k+2],15,718787259),b=M(b,f,P,h,y[k+9],21,-343485551),h=L(h,B),b=L(b,V),f=L(f,j),P=L(P,N)}return Array(h,b,f,P)}function v(y,A,h,b,f,P){return L((A=L(L(A,y),L(b,P)))<<f|A>>>32-f,h)}function E(y,A,h,b,f,P,k){return v(A&h|~A&b,y,A,f,P,k)}function S(y,A,h,b,f,P,k){return v(A&b|h&~b,y,A,f,P,k)}function x(y,A,h,b,f,P,k){return v(A^h^b,y,A,f,P,k)}function M(y,A,h,b,f,P,k){return v(h^(A|~b),y,A,f,P,k)}function L(y,A){var h=(65535&y)+(65535&A);return(y>>16)+(A>>16)+(h>>16)<<16|65535&h}r.exports=function(y){return m.hash(y,C,16)}}).call(this,t("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],7:[function(t,r,s){(function(i,o,a,l,c,d,u,g,_){r.exports=function(m){for(var C,v=new Array(m),E=0;E<m;E++)!(3&E)&&(C=4294967296*Math.random()),v[E]=C>>>((3&E)<<3)&255;return v}}).call(this,t("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:11}],8:[function(t,r,s){(function(i,o,a,l,c,d,u,g,_){var m=t("./helpers");function C(S,x){S[x>>5]|=128<<24-x%32,S[15+(x+64>>9<<4)]=x;for(var M,L,y,A=Array(80),h=1732584193,b=-271733879,f=-1732584194,P=271733878,k=-1009589776,B=0;B<S.length;B+=16){for(var V=h,j=b,N=f,K=P,le=k,te=0;te<80;te++){A[te]=te<16?S[B+te]:E(A[te-3]^A[te-8]^A[te-14]^A[te-16],1);var Y=v(v(E(h,5),(Y=b,L=f,y=P,(M=te)<20?Y&L|~Y&y:!(M<40)&&M<60?Y&L|Y&y|L&y:Y^L^y)),v(v(k,A[te]),(M=te)<20?1518500249:M<40?1859775393:M<60?-1894007588:-899497514)),k=P,P=f,f=E(b,30),b=h,h=Y}h=v(h,V),b=v(b,j),f=v(f,N),P=v(P,K),k=v(k,le)}return Array(h,b,f,P,k)}function v(S,x){var M=(65535&S)+(65535&x);return(S>>16)+(x>>16)+(M>>16)<<16|65535&M}function E(S,x){return S<<x|S>>>32-x}r.exports=function(S){return m.hash(S,C,20,!0)}}).call(this,t("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],9:[function(t,r,s){(function(i,o,a,l,c,d,u,g,_){function m(x,M){var L=(65535&x)+(65535&M);return(x>>16)+(M>>16)+(L>>16)<<16|65535&L}function C(x,M){var L,y=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),A=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),h=new Array(64);x[M>>5]|=128<<24-M%32,x[15+(M+64>>9<<4)]=M;for(var b,f,P=0;P<x.length;P+=16){for(var k=A[0],B=A[1],V=A[2],j=A[3],N=A[4],K=A[5],le=A[6],te=A[7],Y=0;Y<64;Y++)h[Y]=Y<16?x[Y+P]:m(m(m((f=h[Y-2],E(f,17)^E(f,19)^S(f,10)),h[Y-7]),(f=h[Y-15],E(f,7)^E(f,18)^S(f,3))),h[Y-16]),L=m(m(m(m(te,E(f=N,6)^E(f,11)^E(f,25)),N&K^~N&le),y[Y]),h[Y]),b=m(E(b=k,2)^E(b,13)^E(b,22),k&B^k&V^B&V),te=le,le=K,K=N,N=m(j,L),j=V,V=B,B=k,k=m(L,b);A[0]=m(k,A[0]),A[1]=m(B,A[1]),A[2]=m(V,A[2]),A[3]=m(j,A[3]),A[4]=m(N,A[4]),A[5]=m(K,A[5]),A[6]=m(le,A[6]),A[7]=m(te,A[7])}return A}var v=t("./helpers"),E=function(x,M){return x>>>M|x<<32-M},S=function(x,M){return x>>>M};r.exports=function(x){return v.hash(x,C,32,!0)}}).call(this,t("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],10:[function(t,r,s){(function(i,o,a,l,c,d,u,g,_){s.read=function(m,C,v,E,P){var x,M,L=8*P-E-1,y=(1<<L)-1,A=y>>1,h=-7,b=v?P-1:0,f=v?-1:1,P=m[C+b];for(b+=f,x=P&(1<<-h)-1,P>>=-h,h+=L;0<h;x=256*x+m[C+b],b+=f,h-=8);for(M=x&(1<<-h)-1,x>>=-h,h+=E;0<h;M=256*M+m[C+b],b+=f,h-=8);if(x===0)x=1-A;else{if(x===y)return M?NaN:1/0*(P?-1:1);M+=Math.pow(2,E),x-=A}return(P?-1:1)*M*Math.pow(2,x-E)},s.write=function(m,C,v,E,S,k){var M,L,y=8*k-S-1,A=(1<<y)-1,h=A>>1,b=S===23?Math.pow(2,-24)-Math.pow(2,-77):0,f=E?0:k-1,P=E?1:-1,k=C<0||C===0&&1/C<0?1:0;for(C=Math.abs(C),isNaN(C)||C===1/0?(L=isNaN(C)?1:0,M=A):(M=Math.floor(Math.log(C)/Math.LN2),C*(E=Math.pow(2,-M))<1&&(M--,E*=2),2<=(C+=1<=M+h?b/E:b*Math.pow(2,1-h))*E&&(M++,E/=2),A<=M+h?(L=0,M=A):1<=M+h?(L=(C*E-1)*Math.pow(2,S),M+=h):(L=C*Math.pow(2,h-1)*Math.pow(2,S),M=0));8<=S;m[v+f]=255&L,f+=P,L/=256,S-=8);for(M=M<<S|L,y+=S;0<y;m[v+f]=255&M,f+=P,M/=256,y-=8);m[v+f-P]|=128*k}}).call(this,t("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/ieee754/index.js","/node_modules/gulp-browserify/node_modules/ieee754")},{buffer:3,lYpoI2:11}],11:[function(t,r,s){(function(i,o,a,l,c,d,u,g,_){var m,C,v;function E(){}(i=r.exports={}).nextTick=(C=typeof window<"u"&&window.setImmediate,v=typeof window<"u"&&window.postMessage&&window.addEventListener,C?function(S){return window.setImmediate(S)}:v?(m=[],window.addEventListener("message",function(S){var x=S.source;x!==window&&x!==null||S.data!=="process-tick"||(S.stopPropagation(),0<m.length&&m.shift()())},!0),function(S){m.push(S),window.postMessage("process-tick","*")}):function(S){setTimeout(S,0)}),i.title="browser",i.browser=!0,i.env={},i.argv=[],i.on=E,i.addListener=E,i.once=E,i.off=E,i.removeListener=E,i.removeAllListeners=E,i.emit=E,i.binding=function(S){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(S){throw new Error("process.chdir is not supported")}}).call(this,t("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/process/browser.js","/node_modules/gulp-browserify/node_modules/process")},{buffer:3,lYpoI2:11}]},{},[1])(1)})})(Lf);var Rf=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"],ds=Rf;ds=ds.slice().filter(function(n){return!/^(gl\_|texture)/.test(n)});ds.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"]);function If(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function Of(n){var e=If(n,"string");return typeof e=="symbol"?e:String(e)}function ce(n,e,t){return e=Of(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var $={position:"csm_Position",positionRaw:"csm_PositionRaw",pointSize:"csm_PointSize",fragColor:"csm_FragColor",diffuseColor:"csm_DiffuseColor",normal:"csm_Normal",roughness:"csm_Roughness",metalness:"csm_Metalness",emissive:"csm_Emissive",ao:"csm_AO",bump:"csm_Bump",depthAlpha:"csm_DepthAlpha"},Ue,Qt;Ue={},ce(Ue,"".concat($.normal),{"#include <beginnormal_vertex>":`
212    vec3 objectNormal = `.concat($.normal,`;
213    #ifdef USE_TANGENT
214	    vec3 objectTangent = vec3( tangent.xyz );
215    #endif
216    `)}),ce(Ue,"".concat($.position),{"#include <begin_vertex>":`
217    vec3 transformed = `.concat($.position,`;
218  `)}),ce(Ue,"".concat($.positionRaw),{"#include <begin_vertex>":`
219    vec4 csm_internal_positionUnprojected = `.concat($.positionRaw,`;
220    mat4x4 csm_internal_unprojectMatrix = projectionMatrix * modelViewMatrix;
221    #ifdef USE_INSTANCING
222      csm_internal_unprojectMatrix = csm_internal_unprojectMatrix * instanceMatrix;
223    #endif
224    csm_internal_positionUnprojected = inverse(csm_internal_unprojectMatrix) * csm_internal_positionUnprojected;
225    vec3 transformed = csm_internal_positionUnprojected.xyz;
226  `)}),ce(Ue,"".concat($.pointSize),{"gl_PointSize = size;":`
227    gl_PointSize = `.concat($.pointSize,`;
228    `)}),ce(Ue,"".concat($.diffuseColor),{"#include <color_fragment>":`
229    #include <color_fragment>
230    diffuseColor = `.concat($.diffuseColor,`;
231  `)}),ce(Ue,"".concat($.fragColor),{"#include <dithering_fragment>":`
232    #include <dithering_fragment>
233    gl_FragColor  = `.concat($.fragColor,`;
234  `)}),ce(Ue,"".concat($.emissive),{"vec3 totalEmissiveRadiance = emissive;":`
235    vec3 totalEmissiveRadiance = `.concat($.emissive,`;
236    `)}),ce(Ue,"".concat($.roughness),{"#include <roughnessmap_fragment>":`
237    #include <roughnessmap_fragment>
238    roughnessFactor = `.concat($.roughness,`;
239    `)}),ce(Ue,"".concat($.metalness),{"#include <metalnessmap_fragment>":`
240    #include <metalnessmap_fragment>
241    metalnessFactor = `.concat($.metalness,`;
242    `)}),ce(Ue,"".concat($.ao),{"#include <aomap_fragment>":`
243    #include <aomap_fragment>
244    reflectedLight.indirectDiffuse *= 1. - `.concat($.ao,`;
245    `)}),ce(Ue,"".concat($.bump),{"#include <normal_fragment_maps>":`
246    #include <normal_fragment_maps>
247
248    vec3 csm_internal_orthogonal = `.concat($.bump," - (dot(").concat($.bump,`, normal) * normal);
249    vec3 csm_internal_projectedbump = mat3(csm_internal_vModelViewMatrix) * csm_internal_orthogonal;
250    normal = normalize(normal - csm_internal_projectedbump);
251    `)}),ce(Ue,"".concat($.depthAlpha),{"gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );":`
252      gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity * `.concat($.depthAlpha,` );
253    `),"gl_FragColor = packDepthToRGBA( fragCoordZ );":`
254      gl_FragColor = packDepthToRGBA( fragCoordZ );
255      gl_FragColor.a *= `.concat($.depthAlpha,`;
256    `)});Qt={},ce(Qt,"".concat($.position),{"gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );":`
257    gl_Position = projectionMatrix * modelViewMatrix * vec4( `.concat($.position,`, 1.0 );
258  `)}),ce(Qt,"".concat($.positionRaw),{"gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );":`
259    gl_Position = `.concat($.position,`;
260  `)}),ce(Qt,"".concat($.diffuseColor),{"gl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );":`
261    gl_FragColor = `.concat($.diffuseColor,`;
262  `)}),ce(Qt,"".concat($.fragColor),{"gl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );":`
263    gl_FragColor = `.concat($.fragColor,`;
264  `)});var Be;Be={},ce(Be,"".concat($.position),"*"),ce(Be,"".concat($.positionRaw),"*"),ce(Be,"".concat($.normal),"*"),ce(Be,"".concat($.pointSize),["PointsMaterial"]),ce(Be,"".concat($.diffuseColor),"*"),ce(Be,"".concat($.fragColor),"*"),ce(Be,"".concat($.emissive),["MeshStandardMaterial","MeshPhysicalMaterial"]),ce(Be,"".concat($.roughness),["MeshStandardMaterial","MeshPhysicalMaterial"]),ce(Be,"".concat($.metalness),["MeshStandardMaterial","MeshPhysicalMaterial"]),ce(Be,"".concat($.ao),["MeshStandardMaterial","MeshPhysicalMaterial","MeshBasicMaterial","MeshLambertMaterial","MeshPhongMaterial","MeshToonMaterial"]),ce(Be,"".concat($.bump),["MeshLambertMaterial","MeshMatcapMaterial","MeshNormalMaterial","MeshPhongMaterial","MeshPhysicalMaterial","MeshStandardMaterial","MeshToonMaterial","ShadowMaterial"]),ce(Be,"".concat($.depthAlpha),"*");new bs;new H;gn.line={worldUnits:{value:1},linewidth:{value:1},resolution:{value:new ot(1,1)},dashOffset:{value:0},dashScale:{value:1},dashSize:{value:1},gapSize:{value:1}};
264zl.line={uniforms:_s.merge([gn.common,gn.fog,gn.line]),vertexShader:`
265		#include <common>
266		#include <color_pars_vertex>
267		#include <fog_pars_vertex>
268		#include <logdepthbuf_pars_vertex>
269		#include <clipping_planes_pars_vertex>
270
271		uniform float linewidth;
272		uniform vec2 resolution;
273
274		attribute vec3 instanceStart;
275		attribute vec3 instanceEnd;
276
277		attribute vec3 instanceColorStart;
278		attribute vec3 instanceColorEnd;
279
280		#ifdef WORLD_UNITS
281
282			varying vec4 worldPos;
283			varying vec3 worldStart;
284			varying vec3 worldEnd;
285
286			#ifdef USE_DASH
287
288				varying vec2 vUv;
289
290			#endif
291
292		#else
293
294			varying vec2 vUv;
295
296		#endif
297
298		#ifdef USE_DASH
299
300			uniform float dashScale;
301			attribute float instanceDistanceStart;
302			attribute float instanceDistanceEnd;
303			varying float vLineDistance;
304
305		#endif
306
307		void trimSegment( const in vec4 start, inout vec4 end ) {
308
309			// trim end segment so it terminates between the camera plane and the near plane
310
311			// conservative estimate of the near plane
312			float a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column
313			float b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column
314			float nearEstimate = - 0.5 * b / a;
315
316			float alpha = ( nearEstimate - start.z ) / ( end.z - start.z );
317
318			end.xyz = mix( start.xyz, end.xyz, alpha );
319
320		}
321
322		void main() {
323
324			#ifdef USE_COLOR
325
326				vColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd;
327
328			#endif
329
330			#ifdef USE_DASH
331
332				vLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd;
333				vUv = uv;
334
335			#endif
336
337			float aspect = resolution.x / resolution.y;
338
339			// camera space
340			vec4 start = modelViewMatrix * vec4( instanceStart, 1.0 );
341			vec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 );
342
343			#ifdef WORLD_UNITS
344
345				worldStart = start.xyz;
346				worldEnd = end.xyz;
347
348			#else
349
350				vUv = uv;
351
352			#endif
353
354			// special case for perspective projection, and segments that terminate either in, or behind, the camera plane
355			// clearly the gpu firmware has a way of addressing this issue when projecting into ndc space
356			// but we need to perform ndc-space calculations in the shader, so we must address this issue directly
357			// perhaps there is a more elegant solution -- WestLangley
358
359			bool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column
360
361			if ( perspective ) {
362
363				if ( start.z < 0.0 && end.z >= 0.0 ) {
364
365					trimSegment( start, end );
366
367				} else if ( end.z < 0.0 && start.z >= 0.0 ) {
368
369					trimSegment( end, start );
370
371				}
372
373			}
374
375			// clip space
376			vec4 clipStart = projectionMatrix * start;
377			vec4 clipEnd = projectionMatrix * end;
378
379			// ndc space
380			vec3 ndcStart = clipStart.xyz / clipStart.w;
381			vec3 ndcEnd = clipEnd.xyz / clipEnd.w;
382
383			// direction
384			vec2 dir = ndcEnd.xy - ndcStart.xy;
385
386			// account for clip-space aspect ratio
387			dir.x *= aspect;
388			dir = normalize( dir );
389
390			#ifdef WORLD_UNITS
391
392				vec3 worldDir = normalize( end.xyz - start.xyz );
393				vec3 tmpFwd = normalize( mix( start.xyz, end.xyz, 0.5 ) );
394				vec3 worldUp = normalize( cross( worldDir, tmpFwd ) );
395				vec3 worldFwd = cross( worldDir, worldUp );
396				worldPos = position.y < 0.5 ? start: end;
397
398				// height offset
399				float hw = linewidth * 0.5;
400				worldPos.xyz += position.x < 0.0 ? hw * worldUp : - hw * worldUp;
401
402				// don't extend the line if we're rendering dashes because we
403				// won't be rendering the endcaps
404				#ifndef USE_DASH
405
406					// cap extension
407					worldPos.xyz += position.y < 0.5 ? - hw * worldDir : hw * worldDir;
408
409					// add width to the box
410					worldPos.xyz += worldFwd * hw;
411
412					// endcaps
413					if ( position.y > 1.0 || position.y < 0.0 ) {
414
415						worldPos.xyz -= worldFwd * 2.0 * hw;
416
417					}
418
419				#endif
420
421				// project the worldpos
422				vec4 clip = projectionMatrix * worldPos;
423
424				// shift the depth of the projected points so the line
425				// segments overlap neatly
426				vec3 clipPose = ( position.y < 0.5 ) ? ndcStart : ndcEnd;
427				clip.z = clipPose.z * clip.w;
428
429			#else
430
431				vec2 offset = vec2( dir.y, - dir.x );
432				// undo aspect ratio adjustment
433				dir.x /= aspect;
434				offset.x /= aspect;
435
436				// sign flip
437				if ( position.x < 0.0 ) offset *= - 1.0;
438
439				// endcaps
440				if ( position.y < 0.0 ) {
441
442					offset += - dir;
443
444				} else if ( position.y > 1.0 ) {
445
446					offset += dir;
447
448				}
449
450				// adjust for linewidth
451				offset *= linewidth;
452
453				// adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ...
454				offset /= resolution.y;
455
456				// select end
457				vec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd;
458
459				// back to clip space
460				offset *= clip.w;
461
462				clip.xy += offset;
463
464			#endif
465
466			gl_Position = clip;
467
468			vec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation
469
470			#include <logdepthbuf_vertex>
471			#include <clipping_planes_vertex>
472			#include <fog_vertex>
473
474		}
475		`,fragmentShader:`
476		uniform vec3 diffuse;
477		uniform float opacity;
478		uniform float linewidth;
479
480		#ifdef USE_DASH
481
482			uniform float dashOffset;
483			uniform float dashSize;
484			uniform float gapSize;
485
486		#endif
487
488		varying float vLineDistance;
489
490		#ifdef WORLD_UNITS
491
492			varying vec4 worldPos;
493			varying vec3 worldStart;
494			varying vec3 worldEnd;
495
496			#ifdef USE_DASH
497
498				varying vec2 vUv;
499
500			#endif
501
502		#else
503
504			varying vec2 vUv;
505
506		#endif
507
508		#include <common>
509		#include <color_pars_fragment>
510		#include <fog_pars_fragment>
511		#include <logdepthbuf_pars_fragment>
512		#include <clipping_planes_pars_fragment>
513
514		vec2 closestLineToLine(vec3 p1, vec3 p2, vec3 p3, vec3 p4) {
515
516			float mua;
517			float mub;
518
519			vec3 p13 = p1 - p3;
520			vec3 p43 = p4 - p3;
521
522			vec3 p21 = p2 - p1;
523
524			float d1343 = dot( p13, p43 );
525			float d4321 = dot( p43, p21 );
526			float d1321 = dot( p13, p21 );
527			float d4343 = dot( p43, p43 );
528			float d2121 = dot( p21, p21 );
529
530			float denom = d2121 * d4343 - d4321 * d4321;
531
532			float numer = d1343 * d4321 - d1321 * d4343;
533
534			mua = numer / denom;
535			mua = clamp( mua, 0.0, 1.0 );
536			mub = ( d1343 + d4321 * ( mua ) ) / d4343;
537			mub = clamp( mub, 0.0, 1.0 );
538
539			return vec2( mua, mub );
540
541		}
542
543		void main() {
544
545			#include <clipping_planes_fragment>
546
547			#ifdef USE_DASH
548
549				if ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps
550
551				if ( mod( vLineDistance + dashOffset, dashSize + gapSize ) > dashSize ) discard; // todo - FIX
552
553			#endif
554
555			float alpha = opacity;
556
557			#ifdef WORLD_UNITS
558
559				// Find the closest points on the view ray and the line segment
560				vec3 rayEnd = normalize( worldPos.xyz ) * 1e5;
561				vec3 lineDir = worldEnd - worldStart;
562				vec2 params = closestLineToLine( worldStart, worldEnd, vec3( 0.0, 0.0, 0.0 ), rayEnd );
563
564				vec3 p1 = worldStart + lineDir * params.x;
565				vec3 p2 = rayEnd * params.y;
566				vec3 delta = p1 - p2;
567				float len = length( delta );
568				float norm = len / linewidth;
569
570				#ifndef USE_DASH
571
572					#ifdef USE_ALPHA_TO_COVERAGE
573
574						float dnorm = fwidth( norm );
575						alpha = 1.0 - smoothstep( 0.5 - dnorm, 0.5 + dnorm, norm );
576
577					#else
578
579						if ( norm > 0.5 ) {
580
581							discard;
582
583						}
584
585					#endif
586
587				#endif
588
589			#else
590
591				#ifdef USE_ALPHA_TO_COVERAGE
592
593					// artifacts appear on some hardware if a derivative is taken within a conditional
594					float a = vUv.x;
595					float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;
596					float len2 = a * a + b * b;
597					float dlen = fwidth( len2 );
598
599					if ( abs( vUv.y ) > 1.0 ) {
600
601						alpha = 1.0 - smoothstep( 1.0 - dlen, 1.0 + dlen, len2 );
602
603					}
604
605				#else
606
607					if ( abs( vUv.y ) > 1.0 ) {
608
609						float a = vUv.x;
610						float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;
611						float len2 = a * a + b * b;
612
613						if ( len2 > 1.0 ) discard;
614
615					}
616
617				#endif
618
619			#endif
620
621			vec4 diffuseColor = vec4( diffuse, alpha );
622
623			#include <logdepthbuf_fragment>
624			#include <color_fragment>
625
626			gl_FragColor = vec4( diffuseColor.rgb, alpha );
627
628			#include <tonemapping_fragment>
629			#include <colorspace_fragment>
630			#include <fog_fragment>
631			#include <premultiplied_alpha_fragment>
632
633		}
634		`};new H;new H;new jt;new jt;new jt;new H;new gt;new Gl;new H;new bs;new vo;new jt;const Ff={key:0,args:[0,1,64]},Vf={key:1,args:[.5,1,64]},Nf={key:2},Df=["tone-mapped","map","side","color"];new Pe(16777215);class Qs extends Je{constructor(){const e=Qs.SkyShader,t=new Rt({name:e.name,uniforms:_s.clone(e.uniforms),vertexShader:e.vertexShader,fragmentShader:e.fragmentShader,side:Kl,depthWrite:!1});super(new Wl(1,1,1),t),this.isSky=!0}}Qs.SkyShader={name:"SkyShader",uniforms:{turbidity:{value:2},rayleigh:{value:1},mieCoefficient:{value:.005},mieDirectionalG:{value:.8},sunPosition:{value:new H},up:{value:new H(0,1,0)}},vertexShader:`
635		uniform vec3 sunPosition;
636		uniform float rayleigh;
637		uniform float turbidity;
638		uniform float mieCoefficient;
639		uniform vec3 up;
640
641		varying vec3 vWorldPosition;
642		varying vec3 vSunDirection;
643		varying float vSunfade;
644		varying vec3 vBetaR;
645		varying vec3 vBetaM;
646		varying float vSunE;
647
648		// constants for atmospheric scattering
649		const float e = 2.71828182845904523536028747135266249775724709369995957;
650		const float pi = 3.141592653589793238462643383279502884197169;
651
652		// wavelength of used primaries, according to preetham
653		const vec3 lambda = vec3( 680E-9, 550E-9, 450E-9 );
654		// this pre-calcuation replaces older TotalRayleigh(vec3 lambda) function:
655		// (8.0 * pow(pi, 3.0) * pow(pow(n, 2.0) - 1.0, 2.0) * (6.0 + 3.0 * pn)) / (3.0 * N * pow(lambda, vec3(4.0)) * (6.0 - 7.0 * pn))
656		const vec3 totalRayleigh = vec3( 5.804542996261093E-6, 1.3562911419845635E-5, 3.0265902468824876E-5 );
657
658		// mie stuff
659		// K coefficient for the primaries
660		const float v = 4.0;
661		const vec3 K = vec3( 0.686, 0.678, 0.666 );
662		// MieConst = pi * pow( ( 2.0 * pi ) / lambda, vec3( v - 2.0 ) ) * K
663		const vec3 MieConst = vec3( 1.8399918514433978E14, 2.7798023919660528E14, 4.0790479543861094E14 );
664
665		// earth shadow hack
666		// cutoffAngle = pi / 1.95;
667		const float cutoffAngle = 1.6110731556870734;
668		const float steepness = 1.5;
669		const float EE = 1000.0;
670
671		float sunIntensity( float zenithAngleCos ) {
672			zenithAngleCos = clamp( zenithAngleCos, -1.0, 1.0 );
673			return EE * max( 0.0, 1.0 - pow( e, -( ( cutoffAngle - acos( zenithAngleCos ) ) / steepne
673ss ) ) );
674		}
675
676		vec3 totalMie( float T ) {
677			float c = ( 0.2 * T ) * 10E-18;
678			return 0.434 * c * MieConst;
679		}
680
681		void main() {
682
683			vec4 worldPosition = modelMatrix * vec4( position, 1.0 );
684			vWorldPosition = worldPosition.xyz;
685
686			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
687			gl_Position.z = gl_Position.w; // set z to camera.far
688
689			vSunDirection = normalize( sunPosition );
690
691			vSunE = sunIntensity( dot( vSunDirection, up ) );
692
693			vSunfade = 1.0 - clamp( 1.0 - exp( ( sunPosition.y / 450000.0 ) ), 0.0, 1.0 );
694
695			float rayleighCoefficient = rayleigh - ( 1.0 * ( 1.0 - vSunfade ) );
696
697			// extinction (absorbtion + out scattering)
698			// rayleigh coefficients
699			vBetaR = totalRayleigh * rayleighCoefficient;
700
701			// mie coefficients
702			vBetaM = totalMie( turbidity ) * mieCoefficient;
703
704		}`,fragmentShader:`
705		varying vec3 vWorldPosition;
706		varying vec3 vSunDirection;
707		varying float vSunfade;
708		varying vec3 vBetaR;
709		varying vec3 vBetaM;
710		varying float vSunE;
711
712		uniform float mieDirectionalG;
713		uniform vec3 up;
714
715		// constants for atmospheric scattering
716		const float pi = 3.141592653589793238462643383279502884197169;
717
718		const float n = 1.0003; // refractive index of air
719		const float N = 2.545E25; // number of molecules per unit volume for air at 288.15K and 1013mb (sea level -45 celsius)
720
721		// optical length at zenith for molecules
722		const float rayleighZenithLength = 8.4E3;
723		const float mieZenithLength = 1.25E3;
724		// 66 arc seconds -> degrees, and the cosine of that
725		const float sunAngularDiameterCos = 0.999956676946448443553574619906976478926848692873900859324;
726
727		// 3.0 / ( 16.0 * pi )
728		const float THREE_OVER_SIXTEENPI = 0.05968310365946075;
729		// 1.0 / ( 4.0 * pi )
730		const float ONE_OVER_FOURPI = 0.07957747154594767;
731
732		float rayleighPhase( float cosTheta ) {
733			return THREE_OVER_SIXTEENPI * ( 1.0 + pow( cosTheta, 2.0 ) );
734		}
735
736		float hgPhase( float cosTheta, float g ) {
737			float g2 = pow( g, 2.0 );
738			float inverse = 1.0 / pow( 1.0 - 2.0 * g * cosTheta + g2, 1.5 );
739			return ONE_OVER_FOURPI * ( ( 1.0 - g2 ) * inverse );
740		}
741
742		void main() {
743
744			vec3 direction = normalize( vWorldPosition - cameraPosition );
745
746			// optical length
747			// cutoff angle at 90 to avoid singularity in next formula.
748			float zenithAngle = acos( max( 0.0, dot( up, direction ) ) );
749			float inverse = 1.0 / ( cos( zenithAngle ) + 0.15 * pow( 93.885 - ( ( zenithAngle * 180.0 ) / pi ), -1.253 ) );
750			float sR = rayleighZenithLength * inverse;
751			float sM = mieZenithLength * inverse;
752
753			// combined extinction factor
754			vec3 Fex = exp( -( vBetaR * sR + vBetaM * sM ) );
755
756			// in scattering
757			float cosTheta = dot( direction, vSunDirection );
758
759			float rPhase = rayleighPhase( cosTheta * 0.5 + 0.5 );
760			vec3 betaRTheta = vBetaR * rPhase;
761
762			float mPhase = hgPhase( cosTheta, mieDirectionalG );
763			vec3 betaMTheta = vBetaM * mPhase;
764
765			vec3 Lin = pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * ( 1.0 - Fex ), vec3( 1.5 ) );
766			Lin *= mix( vec3( 1.0 ), pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * Fex, vec3( 1.0 / 2.0 ) ), clamp( pow( 1.0 - dot( up, vSunDirection ), 5.0 ), 0.0, 1.0 ) );
767
768			// nightsky
769			float theta = acos( direction.y ); // elevation --> y-axis, [-pi/2, pi/2]
770			float phi = atan( direction.z, direction.x ); // azimuth --> x-axis [-pi/2, pi/2]
771			vec2 uv = vec2( phi, theta ) / vec2( 2.0 * pi, pi ) + vec2( 0.5, 0.0 );
772			vec3 L0 = vec3( 0.1 ) * Fex;
773
774			// composition + solar disc
775			float sundisk = smoothstep( sunAngularDiameterCos, sunAngularDiameterCos + 0.00002, cosTheta );
776			L0 += ( vSunE * 19000.0 * Fex ) * sundisk;
777
778			vec3 texColor = ( Lin + L0 ) * 0.04 + vec3( 0.0, 0.0003, 0.00075 );
779
780			vec3 retColor = pow( texColor, vec3( 1.0 / ( 1.2 + ( 1.2 * vSunfade ) ) ) );
781
782			gl_FragColor = vec4( retColor, 1.0 );
783
784			#include <tonemapping_fragment>
785			#include <colorspace_fragment>
786
787		}`};var Uf={exports:{}};(function(n,e){(function(t,r){n.exports=r()})(kf,function(){var t=function(){function r(_){return o.appendChild(_.dom),_}function s(_){for(var m=0;m<o.children.length;m++)o.children[m].style.display=m===_?"block":"none";i=_}var i=0,o=document.createElement("div");o.style.cssText="position:fixed;top:0;left:0;cursor:pointer;opacity:0.9;z-index:10000",o.addEventListener("click",function(_){_.preventDefault(),s(++i%o.children.length)},!1);var a=(performance||Date).now(),l=a,c=0,d=r(new t.Panel("FPS","#0ff","#002")),u=r(new t.Panel("MS","#0f0","#020"));if(self.performance&&self.performance.memory)var g=r(new t.Panel("MB","#f08","#201"));return s(0),{REVISION:16,dom:o,addPanel:r,showPanel:s,begin:function(){a=(performance||Date).now()},end:function(){c++;var _=(performance||Date).now();if(u.update(_-a,200),_>l+1e3&&(d.update(1e3*c/(_-l),100),l=_,c=0,g)){var m=performance.memory;g.update(m.usedJSHeapSize/1048576,m.jsHeapSizeLimit/1048576)}return _},update:function(){a=this.end()},domElement:o,setMode:s}};return t.Panel=function(r,s,i){var o=1/0,a=0,l=Math.round,c=l(window.devicePixelRatio||1),d=80*c,u=48*c,g=3*c,_=2*c,m=3*c,C=15*c,v=74*c,E=30*c,S=document.createElement("canvas");S.width=d,S.height=u,S.style.cssText="width:80px;height:48px";var x=S.getContext("2d");return x.font="bold "+9*c+"px Helvetica,Arial,sans-serif",x.textBaseline="top",x.fillStyle=i,x.fillRect(0,0,d,u),x.fillStyle=s,x.fillText(r,g,_),x.fillRect(m,C,v,E),x.fillStyle=i,x.globalAlpha=.9,x.fillRect(m,C,v,E),{dom:S,update:function(M,L){o=Math.min(o,M),a=Math.max(a,M),x.fillStyle=i,x.globalAlpha=1,x.fillRect(0,0,d,C
787),x.fillStyle=s,x.fillText(l(M)+" "+r+" ("+l(o)+"-"+l(a)+")",g,_),x.drawImage(S,m+c,C,v-c,E,m,C,v-c,E),x.fillRect(m+v-c,C,c,E),x.fillStyle=i,x.globalAlpha=.9,x.fillRect(m+v-c,C,c,l((1-M/L)*E))}}},t})})(Uf);var Bf=`#include <common>
788
789void main() {
790  vec2 center = vec2(0., 1.);
791  float rotation = 0.0;
792
793  
794  
795  float size = 0.03;
796
797  vec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );
798  vec2 scale;
799  scale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );
800  scale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );
801
802  bool isPerspective = isPerspectiveMatrix( projectionMatrix );
803  if ( isPerspective ) scale *= - mvPosition.z;
804
805  vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale * size;
806  vec2 rotatedPosition;
807  rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;
808  rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;
809  mvPosition.xy += rotatedPosition;
810
811  gl_Position = projectionMatrix * mvPosition;
812}`,jf=`void main() {
813  gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);
814}`;const Bn=new H(0,0,0),Js=new H(0,0,0),zf=new H(0,0,0);function qi(n,e,t){const r=Bn.setFromMatrixPosition(n.matrixWorld);r.project(e);const s=t.width/2,i=t.height/2;return[(Number.isNaN(r.x)?0:r.x)*s+s,-(r.y*i)+i]}function Gf(n,e){const t=Bn.setFromMatrixPosition(n.matrixWorld),r=Js.setFromMatrixPosition(e.matrixWorld),s=t.sub(r),i=e.getWorldDirection(zf);return s.angleTo(i)>Math.PI/2}function Hf(n,e,t,r){const s=Bn.setFromMatrixPosition(n.matrixWorld),i=s.clone();i.project(e),t.setFromCamera(new ot(i.x,i.y),e);const o=t.intersectObjects(r,!0);if(o.length>0){const a=o[0].distance;return s.distanceTo(t.ray.origin)<a}return!0}function $f(n,e){if(e instanceof hr)return e.zoom;if(e instanceof Rn){const t=Bn.setFromMatrixPosition(n.matrixWorld),r=Js.setFromMatrixPosition(e.matrixWorld),s=e.fov*Math.PI/180,i=t.distanceTo(r);return 1/(2*Math.tan(s/2)*i)}else return 1}function Kf(n,e,t){if(e instanceof Rn||e instanceof hr){const r=Bn.setFromMatrixPosition(n.matrixWorld),s=Js.setFromMatrixPosition(e.matrixWorld),i=r.distanceTo(s),o=(t[1]-t[0])/(e.far-e.near),a=t[1]-o*e.far;return Math.round(o*i+a)}}const hs=n=>Math.abs(n)<1e-10?0:n;function Na(n,e,t=""){let r="matrix3d(";for(let s=0;s!==16;s++)r+=hs(e[s]*n.elements[s])+(s!==15?",":")");return t+r}const Wf=(n=>e=>Na(e,n))([1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1]),qf=(n=>(e,t)=>Na(e,n(t),"translate(-50%,-50%)"))(n=>[1/n,1/n,1/n,1,-1/n,-1/n,-1/n,-1,1/n,1/n,1/n,1,1,1,1,1]),Xf=["geometry","material"];new fr;var Yf=`varying vec2 vUv;
815
816void main(){
817    gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
818    vUv = uv;
819}`,Zf=`uniform vec3 uColor;
820uniform float uOpacity;
821
822varying vec2 vUv;
823
824void main(){
825    float outerGlow = distance(vUv, vec2(0.5));
826    outerGlow = smoothstep(0.435, 0.385, outerGlow);
827    outerGlow = pow(outerGlow, 3.0);
828
829    float center = smoothstep(0.80, 1.0, outerGlow);
830    float alpha = (outerGlow * uOpacity) - center;
831    alpha = clamp(alpha, 0.0, 1.0);
832
833    gl_FragColor = vec4(uColor, alpha);
834
835    #include <colorspace_fragment>
836}`;const bt={renderOrder:{ozone:-1,globe:5,route:20,mainLocation:90,airport:30,onboarding:100}},qt=n=>{const{onLoop:e,resume:t}=Yl();e(r=>{n(r)}),t()},Qf=["scale","render-order"],Jf=["args"],em={__name:"GlobeGlSceneModelOzone",setup(n,{expose:e}){const{camera:t}=_t(),{config:r}=he("globe"),{globe:s}=r,{ozoneConfig:i}=s,o=s.radius*2+.32,a=i.opacity,l=Ze(null),c=bt.renderOrder.ozone,d=ue.timeline(),u={name:"ozone",vertexShader:Yf,fragmentShader:Zf,uniforms:{uColor:{value:new Pe(i.color)},uOpacity:{value:0}},depthWrite:!1,transparent:!0},g=()=>(d.fromTo(u.uniforms.uOpacity,{value:0},{duration:2,value:a,ease:"power1.out"}).set(l.value,{visible:!0},"<"),d);return qt(()=>{l.value&&(l.value.lookAt(t.value.position),l.value.updateMatrix())}),e({root:l,getEnterTimeline:g}),(_,m)=>(z(),q("TresMesh",{ref_key:"meshRef",ref:l,scale:[o,o,o],"matrix-auto-update":!1,"render-order":O(c),visible:!1},[m[0]||(m[0]=F("TresPlaneGeometry",{args:[1,1,1,1]},null,-1)),F("TresShaderMaterial",{args:[u]},null,8,Jf)],8,Qf))}};var tm=`#ifdef USE_FRESNEL
837  varying vec3 vViewPosition;
838  varying vec3 vNormal;
839#endif
840varying vec2 vUv;
841
842void main() {
843  gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0
843);
844
845  #ifdef USE_FRESNEL
846    vViewPosition = - (modelViewMatrix * vec4(position, 1.0)).xyz; 
847    vNormal = normalize(normalMatrix * normal);
848  #endif
849
850  vUv = uv;
851}`,nm=`uniform float uOpacity;
852uniform vec3 uColorA;
853uniform vec3 uColorB;
854uniform sampler2D uTexture;
855
856#ifdef USE_FRESNEL
857  uniform float uFresnelOpacity;
858  uniform float uFresnelPowerFactor;
859  uniform vec3 uFresnelColor;
860  varying vec3 vViewPosition;
861  varying vec3 vNormal;
862#endif
863
864varying vec2 vUv;
865
866void main() {
867  vec2 flippedUV = vec2(vUv.x, 1.0 - vUv.y);
868
869  float textureValue = 1.0 - (texture2D(uTexture, flippedUV).r);
870  vec3 finalColor = mix(uColorA, uColorB, textureValue);
871
872  gl_FragColor = vec4(finalColor, uOpacity);
873
874  #ifdef USE_FRESNEL
875    vec3 viewDirection = normalize( cameraPosition - (-vViewPosition)); 
876    float fresnelFactor = clamp(1.0 - dot(vNormal, viewDirection), 0., 1.);
877    fresnelFactor = pow(fresnelFactor, uFresnelPowerFactor);
878
879    gl_FragColor.rgb += fresnelFactor * uFresnelColor * uFresnelOpacity;
880  #endif
881  #include <colorspace_fragment>
882}`;const Xr=new Pe;class rm extends Rt{constructor({map:e,colorA:t,colorB:r,fresnelConfig:s}){super(),this.name="flat-globe",this._map={value:e},this._colorA={value:Xr.set(t).clone()},this._colorB={value:Xr.set(r).clone()},this._opacity={value:0},this._hasFresnel=!!s,this._fresnelConfig=s,this._fresnelOpacity={value:s?.opacity},this._fresnelColor={value:Xr.set(s?.color).clone()},this._fresnelPowerFactor={value:s?.powerFactor},this._init()}_init(){this.vertexShader=tm,this.fragmentShader=nm,this.uniforms.uTexture=this._map,this.uniforms.uColorA=this._colorA,this.uniforms.uColorB=this._colorB,this.uniforms.uOpacity=this._opacity,this.defines.USE_FRESNEL=this._hasFresnel,this._hasFresnel&&(this.uniforms.uFresnelOpacity=this._fresnelOpacity,this.uniforms.uFresnelColor=this._fresnelColor,this.uniforms.uFresnelPowerFactor=this._fresnelPowerFactor)}}const sm=["object"],im="/models/globe/textures/Image_2.jpg",om="/models/globe/textures/Image_1.jpg",am="/models/globe/textures/Image_3.png",lm="/models/globe/textures/L_clouds_Tileable.png",cm="/models/globe/textures/L_Mask3.jpg",um="/models/globe/textures/L_Mask4.jpg",dm={__name:"GlobeGlSceneModel",async setup(n){let e,t;const{scene:r}=([e,t]=fs(()=>Va("/models/globe/model.glb")),e=await e,t(),e),{config:s,responsiveVersion:i}=he("globe"),{type:o}=s.globe,{renderer:a}=_t(),l=a.value.capabilities.getMaxAnisotropy(),c=!!s.globe.ozoneConfig,d=!!s.globe.fresnelConfig,u=new io,g=new Pe,_=r.getObjectByName("clouds"),m=r.getObjectByName("globe"),C=W(null),v=ue.timeline(),E=h=>h.replace("/textures/",`/textures/${i}/`),S=(h="realistic")=>{if(h==="realistic")m.material.map=u.load(E(im)),m.material.map.flipY=!1,m.material.map.colorSpace
882=sn,m.material.map.anisotropy=l,m.material.map.needsUpdate=!0,_.material.map=u.load(E(lm)),_.material.map.wrapS=_.material.map.wrapT=Pn,_.material.map.flipY=!0,_.material.map.anisotropy=l,_.material.map.needsUpdate=!0;else if(h==="detailed"){const b=u.load(E(um));b.colorSpace=ir,b.anisotropy=l,b.flipY=!1,b.needsUpdate=!0,m.material.map=b}if(["realistic","detailed"].includes(h)){m.material.normalMap=u.load(E(om)),m.material.normalMap.flipY=!1;const b=u.load(E(am));b.flipY=!1,m.material.roughnessMap=b,m.material.metalnessMap=b}},x=h=>{h.onBeforeCompile=b=>{b.uniforms.uFresnelColor={value:new Pe(s.globe.fresnelConfig.color)},b.uniforms.uFresnelOpacity={value:s.globe.fresnelConfig.opacity},b.uniforms.uFresnelPowerFactor={value:s.globe.fresnelConfig.powerFactor},b.fragmentShader=b.fragmentShader.replace("#include <common>",`
883        #include <common>
884        uniform float uFresnelOpacity;
885        uniform float uFresnelPowerFactor;
886        uniform vec3 uFresnelColor;
887      `),b.fragmentShader=b.fragmentShader.replace("#include <opaque_fragment>",`
888        #include <opaque_fragment>
889
890        vec3 viewDirection = normalize( cameraPosition - (-vViewPosition)); // vViewPosition is negative from three
891        float fresnelFactor = clamp(1.0 - dot(vNormal, viewDirection), 0., 1.);
892        fresnelFactor = pow(fresnelFactor, uFresnelPowerFactor);
893
894        gl_FragColor.rgb += fresnelFactor * uFresnelColor * uFresnelOpacity;
895      `)}},M=()=>{_&&(_.visible=!1);const{colors:h}=s.globe.flatConfig,b=u.load(E(cm));b.anisotropy=l,b.needsUpdate=!0;const f=new rm({map:b,colorA:h[0],colorB:h[1],fresnelConfig:s.globe?.fresnelConfig});m.material=f},L=()=>{_&&(_.visible=!1);const h=g.set(s.globe.detailedConfig.color).clone();m.material.color=h},y=()=>{const h=_.material,b=m.material,f=.3;if(["realistic","detailed"].includes(o)?v.fromTo(h,{opacity:0},{duration:3.5,opacity:1,ease:"power1.out"},f).fromTo(b,{opacity:0},{duration:3.5,opacity:1,ease:"power1.out"},f):o==="flat"&&v.fromTo(b.uniforms.uOpacity,{value:0},{duration:3.5,value:1,ease:"power1.out"},f),c){const P=C.value.getEnterTimeline();v.add(P,f+1)}v.restart(0)};return m.material.transparent=!0,_.material.transparent=!0,m.renderOrder=bt.renderOrder.globe,_.renderOrder=bt.renderOrder.globe+1,o==="realistic"?(S("realistic"),d&&x(m.material),_.material.opacity=0,m.material.opacity=0):o==="detailed"?(S("detailed"),L(),_.material.opacity=0,m.material.opacity=0,d&&x(m.material)):o==="flat"&&M(),Ke(Me.WEBGL_ENTER,y),qt(({delta:h})=>{_&&(_.rotation.y+=h*.0095)}),(h,b)=>(z(),q(st,null,[F("primitive",{object:O(r)},null,8,sm),c?(z(),Ce(O(em),{key:0,ref_key:"ozoneRef",ref:C},null,512)):et("",!0)],64))}},Yr=new H,Xi=({start:n,end:e,radius:t,bendFactor:r=0})=>{const s=Yr.clone().setFromSphericalCoords(t,fe.degToRad(90-n[0]),fe.degToRad(n[1])),i=Yr.clone().setFromSphericalCoords(t,fe.degToRad(90-e[0]),fe.degToRad(e[1])),o=(d,u)=>1+Math.sin(d*3.14)*r*u,a=(d,u)=>{const g=d.angleTo(u),_=fe.clamp(g,.1,.9),m=fe.mapLinear(_,.1,.9,.3,.4);return v=>Yr.clone().addVectors(d.clone().multiplyScalar(Math.sin((1-v)*g)),u.clone().multiplyScalar(Math.sin(v*g))).divideScalar(Math.sin(g)).multiplyScalar(o(v,m))};return((d,u)=>{const g=new Zl;return g.getPoint=a(d,u),g})(s,i)},hm=["scale"],pm=["object"],fm={__name:"GlobeGlSceneAirportsItemRouteAirplane",props:["curve"],setup(n,{expose:e}){const t={desktop:{scale:.27},mobile:{scale:.52}},r=new H,s=new H(0,0,1),i=new H,o=r.clone(),a=r.clone(),l=n,{curve:c}=dr(l),{resources:d}=he("globe"),{responsiveVersion:u}=Ve("globe"),g=d.get("airplane").scene.clone(),_=W(),m=t[u.value].scale,C=ue.timeline(),v=ue.timeline();return e({getEnterTl:()=>{C?.kill(),C?.clear();const x={prog:0},M=()=>{const L=x.prog;o.copy(c.value.getPoint(L)),_.value.position.copy(o),c.value.getTangent(L,a),i.crossVectors(s,a).normalize();const y=Math.acos(s.dot(a));_.value.quaternion.setFromAxisAngle(i,y)};return C.set(_.value,{visible:!0}).set(_.value.scale,{x:m,y:m,z:m}).from(_.value.scale,{duration:.4,x:0,y:0,z:0,ease:"power1.out"},0).fromTo(x,{prog:0},{duration:1,prog:1,ease:"power1.inOut",onUpdate:M},0).to(_.value.scale,{duration:.4,x:0,y:0,z:0,ease:"power1.in"},.6).set(_.value,{visible:!1}).restart(0),C},getLeaveTl:()=>(v?.kill(),v?.clear(),v.to(_.value.scale,{duration:.4,x:0,y:0,z:0,ease:"power1.in",overwrite:"auto"}),v)}),(x,M)=>(z(),q("TresGroup",{ref_key:"groupRef",ref:_,scale:[O(m),O(m),O(m)]},[F("primitive",{object:O(g)},null,8,pm)],8,hm))}};var mm=Object.defineProperty,vm=(n,e,t)=>e in n?mm(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,se=(n,e,t)=>(vm(n,typeof e!="symbol"?e+"":e,t),t);function Zr(n,e,t,r,s){let i;if(n=n.subarray||n.slice?n:n.buffer,t=t.subarray||t.slice?t:t.buffer,n=e?n.subarray?n.subarray(e,s&&e+s):n.slice(e,s&&e+s):n,t.set)t.set(n,r);else for(i=0;i<n.length;i++)t[i+r]=n[i];return t}function gm(n){return n instanceof Float32Array?n:n instanceof Ln?n.getAttribute("position").array:n.map(e=>{const t=Array.isArray(e);return e instanceof H?[e.x,e.y,e.z]:e instanceof ot?[e.x,e.y,0]:t&&e.length===3?[e[0],e[1],e[2]]:t&&e.length===2?[e[0],e[1],0]:e}).flat()}class Da extends Ln{constructor(){super(),se(this,"type","MeshLine"),se(this,"isMeshLine",!0),se(this,"positions",[]),se(this,"previous",[]),se(this,"next",[]),se(this,"side",[]),se(this,"width",[]),se(this,"indices_array",[]),se(this,"uvs",[]),se(this,"counters",[]),se(this,"widthCallback",null),se(this,"_attributes"),se(this,"_points",[]),se(this,"points"),se(this,"matrixWorld",new gt),Object.defineProperties(this,{points:{enumerable:!0,get(){return this._points},set(e){this.setPoints(e,this.widthCallback)}}})}setMatrixWorld(e){this.matrixWorld=e}setPoints(e,t){if(e=gm(e),this._points=e,this.widthCallback=t??null,this.positions=[],this.counters=[],e.length&&e[0]instanceof H)for(let r=0;r<e.length;r++){const s=e[r],i=r/(e.length-1);this.positions.push(s.x,s.y,s.z),this.positions.push(s.x,s.y,s.z),this.counters.push(i),this.counters.push(i)}else for(let r=0;r<e.length;r+=3){const s=r/(e.length-1);this.positions.push(e[r],e[r+1],e[r+2]),this.positions.push(e[r],e[r+1],e[r+2]),this.counters.push(s),this.counters.push(s)}this.process()}compareV3(e,t){const r=e*6,s=t*6;return this.positions[r]===this.positions[s]&&this.positions[r+1]===this.positions[s+1]&&this.positions[r+2]===this.positions[s+2]}copyV3(e){const t=e*6;return[this.positions[t],this.positions[t+1],this.positions[t+2]]}process(){const e=this.positions.length/6;this.previous=[],this.next=[],this.side=[],this.width=[],this.indices_array=[],this.uvs=[];let t,r;this.compareV3(0,e-1)?r=this.copyV3(e-2):r=this.copyV3(0),this.previous.push(r[0],r[1],r[2]),this.previous.push(r[0],r[1],r[2]);for(let s=0;s<e;s++){if(this.side.push(1),this.side.push(-1),this.widthCallback?t=this.widthCallback(s/(e-1)):t=1,this.width.push(t),this.width.push(t),this.uvs.push(s/(e-1),0),this.uvs.push(s/(e-1),1),s<e-1){r=this.copyV3(s),this.previous.push(r[0],r[1],r[2]),this.previous.push(r[0],r[1],r[2]);const i=s*2;this.indices_array.push(i,i+1,i+2),this.indices_array.push(i+2,i+1,i+3)}s>0&&(r=this.copyV3(s),this.next.push(r[0],r[1],r[2]),this.next.push(r[0],r[1],r[2]))}this.compareV3(e-1,0)?r=this.copyV3(1):r=this.copyV3(e-1),this.next.push(r[0],r[1],r[2]),this.next.push(r[0],r[1],r[2]),!this._attributes||this._attributes.position.count!==this.counters.length?this._attributes={position:new Ee(ne
895w Float32Array(this.positions),3),previous:new Ee(new Float32Array(this.previous),3),next:new Ee(new Float32Array(this.next),3),side:new Ee(new Float32Array(this.side),1),width:new Ee(new Float32Array(this.width),1),uv:new Ee(new Float32Array(this.uvs),2),index:new Ee(new Uint16Array(this.indices_array),1),counters:new Ee(new Float32Array(this.counters),1)}:(this._attributes.position.copyArray(new Float32Array(this.positions)),this._attributes.position.needsUpdate=!0,this._attributes.previous.copyArray(new Float32Array(this.previous)),this._attributes.previous.needsUpdate=!0,this._attributes.next.copyArray(new Float32Array(this.next)),this._attributes.next.needsUpdate=!0,this._attributes.side.copyArray(new Float32Array(this.side)),this._attributes.side.needsUpdate=!0,this._attributes.width.copyArray(new Float32Array(this.width)),this._attributes.width.needsUpdate=!0,this._attributes.uv.copyArray(new Float32Array(this.uvs)),this._attributes.uv.needsUpdate=!0,this._attributes.index.copyArray(new Uint16Array(this.indices_array)),this._attributes.index.needsUpdate=!0),this.setAttribute("position",this._attributes.position),this.setAttribute("previous",this._attributes.previous),this.setAttribute("next",this._attributes.next),this.setAttribute("side",this._attributes.side),this.setAttribute("width",this._attributes.width),this.setAttribute("uv",this._attributes.uv),this.setAttribute("counters",this._attributes.counters),this.setAttribute("position",this._attributes.position),this.setAttribute("previous",this._attributes.previous),this.setAttribute("next",this._attributes.next),this.setAttribute("side",this._attributes.side),this.setAttribute("width",this._attributes.width),this.setAttribute("uv",this._attributes.uv),this.setAttribute("counters",this._attributes.counters),this.setIndex(this._attributes.index),this.computeBoundingSphere(),this.computeBoundingBox()}advance({x:e,y:t,z:r}){const s=this._attributes.position.array,i=this._attributes.previous.array,o=this._attributes.next.array,a=s.length;Zr(s,0,i,0,a),Zr(s,6,s,0,a-6),s[a-6]=e,s[a-5]=t,s[a-4]=r,s[a-3]=e,s[a-2]=t,s[a-1]=r,Zr(s,6,o,0,a-6),o[a-6]=e,o[a-5]=t,o[a-4]=r,o[a-3]=e,o[a-2]=t,o[a-1]=r,this._attributes.position.needsUpdate=!0,this._attributes.previous.needsUpdate=!0,this._attributes.next.needsUpdate=!0}}const wm=`
896  #include <common>
897  #include <logdepthbuf_pars_vertex>
898  #include <fog_pars_vertex>
899  #include <clipping_planes_pars_vertex>
900
901  attribute vec3 previous;
902  attribute vec3 next;
903  attribute float side;
904  attribute float width;
905  attribute float counters;
906  
907  uniform vec2 resolution;
908  uniform float lineWidth;
909  uniform vec3 color;
910  uniform float opacity;
911  uniform float sizeAttenuation;
912  
913  varying vec2 vUV;
914  varying vec4 vColor;
915  varying float vCounters;
916  
917  vec2 fix(vec4 i, float aspect) {
918    vec2 res = i.xy / i.w;
919    res.x *= aspect;
920    return res;
921  }
922  
923  void main() {
924    float aspect = resolution.x / resolution.y;
925    vColor = vec4(color, opacity);
926    vUV = uv;
927    vCounters = counters;
928  
929    mat4 m = projectionMatrix * modelViewMatrix;
930    vec4 finalPosition = m * vec4(position, 1.0) * aspect;
931    vec4 prevPos = m * vec4(previous, 1.0);
932    vec4 nextPos = m * vec4(next, 1.0);
933  
934    vec2 currentP = fix(finalPosition, aspect);
935    vec2 prevP = fix(prevPos, aspect);
936    vec2 nextP = fix(nextPos, aspect);
937  
938    float w = lineWidth * width;
939  
940    vec2 dir;
941    if (nextP == currentP) dir = normalize(currentP - prevP);
942    else if (prevP == currentP) dir = normalize(nextP - currentP);
943    else {
944      vec2 dir1 = normalize(currentP - prevP);
945      vec2 dir2 = normalize(nextP - currentP);
946      dir = normalize(dir1 + dir2);
947  
948      vec2 perp = vec2(-dir1.y, dir1.x);
949      vec2 miter = vec2(-dir.y, dir.x);
950      //w = clamp(w / dot(miter, perp), 0., 4. * lineWidth * width);
951    }
952  
953    //vec2 normal = (cross(vec3(dir, 0.), vec3(0., 0., 1.))).xy;
954    vec4 normal = vec4(-dir.y, dir.x, 0., 1.);
955    normal.xy *= .5 * w;
956    //normal *= projectionMatrix;
957    if (sizeAttenuation == 0.) {
958      normal.xy *= finalPosition.w;
959      normal.xy /= (vec4(resolution, 0., 1.) * projectionMatrix).xy * aspect;
960    }
961  
962    finalPosition.xy += normal.xy * side;
963    gl_Position = finalPosition;
964    #include <logdepthbuf_vertex>
965    #include <fog_vertex>
966    vec4 mvPosition = modelViewMatrix * vec4(position, 1.0);
967    #include <clipping_planes_vertex>
968    #include <fog_vertex>
969  }
970`,bm=parseInt(go.replace(/\D+/g,"")),_m=bm>=154?"colorspace_fragment":"encodings_fragment",ym=`
971  #include <fog_pars_fragment>
972  #include <logdepthbuf_pars_fragment>
973  #include <clipping_planes_pars_fragment>
974  
975  uniform sampler2D map;
976  uniform sampler2D alphaMap;
977  uniform float useGradient;
978  uniform float useMap;
979  uniform float useAlphaMap;
980  uniform float useDash;
981  uniform float dashArray;
982  uniform float dashOffset;
983  uniform float dashRatio;
984  uniform float visibility;
985  uniform float alphaTest;
986  uniform vec2 repeat;
987  uniform vec3 gradient[2];
988  
989  varying vec2 vUV;
990  varying vec4 vColor;
991  varying float vCounters;
992  
993  void main() {
994    #include <logdepthbuf_fragment>
995    vec4 diffuseColor = vColor;
996    if (useGradient == 1.) diffuseColor = vec4(mix(gradient[0], gradient[1], vCounters), 1.0);
997    if (useMap == 1.) diffuseColor *= texture2D(map, vUV * repeat);
998    if (useAlphaMap == 1.) diffuseColor.a *= texture2D(alphaMap, vUV * repeat).a;
999    if (diffuseColor.a < alphaTest) discard;
1000    if (useDash == 1.) diffuseColor.a *= ceil(mod(vCounters + dashOffset, dashArray) - (dashArray * dashRatio));
1001    diffuseColor.a *= step(vCounters, visibility);
1002    #include <clipping_planes_fragment>
1003    gl_FragColor = diffuseColor;     
1004    #include <fog_fragment>
1005    #include <tonemapping_fragment>
1006    #include <${_m}>
1007  }
1008`;class Ua extends Rt{constructor(e){super({uniforms:{...gn.fog,lineWidth:{value:1},map:{value:null},useMap:{value:0},alphaMap:{value:null},useAlphaMap:{value:0},color:{value:new Pe(16777215)}
1008,gradient:{value:[new Pe(16711680),new Pe(65280)]},opacity:{value:1},resolution:{value:new ot(1,1)},sizeAttenuation:{value:1},dashArray:{value:0},dashOffset:{value:0},dashRatio:{value:.5},useDash:{value:0},useGradient:{value:0},visibility:{value:1},alphaTest:{value:0},repeat:{value:new ot(1,1)}},vertexShader:wm,fragmentShader:ym}),se(this,"lineWidth"),se(this,"map"),se(this,"useMap"),se(this,"alphaMap"),se(this,"useAlphaMap"),se(this,"color"),se(this,"gradient"),se(this,"resolution"),se(this,"sizeAttenuation"),se(this,"dashArray"),se(this,"dashOffset"),se(this,"dashRatio"),se(this,"useDash"),se(this,"useGradient"),se(this,"visibility"),se(this,"repeat"),this.type="MeshLineMaterial",Object.defineProperties(this,{lineWidth:{enumerable:!0,get(){return this.uniforms.lineWidth.value},set(t){this.uniforms.lineWidth.value=t}},map:{enumerable:!0,get(){return this.uniforms.map.value},set(t){this.uniforms.map.value=t}},useMap:{enumerable:!0,get(){return this.uniforms.useMap.value},set(t){this.uniforms.useMap.value=t}},alphaMap:{enumerable:!0,get(){return this.uniforms.alphaMap.value},set(t){this.uniforms.alphaMap.value=t}},useAlphaMap:{enumerable:!0,get(){return this.uniforms.useAlphaMap.value},set(t){this.uniforms.useAlphaMap.value=t}},color:{enumerable:!0,get(){return this.uniforms.color.value},set(t){this.uniforms.color.value=t}},gradient:{enumerable:!0,get(){return this.uniforms.gradient.value},set(t){this.uniforms.gradient.value=t}},opacity:{enumerable:!0,get(){return this.uniforms.opacity.value},set(t){this.uniforms.opacity.value=t}},resolution:{enumerable:!0,get(){return this.uniforms.resolution.value},set(t){this.uniforms.resolution.value.copy(t)}},sizeAttenuation:{enumerable:!0,get(){return this.uniforms.sizeAttenuation.value},set(t){this.uniforms.sizeAttenuation.value=t}},dashArray:{enumerable:!0,get(){return this.uniforms.dashArray.value},set(t){this.uniforms.dashArray.value=t,this.useDash=t!==0?1:0}},dashOffset:{enumerable:!0,get(){return this.uniforms.dashOffset.value},set(t){this.uniforms.dashOffset.value=t}},dashRatio:{enumerable:!0,get(){return this.uniforms.dashRatio.value},set(t){this.uniforms.dashRatio.value=t}},useDash:{enumerable:!0,get(){return this.uniforms.useDash.value},set(t){this.uniforms.useDash.value=t}},useGradient:{enumerable:!0,get(){return this.uniforms.useGradient.value},set(t){this.uniforms.useGradient.value=t}},visibility:{enumerable:!0,get(){return this.uniforms.visibility.value},set(t){this.uniforms.visibility.value=t}},alphaTest:{enumerable:!0,get(){return this.uniforms.alphaTest.value},set(t){this.uniforms.alphaTest.value=t}},repeat:{enumerable:!0,get(){return this.uniforms.repeat.value},set(t){this.uniforms.repeat.value.copy(t)}}}),this.setValues(e)}copy(e){return super.copy(e),this.lineWidth=e.lineWidth,this.map=e.map,this.useMap=e.useMap,this.alphaMap=e.alphaMap,this.useAlphaMap=e.useAlphaMap,this.color.copy(e.color),this.gradient=e.gradient,this.opacity=e.opacity,this.resolution.copy(e.resolution),this.sizeAttenuation=e.sizeAttenuation,this.dashArray=e.dashArray,this.dashOffset=e.dashOffset,this.dashRatio=e.dashRatio,this.useDash=e.useDash,this.useGradient=e.useGradient,this.visibility=e.visibility,this.alphaTest=e.alphaTest,this.repeat.copy(e.repeat),this}}class Yi extends Je{constructor({points:e,color:t,opacity:r=1,lineWidth:s=.018,isBlurred:i=!1}){super(),this._points=e,this._color=t,this._isBlurred=i,this._opacity=r,this._lineWidth=s,this._init()}_init(){const e=new Da;e.setPoints(this._points),this.geometry=e;const t=new Ua({name:"route-line",color:this._color,sizeAttenuation:1,lineWidth:this._lineWidth,transparent:!0,depthWrite:!1,visibility:0,opacity:this._opacity,toneMapped:!1});t.onBeforeCompile=r=>{r.defines.USE_UV="",r.uniforms.uIsBlurred={value:this._isBlurred},r.fragmentShader=r.fragmentShader.replace("uniform float alphaTest;",`
1009          uniform float alphaTest;
1010          uniform bool uIsBlurred;
1011        `),r.fragmentShader=r.fragmentShader.replace("diffuseColor.a *= step(vCounters, visibility);",`
1012          diffuseColor.a *= step(vCounters, visibility);
1013
1014          // SMOOTH EDGES
1015          float threshold = 0.02;
1016          float maxV = 0.99;
1017          float edges = min(smoothstep(0.0, threshold, vUV.x), smoothstep(maxV, maxV - threshold, vUV.x));
1018          diffuseColor.a *= edges;
1019
1020          if(uIsBlurred){
1021            diffuseColor.a *= sin(vUV.y * 3.14);
1022          }
1023        `)},this.material=t}}const xm=["object"],Cm=["object"],Pm={__name:"GlobeGlSceneAirportsItemRoute",props:["start","end","data"],setup(n){const{config:e}=he("globe"),{selectedAirport:t,responsiveVersion:r}=Ve("globe"),{globe:s,airports:i}=e,{main:o,shadow:a}=i.routes,l=W(!1),c=W(null),d=W(),u=ue.timeline(),g=ue.timeline(),_=o.lineWidth[r.value],m=a.lineWidth[r.value],C=Xi({start:n.start,end:n.end,radius:s.radius-0,bendFactor:.075}),v=C.getPoints(30),E=C.getLength(),S=ec.mapLinear(E,0,2,1.8,7),x=new Yi({points:v,color:o.color,opacity:o.opacity,lineWidth:_,isBlurred:!0}
1023);x.renderOrder=bt.renderOrder.route;const L=Xi({start:n.start,end:n.end,radius:s.radius-0,bendFactor:.01}).getPoints(30),y=new Yi({points:L,color:a.color,opacity:a.opacity,lineWidth:m,isBlurred:!0});y.renderOrder=bt.renderOrder.route;const A=()=>{u?.kill(),u?.clear();const b=c.value.getEnterTl();b.duration(S*1.2);const f=x.material,P=y.material;u.set(d.value,{visible:!0}).set(f,{opacity:o.opacity,visibility:0}).set(P,{opacity:a.opacity,visibility:0}).to([f.uniforms.visibility,P.uniforms.visibility],{duration:S,value:1,ease:"power1.inOut"},0).add(b,0).restart(0)},h=()=>{g?.kill(),g?.clear();const b=c.value.getLeaveTl(),f=x.material,P=y.material;g.add(b,0).to([f,P],{opacity:0},0).set(d.value,{visible:!1}).call(()=>{u?.kill()})};return ke(t,b=>l.value=b.key===n.data.key),ke(l,b=>{b?A():h()}),Ie(()=>{}),(b,f)=>(z(),q("TresGroup",{ref_key:"groupRef",ref:d,visible:!1},[F("primitive",{object:O(x)},null,8,xm),F("primitive",{object:O(y)},null,8,Cm),(z(),Ce(kt,null,{default:Re(()=>[ee(O(fm),{ref_key:"airplaneRef",ref:c,curve:O(C)},null,8,["curve"])]),_:1}))],512))}},Tm=new H,Ba=(n,e,t)=>(e=fe.degToRad(90-e),t=fe.degToRad(t),Tm.clone().setFromSphericalCoords(n,e,t)),Yn=new H,Zi=(n,e)=>(Yn.copy(n),Yn.project(e),{x:Yn.x*window.innerWidth*.5+window.innerWidth*.5,y:-Yn.y*window.innerHeight*.5+window.innerHeight*.5}),Em=["position"],Mm=["render-order"],Am=["map"],Sm=["render-order","scale"],km=0,ja={__name:"GlobeGlGlobePin",props:{data:{type:Object,required:!0},textures:{type:Object,required:!0},isSelected:{type:Boolean,default:!1},isActiveType:{type:Boolean,default:!1},renderOrder:{type:Number,default:0}},emits:["click","clear","loop"],setup(n,{emit:e}){const t=new H,{camera:r}=_t(),s={desktop:{scale:{initial:.028,final:.034},trackerScale:1},mobile:{scale:{initial:.071,final:.078},trackerScale:1.5}},i=n,o=e,{data:a,renderOrder:l,textures:c}=i,{isSelected:d,isActiveType:u}=dr(i),{coords:g}=a,{config:_,resources:m,dynamicValues:C}=he("globe"),{globe:v}=_,{responsiveVersion:E}=Ve("globe"),S=s[E.value],x=E.value==="desktop",M=fe.randFloat(.05,.25),L=Ze(null),y=Ze(null),A=Ze(null),h=Ze(null),b=Ze(null),f=Ba(v.radius,g[0],g[1]),P=S.scale.initial,k=S.scale.final,B={value:0},V=m.get(c.default),j=m.get(c.selected);
1023V.colorSpace=sn,j.colorSpace=sn;let N=ue.timeline(),K=ue.timeline();const le=ne=>{h.value.layers.set(ne?0:1)},te=()=>{K?.kill(),K?.clear();const ne=M+.3;K=ue.timeline({delay:ne}),K.call(()=>{le(!0)}).set(L.value,{visible:!0}).set(L.value.scale,{x:0,y:0,z:0}).to(L.value.scale,{duration:.45,x:1,y:1,z:1,ease:"back.out(3.5)"},0)},Y=()=>{K?.kill(),K?.clear();const ne=M;K=ue.timeline({delay:ne}),K.to(L.value.scale,{duration:.45,x:0,y:0,z:0,ease:"back.in(3.5)"},0).set(L.value,{visible:!1}).call(()=>{le(!1)})},Le=(ne=!0)=>{N?.kill(),ne&&(document.body.style.cursor="pointer"),N=ue.timeline(),N.to(y.value.scale,{duration:.25,x:k,y:k,z:k},0).to(B,{duration:.25,value:1},0)},dt=()=>{N?.kill(),document.body.style.cursor="default",N=ue.timeline(),N.to(y.value.scale,{duration:.25,x:P,y:P,z:P},0).to(B,{duration:.25,value:0},0)},De=ne=>{u.value&&Le()},ve=()=>{u.value&&(d.value||dt())};Ar("click",h,()=>{u.value&&(A.value.getWorldPosition(t),o("click",{position:Zi(t,r.value),worldPosition:t}))}),Ar("pointerEnter",h,De),Ar("pointerLeave",h,ve);const He=()=>{u.value&&ue.delayedCall(1.85,te)};return Ke(Me.WEBGL_ENTER,He),ke(d,ne=>{ne===!1?dt():Le(!1)}),ke(u,ne=>{ne?te():Y()}),Ie(()=>{le(!1),y.value.scale.setScalar(P),h.value.updateMatrix(),b.value.onBeforeCompile=ne=>{ne.uniforms.uDefaultTxt={value:V},ne.uniforms.uSelectedTxt={value:j},ne.uniforms.uProgress=B,ne.fragmentShader=ne.fragmentShader.replace("#include <common>",`
1024        #include <common>
1025        uniform float uProgress;
1026        uniform sampler2D uDefaultTxt;
1027        uniform sampler2D uSelectedTxt;
1028      `),ne.fragmentShader=ne.fragmentShader.replace("#include <map_fragment>",`
1029        vec4 txtA = texture2D( uDefaultTxt, vMapUv );
1030        vec4 txtB = texture2D( uSelectedTxt, vMapUv );
1031        diffuseColor = mix( txtA, txtB, uProgress );
1032      `)}}),$t(()=>{N?.kill(),K?.kill()}),qt(()=>{h.value&&C.frames%20===0&&(h.value.lookAt(r.value.position),h.value.updateMatrix()),x&&d.value&&A.value&&(A.value.getWorldPosition(t),o("loop",{position:Zi(t,r.value),worldPosition:t,isVisible:t.z>km}))}),(ne,U)=>(z(),q("TresGroup",{ref_key:"groupRef",ref:L,visible:!1,position:O(f)},[F("TresGroup",{ref_key:"childGroupRef",ref:y},[F("TresSprite",{ref_key:"spriteRef",ref:A,"render-order":O(l),"matrix-auto-update":!1},[F("TresSpriteMaterial",{ref_key:"materialRef",ref:b,name:"globe-pin",transparent:!0,map:O(V),"depth-write":!1,"polygon-offset":!0,"polygon-offset-units":-3e3,"polygon-offset-factor":-2e4,"tone-mapped":!1},null,8,Am)],8,Mm),F("TresMesh",{ref_key:"raycastMeshRef",ref:h,"render-order":O(l),visible:!1,"matrix-auto-update":!1,scale:[O(S).trackerScale,O(S).trackerScale,O(S).trackerScale]},[...U[0]||(U[0]=[F("TresPlaneGeometry",{args:[1,1,1,1]},null,-1),F("TresMeshBasicMaterial",{side:2},null,-1)])],8,Sm)],512)],8,Em))}},Lm={__name:"GlobeGlSceneAirportsItem",props:["data"],setup(n){const{coords:e}=n.data,{config:t,setSelectedAirport:r}=he("globe"),{location:s}=t,{selectedAirport:i,currentType:o}=Ve("globe"),a=W(i.key===n.data.key),l=bt.renderOrder.airport,c={default:"airport-pin-default",selected:"airport-pin-selected"},d=e,u=s.coords,g=m=>{i.value.key!==n.data.key&&r({...n.data,position:m.position,worldPosition:m.worldPosition})},_=m=>{i.value.position=m.position,i.value.worldPosition=m.worldPosition,i.value.isVisible=m.isVisible};return ke(i,m=>{a.value=m.key===n.data.key}),(m,C)=>(z(),q(st,null,[(z(),Ce(kt,null,{default:Re(()=>[ee(O(ja),{data:n.data,"is-selected":O(a),"is-active-type":O(o)==="airports","render-order":O(l),textures:c,onLoop:_,onClick:g},null,8,["data","is-selected","is-active-type","render-order"])]),_:1})),ee(O(Pm),{start:O(d),end:O(u),data:n.data},null,8,["start","end","data"])],64))}},Rm={__name:"GlobeGlSceneAirports",setup(n){const{config:e}=he("globe"),{items:t}=e.airports;return(r,s)=>(z(),q("TresGroup",null,[(z(),Ce(kt,null,{default:Re(()=>[(z(!0),q(st,null,en(O(t),(i,o)=>(z(),Ce(O(Lm),{key:{i:o},data:i},null,8,["data"]))),128))]),_:1}))]))}},Im={__name:"GlobeGlSceneCommunitiesItem",props:["data"],setup(n){const{$event:e}=vt(),{setSelectedCommunity:t}=he("globe"),{selectedCommunity:r,currentType:s}=Ve("globe"),i=W(r.key===n.data.key),o=bt.renderOrder.airport,a={default:"community-pin-default",selected:"community-pin-selected"},l=d=>
1032{r.value.key!==n.data.key&&(e.emit("pin:click",n.data.key),console.log("onPinClick",n.data.key),t({...n.data,position:d.position,worldPosition:d.worldPosition}))},c=d=>{r.value.position=d.position,r.value.worldPosition=d.worldPosition,r.value.isVisible=d.isVisible};return ke(r,d=>{i.value=d.key===n.data.key}),(d,u)=>(z(),Ce(kt,null,{default:Re(()=>[ee(O(ja),{data:n.data,"is-selected":O(i),"is-active-type":O(s)==="communities","render-order":O(o),textures:a,onLoop:c,onClick:l},null,8,["data","is-selected","is-active-type","render-order"])]),_:1}))}},Om={__name:"GlobeGlSceneCommunities",setup(n){const{config:e}=he("globe"),{items:t}=e.communities;return(r,s)=>(z(),q("TresGroup",null,[(z(),Ce(kt,null,{default:Re(()=>[(z(!0),q(st,null,en(O(t),(i,o)=>(z(),Ce(O(Im),{key:{i:o},data:i},null,8,["data"]))),128))]),_:1}))]))}},Fm=["position","render-order"],Vm=["map"],Nm={__name:"GlobeGlSceneMainLocation",async setup(n){let e,t;const r={desktop:{scale:.056},mobile:{scale:.09}},{config:s}=he("globe"),{responsiveVersion:i}=Ve("globe"),{location:o,globe:a}=s,{camera:l}=_t(),c=bt.renderOrder.mainLocation,d=Ze(null),u=Ze(null),g=r[i.value].scale,_=Ba(a.radius-.001,o.coords[0],o.coords[1]);_.y+=g*0;const m=([e,t]=fs(()=>_o([o.texture])),e=await e,t(),e);m.colorSpace=sn;const C=()=>{ue.to(d.value.scale,{duration:.7,x:g,y:g,z:g,delay:1.85,ease:"back.out(2.5)"})};return Ke(Me.WEBGL_ENTER,C),Ie(()=>{d.value.scale.setScalar(0),d.value.geometry.translate(0,.5,0)}),qt(()=>{d.value&&d.value.lookAt(l.value.position)}),(v,E)=>(z(),q("TresMesh",{ref_key:"mesh",ref:d,position:O(_),"render-order":O(c)},[E[0]||(E[0]=F("TresPlaneGeometry",{args:[1,1,1,1]},null,-1)),F("TresMeshBasicMaterial",{ref_key:"material",ref:u,map:O(m),transparent:!0,"alpha-test":.2,"depth-write":!1,"polygon-offset":!0,"polygon-offset-units":-300,"polygon-offset-factor":-2e3,"tone-mapped":!1,name:"main-pin"},null,8,Vm)],8,Fm))}},Dm=["object","rotation-y","render-order"],Um=["render-order"],Bm=["map"],Qi=90,Qr=.15,jm={__name:"GlobeGlSceneOnboarding",setup(n,{expose:e}){const t=new H,{config:r,setIsOnboardingVisible:s,resources:i}=he("globe"),{selectedAirport:o,selectedCommunity:a,currentSidebar:l}=Ve("globe"),c=W(null),d=W(null),u=W(null),g=ue.timeline(),_=[],m=r.globe.radius*.9,C=m*1.02,v=i.get("onboarding-icon");v.colorSpace=sn;const E=bt.renderOrder.onboarding;for(let h=0;h<=Qi;h++){const b=Math.PI*2*(h/Qi),f=Math.cos(b)*m,P=-Math.sin(b)*m;_.push(t.set(f,0,P).clone())}const S=new Da;S.setPoints(_);const x=new Ua({name:"onboarding-line",color:16777215,sizeAttenuation:0,lineWidth:.045,transparent:!0,depthWrite:!1,visibility:.5,toneMapped:!1,dashRatio:.7,dashArray:.02,dashOffset:0}),M=new Je(S,x),L=h=>{g?.kill(),g?.clear(),g.fromTo(M.material,{visibility:0},{duration:2.6,visibility:1,ease:"power2.inOut"},0).addLabel("icon",1.3).fromTo(u.value.scale,{x:0,y:0,z:0},{duration:.6,x:Qr,y:Qr,z:Qr,ease:"back.out(0.6.7)"},"icon").fromTo(u.value.rotation,{z:.5},{duration:.6,z:0,ease:"back.out(1.7)"},"icon").call(h).restart(0)},y=(h=()=>{})=>{g?.kill(),L(h)},A=(h=()=>{})=>{g?.kill(),g?.clear();const b=()=>{c.value.removeFromParent(),h()};g.to(u.value.scale,{duration:.6,x:0,y:0,z:0,ease:"back.in(0.6.7)"},0).to([M.material,u.value.material],{duration:.7,opacity:0,ease:"power2.out"},.2).call(b).restart(0)};return ke([o,a,l],()=>{s(!1)}),Ke(Me.WEBGL_DRAG,({offset:h})=>{(Math.abs(h[0])>40||Math.abs(h[1])>40)&&s(!1)}),qt(h=>{c.value&&(c.value.rotation.y=Math.sin(h.elapsed*2)*.02)}),Ie(()=>{y()}),e({enter:y,leave:A}),(h,b)=>(z(),q("TresGroup",{ref_key:"groupRef",ref:c,"position-y":-.6},[F("primitive",{ref_key:"meshRef",ref:d,object:O(M),"rotation-y":Math.PI*.5,"render-order":O(E)},null,8,Dm),F("TresMesh",{ref_key:"iconRef",ref:u,"position-z":C,scale:[0,0,0],"render-order":O(E)},[b[0]||(b[0]=F("TresPlaneGeometry",null,null,-1)),F("TresMeshBasicMaterial",{map:O(v),transparent:!0,"depth-test":!1,"tone-mapped":!1},null,8,Bm)],8,Um)],512))}},zm=({scaleGroupRef:n,rotationGroupRef:e})=>{const t=vt(),{$event:r}=t,s=new H,i={rotation:{maxAngle:.9,minAngle:-.2},desktop:{dragFactor:1,dampFactor:{rotate:.15,scale:.25},full:{position:s.clone(),scale:{min:1,max:1}},focus:{position:s.clone(),scale:{min:1,max:1}}},mobile:{dragFactor:1.75,dampFactor:{rotate:.2,scale:.28},full:{position:s.clone(),scale:{min:1,max:1}},focus:{position:s.clone(),scale:{min:1,max:1}}}},{$resize:o}=vt(),{camera:a,sizes:l}=_t(),c=he("globe"),{config:d,dynamicValues:u,setIsIntroDone:g,setIsOnboardingVisible:_}=c,{currentSidebar:m,selectedAirport:C,selectedCommunity:v,responsiveVersion:E,isIntroDone:S}=Ve("globe"),x=u.zoom,M=u.rotation,L=u.zoom,y=u.rotation.x,A=u.rotation.y;let h;const b=pe(()=>o.medium&&!o.landscape),f=pe(()=>o.small),P=pe(()=>E.value==="desktop"&&!b.value),k=pe(()=>P.value?"desktop":"mobile"),B=pe(()=>i[k.value]),V=ue.timeline();let j,N;const K=()=>{p();const w=()=>{g(!0)};j=ue.timeline({paused:!0,onComplete:w}),j.from(n.value.position,{duration:1.75,z:-3,y:-.6,ease:"power3.inOut"},0).from(e.value.rotation,{duration:1.75,y:A.static-3.9,x:y.static+.4,ease:"power3.inOut"},0).call(()=>_(k.value==="mobile"),[],1)},le=()=>{j.play(0)},te=()=>{V.isActive()&&(V?.kill(),V?.clear())},Y=w=>Zn(w,i.rotation.minAngle,i.rotation.maxAngle),Le=()=>{const w=ii(a.value,a.value.position.z),R=Math.min(w.width,w.height)/(d.globe.radius*2);if(i.desktop.full.scale.min=R*.6,i.desktop.full.scale.max=R*.9,!m.value)return;const I=(m.value==="airports",.485),D={width:w.width*I,height:w.height},Z=Math.min(D.width,D.height)/(d.globe.radius*2);i.desktop.focus.scale.min=Z*.95,i.desktop.focus.scale.max=Z*.95;const X=-(w.width*.5)+D.width*.525;i.desktop.focus.position.set(X,0,0)},dt=()=>{const w=ii(a.value,a.value.position.z),R=Math.min(w.width,w.height)/(d.globe.radius*2);if(i.mobile.full.scale.min=f.value?R*.95:R*.65,i.mobile.full.scale.max=f.value?R*1.3:R*1.03,!m.value)return;const I=m.value==="communities",D=I?.88:.5,G={width:w.width,height:w.height*D},X=Math.min(G.width,G.height)/(d.globe.radius*2);i.mobile.focus.scale.min=f.value?X*.93:I?X*.75:X*.85,i.mobile.focus.scale.max=f.value?X*1.28:I?X*1:X*1.18;const ge=w.height*.5-G.height*.5;i.mobile.focus.position.set(0,ge,0)},De=()=>{k.value==="desktop"?Le():dt(),p()},ve=w=>{Sr(y,"smooth",y.static,B.value.dampFactor.rotate,w,1/0,kr),Sr(A,"smooth",A.static,B.value.dampFactor.rotate,w,1/0,kr),Sr(L,"smooth",L.static,B.value.dampFactor.scale,w,1/0,kr)},Ge=({delta:w,active:T,first:R})=>{S.value&&(u.state.isPinching||(T&&!R&&te(),A.static+=w[0]*.003*B.value.dragFactor,y.static+=w[1]*.003*B.value.dragFactor,y.static=Y(y.static),u.state.isDragging=T))},He=({delta:w,shiftKey:T,metaKey:R,altKey:I,ctrlKey:D})=>{S.value&&(T||R||I||D?(L.static-=w[1]*.01,L.static=Zn(L.static,0,1),r.emit(Me.WEBGL_WHEEL_FOCUS,!0)):r.emit(Me.WEBGL_WHEEL_FOCUS,!1))},ne=w=>{if(!S.value||u.state.isDragging)return;u.state.isPinching=w.pinching;const T=R=>{if(!R.event.touches||!R.event.touches[0]||!R.event.touches[1])return 0;const I=(R.event.touches[0].clientX-R.event.touches[1].clientX)**2,D=(R.event.touches[0].clientY-R.event.touches[1].clientY)**2;return I+D};if(w.first&&(h=T(w)),w.pinching){const R=T(w),I=(R-h)*.01;h=R,L.static+=I*.003,L.static=Zn(L.static,0,1)}},U=(w,T=!1)=>{const{rotation:R}=u;te();function I(G,Z){return fe.euclideanModulo(Z-G+Math.PI,Math.PI*2)-Math.PI}const D=G=>{const Z=R.y.static;let X=fe.degToRad(-G[0]),ge=fe.degToRad(-G[1]),_e=fe.euclideanModulo(ge-Z+Math.PI,Math.PI*2)-Math.PI;return ge=Z+_e,X=Y(-X/2),[X,ge]};if(w){const G=D(w.coords),Z=D(d.location.coords),X=T?(G[0]+Z[0])*.5+.25:G[0],ge=T?G[1]+I(G[1],Z[1])*.5:G[1];V.to(R.y,{duration:1,static:ge,ease:"power1.out"},0).to(R.x,{duration:1,static:X,ease:"power1.out"},0).restart(0)}},p=(w=0)=>
1032{if(ve(w),C.value||v.value||(u.rotation.y.static+=2e-4),n.value){s.lerpVectors(B.value.full.position,B.value.focus.position,u.fullFocusFactor);const T=fe.lerp(B.value.full.scale.min,B.value.full.scale.max,x.smooth),R=fe.lerp(B.value.focus.scale.min,B.value.focus.scale.max,x.smooth),I=fe.lerp(T,R,u.fullFocusFactor);n.value.position.copy(s),n.value.scale.setScalar(I),e.value.rotation.y=M.y.smooth,e.value.rotation.x=M.x.smooth}};Ke(Me.WEBGL_DRAG,Ge),Ke(Me.WEBGL_WHEEL,He),Ke(Me.WEBGL_PINCH,ne),Ke(Me.WEBGL_ENTER,le),Ie(()=>{De(),K()}),$t(()=>{te(),N?.kill()}),ke(m,w=>{De(),N?.kill(),w?N=ue.to(u,{fullFocusFactor:1,duration:1.125,ease:"expo.inOut"}):N=ue.to(u,{fullFocusFactor:0,duration:1.125,ease:"expo.inOut"})}),o.add(()=>De()),ke(C,w=>{U(w,!0)}),ke(v,w=>{U(w,!1)}),qt(({delta:w})=>{S.value&&p(w)})};async function Gm(){const{config:n,resources:e}=he("globe"),t=[{key:"airplane",type:"model",path:n.airports.airplane.model},{key:"airport-pin-default",type:"texture",path:n.airports.textures.default},{key:"airport-pin-selected",type:"texture",path:n.airports.textures.selected},{key:"community-pin-default",type:"texture",path:n.communities.textures.default},{key:"community-pin-selected",type:"texture",path:n.communities.textures.selected},{key:"onboarding-icon",type:"texture",path:n.onboarding.texture}],r={model:Va,texture:_o},s=t.map(i=>r[i.type](i.type==="texture"?[i.path]:i.path));await Promise.all(s).then(i=>{i.forEach((o,a)=>e.set(t[a].key,o))})}const Hm={__name:"GlobeGlScene",async setup(n){let e,t;const r=vt(),{$event:s}=r,i=Ze(null),o=Ze(null),{renderer:a,sizes:l}=_t(),{dynamicValues:c,config:d,setSizes:u}=he("globe"),{isOnboardingVisible:g}=Ve("globe"),_=W(null),m=W(null);return[e,t]=fs(()=>Gm()),await e,t(),Ie(()=>{const C=fe.clamp(window.devicePixelRatio,1,1.5);a.value.setPixelRatio(C),a.value.setClearColor(d.globe.clearColor),a.value.setClearAlpha(0),setTimeout(()=>{s.emit(Me.WEBGL_ENTER)},1e3)}),ke(l.aspectRatio,async()=>{await bn();const C=l.width.value,v=l.height.value;u(C,v)},{immediate:!0}),ke(g,C=>{C?_.value=!0:m.value?.leave(()=>_.value=!1)},{immediate:!0}),zm({scaleGroupRef:i,rotationGroupRef:o}),qt(C=>{c.frames+=1,s.emit(Me.WEBGL_TICK,C)}),(C,v)=>(z(),q("TresGroup",{ref_key:"scaleGroupRef",ref:i},[F("TresGroup",{ref_key:"rotationGroupRef",ref:o},[ee(O(vc)),(z(),Ce(kt,null,{default:Re(()=>[ee(O(dm))]),_:1})),ee(O(Rm)),ee(O(Om)),(z(),Ce(kt,null,{default:Re(()=>[ee(O(Nm))]),_:1})),O(_)?(z(),Ce(O(jm),{key:0,ref_key:"onboardingRef",ref:m},null,512)):et("",!0)],512)],512))}},$m=tl(Ql),Km={__name:"GlobeGl",setup(n){return(e,t)=>{const r=$m;return z(),q(st,null,[ee(r,{antialias:!1,stencil:!1,alpha:!0,premultipliedAlpha:!0},{default:Re(()=>[ee(O(sc)),(z(),Ce(kt,null,{default:Re(()=>[ee(O(Hm))]),_:1})),ee(O(nc))]),_:1}),ee(O(rc))],64)}}},Wm={class:"flex flex-col items-start px-20 pb-15 gap-y-8"},qm={class:"label-m !text-14 text-highlight"},Xm={class:"flex items-center gap-x-10"},Ym={class:"label-s !text-14 text-black"},Zm={__name:"GlobeUiAirportModal",props:["data","isDesktop"],setup(n){const{setSelectedAirport:e}=he("globe"),t=W(),r=W(),s=W(!1),i=W(),o=W();Ie(()=>{i.value=ue.quickSetter(t.value,"x","px"),o.value=ue.quickSetter(t.value,"y","px")});const a=()=>{e(!1)},l=()=>{!n.data.position||!n.isDesktop||(i.value(n.data.position.x+10),o.value(n.data.position.y+10),s.value=n.data.isVisible)};return ke(s,c=>{ue.set(r.value,{opacity:c?1:0})}),Ke(Me.WEBGL_TICK,l),(c,d)=>(z(),q("div",{ref_key:"rootRef",ref:t,class:"ap-modal-root absolute w-full max-w-[calc(100%-8rem)] s:max-w-[33.5rem] max-s:bottom-150 max-s:left-40"},[F("button",{ref:"close",type:"button","aria-label":"Close",class:"s:hidden rounded-full bg-white text-main absolute -top-60 right-1/2 translate-x-1/2 pointer-events-auto z-2",onClick:a},[...d[0]||(d[0]=[F("svg",{class:"relative z-2 h-40 w-40",viewBox:"0 0 44 44",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[F("path",{d:"M15.707 15L29.1421 28.435L28.435 29.1421L14.9999 15.7071L15.707 15Z",class:"fill-current"}),F("path",{d:"M15 28.4351L28.435 15L29.1421 15.7071L15.7071 29.1422L15 28.4351Z",class:"fill-current"})],-1)])],512),F("div",{ref_key:"contentRef",ref:r,class:"bg-highlight-subtle rounded-[.4rem] flex items-end justify-between p-3 transition-opacity duration-300 ease-out"},[F("div",Wm,[F("h3",qm,xe(n.data.key),1),F("div",Xm,[d[1]||(d[1]=_n('<svg class="h-18 w-auto" viewB
1032ox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-6e803f46><g clip-path="url(#clip0_82_34876)" data-v-6e803f46><path d="M9 0C4.03541 0 0 4.0374 0 9C0 13.9626 4.03541 18 9 18C13.9646 18 18 13.9626 18 9C18 4.0374 13.9646 0 9 0ZM9 17.28C4.43265 17.28 0.720288 13.5655 0.720288 9C0.720288 4.43448 4.43265 0.72 9 0.72C13.5673 0.72 17.2797 4.43448 17.2797 9C17.2797 13.5655 13.5673 17.28 9 17.28ZM9 9.36H4.31813V10.08H9.72029V2.52H9V9.36Z" fill="#2B2B2D" data-v-6e803f46></path></g><defs data-v-6e803f46><clipPath id="clip0_82_34876" data-v-6e803f46><rect width="18" height="18" rx="4" fill="white" data-v-6e803f46></rect></clipPath></defs></svg>',1)),F("span",Ym,xe(n.data.time),1)])]),ee(O(zt),{image:"/airport-modal-image.jpg",class:"h-135 w-130 relative media-fill rounded-[.2rem] overflow-hidden radius-fix"}),ee(O(zt),{image:"/plane.png",class:"w-175 absolute right-0 rtl:left-0 rtl:right-auto top-1/2 -translate-y-1/2 z-2"})],512)],512))}},Qm=Kt(Zm,[["__scopeId","data-v-6e803f46"]]),Jm={class:"flex flex-col items-start justify-between px-15 s:px-20 py-15"},ev={class:"flex flex-col items-start gap-y-8"},tv={class:"label-m !text-14 text-highlight"},nv={class:"label-s !text-12 text-black !leading-[1.3]"},rv={__name:"GlobeUiCommunityModal",props:["data","isDesktop"],setup(n){const{setSelectedCommunity:e}=he("globe"),t=W(),r=W(),s=W(!1),i=W(),o=W();Ie(()=>{i.value=ue.quickSetter(t.value,"x","px"),o.value=ue.quickSetter(t.value,"y","px")});const a=()=>{e(!1)},l=()=>{!n.data.position||!n.isDesktop||(i.value(n.data.position.x+10),o.value(n.data.position.y+10),s.value=n.data.isVisible)};return ke(s,c=>{ue.set(r.value,{opacity:c?1:0})}),Ke(Me.WEBGL_TICK,l),(c,d)=>(z(),q("div",{ref_key:"rootRef",ref:t,class:"com-modal-root absolute w-full max-w-[calc(100%-4rem)] s:max-w-[35rem] max-s:bottom-150 max-s:left-20"},[F("button",{ref:"close",type:"button","aria-label":"Close",class:"s:hidden rounded-full bg-white text-main absolute -top-60 right-1/2 translate-x-1/2 pointer-events-auto z-2",onClick:a},[...d[0]||(d[0]=[F("svg",{class:"relative z-2 h-40 w-40",viewBox:"0 0 44 44",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[F("path",{d:"M15.707 15L29.1421 28.435L28.435 29.1421L14.9999 15.7071L15.707 15Z",class:"fill-current"}),F("path",{d:"M15 28.4351L28.435 15L29.1421 15.7071L15.7071 29.1422L15 28.4351Z",class:"fill-current"})],-1)])],512),F("div",{ref_key:"contentRef",ref:r,class:"bg-highlight-subtle rounded-[.4rem] flex justify-between p-3 transition-opacity duration-300 ease-out"},[F("div",Jm,[ee(O(zt),{image:n.data.logo?.url,class:"h-40 w-40 relative media-fill rounded-full overflow-hidden radius-fix"},null,8,["image"]),F("div",ev,[F("h3",tv,xe(n.data.key),1),F("div",nv,xe(n.data.location),1)])]),ee(O(zt),{image:n.data.image?.src,class:"h-160 w-145 relative media-fill rounded-[.2rem] overflow-hidden radius-fix"},null,8,["image"])],512)],512))}},sv=Kt(rv,[["__scopeId","data-v-be406e96"]]),iv={__name:"GlobeUiSeeAllSwitcher",setup(n){const{setCurrentSidebar:e}=he("globe"),{config:t,currentType:r}=Ve("globe"),s=()=>{e(r.value)};return(i,o)=>(z(),q("button",{type:"button",class:"see-all-root group font-bold pointer-events-auto l:-translate-x-0 z-2 justify-start w-auto max-l:border-transparent ml-6 mr-2",onClick:s},[...o[0]||(o[0]=[_n('<div class="relative h-40 w-40 s:h-40 s:w-40 l:h-40 l:w-40 bg-white rounded-full after:absolute after:inset-0 after:bg-main after:rounded-full after:scale-0 after:transition-transform after:duration-700 after:ease-out-expo has-hover:group-hover:after:scale-110"><svg class="absolute top-0 left-0 w-full h-full text-main has-hover:group-hover:text-white transition-colors duration-500 ease-out z-2" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="20" cy="20" r="19.5" class="stroke-current [stroke-dasharray:2,2] has-hover:group-hover:[stroke-dasharray:0,0] has-hover:group-hover:stroke-white"></circle><path class="fill-current" d="M20.0733 26.0714C16.9092 26.0714 13.8831 24.1055 11.076 20.2251C11.0282 20.1591 11.0017 20.08 11.0001 19.9985C10.9985 19.9169 11.0218 19.8369 11.067 19.769C11.2201 19.5388 14.8778 14.127 20.1518 14.0027C23.3831 13.9175 26.4691 15.8613 29.3306 19.7535C29.3789 19.8192 29.406 19.8981 29.4082 19.9797C29.4105 20.0612 29.3878 20.1414 29.3431 20.2097C29.1899 20.4438 25.531 25.9453 20.2529 26.0692C20.1931 26.0706 20.1331 26.0714 20.0733 26.0714ZM11.8939 19.9873C14.5395 23.5585 17.3495 25.3363 20.2306 25.2691C24.5073 25.1708 27.7726 21.0221 28.5145 19.9976C25.8683 16.4835 23.056 14.7432 20.1745 14.8028C15.9009 14.9013 12.6387 18.9757 11.8939 19.9873Z"></path><path class="fill-current" d="M20.2034 23.325C19.5528 23.325 18.9168 23.132 18.3758 22.7706C17.8348 22.4091 17.4132 21.8954 17.1642 21.2943C16.9152 20.6932 16.8501 20.0318 16.977 19.3936C17.104 18.7555 17.4173 18.1694 17.8773 17.7093C18.3374 17.2493 18.9235 16.936 19.5616 16.8091C20.1997 16.6821 20.8611 16.7473 21.4622 16.9963C22.0633 17.2452 22.5771 17.6669 22.9385 18.2078C23.3 18.7488 23.4929 19.3848 23.4929 20.0354C23.4919 20.9075 23.145 21.7437 22.5283 22.3604C21.9116 22.9771 21.0755 23.324 20.2034 23.325ZM20.2034 17.5464C19.7111 17.5464 19.2299 17.6923 18.8205 17.9658C18.4112 18.2393 18.0922 18.6281 17.9038 19.0829C17.7154 19.5377 17.6661 20.0382 17.7621 20.521C17.8582 21.0038 18.0952 21.4473 18.4433 21.7954C18.7914 22.1435 19.235 22.3806 19.7178 22.4766C20.2006 22.5727 20.7011 22.5234 21.1559 22.335C21.6107 22.1466 21.9994 21.8276 22.273 21.4183C22.5465 21.0089 22.6924 20.5277 22.6924 20.0354C22.6917 19.3755 22.4292 18.7428 21.9626 18.2762C21.496 17.8095 20.8633 17.5471 20.2034 17.5464Z"></path></svg></div>',1)])]))}},ov={class:"flex items-center justify-between h-full relative"},av={class:"relative w-full"},lv={class:"relative flex h-44 s:h-48 l:h-46 text-black"},cv={class:"switch__mask absolute inset-0 flex pointer-events-none bg-main text-white rounded-full overflow-hidden","aria-hidden":"true"},uv={class:"flex-1 shrink-0 flex items-center justify-center eyebrow font-[600] l:font-[400]"},dv={class:"flex-1 shrink-0 flex items-center justify-center eyebrow font-[600] l:font-[400]"},hv={__name:"GlobeUiSwitcher",setup(n){const{setCurrentType:e}=he("globe"),{config:t,currentType:r,currentSidebar:s}=Ve("globe");return(i,o)=>(z(),q("div",{class:it(["switch absolute bottom-65 s:bottom-44 l:bottom-56 left-20 right-20 s:right-auto s:left-1/2 s:-translate-x-1/2 roun
1032ded-full bg-white s:w-full l:w-full s:max-w-[45vw] l:max-w-[34.3rem] text-13 l:text-13 border-[.2rem] border-white pointer-events-auto z-2 tracking-[-0.01em] leading-[1]",{"is-toggled":O(r)==="communities"}])},[F("div",ov,[F("div",av,[F("div",lv,[F("button",{type:"button",class:"flex-1 shrink-0 flex items-center justify-center eyebrow font-[600] l:font-[400]",onClick:o[0]||(o[0]=a=>O(e)("airports"))},xe(O(t).item.airportsLabel||"Airports"),1),F("button",{type:"button",class:"flex-1 shrink-0 flex items-center justify-center eyebrow font-[600] l:font-[400]",onClick:o[1]||(o[1]=a=>O(e)("communities"))},xe(O(t).item.communitiesLabel||"Communities"),1)]),F("div",cv,[F("div",uv,xe(O(t).item.airportsLabel||"Airports"),1),F("div",dv,xe(O(t).item.communitiesLabel||"Communities"),1)])]),ee(O(iv),{class:it([O(s)&&"opacity-0","fade-hide"])},null,8,["class"])])],2))}},pv=Kt(hv,[["__scopeId","data-v-ef4a1445"]]),fv={class:"sidebar-root flex absolute max-l:w-full top-[52.5%] s:top-[47.7%] l:top-0 right-0 bottom-0 pointer-events-auto z-10","data-lenis-prevent":""},mv={class:"relative flex h-full w-full js-mask"},vv={class:"sidebar__content flex h-full w-full overflow-y-auto overflow-x-hidden"},gv={key:0,class:"pt-34 s:pt-32 l:pt-[10.4rem] px-20 s:px-50 l:px-[10.4rem] w-full l:w-[74rem]"},wv={class:"flex flex-col"},bv=["onClick"],_v={class:"flex items-center gap-x-20"},yv=["src"],xv={class:"relative overflow-hidden h-0 w-[calc(100%+4rem)] s:w-[calc(100%+16rem)] l:w-[calc(100%+22rem)] -mx-20 s:-mx-80 l:-mx-100 js-dd"},Cv={class:"relative w-full"},Pv=["onClick"],Tv={class:"text-16 flex flex-col items-start relative mt-[-.5em]"},Ev={class:"flex items-center gap-x-6"},Mv={class:"text-14 opacity-60"},Av={key:1,class:"pt-20 s:pt-40 s:pt-[10.4rem] px-20 s:px-[10.4rem] w-full l:w-[74rem]"},Sv={class:"h3 mb-20 s:mb-30 js-sidebar-elem !tracking-[0em] !text-30 text-black-pure"},kv={class:"flex flex-col gap-y-20 pt-20 s:pt-30"},Lv=["onClick"],Rv={class:"flex rounded-[.4rem] overflow-hidden radius-fix transition-colors duration-500 ease-out has-hover:group-hover:bg-white-pure"},Iv={class:"flex-1 flex flex-col justify-center px-20 s:px-40 max-s:leading-[1.3]"},Ov={class:"text-15 s:text-16 font-sans tracking-[-.05em] text-black-pure"},Fv={class:"text-12 s:text-14 font-sans tracking-[-.05em] text-black"},Vv={__name:"GlobeUiSidebar",setup(n){const e=W(),{setCurrentSidebar:t,config:r,setSelectedAirport:s,setSelectedCommunity:i}=he("globe"),{currentSidebar:o,selectedAirport:a,selectedCommunity:l}=Ve("globe"),c=r.airportsGrouped.items,d=r.communities.items,u=()=>{t(!1)},g=S=>{s({...S})},_=S=>{i({...S})},m=W(-1),C=W(0);let v;const E=(S,x)=>{v||(v=to(".js-dd",e.value).map((M,L)=>{const y=Jt(".js-dd-icon",M.parentNode);return{dd:M,icon:y,active:!1,i:L}})),bn(()=>{m.value=C.value,C.value=x;const M=v[m.value],L=v[C.value];M&&M.active&&M!==L&&(M.active=!1,!M.tl&&(M.tl=Nt.timeline({paused:!0,defaults:{duration:.65,ease:"snappy"}})),M.tl.clear().to(M.dd,{height:0}).to(M.icon,{rotate:0},0).restart()),L&&(L.active=!L.active,!L.tl&&(L.tl=Nt.timeline({paused:!0,defaults:{duration:.65,ease:"snappy"}})),L.tl.clear().to(L.dd,{height:L.active?"auto":0}).to(L.icon,{rotate:L.active?45:0},0).restart())})};return Ie(async()=>{await bn(),o.value==="airports"?s({...c[0].items[0]}):i({...d[0]})}),$t(()=>{s(!1),i(!1)}),(S,x)=>(z(),q("div",fv,[F("button",{type:"button","aria-label":"Close",class:"l:hidden rounded-full bg-white text-main absolute -top-60 right-1/2 translate-x-1/2 z-2 js-close",onClick:u},[...x[0]||(x[0]=[F("svg",{class:"relative z-2 h-40 w-40",viewBox:"0 0 44 44",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[F("path",{d:"M15.707 15L29.1421 28.435L28.435 29.1421L14.9999 15.7071L15.707 15Z",class:"fill-current"}),F("path",{d:"M15 28.4351L28.435 15L29.1421 15.7071L15.7071 29.1422L15 28.4351Z",class:"fill-current"})],-1)])]),F("div",{ref_key:"el",ref:e,class:"relative flex w-full overflow-hidden bg-white before:absolute before:top-0 before:left-0 before:w-full before:opacity-20 before:border-t before:border-highlight"},[F("div",mv,[F("button",{type:"button","aria-label":"Close",class:"group rounded-[.3rem] transition-colors duration-500 ease-out text-main absolute right-40 top-40 z-2 max-l:hidden",onClick:u},[...x[1]||(x[1]=[_n('<svg class="relative z-2 h-40 w-40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-2fdcfd61><rect x="0.5" y="0.5" width="39" height="39" rx="2.5" stroke="currentColor" data-v-2fdcfd61></rect><g class="origin-center group-hover:opacity-100 transition-transform duration-500 ease-out group-hover:rotate-90" data-v-2fdcfd61><path d="M15.9341 15.2364L24.5961 23.8984L23.7299 24.7647L15.0679 16.1026L15.9341 15.2364Z" class="fill-current" data-v-2fdcfd61></path><path d="M24.5962 16.1025L15.9341 24.7646L15.0679 23.8984L23.73 15.2363L24.5962 16.1025Z" class="fill-current" data-v-2fdcfd61></path></g></svg>',1)])]),F("div",vv,[O(o)==="airports"?(z(),q("div",gv,[F("h3",{ref:"elem",class:"h3 mb-20 s:mb-30 js-sidebar-elem !tracking-[0em] !text-30 text-black-pure"},xe(O(r).item.airportsLabel||"Airports"),513),F("div",wv,[(z(!0),q(st,null,en(O(c),(M,L)=>(z(),q("div",{key:M.country,class:"w-full js-sidebar-elem"},[x[6]||(x[6]=F("hr",{class:"relative border-offset opacity-50"},null,-1)),F("button",{type:"button",class:"flex items-center justify-between w-full py-28 s:py-32 text-16 s:text-18 tracking-[-.05em] text-black-pure",onClick:y=>E(y,L)},[F("div",_v,[F("img",{src:M.flag.src,class:"h-25 w-32 relative"},null,8,yv),ei(" "+xe(M.country),1)]),x[2]||(x[2]=F("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",class:"h-16 w-16 transition-transform duration-700 ease-out-expo js-dd-icon"},[F("path",{d:"M8.36328 7.63696H16V8.36353H8.36328V16.0002H7.63672V8.36353H0L0 7.63696H7.63672V0.000244141L8.36328 0.000244141V7.63696Z",fill:"black"})],-1))],8,bv),F("div",xv,[F("nav",Cv,[(z(!0),q(st,null,en(M.items,(y,A)=>(z(),q("button",{type:"button",key:y.key,class:it(["sidebar-ap flex items-start gap-x-20 w-full px-20 s:px-80 l:px-100 text-left py-25 pb-15 s:py-35 s:pb-25 relative transition-colors duration-500 ease-out has-hover:hover:bg-[#C4A97C]/10",O(a).key===y.key&&"bg-[#C4A97C]/10"]),onClick:()=>g(y)},[x[4]||(x[4]=F("svg",{class:"h-20 w-auto",viewBox:"0 0 33 23",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[F("path",{d:"M32.6131 1.56829C31.8392 0.156925 30.0151 -0.365802 28.5226 0.366016L20.0653 4.49556L9.39699 0.313744L5.96985 1.98647L13.3216 7.78874L7.57287 10.6115L2.8191 8.8342L0 10.1933L5.19598 15.1592L16.3065 12.8592L31.397 5.48874C32.8342 4.70465 33.3869 2.97965 32.6131 1.56829ZM30.8442 4.49556L15.9196 11.8137L5.52764 14.0092
1032L1.82412 10.4547L2.87437 9.93193L7.62814 11.7092L15.3116 7.94556L7.9598 2.19556L9.45226 1.46374L20.1206 5.64556L29.0201 1.25465C29.9598 0.784198 31.1206 1.15011 31.6181 2.03874C32.1709 2.92738 31.7839 4.02511 30.8442 4.49556ZM1.49246 23.0001H31.3417V21.9547H1.49246V23.0001Z",fill:"#081E37"})],-1)),F("div",Tv,[ei(xe(y.key)+" ",1),F("div",Ev,[x[3]||(x[3]=_n('<svg class="h-16 w-auto" viewBox="0 0 18.5 18.5" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-2fdcfd61><g clip-path="url(#clip0_82_34876)" data-v-2fdcfd61><path d="M9 0C4.03541 0 0 4.0374 0 9C0 13.9626 4.03541 18 9 18C13.9646 18 18 13.9626 18 9C18 4.0374 13.9646 0 9 0ZM9 17.28C4.43265 17.28 0.720288 13.5655 0.720288 9C0.720288 4.43448 4.43265 0.72 9 0.72C13.5673 0.72 17.2797 4.43448 17.2797 9C17.2797 13.5655 13.5673 17.28 9 17.28ZM9 9.36H4.31813V10.08H9.72029V2.52H9V9.36Z" fill="#2B2B2D" data-v-2fdcfd61></path></g><defs data-v-2fdcfd61><clipPath id="clip0_82_34876" data-v-2fdcfd61><rect width="18" height="18" rx="4" data-v-2fdcfd61></rect></clipPath></defs></svg>',1)),F("span",Mv,xe(y.time),1)])]),x[5]||(x[5]=F("hr",{class:"absolute inset-x-0 s:inset-x-80 top-0 border-offset opacity-50"},null,-1))],10,Pv))),128))])])]))),128))]),x[7]||(x[7]=F("div",{class:"h-110"},null,-1))])):et("",!0),O(o)==="communities"?(z(),q("div",Av,[F("h3",Sv,xe(O(r).item.communitiesLabel||"Communities"),1),x[9]||(x[9]=F("hr",{class:"border-[#A8A98F80] origin-left js-scale-x"},null,-1)),F("div",kv,[(z(!0),q(st,null,en(O(d),M=>(z(),q("article",{key:M.key,class:it(["group cursor-pointer sidebar-loc before:absolute before:inset-[-1px] before:opacity-100 has-hover:hover:before:opacity-100 before:border before:border-[#A8A98F80] before:rounded-[.4rem] before:transition-opacity before:duration-500 before:ease-out js-sidebar-elem",O(l).key===M.key&&"before:opacity-100"]),onClick:()=>_(M)},[F("div",Rv,[ee(O(zt),{image:M.image?.src,class:"relative media-fill w-full max-w-[13rem] s:max-w-[20rem]"},{default:Re(()=>[...x[8]||(x[8]=[F("div",{class:"pt-[56.25%]"},null,-1)])]),_:1},8,["image"]),F("div",Iv,[F("h2",Ov,xe(M.key),1),F("h3",Fv,xe(M.location),1)])])],10,Lv))),128))]),x[10]||(x[10]=F("div",{class:"h-110"},null,-1))])):et("",!0)])])],512)]))}},Nv=Kt(Vv,[["__scopeId","data-v-2fdcfd61"]]),Dv={class:"zoom-root absolute top-auto l:top-1/2 bottom-50 l:bottom-auto left-60 l:-translate-y-1/2 pointer-events-auto"},Uv={__name:"GlobeUiZoomControls",setup(n){const{dynamicValues:e}=he("globe"),t=W(!0),r=W(!1),s=o=>{e.zoom.static+=.33*o,e.zoom.static=Zn(e.zoom.static,0,1)},i=()=>{e.frames%20===0&&(t.value=e.zoom.static<.99,r.value=e.zoom.static>.01)};return Ke(Me.WEBGL_TICK,i),(o,a)=>(z(),q("div",Dv,[F("button",{type:"button",class:it(["relative h-40 w-40 bg-white text-main rounded-full flex items-center justify-center mb-10 transition-colors duration-500 ease-out group has-hover:hover:text-white after:absolute after:inset-0 after:bg-main after:rounded-full after:scale-0 after:transition-transform after:duration-700 after:ease-out-expo has-hover:hover:after:scale-100",{"is-active":O(t)}]),"aria-label":"Zoom in",onClick:a[0]||(a[0]=()=>s(1))},[...a[2]||(a[2]=[F("svg",{class:"relative h-11 w-auto z-2",viewBox:"0 0 11 11",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[F("path",{class:"fill-current","fill-rule":"evenodd","clip-rule":"evenodd",d:"M6.36523 0H4.86523V4.86548H0V6.36548H4.86523V11H6.36523V6.36548H11V4.86548H6.36523V0Z"})],-1)])],2),F("button",{type:"button",class:it(["relative h-40 w-40 bg-white text-main rounded-full flex items-center justify-center transition-colors duration-500 ease-out group has-hover:hover:text-white after:absolute after:inset-0 after:bg-main after:rounded-full after:scale-0 after:transition-transform after:duration-700 after:ease-out-expo has-hover:hover:after:scale-100",{"is-active":O(r)}]),"aria-label":"Zoom out",onClick:a[1]||(a[1]=()=>s(-1))},[...a[3]||(a[3]=[F("svg",{class:"relative h-2 w-auto z-2",viewBox:"0 0 11 2",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[F("path",{class:"fill-current",d:"M11 0V1.5H0V0H11Z"})],-1)])],2)]))}},Bv=Kt(Uv,[["__scopeId","data-v-569c0e2f"]]),jv={class:"title-l mb-5 s:mb-10 l:mb-20"},zv={class:"text-15 s:text-16 opacity-80 leading-[1.5] block"},Gv={class:"text-15 s:text-16 opacity-80 leading-[1.5]"},Hv={__name:"GlobeUiInfo",setup(n){const e=vt(),{$scroll:t}
1032=e,{config:r,currentSidebar:s}=Ve("globe"),i=()=>{t.to(".button-skip")};return(o,a)=>(z(),q(st,null,[F("div",nl({class:"info-root absolute top-35 s:top-56 l:top-auto l:bottom-56 left-20 s:left-50 l:left-60 right-20 s:right-50 l:right-auto l:w-full l:max-w-[37.5rem] text-white pointer-events-auto has-hover:pointer-events-none"},o.$attrs),[F("h2",jv,xe(O(r).item.title||"Getting to Discovery Maverick"),1),F("p",zv,xe(O(r).item.subtitle||"Discover our communities across the world"),1),F("p",Gv,xe(O(r).item.subtitle2||"Select a point to learn more."),1)],16),F("div",{class:it(["button-skip absolute bottom-0 w-full h-0 fade-hide text-white-pure",O(s)&&"opacity-0"])},[F("button",{type:"button",class:"group flex items-center justify-center s:justify-between w-33 s:w-fit h-33 s:h-40 z-10 pointer-events-auto z-2 absolute bottom-17 s:bottom-44 l:bottom-56 right-20 s:right-50 l:right-58 rounded-[0.3rem] max-s:left-1/2 max-s:-translate-x-1/2 s:left-auto gap-12",onClick:a[0]||(a[0]=()=>i()),"aria-label":"Skip",role:"button",tabindex:"0"},[...a[1]||(a[1]=[_n('<span class="eyebrow font-[600] l:font-[400] max-s:hidden">Skip</span><span class="h-33 s:h-40 w-33 s:w-40"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40" fill="none" class="fill-transparent has-hover:group-hover:fill-main transition-fill duration-500 ease-out h-full w-full"><rect width="39" height="39" x=".5" y=".5" stroke="currentColor" rx="2.5"></rect><path class="text-white-pure has-hover:group-hover:text-white-pure transition-colors duration-500 ease-out" fill="currentColor" fill-rule="evenodd" d="m20 24.518 4.315-4.198.736.716L20 25.95l-5.051-4.914.736-.716L20 24.518Z" clip-rule="evenodd"></path><path class="text-white-pure has-hover:group-hover:text-white-pure transition-colors duration-500 ease-out" fill="currentColor" fill-rule="evenodd" d="M20.52 13.59v11.644h-1.04V13.591h1.04Z" clip-rule="evenodd"></path></svg></span>',2)])])],2)],64))}},$v={class:"flex relative z-1 w-full s:min-h-[18.5rem] max-w-[28.5rem] s:max-w-[42.5rem] mx-auto js-slides"},Kv=["data-key"],Wv={class:"flex-1 flex flex-col items-start justify-between px-15 s:px-20 py-15"},qv={class:"flex flex-col items-start gap-y-8"},Xv={class:"label-m !text-14 text-highlight"},Yv={class:"label-s !text-12 text-black !leading-[1.3]"},Zv={__name:"GlobeUiCarousel",setup(n){const{$event:e}=vt(),{setCurrentSidebar:t,config:r,setSelectedCommunity:s,setSelectedAirport:i}=he("globe"),{currentSidebar:o}=Ve("globe"),a=pe(()=>r.communities.items),l=W(null),c=_=>{const m=a.value.find(C=>C.key===_);s({...m})},d=()=>{t(!1),s(!1)},u=_=>{const m=a.value.findIndex(C=>C.key===_);l.value?.goto(m)},g=_=>{const m=a.value[_];s({...m})};return Ie(async()=>{await bn(),s({...a.value[0]}),e.on("slide:click",c),e.on("carousel:snap",g),e.on("pin:click",u)}),$t(()=>{e.off("slide:click",c),e.off("carousel:snap",g),e.off("pin:click",u),t(!1),s(!1)}),(_,m)=>{const C=Jl;return z(),Ce(C,{ref_key:"carousel",ref:l,toggle:!0,class:"site-max absolute bottom-30 s:bottom-50 left-0 w-full pointer-events-auto z-4"},{default:Re(()=>[F("button",{ref:"close",type:"button","aria-label":"Close",class:"rounded-full bg-white text-main absolute -top-50 s:-top-60 right-1/2 translate-x-1/2 z-2",onClick:d},[...m[0]||(m[0]=[F("svg",{class:"relative z-2 h-40 w-40",viewBox:"0 0 44 44",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[F("path",{d:"M15.707 15L29.1421 28.435L28.435 29.1421L14.9999 15.7071L15.707 15Z",class:"fill-current"}),F("path",{d:"M15 28.4351L28.435 15L29.1421 15.7071L15.7071 29.1422L15 28.4351Z",class:"fill-current"})],-1)])],512),F("div",$v,[(z(!0),q(st,null,en(O(a),v=>(z(),q("article",{key:v.id,class:"flex relative media-fill min-h-[12.5rem] s:min-h-[15rem] min-w-[100%] max-w-[100%] bg-offset-3 rounded-[.6rem] mr-15 s:mr-25 p-2 s:p-3 js-slide","data-key":v.key},[F("div",Wv,[ee(zt,{image:v.logo?.url,class:"size-30 s:size-40 relative media-fill rounded-full overflow-hidden radius-fix"},null,8,["image"]),F("div",qv,[F("h3",Xv,xe(v.key),1),F("div",Yv,xe(v.location),1)])]),ee(zt,{image:v.image?.src,class:"min-w-[10rem] max-w-[10rem] s:min-w-[14rem] s:max-w-[14rem] relative media-fill rounded-[.3rem] overflow-hidden radiu
1032s-fix"},null,8,["image"])],8,Kv))),128))])]),_:1},512)}}},Qv={class:"absolute inset-0 h-dvh pointer-events-none overflow-hidden z-10"},Jv={__name:"GlobeUi",setup(n){const{$resize:e}=vt(),{config:t,currentSidebar:r,selectedCommunity:s,selectedAirport:i}=Ve("globe"),o=pe(()=>e.small),a=pe(()=>!o.value),l=pe(()=>a.value||!a.value&&r.value===!1),c=pe(()=>e.medium??!1),d=pe(()=>e.landscape??!0),u=pe(()=>c.value&&!d.value&&r.value==="communities"),g=pe(()=>c.value&&!d.value?r.value==="airports":r.value);let _;const m=(v,E)=>{E(),document.body.classList.add("overflow-hidden");const S=Jt(".js-scale-x",v),x=Jt(".js-mask",v),M=to(".js-sidebar-elem",v);!_&&(_=Nt.timeline({paused:!0,defaults:{duration:1.25,ease:"power3.inOut"}})),_.clear().fromTo([v,x],{xPercent:c.value?0:Nt.utils.wrap([100,-100]),yPercent:c.value?Nt.utils.wrap([100,-100]):0},{xPercent:0,yPercent:0}),M.length&&_.fromTo(M,{alpha:0,xPercent:25},{alpha:1,xPercent:0,stagger:.075,ease:"expo"},.45),S&&_.fromTo(S,{scaleX:0},{scaleX:1,ease:"expo.inOut",duration:1.5},.45),c.value&&_.from(close,{scale:0,duration:1,ease:"expo"},.25),_.restart()},C=(v,E)=>{document.body.classList.remove("overflow-hidden");const S=Jt(".js-mask",v),x=Jt(".js-close",v);_?.clear(),_.to([v,S],{xPercent:c.value?0:Nt.utils.wrap([100,-100]),yPercent:c.value?Nt.utils.wrap([100,-100]):0}).add(()=>E()),c.value&&_.to(x,{scale:0,duration:.75,ease:"expo.inOut"},0),_.restart()};return(v,E)=>(z(),q("div",Qv,[F("div",null,[ee(zn,null,{default:Re(()=>
1032[O(i).key&&O(l)&&!O(r)?(z(),Ce(O(Qm),{key:O(i).key,data:O(i),"is-desktop":O(a)},null,8,["data","is-desktop"])):et("",!0)]),_:1}),ee(zn,null,{default:Re(()=>[O(s).key&&O(l)&&!O(r)?(z(),Ce(O(sv),{key:O(s).key,data:O(s),"is-desktop":O(a)},null,8,["data","is-desktop"])):et("",!0)]),_:1})]),ee(O(Hv),{class:it([O(r)&&"opacity-0","fade-hide-text"])},null,8,["class"]),O(a)?(z(),Ce(O(Bv),{key:0,class:it([O(r)&&"opacity-0","fade-hide"])},null,8,["class"])):et("",!0),ee(O(pv),{class:it([O(r)&&"opacity-0","fade-hide"])},null,8,["class"]),ee(zn,{css:!1,onEnter:m,onLeave:C},{default:Re(()=>[O(g)?(z(),Ce(O(Nv),{key:0})):et("",!0)]),_:1}),ee(zn,{name:"fade"},{default:Re(()=>[O(u)?(z(),Ce(O(Zv),{key:0})):et("",!0)]),_:1})]))}},eg=Kt(Jv,[["__scopeId","data-v-952b916e"]]),Ji={globe:{radius:.648,type:"detailed",background:"#081E37",clearColor:"#081E37",gradientColor:"rgb(0, 0, 0, .5)",lights:{ambient:.8},flatConfig:{colors:["#306BA3","#B2CEDF"]},detailedConfig:{color:"#9CB5A5"},ozoneConfig:{color:"#fff",opacity:.1},fresnelConfig:{color:"#fff",opacity:.05,powerFactor:10}},onboarding:{color:"#ffffff",texture:"/images/globe/detailed/mobile-onboarding-icon.png"},location:{coords:[25.217118,55.249461],texture:"/images/globe/main-location.png"},airports:{textures:{default:"/images/globe/airport-pin.png",selected:"/images/globe/airport-pin-active.png"},airplane:{model:"/models/airplane.glb"},routes:{main:{color:"#EFEAE6",opacity:1,lineWidth:{desktop:.018,mobile:.038}},shadow:{color:"#000000",opacity:.15,lineWidth:{desktop:.048,mobile:.068}}},items:[{key:"Nyc",coords:[40.71270381245624,-74.01352706000687]},{key:"Paris",coords:[48.864716,2.349014]},{key:"Rome",coords:[41.902782,12.496366]},{key:"San Diego",coords:[32.71764227816949,-117.16267289358328]}]},communities:{textures:{default:"/images/globe/community-pin.png",selected:"/images/globe/community-pin-active.png"},items:[{key:"Lisbon",coords:[38.7222318313828,-9.139497075296303]},{key:"Berlin",coords:[52.52293788639916,13.407618675801553]},{key:"Nashville",coords:[36.16092339614342,-86.78735858870378]}]}},tg={class:"globe"},ng={class:"globe__content"},rg={class:"globe__wrap absolute inset-0 h-dvh js-globe-wrap"},sg={__name:"Globe",props:["config"],setup(n){const{setConfig:e,setResponsiveVersion:t}=he("globe"),r=oi(ai(Ji),n.config);return e(r),ke(()=>n.config,(s,i)=>{const o=oi(ai(Ji),s);e(o)},{deep:!0}),Ie(()=>{const s=window.innerWidth>768?"desktop":"mobile";t(s)}),(s,i)=>(z(),q("div",tg,[F("div",ng,[F("div",rg,[ee(O(Km))]),ee(O(eg))])]))}},ig=Kt(sg,[["__scopeId","data-v-9241f963"]]),og=50,hg={__name:"BlockGlobe",props:{item:{type:Object,required:!0,default:()=>({})}},setup(n){const e=vt(),{$event:t,$scroll:r,$resize:s}=e,i=W(null);tc().$reset();const a=he("globe"),{dynamicValues:l}=a,c=n,d=pe(()=>({items:c.item.airports.flatMap(A=>A.items).map(A=>({key:A.title,coords:[A.lat,A.lng],time:A.time}))})),u=pe(()=>({items:c.item.airports.map(y=>({country:y.country,flag:y.flag,items:y.items.map(A=>({key:A.title,coords:[A.lat,A.lng],time:A.time}))}))})),g=pe(()=>({items:c.item.communities.map(y=>({key:y.title,coords:[y.lat,y.lng],location:y.location,image:y.image,logo:y.logo}))})),_={globe:{type:"realistic",background:"#081E37",clearColor:"#081E37",ozoneConfig:{color:"#bafeff",opacity:.75}},onboarding:{texture:"/images/globe/detailed/mobile-onboarding-icon.png"},location:{coords:[20.6539,-156.4403],texture:"/images/globe/main-location.png"},airports:{routes:{shadow:{color:"#000000",opacity:.15,lineWidth:{desktop:.048,mobile:.068}}}},airportsGrouped:{},communities:{},item:c.item},m=pe(()=>(_.item=c.item,{..._,airports:{..._.airports,...d.value},airportsGrouped:{...u.value},communities:{...g.value}})),C=W(!1),v=W(0),E=W(!1),S=W(null),x=()=>{E.value=!0,S.value&&clearTimeout(S.value),S.value=setTimeout(()=>{E.value=!1},og)},M=()=>{!E.value&&v.value>.3&&v.value<.7?C.value||(C.value=!0,r.to(i.value.$el.offsetTop)):C.value&&(C.value=!1)};let L;return Ie(async()=>{await bn();const y=s.small;l.zoom.static=y?-.33:.33,l.zoom.smooth=y?-.33:.33,L=rl.create({trigger:i.value.$el,onUpdate:A=>v.value=A.progress,onToggle:({isActive:A})=>{A?document.body.classList.add("is-globe"):document.body.classList.remove("is-globe")}})}),sl(()=>{L?.kill(),S.value&&clearTimeout(S.value)}),Ke("scroll",x),Ke("tick",M),(y,A)=>{const h=ig,b=il;return z(),Ce(b,null,{default:Re(()=>[ee(h,{ref_key:"el",ref:i,config:O(m)},null,8,["config"])]),_:1})}}};export{hg as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.