<!-- SOLID-PLAYTIME · part 130 -->
sOfGeometry(h),h.isInstancedBufferGeometry===!0)delete h._maxInstanceCount;n.memory.geometries--}function o(f,h){if(s[h.id]===!0)return h;return h.addEventListener("dispose",r),s[h.id]=!0,n.memory.geometries++,h}function l(f){let h=f.attributes;for(let p in h)e.update(h[p],t.ARRAY_BUFFER)}function c(f){let h=[],p=f.index,v=f.attributes.position,y=0;if(p!==null){let g=p.array;y=p.version;for(let m=0,x=g.length;m<x;m+=3){let S=g[m+0],A=g[m+1],T=g[m+2];h.push(S,A,A,T,T,S)}}else if(v!==void 0){let g=v.array;y=v.version;for(let m=0,x=g.length/3-1;m<x;m+=3){let S=m+0,A=m+1,T=m+2;h.push(S,A,A,T,T,S)}}else return;let U=new((vU(h))?Hf:Pf)(h,1);U.version=y;let d=a.get(f);if(d)e.remove(d);a.set(f,U)}function u(f){let h=a.get(f);if(h){let p=f.index;if(p!==null){if(h.version<p.version)c(f)}}else c(f);return a.get(f)}return{get:o,update:l,getWireframeAttribute:u}}function XR(t,e,n){let i;function s(h){i=h}let a,r;function o(h){a=h.type,r=h.bytesPerElement}function l(h,p){t.drawElements(i,p,a,h*r),n.update(p,i,1)}function c(h,p,v){if(v===0)return;t.drawElementsInstanced(i,p,a,h*r,v),n.update(p,i,v)}function u(h,p,v){if(v===0)return;e.get("WEBGL_multi_draw").multiDrawElementsWEBGL(i,p,0,a,h,0,v);let U=0;for(let d=0;d<v;d++)U+=p[d];n.update(U,i,1)}function f(h,p,v,y){if(v===0)return;let U=e.get("WEBGL_multi_draw");if(U===null)for(let d=0;d<h.length;d++)c(h[d]/r,p[d],y[d]);else{U.multiDrawElementsInstancedWEBGL(i,p,0,a,h,0,y,0,v);let d=0;for(let g=0;g<v;g++)d+=p[g]*y[g];n.update(d,i,1)}}this.setMode=s,this.setIndex=o,this.render=l,this.renderInstances=c,this.renderMultiDraw=u,this.renderMultiDrawInstances=f}function GR(t){let e={geometries:0,textures:0},n={frame:0,calls:0,triangles:0,points:0,lines:0};function i(a,r,o){switch(n.calls++,r){case t.TRIANGLES:n.triangles+=o*(a/3);break;case t.LINES:n.lines+=o*(a/2);break;case t.LINE_STRIP:n.lines+=o*(a-1);break;case t.LINE_LOOP:n.lines+=o*a;break;case t.POINTS:n.points+=o*a;break;default:console.error("THREE.WebGLInfo: Unknown draw mode:",r);break}}function s(){n.calls=0,n.triangles=0,n.points=0,n.lines=0}return{memory:e,render:n,programs:null,autoReset:!0,reset:s,update:i}}function $R(t,e,n){let i=new WeakMap,s=new Le;function a(r,o,l){let c=r.morphTargetInfluences,u=o.morphAttributes.position||o.morphAttributes.normal||o.morphAttributes.color,f=u!==void 0?u.length:0,h=i.get(o);if(h===void 0||h.count!==f){let b=function(){T.dispose(),i.delete(o),o.removeEventListener("dispose",b)};if(h!==void 0)h.texture.dispose();let p=o.morphAttributes.position!==void 0,v=o.morphAttributes.normal!==void 0,y=o.morphAttributes.color!==void 0,U=o.morphAttributes.position||[],d=o.morphAttributes.normal||[],g=o.morphAttributes.color||[],m=0;if(p===!0)m=1;if(v===!0)m=2;if(y===!0)m=3;let x=o.attributes.position.count*m,S=1;if(x>e.maxTextureSize)S=Math.ceil(x/e.maxTextureSize),x=e.maxTextureSize;let A=new Float32Array(x*S*4*f),T=new Df(A,x,S,f);T.type=Ma,T.needsUpdate=!0;let w=m*4;for(let M=0;M<f;M++){let R=U[M],O=d[M],V=g[M],k=x*S*4*M;for(let et=0;et<R.count;et++){let Z=et*w;if(p===!0)s.fromBufferAttribute(R,et),A[k+Z+0]=s.x,A[k+Z+1]=s.y,A[k+Z+2]=s.z,A[k+Z+3]=0;if(v===!0)s.fromBufferAttribute(O,et),A[k+Z+4]=s.x,A[k+Z+5]=s.y,A[k+Z+6]=s.z,A[k+Z+7]=0;if(y===!0)s.fromBufferAttribute(V,et),A[k+Z+8]=s.x,A[k+Z+9]=s.y,A[k+Z+10]=s.z,A[k+Z+11]=V.itemSize===4?s.w:1}}h={count:f,texture:T,size:new Nt(x,S)},i.set(o,h),o.addEventListener("dispose",b)}if(r.isInstancedMesh===!0&&r.morphTexture!==null)l.getUniforms().setValue(t,"morphTexture",r.morphTexture,n);else{let p=0;for(let y=0;y<c.length;y++)p+=c[y];let v=o.morphTargetsRelative?1:1-p;l.getUniforms().setValue(t,"morphTargetBaseInfluence",v),l.getUniforms().setValue(t,"morphTargetInfluences",c)}l.getUniforms().setValue(t,"morphTargetsTexture",h.texture,n),l.getUniforms().setValue(t,"morphTargetsTextureSize",h.size)}return{update:a}}function JR(t,e,n,i){let s=new WeakMap;function a(l){let c=i.render.frame,u=l.geometry,f=e.get(l,u);if(s.get(f)!==c)e.update(f),s.set(f,c);if(l.isInstancedMesh){if(l.hasEventListener("dispose",o)===!1)l.addEventListener("dispose",o);if(s.get(l)!==c){if(n.update(l.instanceMatrix,t.ARRAY_BUFFER),l.instanceColor!==null)n.update(l.instanceColor,t.ARRAY_BUFFER);s.set(l,c)}}if(l.isSkinnedMesh){let h=l.skeleton;if(s.get(h)!==c)h.update(),s.set(h,c)}return f}function r(){s=new WeakMap}function o(l){let c=l.target;if(c.removeEventListener("dispose",o),n.remove(c.instanceMatrix),c.instanceColor!==null)n.remove(c.instanceColor)}return{update:a,dispose:r}}var pM=new bn,qE=new Bf(1,1),mM=new Df,UM=new bU,gM=new Ff,ZE=[],KE=[],jE=new Float32Array(16),tM=new Float32Array(9),eM=new Float32Array(4);function il(t,e,n){let i=t[0];if(i<=0||i>0)return t;let s=e*n,a=ZE[s];if(a===void 0)a=new Float32Array(s),ZE[s]=a;if(e!==0){i.toArray(a,0);for(let r=1,o=0;r!==e;++r)o+=n,t[r].toArray(a,o)}return a}function pn(t,e){if(t.length!==e.length)return!1;for(let n=0,i=t.length;n<i;n++)if(t[n]!==e[n])return!1;return!0}function mn