<!-- SOLID-PLAYTIME · part 141 -->
ble===!1)return;if(A.layers.test(T.layers)&&(A.isMesh||A.isLine||A.isPoints)){if((A.castShadow||A.receiveShadow&&M===Yi)&&(!A.frustumCulled||i.intersectsObject(A))){A.modelViewMatrix.multiplyMatrices(w.matrixWorldInverse,A.matrixWorld);let V=e.update(A),k=A.material;if(Array.isArray(k)){let et=V.groups;for(let Z=0,at=et.length;Z<at;Z++){let W=et[Z],ht=k[W.materialIndex];if(ht&&ht.visible){let mt=m(A,ht,b,M);A.onBeforeShadow(t,A,T,w,V,mt,W),t.renderBufferDirect(w,null,V,mt,A,W),A.onAfterShadow(t,A,T,w,V,mt,W)}}}else if(k.visible){let et=m(A,k,b,M);A.onBeforeShadow(t,A,T,w,V,et,null),t.renderBufferDirect(w,null,V,et,A,null),A.onAfterShadow(t,A,T,w,V,et,null)}}}let O=A.children;for(let V=0,k=O.length;V<k;V++)x(O[V],T,w,b,M)}function S(A){A.target.removeEventListener("dispose",S);for(let w in c){let b=c[w],M=A.target.uuid;if(M in b)b[M].dispose(),delete b[M]}}}var m3={[gf]:vf,[yf]:Ef,[xf]:Mf,[Sc]:bf,[vf]:gf,[Ef]:yf,[Mf]:xf,[bf]:Sc};function U3(t,e){function n(){let P=!1,xt=new Le,Ut=null,Rt=new Le(0,0,0,0);return{setMask:function(ct){if(Ut!==ct&&!P)t.colorMask(ct,ct,ct,ct),Ut=ct},setLocked:function(ct){P=ct},setClear:function(ct,it,Ct,Jt,Me){if(Me===!0)ct*=Jt,it*=Jt,Ct*=Jt;if(xt.set(ct,it,Ct,Jt),Rt.equals(xt)===!1)t.clearColor(ct,it,Ct,Jt),Rt.copy(xt)},reset:function(){P=!1,Ut=null,Rt.set(-1,0,0,0)}}}function i(){let P=!1,xt=!1,Ut=null,Rt=null,ct=null;return{setReversed:function(it){if(xt!==it){let Ct=e.get("EXT_clip_control");if(it)Ct.clipControlEXT(Ct.LOWER_LEFT_EXT,Ct.ZERO_TO_ONE_EXT);else Ct.clipControlEXT(Ct.LOWER_LEFT_EXT,Ct.NEGATIVE_ONE_TO_ONE_EXT);xt=it;let Jt=ct;ct=null,this.setClear(Jt)}},getReversed:function(){return xt},setTest:function(it){if(it)Y(t.DEPTH_TEST);else yt(t.DEPTH_TEST)},setMask:function(it){if(Ut!==it&&!P)t.depthMask(it),Ut=it},setFunc:function(it){if(xt)it=m3[it];if(Rt!==it){switch(it){case gf:t.depthFunc(t.NEVER);break;case vf:t.depthFunc(t.ALWAYS);break;case yf:t.depthFunc(t.LESS);break;case Sc:t.depthFunc(t.LEQUAL);break;case xf:t.depthFunc(t.EQUAL);break;case bf:t.depthFunc(t.GEQUAL);break;case Ef:t.depthFunc(t.GREATER);break;case Mf:t.depthFunc(t.NOTEQUAL);break;default:t.depthFunc(t.LEQUAL)}Rt=it}},setLocked:function(it){P=it},setClear:function(it){if(ct!==it){if(xt)it=1-it;t.clearDepth(it),ct=it}},reset:function(){P=!1,Ut=null,Rt=null,ct=null,xt=!1}}}function s(){let P=!1,xt=null,Ut=null,Rt=null,ct=null,it=null,Ct=null,Jt=null,Me=null;return{setTest:function(fe){if(!P)if(fe)Y(t.STENCIL_TEST);else yt(t.STENCIL_TEST)},setMask:function(fe){if(xt!==fe&&!P)t.stencilMask(fe),xt=fe},setFunc:function(fe,I,lt){if(Ut!==fe||Rt!==I||ct!==lt)t.stencilFunc(fe,I,lt),Ut=fe,Rt=I,ct=lt},setOp:function(fe,I,lt){if(it!==fe||Ct!==I||Jt!==lt)t.stencilOp(fe,I,lt),it=fe,Ct=I,Jt=lt},setLocked:function(fe){P=fe},setClear:function(fe){if(Me!==fe)t.clearStencil(fe),Me=fe},reset:function(){P=!1,xt=null,Ut=null,Rt=null,ct=null,it=null,Ct=null,Jt=null,Me=null}}}let a=new n,r=new i,o=new s,l=new WeakMap,c=new WeakMap,u={},f={},h=new WeakMap,p=[],v=null,y=!1,U=null,d=null,g=null,m=null,x=null,S=null,A=null,T=new Xt(0,0,0),w=0,b=!1,M=null,R=null,O=null,V=null,k=null,et=t.getParameter(t.MAX_COMBINED_TEXTURE_IMAGE_UNITS),Z=!1,at=0,W=t.getParameter(t.VERSION);if(W.indexOf("WebGL")!==-1)at=parseFloat(/^WebGL (\d)/.exec(W)[1]),Z=at>=1;else if(W.indexOf("OpenGL ES")!==-1)at=parseFloat(/^OpenGL ES (\d)/.exec(W)[1]),Z=at>=2;let ht=null,mt={},q=t.getParameter(t.SCISSOR_BOX),dt=t.getParameter(t.VIEWPORT),Ft=new Le().fromArray(q),Et=new Le().fromArray(dt);function X(P,xt,Ut,Rt){let ct=new Uint8Array(4),it=t.createTexture();t.bindTexture(P,it),t.texParameteri(P,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(P,t.TEXTURE_MAG_FILTER,t.NEAREST);for(let Ct=0;Ct<Ut;Ct++)if(P===t.TEXTURE_3D||P===t.TEXTURE_2D_ARRAY)t.texImage3D(xt,0,t.RGBA,1,1,Rt,0,t.RGBA,t.UNSIGNED_BYTE,ct);else t.texImage2D(xt+Ct,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,ct);return it}let ot={};ot[t.TEXTURE_2D]=X(t.TEXTURE_2D,t.TEXTURE_2D,1),ot[t.TEXTURE_CUBE_MAP]=X(t.TEXTURE_CUBE_MAP,t.TEXTURE_CUBE_MAP_POSITIVE_X,6),ot[t.TEXTURE_2D_ARRAY]=X(t.TEXTURE_2D_ARRAY,t.TEXTURE_2D_ARRAY,1,1),ot[t.TEXTURE_3D]=X(t.TEXTURE_3D,t.TEXTURE_3D,1,1),a.setClear(0,0,0,1),r.setClear(1),o.setClear(0),Y(t.DEPTH_TEST),r.setFunc(Sc),St(!1),Ue(wm),Y(t.CULL_FACE),kt(ba);function Y(P){if(u[P]!==!0)t.enable(P),u[P]=!0}function yt(P){if(u[P]!==!1)t.disable(P),u[P]=!1}function Ht(P,xt){if(f[P]!==xt){if(t.bindFramebuffer(P,xt),f[P]=xt,P===t.DRAW_FRAMEBUFFER)f[t.FRAMEBUFFER]=xt;if(P===t.FRAMEBUFFER)f[t.DRAW_FRAMEBUFFER]=xt;return!0}return!1}function vt(P,xt){let Ut=p,Rt=!1;if(P){if(Ut=h.get(xt),Ut===void 0)Ut=[],h.set(xt,Ut);let ct=P.textures;if(Ut.length!==ct.length||Ut[0]!==t.COLOR_ATTACHMENT0){for(let it=0,Ct=ct.length;it<Ct;it++)Ut[it]=t.COLOR_ATTACHMENT0+it;Ut.length=ct.length,Rt=!0}}else if(Ut[0]!==t.BACK)Ut[0]=t.BACK,Rt=!0;if(Rt)t.drawBuffers(Ut)}function ye(P){if(v!==P)return t.useProgram(P),v=P,!0;return!1}let D={[ko]:t.FUNC_ADD,[Ob]:t.FUNC_SUBTRACT,