N-vh?a-N+vh:0),M=4*(this._cubeSize-k);eg(n,A,M,3*k,2*k),c.setRenderTarget(n),c.render(h,sy)}};function n0e(t){const e=[],n=[],r=[];let a=t;const s=t-vh+1+C8.length;for(let o=0;ot-vh?c=C8[o-t+vh-1]:o===0&&(c=0),n.push(c);const u=1/(l-2),d=-u,h=1+u,f=[d,d,h,d,h,h,d,d,h,h,d,h],p=6,x=6,v=3,g=2,y=1,_=new Float32Array(v*x*p),N=new Float32Array(g*x*p),k=new Float32Array(y*x*p);for(let M=0;M2?0:-1,P=[C,j,0,C+2/3,j,0,C+2/3,j+1,0,C,j,0,C+2/3,j+1,0,C,j+1,0];_.set(P,v*x*M),N.set(f,g*x*M);const E=[M,M,M,M,M,M];k.set(E,y*x*M)}const A=new wl;A.setAttribute("position",new Ds(_,v)),A.setAttribute("uv",new Ds(N,g)),A.setAttribute("faceIndex",new Ds(k,y)),r.push(new Sl(A,null)),a>vh&&a--}return{lodMeshes:r,sizeLods:e,sigmas:n}}function T8(t,e,n){const r=new Lf(t,e,n);return r.texture.mapping=tk,r.texture.name="PMREM.cubeUv",r.scissorTest=!0,r}function eg(t,e,n,r,a){t.viewport.set(e,n,r,a),t.scissor.set(e,n,r,a)}function r0e(t,e,n){return new ad({name:"PMREMGGXConvolution",defines:{GGX_SAMPLES:e0e,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:`${t}.0`},uniforms:{envMap:{value:null},roughness:{value:0},mipInt:{value:0}},vertexShader:rk(),fragmentShader:`
+}`,Ln={alphahash_fragment:fxe,alphahash_pars_fragment:pxe,alphamap_fragment:gxe,alphamap_pars_fragment:bxe,alphatest_fragment:xxe,alphatest_pars_fragment:yxe,aomap_fragment:vxe,aomap_pars_fragment:wxe,batching_pars_vertex:Sxe,batching_vertex:_xe,begin_vertex:Nxe,beginnormal_vertex:Cxe,bsdfs:kxe,iridescence_fragment:Axe,bumpmap_pars_fragment:Txe,clipping_planes_fragment:Mxe,clipping_planes_pars_fragment:Pxe,clipping_planes_pars_vertex:Exe,clipping_planes_vertex:jxe,color_fragment:Dxe,color_pars_fragment:Rxe,color_pars_vertex:Fxe,color_vertex:Lxe,common:Oxe,cube_uv_reflection_fragment:Ixe,defaultnormal_vertex:zxe,displacementmap_pars_vertex:Uxe,displacementmap_vertex:Bxe,emissivemap_fragment:Hxe,emissivemap_pars_fragment:$xe,colorspace_fragment:Vxe,colorspace_pars_fragment:qxe,envmap_fragment:Gxe,envmap_common_pars_fragment:Wxe,envmap_pars_fragment:Kxe,envmap_pars_vertex:Xxe,envmap_physical_pars_fragment:sye,envmap_vertex:Yxe,fog_vertex:Qxe,fog_pars_vertex:Zxe,fog_fragment:Jxe,fog_pars_fragment:eye,gradientmap_pars_fragment:tye,lightmap_pars_fragment:nye,lights_lambert_fragment:rye,lights_lambert_pars_fragment:aye,lights_pars_begin:iye,lights_toon_fragment:oye,lights_toon_pars_fragment:lye,lights_phong_fragment:cye,lights_phong_pars_fragment:uye,lights_physical_fragment:dye,lights_physical_pars_fragment:hye,lights_fragment_begin:mye,lights_fragment_maps:fye,lights_fragment_end:pye,logdepthbuf_fragment:gye,logdepthbuf_pars_fragment:bye,logdepthbuf_pars_vertex:xye,logdepthbuf_vertex:yye,map_fragment:vye,map_pars_fragment:wye,map_particle_fragment:Sye,map_particle_pars_fragment:_ye,metalnessmap_fragment:Nye,metalnessmap_pars_fragment:Cye,morphinstance_vertex:kye,morphcolor_vertex:Aye,morphnormal_vertex:Tye,morphtarget_pars_vertex:Mye,morphtarget_vertex:Pye,normal_fragment_begin:Eye,normal_fragment_maps:jye,normal_pars_fragment:Dye,normal_pars_vertex:Rye,normal_vertex:Fye,normalmap_pars_fragment:Lye,clearcoat_normal_fragment_begin:Oye,clearcoat_normal_fragment_maps:Iye,clearcoat_pars_fragment:zye,iridescence_pars_fragment:Uye,opaque_fragment:Bye,packing:Hye,premultiplied_alpha_fragment:$ye,project_vertex:Vye,dithering_fragment:qye,dithering_pars_fragment:Gye,roughnessmap_fragment:Wye,roughnessmap_pars_fragment:Kye,shadowmap_pars_fragment:Xye,shadowmap_pars_vertex:Yye,shadowmap_vertex:Qye,shadowmask_pars_fragment:Zye,skinbase_vertex:Jye,skinning_pars_vertex:eve,skinning_vertex:tve,skinnormal_vertex:nve,specularmap_fragment:rve,specularmap_pars_fragment:ave,tonemapping_fragment:ive,tonemapping_pars_fragment:sve,transmission_fragment:ove,transmission_pars_fragment:lve,uv_pars_fragment:cve,uv_pars_vertex:uve,uv_vertex:dve,worldpos_vertex:hve,background_vert:mve,background_frag:fve,backgroundCube_vert:pve,backgroundCube_frag:gve,cube_vert:bve,cube_frag:xve,depth_vert:yve,depth_frag:vve,distanceRGBA_vert:wve,distanceRGBA_frag:Sve,equirect_vert:_ve,equirect_frag:Nve,linedashed_vert:Cve,linedashed_frag:kve,meshbasic_vert:Ave,meshbasic_frag:Tve,meshlambert_vert:Mve,meshlambert_frag:Pve,meshmatcap_vert:Eve,meshmatcap_frag:jve,meshnormal_vert:Dve,meshnormal_frag:Rve,meshphong_vert:Fve,meshphong_frag:Lve,meshphysical_vert:Ove,meshphysical_frag:Ive,meshtoon_vert:zve,meshtoon_frag:Uve,points_vert:Bve,points_frag:Hve,shadow_vert:$ve,shadow_frag:Vve,sprite_vert:qve,sprite_frag:Gve},Bt={common:{diffuse:{value:new $n(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Hn},alphaMap:{value:null},alphaMapTransform:{value:new Hn},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Hn}},envmap:{envMap:{value:null},envMapRotation:{value:new Hn},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98},dfgLUT:{value:null}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Hn}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Hn}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Hn},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Hn},normalScale:{value:new Un(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Hn},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Hn}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Hn}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Hn}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new $n(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new $n(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Hn},alphaTest:{value:0},uvTransform:{value:new Hn}},sprite:{diffuse:{value:new $n(16777215)},opacity:{value:1},center:{value:new Un(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Hn},alphaMap:{value:null},alphaMapTransform:{value:new Hn},alphaTest:{value:0}}},wc={basic:{uniforms:ks([Bt.common,Bt.specularmap,Bt.envmap,Bt.aomap,Bt.lightmap,Bt.fog]),vertexShader:Ln.meshbasic_vert,fragmentShader:Ln.meshbasic_frag},lambert:{uniforms:ks([Bt.common,Bt.specularmap,Bt.envmap,Bt.aomap,Bt.lightmap,Bt.emissivemap,Bt.bumpmap,Bt.normalmap,Bt.displacementmap,Bt.fog,Bt.lights,{emissive:{value:new $n(0)}}]),vertexShader:Ln.meshlambert_vert,fragmentShader:Ln.meshlambert_frag},phong:{uniforms:ks([Bt.common,Bt.specularmap,Bt.envmap,Bt.aomap,Bt.lightmap,Bt.emissivemap,Bt.bumpmap,Bt.normalmap,Bt.displacementmap,Bt.fog,Bt.lights,{emissive:{value:new $n(0)},specular:{value:new $n(1118481)},shininess:{value:30}}]),vertexShader:Ln.meshphong_vert,fragmentShader:Ln.meshphong_frag},standard:{uniforms:ks([Bt.common,Bt.envmap,Bt.aomap,Bt.lightmap,Bt.emissivemap,Bt.bumpmap,Bt.normalmap,Bt.displacementmap,Bt.roughnessmap,Bt.metalnessmap,Bt.fog,Bt.lights,{emissive:{value:new $n(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Ln.meshphysical_vert,fragmentShader:Ln.meshphysical_frag},toon:{uniforms:ks([Bt.common,Bt.aomap,Bt.lightmap,Bt.emissivemap,Bt.bumpmap,Bt.normalmap,Bt.displacementmap,Bt.gradientmap,Bt.fog,Bt.lights,{emissive:{value:new $n(0)}}]),vertexShader:Ln.meshtoon_vert,fragmentShader:Ln.meshtoon_frag},matcap:{uniforms:ks([Bt.common,Bt.bumpmap,Bt.normalmap,Bt.displacementmap,Bt.fog,{matcap:{value:null}}]),vertexShader:Ln.meshmatcap_vert,fragmentShader:Ln.meshmatcap_frag},points:{uniforms:ks([Bt.points,Bt.fog]),vertexShader:Ln.points_vert,fragmentShader:Ln.points_frag},dashed:{uniforms:ks([Bt.common,Bt.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Ln.linedashed_vert,fragmentShader:Ln.linedashed_frag},depth:{uniforms:ks([Bt.common,Bt.displacementmap]),vertexShader:Ln.depth_vert,fragmentShader:Ln.depth_frag},normal:{uniforms:ks([Bt.common,Bt.bumpmap,Bt.normalmap,Bt.displacementmap,{opacity:{value:1}}]),vertexShader:Ln.meshnormal_vert,fragmentShader:Ln.meshnormal_frag},sprite:{uniforms:ks([Bt.sprite,Bt.fog]),vertexShader:Ln.sprite_vert,fragmentShader:Ln.sprite_frag},background:{uniforms:{uvTransform:{value:new Hn},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Ln.background_vert,fragmentShader:Ln.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new Hn}},vertexShader:Ln.backgroundCube_vert,fragmentShader:Ln.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Ln.cube_vert,fragmentShader:Ln.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Ln.equirect_vert,fragmentShader:Ln.equirect_frag},distanceRGBA:{uniforms:ks([Bt.common,Bt.displacementmap,{referencePosition:{value:new ft},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Ln.distanceRGBA_vert,fragmentShader:Ln.distanceRGBA_frag},shadow:{uniforms:ks([Bt.lights,Bt.fog,{color:{value:new $n(0)},opacity:{value:1}}]),vertexShader:Ln.shadow_vert,fragmentShader:Ln.shadow_frag}};wc.physical={uniforms:ks([wc.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Hn},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Hn},clearcoatNormalScale:{value:new Un(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Hn},dispersion:{value:0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Hn},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Hn},sheen:{value:0},sheenColor:{value:new $n(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Hn},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Hn},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Hn},transmissionSamplerSize:{value:new Un},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Hn},attenuationDistance:{value:0},attenuationColor:{value:new $n(0)},specularColor:{value:new $n(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Hn},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Hn},anisotropyVector:{value:new Un},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Hn}}]),vertexShader:Ln.meshphysical_vert,fragmentShader:Ln.meshphysical_frag};const CS={r:0,b:0,g:0},Pm=new Gh,Wve=new ri;function Kve(t,e,n,r,a,s,o){const l=new $n(0);let c=s===!0?0:1,u,d,h=null,f=0,p=null;function x(N){let k=N.isScene===!0?N.background:null;return k&&k.isTexture&&(k=(N.backgroundBlurriness>0?n:e).get(k)),k}function v(N){let k=!1;const A=x(N);A===null?y(l,c):A&&A.isColor&&(y(A,1),k=!0);const M=t.xr.getEnvironmentBlendMode();M==="additive"?r.buffers.color.setClear(0,0,0,1,o):M==="alpha-blend"&&r.buffers.color.setClear(0,0,0,0,o),(t.autoClear||k)&&(r.buffers.depth.setTest(!0),r.buffers.depth.setMask(!0),r.buffers.color.setMask(!0),t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil))}function g(N,k){const A=x(k);A&&(A.isCubeTexture||A.mapping===nk)?(d===void 0&&(d=new Sl(new GF(1,1,1),new ad({name:"BackgroundCubeMaterial",uniforms:xb(wc.backgroundCube.uniforms),vertexShader:wc.backgroundCube.vertexShader,fragmentShader:wc.backgroundCube.fragmentShader,side:to,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),d.geometry.deleteAttribute("normal"),d.geometry.deleteAttribute("uv"),d.onBeforeRender=function(M,C,j){this.matrixWorld.copyPosition(j.matrixWorld)},Object.defineProperty(d.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),a.update(d)),Pm.copy(k.backgroundRotation),Pm.x*=-1,Pm.y*=-1,Pm.z*=-1,A.isCubeTexture&&A.isRenderTargetTexture===!1&&(Pm.y*=-1,Pm.z*=-1),d.material.uniforms.envMap.value=A,d.material.uniforms.flipEnvMap.value=A.isCubeTexture&&A.isRenderTargetTexture===!1?-1:1,d.material.uniforms.backgroundBlurriness.value=k.backgroundBlurriness,d.material.uniforms.backgroundIntensity.value=k.backgroundIntensity,d.material.uniforms.backgroundRotation.value.setFromMatrix4(Wve.makeRotationFromEuler(Pm)),d.material.toneMapped=cr.getTransfer(A.colorSpace)!==Dr,(h!==A||f!==A.version||p!==t.toneMapping)&&(d.material.needsUpdate=!0,h=A,f=A.version,p=t.toneMapping),d.layers.enableAll(),N.unshift(d,d.geometry,d.material,0,0,null)):A&&A.isTexture&&(u===void 0&&(u=new Sl(new KF(2,2),new ad({name:"BackgroundMaterial",uniforms:xb(wc.background.uniforms),vertexShader:wc.background.vertexShader,fragmentShader:wc.background.fragmentShader,side:qh,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),u.geometry.deleteAttribute("normal"),Object.defineProperty(u.material,"map",{get:function(){return this.uniforms.t2D.value}}),a.update(u)),u.material.uniforms.t2D.value=A,u.material.uniforms.backgroundIntensity.value=k.backgroundIntensity,u.material.toneMapped=cr.getTransfer(A.colorSpace)!==Dr,A.matrixAutoUpdate===!0&&A.updateMatrix(),u.material.uniforms.uvTransform.value.copy(A.matrix),(h!==A||f!==A.version||p!==t.toneMapping)&&(u.material.needsUpdate=!0,h=A,f=A.version,p=t.toneMapping),u.layers.enableAll(),N.unshift(u,u.geometry,u.material,0,0,null))}function y(N,k){N.getRGB(CS,nY(t)),r.buffers.color.setClear(CS.r,CS.g,CS.b,k,o)}function _(){d!==void 0&&(d.geometry.dispose(),d.material.dispose(),d=void 0),u!==void 0&&(u.geometry.dispose(),u.material.dispose(),u=void 0)}return{getClearColor:function(){return l},setClearColor:function(N,k=1){l.set(N),c=k,y(l,c)},getClearAlpha:function(){return c},setClearAlpha:function(N){c=N,y(l,c)},render:v,addToRenderList:g,dispose:_}}function Xve(t,e){const n=t.getParameter(t.MAX_VERTEX_ATTRIBS),r={},a=f(null);let s=a,o=!1;function l(E,U,L,B,D){let $=!1;const G=h(B,L,U);s!==G&&(s=G,u(s.object)),$=p(E,B,L,D),$&&x(E,B,L,D),D!==null&&e.update(D,t.ELEMENT_ARRAY_BUFFER),($||o)&&(o=!1,k(E,U,L,B),D!==null&&t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,e.get(D).buffer))}function c(){return t.createVertexArray()}function u(E){return t.bindVertexArray(E)}function d(E){return t.deleteVertexArray(E)}function h(E,U,L){const B=L.wireframe===!0;let D=r[E.id];D===void 0&&(D={},r[E.id]=D);let $=D[U.id];$===void 0&&($={},D[U.id]=$);let G=$[B];return G===void 0&&(G=f(c()),$[B]=G),G}function f(E){const U=[],L=[],B=[];for(let D=0;D=0){const ae=D[W];let H=$[W];if(H===void 0&&(W==="instanceMatrix"&&E.instanceMatrix&&(H=E.instanceMatrix),W==="instanceColor"&&E.instanceColor&&(H=E.instanceColor)),ae===void 0||ae.attribute!==H||H&&ae.data!==H.data)return!0;G++}return s.attributesNum!==G||s.index!==B}function x(E,U,L,B){const D={},$=U.attributes;let G=0;const z=L.getAttributes();for(const W in z)if(z[W].location>=0){let ae=$[W];ae===void 0&&(W==="instanceMatrix"&&E.instanceMatrix&&(ae=E.instanceMatrix),W==="instanceColor"&&E.instanceColor&&(ae=E.instanceColor));const H={};H.attribute=ae,ae&&ae.data&&(H.data=ae.data),D[W]=H,G++}s.attributes=D,s.attributesNum=G,s.index=B}function v(){const E=s.newAttributes;for(let U=0,L=E.length;U=0){let X=D[z];if(X===void 0&&(z==="instanceMatrix"&&E.instanceMatrix&&(X=E.instanceMatrix),z==="instanceColor"&&E.instanceColor&&(X=E.instanceColor)),X!==void 0){const ae=X.normalized,H=X.itemSize,K=e.get(X);if(K===void 0)continue;const te=K.buffer,Z=K.type,ve=K.bytesPerElement,ce=Z===t.INT||Z===t.UNSIGNED_INT||X.gpuType===LF;if(X.isInterleavedBufferAttribute){const ee=X.data,je=ee.stride,he=X.offset;if(ee.isInstancedInterleavedBuffer){for(let oe=0;oe0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.HIGH_FLOAT).precision>0)return"highp";C="mediump"}return C==="mediump"&&t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.MEDIUM_FLOAT).precision>0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}let u=n.precision!==void 0?n.precision:"highp";const d=c(u);d!==u&&(vn("WebGLRenderer:",u,"not supported, using",d,"instead."),u=d);const h=n.logarithmicDepthBuffer===!0,f=n.reversedDepthBuffer===!0&&e.has("EXT_clip_control"),p=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),x=t.getParameter(t.MAX_VERTEX_TEXTURE_IMAGE_UNITS),v=t.getParameter(t.MAX_TEXTURE_SIZE),g=t.getParameter(t.MAX_CUBE_MAP_TEXTURE_SIZE),y=t.getParameter(t.MAX_VERTEX_ATTRIBS),_=t.getParameter(t.MAX_VERTEX_UNIFORM_VECTORS),N=t.getParameter(t.MAX_VARYING_VECTORS),k=t.getParameter(t.MAX_FRAGMENT_UNIFORM_VECTORS),A=x>0,M=t.getParameter(t.MAX_SAMPLES);return{isWebGL2:!0,getMaxAnisotropy:s,getMaxPrecision:c,textureFormatReadable:o,textureTypeReadable:l,precision:u,logarithmicDepthBuffer:h,reversedDepthBuffer:f,maxTextures:p,maxVertexTextures:x,maxTextureSize:v,maxCubemapSize:g,maxAttributes:y,maxVertexUniforms:_,maxVaryings:N,maxFragmentUniforms:k,vertexTextures:A,maxSamples:M}}function Zve(t){const e=this;let n=null,r=0,a=!1,s=!1;const o=new ih,l=new Hn,c={value:null,needsUpdate:!1};this.uniform=c,this.numPlanes=0,this.numIntersection=0,this.init=function(h,f){const p=h.length!==0||f||r!==0||a;return a=f,r=h.length,p},this.beginShadows=function(){s=!0,d(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(h,f){n=d(h,f,0)},this.setState=function(h,f,p){const x=h.clippingPlanes,v=h.clipIntersection,g=h.clipShadows,y=t.get(h);if(!a||x===null||x.length===0||s&&!g)s?d(null):u();else{const _=s?0:r,N=_*4;let k=y.clippingState||null;c.value=k,k=d(x,f,N,p);for(let A=0;A!==N;++A)k[A]=n[A];y.clippingState=k,this.numIntersection=v?this.numPlanes:0,this.numPlanes+=_}};function u(){c.value!==n&&(c.value=n,c.needsUpdate=r>0),e.numPlanes=r,e.numIntersection=0}function d(h,f,p,x){const v=h!==null?h.length:0;let g=null;if(v!==0){if(g=c.value,x!==!0||g===null){const y=p+v*4,_=f.matrixWorldInverse;l.getNormalMatrix(_),(g===null||g.length0){const u=new qbe(c.height);return u.fromEquirectangularTexture(t,o),e.set(o,u),o.addEventListener("dispose",a),n(u.texture,o.mapping)}else return null}}return o}function a(o){const l=o.target;l.removeEventListener("dispose",a);const c=e.get(l);c!==void 0&&(e.delete(l),c.dispose())}function s(){e=new WeakMap}return{get:r,dispose:s}}const vh=4,C8=[.125,.215,.35,.446,.526,.582],Wm=20,e0e=256,oy=new dY,k8=new $n;let fP=null,pP=0,gP=0,bP=!1;const t0e=new ft;let A8=class{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._sizeLods=[],this._sigmas=[],this._lodMeshes=[],this._backgroundBox=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._blurMaterial=null,this._ggxMaterial=null}fromScene(e,n=0,r=.1,a=100,s={}){const{size:o=256,position:l=t0e}=s;fP=this._renderer.getRenderTarget(),pP=this._renderer.getActiveCubeFace(),gP=this._renderer.getActiveMipmapLevel(),bP=this._renderer.xr.enabled,this._renderer.xr.enabled=!1,this._setSize(o);const c=this._allocateTargets();return c.depthBuffer=!0,this._sceneToCubeUV(e,r,a,c,l),n>0&&this._blur(c,0,0,n),this._applyPMREM(c),this._cleanup(c),c}fromEquirectangular(e,n=null){return this._fromTexture(e,n)}fromCubemap(e,n=null){return this._fromTexture(e,n)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=P8(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=M8(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose(),this._backgroundBox!==null&&(this._backgroundBox.geometry.dispose(),this._backgroundBox.material.dispose())}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._ggxMaterial!==null&&this._ggxMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e2?A:0,A,A),h.setRenderTarget(a),y&&h.render(v,c),h.render(e,c)}h.toneMapping=p,h.autoClear=f,e.background=_}_textureToCubeUV(e,n){const r=this._renderer,a=e.mapping===pb||e.mapping===gb;a?(this._cubemapMaterial===null&&(this._cubemapMaterial=P8()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=M8());const s=a?this._cubemapMaterial:this._equirectMaterial,o=this._lodMeshes[0];o.material=s;const l=s.uniforms;l.envMap.value=e;const c=this._cubeSize;tg(n,0,0,3*c,2*c),r.setRenderTarget(n),r.render(o,oy)}_applyPMREM(e){const n=this._renderer,r=n.autoClear;n.autoClear=!1;const a=this._lodMeshes.length;for(let s=1;s