<!-- SOLID-PLAYTIME · part 135 -->
otropy?"#define USE_ANISOTROPY":"",n.anisotropyMap?"#define USE_ANISOTROPYMAP":"",n.clearcoat?"#define USE_CLEARCOAT":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.dispersion?"#define USE_DISPERSION":"",n.iridescence?"#define USE_IRIDESCENCE":"",n.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",n.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",n.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.alphaTest?"#define USE_ALPHATEST":"",n.alphaHash?"#define USE_ALPHAHASH":"",n.sheen?"#define USE_SHEEN":"",n.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.vertexTangents&&n.flatShading===!1?"#define USE_TANGENT":"",n.vertexColors||n.instancingColor||n.batchingColor?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUv1s?"#define USE_UV1":"",n.vertexUv2s?"#define USE_UV2":"",n.vertexUv3s?"#define USE_UV3":"",n.pointsUvs?"#define USE_POINTS_UV":"",n.gradientMap?"#define USE_GRADIENTMAP":"",n.flatShading?"#define FLAT_SHADED":"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+l:"",n.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",n.numLightProbes>0?"#define USE_LIGHT_PROBES":"",n.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",n.decodeVideoTextureEmissive?"#define DECODE_VIDEO_TEXTURE_EMISSIVE":"",n.logarithmicDepthBuffer?"#define USE_LOGARITHMIC_DEPTH_BUFFER":"",n.reversedDepthBuffer?"#define USE_REVERSED_DEPTH_BUFFER":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",n.toneMapping!==Ps?"#define TONE_MAPPING":"",n.toneMapping!==Ps?jt.tonemapping_pars_fragment:"",n.toneMapping!==Ps?Ow("toneMapping",n.toneMapping):"",n.dithering?"#define DITHERING":"",n.opaque?"#define OPAQUE":"",jt.colorspace_pars_fragment,Bw("linearToOutputTexel",n.outputColorSpace),zw(),n.useDepthPacking?"#define DEPTH_PACKING "+n.depthPacking:"",`
`].filter(Xc).join(`
`);if(r=ZU(r),r=rM(r,n),r=oM(r,n),o=ZU(o),o=rM(o,n),o=oM(o,n),r=lM(r),o=lM(o),n.isRawShaderMaterial!==!0)g=`#version 300 es
`,U=[p,"#define attribute in","#define varying out","#define texture2D texture"].join(`
`)+`
`+U,d=["#define varying in",n.glslVersion===UU?"":"layout(location = 0) out highp vec4 pc_fragColor;",n.glslVersion===UU?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join(`
`)+`
`+d;let m=g+U+r,x=g+d+o,S=iM(s,s.VERTEX_SHADER,m),A=iM(s,s.FRAGMENT_SHADER,x);if(s.attachShader(y,S),s.attachShader(y,A),n.index0AttributeName!==void 0)s.bindAttribLocation(y,0,n.index0AttributeName);else if(n.morphTargets===!0)s.bindAttribLocation(y,0,"position");s.linkProgram(y);function T(R){if(t.debug.checkShaderErrors){let O=s.getProgramInfoLog(y)||"",V=s.getShaderInfoLog(S)||"",k=s.getShaderInfoLog(A)||"",et=O.trim(),Z=V.trim(),at=k.trim(),W=!0,ht=!0;if(s.getProgramParameter(y,s.LINK_STATUS)===!1)if(W=!1,typeof t.debug.onShaderError==="function")t.debug.onShaderError(s,y,S,A);else{let mt=aM(s,S,"vertex"),q=aM(s,A,"fragment");console.error("THREE.WebGLProgram: Shader Error "+s.getError()+" - VALIDATE_STATUS "+s.getProgramParameter(y,s.VALIDATE_STATUS)+`

Material Name: `+R.name+`
Material Type: `+R.type+`

Program Info Log: `+et+`
`+mt+`
`+q)}else if(et!=="")console.warn("THREE.WebGLProgram: Program Info Log:",et);else if(Z===""||at==="")ht=!1;if(ht)R.diagnostics={runnable:W,programLog:et,vertexShader:{log:Z,prefix:U},fragmentShader:{log:at,prefix:d}}}s.deleteShader(S),s.deleteShader(A),w=new Gc(s,y),b=Xw(s,y)}let w;this.getUniforms=function(){if(w===void 0)T(this);return w};let b;this.getAttributes=function(){if(b===void 0)T(this);return b};let M=n.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){if(M===!1)M=s.getProgramParameter(y,Hw);return M},this.destroy=function(){i.releaseStatesOfProgram(this),s.deleteProgram(y),this.program=void 0},this.type=n.shaderType,this.name=n.shaderName,this.id=Iw++,this.cacheKey=e,this.usedTimes=1,this.program=y,this.vertexShader=S,this.fragmentShader=A,this}var e3=0;class bM{constructor()