'use strict';var a7_0x51ebec=a7_0x4956;function a7_0x429c(){var _0x1699bc=['mode','NAME_PHYSICSENGINE','clickInfo','getEyeParameters','Textures\x20type\x20does\x20not\x20support\x20cascades.','_cache','_scene','textureInfos','isPointerCaptured','binding','_videoSampler','Sampler','furVertexShader','autoClear','POSITIVE_INFINITY','mat4','_repeatableContentAnchorIndex','TEXTUREFORMAT_R','_getVRDisplaysAsync','vrdisplaydisconnect','\x20=\x20','removePipeline','WGSL','bufferNames','TEXTURETYPE_UNSIGNED_INT_24_8','onSizeChangedObservable','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0aattribute\x20vec3\x20normal;\x0aattribute\x20vec2\x20uv;\x0auniform\x20mat4\x20projMatrix;\x0avarying\x20vec2\x20vDecalTC;\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#include<instancesDeclaration>\x0avoid\x20main(void)\x20{\x0avec3\x20positionUpdated=position;\x0avec3\x20normalUpdated=normal;\x0a#include<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(positionUpdated,1.0);\x0amat3\x20normWorldSM=mat3(finalWorld);\x0avec3\x20vNormalW;\x0a#if\x20defined(INSTANCES)\x20&&\x20defined(THIN_INSTANCES)\x0avNormalW=normalUpdated/vec3(dot(normWorldSM[0],normWorldSM[0]),dot(normWorldSM[1],normWorldSM[1]),dot(normWorldSM[2],normWorldSM[2]));\x0avNormalW=normalize(normWorldSM*vNormalW);\x0a#else\x0a#ifdef\x20NONUNIFORMSCALING\x0anormWorldSM=transposeMat3(inverseMat3(normWorldSM));\x0a#endif\x0avNormalW=normalize(normWorldSM*normalUpdated);\x0a#endif\x0avec3\x20normalView=normalize((projMatrix*vec4(vNormalW,0.0)).xyz);\x0avec3\x20decalTC=(projMatrix*worldPos).xyz;\x0avDecalTC=decalTC.xy;\x0agl_Position=vec4(uv*2.0-1.0,normalView.z>0.0\x20?\x202.\x20:\x20decalTC.z,1.0);\x0a}\x0a','_vertexArrayObject','precision\x20mediump\x20float','reflectionColor','updateFloat','BABYLON.ReflectionTextureBaseBlock','getAspectRatio','output','_cubeSamplerName','_deleteComputePipelineContext','anaglyphPixelShader','screenSpaceReflection2PixelShader','viewMatrix','_opDepthFail','RG8Snorm','_onPointerMove','Load','uniform\x20sampler2D\x20textureSampler;\x0auniform\x20int\x20maxFilterSize;\x0auniform\x20vec2\x20blurDir;\x0auniform\x20float\x20projectedParticleConstant;\x0auniform\x20float\x20depthThreshold;\x0avarying\x20vec2\x20vUV;\x0avoid\x20main(void)\x20{\x0afloat\x20depth=textureLod(textureSampler,vUV,0.).x;\x0aif\x20(depth>=1e6\x20||\x20depth<=0.)\x20{\x0aglFragColor=vec4(vec3(depth),1.);\x0areturn;\x0a}\x0aint\x20filterSize=min(maxFilterSize,int(ceil(projectedParticleConstant/depth)));\x0afloat\x20sigma=float(filterSize)/3.0;\x0afloat\x20two_sigma2=2.0*sigma*sigma;\x0afloat\x20sigmaDepth=depthThreshold/3.0;\x0afloat\x20two_sigmaDepth2=2.0*sigmaDepth*sigmaDepth;\x0afloat\x20sum=0.;\x0afloat\x20wsum=0.;\x0afloat\x20sumVel=0.;\x0afor\x20(int\x20x=-filterSize;\x20x<=filterSize;\x20++x)\x20{\x0avec2\x20coords=vec2(x);\x0avec2\x20sampleDepthVel=textureLod(textureSampler,vUV+coords*blurDir,0.).rg;\x0afloat\x20r=dot(coords,coords);\x0afloat\x20w=exp(-r/two_sigma2);\x0afloat\x20rDepth=sampleDepthVel.r-depth;\x0afloat\x20wd=exp(-rDepth*rDepth/two_sigmaDepth2);\x0asum+=sampleDepthVel.r*w*wd;\x0asumVel+=sampleDepthVel.g*w*wd;\x0awsum+=w*wd;\x0a}\x0aglFragColor=vec4(sum/wsum,sumVel/wsum,0.,1.);\x0a}\x0a','uniform','_arePrePassDirty','directionRandomizer','_preProcessors','depthTest','meshInstancesCount','blendColor','precision\x20highp\x20float;uniform\x20vec4\x20vEyePosition;uniform\x20vec4\x20vDiffuseColor;varying\x20vec3\x20vPositionW;uniform\x20float\x20time;uniform\x20float\x20speed;uniform\x20float\x20movingSpeed;uniform\x20vec3\x20fogColor;uniform\x20sampler2D\x20noiseTexture;uniform\x20float\x20fogDensity;varying\x20float\x20noise;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0]\x0a#include<__decl__lightFragment>[1]\x0a#include<__decl__lightFragment>[2]\x0a#include<__decl__lightFragment>[3]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;uniform\x20sampler2D\x20diffuseSampler;uniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0afloat\x20random(\x20vec3\x20scale,float\x20seed\x20){return\x20fract(\x20sin(\x20dot(\x20gl_FragCoord.xyz+seed,scale\x20)\x20)*43758.5453+seed\x20)\x20;}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);vec4\x20baseColor=vec4(1.,1.,1.,1.);vec3\x20diffuseColor=vDiffuseColor.rgb;float\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20DIFFUSE\x0avec4\x20noiseTex=texture2D(\x20noiseTexture,vDiffuseUV\x20);vec2\x20T1=vDiffuseUV+vec2(\x201.5,-1.5\x20)*time\x20*0.02;vec2\x20T2=vDiffuseUV+vec2(\x20-0.5,2.0\x20)*time*0.01*speed;T1.x+=noiseTex.x*2.0;T1.y+=noiseTex.y*2.0;T2.x-=noiseTex.y*0.2+time*0.001*movingSpeed;T2.y+=noiseTex.z*0.2+time*0.002*movingSpeed;float\x20p=texture2D(\x20noiseTexture,T1*3.0\x20).a;vec4\x20lavaColor=texture2D(\x20diffuseSampler,T2*4.0);vec4\x20temp=lavaColor*(\x20vec4(\x20p,p,p,p\x20)*2.\x20)+(\x20lavaColor*lavaColor-0.1\x20);baseColor=temp;float\x20depth=gl_FragCoord.z*4.0;const\x20float\x20LOG2=1.442695;float\x20fogFactor=exp2(-fogDensity*fogDensity*depth*depth*LOG2\x20);fogFactor=1.0-clamp(\x20fogFactor,0.0,1.0\x20);baseColor=mix(\x20baseColor,vec4(\x20fogColor,baseColor.w\x20),fogFactor\x20);diffuseColor=baseColor.rgb;\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include<depthPrePass>\x0abaseColor.rgb*=vDiffuseInfos.y;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0a#ifdef\x20UNLIT\x0avec3\x20diffuseBase=vec3(1.,1.,1.);\x0a#else\x0avec3\x20diffuseBase=vec3(0.,0.,0.);lightingInfo\x20info;float\x20shadow=1.;float\x20glossiness=0.;\x0a#include<lightFragment>[0]\x0a#include<lightFragment>[1]\x0a#include<lightFragment>[2]\x0a#include<lightFragment>[3]\x0a#endif\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;vec4\x20color=vec4(finalDiffuse,alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','struct\x20FragmentInputs\x20{\x0a\x20\x20@builtin(position)\x20position\x20:\x20vec4<f32>,\x0a','vAng','TEXTUREFORMAT_LUMINANCE_ALPHA','depthValue','uniformRegexp','simpleVertexShader','useInstancing','backgroundVertexDeclaration','matricesWeights','shadersRepository','left','_isPointerSwiping','slice','_lines','pbrBlockLightmapInit','#ifdef\x20LIGHTMAP\x0avec4\x20lightmapColor=texture2D(lightmapSampler,vLightmapUV+uvOffset);\x0a#ifdef\x20RGBDLIGHTMAP\x0alightmapColor.rgb=fromRGBD(lightmapColor);\x0a#endif\x0a#ifdef\x20GAMMALIGHTMAP\x0alightmapColor.rgb=toLinearSpace(lightmapColor.rgb);\x0a#endif\x0alightmapColor.rgb*=vLightmapInfos.y;\x0a#endif\x0a','_tintWASM','engine','updateTexture','attributeNamesFromEffect','_ExtractOperation','max','ONE_MINUS_DST_COLOR','Engine\x20does\x20not\x20have\x20gl\x20rendering\x20context.','float\x20depthSM=vDepthMetricSM;\x0a#if\x20defined(SM_DEPTHCLAMP)\x20&&\x20SM_DEPTHCLAMP==1\x0a#if\x20SM_USEDISTANCE==1\x0adepthSM=(length(vPositionWSM-lightDataSM)+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;\x0a#else\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0adepthSM=(-zSM+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;\x0a#else\x0adepthSM=(zSM+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;\x0a#endif\x0a#endif\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0agl_FragDepth=clamp(1.0-depthSM,0.0,1.0);\x0a#else\x0agl_FragDepth=clamp(depthSM,0.0,1.0);\x20\x0a#endif\x0a#elif\x20SM_USEDISTANCE==1\x0adepthSM=(length(vPositionWSM-lightDataSM)+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;\x0a#endif\x0a#if\x20SM_ESM==1\x0adepthSM=clamp(exp(-min(87.,biasAndScaleSM.z*depthSM)),0.,1.);\x0a#endif\x0a#if\x20SM_FLOAT==1\x0agl_FragColor=vec4(depthSM,1.0,1.0,1.0);\x0a#else\x0agl_FragColor=pack(depthSM);\x0a#endif\x0areturn;','observer','setFloatArray3','drawBuffersExtension','RGB_INTEGER\x20format\x20not\x20supported\x20in\x20WebGPU','bindGroupEntries','bool\x20testLightingForSSS(float\x20diffusionProfile)\x0a{\x0areturn\x20diffusionProfile<1.;\x0a}','drawArraysType','REFLECTIONMAP_3D','TEXTUREFORMAT_RGB_INTEGER\x20format\x20not\x20supported\x20in\x20WebGPU','reset','vec3','vFogInfos','_renderForCamera','detachControl','onApplyObservable','targetTypes','createShaderModule','vec3\x20finalDiffuse=diffuseBase;\x0afinalDiffuse*=surfaceAlbedo.rgb;\x0afinalDiffuse=max(finalDiffuse,0.0);\x0afinalDiffuse*=vLightingIntensity.x;\x0avec3\x20finalAmbient=vAmbientColor;\x0afinalAmbient*=surfaceAlbedo.rgb;\x0avec3\x20finalEmissive=vEmissiveColor;\x0a#ifdef\x20EMISSIVE\x0avec3\x20emissiveColorTex=texture2D(emissiveSampler,vEmissiveUV+uvOffset).rgb;\x0a#ifdef\x20GAMMAEMISSIVE\x0afinalEmissive*=toLinearSpace(emissiveColorTex.rgb);\x0a#else\x0afinalEmissive*=emissiveColorTex.rgb;\x0a#endif\x0afinalEmissive*=\x20vEmissiveInfos.y;\x0a#endif\x0afinalEmissive*=vLightingIntensity.y;\x0a#ifdef\x20AMBIENT\x0avec3\x20ambientOcclusionForDirectDiffuse=mix(vec3(1.),aoOut.ambientOcclusionColor,vAmbientInfos.w);\x0a#else\x0avec3\x20ambientOcclusionForDirectDiffuse=aoOut.ambientOcclusionColor;\x0a#endif\x0afinalAmbient*=aoOut.ambientOcclusionColor;\x0afinalDiffuse*=ambientOcclusionForDirectDiffuse;\x0a','_debugInsertMarker','copyTo','updateMatrix3x3','_generateStencilBuffer','SNAPSHOTRENDERING_STANDARD','createEffect','scene','#ifdef','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20screenSize;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec4\x20colorDepth=vec4(0.0);\x0afor\x20(int\x20x=-OFFSET;\x20x<=OFFSET;\x20x++)\x0afor\x20(int\x20y=-OFFSET;\x20y<=OFFSET;\x20y++)\x0acolorDepth+=texture2D(textureSampler,vUV+vec2(x,y)/screenSize);\x0agl_FragColor=(colorDepth/float((OFFSET*2+1)*(OFFSET*2+1)));\x0a}','DEPTH_COMPONENT16','TEXTURETYPE_FLOAT_32_UNSIGNED_INT_24_8_REV','QueueNewFrame','effect','motionBlur','pbrDirectLightingFunctions','_partialLoadFile','useReverseDepthBuffer','#version\x20300\x20es\x0a#define\x20PI\x203.14159\x0auniform\x20float\x20currentCount;\x0auniform\x20float\x20timeDelta;\x0auniform\x20float\x20stopFactor;\x0a#ifndef\x20LOCAL\x0auniform\x20mat4\x20emitterWM;\x0a#endif\x0auniform\x20vec2\x20lifeTime;\x0auniform\x20vec2\x20emitPower;\x0auniform\x20vec2\x20sizeRange;\x0auniform\x20vec4\x20scaleRange;\x0a#ifndef\x20COLORGRADIENTS\x0auniform\x20vec4\x20color1;\x0auniform\x20vec4\x20color2;\x0a#endif\x0auniform\x20vec3\x20gravity;\x0auniform\x20sampler2D\x20randomSampler;\x0auniform\x20sampler2D\x20randomSampler2;\x0auniform\x20vec4\x20angleRange;\x0a#ifdef\x20BOXEMITTER\x0auniform\x20vec3\x20direction1;\x0auniform\x20vec3\x20direction2;\x0auniform\x20vec3\x20minEmitBox;\x0auniform\x20vec3\x20maxEmitBox;\x0a#endif\x0a#ifdef\x20POINTEMITTER\x0auniform\x20vec3\x20direction1;\x0auniform\x20vec3\x20direction2;\x0a#endif\x0a#ifdef\x20HEMISPHERICEMITTER\x0auniform\x20float\x20radius;\x0auniform\x20float\x20radiusRange;\x0auniform\x20float\x20directionRandomizer;\x0a#endif\x0a#ifdef\x20SPHEREEMITTER\x0auniform\x20float\x20radius;\x0auniform\x20float\x20radiusRange;\x0a#ifdef\x20DIRECTEDSPHEREEMITTER\x0auniform\x20vec3\x20direction1;\x0auniform\x20vec3\x20direction2;\x0a#else\x0auniform\x20float\x20directionRandomizer;\x0a#endif\x0a#endif\x0a#ifdef\x20CYLINDEREMITTER\x0auniform\x20float\x20radius;\x0auniform\x20float\x20height;\x0auniform\x20float\x20radiusRange;\x0a#ifdef\x20DIRECTEDCYLINDEREMITTER\x0auniform\x20vec3\x20direction1;\x0auniform\x20vec3\x20direction2;\x0a#else\x0auniform\x20float\x20directionRandomizer;\x0a#endif\x0a#endif\x0a#ifdef\x20CONEEMITTER\x0auniform\x20vec2\x20radius;\x0auniform\x20float\x20coneAngle;\x0auniform\x20vec2\x20height;\x0auniform\x20float\x20directionRandomizer;\x0a#endif\x0ain\x20vec3\x20position;\x0a#ifdef\x20CUSTOMEMITTER\x0ain\x20vec3\x20initialPosition;\x0a#endif\x0ain\x20float\x20age;\x0ain\x20float\x20life;\x0ain\x20vec4\x20seed;\x0ain\x20vec3\x20size;\x0a#ifndef\x20COLORGRADIENTS\x0ain\x20vec4\x20color;\x0a#endif\x0ain\x20vec3\x20direction;\x0a#ifndef\x20BILLBOARD\x0ain\x20vec3\x20initialDirection;\x0a#endif\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0ain\x20float\x20angle;\x0a#else\x0ain\x20vec2\x20angle;\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x0ain\x20float\x20cellIndex;\x0a#ifdef\x20ANIMATESHEETRANDOMSTART\x0ain\x20float\x20cellStartOffset;\x0a#endif\x0a#endif\x0a#ifdef\x20NOISE\x0ain\x20vec3\x20noiseCoordinates1;\x0ain\x20vec3\x20noiseCoordinates2;\x0a#endif\x0aout\x20vec3\x20outPosition;\x0a#ifdef\x20CUSTOMEMITTER\x0aout\x20vec3\x20outInitialPosition;\x0a#endif\x0aout\x20float\x20outAge;\x0aout\x20float\x20outLife;\x0aout\x20vec4\x20outSeed;\x0aout\x20vec3\x20outSize;\x0a#ifndef\x20COLORGRADIENTS\x0aout\x20vec4\x20outColor;\x0a#endif\x0aout\x20vec3\x20outDirection;\x0a#ifndef\x20BILLBOARD\x0aout\x20vec3\x20outInitialDirection;\x0a#endif\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0aout\x20float\x20outAngle;\x0a#else\x0aout\x20vec2\x20outAngle;\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x0aout\x20float\x20outCellIndex;\x0a#ifdef\x20ANIMATESHEETRANDOMSTART\x0aout\x20float\x20outCellStartOffset;\x0a#endif\x0a#endif\x0a#ifdef\x20NOISE\x0aout\x20vec3\x20outNoiseCoordinates1;\x0aout\x20vec3\x20outNoiseCoordinates2;\x0a#endif\x0a#ifdef\x20SIZEGRADIENTS\x0auniform\x20sampler2D\x20sizeGradientSampler;\x0a#endif\x20\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0auniform\x20sampler2D\x20angularSpeedGradientSampler;\x0a#endif\x20\x0a#ifdef\x20VELOCITYGRADIENTS\x0auniform\x20sampler2D\x20velocityGradientSampler;\x0a#endif\x0a#ifdef\x20LIMITVELOCITYGRADIENTS\x0auniform\x20sampler2D\x20limitVelocityGradientSampler;\x0auniform\x20float\x20limitVelocityDamping;\x0a#endif\x0a#ifdef\x20DRAGGRADIENTS\x0auniform\x20sampler2D\x20dragGradientSampler;\x0a#endif\x0a#ifdef\x20NOISE\x0auniform\x20vec3\x20noiseStrength;\x0auniform\x20sampler2D\x20noiseSampler;\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x0auniform\x20vec4\x20cellInfos;\x0a#endif\x0avec3\x20getRandomVec3(float\x20offset)\x20{\x0areturn\x20texture(randomSampler2,vec2(float(gl_VertexID)*offset/currentCount,0)).rgb;\x0a}\x0avec4\x20getRandomVec4(float\x20offset)\x20{\x0areturn\x20texture(randomSampler,vec2(float(gl_VertexID)*offset/currentCount,0));\x0a}\x0avoid\x20main()\x20{\x0afloat\x20newAge=age+timeDelta;\x20\x0aif\x20(newAge>=life\x20&&\x20stopFactor\x20!=\x200.)\x20{\x0avec3\x20newPosition;\x0avec3\x20newDirection;\x0avec4\x20randoms=getRandomVec4(seed.x);\x0aoutLife=lifeTime.x+(lifeTime.y-lifeTime.x)*randoms.r;\x0aoutAge=newAge-life;\x0aoutSeed=seed;\x0a#ifdef\x20SIZEGRADIENTS\x20\x0aoutSize.x=texture(sizeGradientSampler,vec2(0,0)).r;\x0a#else\x0aoutSize.x=sizeRange.x+(sizeRange.y-sizeRange.x)*randoms.g;\x0a#endif\x0aoutSize.y=scaleRange.x+(scaleRange.y-scaleRange.x)*randoms.b;\x0aoutSize.z=scaleRange.z+(scaleRange.w-scaleRange.z)*randoms.a;\x20\x0a#ifndef\x20COLORGRADIENTS\x0aoutColor=color1+(color2-color1)*randoms.b;\x0a#endif\x0a#ifndef\x20ANGULARSPEEDGRADIENTS\x20\x0aoutAngle.y=angleRange.x+(angleRange.y-angleRange.x)*randoms.a;\x0aoutAngle.x=angleRange.z+(angleRange.w-angleRange.z)*randoms.r;\x0a#else\x0aoutAngle=angleRange.z+(angleRange.w-angleRange.z)*randoms.r;\x0a#endif\x20\x0a#ifdef\x20POINTEMITTER\x0avec3\x20randoms2=getRandomVec3(seed.y);\x0avec3\x20randoms3=getRandomVec3(seed.z);\x0anewPosition=vec3(0,0,0);\x0anewDirection=direction1+(direction2-direction1)*randoms3;\x0a#elif\x20defined(BOXEMITTER)\x0avec3\x20randoms2=getRandomVec3(seed.y);\x0avec3\x20randoms3=getRandomVec3(seed.z);\x0anewPosition=minEmitBox+(maxEmitBox-minEmitBox)*randoms2;\x0anewDirection=direction1+(direction2-direction1)*randoms3;\x20\x0a#elif\x20defined(HEMISPHERICEMITTER)\x0avec3\x20randoms2=getRandomVec3(seed.y);\x0avec3\x20randoms3=getRandomVec3(seed.z);\x0afloat\x20phi=2.0*PI*randoms2.x;\x0afloat\x20theta=acos(2.0*randoms2.y-1.0);\x0afloat\x20randX=cos(phi)*sin(theta);\x0afloat\x20randY=cos(theta);\x0afloat\x20randZ=sin(phi)*sin(theta);\x0anewPosition=(radius-(radius*radiusRange*randoms2.z))*vec3(randX,abs(randY),randZ);\x0anewDirection=newPosition+directionRandomizer*randoms3;\x20\x0a#elif\x20defined(SPHEREEMITTER)\x0avec3\x20randoms2=getRandomVec3(seed.y);\x0avec3\x20randoms3=getRandomVec3(seed.z);\x0afloat\x20phi=2.0*PI*randoms2.x;\x0afloat\x20theta=acos(2.0*randoms2.y-1.0);\x0afloat\x20randX=cos(phi)*sin(theta);\x0afloat\x20randY=cos(theta);\x0afloat\x20randZ=sin(phi)*sin(theta);\x0anewPosition=(radius-(radius*radiusRange*randoms2.z))*vec3(randX,randY,randZ);\x0a#ifdef\x20DIRECTEDSPHEREEMITTER\x0anewDirection=normalize(direction1+(direction2-direction1)*randoms3);\x0a#else\x0anewDirection=normalize(newPosition+directionRandomizer*randoms3);\x0a#endif\x0a#elif\x20defined(CYLINDEREMITTER)\x0avec3\x20randoms2=getRandomVec3(seed.y);\x0avec3\x20randoms3=getRandomVec3(seed.z);\x0afloat\x20yPos=(randoms2.x-0.5)*height;\x0afloat\x20angle=randoms2.y*PI*2.;\x0afloat\x20inverseRadiusRangeSquared=((1.-radiusRange)*(1.-radiusRange));\x0afloat\x20positionRadius=radius*sqrt(inverseRadiusRangeSquared+(randoms2.z*(1.-inverseRadiusRangeSquared)));\x0afloat\x20xPos=positionRadius*cos(angle);\x0afloat\x20zPos=positionRadius*sin(angle);\x0anewPosition=vec3(xPos,yPos,zPos);\x0a#ifdef\x20DIRECTEDCYLINDEREMITTER\x0anewDirection=direction1+(direction2-direction1)*randoms3;\x0a#else\x0aangle=angle+((randoms3.x-0.5)*PI)*directionRandomizer;\x0anewDirection=vec3(cos(angle),(randoms3.y-0.5)*directionRandomizer,sin(angle));\x0anewDirection=normalize(newDirection);\x0a#endif\x0a#elif\x20defined(CONEEMITTER)\x0avec3\x20randoms2=getRandomVec3(seed.y);\x0afloat\x20s=2.0*PI*randoms2.x;\x0a#ifdef\x20CONEEMITTERSPAWNPOINT\x0afloat\x20h=0.0001;\x0a#else\x0afloat\x20h=randoms2.y*height.y;\x0ah=1.-h*h;\x20\x0a#endif\x0afloat\x20lRadius=radius.x-radius.x*randoms2.z*radius.y;\x0alRadius=lRadius*h;\x0afloat\x20randX=lRadius*sin(s);\x0afloat\x20randZ=lRadius*cos(s);\x0afloat\x20randY=h\x20*height.x;\x0anewPosition=vec3(randX,randY,randZ);\x20\x0aif\x20(abs(cos(coneAngle))==1.0)\x20{\x0anewDirection=vec3(0.,1.0,0.);\x0a}\x20else\x20{\x0avec3\x20randoms3=getRandomVec3(seed.z);\x0anewDirection=normalize(newPosition+directionRandomizer*randoms3);\x20\x0a}\x0a#elif\x20defined(CUSTOMEMITTER)\x0anewPosition=initialPosition;\x0aoutInitialPosition=initialPosition;\x0a#else\x20\x0anewPosition=vec3(0.,0.,0.);\x0anewDirection=2.0*(getRandomVec3(seed.w)-vec3(0.5,0.5,0.5));\x0a#endif\x0afloat\x20power=emitPower.x+(emitPower.y-emitPower.x)*randoms.a;\x0a#ifdef\x20LOCAL\x0aoutPosition=newPosition;\x0a#else\x0aoutPosition=(emitterWM*vec4(newPosition,1.)).xyz;\x0a#endif\x0a#ifdef\x20CUSTOMEMITTER\x0aoutDirection=direction;\x0a#ifndef\x20BILLBOARD\x20\x0aoutInitialDirection=direction;\x0a#endif\x0a#else\x0a#ifdef\x20LOCAL\x0avec3\x20initial=newDirection;\x0a#else\x20\x0avec3\x20initial=(emitterWM*vec4(newDirection,0.)).xyz;\x0a#endif\x0aoutDirection=initial*power;\x0a#ifndef\x20BILLBOARD\x20\x0aoutInitialDirection=initial;\x0a#endif\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x20\x0aoutCellIndex=cellInfos.x;\x0a#ifdef\x20ANIMATESHEETRANDOMSTART\x0aoutCellStartOffset=randoms.a*outLife;\x0a#endif\x20\x0a#endif\x0a#ifdef\x20NOISE\x0aoutNoiseCoordinates1=noiseCoordinates1;\x0aoutNoiseCoordinates2=noiseCoordinates2;\x0a#endif\x0a}\x20else\x20{\x0afloat\x20directionScale=timeDelta;\x0aoutAge=newAge;\x0afloat\x20ageGradient=newAge/life;\x0a#ifdef\x20VELOCITYGRADIENTS\x0adirectionScale*=texture(velocityGradientSampler,vec2(ageGradient,0)).r;\x0a#endif\x0a#ifdef\x20DRAGGRADIENTS\x0adirectionScale*=1.0-texture(dragGradientSampler,vec2(ageGradient,0)).r;\x0a#endif\x0a#if\x20defined(CUSTOMEMITTER)\x0aoutPosition=position+(direction-position)*ageGradient;\x20\x0aoutInitialPosition=initialPosition;\x0a#else\x0aoutPosition=position+direction*directionScale;\x0a#endif\x0aoutLife=life;\x0aoutSeed=seed;\x0a#ifndef\x20COLORGRADIENTS\x20\x0aoutColor=color;\x0a#endif\x0a#ifdef\x20SIZEGRADIENTS\x0aoutSize.x=texture(sizeGradientSampler,vec2(ageGradient,0)).r;\x0aoutSize.yz=size.yz;\x0a#else\x0aoutSize=size;\x0a#endif\x20\x0a#ifndef\x20BILLBOARD\x20\x0aoutInitialDirection=initialDirection;\x0a#endif\x0a#ifdef\x20CUSTOMEMITTER\x0aoutDirection=direction;\x0a#else\x0avec3\x20updatedDirection=direction+gravity*timeDelta;\x0a#ifdef\x20LIMITVELOCITYGRADIENTS\x0afloat\x20limitVelocity=texture(limitVelocityGradientSampler,vec2(ageGradient,0)).r;\x0afloat\x20currentVelocity=length(updatedDirection);\x0aif\x20(currentVelocity>limitVelocity)\x20{\x0aupdatedDirection=updatedDirection*limitVelocityDamping;\x0a}\x0a#endif\x0aoutDirection=updatedDirection;\x0a#ifdef\x20NOISE\x0afloat\x20fetchedR=texture(noiseSampler,vec2(noiseCoordinates1.x,noiseCoordinates1.y)*vec2(0.5)+vec2(0.5)).r;\x0afloat\x20fetchedG=texture(noiseSampler,vec2(noiseCoordinates1.z,noiseCoordinates2.x)*vec2(0.5)+vec2(0.5)).r;\x0afloat\x20fetchedB=texture(noiseSampler,vec2(noiseCoordinates2.y,noiseCoordinates2.z)*vec2(0.5)+vec2(0.5)).r;\x0avec3\x20force=vec3(2.*fetchedR-1.,2.*fetchedG-1.,2.*fetchedB-1.)*noiseStrength;\x0aoutDirection=outDirection+force*timeDelta;\x0aoutNoiseCoordinates1=noiseCoordinates1;\x0aoutNoiseCoordinates2=noiseCoordinates2;\x0a#endif\x20\x0a#endif\x20\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0afloat\x20angularSpeed=texture(angularSpeedGradientSampler,vec2(ageGradient,0)).r;\x0aoutAngle=angle+angularSpeed*timeDelta;\x0a#else\x0aoutAngle=vec2(angle.x+angle.y*timeDelta,angle.y);\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x20\x0afloat\x20offsetAge=outAge;\x0afloat\x20dist=cellInfos.y-cellInfos.x;\x0a#ifdef\x20ANIMATESHEETRANDOMSTART\x0aoutCellStartOffset=cellStartOffset;\x0aoffsetAge+=cellStartOffset;\x0a#else\x0afloat\x20cellStartOffset=0.;\x0a#endif\x20\x0afloat\x20ratio=0.;\x0aif\x20(cellInfos.w==1.0)\x20{\x0aratio=clamp(mod(cellStartOffset+cellInfos.z*offsetAge,life)/life,0.,1.0);\x0a}\x0aelse\x20{\x0aratio=clamp(cellStartOffset+cellInfos.z*offsetAge/life,0.,1.0);\x0a}\x0aoutCellIndex=float(int(cellInfos.x+ratio*dist));\x0a#endif\x0a}\x0a}','gridVertexShader','_setupFramebufferDepthAttachments','\x20=\x20textureCubeLodEXT(','EnableFor','\x20=\x20textureCube(','_compiledShaders','#if\x20defined(_DEFINENAME_)\x20&&\x20_DEFINENAME_DIRECTUV==0\x0aif\x20(v_INFONAME_==0.)\x0a{\x0av_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uvUpdated,1.0,0.0));\x0a}\x0a#ifdef\x20UV2\x0aelse\x20if\x20(v_INFONAME_==1.)\x0a{\x0av_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv2,1.0,0.0));\x0a}\x0a#endif\x0a#ifdef\x20UV3\x0aelse\x20if\x20(v_INFONAME_==2.)\x0a{\x0av_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv3,1.0,0.0));\x0a}\x0a#endif\x0a#ifdef\x20UV4\x0aelse\x20if\x20(v_INFONAME_==3.)\x0a{\x0av_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv4,1.0,0.0));\x0a}\x0a#endif\x0a#ifdef\x20UV5\x0aelse\x20if\x20(v_INFONAME_==4.)\x0a{\x0av_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv5,1.0,0.0));\x0a}\x0a#endif\x0a#ifdef\x20UV6\x0aelse\x20if\x20(v_INFONAME_==5.)\x0a{\x0av_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv6,1.0,0.0));\x0a}\x0a#endif\x0a#endif\x0a','clearAllDiffusionProfiles','convertSpirV2WGSL','vertexArrayObject','hasObservers','BABYLON.IridescenceBlock','_prepareEffect','DEPTH32F_STENCIL8','value','status','\x20from\x20block\x20','ASTC5x5Unorm','samplerVertexDeclaration','_videoCompiledShaders','NEVER','onInputChangedObservable','createCubeTexture','layout(location\x20=\x200)\x20','_copyInvertYBindGroupWithOfst','//Varyings\x0d\x0a','dataStoreArrayBuffer','keyup','glFragData','_postProcessRunningIndex','_depthMask','ASTC10x6Unorm','_name','offsetY','ACTION_OnPointerOverTrigger','_extension','#ifdef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0auniform\x20bakedVertexAnimationTime:\x20f32;\x0auniform\x20bakedVertexAnimationTextureSizeInverted:\x20vec2<f32>;\x0auniform\x20bakedVertexAnimationSettings:\x20vec4<f32>;\x0avar\x20bakedVertexAnimationTexture\x20:\x20texture_2d<f32>;\x0a#ifdef\x20INSTANCES\x0aattribute\x20bakedVertexAnimationSettingsInstanced\x20:\x20vec4<f32>;\x0a#endif\x0afn\x20readMatrixFromRawSamplerVAT(smp\x20:\x20texture_2d<f32>,index\x20:\x20f32,frame\x20:\x20f32)->mat4x4<f32>\x0a{\x0alet\x20offset=i32(index)*4;\x0alet\x20frameUV=i32(frame);\x0alet\x20m0=textureLoad(smp,vec2<i32>(offset+0,frameUV),0);\x0alet\x20m1=textureLoad(smp,vec2<i32>(offset+1,frameUV),0);\x0alet\x20m2=textureLoad(smp,vec2<i32>(offset+2,frameUV),0);\x0alet\x20m3=textureLoad(smp,vec2<i32>(offset+3,frameUV),0);\x0areturn\x20mat4x4<f32>(m0,m1,m2,m3);\x0a}\x0a#endif\x0a','_update','activeParticleCount','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0a#if\x20defined(INITIAL)\x0auniform\x20sampler2D\x20sourceTexture;\x0auniform\x20vec2\x20texSize;\x0avoid\x20main(void)\x0a{\x0aivec2\x20coord=ivec2(vUV*(texSize-1.0));\x0afloat\x20f1=texelFetch(sourceTexture,coord,0).r;\x0afloat\x20f2=texelFetch(sourceTexture,coord+ivec2(1,0),0).r;\x0afloat\x20f3=texelFetch(sourceTexture,coord+ivec2(1,1),0).r;\x0afloat\x20f4=texelFetch(sourceTexture,coord+ivec2(0,1),0).r;\x0afloat\x20minz=min(min(min(f1,f2),f3),f4);\x0a#ifdef\x20DEPTH_REDUX\x0afloat\x20maxz=max(max(max(sign(1.0-f1)*f1,sign(1.0-f2)*f2),sign(1.0-f3)*f3),sign(1.0-f4)*f4);\x0a#else\x0afloat\x20maxz=max(max(max(f1,f2),f3),f4);\x0a#endif\x0aglFragColor=vec4(minz,maxz,0.,0.);\x0a}\x0a#elif\x20defined(MAIN)\x0auniform\x20vec2\x20texSize;\x0avoid\x20main(void)\x0a{\x0aivec2\x20coord=ivec2(vUV*(texSize-1.0));\x0avec2\x20f1=texelFetch(textureSampler,coord,0).rg;\x0avec2\x20f2=texelFetch(textureSampler,coord+ivec2(1,0),0).rg;\x0avec2\x20f3=texelFetch(textureSampler,coord+ivec2(1,1),0).rg;\x0avec2\x20f4=texelFetch(textureSampler,coord+ivec2(0,1),0).rg;\x0afloat\x20minz=min(min(min(f1.x,f2.x),f3.x),f4.x);\x0afloat\x20maxz=max(max(max(f1.y,f2.y),f3.y),f4.y);\x0aglFragColor=vec4(minz,maxz,0.,0.);\x0a}\x0a#elif\x20defined(ONEBEFORELAST)\x0auniform\x20ivec2\x20texSize;\x0avoid\x20main(void)\x0a{\x0aivec2\x20coord=ivec2(vUV*vec2(texSize-1));\x0avec2\x20f1=texelFetch(textureSampler,coord\x20%\x20texSize,0).rg;\x0avec2\x20f2=texelFetch(textureSampler,(coord+ivec2(1,0))\x20%\x20texSize,0).rg;\x0avec2\x20f3=texelFetch(textureSampler,(coord+ivec2(1,1))\x20%\x20texSize,0).rg;\x0avec2\x20f4=texelFetch(textureSampler,(coord+ivec2(0,1))\x20%\x20texSize,0).rg;\x0afloat\x20minz=min(f1.x,f2.x);\x0afloat\x20maxz=max(f1.y,f2.y);\x0aglFragColor=vec4(minz,maxz,0.,0.);\x0a}\x0a#elif\x20defined(LAST)\x0avoid\x20main(void)\x0a{\x0aglFragColor=vec4(0.);\x0aif\x20(true)\x20{\x20\x0adiscard;\x0a}\x0a}\x0a#endif\x0a','initialize','_bundleLists','_currentDrawContext','refreshBoundingInfo','lines','maxZ','connectTo','highRefreshRate','_buildIndexBuffer','destroyDeferredBuffers','_webVRInitPromise','_device','_getTexture','womips','_compression','REFLECTIONMAP_EXPLICIT','FRAMEBUFFER','CreateNewFromScene','physicsImpostor','DoubleClickDelay','_gpuFrameTimeCounter','distance','getPipelineContext','resolution','TEXTUREFORMAT_LUMINANCE_ALPHA\x20format\x20not\x20supported\x20in\x20WebGPU','_bindTextureDirectly','_varyingNextLocation','mixPixelShader','TEXTURE','#if\x20DEBUGMODE>0\x0aif\x20(vClipSpacePosition.x/vClipSpacePosition.w>=vDebugMode.x)\x20{\x0a#if\x20DEBUGMODE==1\x0agl_FragColor.rgb=vPositionW.rgb;\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==2\x20&&\x20defined(NORMAL)\x0agl_FragColor.rgb=vNormalW.rgb;\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==3\x20&&\x20defined(BUMP)\x20||\x20DEBUGMODE==3\x20&&\x20defined(PARALLAX)\x20||\x20DEBUGMODE==3\x20&&\x20defined(ANISOTROPIC)\x0agl_FragColor.rgb=TBN[0];\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==4\x20&&\x20defined(BUMP)\x20||\x20DEBUGMODE==4\x20&&\x20defined(PARALLAX)\x20||\x20DEBUGMODE==4\x20&&\x20defined(ANISOTROPIC)\x0agl_FragColor.rgb=TBN[1];\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==5\x0agl_FragColor.rgb=normalW;\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==6\x20&&\x20defined(MAINUV1)\x0agl_FragColor.rgb=vec3(vMainUV1,0.0);\x0a#elif\x20DEBUGMODE==7\x20&&\x20defined(MAINUV2)\x0agl_FragColor.rgb=vec3(vMainUV2,0.0);\x0a#elif\x20DEBUGMODE==8\x20&&\x20defined(CLEARCOAT)\x20&&\x20defined(CLEARCOAT_BUMP)\x0agl_FragColor.rgb=clearcoatOut.TBNClearCoat[0];\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==9\x20&&\x20defined(CLEARCOAT)\x20&&\x20defined(CLEARCOAT_BUMP)\x0agl_FragColor.rgb=clearcoatOut.TBNClearCoat[1];\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==10\x20&&\x20defined(CLEARCOAT)\x0agl_FragColor.rgb=clearcoatOut.clearCoatNormalW;\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==11\x20&&\x20defined(ANISOTROPIC)\x0agl_FragColor.rgb=anisotropicOut.anisotropicNormal;\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==12\x20&&\x20defined(ANISOTROPIC)\x0agl_FragColor.rgb=anisotropicOut.anisotropicTangent;\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==13\x20&&\x20defined(ANISOTROPIC)\x0agl_FragColor.rgb=anisotropicOut.anisotropicBitangent;\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==20\x20&&\x20defined(ALBEDO)\x0agl_FragColor.rgb=albedoTexture.rgb;\x0a#elif\x20DEBUGMODE==21\x20&&\x20defined(AMBIENT)\x0agl_FragColor.rgb=aoOut.ambientOcclusionColorMap.rgb;\x0a#elif\x20DEBUGMODE==22\x20&&\x20defined(OPACITY)\x0agl_FragColor.rgb=opacityMap.rgb;\x0a#elif\x20DEBUGMODE==23\x20&&\x20defined(EMISSIVE)\x0agl_FragColor.rgb=emissiveColorTex.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==24\x20&&\x20defined(LIGHTMAP)\x0agl_FragColor.rgb=lightmapColor.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==25\x20&&\x20defined(REFLECTIVITY)\x20&&\x20defined(METALLICWORKFLOW)\x0agl_FragColor.rgb=reflectivityOut.surfaceMetallicColorMap.rgb;\x0a#elif\x20DEBUGMODE==26\x20&&\x20defined(REFLECTIVITY)\x20&&\x20!defined(METALLICWORKFLOW)\x0agl_FragColor.rgb=reflectivityOut.surfaceReflectivityColorMap.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==27\x20&&\x20defined(CLEARCOAT)\x20&&\x20defined(CLEARCOAT_TEXTURE)\x0agl_FragColor.rgb=vec3(clearcoatOut.clearCoatMapData.rg,0.0);\x0a#elif\x20DEBUGMODE==28\x20&&\x20defined(CLEARCOAT)\x20&&\x20defined(CLEARCOAT_TINT)\x20&&\x20defined(CLEARCOAT_TINT_TEXTURE)\x0agl_FragColor.rgb=clearcoatOut.clearCoatTintMapData.rgb;\x0a#elif\x20DEBUGMODE==29\x20&&\x20defined(SHEEN)\x20&&\x20defined(SHEEN_TEXTURE)\x0agl_FragColor.rgb=sheenOut.sheenMapData.rgb;\x0a#elif\x20DEBUGMODE==30\x20&&\x20defined(ANISOTROPIC)\x20&&\x20defined(ANISOTROPIC_TEXTURE)\x0agl_FragColor.rgb=anisotropicOut.anisotropyMapData.rgb;\x0a#elif\x20DEBUGMODE==31\x20&&\x20defined(SUBSURFACE)\x20&&\x20defined(SS_THICKNESSANDMASK_TEXTURE)\x0agl_FragColor.rgb=subSurfaceOut.thicknessMap.rgb;\x0a#elif\x20DEBUGMODE==40\x20&&\x20defined(SS_REFRACTION)\x0agl_FragColor.rgb=subSurfaceOut.environmentRefraction.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==41\x20&&\x20defined(REFLECTION)\x0agl_FragColor.rgb=reflectionOut.environmentRadiance.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==42\x20&&\x20defined(CLEARCOAT)\x20&&\x20defined(REFLECTION)\x0agl_FragColor.rgb=clearcoatOut.environmentClearCoatRadiance.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==50\x0agl_FragColor.rgb=diffuseBase.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==51\x20&&\x20defined(SPECULARTERM)\x0agl_FragColor.rgb=specularBase.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==52\x20&&\x20defined(CLEARCOAT)\x0agl_FragColor.rgb=clearCoatBase.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==53\x20&&\x20defined(SHEEN)\x0agl_FragColor.rgb=sheenBase.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==54\x20&&\x20defined(REFLECTION)\x0agl_FragColor.rgb=reflectionOut.environmentIrradiance.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==60\x0agl_FragColor.rgb=surfaceAlbedo.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==61\x0agl_FragColor.rgb=clearcoatOut.specularEnvironmentR0;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==62\x20&&\x20defined(METALLICWORKFLOW)\x0agl_FragColor.rgb=vec3(reflectivityOut.metallicRoughness.r);\x0a#elif\x20DEBUGMODE==71\x20&&\x20defined(METALLICWORKFLOW)\x0agl_FragColor.rgb=reflectivityOut.metallicF0;\x0a#elif\x20DEBUGMODE==63\x0agl_FragColor.rgb=vec3(roughness);\x0a#elif\x20DEBUGMODE==64\x0agl_FragColor.rgb=vec3(alphaG);\x0a#elif\x20DEBUGMODE==65\x0agl_FragColor.rgb=vec3(NdotV);\x0a#elif\x20DEBUGMODE==66\x20&&\x20defined(CLEARCOAT)\x20&&\x20defined(CLEARCOAT_TINT)\x0agl_FragColor.rgb=clearcoatOut.clearCoatColor.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==67\x20&&\x20defined(CLEARCOAT)\x0agl_FragColor.rgb=vec3(clearcoatOut.clearCoatRoughness);\x0a#elif\x20DEBUGMODE==68\x20&&\x20defined(CLEARCOAT)\x0agl_FragColor.rgb=vec3(clearcoatOut.clearCoatNdotV);\x0a#elif\x20DEBUGMODE==69\x20&&\x20defined(SUBSURFACE)\x20&&\x20defined(SS_TRANSLUCENCY)\x0agl_FragColor.rgb=subSurfaceOut.transmittance;\x0a#elif\x20DEBUGMODE==70\x20&&\x20defined(SUBSURFACE)\x20&&\x20defined(SS_REFRACTION)\x0agl_FragColor.rgb=subSurfaceOut.refractionTransmittance;\x0a#elif\x20DEBUGMODE==80\x20&&\x20defined(RADIANCEOCCLUSION)\x0agl_FragColor.rgb=vec3(seo);\x0a#elif\x20DEBUGMODE==81\x20&&\x20defined(HORIZONOCCLUSION)\x0agl_FragColor.rgb=vec3(eho);\x0a#elif\x20DEBUGMODE==82\x20&&\x20defined(MS_BRDF_ENERGY_CONSERVATION)\x0agl_FragColor.rgb=vec3(energyConservationFactor);\x0a#elif\x20DEBUGMODE==83\x20&&\x20defined(ENVIRONMENTBRDF)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0agl_FragColor.rgb=specularEnvironmentReflectance;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==84\x20&&\x20defined(CLEARCOAT)\x20&&\x20defined(ENVIRONMENTBRDF)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0agl_FragColor.rgb=clearcoatOut.clearCoatEnvironmentReflectance;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==85\x20&&\x20defined(SHEEN)\x20&&\x20defined(REFLECTION)\x0agl_FragColor.rgb=sheenOut.sheenEnvironmentReflectance;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==86\x20&&\x20defined(ALPHABLEND)\x0agl_FragColor.rgb=vec3(luminanceOverAlpha);\x0a#elif\x20DEBUGMODE==87\x0agl_FragColor.rgb=vec3(alpha);\x0a#endif\x0agl_FragColor.rgb*=vDebugMode.y;\x0a#ifdef\x20DEBUGMODE_NORMALIZE\x0agl_FragColor.rgb=normalize(gl_FragColor.rgb)*0.5+0.5;\x0a#endif\x0a#ifdef\x20DEBUGMODE_GAMMA\x0agl_FragColor.rgb=toGammaSpace(gl_FragColor.rgb);\x0a#endif\x0agl_FragColor.a=1.0;\x0a#ifdef\x20PREPASS\x0agl_FragData[0]=toLinearSpace(gl_FragColor);\x20\x0agl_FragData[1]=vec4(0.,0.,0.,0.);\x20\x0a#endif\x0areturn;\x0a}\x0a#endif\x0a','_reportDrawCall','_createBlurPostProcesses','_attributeDeclaration','lensFlarePixelShader','ASTC10x5UnormSRGB','StorageBinding','ASTC10x10UnormSRGB','cameraToUseForPointers','fragmentCompilationError','renderTargets','TEXTURE_CLAMP_ADDRESSMODE','stencilOp','onPointerPick','DontInvertY','_handlesSpectorRebuildCallback','_webgpuTexture','\x20*\x20vec4(','CreateNew','setMatrices','hasPickTriggers','Invalid\x20multiview\x20frame\x20buffer','PositionKind','pickId','maximum','ACTION_OnDoublePickTrigger','setDepthWriteEnabled','ALPHA_EQUATION_MIN','uniform\x20mat4\x20projection;\x0avarying\x20vec2\x20uv;\x0avarying\x20vec3\x20viewPos;\x0avarying\x20float\x20sphereRadius;\x0a#ifdef\x20FLUIDRENDERING_VELOCITY\x0avarying\x20float\x20velocityNorm;\x0a#endif\x0avoid\x20main(void)\x20{\x0avec3\x20normal;\x0anormal.xy=uv*2.0-1.0;\x0afloat\x20r2=dot(normal.xy,normal.xy);\x0aif\x20(r2>1.0)\x20discard;\x0anormal.z=sqrt(1.0-r2);\x0a#ifndef\x20FLUIDRENDERING_RHS\x0anormal.z=-normal.z;\x0a#endif\x0avec4\x20realViewPos=vec4(viewPos+normal*sphereRadius,1.0);\x0avec4\x20clipSpacePos=projection*realViewPos;\x0a#ifdef\x20WEBGPU\x0agl_FragDepth=clipSpacePos.z/clipSpacePos.w;\x0a#else\x0agl_FragDepth=(clipSpacePos.z/clipSpacePos.w)*0.5+0.5;\x0a#endif\x0a#ifdef\x20FLUIDRENDERING_RHS\x0arealViewPos.z=-realViewPos.z;\x0a#endif\x0a#ifdef\x20FLUIDRENDERING_VELOCITY\x0aglFragColor=vec4(realViewPos.z,velocityNorm,0.,1.);\x0a#else\x0aglFragColor=vec4(realViewPos.z,0.,0.,1.);\x0a#endif\x0a}\x0a','_measureDurationState','_currentTotalIndices','precision\x20highp\x20float;\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20normalSampler;\x0auniform\x20float\x20curvature_ridge;\x0auniform\x20float\x20curvature_valley;\x0a#ifndef\x20CURVATURE_OFFSET\x0a#define\x20CURVATURE_OFFSET\x201\x0a#endif\x0afloat\x20curvature_soft_clamp(float\x20curvature,float\x20control)\x0a{\x0aif\x20(curvature<0.5/control)\x0areturn\x20curvature*(1.0-curvature*control);\x0areturn\x200.25/control;\x0a}\x0afloat\x20calculate_curvature(ivec2\x20texel,float\x20ridge,float\x20valley)\x0a{\x0avec2\x20normal_up\x20=texelFetch(normalSampler,texel+ivec2(0,\x20CURVATURE_OFFSET),0).rb;\x0avec2\x20normal_down\x20=texelFetch(normalSampler,texel+ivec2(0,-CURVATURE_OFFSET),0).rb;\x0avec2\x20normal_left\x20=texelFetch(normalSampler,texel+ivec2(-CURVATURE_OFFSET,0),0).rb;\x0avec2\x20normal_right=texelFetch(normalSampler,texel+ivec2(\x20CURVATURE_OFFSET,0),0).rb;\x0afloat\x20normal_diff=((normal_up.g-normal_down.g)+(normal_right.r-normal_left.r));\x0aif\x20(normal_diff<0.0)\x0areturn\x20-2.0*curvature_soft_clamp(-normal_diff,valley);\x0areturn\x202.0*curvature_soft_clamp(normal_diff,ridge);\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0aivec2\x20texel=ivec2(gl_FragCoord.xy);\x0avec4\x20baseColor=texture2D(textureSampler,vUV);\x0afloat\x20curvature=calculate_curvature(texel,curvature_ridge,curvature_valley);\x0abaseColor.rgb*=curvature+1.0;\x0agl_FragColor=baseColor;\x0a}','setSubData','ALPHA_ALPHATOCOLOR','generateDepthTexture','previousViewProjection','decode','meshUboDeclaration','ExclusiveDoubleClickMode','_inputs','TEXTURETYPE_HALF_FLOAT','TEXTURETYPE_UNSIGNED_SHORT','_singleClick','_createHardwareRenderTargetWrapper','_PreparePreProcessors','emitter','getOrAdd','oitFragment','_findStartingGroupBinding','furPixelShader','_blendEquationParameters','E3d','Multiview\x20is\x20not\x20supported','gl_FragCoord','_getWebGLTextureType','_key','bumpFragmentFunctions','_maxRank','viewport','FALLOFF_DEFAULT','uv3','clipPlaneFragment','stop','vertexBuffers','Not\x20implemented','fogMode','\x20{\x0a\x20\x20yFactor_:\x20f32,\x0a\x20\x20textureOutputHeight_:\x20f32,\x0a};\x0avar<uniform>\x20internals\x20:\x20','depthPixelShader','_vertexIsGLES3','Linear','_doubleClick','Cannot\x20create\x20canvas\x20to\x20resize\x20texture.','TEXTURE_MIN_FILTER','modelIndexOffsetStart','###___ANCHOR','animatedInputs','ASTC6x6UnormSRGB','previousBones','_getBuffer','updateInt2','_currentRank','removeIfDef','#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avColor=vec4(1.0);\x0a#ifdef\x20VERTEXCOLOR\x0a#ifdef\x20VERTEXALPHA\x0avColor*=color;\x0a#else\x0avColor.rgb*=color.rgb;\x0a#endif\x0a#endif\x0a#ifdef\x20INSTANCESCOLOR\x0avColor*=instanceColor;\x0a#endif\x0a#endif\x0a','beginOcclusionQuery',')\x20in\x20','_source','isFragment','hasSpecificMask','No\x20fixed\x20size\x20for\x20Stencil8\x20format!','bindUniformBufferBase','angle','_getProjectedParticleConstant','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0avarying\x20vec3\x20vPosition;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0agl_Position=viewProjection*worldPos;\x0avPositionW=vec3(worldPos);\x0avPosition=position;\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','textureBlur','sourceEvent','#ifdef\x20FOG\x0a#define\x20FOGMODE_NONE\x200.\x0a#define\x20FOGMODE_EXP\x201.\x0a#define\x20FOGMODE_EXP2\x202.\x0a#define\x20FOGMODE_LINEAR\x203.\x0a#define\x20E\x202.71828\x0auniform\x20vec4\x20vFogInfos;\x0auniform\x20vec3\x20vFogColor;\x0avarying\x20vec3\x20vFogDistance;\x0afloat\x20CalcFogFactor()\x0a{\x0afloat\x20fogCoeff=1.0;\x0afloat\x20fogStart=vFogInfos.y;\x0afloat\x20fogEnd=vFogInfos.z;\x0afloat\x20fogDensity=vFogInfos.w;\x0afloat\x20fogDistance=length(vFogDistance);\x0aif\x20(FOGMODE_LINEAR==vFogInfos.x)\x0a{\x0afogCoeff=(fogEnd-fogDistance)/(fogEnd-fogStart);\x0a}\x0aelse\x20if\x20(FOGMODE_EXP==vFogInfos.x)\x0a{\x0afogCoeff=1.0/pow(E,fogDistance*fogDensity);\x0a}\x0aelse\x20if\x20(FOGMODE_EXP2==vFogInfos.x)\x0a{\x0afogCoeff=1.0/pow(E,fogDistance*fogDistance*fogDensity*fogDensity);\x0a}\x0areturn\x20clamp(fogCoeff,0.0,1.0);\x0a}\x0a#endif\x0a','_clearDepthValue','TEXTURETYPE_UNSIGNED_INT_2_10_10_10_REV','_mask','createImageBitmap','checks','colorAttachment','_externalProperties','crossEye','source','ALPHA_DISABLE','BC6HRGBUFloat','compute','pbrFragmentSamplersDeclaration','REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED','attribute\x20vec3\x20position;\x0a#include<__decl__boundingBoxRendererVertex>\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avec4\x20worldPos=world*vec4(position,1.0);\x0a#ifdef\x20MULTIVIEW\x0aif\x20(gl_ViewID_OVR==0u)\x20{\x0agl_Position=viewProjection*worldPos;\x0a}\x20else\x20{\x0agl_Position=viewProjectionR*worldPos;\x0a}\x0a#else\x0agl_Position=viewProjection*worldPos;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','Depth\x20texture\x20is\x20not\x20supported\x20by\x20your\x20browser\x20or\x20hardware.','programLinkError','boxMax','_defineLocalCubicName','_uniformDeclaration','types','\x20=\x20computeFixedEquirectangularCoords(','_onKeyUp','642MVMOUG','TransformNormalFromFloatsToRef','#define\x20FRESNEL_MAXIMUM_ON_ROUGH\x200.25\x0a#ifdef\x20MS_BRDF_ENERGY_CONSERVATION\x0avec3\x20getEnergyConservationFactor(const\x20vec3\x20specularEnvironmentR0,const\x20vec3\x20environmentBrdf)\x20{\x0areturn\x201.0+specularEnvironmentR0*(1.0/environmentBrdf.y-1.0);\x0a}\x0a#endif\x0a#ifdef\x20ENVIRONMENTBRDF\x0avec3\x20getBRDFLookup(float\x20NdotV,float\x20perceptualRoughness)\x20{\x0avec2\x20UV=vec2(NdotV,perceptualRoughness);\x0avec4\x20brdfLookup=texture2D(environmentBrdfSampler,UV);\x0a#ifdef\x20ENVIRONMENTBRDF_RGBD\x0abrdfLookup.rgb=fromRGBD(brdfLookup.rgba);\x0a#endif\x0areturn\x20brdfLookup.rgb;\x0a}\x0avec3\x20getReflectanceFromBRDFLookup(const\x20vec3\x20specularEnvironmentR0,const\x20vec3\x20specularEnvironmentR90,const\x20vec3\x20environmentBrdf)\x20{\x0a#ifdef\x20BRDF_V_HEIGHT_CORRELATED\x0avec3\x20reflectance=(specularEnvironmentR90-specularEnvironmentR0)*environmentBrdf.x+specularEnvironmentR0*environmentBrdf.y;\x0a#else\x0avec3\x20reflectance=specularEnvironmentR0*environmentBrdf.x+specularEnvironmentR90*environmentBrdf.y;\x0a#endif\x0areturn\x20reflectance;\x0a}\x0avec3\x20getReflectanceFromBRDFLookup(const\x20vec3\x20specularEnvironmentR0,const\x20vec3\x20environmentBrdf)\x20{\x0a#ifdef\x20BRDF_V_HEIGHT_CORRELATED\x0avec3\x20reflectance=mix(environmentBrdf.xxx,environmentBrdf.yyy,specularEnvironmentR0);\x0a#else\x0avec3\x20reflectance=specularEnvironmentR0*environmentBrdf.x+environmentBrdf.y;\x0a#endif\x0areturn\x20reflectance;\x0a}\x0a#endif\x0a/*\x20NOT\x20USED\x0a#if\x20defined(SHEEN)\x20&&\x20defined(SHEEN_SOFTER)\x0afloat\x20getBRDFLookupCharlieSheen(float\x20NdotV,float\x20perceptualRoughness)\x0a{\x0afloat\x20c=1.0-NdotV;\x0afloat\x20c3=c*c*c;\x0areturn\x200.65584461*c3+1.0/(4.16526551+exp(-7.97291361*perceptualRoughness+6.33516894));\x0a}\x0a#endif\x0a*/\x0a#if\x20!defined(ENVIRONMENTBRDF)\x20||\x20defined(REFLECTIONMAP_SKYBOX)\x20||\x20defined(ALPHAFRESNEL)\x0avec3\x20getReflectanceFromAnalyticalBRDFLookup_Jones(float\x20VdotN,vec3\x20reflectance0,vec3\x20reflectance90,float\x20smoothness)\x0a{\x0afloat\x20weight=mix(FRESNEL_MAXIMUM_ON_ROUGH,1.0,smoothness);\x0areturn\x20reflectance0+weight*(reflectance90-reflectance0)*pow5(saturate(1.0-VdotN));\x0a}\x0a#endif\x0a#if\x20defined(SHEEN)\x20&&\x20defined(ENVIRONMENTBRDF)\x0a/**\x0a*\x20The\x20sheen\x20BRDF\x20not\x20containing\x20F\x20can\x20be\x20easily\x20stored\x20in\x20the\x20blue\x20channel\x20of\x20the\x20BRDF\x20texture.\x0a*\x20The\x20blue\x20channel\x20contains\x20DCharlie*VAshikhmin*NdotL\x20as\x20a\x20lokkup\x20table\x0a*/\x0avec3\x20getSheenReflectanceFromBRDFLookup(const\x20vec3\x20reflectance0,const\x20vec3\x20environmentBrdf)\x20{\x0avec3\x20sheenEnvironmentReflectance=reflectance0*environmentBrdf.b;\x0areturn\x20sheenEnvironmentReflectance;\x0a}\x0a#endif\x0avec3\x20fresnelSchlickGGX(float\x20VdotH,vec3\x20reflectance0,vec3\x20reflectance90)\x0a{\x0areturn\x20reflectance0+(reflectance90-reflectance0)*pow5(1.0-VdotH);\x0a}\x0afloat\x20fresnelSchlickGGX(float\x20VdotH,float\x20reflectance0,float\x20reflectance90)\x0a{\x0areturn\x20reflectance0+(reflectance90-reflectance0)*pow5(1.0-VdotH);\x0a}\x0a#ifdef\x20CLEARCOAT\x0avec3\x20getR0RemappedForClearCoat(vec3\x20f0)\x20{\x0a#ifdef\x20CLEARCOAT_DEFAULTIOR\x0a#ifdef\x20MOBILE\x0areturn\x20saturate(f0*(f0*0.526868+0.529324)-0.0482256);\x0a#else\x0areturn\x20saturate(f0*(f0*(0.941892-0.263008*f0)+0.346479)-0.0285998);\x0a#endif\x0a#else\x0avec3\x20s=sqrt(f0);\x0avec3\x20t=(vClearCoatRefractionParams.z+vClearCoatRefractionParams.w*s)/(vClearCoatRefractionParams.w+vClearCoatRefractionParams.z*s);\x0areturn\x20square(t);\x0a#endif\x0a}\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0aconst\x20mat3\x20XYZ_TO_REC709=mat3(\x0a3.2404542,-0.9692660,\x200.0556434,\x0a-1.5371385,\x201.8760108,-0.2040259,\x0a-0.4985314,\x200.0415560,\x201.0572252\x0a);\x0avec3\x20getIORTfromAirToSurfaceR0(vec3\x20f0)\x20{\x0avec3\x20sqrtF0=sqrt(f0);\x0areturn\x20(1.+sqrtF0)/(1.-sqrtF0);\x0a}\x0avec3\x20getR0fromIORs(vec3\x20iorT,float\x20iorI)\x20{\x0areturn\x20square((iorT-vec3(iorI))/(iorT+vec3(iorI)));\x0a}\x0afloat\x20getR0fromIORs(float\x20iorT,float\x20iorI)\x20{\x0areturn\x20square((iorT-iorI)/(iorT+iorI));\x0a}\x0avec3\x20evalSensitivity(float\x20opd,vec3\x20shift)\x20{\x0afloat\x20phase=2.0*PI*opd*1.0e-9;\x0aconst\x20vec3\x20val=vec3(5.4856e-13,4.4201e-13,5.2481e-13);\x0aconst\x20vec3\x20pos=vec3(1.6810e+06,1.7953e+06,2.2084e+06);\x0aconst\x20vec3\x20var=vec3(4.3278e+09,9.3046e+09,6.6121e+09);\x0avec3\x20xyz=val*sqrt(2.0*PI*var)*cos(pos*phase+shift)*exp(-square(phase)*var);\x0axyz.x+=9.7470e-14*sqrt(2.0*PI*4.5282e+09)*cos(2.2399e+06*phase+shift[0])*exp(-4.5282e+09*square(phase));\x0axyz/=1.0685e-7;\x0avec3\x20srgb=XYZ_TO_REC709*xyz;\x0areturn\x20srgb;\x0a}\x0avec3\x20evalIridescence(float\x20outsideIOR,float\x20eta2,float\x20cosTheta1,float\x20thinFilmThickness,vec3\x20baseF0)\x20{\x0avec3\x20I=vec3(1.0);\x0afloat\x20iridescenceIOR=mix(outsideIOR,eta2,smoothstep(0.0,0.03,thinFilmThickness));\x0afloat\x20sinTheta2Sq=square(outsideIOR/iridescenceIOR)*(1.0-square(cosTheta1));\x0afloat\x20cosTheta2Sq=1.0-sinTheta2Sq;\x0aif\x20(cosTheta2Sq<0.0)\x20{\x0areturn\x20I;\x0a}\x0afloat\x20cosTheta2=sqrt(cosTheta2Sq);\x0afloat\x20R0=getR0fromIORs(iridescenceIOR,outsideIOR);\x0afloat\x20R12=fresnelSchlickGGX(cosTheta1,R0,1.);\x0afloat\x20R21=R12;\x0afloat\x20T121=1.0-R12;\x0afloat\x20phi12=0.0;\x0aif\x20(iridescenceIOR<outsideIOR)\x20phi12=PI;\x0afloat\x20phi21=PI-phi12;\x0avec3\x20baseIOR=getIORTfromAirToSurfaceR0(clamp(baseF0,0.0,0.9999));\x20\x0avec3\x20R1=getR0fromIORs(baseIOR,iridescenceIOR);\x0avec3\x20R23=fresnelSchlickGGX(cosTheta2,R1,vec3(1.));\x0avec3\x20phi23=vec3(0.0);\x0aif\x20(baseIOR[0]<iridescenceIOR)\x20phi23[0]=PI;\x0aif\x20(baseIOR[1]<iridescenceIOR)\x20phi23[1]=PI;\x0aif\x20(baseIOR[2]<iridescenceIOR)\x20phi23[2]=PI;\x0afloat\x20opd=2.0*iridescenceIOR*thinFilmThickness*cosTheta2;\x0avec3\x20phi=vec3(phi21)+phi23;\x0avec3\x20R123=clamp(R12*R23,1e-5,0.9999);\x0avec3\x20r123=sqrt(R123);\x0avec3\x20Rs=square(T121)*R23/(vec3(1.0)-R123);\x0avec3\x20C0=R12+Rs;\x0aI=C0;\x0avec3\x20Cm=Rs-T121;\x0afor\x20(int\x20m=1;\x20m<=2;\x20++m)\x0a{\x0aCm*=r123;\x0avec3\x20Sm=2.0*evalSensitivity(float(m)*opd,float(m)*phi);\x0aI+=Cm*Sm;\x0a}\x0areturn\x20max(I,vec3(0.0));\x0a}\x0a#endif\x0afloat\x20normalDistributionFunction_TrowbridgeReitzGGX(float\x20NdotH,float\x20alphaG)\x0a{\x0afloat\x20a2=square(alphaG);\x0afloat\x20d=NdotH*NdotH*(a2-1.0)+1.0;\x0areturn\x20a2/(PI*d*d);\x0a}\x0a#ifdef\x20SHEEN\x0afloat\x20normalDistributionFunction_CharlieSheen(float\x20NdotH,float\x20alphaG)\x0a{\x0afloat\x20invR=1./alphaG;\x0afloat\x20cos2h=NdotH*NdotH;\x0afloat\x20sin2h=1.-cos2h;\x0areturn\x20(2.+invR)*pow(sin2h,invR*.5)/(2.*PI);\x0a}\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0afloat\x20normalDistributionFunction_BurleyGGX_Anisotropic(float\x20NdotH,float\x20TdotH,float\x20BdotH,const\x20vec2\x20alphaTB)\x20{\x0afloat\x20a2=alphaTB.x*alphaTB.y;\x0avec3\x20v=vec3(alphaTB.y*TdotH,alphaTB.x\x20*BdotH,a2*NdotH);\x0afloat\x20v2=dot(v,v);\x0afloat\x20w2=a2/v2;\x0areturn\x20a2*w2*w2*RECIPROCAL_PI;\x0a}\x0a#endif\x0a#ifdef\x20BRDF_V_HEIGHT_CORRELATED\x0afloat\x20smithVisibility_GGXCorrelated(float\x20NdotL,float\x20NdotV,float\x20alphaG)\x20{\x0a#ifdef\x20MOBILE\x0afloat\x20GGXV=NdotL*(NdotV*(1.0-alphaG)+alphaG);\x0afloat\x20GGXL=NdotV*(NdotL*(1.0-alphaG)+alphaG);\x0areturn\x200.5/(GGXV+GGXL);\x0a#else\x0afloat\x20a2=alphaG*alphaG;\x0afloat\x20GGXV=NdotL*sqrt(NdotV*(NdotV-a2*NdotV)+a2);\x0afloat\x20GGXL=NdotV*sqrt(NdotL*(NdotL-a2*NdotL)+a2);\x0areturn\x200.5/(GGXV+GGXL);\x0a#endif\x0a}\x0a#else\x0afloat\x20smithVisibilityG1_TrowbridgeReitzGGXFast(float\x20dot,float\x20alphaG)\x0a{\x0a#ifdef\x20MOBILE\x0areturn\x201.0/(dot+alphaG+(1.0-alphaG)*dot\x20));\x0a#else\x0afloat\x20alphaSquared=alphaG*alphaG;\x0areturn\x201.0/(dot+sqrt(alphaSquared+(1.0-alphaSquared)*dot*dot));\x0a#endif\x0a}\x0afloat\x20smithVisibility_TrowbridgeReitzGGXFast(float\x20NdotL,float\x20NdotV,float\x20alphaG)\x0a{\x0afloat\x20visibility=smithVisibilityG1_TrowbridgeReitzGGXFast(NdotL,alphaG)*smithVisibilityG1_TrowbridgeReitzGGXFast(NdotV,alphaG);\x0areturn\x20visibility;\x0a}\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0afloat\x20smithVisibility_GGXCorrelated_Anisotropic(float\x20NdotL,float\x20NdotV,float\x20TdotV,float\x20BdotV,float\x20TdotL,float\x20BdotL,const\x20vec2\x20alphaTB)\x20{\x0afloat\x20lambdaV=NdotL*length(vec3(alphaTB.x*TdotV,alphaTB.y*BdotV,NdotV));\x0afloat\x20lambdaL=NdotV*length(vec3(alphaTB.x*TdotL,alphaTB.y*BdotL,NdotL));\x0afloat\x20v=0.5/(lambdaV+lambdaL);\x0areturn\x20v;\x0a}\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0afloat\x20visibility_Kelemen(float\x20VdotH)\x20{\x0areturn\x200.25/(VdotH*VdotH);\x20\x0a}\x0a#endif\x0a#ifdef\x20SHEEN\x0afloat\x20visibility_Ashikhmin(float\x20NdotL,float\x20NdotV)\x0a{\x0areturn\x201./(4.*(NdotL+NdotV-NdotL*NdotV));\x0a}\x0a/*\x20NOT\x20USED\x0a#ifdef\x20SHEEN_SOFTER\x0afloat\x20l(float\x20x,float\x20alphaG)\x0a{\x0afloat\x20oneMinusAlphaSq=(1.0-alphaG)*(1.0-alphaG);\x0afloat\x20a=mix(21.5473,25.3245,oneMinusAlphaSq);\x0afloat\x20b=mix(3.82987,3.32435,oneMinusAlphaSq);\x0afloat\x20c=mix(0.19823,0.16801,oneMinusAlphaSq);\x0afloat\x20d=mix(-1.97760,-1.27393,oneMinusAlphaSq);\x0afloat\x20e=mix(-4.32054,-4.85967,oneMinusAlphaSq);\x0areturn\x20a/(1.0+b*pow(x,c))+d*x+e;\x0a}\x0afloat\x20lambdaSheen(float\x20cosTheta,float\x20alphaG)\x0a{\x0areturn\x20abs(cosTheta)<0.5\x20?\x20exp(l(cosTheta,alphaG))\x20:\x20exp(2.0*l(0.5,alphaG)-l(1.0-cosTheta,alphaG));\x0a}\x0afloat\x20visibility_CharlieSheen(float\x20NdotL,float\x20NdotV,float\x20alphaG)\x0a{\x0afloat\x20G=1.0/(1.0+lambdaSheen(NdotV,alphaG)+lambdaSheen(NdotL,alphaG));\x0areturn\x20G/(4.0*NdotV*NdotL);\x0a}\x0a#endif\x0a*/\x0a#endif\x0afloat\x20diffuseBRDF_Burley(float\x20NdotL,float\x20NdotV,float\x20VdotH,float\x20roughness)\x20{\x0afloat\x20diffuseFresnelNV=pow5(saturateEps(1.0-NdotL));\x0afloat\x20diffuseFresnelNL=pow5(saturateEps(1.0-NdotV));\x0afloat\x20diffuseFresnel90=0.5+2.0*VdotH*VdotH*roughness;\x0afloat\x20fresnel\x20=\x0a(1.0+(diffuseFresnel90-1.0)*diffuseFresnelNL)\x20*\x0a(1.0+(diffuseFresnel90-1.0)*diffuseFresnelNV);\x0areturn\x20fresnel/PI;\x0a}\x0a#ifdef\x20SS_TRANSLUCENCY\x0avec3\x20transmittanceBRDF_Burley(const\x20vec3\x20tintColor,const\x20vec3\x20diffusionDistance,float\x20thickness)\x20{\x0avec3\x20S=1./maxEps(diffusionDistance);\x0avec3\x20temp=exp((-0.333333333*thickness)*S);\x0areturn\x20tintColor.rgb*0.25*(temp*temp*temp+3.0*temp);\x0a}\x0afloat\x20computeWrappedDiffuseNdotL(float\x20NdotL,float\x20w)\x20{\x0afloat\x20t=1.0+w;\x0afloat\x20invt2=1.0/square(t);\x0areturn\x20saturate((NdotL+w)*invt2);\x0a}\x0a#endif\x0a','renderTargetBlur','GL_ALPHA_FUNCTION_ONE_MINUS_CONSTANT_COLOR','isVisible','#ifdef\x20CLIPPLANE\x0auniform\x20vec4\x20vClipPlane;\x0avarying\x20float\x20fClipDistance;\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0auniform\x20vec4\x20vClipPlane2;\x0avarying\x20float\x20fClipDistance2;\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0auniform\x20vec4\x20vClipPlane3;\x0avarying\x20float\x20fClipDistance3;\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0auniform\x20vec4\x20vClipPlane4;\x0avarying\x20float\x20fClipDistance4;\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0auniform\x20vec4\x20vClipPlane5;\x0avarying\x20float\x20fClipDistance5;\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0auniform\x20vec4\x20vClipPlane6;\x0avarying\x20float\x20fClipDistance6;\x0a#endif\x0a','attribute\x20vec3\x20position;\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#include<clipPlaneVertexDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20viewProjection;\x0auniform\x20vec2\x20depthValues;\x0a#if\x20defined(ALPHATEST)\x20||\x20defined(NEED_UV)\x0avarying\x20vec2\x20vUV;\x0auniform\x20mat4\x20diffuseMatrix;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#endif\x0a#ifdef\x20STORE_CAMERASPACE_Z\x0auniform\x20mat4\x20view;\x0avarying\x20vec4\x20vViewPos;\x0a#endif\x0avarying\x20float\x20vDepthMetric;\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec3\x20positionUpdated=position;\x0a#ifdef\x20UV1\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#include<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(positionUpdated,1.0);\x0a#include<clipPlaneVertex>\x0agl_Position=viewProjection*worldPos;\x0a#ifdef\x20STORE_CAMERASPACE_Z\x0avViewPos=view*worldPos;\x0a#else\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0avDepthMetric=((-gl_Position.z+depthValues.x)/(depthValues.y));\x0a#else\x0avDepthMetric=((gl_Position.z+depthValues.x)/(depthValues.y));\x0a#endif\x0a#endif\x0a#if\x20defined(ALPHATEST)\x20||\x20defined(BASIC_RENDER)\x0a#ifdef\x20UV1\x0avUV=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20UV2\x0avUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a}\x0a','_alphaMode','CylinderDirectedParticleEmitter','pointerMoveTrianglePredicate','freeGroupIndex','#ifdef\x20CLIPPLANE\x0avarying\x20float\x20fClipDistance;\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0avarying\x20float\x20fClipDistance2;\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0avarying\x20float\x20fClipDistance3;\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0avarying\x20float\x20fClipDistance4;\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0avarying\x20float\x20fClipDistance5;\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0avarying\x20float\x20fClipDistance6;\x0a#endif\x0a','IncludesShadersStoreWGSL','copyTextureToTexture','\x20:\x20','#ifdef\x20MORPHTARGETS\x0a#ifdef\x20MORPHTARGETS_TEXTURE\x0avar\x20vertexID\x20:\x20f32;\x0a#endif\x0a#endif\x0a','spriteMapPixelShader','GetWebGPUTextureFormat','uniform\x20sampler2D\x20depthSampler;\x0avarying\x20vec2\x20vUV;\x0auniform\x20vec2\x20cameraMinMaxZ;\x0auniform\x20float\x20focusDistance;\x0auniform\x20float\x20cocPrecalculation;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0afloat\x20depth=texture2D(depthSampler,vUV).r;\x0a#define\x20CUSTOM_COC_DEPTH\x0afloat\x20pixelDistance=(cameraMinMaxZ.x+cameraMinMaxZ.y*depth)*1000.0;\x20\x0a#define\x20CUSTOM_COC_PIXELDISTANCE\x0afloat\x20coc=abs(cocPrecalculation*((focusDistance-pixelDistance)/pixelDistance));\x0acoc=clamp(coc,0.0,1.0);\x0agl_FragColor=vec4(coc,coc,coc,1.0);\x0a}\x0a','#define\x20RECIPROCAL_PI2\x200.15915494\x0a#define\x20RECIPROCAL_PI\x200.31830988618\x0a#define\x20MINIMUMVARIANCE\x200.0005\x0afloat\x20convertRoughnessToAverageSlope(float\x20roughness)\x0a{\x0areturn\x20square(roughness)+MINIMUMVARIANCE;\x0a}\x0afloat\x20fresnelGrazingReflectance(float\x20reflectance0)\x20{\x0afloat\x20reflectance90=saturate(reflectance0*25.0);\x0areturn\x20reflectance90;\x0a}\x0avec2\x20getAARoughnessFactors(vec3\x20normalVector)\x20{\x0a#ifdef\x20SPECULARAA\x0avec3\x20nDfdx=dFdx(normalVector.xyz);\x0avec3\x20nDfdy=dFdy(normalVector.xyz);\x0afloat\x20slopeSquare=max(dot(nDfdx,nDfdx),dot(nDfdy,nDfdy));\x0afloat\x20geometricRoughnessFactor=pow(saturate(slopeSquare),0.333);\x0afloat\x20geometricAlphaGFactor=sqrt(slopeSquare);\x0ageometricAlphaGFactor*=0.75;\x0areturn\x20vec2(geometricRoughnessFactor,geometricAlphaGFactor);\x0a#else\x0areturn\x20vec2(0.);\x0a#endif\x0a}\x0a#ifdef\x20ANISOTROPIC\x0avec2\x20getAnisotropicRoughness(float\x20alphaG,float\x20anisotropy)\x20{\x0afloat\x20alphaT=max(alphaG*(1.0+anisotropy),MINIMUMVARIANCE);\x0afloat\x20alphaB=max(alphaG*(1.0-anisotropy),MINIMUMVARIANCE);\x0areturn\x20vec2(alphaT,alphaB);\x0a}\x0avec3\x20getAnisotropicBentNormals(const\x20vec3\x20T,const\x20vec3\x20B,const\x20vec3\x20N,const\x20vec3\x20V,float\x20anisotropy)\x20{\x0avec3\x20anisotropicFrameDirection=anisotropy>=0.0\x20?\x20B\x20:\x20T;\x0avec3\x20anisotropicFrameTangent=cross(normalize(anisotropicFrameDirection),V);\x0avec3\x20anisotropicFrameNormal=cross(anisotropicFrameTangent,anisotropicFrameDirection);\x0avec3\x20anisotropicNormal=normalize(mix(N,anisotropicFrameNormal,abs(anisotropy)));\x0areturn\x20anisotropicNormal;\x0a}\x0a#endif\x0a#if\x20defined(CLEARCOAT)\x20||\x20defined(SS_REFRACTION)\x0avec3\x20cocaLambert(vec3\x20alpha,float\x20distance)\x20{\x0areturn\x20exp(-alpha*distance);\x0a}\x0avec3\x20cocaLambert(float\x20NdotVRefract,float\x20NdotLRefract,vec3\x20alpha,float\x20thickness)\x20{\x0areturn\x20cocaLambert(alpha,(thickness*((NdotLRefract+NdotVRefract)/(NdotLRefract*NdotVRefract))));\x0a}\x0avec3\x20computeColorAtDistanceInMedia(vec3\x20color,float\x20distance)\x20{\x0areturn\x20-log(color)/distance;\x0a}\x0avec3\x20computeClearCoatAbsorption(float\x20NdotVRefract,float\x20NdotLRefract,vec3\x20clearCoatColor,float\x20clearCoatThickness,float\x20clearCoatIntensity)\x20{\x0avec3\x20clearCoatAbsorption=mix(vec3(1.0),\x0acocaLambert(NdotVRefract,NdotLRefract,clearCoatColor,clearCoatThickness),\x0aclearCoatIntensity);\x0areturn\x20clearCoatAbsorption;\x0a}\x0a#endif\x0a#ifdef\x20MICROSURFACEAUTOMATIC\x0afloat\x20computeDefaultMicroSurface(float\x20microSurface,vec3\x20reflectivityColor)\x0a{\x0aconst\x20float\x20kReflectivityNoAlphaWorkflow_SmoothnessMax=0.95;\x0afloat\x20reflectivityLuminance=getLuminance(reflectivityColor);\x0afloat\x20reflectivityLuma=sqrt(reflectivityLuminance);\x0amicroSurface=reflectivityLuma*kReflectivityNoAlphaWorkflow_SmoothnessMax;\x0areturn\x20microSurface;\x0a}\x0a#endif\x0a','You\x20already\x20reached\x20the\x20maximum\x20number\x20of\x20diffusion\x20profiles.','_timestampQuery','Vector3','vrPresentationAttributes','input\x20','framebufferTexture2D','_shareDepth','Dynamic','addCPUSkinningFallback','animationStarted','uniform\x20bool\x20alphaTest;\x0avarying\x20vec4\x20vColor;\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0a#ifdef\x20PIXEL_PERFECT\x0avec2\x20uvPixelPerfect(vec2\x20uv)\x20{\x0avec2\x20res=vec2(textureSize(diffuseSampler,0));\x0auv=uv*res;\x0avec2\x20seam=floor(uv+0.5);\x0auv=seam+clamp((uv-seam)/fwidth(uv),-0.5,0.5);\x0areturn\x20uv/res;\x0a}\x0a#endif\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#ifdef\x20PIXEL_PERFECT\x0avec2\x20uv=uvPixelPerfect(vUV);\x0a#else\x0avec2\x20uv=vUV;\x0a#endif\x0avec4\x20color=texture2D(diffuseSampler,uv);\x0afloat\x20fAlphaTest=float(alphaTest);\x0aif\x20(fAlphaTest\x20!=\x200.)\x0a{\x0aif\x20(color.a<0.95)\x0adiscard;\x0a}\x0acolor*=vColor;\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','setIntArray3','drawImage','version','TEXTUREFORMAT_DEPTH24_STENCIL8','fillMode','getSubTimeStep','buildTextureLayout','noColorAttachment','diffuseBase','xrNativeFeatureName','_cascadeLoadImgs','projectedParticleConstant','createRenderTargetTexture','pointermove','Depth32Float','TEXTURE_NEAREST_SAMPLINGMODE','isDisposed','waterVertexShader','pointerId','ONE_MINUS_DST_ALPHA','#if\x20SM_NORMALBIAS==1\x0auniform\x20vec3\x20lightDataSM;\x0a#endif\x0auniform\x20vec3\x20biasAndScaleSM;\x0auniform\x20vec2\x20depthValuesSM;\x0avarying\x20float\x20vDepthMetricSM;\x0a#if\x20SM_USEDISTANCE==1\x0avarying\x20vec3\x20vPositionWSM;\x0a#endif\x0a#if\x20defined(SM_DEPTHCLAMP)\x20&&\x20SM_DEPTHCLAMP==1\x0avarying\x20float\x20zSM;\x0a#endif\x0a','_detachCameras','CubeSampler','clipPlaneFragmentDeclaration','RG8Sint','\x0a};\x0avar<private>\x20vertexOutputs\x20:\x20FragmentInputs;\x0a','#else','shadowMapVertexShader','_oldSize','clickToPlay','getEmittedParticleSystems','renderTarget','setInt4','TEXTURETYPE_UNSIGNED_SHORT_5_5_5_1','_lastBuffer','#ifdef\x20FOG\x0afloat\x20fog=CalcFogFactor();\x0a#ifdef\x20PBR\x0afog=toLinearSpace(fog);\x0a#endif\x0acolor.rgb=mix(vFogColor,color.rgb,fog);\x0a#endif\x0a','attribute\x20vec4\x20position;\x0aattribute\x20vec2\x20options;\x0aattribute\x20vec2\x20offsets;\x0aattribute\x20vec2\x20inverts;\x0aattribute\x20vec4\x20cellInfo;\x0aattribute\x20vec4\x20color;\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec4\x20vColor;\x0a#include<fogVertexDeclaration>\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avec3\x20viewPos=(view*vec4(position.xyz,1.0)).xyz;\x20\x0avec2\x20cornerPos;\x0afloat\x20angle=position.w;\x0avec2\x20size=vec2(options.x,options.y);\x0avec2\x20offset=offsets.xy;\x0acornerPos=vec2(offset.x-0.5,offset.y\x20-0.5)*size;\x0avec3\x20rotatedCorner;\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.y=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.z=0.;\x0aviewPos+=rotatedCorner;\x0agl_Position=projection*vec4(viewPos,1.0);\x20\x0avColor=color;\x0avec2\x20uvOffset=vec2(abs(offset.x-inverts.x),abs(1.0-offset.y-inverts.y));\x0avec2\x20uvPlace=cellInfo.xy;\x0avec2\x20uvSize=cellInfo.zw;\x0avUV.x=uvPlace.x+uvSize.x*uvOffset.x;\x0avUV.y=uvPlace.y+uvSize.y*uvOffset.y;\x0a#ifdef\x20FOG\x0avFogDistance=viewPos;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','#ifdef\x20CLIPPLANE\x0avarying\x20fClipDistance:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0avarying\x20fClipDistance2:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0avarying\x20fClipDistance3:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0avarying\x20fClipDistance4:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0avarying\x20fClipDistance5:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0avarying\x20fClipDistance6:\x20f32;\x0a#endif\x0a','@location(','_GetBlockInformationFromFormat','TempTextureForUpdateTexture','_onVrDisplayDisconnect','clipPlaneFragmentDeclaration2','Build\x20of\x20NodeMaterial\x20failed:\x0d\x0a','updateRawTexture2DArray','vrdisplaypointerrestricted','GL_ALPHA_FUNCTION_CONSTANT_ALPHA','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec4\x20color;\x0a#include<helperFunctions>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0avec4\x20baseColor=texture2D(textureSampler,vUV);\x0a#ifdef\x20LINEAR\x0abaseColor.rgb=toGammaSpace(baseColor.rgb);\x0a#endif\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0agl_FragColor=baseColor*color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','CreateNewFromSprite','setBuffer','position','LeftOver','STENCIL_TEST','Store','visibility','#ifdef\x20LOGARITHMICDEPTH\x0auniform\x20float\x20logarithmicDepthConstant;\x0avarying\x20float\x20vFragmentDepth;\x0a#endif\x0a','getBindGroups','_createMultiviewUbo','BC1RGBAUnorm','_currentMaterialContext','_partialLoadImg','IsImageBitmap','#ifdef\x20DECAL\x0a#ifdef\x20GAMMADECAL\x0adecalColor.rgb=toLinearSpace(decalColor.rgb);\x0a#endif\x0a#ifdef\x20DECAL_SMOOTHALPHA\x0adecalColor.a*=decalColor.a;\x0a#endif\x0asurfaceAlbedo.rgb=mix(surfaceAlbedo.rgb,decalColor.rgb,decalColor.a);\x0a#endif\x0a','map','_buffer','attributes','createRawCubeTexture','isQueryResultAvailable','geometryUboDeclaration','_createCompositionEffect','cellHeight','_depthRTWrapper','setValue','defineProperty','_tags','postfixToInfix','#if\x20SM_SOFTTRANSPARENTSHADOW==1\x0aif\x20((bayerDither8(floor(mod(gl_FragCoord.xy,8.0))))/64.0>=softTransparentShadowSM*alpha)\x20discard;\x0a#endif\x0a','_injectAtEnd','availableVaryings','_modeSaved','#include<instancesDeclaration>\x0a#include<clipPlaneVertexDeclaration>\x0aattribute\x20vec3\x20position;\x0aattribute\x20vec4\x20normal;\x0auniform\x20mat4\x20viewProjection;\x0auniform\x20float\x20width;\x0auniform\x20float\x20aspectRatio;\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0amat4\x20worldViewProjection=viewProjection*finalWorld;\x0avec4\x20viewPosition=worldViewProjection*vec4(position,1.0);\x0avec4\x20viewPositionNext=worldViewProjection*vec4(normal.xyz,1.0);\x0avec2\x20currentScreen=viewPosition.xy/viewPosition.w;\x0avec2\x20nextScreen=viewPositionNext.xy/viewPositionNext.w;\x0acurrentScreen.x*=aspectRatio;\x0anextScreen.x*=aspectRatio;\x0avec2\x20dir=normalize(nextScreen-currentScreen);\x0avec2\x20normalDir=vec2(-dir.y,dir.x);\x0anormalDir*=width/2.0;\x0anormalDir.x/=aspectRatio;\x0avec4\x20offset=vec4(normalDir*normal.w,0.0,0.0);\x0agl_Position=viewPosition+offset;\x0a#if\x20defined(CLIPPLANE)\x20||\x20defined(CLIPPLANE2)\x20||\x20defined(CLIPPLANE3)\x20||\x20defined(CLIPPLANE4)\x20||\x20defined(CLIPPLANE5)\x20||\x20defined(CLIPPLANE6)\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0a#include<clipPlaneVertex>\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','_BuildExpression','uniform\x20sampler2D\x20textureSampler;\x0avarying\x20vec2\x20vUV;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0a#if\x20defined(PASS_POST_PROCESS)\x0avoid\x20main(void)\x0a{\x0avec4\x20color=texture2D(textureSampler,vUV);\x0agl_FragColor=color;\x0a}\x0a#endif\x0a#if\x20defined(DOWN_SAMPLE_X4)\x0auniform\x20vec2\x20dsOffsets[16];\x0avoid\x20main(void)\x0a{\x0avec4\x20average=vec4(0.0,0.0,0.0,0.0);\x0aaverage=texture2D(textureSampler,vUV+dsOffsets[0]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[1]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[2]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[3]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[4]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[5]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[6]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[7]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[8]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[9]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[10]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[11]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[12]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[13]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[14]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[15]);\x0aaverage/=16.0;\x0agl_FragColor=average;\x0a}\x0a#endif\x0a#if\x20defined(BRIGHT_PASS)\x0auniform\x20vec2\x20dsOffsets[4];\x0auniform\x20float\x20brightThreshold;\x0avoid\x20main(void)\x0a{\x0avec4\x20average=vec4(0.0,0.0,0.0,0.0);\x0aaverage=texture2D(textureSampler,vUV+vec2(dsOffsets[0].x,dsOffsets[0].y));\x0aaverage+=texture2D(textureSampler,vUV+vec2(dsOffsets[1].x,dsOffsets[1].y));\x0aaverage+=texture2D(textureSampler,vUV+vec2(dsOffsets[2].x,dsOffsets[2].y));\x0aaverage+=texture2D(textureSampler,vUV+vec2(dsOffsets[3].x,dsOffsets[3].y));\x0aaverage*=0.25;\x0afloat\x20luminance=length(average.rgb);\x0aif\x20(luminance<brightThreshold)\x20{\x0aaverage=vec4(0.0,0.0,0.0,1.0);\x0a}\x0agl_FragColor=average;\x0a}\x0a#endif\x0a#if\x20defined(TEXTURE_ADDER)\x0auniform\x20sampler2D\x20otherSampler;\x0auniform\x20sampler2D\x20lensSampler;\x0auniform\x20float\x20exposure;\x0avoid\x20main(void)\x0a{\x0avec3\x20colour=texture2D(textureSampler,vUV).rgb;\x0acolour*=exposure;\x0avec3\x20X=max(vec3(0.0,0.0,0.0),colour-0.004);\x0avec3\x20retColor=(X*(6.2*X+0.5))/(X*(6.2*X+1.7)+0.06);\x0acolour=retColor*retColor;\x0acolour+=colour*texture2D(lensSampler,vUV).rgb;\x0avec4\x20finalColor=vec4(colour.rgb,1.0)+texture2D(otherSampler,vUV);\x0agl_FragColor=finalColor;\x0a}\x0a#endif\x0a#if\x20defined(VLS)\x0a#define\x20PI\x203.1415926535897932384626433832795\x0auniform\x20mat4\x20shadowViewProjection;\x0auniform\x20mat4\x20lightWorld;\x0auniform\x20vec3\x20cameraPosition;\x0auniform\x20vec3\x20sunDirection;\x0auniform\x20vec3\x20sunColor;\x0auniform\x20vec2\x20depthValues;\x0auniform\x20float\x20scatteringCoefficient;\x0auniform\x20float\x20scatteringPower;\x0auniform\x20sampler2D\x20shadowMapSampler;\x0auniform\x20sampler2D\x20positionSampler;\x0afloat\x20computeScattering(float\x20lightDotView)\x0a{\x0afloat\x20result=1.0-scatteringCoefficient*scatteringCoefficient;\x0aresult/=(4.0*PI*pow(1.0+scatteringCoefficient*scatteringCoefficient-(2.0*scatteringCoefficient)*lightDotView,1.5));\x0areturn\x20result;\x0a}\x0avoid\x20main(void)\x0a{\x0avec3\x20worldPos=texture2D(positionSampler,vUV).rgb;\x0avec3\x20startPosition=cameraPosition;\x0avec3\x20rayVector=worldPos-startPosition;\x0afloat\x20rayLength=length(rayVector);\x0avec3\x20rayDirection=rayVector/rayLength;\x0afloat\x20stepLength=rayLength/NB_STEPS;\x0avec3\x20stepL=rayDirection*stepLength;\x0avec3\x20currentPosition=startPosition;\x0avec3\x20accumFog=vec3(0.0);\x0afor\x20(int\x20i=0;\x20i<int(NB_STEPS);\x20i++)\x0a{\x0avec4\x20worldInShadowCameraSpace=shadowViewProjection*vec4(currentPosition,1.0);\x0afloat\x20depthMetric=\x20(worldInShadowCameraSpace.z+depthValues.x)/(depthValues.y);\x0afloat\x20shadowPixelDepth=clamp(depthMetric,0.0,1.0);\x0aworldInShadowCameraSpace.xyz/=worldInShadowCameraSpace.w;\x0aworldInShadowCameraSpace.xyz=0.5*worldInShadowCameraSpace.xyz+vec3(0.5);\x0afloat\x20shadowMapValue=texture2D(shadowMapSampler,worldInShadowCameraSpace.xy).r;\x0aif\x20(shadowMapValue>shadowPixelDepth)\x0aaccumFog+=sunColor*computeScattering(dot(rayDirection,sunDirection));\x0acurrentPosition+=stepL;\x0a}\x0aaccumFog/=NB_STEPS;\x0avec3\x20color=accumFog*scatteringPower;\x0agl_FragColor=vec4(color*exp(color)\x20,1.0);\x0a}\x0a#endif\x0a#if\x20defined(VLSMERGE)\x0auniform\x20sampler2D\x20originalSampler;\x0avoid\x20main(void)\x0a{\x0agl_FragColor=texture2D(originalSampler,vUV)+texture2D(textureSampler,vUV);\x0a}\x0a#endif\x0a#if\x20defined(LUMINANCE)\x0auniform\x20vec2\x20lumOffsets[4];\x0avoid\x20main()\x0a{\x0afloat\x20average=0.0;\x0avec4\x20color=vec4(0.0);\x0afloat\x20maximum=-1e20;\x0avec3\x20weight=vec3(0.299,0.587,0.114);\x0afor\x20(int\x20i=0;\x20i<4;\x20i++)\x0a{\x0acolor=texture2D(textureSampler,vUV+\x20lumOffsets[i]);\x0afloat\x20GreyValue=dot(color.rgb,vec3(0.33,0.33,0.33));\x0a#ifdef\x20WEIGHTED_AVERAGE\x0afloat\x20GreyValue=dot(color.rgb,weight);\x0a#endif\x0a#ifdef\x20BRIGHTNESS\x0afloat\x20GreyValue=max(color.r,max(color.g,color.b));\x0a#endif\x0a#ifdef\x20HSL_COMPONENT\x0afloat\x20GreyValue=0.5*(max(color.r,max(color.g,color.b))+min(color.r,min(color.g,color.b)));\x0a#endif\x0a#ifdef\x20MAGNITUDE\x0afloat\x20GreyValue=length(color.rgb);\x0a#endif\x0amaximum=max(maximum,GreyValue);\x0aaverage+=(0.25*log(1e-5+GreyValue));\x0a}\x0aaverage=exp(average);\x0agl_FragColor=vec4(average,maximum,0.0,1.0);\x0a}\x0a#endif\x0a#if\x20defined(LUMINANCE_DOWN_SAMPLE)\x0auniform\x20vec2\x20dsOffsets[9];\x0auniform\x20float\x20halfDestPixelSize;\x0a#ifdef\x20FINAL_DOWN_SAMPLER\x0a#include<packingFunctions>\x0a#endif\x0avoid\x20main()\x0a{\x0avec4\x20color=vec4(0.0);\x0afloat\x20average=0.0;\x0afor\x20(int\x20i=0;\x20i<9;\x20i++)\x0a{\x0acolor=texture2D(textureSampler,vUV+vec2(halfDestPixelSize,halfDestPixelSize)+dsOffsets[i]);\x0aaverage+=color.r;\x0a}\x0aaverage/=9.0;\x0a#ifdef\x20FINAL_DOWN_SAMPLER\x0agl_FragColor=pack(average);\x0a#else\x0agl_FragColor=vec4(average,average,0.0,1.0);\x0a#endif\x0a}\x0a#endif\x0a#if\x20defined(HDR)\x0auniform\x20sampler2D\x20textureAdderSampler;\x0auniform\x20float\x20averageLuminance;\x0avoid\x20main()\x0a{\x0avec4\x20color=texture2D(textureAdderSampler,vUV);\x0a#ifndef\x20AUTO_EXPOSURE\x0avec4\x20adjustedColor=color/averageLuminance;\x0acolor=adjustedColor;\x0acolor.a=1.0;\x0a#endif\x0agl_FragColor=color;\x0a}\x0a#endif\x0a#if\x20defined(LENS_FLARE)\x0a#define\x20GHOSTS\x203\x0auniform\x20sampler2D\x20lensColorSampler;\x0auniform\x20float\x20strength;\x0auniform\x20float\x20ghostDispersal;\x0auniform\x20float\x20haloWidth;\x0auniform\x20vec2\x20resolution;\x0auniform\x20float\x20distortionStrength;\x0afloat\x20hash(vec2\x20p)\x0a{\x0afloat\x20h=dot(p,vec2(127.1,311.7));\x0areturn\x20-1.0+2.0*fract(sin(h)*43758.5453123);\x0a}\x0afloat\x20noise(in\x20vec2\x20p)\x0a{\x0avec2\x20i=floor(p);\x0avec2\x20f=fract(p);\x0avec2\x20u=f*f*(3.0-2.0*f);\x0areturn\x20mix(mix(hash(i+vec2(0.0,0.0)),\x0ahash(i+vec2(1.0,0.0)),u.x),\x0amix(hash(i+vec2(0.0,1.0)),\x0ahash(i+vec2(1.0,1.0)),u.x),u.y);\x0a}\x0afloat\x20fbm(vec2\x20p)\x0a{\x0afloat\x20f=0.0;\x0af+=0.5000*noise(p);\x20p*=2.02;\x0af+=0.2500*noise(p);\x20p*=2.03;\x0af+=0.1250*noise(p);\x20p*=2.01;\x0af+=0.0625*noise(p);\x20p*=2.04;\x0af/=0.9375;\x0areturn\x20f;\x0a}\x0avec3\x20pattern(vec2\x20uv)\x0a{\x0avec2\x20p=-1.0+2.0*uv;\x0afloat\x20p2=dot(p,p);\x0afloat\x20f=fbm(vec2(15.0*p2))/2.0;\x0afloat\x20r=0.2+0.6*sin(12.5*length(uv-vec2(0.5)));\x0afloat\x20g=0.2+0.6*sin(20.5*length(uv-vec2(0.5)));\x0afloat\x20b=0.2+0.6*sin(17.2*length(uv-vec2(0.5)));\x0areturn\x20(1.0-f)*vec3(r,g,b);\x0a}\x0afloat\x20luminance(vec3\x20color)\x0a{\x0areturn\x20dot(color.rgb,vec3(0.2126,0.7152,0.0722));\x0a}\x0avec4\x20textureDistorted(sampler2D\x20tex,vec2\x20texcoord,vec2\x20direction,vec3\x20distortion)\x0a{\x0areturn\x20vec4(\x0atexture2D(tex,texcoord+direction*distortion.r).r,\x0atexture2D(tex,texcoord+direction*distortion.g).g,\x0atexture2D(tex,texcoord+direction*distortion.b).b,\x0a1.0\x0a);\x0a}\x0avoid\x20main(void)\x0a{\x0avec2\x20uv=-vUV+vec2(1.0);\x0avec2\x20ghostDir=(vec2(0.5)-uv)*ghostDispersal;\x0avec2\x20texelSize=1.0/resolution;\x0avec3\x20distortion=vec3(-texelSize.x*distortionStrength,0.0,texelSize.x*distortionStrength);\x0avec4\x20result=vec4(0.0);\x0afloat\x20ghostIndice=1.0;\x0afor\x20(int\x20i=0;\x20i<GHOSTS;\x20++i)\x0a{\x0avec2\x20offset=fract(uv+ghostDir*ghostIndice);\x0afloat\x20weight=length(vec2(0.5)-offset)/length(vec2(0.5));\x0aweight=pow(1.0-weight,10.0);\x0aresult+=textureDistorted(textureSampler,offset,normalize(ghostDir),distortion)*weight*strength;\x0aghostIndice+=1.0;\x0a}\x0avec2\x20haloVec=normalize(ghostDir)*haloWidth;\x0afloat\x20weight=length(vec2(0.5)-fract(uv+haloVec))/length(vec2(0.5));\x0aweight=pow(1.0-weight,10.0);\x0aresult+=textureDistorted(textureSampler,fract(uv+haloVec),normalize(ghostDir),distortion)*weight*strength;\x0aresult*=texture2D(lensColorSampler,vec2(length(vec2(0.5)-uv)/length(vec2(0.5))));\x0agl_FragColor=result;\x0a}\x0a#endif\x0a#if\x20defined(LENS_FLARE_COMPOSE)\x0auniform\x20sampler2D\x20otherSampler;\x0auniform\x20sampler2D\x20lensDirtSampler;\x0auniform\x20sampler2D\x20lensStarSampler;\x0auniform\x20mat4\x20lensStarMatrix;\x0avoid\x20main(void)\x0a{\x0avec2\x20lensFlareCoords=(lensStarMatrix*vec4(vUV,1.0,1.0)).xy;\x0avec4\x20lensMod=texture2D(lensDirtSampler,vUV);\x0alensMod+=texture2D(lensStarSampler,vUV/*lensFlareCoords*/);\x0avec4\x20result=texture2D(textureSampler,vUV)*lensMod;\x0agl_FragColor=texture2D(otherSampler,vUV)+result;\x0a}\x0a#endif\x0a#if\x20defined(DEPTH_OF_FIELD)\x0auniform\x20sampler2D\x20otherSampler;\x0auniform\x20sampler2D\x20depthSampler;\x0auniform\x20float\x20distance;\x0avoid\x20main(void)\x0a{\x0avec4\x20sharp=texture2D(otherSampler,vUV);\x0avec4\x20blur=texture2D(textureSampler,vUV);\x0afloat\x20dist=clamp(texture2D(depthSampler,vUV).r*distance,0.0,1.0);\x0afloat\x20factor=0.0;\x0aif\x20(dist<0.05)\x0afactor=1.0;\x0aelse\x20if\x20(dist<0.1)\x0afactor=20.0*(0.1-dist);\x0aelse\x20if\x20(dist<0.5)\x0afactor=0.0;\x0aelse\x0afactor=2.0*(dist-0.5);\x0afactor=clamp(factor,0.0,0.90);\x0agl_FragColor=mix(sharp,blur,factor);\x0a}\x0a#endif\x0a#if\x20defined(MOTION_BLUR)\x0auniform\x20mat4\x20inverseViewProjection;\x0auniform\x20mat4\x20prevViewProjection;\x0auniform\x20vec2\x20screenSize;\x0auniform\x20float\x20motionScale;\x0auniform\x20float\x20motionStrength;\x0auniform\x20sampler2D\x20depthSampler;\x0avoid\x20main(void)\x0a{\x0avec2\x20texelSize=1.0/screenSize;\x0afloat\x20depth=texture2D(depthSampler,vUV).r;\x0avec4\x20cpos=vec4(vUV*2.0-1.0,depth,1.0);\x0acpos=cpos*inverseViewProjection;\x0avec4\x20ppos=cpos*prevViewProjection;\x0appos.xyz/=ppos.w;\x0appos.xy=ppos.xy*0.5+0.5;\x0avec2\x20velocity=(ppos.xy-vUV)*motionScale*motionStrength;\x0afloat\x20speed=length(velocity/texelSize);\x0aint\x20nSamples=int(clamp(speed,1.0,MAX_MOTION_SAMPLES));\x0avec4\x20result=texture2D(textureSampler,vUV);\x0afor\x20(int\x20i=1;\x20i<int(MAX_MOTION_SAMPLES);\x20++i)\x20{\x0aif\x20(i>=nSamples)\x0abreak;\x0avec2\x20offset1=vUV+velocity*(float(i)/float(nSamples-1)-0.5);\x0aresult+=texture2D(textureSampler,offset1);\x0a}\x0agl_FragColor=result/float(nSamples);\x0a}\x0a#endif\x0a','normalize','setFloat4','mousePosition','_keys','_xrSessionManager','function','#if\x20SM_FLOAT==0\x0a#include<packingFunctions>\x0a#endif\x0a#if\x20SM_SOFTTRANSPARENTSHADOW==1\x0a#include<bayerDitherFunctions>\x0auniform\x20float\x20softTransparentShadowSM;\x0a#endif\x0avarying\x20float\x20vDepthMetricSM;\x0a#if\x20SM_USEDISTANCE==1\x0auniform\x20vec3\x20lightDataSM;\x0avarying\x20vec3\x20vPositionWSM;\x0a#endif\x0auniform\x20vec3\x20biasAndScaleSM;\x0auniform\x20vec2\x20depthValuesSM;\x0a#if\x20defined(SM_DEPTHCLAMP)\x20&&\x20SM_DEPTHCLAMP==1\x0avarying\x20float\x20zSM;\x0a#endif\x0a','thinInstancePartialBufferUpdate','_removeOnDetach','simplePixelShader','float','_canUseMultipleBuffers','compilationString','isFloatTexture','CubeRaw','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','cull','mixVertexShader','#ifdef\x20_DEFINENAME_\x0a#if\x20_DEFINENAME_DIRECTUV==1\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV1\x0a#elif\x20_DEFINENAME_DIRECTUV==2\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV2\x0a#elif\x20_DEFINENAME_DIRECTUV==3\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV3\x0a#elif\x20_DEFINENAME_DIRECTUV==4\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV4\x0a#elif\x20_DEFINENAME_DIRECTUV==5\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV5\x0a#elif\x20_DEFINENAME_DIRECTUV==6\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV6\x0a#else\x0avarying\x20vec2\x20v_VARYINGNAME_UV;\x0a#endif\x0auniform\x20sampler2D\x20_SAMPLERNAME_Sampler;\x0a#endif\x0a','uniforms','#ifndef','_currentRenderTextureInd','#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#ifdef\x20SPHERICAL_HARMONICS\x0avec3\x20computeEnvironmentIrradiance(vec3\x20normal)\x20{\x0areturn\x20vSphericalL00\x0a+\x20vSphericalL1_1*(normal.y)\x0a+\x20vSphericalL10*(normal.z)\x0a+\x20vSphericalL11*(normal.x)\x0a+\x20vSphericalL2_2*(normal.y*normal.x)\x0a+\x20vSphericalL2_1*(normal.y*normal.z)\x0a+\x20vSphericalL20*((3.0*normal.z*normal.z)-1.0)\x0a+\x20vSphericalL21*(normal.z*normal.x)\x0a+\x20vSphericalL22*(normal.x*normal.x-(normal.y*normal.y));\x0a}\x0a#else\x0avec3\x20computeEnvironmentIrradiance(vec3\x20normal)\x20{\x0afloat\x20Nx=normal.x;\x0afloat\x20Ny=normal.y;\x0afloat\x20Nz=normal.z;\x0avec3\x20C1=vSphericalZZ.rgb;\x0avec3\x20Cx=vSphericalX.rgb;\x0avec3\x20Cy=vSphericalY.rgb;\x0avec3\x20Cz=vSphericalZ.rgb;\x0avec3\x20Cxx_zz=vSphericalXX_ZZ.rgb;\x0avec3\x20Cyy_zz=vSphericalYY_ZZ.rgb;\x0avec3\x20Cxy=vSphericalXY.rgb;\x0avec3\x20Cyz=vSphericalYZ.rgb;\x0avec3\x20Czx=vSphericalZX.rgb;\x0avec3\x20a1=Cyy_zz*Ny+Cy;\x0avec3\x20a2=Cyz*Nz+a1;\x0avec3\x20b1=Czx*Nz+Cx;\x0avec3\x20b2=Cxy*Ny+b1;\x0avec3\x20b3=Cxx_zz*Nx+b2;\x0avec3\x20t1=Cz\x20*Nz+C1;\x0avec3\x20t2=a2\x20*Ny+t1;\x0avec3\x20t3=b3\x20*Nx+t2;\x0areturn\x20t3;\x0a}\x0a#endif\x0a#endif\x0a','TEXTURE_NEAREST_LINEAR','PREPASS_REFLECTIVITY_TEXTURE_TYPE','_totalPointersPressed','createIndexBuffer','geometryVertexDeclaration','useCache','additionalDefineValue','endMainRenderPass','setWriteMask','\x0a\x20\x20\x20\x20const\x20vec2\x20pos[4]\x20=\x20vec2[4](vec2(-1.0f,\x201.0f),\x20vec2(1.0f,\x201.0f),\x20vec2(-1.0f,\x20-1.0f),\x20vec2(1.0f,\x20-1.0f));\x0a\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20vec4(pos[gl_VertexIndex],\x200.0,\x201.0);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','_textureFormat','layers','fixedFoveation','FALLOFF_GLTF','RGBA32Sint','decorate','_bindUnboundFramebuffer','Vector2','BuildArray','_updateBoundingInfo','_uniforms','autoPlay','_physicsEngine','draw','_getFreeDefineName','480458pmqTIY','_getShaderSource','_uvs','Move','visibleModelBox','textureNames','isTextureArray','#define\x20CLIPPLANE','TEXTUREFORMAT_RG_INTEGER','dataType','ASTC5x4Unorm','_currentItemIsBundle','_checkSize','internal\x20process\x20texture\x20-\x20invertY=','REFLECTIONMAP_SPHERICAL','#include<__decl__defaultVertex>\x0a#define\x20CUSTOM_VERTEX_BEGIN\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20TANGENT\x0aattribute\x20vec4\x20tangent;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#include<uvAttributeDeclaration>[2..7]\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<helperFunctions>\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0a#include<prePassVertexDeclaration>\x0a#include<mainUVVaryingDeclaration>[1..7]\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,DIFFUSE,_VARYINGNAME_,Diffuse)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap)\x0a#if\x20defined(SPECULARTERM)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,SPECULAR,_VARYINGNAME_,Specular)\x0a#endif\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal)\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<bumpVertexDeclaration>\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightVxFragment>[0..maxSimultaneousLights]\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avarying\x20vec3\x20vPositionUVW;\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avarying\x20vec3\x20vDirectionW;\x0a#endif\x0a#include<logDepthDeclaration>\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avec3\x20positionUpdated=position;\x0a#ifdef\x20NORMAL\x0avec3\x20normalUpdated=normal;\x0a#endif\x0a#ifdef\x20TANGENT\x0avec4\x20tangentUpdated=tangent;\x0a#endif\x0a#ifdef\x20UV1\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#include<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avPositionUVW=positionUpdated;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_UPDATE_POSITION\x0a#define\x20CUSTOM_VERTEX_UPDATE_NORMAL\x0a#include<instancesVertex>\x0a#if\x20defined(PREPASS)\x20&&\x20defined(PREPASS_VELOCITY)\x20&&\x20!defined(BONES_VELOCITY_ENABLED)\x0avCurrentPosition=viewProjection*finalWorld*vec4(positionUpdated,1.0);\x0avPreviousPosition=previousViewProjection*finalPreviousWorld*vec4(positionUpdated,1.0);\x0a#endif\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(positionUpdated,1.0);\x0a#ifdef\x20NORMAL\x0amat3\x20normalWorld=mat3(finalWorld);\x0a#if\x20defined(INSTANCES)\x20&&\x20defined(THIN_INSTANCES)\x0avNormalW=normalUpdated/vec3(dot(normalWorld[0],normalWorld[0]),dot(normalWorld[1],normalWorld[1]),dot(normalWorld[2],normalWorld[2]));\x0avNormalW=normalize(normalWorld*vNormalW);\x0a#else\x0a#ifdef\x20NONUNIFORMSCALING\x0anormalWorld=transposeMat3(inverseMat3(normalWorld));\x0a#endif\x0avNormalW=normalize(normalWorld*normalUpdated);\x0a#endif\x0a#endif\x0a#define\x20CUSTOM_VERTEX_UPDATE_WORLDPOS\x0a#ifdef\x20MULTIVIEW\x0aif\x20(gl_ViewID_OVR==0u)\x20{\x0agl_Position=viewProjection*worldPos;\x0a}\x20else\x20{\x0agl_Position=viewProjectionR*worldPos;\x0a}\x0a#else\x0agl_Position=viewProjection*worldPos;\x0a#endif\x0avPositionW=vec3(worldPos);\x0a#include<prePassVertex>\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avDirectionW=normalize(vec3(finalWorld*vec4(positionUpdated,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uvUpdated=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20MAINUV1\x0avMainUV1=uvUpdated;\x0a#endif\x0a#include<uvVariableDeclaration>[2..7]\x0a#include<samplerVertexImplementation>(_DEFINENAME_,DIFFUSE,_VARYINGNAME_,Diffuse,_MATRIXNAME_,diffuse,_INFONAME_,DiffuseInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail,_MATRIXNAME_,detail,_INFONAME_,DetailInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient,_MATRIXNAME_,ambient,_INFONAME_,AmbientInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity,_MATRIXNAME_,opacity,_INFONAME_,OpacityInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive,_MATRIXNAME_,emissive,_INFONAME_,EmissiveInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap,_MATRIXNAME_,lightmap,_INFONAME_,LightmapInfos.x)\x0a#if\x20defined(SPECULARTERM)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,SPECULAR,_VARYINGNAME_,Specular,_MATRIXNAME_,specular,_INFONAME_,SpecularInfos.x)\x0a#endif\x0a#include<samplerVertexImplementation>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump,_MATRIXNAME_,bump,_INFONAME_,BumpInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal,_MATRIXNAME_,decal,_INFONAME_,DecalInfos.x)\x0a#include<bumpVertex>\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#include<pointCloudVertex>\x0a#include<logDepthVertex>\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','1611654hipHac','#ifdef\x20SHADOWS\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20TEXTUREFUNC(s,c,l)\x20texture2DLodEXT(s,c,l)\x0a#else\x0a#define\x20TEXTUREFUNC(s,c,b)\x20texture2D(s,c,b)\x0a#endif\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20unpack(vec4\x20color)\x0a{\x0aconst\x20vec4\x20bit_shift=vec4(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);\x0areturn\x20dot(color,bit_shift);\x0a}\x0a#endif\x0afloat\x20computeFallOff(float\x20value,vec2\x20clipSpace,float\x20frustumEdgeFalloff)\x0a{\x0afloat\x20mask=smoothstep(1.0-frustumEdgeFalloff,1.00000012,clamp(dot(clipSpace,clipSpace),0.,1.));\x0areturn\x20mix(value,1.0,mask);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowCube(vec3\x20lightPosition,samplerCube\x20shadowSampler,float\x20darkness,vec2\x20depthValues)\x0a{\x0avec3\x20directionToLight=vPositionW-lightPosition;\x0afloat\x20depth=length(directionToLight);\x0adepth=(depth+depthValues.x)/(depthValues.y);\x0adepth=clamp(depth,0.,1.0);\x0adirectionToLight=normalize(directionToLight);\x0adirectionToLight.y=-directionToLight.y;\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20shadow=unpack(textureCube(shadowSampler,directionToLight));\x0a#else\x0afloat\x20shadow=textureCube(shadowSampler,directionToLight).x;\x0a#endif\x0areturn\x20depth>shadow\x20?\x20darkness\x20:\x201.0;\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPoissonSamplingCube(vec3\x20lightPosition,samplerCube\x20shadowSampler,float\x20mapSize,float\x20darkness,vec2\x20depthValues)\x0a{\x0avec3\x20directionToLight=vPositionW-lightPosition;\x0afloat\x20depth=length(directionToLight);\x0adepth=(depth+depthValues.x)/(depthValues.y);\x0adepth=clamp(depth,0.,1.0);\x0adirectionToLight=normalize(directionToLight);\x0adirectionToLight.y=-directionToLight.y;\x0afloat\x20visibility=1.;\x0avec3\x20poissonDisk[4];\x0apoissonDisk[0]=vec3(-1.0,1.0,-1.0);\x0apoissonDisk[1]=vec3(1.0,-1.0,-1.0);\x0apoissonDisk[2]=vec3(-1.0,-1.0,-1.0);\x0apoissonDisk[3]=vec3(1.0,-1.0,1.0);\x0a#ifndef\x20SHADOWFLOAT\x0aif\x20(unpack(textureCube(shadowSampler,directionToLight+poissonDisk[0]*mapSize))<depth)\x20visibility-=0.25;\x0aif\x20(unpack(textureCube(shadowSampler,directionToLight+poissonDisk[1]*mapSize))<depth)\x20visibility-=0.25;\x0aif\x20(unpack(textureCube(shadowSampler,directionToLight+poissonDisk[2]*mapSize))<depth)\x20visibility-=0.25;\x0aif\x20(unpack(textureCube(shadowSampler,directionToLight+poissonDisk[3]*mapSize))<depth)\x20visibility-=0.25;\x0a#else\x0aif\x20(textureCube(shadowSampler,directionToLight+poissonDisk[0]*mapSize).x<depth)\x20visibility-=0.25;\x0aif\x20(textureCube(shadowSampler,directionToLight+poissonDisk[1]*mapSize).x<depth)\x20visibility-=0.25;\x0aif\x20(textureCube(shadowSampler,directionToLight+poissonDisk[2]*mapSize).x<depth)\x20visibility-=0.25;\x0aif\x20(textureCube(shadowSampler,directionToLight+poissonDisk[3]*mapSize).x<depth)\x20visibility-=0.25;\x0a#endif\x0areturn\x20min(1.0,visibility+darkness);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithESMCube(vec3\x20lightPosition,samplerCube\x20shadowSampler,float\x20darkness,float\x20depthScale,vec2\x20depthValues)\x0a{\x0avec3\x20directionToLight=vPositionW-lightPosition;\x0afloat\x20depth=length(directionToLight);\x0adepth=(depth+depthValues.x)/(depthValues.y);\x0afloat\x20shadowPixelDepth=clamp(depth,0.,1.0);\x0adirectionToLight=normalize(directionToLight);\x0adirectionToLight.y=-directionToLight.y;\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20shadowMapSample=unpack(textureCube(shadowSampler,directionToLight));\x0a#else\x0afloat\x20shadowMapSample=textureCube(shadowSampler,directionToLight).x;\x0a#endif\x0afloat\x20esm=1.0-clamp(exp(min(87.,depthScale*shadowPixelDepth))*shadowMapSample,0.,1.-darkness);\x20\x0areturn\x20esm;\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithCloseESMCube(vec3\x20lightPosition,samplerCube\x20shadowSampler,float\x20darkness,float\x20depthScale,vec2\x20depthValues)\x0a{\x0avec3\x20directionToLight=vPositionW-lightPosition;\x0afloat\x20depth=length(directionToLight);\x0adepth=(depth+depthValues.x)/(depthValues.y);\x0afloat\x20shadowPixelDepth=clamp(depth,0.,1.0);\x0adirectionToLight=normalize(directionToLight);\x0adirectionToLight.y=-directionToLight.y;\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20shadowMapSample=unpack(textureCube(shadowSampler,directionToLight));\x0a#else\x0afloat\x20shadowMapSample=textureCube(shadowSampler,directionToLight).x;\x0a#endif\x0afloat\x20esm=clamp(exp(min(87.,-depthScale*(shadowPixelDepth-shadowMapSample))),darkness,1.);\x0areturn\x20esm;\x0a}\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20inline\x0afloat\x20computeShadowCSM(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArray\x20shadowSampler,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec2\x20uv=0.5*clipSpace.xy+vec2(0.5);\x0avec3\x20uvLayer=vec3(uv.x,uv.y,layer);\x0afloat\x20shadowPixelDepth=clamp(depthMetric,0.,1.0);\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20shadow=unpack(texture2D(shadowSampler,uvLayer));\x0a#else\x0afloat\x20shadow=texture2D(shadowSampler,uvLayer).x;\x0a#endif\x0areturn\x20shadowPixelDepth>shadow\x20?\x20computeFallOff(darkness,clipSpace.xy,frustumEdgeFalloff)\x20:\x201.;\x0a}\x0a#endif\x0a#define\x20inline\x0afloat\x20computeShadow(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20shadowSampler,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec2\x20uv=0.5*clipSpace.xy+vec2(0.5);\x0aif\x20(uv.x<0.\x20||\x20uv.x>1.0\x20||\x20uv.y<0.\x20||\x20uv.y>1.0)\x0a{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0afloat\x20shadowPixelDepth=clamp(depthMetric,0.,1.0);\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20shadow=unpack(TEXTUREFUNC(shadowSampler,uv,0.));\x0a#else\x0afloat\x20shadow=TEXTUREFUNC(shadowSampler,uv,0.).x;\x0a#endif\x0areturn\x20shadowPixelDepth>shadow\x20?\x20computeFallOff(darkness,clipSpace.xy,frustumEdgeFalloff)\x20:\x201.;\x0a}\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPoissonSampling(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20shadowSampler,float\x20mapSize,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec2\x20uv=0.5*clipSpace.xy+vec2(0.5);\x0aif\x20(uv.x<0.\x20||\x20uv.x>1.0\x20||\x20uv.y<0.\x20||\x20uv.y>1.0)\x0a{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0afloat\x20shadowPixelDepth=clamp(depthMetric,0.,1.0);\x0afloat\x20visibility=1.;\x0avec2\x20poissonDisk[4];\x0apoissonDisk[0]=vec2(-0.94201624,-0.39906216);\x0apoissonDisk[1]=vec2(0.94558609,-0.76890725);\x0apoissonDisk[2]=vec2(-0.094184101,-0.92938870);\x0apoissonDisk[3]=vec2(0.34495938,0.29387760);\x0a#ifndef\x20SHADOWFLOAT\x0aif\x20(unpack(TEXTUREFUNC(shadowSampler,uv+poissonDisk[0]*mapSize,0.))<shadowPixelDepth)\x20visibility-=0.25;\x0aif\x20(unpack(TEXTUREFUNC(shadowSampler,uv+poissonDisk[1]*mapSize,0.))<shadowPixelDepth)\x20visibility-=0.25;\x0aif\x20(unpack(TEXTUREFUNC(shadowSampler,uv+poissonDisk[2]*mapSize,0.))<shadowPixelDepth)\x20visibility-=0.25;\x0aif\x20(unpack(TEXTUREFUNC(shadowSampler,uv+poissonDisk[3]*mapSize,0.))<shadowPixelDepth)\x20visibility-=0.25;\x0a#else\x0aif\x20(TEXTUREFUNC(shadowSampler,uv+poissonDisk[0]*mapSize,0.).x<shadowPixelDepth)\x20visibility-=0.25;\x0aif\x20(TEXTUREFUNC(shadowSampler,uv+poissonDisk[1]*mapSize,0.).x<shadowPixelDepth)\x20visibility-=0.25;\x0aif\x20(TEXTUREFUNC(shadowSampler,uv+poissonDisk[2]*mapSize,0.).x<shadowPixelDepth)\x20visibility-=0.25;\x0aif\x20(TEXTUREFUNC(shadowSampler,uv+poissonDisk[3]*mapSize,0.).x<shadowPixelDepth)\x20visibility-=0.25;\x0a#endif\x0areturn\x20computeFallOff(min(1.0,visibility+darkness),clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithESM(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20shadowSampler,float\x20darkness,float\x20depthScale,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec2\x20uv=0.5*clipSpace.xy+vec2(0.5);\x0aif\x20(uv.x<0.\x20||\x20uv.x>1.0\x20||\x20uv.y<0.\x20||\x20uv.y>1.0)\x0a{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0afloat\x20shadowPixelDepth=clamp(depthMetric,0.,1.0);\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20shadowMapSample=unpack(TEXTUREFUNC(shadowSampler,uv,0.));\x0a#else\x0afloat\x20shadowMapSample=TEXTUREFUNC(shadowSampler,uv,0.).x;\x0a#endif\x0afloat\x20esm=1.0-clamp(exp(min(87.,depthScale*shadowPixelDepth))*shadowMapSample,0.,1.-darkness);\x0areturn\x20computeFallOff(esm,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithCloseESM(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20shadowSampler,float\x20darkness,float\x20depthScale,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec2\x20uv=0.5*clipSpace.xy+vec2(0.5);\x0aif\x20(uv.x<0.\x20||\x20uv.x>1.0\x20||\x20uv.y<0.\x20||\x20uv.y>1.0)\x0a{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0afloat\x20shadowPixelDepth=clamp(depthMetric,0.,1.0);\x20\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20shadowMapSample=unpack(TEXTUREFUNC(shadowSampler,uv,0.));\x0a#else\x0afloat\x20shadowMapSample=TEXTUREFUNC(shadowSampler,uv,0.).x;\x0a#endif\x0afloat\x20esm=clamp(exp(min(87.,-depthScale*(shadowPixelDepth-shadowMapSample))),darkness,1.);\x0areturn\x20computeFallOff(esm,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0a#ifdef\x20IS_NDC_HALF_ZRANGE\x0a#define\x20ZINCLIP\x20clipSpace.z\x0a#else\x0a#define\x20ZINCLIP\x20uvDepth.z\x0a#endif\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20GREATEST_LESS_THAN_ONE\x200.99999994\x0a#define\x20inline\x0afloat\x20computeShadowWithCSMPCF1(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArrayShadow\x20shadowSampler,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=clamp(ZINCLIP,0.,GREATEST_LESS_THAN_ONE);\x0avec4\x20uvDepthLayer=vec4(uvDepth.x,uvDepth.y,layer,uvDepth.z);\x0afloat\x20shadow=texture2D(shadowSampler,uvDepthLayer);\x0ashadow=mix(darkness,1.,shadow);\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithCSMPCF3(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArrayShadow\x20shadowSampler,vec2\x20shadowMapSizeAndInverse,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=clamp(ZINCLIP,0.,GREATEST_LESS_THAN_ONE);\x0avec2\x20uv=uvDepth.xy*shadowMapSizeAndInverse.x;\x20\x0auv+=0.5;\x20\x0avec2\x20st=fract(uv);\x20\x0avec2\x20base_uv=floor(uv)-0.5;\x20\x0abase_uv*=shadowMapSizeAndInverse.y;\x20\x0avec2\x20uvw0=3.-2.*st;\x0avec2\x20uvw1=1.+2.*st;\x0avec2\x20u=vec2((2.-st.x)/uvw0.x-1.,st.x/uvw1.x+1.)*shadowMapSizeAndInverse.y;\x0avec2\x20v=vec2((2.-st.y)/uvw0.y-1.,st.y/uvw1.y+1.)*shadowMapSizeAndInverse.y;\x0afloat\x20shadow=0.;\x0ashadow+=uvw0.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[0]),layer,uvDepth.z));\x0ashadow+=uvw1.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[0]),layer,uvDepth.z));\x0ashadow+=uvw0.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[1]),layer,uvDepth.z));\x0ashadow+=uvw1.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[1]),layer,uvDepth.z));\x0ashadow=shadow/16.;\x0ashadow=mix(darkness,1.,shadow);\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithCSMPCF5(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArrayShadow\x20shadowSampler,vec2\x20shadowMapSizeAndInverse,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=clamp(ZINCLIP,0.,GREATEST_LESS_THAN_ONE);\x0avec2\x20uv=uvDepth.xy*shadowMapSizeAndInverse.x;\x20\x0auv+=0.5;\x20\x0avec2\x20st=fract(uv);\x20\x0avec2\x20base_uv=floor(uv)-0.5;\x20\x0abase_uv*=shadowMapSizeAndInverse.y;\x20\x0avec2\x20uvw0=4.-3.*st;\x0avec2\x20uvw1=vec2(7.);\x0avec2\x20uvw2=1.+3.*st;\x0avec3\x20u=vec3((3.-2.*st.x)/uvw0.x-2.,(3.+st.x)/uvw1.x,st.x/uvw2.x+2.)*shadowMapSizeAndInverse.y;\x0avec3\x20v=vec3((3.-2.*st.y)/uvw0.y-2.,(3.+st.y)/uvw1.y,st.y/uvw2.y+2.)*shadowMapSizeAndInverse.y;\x0afloat\x20shadow=0.;\x0ashadow+=uvw0.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[0]),layer,uvDepth.z));\x0ashadow+=uvw1.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[0]),layer,uvDepth.z));\x0ashadow+=uvw2.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[2],v[0]),layer,uvDepth.z));\x0ashadow+=uvw0.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[1]),layer,uvDepth.z));\x0ashadow+=uvw1.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[1]),layer,uvDepth.z));\x0ashadow+=uvw2.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[2],v[1]),layer,uvDepth.z));\x0ashadow+=uvw0.x*uvw2.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[2]),layer,uvDepth.z));\x0ashadow+=uvw1.x*uvw2.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[2]),layer,uvDepth.z));\x0ashadow+=uvw2.x*uvw2.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[2],v[2]),layer,uvDepth.z));\x0ashadow=shadow/144.;\x0ashadow=mix(darkness,1.,shadow);\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPCF1(vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DShadow\x20shadowSampler,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0aif\x20(depthMetric>1.0\x20||\x20depthMetric<0.0)\x20{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=ZINCLIP;\x0afloat\x20shadow=TEXTUREFUNC(shadowSampler,uvDepth,0.);\x0ashadow=mix(darkness,1.,shadow);\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPCF3(vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DShadow\x20shadowSampler,vec2\x20shadowMapSizeAndInverse,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0aif\x20(depthMetric>1.0\x20||\x20depthMetric<0.0)\x20{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=ZINCLIP;\x0avec2\x20uv=uvDepth.xy*shadowMapSizeAndInverse.x;\x20\x0auv+=0.5;\x20\x0avec2\x20st=fract(uv);\x20\x0avec2\x20base_uv=floor(uv)-0.5;\x20\x0abase_uv*=shadowMapSizeAndInverse.y;\x20\x0avec2\x20uvw0=3.-2.*st;\x0avec2\x20uvw1=1.+2.*st;\x0avec2\x20u=vec2((2.-st.x)/uvw0.x-1.,st.x/uvw1.x+1.)*shadowMapSizeAndInverse.y;\x0avec2\x20v=vec2((2.-st.y)/uvw0.y-1.,st.y/uvw1.y+1.)*shadowMapSizeAndInverse.y;\x0afloat\x20shadow=0.;\x0ashadow+=uvw0.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[0]),uvDepth.z),0.);\x0ashadow+=uvw1.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[0]),uvDepth.z),0.);\x0ashadow+=uvw0.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[1]),uvDepth.z),0.);\x0ashadow+=uvw1.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[1]),uvDepth.z),0.);\x0ashadow=shadow/16.;\x0ashadow=mix(darkness,1.,shadow);\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPCF5(vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DShadow\x20shadowSampler,vec2\x20shadowMapSizeAndInverse,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0aif\x20(depthMetric>1.0\x20||\x20depthMetric<0.0)\x20{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=ZINCLIP;\x0avec2\x20uv=uvDepth.xy*shadowMapSizeAndInverse.x;\x20\x0auv+=0.5;\x20\x0avec2\x20st=fract(uv);\x20\x0avec2\x20base_uv=floor(uv)-0.5;\x20\x0abase_uv*=shadowMapSizeAndInverse.y;\x20\x0avec2\x20uvw0=4.-3.*st;\x0avec2\x20uvw1=vec2(7.);\x0avec2\x20uvw2=1.+3.*st;\x0avec3\x20u=vec3((3.-2.*st.x)/uvw0.x-2.,(3.+st.x)/uvw1.x,st.x/uvw2.x+2.)*shadowMapSizeAndInverse.y;\x0avec3\x20v=vec3((3.-2.*st.y)/uvw0.y-2.,(3.+st.y)/uvw1.y,st.y/uvw2.y+2.)*shadowMapSizeAndInverse.y;\x0afloat\x20shadow=0.;\x0ashadow+=uvw0.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[0]),uvDepth.z),0.);\x0ashadow+=uvw1.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[0]),uvDepth.z),0.);\x0ashadow+=uvw2.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[2],v[0]),uvDepth.z),0.);\x0ashadow+=uvw0.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[1]),uvDepth.z),0.);\x0ashadow+=uvw1.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[1]),uvDepth.z),0.);\x0ashadow+=uvw2.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[2],v[1]),uvDepth.z),0.);\x0ashadow+=uvw0.x*uvw2.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[2]),uvDepth.z),0.);\x0ashadow+=uvw1.x*uvw2.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[2]),uvDepth.z),0.);\x0ashadow+=uvw2.x*uvw2.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[2],v[2]),uvDepth.z),0.);\x0ashadow=shadow/144.;\x0ashadow=mix(darkness,1.,shadow);\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0aconst\x20vec3\x20PoissonSamplers32[64]=vec3[64](\x0avec3(0.06407013,0.05409927,0.),\x0avec3(0.7366577,0.5789394,0.),\x0avec3(-0.6270542,-0.5320278,0.),\x0avec3(-0.4096107,0.8411095,0.),\x0avec3(0.6849564,-0.4990818,0.),\x0avec3(-0.874181,-0.04579735,0.),\x0avec3(0.9989998,0.0009880066,0.),\x0avec3(-0.004920578,-0.9151649,0.),\x0avec3(0.1805763,0.9747483,0.),\x0avec3(-0.2138451,0.2635818,0.),\x0avec3(0.109845,0.3884785,0.),\x0avec3(0.06876755,-0.3581074,0.),\x0avec3(0.374073,-0.7661266,0.),\x0avec3(0.3079132,-0.1216763,0.),\x0avec3(-0.3794335,-0.8271583,0.),\x0avec3(-0.203878,-0.07715034,0.),\x0avec3(0.5912697,0.1469799,0.),\x0avec3(-0.88069,0.3031784,0.),\x0avec3(0.5040108,0.8283722,0.),\x0avec3(-0.5844124,0.5494877,0.),\x0avec3(0.6017799,-0.1726654,0.),\x0avec3(-0.5554981,0.1559997,0.),\x0avec3(-0.3016369,-0.3900928,0.),\x0avec3(-0.5550632,-0.1723762,0.),\x0avec3(0.925029,0.2995041,0.),\x0avec3(-0.2473137,0.5538505,0.),\x0avec3(0.9183037,-0.2862392,0.),\x0avec3(0.2469421,0.6718712,0.),\x0avec3(0.3916397,-0.4328209,0.),\x0avec3(-0.03576927,-0.6220032,0.),\x0avec3(-0.04661255,0.7995201,0.),\x0avec3(0.4402924,0.3640312,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.)\x0a);\x0aconst\x20vec3\x20PoissonSamplers64[64]=vec3[64](\x0avec3(-0.613392,0.617481,0.),\x0avec3(0.170019,-0.040254,0.),\x0avec3(-0.299417,0.791925,0.),\x0avec3(0.645680,0.493210,0.),\x0avec3(-0.651784,0.717887,0.),\x0avec3(0.421003,0.027070,0.),\x0avec3(-0.817194,-0.271096,0.),\x0avec3(-0.705374,-0.668203,0.),\x0avec3(0.977050,-0.108615,0.),\x0avec3(0.063326,0.142369,0.),\x0avec3(0.203528,0.214331,0.),\x0avec3(-0.667531,0.326090,0.),\x0avec3(-0.098422,-0.295755,0.),\x0avec3(-0.885922,0.215369,0.),\x0avec3(0.566637,0.605213,0.),\x0avec3(0.039766,-0.396100,0.),\x0avec3(0.751946,0.453352,0.),\x0avec3(0.078707,-0.715323,0.),\x0avec3(-0.075838,-0.529344,0.),\x0avec3(0.724479,-0.580798,0.),\x0avec3(0.222999,-0.215125,0.),\x0avec3(-0.467574,-0.405438,0.),\x0avec3(-0.248268,-0.814753,0.),\x0avec3(0.354411,-0.887570,0.),\x0avec3(0.175817,0.382366,0.),\x0avec3(0.487472,-0.063082,0.),\x0avec3(-0.084078,0.898312,0.),\x0avec3(0.488876,-0.783441,0.),\x0avec3(0.470016,0.217933,0.),\x0avec3(-0.696890,-0.549791,0.),\x0avec3(-0.149693,0.605762,0.),\x0avec3(0.034211,0.979980,0.),\x0avec3(0.503098,-0.308878,0.),\x0avec3(-0.016205,-0.872921,0.),\x0avec3(0.385784,-0.393902,0.),\x0avec3(-0.146886,-0.859249,0.),\x0avec3(0.643361,0.164098,0.),\x0avec3(0.634388,-0.049471,0.),\x0avec3(-0.688894,0.007843,0.),\x0avec3(0.464034,-0.188818,0.),\x0avec3(-0.440840,0.137486,0.),\x0avec3(0.364483,0.511704,0.),\x0avec3(0.034028,0.325968,0.),\x0avec3(0.099094,-0.308023,0.),\x0avec3(0.693960,-0.366253,0.),\x0avec3(0.678884,-0.204688,0.),\x0avec3(0.001801,0.780328,0.),\x0avec3(0.145177,-0.898984,0.),\x0avec3(0.062655,-0.611866,0.),\x0avec3(0.315226,-0.604297,0.),\x0avec3(-0.780145,0.486251,0.),\x0avec3(-0.371868,0.882138,0.),\x0avec3(0.200476,0.494430,0.),\x0avec3(-0.494552,-0.711051,0.),\x0avec3(0.612476,0.705252,0.),\x0avec3(-0.578845,-0.768792,0.),\x0avec3(-0.772454,-0.090976,0.),\x0avec3(0.504440,0.372295,0.),\x0avec3(0.155736,0.065157,0.),\x0avec3(0.391522,0.849605,0.),\x0avec3(-0.620106,-0.328104,0.),\x0avec3(0.789239,-0.419965,0.),\x0avec3(-0.545396,0.538133,0.),\x0avec3(-0.178564,-0.596057,0.)\x0a);\x0a#define\x20inline\x0afloat\x20computeShadowWithCSMPCSS(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArray\x20depthSampler,highp\x20sampler2DArrayShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff,int\x20searchTapCount,int\x20pcfTapCount,vec3[64]\x20poissonSamplers,vec2\x20lightSizeUVCorrection,float\x20depthCorrection,float\x20penumbraDarkness)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=clamp(ZINCLIP,0.,GREATEST_LESS_THAN_ONE);\x0avec4\x20uvDepthLayer=vec4(uvDepth.x,uvDepth.y,layer,uvDepth.z);\x0afloat\x20blockerDepth=0.0;\x0afloat\x20sumBlockerDepth=0.0;\x0afloat\x20numBlocker=0.0;\x0afor\x20(int\x20i=0;\x20i<searchTapCount;\x20i\x20++)\x20{\x0ablockerDepth=texture2D(depthSampler,vec3(uvDepth.xy+(lightSizeUV*lightSizeUVCorrection*shadowMapSizeInverse*PoissonSamplers32[i].xy),layer)).r;\x0aif\x20(blockerDepth<depthMetric)\x20{\x0asumBlockerDepth+=blockerDepth;\x0anumBlocker++;\x0a}\x0a}\x0afloat\x20avgBlockerDepth=sumBlockerDepth/numBlocker;\x0afloat\x20AAOffset=shadowMapSizeInverse*10.;\x0afloat\x20penumbraRatio=((depthMetric-avgBlockerDepth)*depthCorrection+AAOffset);\x0avec4\x20filterRadius=vec4(penumbraRatio*lightSizeUV*lightSizeUVCorrection*shadowMapSizeInverse,0.,0.);\x0afloat\x20random=getRand(vPositionFromLight.xy);\x0afloat\x20rotationAngle=random*3.1415926;\x0avec2\x20rotationVector=vec2(cos(rotationAngle),sin(rotationAngle));\x0afloat\x20shadow=0.;\x0afor\x20(int\x20i=0;\x20i<pcfTapCount;\x20i++)\x20{\x0avec4\x20offset=vec4(poissonSamplers[i],0.);\x0aoffset=vec4(offset.x*rotationVector.x-offset.y*rotationVector.y,offset.y*rotationVector.x+offset.x*rotationVector.y,0.,0.);\x0ashadow+=texture2D(shadowSampler,uvDepthLayer+offset*filterRadius);\x0a}\x0ashadow/=float(pcfTapCount);\x0ashadow=mix(shadow,1.,min((depthMetric-avgBlockerDepth)*depthCorrection*penumbraDarkness,1.));\x0ashadow=mix(darkness,1.,shadow);\x0aif\x20(numBlocker<1.0)\x20{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPCSS(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20depthSampler,highp\x20sampler2DShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff,int\x20searchTapCount,int\x20pcfTapCount,vec3[64]\x20poissonSamplers)\x0a{\x0aif\x20(depthMetric>1.0\x20||\x20depthMetric<0.0)\x20{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=ZINCLIP;\x0afloat\x20blockerDepth=0.0;\x0afloat\x20sumBlockerDepth=0.0;\x0afloat\x20numBlocker=0.0;\x0afor\x20(int\x20i=0;\x20i<searchTapCount;\x20i\x20++)\x20{\x0ablockerDepth=TEXTUREFUNC(depthSampler,uvDepth.xy+(lightSizeUV*shadowMapSizeInverse*PoissonSamplers32[i].xy),0.).r;\x0aif\x20(blockerDepth<depthMetric)\x20{\x0asumBlockerDepth+=blockerDepth;\x0anumBlocker++;\x0a}\x0a}\x0aif\x20(numBlocker<1.0)\x20{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0afloat\x20avgBlockerDepth=sumBlockerDepth/numBlocker;\x0afloat\x20AAOffset=shadowMapSizeInverse*10.;\x0afloat\x20penumbraRatio=((depthMetric-avgBlockerDepth)+AAOffset);\x0afloat\x20filterRadius=penumbraRatio*lightSizeUV*shadowMapSizeInverse;\x0afloat\x20random=getRand(vPositionFromLight.xy);\x0afloat\x20rotationAngle=random*3.1415926;\x0avec2\x20rotationVector=vec2(cos(rotationAngle),sin(rotationAngle));\x0afloat\x20shadow=0.;\x0afor\x20(int\x20i=0;\x20i<pcfTapCount;\x20i++)\x20{\x0avec3\x20offset=poissonSamplers[i];\x0aoffset=vec3(offset.x*rotationVector.x-offset.y*rotationVector.y,offset.y*rotationVector.x+offset.x*rotationVector.y,0.);\x0ashadow+=TEXTUREFUNC(shadowSampler,uvDepth+offset*filterRadius,0.);\x0a}\x0ashadow/=float(pcfTapCount);\x0ashadow=mix(shadow,1.,depthMetric-avgBlockerDepth);\x0ashadow=mix(darkness,1.,shadow);\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPCSS16(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20depthSampler,highp\x20sampler2DShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0areturn\x20computeShadowWithPCSS(vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,16,PoissonSamplers32);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPCSS32(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20depthSampler,highp\x20sampler2DShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0areturn\x20computeShadowWithPCSS(vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,32,PoissonSamplers32);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPCSS64(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20depthSampler,highp\x20sampler2DShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0areturn\x20computeShadowWithPCSS(vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,32,64,PoissonSamplers64);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithCSMPCSS16(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArray\x20depthSampler,highp\x20sampler2DArrayShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff,vec2\x20lightSizeUVCorrection,float\x20depthCorrection,float\x20penumbraDarkness)\x0a{\x0areturn\x20computeShadowWithCSMPCSS(layer,vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,16,PoissonSamplers32,lightSizeUVCorrection,depthCorrection,penumbraDarkness);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithCSMPCSS32(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArray\x20depthSampler,highp\x20sampler2DArrayShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff,vec2\x20lightSizeUVCorrection,float\x20depthCorrection,float\x20penumbraDarkness)\x0a{\x0areturn\x20computeShadowWithCSMPCSS(layer,vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,32,PoissonSamplers32,lightSizeUVCorrection,depthCorrection,penumbraDarkness);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithCSMPCSS64(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArray\x20depthSampler,highp\x20sampler2DArrayShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff,vec2\x20lightSizeUVCorrection,float\x20depthCorrection,float\x20penumbraDarkness)\x0a{\x0areturn\x20computeShadowWithCSMPCSS(layer,vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,32,64,PoissonSamplers64,lightSizeUVCorrection,depthCorrection,penumbraDarkness);\x0a}\x0a#endif\x0a#endif\x0a','depthFunc','ALPHA_ONEONE_ONEZERO','postprocessVertexShader','1vtXEpa','#define\x20NUM_BONE_INFLUENCERS\x20','query','textureBlocks','_missingVaryings','currentLine','_getActionManagerForTrigger','_unpackFlipY','multiview','_createDepthStencilTexture','LIGHTMAP_SHADOWSONLY','fluidRenderingParticleThicknessVertexShader','backgroundFragmentDeclaration','setCullFace','getBoundingInfo','pbrBlockReflection','#if\x20','pbrIBLFunctions','Auto','copyTextureToBuffer','setFloatArray','_drawWrapperFog','clipPlane6','varyingFragmentKeywordName','ALPHA_REVERSEONEMINUS','LastCreatedScene','EACRG11Snorm','onVRRequestPresentStart','autoBindSampler','shadowMapVertexExtraDeclaration','oculusMultiview','_zOffset','detachCamerasFromRenderPipeline','vec2','getVRDisplays','addFallback','#if\x20defined(BUMP)\x20||\x20!defined(NORMAL)\x20||\x20defined(FORCENORMALFORWARD)\x20||\x20defined(SPECULARAA)\x20||\x20defined(CLEARCOAT_BUMP)\x20||\x20defined(ANISOTROPIC)\x0a#extension\x20GL_OES_standard_derivatives\x20:\x20enable\x0a#endif\x0a#ifdef\x20LODBASEDMICROSFURACE\x0a#extension\x20GL_EXT_shader_texture_lod\x20:\x20enable\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_BEGIN\x0a#ifdef\x20LOGARITHMICDEPTH\x0a#extension\x20GL_EXT_frag_depth\x20:\x20enable\x0a#endif\x0a#include<prePassDeclaration>[SCENE_MRT_COUNT]\x0aprecision\x20highp\x20float;\x0a#include<oitDeclaration>\x0a#ifndef\x20FROMLINEARSPACE\x0a#define\x20FROMLINEARSPACE\x0a#endif\x0a#include<__decl__pbrFragment>\x0a#include<pbrFragmentExtraDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<pbrFragmentSamplersDeclaration>\x0a#include<imageProcessingDeclaration>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<logDepthDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#include<helperFunctions>\x0a#include<subSurfaceScatteringFunctions>\x0a#include<importanceSampling>\x0a#include<pbrHelperFunctions>\x0a#include<imageProcessingFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<harmonicsFunctions>\x0a#include<pbrDirectLightingSetupFunctions>\x0a#include<pbrDirectLightingFalloffFunctions>\x0a#include<pbrBRDFFunctions>\x0a#include<hdrFilteringFunctions>\x0a#include<pbrDirectLightingFunctions>\x0a#include<pbrIBLFunctions>\x0a#include<bumpFragmentMainFunctions>\x0a#include<bumpFragmentFunctions>\x0a#ifdef\x20REFLECTION\x0a#include<reflectionFunction>\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0a#include<pbrBlockAlbedoOpacity>\x0a#include<pbrBlockReflectivity>\x0a#include<pbrBlockAmbientOcclusion>\x0a#include<pbrBlockAlphaFresnel>\x0a#include<pbrBlockAnisotropic>\x0a#include<pbrBlockReflection>\x0a#include<pbrBlockSheen>\x0a#include<pbrBlockClearcoat>\x0a#include<pbrBlockIridescence>\x0a#include<pbrBlockSubSurface>\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0a#include<pbrBlockNormalGeometric>\x0a#include<bumpFragment>\x0a#include<pbrBlockNormalFinal>\x0aalbedoOpacityOutParams\x20albedoOpacityOut;\x0a#ifdef\x20ALBEDO\x0avec4\x20albedoTexture=texture2D(albedoSampler,vAlbedoUV+uvOffset);\x0a#endif\x0a#ifdef\x20OPACITY\x0avec4\x20opacityMap=texture2D(opacitySampler,vOpacityUV+uvOffset);\x0a#endif\x0a#ifdef\x20DECAL\x0avec4\x20decalColor=texture2D(decalSampler,vDecalUV+uvOffset);\x0a#endif\x0aalbedoOpacityBlock(\x0avAlbedoColor,\x0a#ifdef\x20ALBEDO\x0aalbedoTexture,\x0avAlbedoInfos,\x0a#endif\x0a#ifdef\x20OPACITY\x0aopacityMap,\x0avOpacityInfos,\x0a#endif\x0a#ifdef\x20DETAIL\x0adetailColor,\x0avDetailInfos,\x0a#endif\x0a#ifdef\x20DECAL\x0adecalColor,\x0avDecalInfos,\x0a#endif\x0aalbedoOpacityOut\x0a);\x0avec3\x20surfaceAlbedo=albedoOpacityOut.surfaceAlbedo;\x0afloat\x20alpha=albedoOpacityOut.alpha;\x0a#define\x20CUSTOM_FRAGMENT_UPDATE_ALPHA\x0a#include<depthPrePass>\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_LIGHTS\x0aambientOcclusionOutParams\x20aoOut;\x0a#ifdef\x20AMBIENT\x0avec3\x20ambientOcclusionColorMap=texture2D(ambientSampler,vAmbientUV+uvOffset).rgb;\x0a#endif\x0aambientOcclusionBlock(\x0a#ifdef\x20AMBIENT\x0aambientOcclusionColorMap,\x0avAmbientInfos,\x0a#endif\x0aaoOut\x0a);\x0a#include<pbrBlockLightmapInit>\x0a#ifdef\x20UNLIT\x0avec3\x20diffuseBase=vec3(1.,1.,1.);\x0a#else\x0avec3\x20baseColor=surfaceAlbedo;\x0areflectivityOutParams\x20reflectivityOut;\x0a#if\x20defined(REFLECTIVITY)\x0avec4\x20surfaceMetallicOrReflectivityColorMap=texture2D(reflectivitySampler,vReflectivityUV+uvOffset);\x0avec4\x20baseReflectivity=surfaceMetallicOrReflectivityColorMap;\x0a#ifndef\x20METALLICWORKFLOW\x0a#ifdef\x20REFLECTIVITY_GAMMA\x0asurfaceMetallicOrReflectivityColorMap=toLinearSpace(surfaceMetallicOrReflectivityColorMap);\x0a#endif\x0asurfaceMetallicOrReflectivityColorMap.rgb*=vReflectivityInfos.y;\x0a#endif\x0a#endif\x0a#if\x20defined(MICROSURFACEMAP)\x0avec4\x20microSurfaceTexel=texture2D(microSurfaceSampler,vMicroSurfaceSamplerUV+uvOffset)*vMicroSurfaceSamplerInfos.y;\x0a#endif\x0a#ifdef\x20METALLICWORKFLOW\x0avec4\x20metallicReflectanceFactors=vMetallicReflectanceFactors;\x0a#ifdef\x20REFLECTANCE\x0avec4\x20reflectanceFactorsMap=texture2D(reflectanceSampler,vReflectanceUV+uvOffset);\x0a#ifdef\x20REFLECTANCE_GAMMA\x0areflectanceFactorsMap=toLinearSpace(reflectanceFactorsMap);\x0a#endif\x0ametallicReflectanceFactors.rgb*=reflectanceFactorsMap.rgb;\x0a#endif\x0a#ifdef\x20METALLIC_REFLECTANCE\x0avec4\x20metallicReflectanceFactorsMap=texture2D(metallicReflectanceSampler,vMetallicReflectanceUV+uvOffset);\x0a#ifdef\x20METALLIC_REFLECTANCE_GAMMA\x0ametallicReflectanceFactorsMap=toLinearSpace(metallicReflectanceFactorsMap);\x0a#endif\x0a#ifndef\x20METALLIC_REFLECTANCE_USE_ALPHA_ONLY\x0ametallicReflectanceFactors.rgb*=metallicReflectanceFactorsMap.rgb;\x0a#endif\x0ametallicReflectanceFactors*=metallicReflectanceFactorsMap.a;\x0a#endif\x0a#endif\x0areflectivityBlock(\x0avReflectivityColor,\x0a#ifdef\x20METALLICWORKFLOW\x0asurfaceAlbedo,\x0ametallicReflectanceFactors,\x0a#endif\x0a#ifdef\x20REFLECTIVITY\x0avReflectivityInfos,\x0asurfaceMetallicOrReflectivityColorMap,\x0a#endif\x0a#if\x20defined(METALLICWORKFLOW)\x20&&\x20defined(REFLECTIVITY)\x20&&\x20defined(AOSTOREINMETALMAPRED)\x0aaoOut.ambientOcclusionColor,\x0a#endif\x0a#ifdef\x20MICROSURFACEMAP\x0amicroSurfaceTexel,\x0a#endif\x0a#ifdef\x20DETAIL\x0adetailColor,\x0avDetailInfos,\x0a#endif\x0areflectivityOut\x0a);\x0afloat\x20microSurface=reflectivityOut.microSurface;\x0afloat\x20roughness=reflectivityOut.roughness;\x0a#ifdef\x20METALLICWORKFLOW\x0asurfaceAlbedo=reflectivityOut.surfaceAlbedo;\x0a#endif\x0a#if\x20defined(METALLICWORKFLOW)\x20&&\x20defined(REFLECTIVITY)\x20&&\x20defined(AOSTOREINMETALMAPRED)\x0aaoOut.ambientOcclusionColor=reflectivityOut.ambientOcclusionColor;\x0a#endif\x0a#ifdef\x20ALPHAFRESNEL\x0a#if\x20defined(ALPHATEST)\x20||\x20defined(ALPHABLEND)\x0aalphaFresnelOutParams\x20alphaFresnelOut;\x0aalphaFresnelBlock(\x0anormalW,\x0aviewDirectionW,\x0aalpha,\x0amicroSurface,\x0aalphaFresnelOut\x0a);\x0aalpha=alphaFresnelOut.alpha;\x0a#endif\x0a#endif\x0a#include<pbrBlockGeometryInfo>\x0a#ifdef\x20ANISOTROPIC\x0aanisotropicOutParams\x20anisotropicOut;\x0a#ifdef\x20ANISOTROPIC_TEXTURE\x0avec3\x20anisotropyMapData=texture2D(anisotropySampler,vAnisotropyUV+uvOffset).rgb*vAnisotropyInfos.y;\x0a#endif\x0aanisotropicBlock(\x0avAnisotropy,\x0a#ifdef\x20ANISOTROPIC_TEXTURE\x0aanisotropyMapData,\x0a#endif\x0aTBN,\x0anormalW,\x0aviewDirectionW,\x0aanisotropicOut\x0a);\x0a#endif\x0a#ifdef\x20REFLECTION\x0areflectionOutParams\x20reflectionOut;\x0a#ifndef\x20USE_CUSTOM_REFLECTION\x0areflectionBlock(\x0avPositionW,\x0anormalW,\x0aalphaG,\x0avReflectionMicrosurfaceInfos,\x0avReflectionInfos,\x0avReflectionColor,\x0a#ifdef\x20ANISOTROPIC\x0aanisotropicOut,\x0a#endif\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0aNdotVUnclamped,\x0a#endif\x0a#ifdef\x20LINEARSPECULARREFLECTION\x0aroughness,\x0a#endif\x0areflectionSampler,\x0a#if\x20defined(NORMAL)\x20&&\x20defined(USESPHERICALINVERTEX)\x0avEnvironmentIrradiance,\x0a#endif\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#if\x20!defined(NORMAL)\x20||\x20!defined(USESPHERICALINVERTEX)\x0areflectionMatrix,\x0a#endif\x0a#endif\x0a#ifdef\x20USEIRRADIANCEMAP\x0airradianceSampler,\x0a#endif\x0a#ifndef\x20LODBASEDMICROSFURACE\x0areflectionSamplerLow,\x0areflectionSamplerHigh,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0avReflectionFilteringInfo,\x0a#endif\x0areflectionOut\x0a);\x0a#else\x0a#define\x20CUSTOM_REFLECTION\x0a#endif\x0a#endif\x0a#include<pbrBlockReflectance0>\x0a#ifdef\x20SHEEN\x0asheenOutParams\x20sheenOut;\x0a#ifdef\x20SHEEN_TEXTURE\x0avec4\x20sheenMapData=texture2D(sheenSampler,vSheenUV+uvOffset);\x0a#endif\x0a#if\x20defined(SHEEN_ROUGHNESS)\x20&&\x20defined(SHEEN_TEXTURE_ROUGHNESS)\x20&&\x20!defined(SHEEN_TEXTURE_ROUGHNESS_IDENTICAL)\x20&&\x20!defined(SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE)\x0avec4\x20sheenMapRoughnessData=texture2D(sheenRoughnessSampler,vSheenRoughnessUV+uvOffset)*vSheenInfos.w;\x0a#endif\x0asheenBlock(\x0avSheenColor,\x0a#ifdef\x20SHEEN_ROUGHNESS\x0avSheenRoughness,\x0a#if\x20defined(SHEEN_TEXTURE_ROUGHNESS)\x20&&\x20!defined(SHEEN_TEXTURE_ROUGHNESS_IDENTICAL)\x20&&\x20!defined(SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE)\x0asheenMapRoughnessData,\x0a#endif\x0a#endif\x0aroughness,\x0a#ifdef\x20SHEEN_TEXTURE\x0asheenMapData,\x0avSheenInfos.y,\x0a#endif\x0areflectance,\x0a#ifdef\x20SHEEN_LINKWITHALBEDO\x0abaseColor,\x0asurfaceAlbedo,\x0a#endif\x0a#ifdef\x20ENVIRONMENTBRDF\x0aNdotV,\x0aenvironmentBrdf,\x0a#endif\x0a#if\x20defined(REFLECTION)\x20&&\x20defined(ENVIRONMENTBRDF)\x0aAARoughnessFactors,\x0avReflectionMicrosurfaceInfos,\x0avReflectionInfos,\x0avReflectionColor,\x0avLightingIntensity,\x0areflectionSampler,\x0areflectionOut.reflectionCoords,\x0aNdotVUnclamped,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0areflectionSamplerLow,\x0areflectionSamplerHigh,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0avReflectionFilteringInfo,\x0a#endif\x0a#if\x20!defined(REFLECTIONMAP_SKYBOX)\x20&&\x20defined(RADIANCEOCCLUSION)\x0aseo,\x0a#endif\x0a#if\x20!defined(REFLECTIONMAP_SKYBOX)\x20&&\x20defined(HORIZONOCCLUSION)\x20&&\x20defined(BUMP)\x20&&\x20defined(REFLECTIONMAP_3D)\x0aeho,\x0a#endif\x0a#endif\x0asheenOut\x0a);\x0a#ifdef\x20SHEEN_LINKWITHALBEDO\x0asurfaceAlbedo=sheenOut.surfaceAlbedo;\x0a#endif\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0avec2\x20clearCoatMapData=texture2D(clearCoatSampler,vClearCoatUV+uvOffset).rg*vClearCoatInfos.y;\x0a#endif\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0airidescenceOutParams\x20iridescenceOut;\x0a#ifdef\x20IRIDESCENCE_TEXTURE\x0avec2\x20iridescenceMapData=texture2D(iridescenceSampler,vIridescenceUV+uvOffset).rg*vIridescenceInfos.y;\x0a#endif\x0a#ifdef\x20IRIDESCENCE_THICKNESS_TEXTURE\x0avec2\x20iridescenceThicknessMapData=texture2D(iridescenceThicknessSampler,vIridescenceThicknessUV+uvOffset).rg*vIridescenceInfos.w;\x0a#endif\x0airidescenceBlock(\x0avIridescenceParams,\x0aNdotV,\x0aspecularEnvironmentR0,\x0a#ifdef\x20IRIDESCENCE_TEXTURE\x0airidescenceMapData,\x0a#endif\x0a#ifdef\x20IRIDESCENCE_THICKNESS_TEXTURE\x0airidescenceThicknessMapData,\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0aNdotVUnclamped,\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0aclearCoatMapData,\x0a#endif\x0a#endif\x0airidescenceOut\x0a);\x0afloat\x20iridescenceIntensity=iridescenceOut.iridescenceIntensity;\x0aspecularEnvironmentR0=iridescenceOut.specularEnvironmentR0;\x0a#endif\x0aclearcoatOutParams\x20clearcoatOut;\x0a#ifdef\x20CLEARCOAT\x0a#if\x20defined(CLEARCOAT_TEXTURE_ROUGHNESS)\x20&&\x20!defined(CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL)\x20&&\x20!defined(CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE)\x0avec4\x20clearCoatMapRoughnessData=texture2D(clearCoatRoughnessSampler,vClearCoatRoughnessUV+uvOffset)*vClearCoatInfos.w;\x0a#endif\x0a#if\x20defined(CLEARCOAT_TINT)\x20&&\x20defined(CLEARCOAT_TINT_TEXTURE)\x0avec4\x20clearCoatTintMapData=texture2D(clearCoatTintSampler,vClearCoatTintUV+uvOffset);\x0a#endif\x0a#ifdef\x20CLEARCOAT_BUMP\x0avec4\x20clearCoatBumpMapData=texture2D(clearCoatBumpSampler,vClearCoatBumpUV+uvOffset);\x0a#endif\x0aclearcoatBlock(\x0avPositionW,\x0ageometricNormalW,\x0aviewDirectionW,\x0avClearCoatParams,\x0a#if\x20defined(CLEARCOAT_TEXTURE_ROUGHNESS)\x20&&\x20!defined(CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL)\x20&&\x20!defined(CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE)\x0aclearCoatMapRoughnessData,\x0a#endif\x0aspecularEnvironmentR0,\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0aclearCoatMapData,\x0a#endif\x0a#ifdef\x20CLEARCOAT_TINT\x0avClearCoatTintParams,\x0aclearCoatColorAtDistance,\x0avClearCoatRefractionParams,\x0a#ifdef\x20CLEARCOAT_TINT_TEXTURE\x0aclearCoatTintMapData,\x0a#endif\x0a#endif\x0a#ifdef\x20CLEARCOAT_BUMP\x0avClearCoatBumpInfos,\x0aclearCoatBumpMapData,\x0avClearCoatBumpUV,\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x0avTBN,\x0a#else\x0avClearCoatTangentSpaceParams,\x0a#endif\x0a#ifdef\x20OBJECTSPACE_NORMALMAP\x0anormalMatrix,\x0a#endif\x0a#endif\x0a#if\x20defined(FORCENORMALFORWARD)\x20&&\x20defined(NORMAL)\x0afaceNormal,\x0a#endif\x0a#ifdef\x20REFLECTION\x0avReflectionMicrosurfaceInfos,\x0avReflectionInfos,\x0avReflectionColor,\x0avLightingIntensity,\x0areflectionSampler,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0areflectionSamplerLow,\x0areflectionSamplerHigh,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0avReflectionFilteringInfo,\x0a#endif\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0a#ifdef\x20RADIANCEOCCLUSION\x0aambientMonochrome,\x0a#endif\x0a#endif\x0a#if\x20defined(CLEARCOAT_BUMP)\x20||\x20defined(TWOSIDEDLIGHTING)\x0a(gl_FrontFacing\x20?\x201.\x20:\x20-1.),\x0a#endif\x0aclearcoatOut\x0a);\x0a#else\x0aclearcoatOut.specularEnvironmentR0=specularEnvironmentR0;\x0a#endif\x0a#include<pbrBlockReflectance>\x0asubSurfaceOutParams\x20subSurfaceOut;\x0a#ifdef\x20SUBSURFACE\x0a#ifdef\x20SS_THICKNESSANDMASK_TEXTURE\x0avec4\x20thicknessMap=texture2D(thicknessSampler,vThicknessUV+uvOffset);\x0a#endif\x0a#ifdef\x20SS_REFRACTIONINTENSITY_TEXTURE\x0avec4\x20refractionIntensityMap=texture2D(refractionIntensitySampler,vRefractionIntensityUV+uvOffset);\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCYINTENSITY_TEXTURE\x0avec4\x20translucencyIntensityMap=texture2D(translucencyIntensitySampler,vTranslucencyIntensityUV+uvOffset);\x0a#endif\x0asubSurfaceBlock(\x0avSubSurfaceIntensity,\x0avThicknessParam,\x0avTintColor,\x0anormalW,\x0aspecularEnvironmentReflectance,\x0a#ifdef\x20SS_THICKNESSANDMASK_TEXTURE\x0athicknessMap,\x0a#endif\x0a#ifdef\x20SS_REFRACTIONINTENSITY_TEXTURE\x0arefractionIntensityMap,\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCYINTENSITY_TEXTURE\x0atranslucencyIntensityMap,\x0a#endif\x0a#ifdef\x20REFLECTION\x0a#ifdef\x20SS_TRANSLUCENCY\x0areflectionMatrix,\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#if\x20!defined(NORMAL)\x20||\x20!defined(USESPHERICALINVERTEX)\x0areflectionOut.irradianceVector,\x0a#endif\x0a#if\x20defined(REALTIME_FILTERING)\x0areflectionSampler,\x0avReflectionFilteringInfo,\x0a#endif\x0a#endif\x0a#ifdef\x20USEIRRADIANCEMAP\x0airradianceSampler,\x0a#endif\x0a#endif\x0a#endif\x0a#if\x20defined(SS_REFRACTION)\x20||\x20defined(SS_TRANSLUCENCY)\x0asurfaceAlbedo,\x0a#endif\x0a#ifdef\x20SS_REFRACTION\x0avPositionW,\x0aviewDirectionW,\x0aview,\x0avRefractionInfos,\x0arefractionMatrix,\x0avRefractionMicrosurfaceInfos,\x0avLightingIntensity,\x0a#ifdef\x20SS_LINKREFRACTIONTOTRANSPARENCY\x0aalpha,\x0a#endif\x0a#ifdef\x20SS_LODINREFRACTIONALPHA\x0aNdotVUnclamped,\x0a#endif\x0a#ifdef\x20SS_LINEARSPECULARREFRACTION\x0aroughness,\x0a#endif\x0aalphaG,\x0arefractionSampler,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0arefractionSamplerLow,\x0arefractionSamplerHigh,\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0aanisotropicOut,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0avRefractionFilteringInfo,\x0a#endif\x0a#ifdef\x20SS_USE_LOCAL_REFRACTIONMAP_CUBIC\x0avRefractionPosition,\x0avRefractionSize,\x0a#endif\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCY\x0avDiffusionDistance,\x0a#endif\x0asubSurfaceOut\x0a);\x0a#ifdef\x20SS_REFRACTION\x0asurfaceAlbedo=subSurfaceOut.surfaceAlbedo;\x0a#ifdef\x20SS_LINKREFRACTIONTOTRANSPARENCY\x0aalpha=subSurfaceOut.alpha;\x0a#endif\x0a#endif\x0a#else\x0asubSurfaceOut.specularEnvironmentReflectance=specularEnvironmentReflectance;\x0a#endif\x0a#include<pbrBlockDirectLighting>\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0a#include<pbrBlockFinalLitComponents>\x0a#endif\x20\x0a#include<pbrBlockFinalUnlitComponents>\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_FINALCOLORCOMPOSITION\x0a#include<pbrBlockFinalColorComposition>\x0a#include<logDepthFragment>\x0a#include<fogFragment>(color,finalColor)\x0a#include<pbrBlockImageProcessing>\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_FRAGCOLOR\x0a#ifdef\x20PREPASS\x0afloat\x20writeGeometryInfo=finalColor.a>0.4\x20?\x201.0\x20:\x200.0;\x0a#ifdef\x20PREPASS_POSITION\x0agl_FragData[PREPASS_POSITION_INDEX]=vec4(vPositionW,writeGeometryInfo);\x0a#endif\x0a#ifdef\x20PREPASS_VELOCITY\x0avec2\x20a=(vCurrentPosition.xy/vCurrentPosition.w)*0.5+0.5;\x0avec2\x20b=(vPreviousPosition.xy/vPreviousPosition.w)*0.5+0.5;\x0avec2\x20velocity=abs(a-b);\x0avelocity=vec2(pow(velocity.x,1.0/3.0),pow(velocity.y,1.0/3.0))*sign(a-b)*0.5+0.5;\x0agl_FragData[PREPASS_VELOCITY_INDEX]=vec4(velocity,0.0,writeGeometryInfo);\x0a#endif\x0a#ifdef\x20PREPASS_ALBEDO_SQRT\x0avec3\x20sqAlbedo=sqrt(surfaceAlbedo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_IRRADIANCE\x0avec3\x20irradiance=finalDiffuse;\x0a#ifndef\x20UNLIT\x0a#ifdef\x20REFLECTION\x0airradiance+=finalIrradiance;\x0a#endif\x0a#endif\x0a#ifdef\x20SS_SCATTERING\x0agl_FragData[0]=vec4(finalColor.rgb-irradiance,finalColor.a);\x20\x0airradiance/=sqAlbedo;\x0a#else\x0agl_FragData[0]=finalColor;\x20\x0afloat\x20scatteringDiffusionProfile=255.;\x0a#endif\x0agl_FragData[PREPASS_IRRADIANCE_INDEX]=vec4(clamp(irradiance,vec3(0.),vec3(1.)),writeGeometryInfo*scatteringDiffusionProfile/255.);\x20\x0a#else\x0agl_FragData[0]=vec4(finalColor.rgb,finalColor.a);\x0a#endif\x0a#ifdef\x20PREPASS_DEPTH\x0agl_FragData[PREPASS_DEPTH_INDEX]=vec4(vViewPos.z,0.0,0.0,writeGeometryInfo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_NORMAL\x0agl_FragData[PREPASS_NORMAL_INDEX]=vec4(normalize((view*vec4(normalW,0.0)).rgb),writeGeometryInfo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_ALBEDO_SQRT\x0agl_FragData[PREPASS_ALBEDO_SQRT_INDEX]=vec4(sqAlbedo,writeGeometryInfo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_REFLECTIVITY\x0a#ifndef\x20UNLIT\x0agl_FragData[PREPASS_REFLECTIVITY_INDEX]=vec4(specularEnvironmentR0,microSurface)*writeGeometryInfo;\x0a#else\x0agl_FragData[PREPASS_REFLECTIVITY_INDEX]=vec4(\x200.0,0.0,0.0,1.0\x20)*writeGeometryInfo;\x0a#endif\x0a#endif\x0a#endif\x0a#if\x20!defined(PREPASS)\x20||\x20defined(WEBGL2)\x0agl_FragColor=finalColor;\x0a#endif\x0a#include<oitFragment>\x0a#if\x20ORDER_INDEPENDENT_TRANSPARENCY\x0aif\x20(fragDepth==nearestDepth)\x20{\x0afrontColor.rgb+=finalColor.rgb*finalColor.a*alphaMultiplier;\x0afrontColor.a=1.0-alphaMultiplier*(1.0-finalColor.a);\x0a}\x20else\x20{\x0abackColor+=finalColor;\x0a}\x0a#endif\x0a#include<pbrDebug>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','float\x20bayerDither2(vec2\x20_P)\x20{\x0areturn\x20mod(2.0*_P.y+_P.x+1.0,4.0);\x0a}\x0afloat\x20bayerDither4(vec2\x20_P)\x20{\x0avec2\x20P1=mod(_P,2.0);\x20\x0avec2\x20P2=floor(0.5*mod(_P,4.0));\x20\x0areturn\x204.0*bayerDither2(P1)+bayerDither2(P2);\x0a}\x0afloat\x20bayerDither8(vec2\x20_P)\x20{\x0avec2\x20P1=mod(_P,2.0);\x20\x0avec2\x20P2=floor(0.5\x20*mod(_P,4.0));\x20\x0avec2\x20P4=floor(0.25*mod(_P,8.0));\x20\x0areturn\x204.0*(4.0*bayerDither2(P1)+bayerDither2(P2))+bayerDither2(P4);\x0a}\x0a','radiusRange','##INJECTCODE##','lastIndexOf','updateUIntArray','worldPosition','projectionMatrix','object','markAsUnprocessed','message','_cullFace','_rt','kernelBlurFragment2','pbrBlockAmbientOcclusion','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0aattribute\x20vec3\x20normal;\x0aattribute\x20vec2\x20uv;\x0avarying\x20vec3\x20vPosition;\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec2\x20tUV;\x0avarying\x20vec2\x20stageUnits;\x0avarying\x20vec2\x20levelUnits;\x0avarying\x20vec2\x20tileID;\x0auniform\x20float\x20time;\x0auniform\x20mat4\x20worldViewProjection;\x0auniform\x20vec2\x20outputSize;\x0auniform\x20vec2\x20stageSize;\x0auniform\x20vec2\x20spriteMapSize;\x0auniform\x20float\x20stageScale;\x0avoid\x20main()\x20{\x0avec4\x20p=vec4(\x20position,1.\x20);\x0avPosition=p.xyz;\x0avUV=uv;\x0atUV=uv*stageSize;\x20\x0agl_Position=worldViewProjection*p;\x0a}','_dumpPropertiesCode','createView','_bufferManager','Keyboard','AddSamplers','GetEffect','availableAttributes','invertYPreMultiplyAlpha','_IsHardwareTexture','createRenderTargetTextureProvider','_data','#if\x20defined(BUMP)\x20||\x20defined(CLEARCOAT_BUMP)\x20||\x20defined(ANISOTROPIC)\x20||\x20defined(DETAIL)\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x20\x0avarying\x20mat3\x20vTBN;\x0a#endif\x0a#ifdef\x20OBJECTSPACE_NORMALMAP\x0auniform\x20mat4\x20normalMatrix;\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x0amat4\x20toNormalMatrix(mat4\x20wMatrix)\x0a{\x0amat4\x20ret=inverse(wMatrix);\x0aret=transpose(ret);\x0aret[0][3]=0.;\x0aret[1][3]=0.;\x0aret[2][3]=0.;\x0aret[3]=vec4(0.,0.,0.,1.);\x0areturn\x20ret;\x0a}\x0a#else\x0amat4\x20toNormalMatrix(mat4\x20m)\x0a{\x0afloat\x0aa00=m[0][0],a01=m[0][1],a02=m[0][2],a03=m[0][3],\x0aa10=m[1][0],a11=m[1][1],a12=m[1][2],a13=m[1][3],\x0aa20=m[2][0],a21=m[2][1],a22=m[2][2],a23=m[2][3],\x0aa30=m[3][0],a31=m[3][1],a32=m[3][2],a33=m[3][3],\x0ab00=a00*a11-a01*a10,\x0ab01=a00*a12-a02*a10,\x0ab02=a00*a13-a03*a10,\x0ab03=a01*a12-a02*a11,\x0ab04=a01*a13-a03*a11,\x0ab05=a02*a13-a03*a12,\x0ab06=a20*a31-a21*a30,\x0ab07=a20*a32-a22*a30,\x0ab08=a20*a33-a23*a30,\x0ab09=a21*a32-a22*a31,\x0ab10=a21*a33-a23*a31,\x0ab11=a22*a33-a23*a32,\x0adet=b00*b11-b01*b10+b02*b09+b03*b08-b04*b07+b05*b06;\x0amat4\x20mi=mat4(\x0aa11*b11-a12*b10+a13*b09,\x0aa02*b10-a01*b11-a03*b09,\x0aa31*b05-a32*b04+a33*b03,\x0aa22*b04-a21*b05-a23*b03,\x0aa12*b08-a10*b11-a13*b07,\x0aa00*b11-a02*b08+a03*b07,\x0aa32*b02-a30*b05-a33*b01,\x0aa20*b05-a22*b02+a23*b01,\x0aa10*b10-a11*b08+a13*b06,\x0aa01*b08-a00*b10-a03*b06,\x0aa30*b04-a31*b02+a33*b00,\x0aa21*b02-a20*b04-a23*b00,\x0aa11*b07-a10*b09-a12*b06,\x0aa00*b09-a01*b07+a02*b06,\x0aa31*b01-a30*b03-a32*b00,\x0aa20*b03-a21*b01+a22*b00)/det;\x0areturn\x20mat4(mi[0][0],mi[1][0],mi[2][0],mi[3][0],\x0ami[0][1],mi[1][1],mi[2][1],mi[3][1],\x0ami[0][2],mi[1][2],mi[2][2],mi[3][2],\x0ami[0][3],mi[1][3],mi[2][3],mi[3][3]);\x0a}\x0a#endif\x0a#endif\x0avec3\x20perturbNormalBase(mat3\x20cotangentFrame,vec3\x20normal,float\x20scale)\x0a{\x0a#ifdef\x20NORMALXYSCALE\x0anormal=normalize(normal*vec3(scale,scale,1.0));\x0a#endif\x0areturn\x20normalize(cotangentFrame*normal);\x0a}\x0avec3\x20perturbNormal(mat3\x20cotangentFrame,vec3\x20textureSample,float\x20scale)\x0a{\x0areturn\x20perturbNormalBase(cotangentFrame,textureSample*2.0-1.0,scale);\x0a}\x0amat3\x20cotangent_frame(vec3\x20normal,vec3\x20p,vec2\x20uv,vec2\x20tangentSpaceParams)\x0a{\x0avec3\x20dp1=dFdx(p);\x0avec3\x20dp2=dFdy(p);\x0avec2\x20duv1=dFdx(uv);\x0avec2\x20duv2=dFdy(uv);\x0avec3\x20dp2perp=cross(dp2,normal);\x0avec3\x20dp1perp=cross(normal,dp1);\x0avec3\x20tangent=dp2perp*duv1.x+dp1perp*duv2.x;\x0avec3\x20bitangent=dp2perp*duv1.y+dp1perp*duv2.y;\x0atangent*=tangentSpaceParams.x;\x0abitangent*=tangentSpaceParams.y;\x0afloat\x20det=max(dot(tangent,tangent),dot(bitangent,bitangent));\x0afloat\x20invmax=det==0.0\x20?\x200.0\x20:\x20inversesqrt(det);\x0areturn\x20mat3(tangent*invmax,bitangent*invmax,normal);\x0a}\x0a#endif\x0a','_getComputeShaderCode','uniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vPrimaryColor;\x0a#ifdef\x20USEHIGHLIGHTANDSHADOWCOLORS\x0auniform\x20vec4\x20vPrimaryColorShadow;\x0a#endif\x0auniform\x20float\x20shadowLevel;\x0auniform\x20float\x20alpha;\x0a#ifdef\x20DIFFUSE\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20REFLECTION\x0auniform\x20vec2\x20vReflectionInfos;\x0auniform\x20mat4\x20reflectionMatrix;\x0auniform\x20vec3\x20vReflectionMicrosurfaceInfos;\x0a#endif\x0a#if\x20defined(REFLECTIONFRESNEL)\x20||\x20defined(OPACITYFRESNEL)\x0auniform\x20vec3\x20vBackgroundCenter;\x0a#endif\x0a#ifdef\x20REFLECTIONFRESNEL\x0auniform\x20vec4\x20vReflectionControl;\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_SPHERICAL)\x20||\x20defined(REFLECTIONMAP_PROJECTION)\x20||\x20defined(REFRACTION)\x0auniform\x20mat4\x20view;\x0a#endif\x0a','setMRTAttachments','updateMultipleRenderTargetTextureSampleCount','uniform\x20mat4\x20viewProjection;\x0auniform\x20mat4\x20view;','directRender','useSRGBBuffers','getGPUFrameTimeCounter','_declareOutput','TEXTURE_SKYBOX_MODE','_excludedCompressedTextures','getPerfCollector','activeCamera','_finishBundle','uniform\x20sampler2D\x20textureSampler;\x20\x0auniform\x20sampler2D\x20colorTable;\x20\x0avarying\x20vec2\x20vUV;\x0aconst\x20float\x20SLICE_COUNT=16.0;\x20\x0avec4\x20sampleAs3DTexture(sampler2D\x20textureSampler,vec3\x20uv,float\x20width)\x20{\x0afloat\x20sliceSize=1.0/width;\x20\x0afloat\x20slicePixelSize=sliceSize/width;\x20\x0afloat\x20sliceInnerSize=slicePixelSize*(width-1.0);\x20\x0afloat\x20zSlice0=min(floor(uv.z*width),width-1.0);\x0afloat\x20zSlice1=min(zSlice0+1.0,width-1.0);\x0afloat\x20xOffset=slicePixelSize*0.5+uv.x*sliceInnerSize;\x0afloat\x20s0=xOffset+(zSlice0*sliceSize);\x0afloat\x20s1=xOffset+(zSlice1*sliceSize);\x0avec4\x20slice0Color=texture2D(textureSampler,vec2(s0,uv.y));\x0avec4\x20slice1Color=texture2D(textureSampler,vec2(s1,uv.y));\x0afloat\x20zOffset=mod(uv.z*width,1.0);\x0avec4\x20result=mix(slice0Color,slice1Color,zOffset);\x0areturn\x20result;\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec4\x20screen_color=texture2D(textureSampler,vUV);\x0agl_FragColor=sampleAs3DTexture(colorTable,screen_color.rgb,SLICE_COUNT);\x0a}','GetExponentOfTwo','_initActionManager','#include<helperFunctions>\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20float\x20threshold;\x0auniform\x20float\x20exposure;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0agl_FragColor=texture2D(textureSampler,vUV);\x0afloat\x20luma=dot(LuminanceEncodeApprox,gl_FragColor.rgb*exposure);\x0agl_FragColor.rgb=step(threshold,luma)*gl_FragColor.rgb;\x0a}','_emitExtension','No\x20\x22main\x22\x20function\x20found\x20in\x20shader\x20code!\x20Processing\x20aborted.','DEPTH_COMPONENT32F','generateStencilBuffer','_textureFormatInUse','_itemLength','ASTC12x10UnormSRGB','multiplyByFloats','onDeviceConnectedObservable','indexInGroupEntries','_textureArrayProcessing','_textures','_setCursorAndPointerOverMesh','view','updateTextureSamplingMode','clipPlaneVertex','line','lastIndex','TEXTUREFORMAT_COMPRESSED_RGB_S3TC_DXT1','_frontFace','MATERIAL_LineLoopDrawMode','setUInt3','i32','RG11B10UFloat','DYNAMIC_DRAW','\x20=\x20computeSkyBoxCoords(','texImage2D','_excludeVariableName','IRIDESCENCE_THICKNESS_TEXTURE','Error','framebufferTextureMultisampleMultiviewOVR','attributeKeywordName','boundingVectors','getDiffusionProfileParameters','offset','Unable\x20to\x20create\x20uniform\x20buffer','_previousButtonPressed','All','_preCreateBindGroupEntries','_halfDomeMask','varying\x20vec3\x20vPositionW;\x0a#if\x20DEBUGMODE>0\x0avarying\x20vec4\x20vClipSpacePosition;\x0a#endif\x0a#include<mainUVVaryingDeclaration>[1..7]\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#if\x20defined(USESPHERICALFROMREFLECTIONMAP)\x20&&\x20defined(USESPHERICALINVERTEX)\x0avarying\x20vec3\x20vEnvironmentIrradiance;\x0a#endif\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a','_perfCollector','precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0avec3\x20computeCustomDiffuseLighting(lightingInfo\x20info,vec3\x20diffuseBase,float\x20shadow)\x0a{\x0adiffuseBase=info.diffuse*shadow;\x0a#ifdef\x20CELLBASIC\x0afloat\x20level=1.0;\x0aif\x20(info.ndl<0.5)\x0alevel=0.5;\x0adiffuseBase.rgb*vec3(level,level,level);\x0a#else\x0afloat\x20ToonThresholds[4];\x0aToonThresholds[0]=0.95;\x0aToonThresholds[1]=0.5;\x0aToonThresholds[2]=0.2;\x0aToonThresholds[3]=0.03;\x0afloat\x20ToonBrightnessLevels[5];\x0aToonBrightnessLevels[0]=1.0;\x0aToonBrightnessLevels[1]=0.8;\x0aToonBrightnessLevels[2]=0.6;\x0aToonBrightnessLevels[3]=0.35;\x0aToonBrightnessLevels[4]=0.2;\x0aif\x20(info.ndl>ToonThresholds[0])\x0a{\x0adiffuseBase.rgb*=ToonBrightnessLevels[0];\x0a}\x0aelse\x20if\x20(info.ndl>ToonThresholds[1])\x0a{\x0adiffuseBase.rgb*=ToonBrightnessLevels[1];\x0a}\x0aelse\x20if\x20(info.ndl>ToonThresholds[2])\x0a{\x0adiffuseBase.rgb*=ToonBrightnessLevels[2];\x0a}\x0aelse\x20if\x20(info.ndl>ToonThresholds[3])\x0a{\x0adiffuseBase.rgb*=ToonBrightnessLevels[3];\x0a}\x0aelse\x0a{\x0adiffuseBase.rgb*=ToonBrightnessLevels[4];\x0a}\x0a#endif\x0areturn\x20max(diffuseBase,vec3(0.2));\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20baseColor=vec4(1.,1.,1.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20DIFFUSE\x0abaseColor=texture2D(diffuseSampler,vDiffuseUV);\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include<depthPrePass>\x0abaseColor.rgb*=vDiffuseInfos.y;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0alightingInfo\x20info;\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0afloat\x20shadow=1.;\x0afloat\x20glossiness=0.;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0a#endif\x20\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\x0avec4\x20color=vec4(finalDiffuse,alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','setUIntArray4','Declaration','observers','_checkForPicking','copyFrom','logDepthVertex',',\x20falling\x20back\x20to\x20the\x20','TEXTURE_NEAREST_LINEAR_MIPNEAREST','_attributesWGSL','_getCurrentRenderPassIndex','setStorageBuffer:\x20Unsupported\x20method\x20in\x20this\x20engine!','create','UNSIGNED_INT_24_8','copyVideoToTexture','createTexture','samplingMode','isMultiview','from','_directionWName','Iridescence\x20thickness','etc1','frameMaxRenderMemoryLength','TEXTUREFORMAT_RGBA','Uniform',';\x0d\x0a','renderWidthHeight','_decalMap','ASTC8x5Unorm','#version\x203','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20passSampler;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0agl_FragColor=texture2D(passSampler,vUV);\x0a}','Raw3D','UNSIGNED_BYTE','_onVRDisplayPointerRestricted','skyPixelShader','Uint16','AddModel','vec3\x20','blocksWithDefines','#ifdef\x20FRESNEL\x0afloat\x20computeFresnelTerm(vec3\x20viewDirection,vec3\x20worldNormal,float\x20bias,float\x20power)\x0a{\x0afloat\x20fresnelTerm=pow(bias+abs(dot(viewDirection,worldNormal)),power);\x0areturn\x20clamp(fresnelTerm,0.,1.);\x0a}\x0a#endif\x0a','testValue','useEquirectangularFOV','activeTexture','not','setDirectColor4','17948NikLfZ','9olJBOL','POINTERMOVE',')\x20||\x20defined(','_height','RENDERBUFFER','bufferSubData','setMatrix','_isBlendConstantsDirty','_rttRenderPassWrapper','ASTC6x5UnormSRGB','noisePixelShader','emitComments','action','indexParameters','ASTC10x10Unorm','focus','runCoroutineAsync','hasSwiped','defineNames','updateMatrix','_availableIndices','prototype','mask','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','filterRadii','onVRRequestPresentComplete','CLIPPLANE4','PREPASS_IRRADIANCE_TEXTURE_TYPE','doNotHandleCursors','depthBoxBlurPixelShader','No\x20fixed\x20size\x20for\x20Depth24Plus\x20format!','_halfDome','playAnimation','vrMultiviewToSingleviewPixelShader','TEXTUREFORMAT_COMPRESSED_RGB8_ETC2','createCanvas','BACK','_addComponent','format','_rigCameras','preProcessor','_emit2DArraySampler','depthPrePass','_submitVRFrame','DisableFor','samplingModes','_isBlendEquationParametersDirty','copy\x20video\x20to\x20texture\x20-\x20invertY=','CLAMP_TO_EDGE','TEXTUREFORMAT_DEPTH32FLOAT_STENCIL8','isDirty','setVector3','setUInt4','resetDepthCullingState','_timeElapsedQueryEnded','_fillEffectInformation','_isDepthTestDirty','funcRef','updateIntArray','inputIndex','RG8Uint','pointerUpPredicate','byteLength','setTextureSampler','_isMultiTouchGesture','inputTexture','_mainPassBundleList','areAllComputeEffectsReady','uniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20bloomBlur;\x0avarying\x20vec2\x20vUV;\x0auniform\x20float\x20bloomWeight;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0agl_FragColor=texture2D(textureSampler,vUV);\x0avec3\x20blurred=texture2D(bloomBlur,vUV).rgb;\x0agl_FragColor.rgb=gl_FragColor.rgb+(blurred.rgb*bloomWeight);\x20\x0a}\x0a','isInVRExclusivePointerMode','TEXTURETYPE_UNSIGNED_INTEGER','LEQUAL','_ProcessIncludes','triplanarVertexShader','getInputElementClientRect','ASTC12x10Unorm','_physicsTimeAccumulator','finish','unBindMultiColorAttachmentFramebuffer','#ifdef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0a{\x0a#ifdef\x20INSTANCES\x0alet\x20VATStartFrame:\x20f32=vertexInputs.bakedVertexAnimationSettingsInstanced.x;\x0alet\x20VATEndFrame:\x20f32=vertexInputs.bakedVertexAnimationSettingsInstanced.y;\x0alet\x20VATOffsetFrame:\x20f32=vertexInputs.bakedVertexAnimationSettingsInstanced.z;\x0alet\x20VATSpeed:\x20f32=vertexInputs.bakedVertexAnimationSettingsInstanced.w;\x0a#else\x0alet\x20VATStartFrame:\x20f32=uniforms.bakedVertexAnimationSettings.x;\x0alet\x20VATEndFrame:\x20f32=uniforms.bakedVertexAnimationSettings.y;\x0alet\x20VATOffsetFrame:\x20f32=uniforms.bakedVertexAnimationSettings.z;\x0alet\x20VATSpeed:\x20f32=uniforms.bakedVertexAnimationSettings.w;\x0a#endif\x0alet\x20totalFrames:\x20f32=VATEndFrame-VATStartFrame+1.0;\x0alet\x20time:\x20f32=uniforms.bakedVertexAnimationTime*VATSpeed/totalFrames;\x0alet\x20frameCorrection:\x20f32=select(1.0,0.0,time<1.0);\x0alet\x20numOfFrames:\x20f32=totalFrames-frameCorrection;\x0avar\x20VATFrameNum:\x20f32=fract(time)*numOfFrames;\x0aVATFrameNum=(VATFrameNum+VATOffsetFrame)\x20%\x20numOfFrames;\x0aVATFrameNum=floor(VATFrameNum);\x0aVATFrameNum=VATFrameNum+VATStartFrame+frameCorrection;\x0avar\x20VATInfluence\x20:\x20mat4x4<f32>;\x0aVATInfluence=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndices[0],VATFrameNum)*vertexInputs.matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0aVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndices[1],VATFrameNum)*vertexInputs.matricesWeights[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0aVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndices[2],VATFrameNum)*vertexInputs.matricesWeights[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0aVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndices[3],VATFrameNum)*vertexInputs.matricesWeights[3];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0aVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndicesExtra[0],VATFrameNum)*vertexInputs.matricesWeightsExtra[0];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0aVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndicesExtra[1],VATFrameNum)*vertexInputs.matricesWeightsExtra[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0aVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndicesExtra[2],VATFrameNum)*vertexInputs.matricesWeightsExtra[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0aVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndicesExtra[3],VATFrameNum)*vertexInputs.matricesWeightsExtra[3];\x0a#endif\x0afinalWorld=finalWorld*VATInfluence;\x0a}\x0a#endif\x0a','shift','_Counter','_currentBundleList','PREPASS_VELOCITY_TEXTURE_TYPE','setVector4','count','inputBlocks','_stridedUniformArrays','#ifdef\x20CLIPPLANE\x0avertexOutputs.fClipDistance=dot(worldPos,uniforms.vClipPlane);\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0avertexOutputs.fClipDistance2=dot(worldPos,uniforms.vClipPlane2);\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0avertexOutputs.fClipDistance3=dot(worldPos,uniforms.vClipPlane3);\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0avertexOutputs.fClipDistance4=dot(worldPos,uniforms.vClipPlane4);\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0avertexOutputs.fClipDistance5=dot(worldPos,uniforms.vClipPlane5);\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0avertexOutputs.fClipDistance6=dot(worldPos,uniforms.vClipPlane6);\x0a#endif\x0a','projection','viewForWriting','@group(','formats','pickWorldNormal','isExternalTexture',';\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20layout(set\x20=\x20','bilinearFiltering','passPixelShader','stereoscopicInterlacePixelShader','BrowserBack','#define\x20rcp(x)\x201./x\x0a#define\x20GOLDEN_RATIO\x201.618033988749895\x0a#define\x20TWO_PI\x206.2831855\x0avec2\x20Golden2dSeq(int\x20i,float\x20n)\x0a{\x0areturn\x20vec2(float(i)/n+(0.5/n),fract(float(i)*rcp(GOLDEN_RATIO)));\x0a}\x0avec2\x20SampleDiskGolden(int\x20i,int\x20sampleCount)\x0a{\x0avec2\x20f=Golden2dSeq(i,float(sampleCount));\x0areturn\x20vec2(sqrt(f.x),TWO_PI*f.y);\x0a}','_activeCamera','TEXTURE_LINEAR_LINEAR_MIPNEAREST','drawElementsType','defined(','volumetricLightScatteringPixelShader','insert','setCompressedTextureExclusions','next','_attachCameras','_colorTextureArray','releaseComputeEffects','shaderLanguage','compilationError','_createComputePipelineStageDescriptor','extensions','ACTION_OnPickDownTrigger','pbrDirectLightingSetupFunctions','ASTC10x8Unorm','shadowsVertex','depth','computeDispatch','GL_ALPHA_EQUATION_REVERSE_SUBTRACT','fogVertex','Ubo','_cacheMatrix','setIntArray4','toString','_getPipeline','removeEventListener','setHardwareScalingLevel','samplerShadow','queue','computeToken','attribute\x20vec2\x20position;\x0auniform\x20vec2\x20scale;\x0auniform\x20vec2\x20offset;\x0auniform\x20mat4\x20textureMatrix;\x0avarying\x20vec2\x20vUV;\x0aconst\x20vec2\x20madd=vec2(0.5,0.5);\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avec2\x20shiftedPosition=position*scale+offset;\x0avUV=vec2(textureMatrix*vec4(shiftedPosition*madd+madd,1.0,0.0));\x0agl_Position=vec4(shiftedPosition,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','__framebufferDepthStencil','_defineMirroredEquirectangularFixedName','skyVertexShader','FluidRenderingDepthTextureCopyRTT','MaterialStencilState','requestPointerLock','getInputBlockByPredicate','isConnected','TEXTURE_EQUIRECTANGULAR_MODE','_spriteBuffer','setStencilPassOp','_createRenderBuffer','setTimeout','HasDepthAndStencilAspects','_2DSamplerName','_bindFrameBuffer','setAsAttribute','getMaterial','precision\x20mediump\x20sampler2DArray;\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2DArray\x20multiviewSampler;\x0auniform\x20int\x20imageIndex;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0agl_FragColor=texture2D(multiviewSampler,vec3(vUV,imageIndex));\x0a}','setDepthStencilFormat','_bundleListRenderTarget','clipPlane2','pbrBlockImageProcessing','_framebuffer','instancesCount','_renderTargetEncoder','readValue','_alphaState','thinInstanceAdd','blockingBlocks','_internalCount','(-yFactor_)*dFdy','bufferData','LongPressDelay','sizes','getHostWindow','fluidRenderingBilateralBlurPixelShader','_ProcessPrecision','vec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=normalize(cross(dFdx(vPositionW),dFdy(vPositionW)))*vEyePosition.w;\x0a#endif\x0avec3\x20geometricNormalW=normalW;\x0a#if\x20defined(TWOSIDEDLIGHTING)\x20&&\x20defined(NORMAL)\x0ageometricNormalW=gl_FrontFacing\x20?\x20geometricNormalW\x20:\x20-geometricNormalW;\x0a#endif\x0a','_MoveCursor','_defineProjectionName','postProcessor','parseGLES3','worldPos','Float\x20textures\x20are\x20not\x20supported.\x20Cube\x20render\x20target\x20forced\x20to\x20TEXTURETYPE_UNESIGNED_BYTE\x20type','layout(std140,column_major)\x20uniform;\x0auniform\x20Material\x0a{\x0auniform\x20vec4\x20vPrimaryColor;\x0auniform\x20vec4\x20vPrimaryColorShadow;\x0auniform\x20vec2\x20vDiffuseInfos;\x0auniform\x20vec2\x20vReflectionInfos;\x0auniform\x20mat4\x20diffuseMatrix;\x0auniform\x20mat4\x20reflectionMatrix;\x0auniform\x20vec3\x20vReflectionMicrosurfaceInfos;\x0auniform\x20float\x20fFovMultiplier;\x0auniform\x20float\x20pointSize;\x0auniform\x20float\x20shadowLevel;\x0auniform\x20float\x20alpha;\x0a#if\x20defined(REFLECTIONFRESNEL)\x20||\x20defined(OPACITYFRESNEL)\x0auniform\x20vec3\x20vBackgroundCenter;\x0a#endif\x0a#ifdef\x20REFLECTIONFRESNEL\x0auniform\x20vec4\x20vReflectionControl;\x0a#endif\x0a};\x0a#include<sceneUboDeclaration>\x0a','FLOAT_32_UNSIGNED_INT_24_8_REV','_coroutineSchedulerDispose','wrapU','layerMask','harmonicsFunctions','ShadersStoreWGSL','#if\x20NUM_BONE_INFLUENCERS>0\x0aattribute\x20vec4\x20matricesIndices;\x0aattribute\x20vec4\x20matricesWeights;\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0aattribute\x20vec4\x20matricesIndicesExtra;\x0aattribute\x20vec4\x20matricesWeightsExtra;\x0a#endif\x0a#ifndef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0a#ifdef\x20BONETEXTURE\x0auniform\x20sampler2D\x20boneSampler;\x0auniform\x20float\x20boneTextureWidth;\x0a#else\x0auniform\x20mat4\x20mBones[BonesPerMesh];\x0a#ifdef\x20BONES_VELOCITY_ENABLED\x0auniform\x20mat4\x20mPreviousBones[BonesPerMesh];\x0a#endif\x0a#endif\x0a#ifdef\x20BONETEXTURE\x0a#define\x20inline\x0amat4\x20readMatrixFromRawSampler(sampler2D\x20smp,float\x20index)\x0a{\x0afloat\x20offset=index\x20*4.0;\x0afloat\x20dx=1.0/boneTextureWidth;\x0avec4\x20m0=texture2D(smp,vec2(dx*(offset+0.5),0.));\x0avec4\x20m1=texture2D(smp,vec2(dx*(offset+1.5),0.));\x0avec4\x20m2=texture2D(smp,vec2(dx*(offset+2.5),0.));\x0avec4\x20m3=texture2D(smp,vec2(dx*(offset+3.5),0.));\x0areturn\x20mat4(m0,m1,m2,m3);\x0a}\x0a#endif\x0a#endif\x0a#endif\x0a','drawBuffers','#ifdef\x20MORPHTARGETS\x0auniform\x20morphTargetInfluences\x20:\x20array<f32,NUM_MORPH_INFLUENCERS>;\x0a#ifdef\x20MORPHTARGETS_TEXTURE\x20\x0auniform\x20morphTargetTextureIndices\x20:\x20array<f32,NUM_MORPH_INFLUENCERS>;\x0auniform\x20morphTargetTextureInfo\x20:\x20vec3<f32>;\x0avar\x20morphTargets\x20:\x20texture_2d_array<f32>;\x0avar\x20morphTargetsSampler\x20:\x20sampler;\x0afn\x20readVector3FromRawSampler(targetIndex\x20:\x20i32,vertexIndex\x20:\x20f32)->vec3<f32>\x0a{\x20\x0alet\x20y=floor(vertexIndex/uniforms.morphTargetTextureInfo.y);\x0alet\x20x=vertexIndex-y*uniforms.morphTargetTextureInfo.y;\x0alet\x20textureUV=vec2<f32>((x+0.5)/uniforms.morphTargetTextureInfo.y,(y+0.5)/uniforms.morphTargetTextureInfo.z);\x0areturn\x20textureSampleLevel(morphTargets,morphTargetsSampler,textureUV,i32(uniforms.morphTargetTextureIndices[targetIndex]),0.0).xyz;\x0a}\x0a#endif\x0a#endif\x0a','sampler2D','hoverCursor','_releaseFramebufferObjects','setUIntArray','buttons','Lerp','2512870opDoub','i32d','uniform\x20mat4\x20world;\x0auniform\x20float\x20visibility;\x0a','uniform\x20float\x20particleAlpha;\x0avarying\x20vec2\x20uv;\x0avarying\x20vec3\x20diffuseColor;\x0avoid\x20main(void)\x20{\x0avec3\x20normal;\x0anormal.xy=uv*2.0-1.0;\x0afloat\x20r2=dot(normal.xy,normal.xy);\x0aif\x20(r2>1.0)\x20discard;\x0aglFragColor=vec4(diffuseColor,1.0);\x0a}\x0a','scheduler','_blurTextureSizeX','fresnelFunction','onError','UNSIGNED_INT','samples','abs','_varyingNamesWGSL','blurFilterSize','TEXTURE_WRAP_T','pbrVertexDeclaration','fillUniformsAttributesAndSamplerNames','hasTexture','#if\x20defined(BUMP)\x20||\x20defined(PARALLAX)\x20||\x20defined(CLEARCOAT_BUMP)\x20||\x20defined(ANISOTROPIC)\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x0avec3\x20tbnNormal=normalize(normalUpdated);\x0avec3\x20tbnTangent=normalize(tangentUpdated.xyz);\x0avec3\x20tbnBitangent=cross(tbnNormal,tbnTangent)*tangentUpdated.w;\x0avTBN=mat3(finalWorld)*mat3(tbnTangent,tbnBitangent,tbnNormal);\x0a#endif\x0a#endif\x0a','_emitCodeFromInclude','heightRange','groupIndex','\x0a\x20\x20\x20\x20#extension\x20GL_EXT_samplerless_texture_functions\x20:\x20enable\x0a\x0a\x20\x20\x20\x20const\x20vec2\x20pos[4]\x20=\x20vec2[4](vec2(-1.0f,\x201.0f),\x20vec2(1.0f,\x201.0f),\x20vec2(-1.0f,\x20-1.0f),\x20vec2(1.0f,\x20-1.0f));\x0a\x20\x20\x20\x20const\x20vec2\x20tex[4]\x20=\x20vec2[4](vec2(0.0f,\x200.0f),\x20vec2(1.0f,\x200.0f),\x20vec2(0.0f,\x201.0f),\x20vec2(1.0f,\x201.0f));\x0a\x0a\x20\x20\x20\x20layout(set\x20=\x200,\x20binding\x20=\x200)\x20uniform\x20texture2D\x20img;\x0a\x0a\x20\x20\x20\x20#ifdef\x20INVERTY\x0a\x20\x20\x20\x20\x20\x20\x20\x20layout(location\x20=\x200)\x20out\x20flat\x20ivec2\x20vTextureSize;\x0a\x20\x20\x20\x20#endif\x0a\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20INVERTY\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vTextureSize\x20=\x20textureSize(img,\x200);\x0a\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20vec4(pos[gl_VertexIndex],\x200.0,\x201.0);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','modelList','_BuildSubExpression','_areLightsDisposed','#ifdef\x20MORPHTARGETS\x0a#ifdef\x20MORPHTARGETS_TEXTURE\x20\x0avertexID=f32(vertexInputs.vertexIndex)*uniforms.morphTargetTextureInfo.x;\x0apositionUpdated=positionUpdated+(readVector3FromRawSampler({X},vertexID)-vertexInputs.position)*uniforms.morphTargetInfluences[{X}];\x0avertexID=vertexID+1.0;\x0a#ifdef\x20MORPHTARGETS_NORMAL\x0anormalUpdated=normalUpdated+(readVector3FromRawSampler({X},vertexID)\x20-vertexInputs.normal)*uniforms.morphTargetInfluences[{X}];\x0avertexID=vertexID+1.0;\x0a#endif\x0a#ifdef\x20MORPHTARGETS_UV\x0auvUpdated=uvUpdated+(readVector3FromRawSampler({X},vertexID).xy-vertexInputs.uv)*uniforms.morphTargetInfluences[{X}];\x0avertexID=vertexID+1.0;\x0a#endif\x0a#ifdef\x20MORPHTARGETS_TANGENT\x0atangentUpdated.xyz=tangentUpdated.xyz+(readVector3FromRawSampler({X},vertexID)\x20-vertexInputs.tangent.xyz)*uniforms.morphTargetInfluences[{X}];\x0a#endif\x0a#else\x0apositionUpdated=positionUpdated+(position{X}-vertexInputs.position)*uniforms.morphTargetInfluences[{X}];\x0a#ifdef\x20MORPHTARGETS_NORMAL\x0anormalUpdated+=(normal{X}-vertexInputs.normal)*uniforms.morphTargetInfluences[{X}];\x0a#endif\x0a#ifdef\x20MORPHTARGETS_TANGENT\x0atangentUpdated.xyz=tangentUpdated.xyz+(tangent{X}-vertexInputs.tangent.xyz)*uniforms.morphTargetInfluences[{X}];\x0a#endif\x0a#ifdef\x20MORPHTARGETS_UV\x0auvUpdated=uvUpdated+(uv_{X}-vertexInputs.uv)*uniforms.morphTargetInfluences[{X}];\x0a#endif\x0a#endif\x0a#endif\x0a','),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20NdotV,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20specularEnvironmentR0,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20CLEARCOAT\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20NdotVUnclamped,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20iridescenceOut\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20iridescenceIntensity\x20=\x20iridescenceOut.iridescenceIntensity;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20specularEnvironmentR0\x20=\x20iridescenceOut.specularEnvironmentR0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0d\x0a','_useSRGBBuffer','_setInternalTexture','_onKeyDown','_vertexBufferSize','autoResetAlpha','ETC2RGB8A1UnormSRGB','Finalize','RG8Unorm','gpuRenderParticlesPixelShader','GLSL','pixelPerfect','textureAdditionalUsages','disableVR','bindAttachments','pvrtc','push','detach','vScale','_textureHelper','64bHTZDG','ALPHA_EQUATION_MAX','define','_areFresnelDirty','TEXTURETYPE_BYTE','_internalTexturesCache','pointerY','lineVertexShader','_bundleEncoder','worldUp','matrixBuffer','getVaryingNextLocation','postProcess','substitutionVars','boundingBoxRendererVertexDeclaration','_pointerX','layout(set\x20=\x20','R8Snorm','_leftOverUniformsByName','blurMaxFilterSize','Stencil8','vectors','initWebVRAsync','bindForSubMesh','blackAndWhitePixelShader','Boolean','setTextureSampler:\x20This\x20engine\x20does\x20not\x20support\x20separate\x20texture\x20sampler\x20objects!','#ifdef\x20DECAL\x0auniform\x20vec4\x20vDecalInfos;\x0a#endif\x0a','UNSIGNED_SHORT','prePassRenderer','setAlphaBlendFactors','getScene','clipPlaneVertexDeclaration','startTime','hints','materialContext','fluidRenderingStandardBlur','uniform\x20float\x20brightness;\x0auniform\x20float\x20persistence;\x0auniform\x20float\x20timeScale;\x0avarying\x20vec2\x20vUV;\x0avec2\x20hash22(vec2\x20p)\x0a{\x0ap=p*mat2(127.1,311.7,269.5,183.3);\x0ap=-1.0+2.0*fract(sin(p)*43758.5453123);\x0areturn\x20sin(p*6.283+timeScale);\x0a}\x0afloat\x20interpolationNoise(vec2\x20p)\x0a{\x0avec2\x20pi=floor(p);\x0avec2\x20pf=p-pi;\x0avec2\x20w=pf*pf*(3.-2.*pf);\x0afloat\x20f00=dot(hash22(pi+vec2(.0,.0)),pf-vec2(.0,.0));\x0afloat\x20f01=dot(hash22(pi+vec2(.0,1.)),pf-vec2(.0,1.));\x0afloat\x20f10=dot(hash22(pi+vec2(1.0,0.)),pf-vec2(1.0,0.));\x0afloat\x20f11=dot(hash22(pi+vec2(1.0,1.)),pf-vec2(1.0,1.));\x0afloat\x20xm1=mix(f00,f10,w.x);\x0afloat\x20xm2=mix(f01,f11,w.x);\x0afloat\x20ym=mix(xm1,xm2,w.y);\x20\x0areturn\x20ym;\x0a}\x0afloat\x20perlinNoise2D(float\x20x,float\x20y)\x0a{\x0afloat\x20sum=0.0;\x0afloat\x20frequency=0.0;\x0afloat\x20amplitude=0.0;\x0afor(int\x20i=0;\x20i<OCTAVES;\x20i++)\x0a{\x0afrequency=pow(2.0,float(i));\x0aamplitude=pow(persistence,float(i));\x0asum=sum+interpolationNoise(vec2(x*frequency,y*frequency))*amplitude;\x0a}\x0areturn\x20sum;\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0afloat\x20x=abs(vUV.x);\x0afloat\x20y=abs(vUV.y);\x0afloat\x20noise=brightness+(1.0-brightness)*perlinNoise2D(x,y);\x0agl_FragColor=vec4(noise,noise,noise,1.0);\x0a}\x0a','supportedPipelines','PREPASS_DEPTH_TEXTURE_TYPE','_swipeButtonPressed','renderbufferStorageMultisample','BrowserForward','createBuffer','_pickedUpMesh','nearInteractionPickingInfo','_onPointerUp','#if\x20defined(WEBGL2)\x20||\x20defines(WEBGPU)\x0d\x0aprecision\x20highp\x20sampler2DArray;\x0d\x0a#endif\x0d\x0a','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSEX\x0avarying\x20vec2\x20vTextureUVX;\x0a#endif\x0a#ifdef\x20DIFFUSEY\x0avarying\x20vec2\x20vTextureUVY;\x0a#endif\x0a#ifdef\x20DIFFUSEZ\x0avarying\x20vec2\x20vTextureUVZ;\x0a#endif\x0auniform\x20float\x20tileSize;\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20mat3\x20tangentSpace;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0agl_Position=viewProjection*worldPos;\x0avPositionW=vec3(worldPos);\x0a#ifdef\x20DIFFUSEX\x0avTextureUVX=worldPos.zy/tileSize;\x0a#endif\x0a#ifdef\x20DIFFUSEY\x0avTextureUVY=worldPos.xz/tileSize;\x0a#endif\x0a#ifdef\x20DIFFUSEZ\x0avTextureUVZ=worldPos.xy/tileSize;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20xtan=vec3(0,0,1);\x0avec3\x20xbin=vec3(0,1,0);\x0avec3\x20ytan=vec3(1,0,0);\x0avec3\x20ybin=vec3(0,0,1);\x0avec3\x20ztan=vec3(1,0,0);\x0avec3\x20zbin=vec3(0,1,0);\x0avec3\x20normalizedNormal=normalize(normal);\x0anormalizedNormal*=normalizedNormal;\x0avec3\x20worldBinormal=normalize(xbin*normalizedNormal.x+ybin*normalizedNormal.y+zbin*normalizedNormal.z);\x0avec3\x20worldTangent=normalize(xtan*normalizedNormal.x+ytan*normalizedNormal.y+ztan*normalizedNormal.z);\x0aworldTangent=(world*vec4(worldTangent,0.0)).xyz;\x0aworldBinormal=(world*vec4(worldBinormal,0.0)).xyz;\x0avec3\x20worldNormal=(world*vec4(normalize(normal),0.0)).xyz;\x0atangentSpace[0]=worldTangent;\x0atangentSpace[1]=worldBinormal;\x0atangentSpace[2]=worldNormal;\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','CLIPPLANE2','releaseTexture','_unIndexed','enablePointerMoveEvents','setPointerOverMesh','createPickingRay','_pendingDebugCommands','disable','vReflectionPosition','POLYGON_OFFSET_FILL','isReusable','mrtFragmentDeclaration','texImage3D','setMatrix3x3','maxMSAASamples','_resetVertexBufferBinding','addTags','clearQuadPixelShader','TempTextureForCopyWithInvertY','reflectionFunction','clipPlane5','\x20=\x20computePlanarCoords(','fogDensity','Can\x27t\x20get\x20the\x20texture\x20dimension\x20corresponding\x20to\x20the\x20texture\x20function\x20\x22','platformName','get','diffusionProfile','_retrieveQueryBuffer','BC3RGBAUnormSRGB','_funcMask','_strided_arr','uniformBlockBinding','_isBlendFunctionParametersDirty','reflectionCoords','matchesTagsQuery','previousMatrix','singleClick','setFloat2','logDepthDeclaration','setTexture','shadowEnabled','_workingCanvas','_features','_textureBlurred','#if\x20defined(ENVIRONMENTBRDF)\x0a#ifdef\x20MS_BRDF_ENERGY_CONSERVATION\x0avec3\x20energyConservationFactor=getEnergyConservationFactor(clearcoatOut.specularEnvironmentR0,environmentBrdf);\x0a#endif\x0a#endif\x0a#ifndef\x20METALLICWORKFLOW\x0a#ifdef\x20SPECULAR_GLOSSINESS_ENERGY_CONSERVATION\x0asurfaceAlbedo.rgb=(1.-reflectance)*surfaceAlbedo.rgb;\x0a#endif\x0a#endif\x0a#if\x20defined(SHEEN)\x20&&\x20defined(SHEEN_ALBEDOSCALING)\x20&&\x20defined(ENVIRONMENTBRDF)\x0asurfaceAlbedo.rgb=sheenOut.sheenAlbedoScaling*surfaceAlbedo.rgb;\x0a#endif\x0a#ifdef\x20REFLECTION\x0avec3\x20finalIrradiance=reflectionOut.environmentIrradiance;\x0a#if\x20defined(CLEARCOAT)\x0afinalIrradiance*=clearcoatOut.conservationFactor;\x0a#if\x20defined(CLEARCOAT_TINT)\x0afinalIrradiance*=clearcoatOut.absorption;\x0a#endif\x0a#endif\x0a#if\x20defined(SS_REFRACTION)\x0afinalIrradiance*=subSurfaceOut.refractionFactorForIrradiance;\x0a#endif\x0a#if\x20defined(SS_TRANSLUCENCY)\x0afinalIrradiance*=(1.0-subSurfaceOut.translucencyIntensity);\x0afinalIrradiance+=subSurfaceOut.refractionIrradiance;\x0a#endif\x0afinalIrradiance*=surfaceAlbedo.rgb;\x0afinalIrradiance*=vLightingIntensity.z;\x0afinalIrradiance*=aoOut.ambientOcclusionColor;\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20finalSpecular=specularBase;\x0afinalSpecular=max(finalSpecular,0.0);\x0avec3\x20finalSpecularScaled=finalSpecular*vLightingIntensity.x*vLightingIntensity.w;\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(MS_BRDF_ENERGY_CONSERVATION)\x0afinalSpecularScaled*=energyConservationFactor;\x0a#endif\x0a#if\x20defined(SHEEN)\x20&&\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(SHEEN_ALBEDOSCALING)\x0afinalSpecularScaled*=sheenOut.sheenAlbedoScaling;\x0a#endif\x0a#endif\x0a#ifdef\x20REFLECTION\x0avec3\x20finalRadiance=reflectionOut.environmentRadiance.rgb;\x0afinalRadiance*=subSurfaceOut.specularEnvironmentReflectance;\x0avec3\x20finalRadianceScaled=finalRadiance*vLightingIntensity.z;\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(MS_BRDF_ENERGY_CONSERVATION)\x0afinalRadianceScaled*=energyConservationFactor;\x0a#endif\x0a#if\x20defined(SHEEN)\x20&&\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(SHEEN_ALBEDOSCALING)\x0afinalRadianceScaled*=sheenOut.sheenAlbedoScaling;\x0a#endif\x0a#endif\x0a#ifdef\x20SHEEN\x0avec3\x20finalSheen=sheenBase*sheenOut.sheenColor;\x0afinalSheen=max(finalSheen,0.0);\x0avec3\x20finalSheenScaled=finalSheen*vLightingIntensity.x*vLightingIntensity.w;\x0a#if\x20defined(CLEARCOAT)\x20&&\x20defined(REFLECTION)\x20&&\x20defined(ENVIRONMENTBRDF)\x0asheenOut.finalSheenRadianceScaled*=clearcoatOut.conservationFactor;\x0a#if\x20defined(CLEARCOAT_TINT)\x0asheenOut.finalSheenRadianceScaled*=clearcoatOut.absorption;\x0a#endif\x0a#endif\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0avec3\x20finalClearCoat=clearCoatBase;\x0afinalClearCoat=max(finalClearCoat,0.0);\x0avec3\x20finalClearCoatScaled=finalClearCoat*vLightingIntensity.x*vLightingIntensity.w;\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(MS_BRDF_ENERGY_CONSERVATION)\x0afinalClearCoatScaled*=clearcoatOut.energyConservationFactorClearCoat;\x0a#endif\x0a#ifdef\x20SS_REFRACTION\x0asubSurfaceOut.finalRefraction*=clearcoatOut.conservationFactor;\x0a#ifdef\x20CLEARCOAT_TINT\x0asubSurfaceOut.finalRefraction*=clearcoatOut.absorption;\x0a#endif\x0a#endif\x0a#endif\x0a#ifdef\x20ALPHABLEND\x0afloat\x20luminanceOverAlpha=0.0;\x0a#if\x20defined(REFLECTION)\x20&&\x20defined(RADIANCEOVERALPHA)\x0aluminanceOverAlpha+=getLuminance(finalRadianceScaled);\x0a#if\x20defined(CLEARCOAT)\x0aluminanceOverAlpha+=getLuminance(clearcoatOut.finalClearCoatRadianceScaled);\x0a#endif\x0a#endif\x0a#if\x20defined(SPECULARTERM)\x20&&\x20defined(SPECULAROVERALPHA)\x0aluminanceOverAlpha+=getLuminance(finalSpecularScaled);\x0a#endif\x0a#if\x20defined(CLEARCOAT)\x20&&\x20defined(CLEARCOATOVERALPHA)\x0aluminanceOverAlpha+=getLuminance(finalClearCoatScaled);\x0a#endif\x0a#if\x20defined(RADIANCEOVERALPHA)\x20||\x20defined(SPECULAROVERALPHA)\x20||\x20defined(CLEARCOATOVERALPHA)\x0aalpha=saturate(alpha+luminanceOverAlpha*luminanceOverAlpha);\x0a#endif\x0a#endif\x0a','_sampleBurleyDiffusionProfile','Timestamp','_loopAnimation','end','Vertex','_positionUVWName','then','scene_multiview','constructor','onBeforeCameraRenderObservable','createCubeTextureBase','geometryPixelShader','GetCode','cellPixelShader','_readTexturePixelsSync','getEffectDefines','vec3\x20computeFixedEquirectangularCoords(vec4\x20worldPos,vec3\x20worldNormal,vec3\x20direction)\x0a{\x0afloat\x20lon=atan(direction.z,direction.x);\x0afloat\x20lat=acos(direction.y);\x0avec2\x20sphereCoords=vec2(lon,lat)*RECIPROCAL_PI2*2.0;\x0afloat\x20s=sphereCoords.x*0.5+0.5;\x0afloat\x20t=sphereCoords.y;\x0areturn\x20vec3(s,t,0);\x20\x0a}\x0avec3\x20computeMirroredFixedEquirectangularCoords(vec4\x20worldPos,vec3\x20worldNormal,vec3\x20direction)\x0a{\x0afloat\x20lon=atan(direction.z,direction.x);\x0afloat\x20lat=acos(direction.y);\x0avec2\x20sphereCoords=vec2(lon,lat)*RECIPROCAL_PI2*2.0;\x0afloat\x20s=sphereCoords.x*0.5+0.5;\x0afloat\x20t=sphereCoords.y;\x0areturn\x20vec3(1.0-s,t,0);\x20\x0a}\x0avec3\x20computeEquirectangularCoords(vec4\x20worldPos,vec3\x20worldNormal,vec3\x20eyePosition,mat4\x20reflectionMatrix)\x0a{\x0avec3\x20cameraToVertex=normalize(worldPos.xyz-eyePosition);\x0avec3\x20r=normalize(reflect(cameraToVertex,worldNormal));\x0ar=vec3(reflectionMatrix*vec4(r,0));\x0afloat\x20lon=atan(r.z,r.x);\x0afloat\x20lat=acos(r.y);\x0avec2\x20sphereCoords=vec2(lon,lat)*RECIPROCAL_PI2*2.0;\x0afloat\x20s=sphereCoords.x*0.5+0.5;\x0afloat\x20t=sphereCoords.y;\x0areturn\x20vec3(s,t,0);\x0a}\x0avec3\x20computeSphericalCoords(vec4\x20worldPos,vec3\x20worldNormal,mat4\x20view,mat4\x20reflectionMatrix)\x0a{\x0avec3\x20viewDir=normalize(vec3(view*worldPos));\x0avec3\x20viewNormal=normalize(vec3(view*vec4(worldNormal,0.0)));\x0avec3\x20r=reflect(viewDir,viewNormal);\x0ar=vec3(reflectionMatrix*vec4(r,0));\x0ar.z=r.z-1.0;\x0afloat\x20m=2.0*length(r);\x0areturn\x20vec3(r.x/m+0.5,1.0-r.y/m-0.5,0);\x0a}\x0avec3\x20computePlanarCoords(vec4\x20worldPos,vec3\x20worldNormal,vec3\x20eyePosition,mat4\x20reflectionMatrix)\x0a{\x0avec3\x20viewDir=worldPos.xyz-eyePosition;\x0avec3\x20coords=normalize(reflect(viewDir,worldNormal));\x0areturn\x20vec3(reflectionMatrix*vec4(coords,1));\x0a}\x0avec3\x20computeCubicCoords(vec4\x20worldPos,vec3\x20worldNormal,vec3\x20eyePosition,mat4\x20reflectionMatrix)\x0a{\x0avec3\x20viewDir=normalize(worldPos.xyz-eyePosition);\x0avec3\x20coords=reflect(viewDir,worldNormal);\x0acoords=vec3(reflectionMatrix*vec4(coords,0));\x0a#ifdef\x20INVERTCUBICMAP\x0acoords.y*=-1.0;\x0a#endif\x0areturn\x20coords;\x0a}\x0avec3\x20computeCubicLocalCoords(vec4\x20worldPos,vec3\x20worldNormal,vec3\x20eyePosition,mat4\x20reflectionMatrix,vec3\x20reflectionSize,vec3\x20reflectionPosition)\x0a{\x0avec3\x20viewDir=normalize(worldPos.xyz-eyePosition);\x0avec3\x20coords=reflect(viewDir,worldNormal);\x0acoords=parallaxCorrectNormal(worldPos.xyz,coords,reflectionSize,reflectionPosition);\x0acoords=vec3(reflectionMatrix*vec4(coords,0));\x0a#ifdef\x20INVERTCUBICMAP\x0acoords.y*=-1.0;\x0a#endif\x0areturn\x20coords;\x0a}\x0avec3\x20computeProjectionCoords(vec4\x20worldPos,mat4\x20view,mat4\x20reflectionMatrix)\x0a{\x0areturn\x20vec3(reflectionMatrix*(view*worldPos));\x0a}\x0avec3\x20computeSkyBoxCoords(vec3\x20positionW,mat4\x20reflectionMatrix)\x0a{\x0areturn\x20vec3(reflectionMatrix*vec4(positionW,1.));\x0a}\x0a#ifdef\x20REFLECTION\x0avec3\x20computeReflectionCoords(vec4\x20worldPos,vec3\x20worldNormal)\x0a{\x0a#ifdef\x20REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED\x0avec3\x20direction=normalize(vDirectionW);\x0areturn\x20computeMirroredFixedEquirectangularCoords(worldPos,worldNormal,direction);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_EQUIRECTANGULAR_FIXED\x0avec3\x20direction=normalize(vDirectionW);\x0areturn\x20computeFixedEquirectangularCoords(worldPos,worldNormal,direction);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_EQUIRECTANGULAR\x0areturn\x20computeEquirectangularCoords(worldPos,worldNormal,vEyePosition.xyz,reflectionMatrix);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_SPHERICAL\x0areturn\x20computeSphericalCoords(worldPos,worldNormal,view,reflectionMatrix);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_PLANAR\x0areturn\x20computePlanarCoords(worldPos,worldNormal,vEyePosition.xyz,reflectionMatrix);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_CUBIC\x0a#ifdef\x20USE_LOCAL_REFLECTIONMAP_CUBIC\x0areturn\x20computeCubicLocalCoords(worldPos,worldNormal,vEyePosition.xyz,reflectionMatrix,vReflectionSize,vReflectionPosition);\x0a#else\x0areturn\x20computeCubicCoords(worldPos,worldNormal,vEyePosition.xyz,reflectionMatrix);\x0a#endif\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_PROJECTION\x0areturn\x20computeProjectionCoords(worldPos,view,reflectionMatrix);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0areturn\x20computeSkyBoxCoords(vPositionUVW,reflectionMatrix);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_EXPLICIT\x0areturn\x20vec3(0,0,0);\x0a#endif\x0a}\x0a#endif\x0a','submitFrame','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0a#include<helperFunctions>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0agl_FragColor=toRGBD(texture2D(textureSampler,vUV).rgb);\x0a}','#ifdef\x20MORPHTARGETS\x0a#ifndef\x20MORPHTARGETS_TEXTURE\x0aattribute\x20vec3\x20position{X};\x0a#ifdef\x20MORPHTARGETS_NORMAL\x0aattribute\x20vec3\x20normal{X};\x0a#endif\x0a#ifdef\x20MORPHTARGETS_TANGENT\x0aattribute\x20vec3\x20tangent{X};\x0a#endif\x0a#ifdef\x20MORPHTARGETS_UV\x0aattribute\x20vec2\x20uv_{X};\x0a#endif\x0a#endif\x0a#endif\x0a','#ifdef\x20FOG\x0avFogDistance=(view*worldPos).xyz;\x0a#endif\x0a','clear','_checkPrePointerObservable','fromIndex','updateFloat3','_webgpuMSAATexture','bind','_renderTargetWrapperCache','#ifdef\x20EXPOSURE\x0auniform\x20float\x20exposureLinear;\x0a#endif\x0a#ifdef\x20CONTRAST\x0auniform\x20float\x20contrast;\x0a#endif\x0a#if\x20defined(VIGNETTE)\x20||\x20defined(DITHER)\x0auniform\x20vec2\x20vInverseScreenSize;\x0a#endif\x0a#ifdef\x20VIGNETTE\x0auniform\x20vec4\x20vignetteSettings1;\x0auniform\x20vec4\x20vignetteSettings2;\x0a#endif\x0a#ifdef\x20COLORCURVES\x0auniform\x20vec4\x20vCameraColorCurveNegative;\x0auniform\x20vec4\x20vCameraColorCurveNeutral;\x0auniform\x20vec4\x20vCameraColorCurvePositive;\x0a#endif\x0a#ifdef\x20COLORGRADING\x0a#ifdef\x20COLORGRADING3D\x0auniform\x20highp\x20sampler3D\x20txColorTransform;\x0a#else\x0auniform\x20sampler2D\x20txColorTransform;\x0a#endif\x0auniform\x20vec4\x20colorTransformSettings;\x0a#endif\x0a#ifdef\x20DITHER\x0auniform\x20float\x20ditherIntensity;\x0a#endif\x0a','pow','hit','BLEND','ALPHA_SCREENMODE','test','initWebVR','pointerX','unbindInstanceAttributes','depthAttachmentViewDescriptor','RenderAttachment','NONE','stencilMaterial','allowSingleMeshMaxTriangleFaceQuantity','ALPHA_EQUATION_DARKEN','_verifyPointerLock','>,\x0a','_disposePhysicsObserver','R32Uint','_fixReusablePostProcess','MouseWheelX','BC6HRGBFloat','dispose','Filtering','UniformBuffer','_transformTextureUrl','_pointerDownStage','reConstruct','\x22,\x20undefined,\x20undefined,\x20','vClipPlane3','MapWrite','toGlobalToRef','CreateNewFromPrimitive','COLOR_BUFFER_BIT','updateVideoTexture','onLoadedObservable','RGBA16Uint','gpuUpdateParticlesComputeShader','Depth16Unorm','ETC2RGBA8Unorm','pbrBlockReflectance0','_blurNumIterations','layout(std140,column_major)\x20uniform;\x0auniform\x20Material\x20{\x0avec2\x20vAlbedoInfos;\x0avec4\x20vAmbientInfos;\x0avec2\x20vOpacityInfos;\x0avec2\x20vEmissiveInfos;\x0avec2\x20vLightmapInfos;\x0avec3\x20vReflectivityInfos;\x0avec2\x20vMicroSurfaceSamplerInfos;\x0avec2\x20vReflectionInfos;\x0avec2\x20vReflectionFilteringInfo;\x0avec3\x20vReflectionPosition;\x0avec3\x20vReflectionSize;\x0avec3\x20vBumpInfos;\x0amat4\x20albedoMatrix;\x0amat4\x20ambientMatrix;\x0amat4\x20opacityMatrix;\x0amat4\x20emissiveMatrix;\x0amat4\x20lightmapMatrix;\x0amat4\x20reflectivityMatrix;\x0amat4\x20microSurfaceSamplerMatrix;\x0amat4\x20bumpMatrix;\x0avec2\x20vTangentSpaceParams;\x0amat4\x20reflectionMatrix;\x0avec3\x20vReflectionColor;\x0avec4\x20vAlbedoColor;\x0avec4\x20vLightingIntensity;\x0avec3\x20vReflectionMicrosurfaceInfos;\x0afloat\x20pointSize;\x0avec4\x20vReflectivityColor;\x0avec3\x20vEmissiveColor;\x0avec3\x20vAmbientColor;\x0avec2\x20vDebugMode;\x0avec4\x20vMetallicReflectanceFactors;\x0avec2\x20vMetallicReflectanceInfos;\x0amat4\x20metallicReflectanceMatrix;\x0avec2\x20vReflectanceInfos;\x0amat4\x20reflectanceMatrix;\x0avec3\x20vSphericalL00;\x0avec3\x20vSphericalL1_1;\x0avec3\x20vSphericalL10;\x0avec3\x20vSphericalL11;\x0avec3\x20vSphericalL2_2;\x0avec3\x20vSphericalL2_1;\x0avec3\x20vSphericalL20;\x0avec3\x20vSphericalL21;\x0avec3\x20vSphericalL22;\x0avec3\x20vSphericalX;\x0avec3\x20vSphericalY;\x0avec3\x20vSphericalZ;\x0avec3\x20vSphericalXX_ZZ;\x0avec3\x20vSphericalYY_ZZ;\x0avec3\x20vSphericalZZ;\x0avec3\x20vSphericalXY;\x0avec3\x20vSphericalYZ;\x0avec3\x20vSphericalZX;\x0a#define\x20ADDITIONAL_UBO_DECLARATION\x0a};\x0a#include<sceneUboDeclaration>\x0a#include<meshUboDeclaration>\x0a','lavaPixelShader','charCodeAt','geometryVertexShader','FluidRenderingDepthTextureCopyRTTDepthStencil','heartbeat','setState','capacity','_physicsBody','#define\x20CLIPPLANE4','acos','KnownUBOs','pbrBlockReflectance','meshUnderPointer','setTextureFormatToUse','_mrtAttachments','HasSpecificTrigger','comparisonFunction','_renderPipelines','disableAutoAttach','ASTC12x12UnormSRGB','IsExponentOfTwo','getSampler','offsets','E2dArray','MAINUV5','currentRTisSceneRT','getTranslation','attributeLocationsFromEffect','kernelBlurVertex','_yOffset','insertDebugMarker','TEXTURETYPE_UNSIGNED_INT_5_9_9_9_REV','attribute\x20vec2\x20position;\x0auniform\x20vec2\x20texelSize;\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec2\x20sampleCoordS;\x0avarying\x20vec2\x20sampleCoordE;\x0avarying\x20vec2\x20sampleCoordN;\x0avarying\x20vec2\x20sampleCoordW;\x0avarying\x20vec2\x20sampleCoordNW;\x0avarying\x20vec2\x20sampleCoordSE;\x0avarying\x20vec2\x20sampleCoordNE;\x0avarying\x20vec2\x20sampleCoordSW;\x0aconst\x20vec2\x20madd=vec2(0.5,0.5);\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avUV=(position*madd+madd);\x0asampleCoordS=vUV+vec2(\x200.0,1.0)*texelSize;\x0asampleCoordE=vUV+vec2(\x201.0,0.0)*texelSize;\x0asampleCoordN=vUV+vec2(\x200.0,-1.0)*texelSize;\x0asampleCoordW=vUV+vec2(-1.0,0.0)*texelSize;\x0asampleCoordNW=vUV+vec2(-1.0,-1.0)*texelSize;\x0asampleCoordSE=vUV+vec2(\x201.0,1.0)*texelSize;\x0asampleCoordNE=vUV+vec2(\x201.0,-1.0)*texelSize;\x0asampleCoordSW=vUV+vec2(-1.0,1.0)*texelSize;\x0agl_Position=vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','false','boundingBox','_setupDepthStencilTexture','#ifdef\x20INSTANCES\x0aattribute\x20world0\x20:\x20vec4<f32>;\x0aattribute\x20world1\x20:\x20vec4<f32>;\x0aattribute\x20world2\x20:\x20vec4<f32>;\x0aattribute\x20world3\x20:\x20vec4<f32>;\x0a#ifdef\x20INSTANCESCOLOR\x0aattribute\x20instanceColor\x20:\x20vec4<f32>;\x0a#endif\x0a#if\x20defined(THIN_INSTANCES)\x20&&\x20!defined(WORLD_UBO)\x0auniform\x20world\x20:\x20mat4x4<f32>;\x0a#endif\x0a#if\x20defined(VELOCITY)\x20||\x20defined(PREPASS_VELOCITY)\x0aattribute\x20previousWorld0\x20:\x20vec4<f32>;\x0aattribute\x20previousWorld1\x20:\x20vec4<f32>;\x0aattribute\x20previousWorld2\x20:\x20vec4<f32>;\x0aattribute\x20previousWorld3\x20:\x20vec4<f32>;\x0a#ifdef\x20THIN_INSTANCES\x0auniform\x20previousWorld\x20:\x20mat4x4<f32>;\x0a#endif\x0a#endif\x0a#else\x0a#if\x20!defined(WORLD_UBO)\x0auniform\x20world\x20:\x20mat4x4<f32>;\x0a#endif\x0a#if\x20defined(VELOCITY)\x20||\x20defined(PREPASS_VELOCITY)\x0auniform\x20previousWorld\x20:\x20mat4x4<f32>;\x0a#endif\x0a#endif\x0a','setAlphaMode','_attachments','uniform\x20vec3\x20diffusionS[5];\x0auniform\x20float\x20diffusionD[5];\x0auniform\x20float\x20filterRadii[5];','addCount','children','_initClickEvent','defined($1)','EACRG11Unorm','setPhysicsLinkWith','pbrBlockNormalFinal','zOffset','_textureType','TransformCoordinatesToRef','shaderProcessingContext','invertV','ALPHA_SUBTRACT','enableGPUDebugMarkers','texturesSupported','spritesPixelShader','TEXTUREFORMAT_COMPRESSED_RGB_BPTC_SIGNED_FLOAT','timerQuery','E1d','setAlphaBlendFunctionParameters','ACTION_OnLeftPickTrigger',',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}','createRawTexture3D','GL_ALPHA_FUNCTION_ONE_MINUS_CONSTANT_ALPHA','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0auniform\x20mat4\x20diffuseMatrix;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0agl_Position=viewProjection*worldPos;\x0avPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0aif\x20(vDiffuseInfos.x==0.)\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\x0a}\x0aelse\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a}\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','radius','_drawWrapperFogDepth','isReadyOrNotBlocking','precision\x20highp\x20float;attribute\x20vec3\x20position;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;uniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0auniform\x20float\x20time;uniform\x20float\x20speed;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDistortionCoords1;varying\x20vec2\x20vDistortionCoords2;varying\x20vec2\x20vDistortionCoords3;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);gl_Position=viewProjection*worldPos;vPositionW=vec3(worldPos);\x0a#ifdef\x20DIFFUSE\x0avDiffuseUV=uv;vDiffuseUV.y-=0.2;\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#ifdef\x20DIFFUSE\x0avec3\x20layerSpeed=vec3(-0.2,-0.52,-0.1)*speed;vDistortionCoords1.x=uv.x;vDistortionCoords1.y=uv.y+layerSpeed.x*time/1000.0;vDistortionCoords2.x=uv.x;vDistortionCoords2.y=uv.y+layerSpeed.y*time/1000.0;vDistortionCoords3.x=uv.x;vDistortionCoords3.y=uv.y+layerSpeed.z*time/1000.0;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','setDepthBias','KEEP','ACTION_OnKeyUpTrigger','textureCount','textureProcessor','uv4','_reflectionPositionName','imageProcessingPixelShader','colorPixelShader','createDepthStencilTexture','_processPointerUp','_deferredReleaseBuffers','_toIndex','#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a','_ApplyPreProcessing','getOrAddWithFactory','Float','charAt','createFramebuffer','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20float\x20degree;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0avec3\x20color=texture2D(textureSampler,vUV).rgb;\x0afloat\x20luminance=dot(color,vec3(0.3,0.59,0.11));\x20\x0avec3\x20blackAndWhite=vec3(luminance,luminance,luminance);\x0agl_FragColor=vec4(color-((color-blackAndWhite)*degree),1.0);\x0a}','#elif','_framebufferDepthStencil','\x20ANIMATESHEET','_cacheSampler','textureDome','color','uniformBuffer','_attached','internal\x20copy\x20texture\x20with\x20invertY','Object','_GetAttributeNamesOrOptions','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0aattribute\x20vec3\x20normal;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20projection;\x0auniform\x20mat4\x20view;\x0avarying\x20vec3\x20vPosition;\x0avarying\x20vec3\x20vNormal;\x0a#include<fogVertexDeclaration>\x0a#ifdef\x20OPACITY\x0avarying\x20vec2\x20vOpacityUV;\x0auniform\x20mat4\x20opacityMatrix;\x0auniform\x20vec2\x20vOpacityInfos;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0a#include<fogVertex>\x0avec4\x20cameraSpacePosition=view*worldPos;\x0agl_Position=projection*cameraSpacePosition;\x0a#ifdef\x20OPACITY\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0aif\x20(vOpacityInfos.x==0.)\x0a{\x0avOpacityUV=vec2(opacityMatrix*vec4(uv,1.0,0.0));\x0a}\x0aelse\x0a{\x0avOpacityUV=vec2(opacityMatrix*vec4(uv2,1.0,0.0));\x0a}\x0a#endif\x20\x0avPosition=position;\x0avNormal=normal;\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','createRenderTargetCubeTexture','#ifdef\x20ORDER_INDEPENDENT_TRANSPARENCY\x0afloat\x20fragDepth=gl_FragCoord.z;\x20\x0a#ifdef\x20ORDER_INDEPENDENT_TRANSPARENCY_16BITS\x0auint\x20halfFloat=packHalf2x16(vec2(fragDepth));\x0avec2\x20full=unpackHalf2x16(halfFloat);\x0afragDepth=full.x;\x0a#endif\x0aivec2\x20fragCoord=ivec2(gl_FragCoord.xy);\x0avec2\x20lastDepth=texelFetch(oitDepthSampler,fragCoord,0).rg;\x0avec4\x20lastFrontColor=texelFetch(oitFrontColorSampler,fragCoord,0);\x0adepth.rg=vec2(-MAX_DEPTH);\x0afrontColor=lastFrontColor;\x0abackColor=vec4(0.0);\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0afloat\x20furthestDepth=-lastDepth.x;\x0afloat\x20nearestDepth=lastDepth.y;\x0a#else\x0afloat\x20nearestDepth=-lastDepth.x;\x0afloat\x20furthestDepth=lastDepth.y;\x0a#endif\x0afloat\x20alphaMultiplier=1.0-lastFrontColor.a;\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0aif\x20(fragDepth>nearestDepth\x20||\x20fragDepth<furthestDepth)\x20{\x0a#else\x0aif\x20(fragDepth<nearestDepth\x20||\x20fragDepth>furthestDepth)\x20{\x0a#endif\x0areturn;\x0a}\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0aif\x20(fragDepth<nearestDepth\x20&&\x20fragDepth>furthestDepth)\x20{\x0a#else\x0aif\x20(fragDepth>nearestDepth\x20&&\x20fragDepth<furthestDepth)\x20{\x0a#endif\x0adepth.rg=vec2(-fragDepth,fragDepth);\x0areturn;\x0a}\x0a#endif\x0a','polygonOffset','updateInt3','depthTextureFormat','TEXTURE_CUBE_MAP_POSITIVE_Z','TEXTURE_NEAREST_LINEAR_MIPLINEAR','availableBuffers','func','RegisteredExternalClasses','FALLOFF_STANDARD','_multiviewTexture','processCodeAfterIncludes','Comparison','#define\x20MULTIVIEW','onLoadObservable','R8Uint','__VERSION__','_bundleCache','TextureBinding','_Stack','oitFinalPixelShader','substring','getFileName','_outputPostProcess','supportsUniformBuffers','bindBuffer','_isCullFaceDirty','markAsImageProcessingDirty','isRightCamera','_isStencilFuncDirty','struct\x20','SRGB8_ALPHA8','ReflectionTextureBaseBlock','lineIndex','lavaVertexShader','occlusionQuerySet','-astc.ktx','_OnGenerateOnlyFragmentCodeChanged','MouseWheelY','canBeginQuery','CLIPPLANE3','_maxLodLevel','#if\x20SM_NORMALBIAS==1\x0a#if\x20SM_DIRECTIONINLIGHTDATA==1\x0avec3\x20worldLightDirSM=normalize(-lightDataSM.xyz);\x0a#else\x0avec3\x20directionToLightSM=lightDataSM.xyz-worldPos.xyz;\x0avec3\x20worldLightDirSM=normalize(directionToLightSM);\x0a#endif\x0afloat\x20ndlSM=dot(vNormalW,worldLightDirSM);\x0afloat\x20sinNLSM=sqrt(1.0-ndlSM*ndlSM);\x0afloat\x20normalBiasSM=biasAndScaleSM.y*sinNLSM;\x0aworldPos.xyz-=vNormalW*normalBiasSM;\x0a#endif\x0a','writeTexture','uniformBufferRegexp','DST_COLOR','_drawWrapperBase','addPendingData','#define\x20PREMULTIPLYALPHA\x0d\x0a','_IsComparisonSamplerByWebGPUSamplerType','setStencilReadMask','vec4\x20finalColor=vec4(\x0a#ifndef\x20UNLIT\x0a#ifdef\x20REFLECTION\x0afinalIrradiance\x20+\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0afinalSpecularScaled\x20+\x0a#endif\x0a#ifdef\x20SHEEN\x0afinalSheenScaled\x20+\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0afinalClearCoatScaled\x20+\x0a#endif\x0a#ifdef\x20REFLECTION\x0afinalRadianceScaled\x20+\x0a#if\x20defined(SHEEN)\x20&&\x20defined(ENVIRONMENTBRDF)\x0asheenOut.finalSheenRadianceScaled\x20+\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0aclearcoatOut.finalClearCoatRadianceScaled\x20+\x0a#endif\x0a#endif\x0a#ifdef\x20SS_REFRACTION\x0asubSurfaceOut.finalRefraction\x20+\x0a#endif\x0a#endif\x0afinalAmbient\x20+\x0afinalDiffuse,\x0aalpha);\x0a#ifdef\x20LIGHTMAP\x0a#ifndef\x20LIGHTMAPEXCLUDED\x0a#ifdef\x20USELIGHTMAPASSHADOWMAP\x0afinalColor.rgb*=lightmapColor.rgb;\x0a#else\x0afinalColor.rgb+=lightmapColor.rgb;\x0a#endif\x0a#endif\x0a#endif\x0afinalColor.rgb+=finalEmissive;\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_FOG\x0afinalColor=max(finalColor,0.0);\x0a','_isStencilMaskDirty','renderWidth','setAlphaEquationParameters','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20glFragCoord_\x20=\x20gl_FragCoord;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(yFactor_\x20==\x201.)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20glFragCoord_.y\x20=\x20textureOutputHeight_\x20-\x20glFragCoord_.y;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','_finalizeFrame','flushFramebuffer','uScale','NEAREST','FileTools','generateOnlyFragmentCode','TEXTUREFORMAT_RGB\x20format\x20not\x20supported\x20in\x20WebGPU','circleOfConfusionPixelShader','_setColorFormat','_onVrDisplayConnect','setQuaternion','removeVerticesData','_files','vClipPlane4','void\x20main','createRawBuffer','LeftOvertUBOName','setAlphaEquation','uniform\x20samplerCube\x20','sunDirection','enableMouseHover','#ifdef\x20INSTANCES\x0avar\x20finalWorld=mat4x4<f32>(vertexInputs.world0,vertexInputs.world1,vertexInputs.world2,vertexInputs.world3);\x0a#if\x20defined(PREPASS_VELOCITY)\x20||\x20defined(VELOCITY)\x0avar\x20finalPreviousWorld=mat4x4<f32>(previousWorld0,previousWorld1,previousWorld2,previousWorld3);\x0a#endif\x0a#ifdef\x20THIN_INSTANCES\x0a#if\x20!defined(WORLD_UBO)\x0afinalWorld=uniforms.world*finalWorld;\x0a#else\x0afinalWorld=mesh.world*finalWorld;\x0a#endif\x0a#if\x20defined(PREPASS_VELOCITY)\x20||\x20defined(VELOCITY)\x0afinalPreviousWorld=previousWorld*finalPreviousWorld;\x0a#endif\x0a#endif\x0a#else\x0a#if\x20!defined(WORLD_UBO)\x0avar\x20finalWorld=uniforms.world;\x0a#else\x0avar\x20finalWorld=mesh.world;\x0a#endif\x0a#if\x20defined(PREPASS_VELOCITY)\x20||\x20defined(VELOCITY)\x0avar\x20finalPreviousWorld=previousWorld;\x0a#endif\x0a#endif\x0a','attribute','writeBuffer','array','MultiRenderTarget','markAllAsDirty','reflectionUVW','opacityFresnel','BILINEAR_SAMPLINGMODE','attribute\x20vec2\x20position;\x0avarying\x20vec2\x20vPosition;\x0avarying\x20vec2\x20vUV;\x0aconst\x20vec2\x20madd=vec2(0.5,0.5);\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avPosition=position;\x0avUV=position*madd+madd;\x0agl_Position=vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','previousMatrixBuffer','#ifdef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0a{\x0a#ifdef\x20INSTANCES\x0a#define\x20BVASNAME\x20bakedVertexAnimationSettingsInstanced\x0a#else\x0a#define\x20BVASNAME\x20bakedVertexAnimationSettings\x0a#endif\x0afloat\x20VATStartFrame=BVASNAME.x;\x0afloat\x20VATEndFrame=BVASNAME.y;\x0afloat\x20VATOffsetFrame=BVASNAME.z;\x0afloat\x20VATSpeed=BVASNAME.w;\x0afloat\x20totalFrames=VATEndFrame-VATStartFrame+1.0;\x0afloat\x20time=bakedVertexAnimationTime*VATSpeed/totalFrames;\x0afloat\x20frameCorrection=time<1.0\x20?\x200.0\x20:\x201.0;\x0afloat\x20numOfFrames=totalFrames-frameCorrection;\x0afloat\x20VATFrameNum=fract(time)*numOfFrames;\x0aVATFrameNum=mod(VATFrameNum+VATOffsetFrame,numOfFrames);\x0aVATFrameNum=floor(VATFrameNum);\x0aVATFrameNum+=VATStartFrame+frameCorrection;\x0amat4\x20VATInfluence;\x0aVATInfluence=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndices[0],VATFrameNum)*matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0aVATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndices[1],VATFrameNum)*matricesWeights[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0aVATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndices[2],VATFrameNum)*matricesWeights[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0aVATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndices[3],VATFrameNum)*matricesWeights[3];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0aVATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndicesExtra[0],VATFrameNum)*matricesWeightsExtra[0];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0aVATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndicesExtra[1],VATFrameNum)*matricesWeightsExtra[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0aVATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndicesExtra[2],VATFrameNum)*matricesWeightsExtra[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0aVATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndicesExtra[3],VATFrameNum)*matricesWeightsExtra[3];\x0a#endif\x0afinalWorld=finalWorld*VATInfluence;\x0a}\x0a#endif\x0a','#ifdef\x20REFLECTION\x0astruct\x20reflectionOutParams\x0a{\x0avec4\x20environmentRadiance;\x0avec3\x20environmentIrradiance;\x0a#ifdef\x20REFLECTIONMAP_3D\x0avec3\x20reflectionCoords;\x0a#else\x0avec2\x20reflectionCoords;\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCY\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#if\x20!defined(NORMAL)\x20||\x20!defined(USESPHERICALINVERTEX)\x0avec3\x20irradianceVector;\x0a#endif\x0a#endif\x0a#endif\x0a};\x0a#define\x20pbr_inline\x0avoid\x20createReflectionCoords(\x0ain\x20vec3\x20vPositionW,\x0ain\x20vec3\x20normalW,\x0a#ifdef\x20ANISOTROPIC\x0ain\x20anisotropicOutParams\x20anisotropicOut,\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0aout\x20vec3\x20reflectionCoords\x0a#else\x0aout\x20vec2\x20reflectionCoords\x0a#endif\x0a)\x0a{\x0a#ifdef\x20ANISOTROPIC\x0avec3\x20reflectionVector=computeReflectionCoords(vec4(vPositionW,1.0),anisotropicOut.anisotropicNormal);\x0a#else\x0avec3\x20reflectionVector=computeReflectionCoords(vec4(vPositionW,1.0),normalW);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_OPPOSITEZ\x0areflectionVector.z*=-1.0;\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0areflectionCoords=reflectionVector;\x0a#else\x0areflectionCoords=reflectionVector.xy;\x0a#ifdef\x20REFLECTIONMAP_PROJECTION\x0areflectionCoords/=reflectionVector.z;\x0a#endif\x0areflectionCoords.y=1.0-reflectionCoords.y;\x0a#endif\x0a}\x0a#define\x20pbr_inline\x0a#define\x20inline\x0avoid\x20sampleReflectionTexture(\x0ain\x20float\x20alphaG,\x0ain\x20vec3\x20vReflectionMicrosurfaceInfos,\x0ain\x20vec2\x20vReflectionInfos,\x0ain\x20vec3\x20vReflectionColor,\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0ain\x20float\x20NdotVUnclamped,\x0a#endif\x0a#ifdef\x20LINEARSPECULARREFLECTION\x0ain\x20float\x20roughness,\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSampler,\x0aconst\x20vec3\x20reflectionCoords,\x0a#else\x0ain\x20sampler2D\x20reflectionSampler,\x0aconst\x20vec2\x20reflectionCoords,\x0a#endif\x0a#ifndef\x20LODBASEDMICROSFURACE\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSamplerLow,\x0ain\x20samplerCube\x20reflectionSamplerHigh,\x0a#else\x0ain\x20sampler2D\x20reflectionSamplerLow,\x0ain\x20sampler2D\x20reflectionSamplerHigh,\x0a#endif\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0ain\x20vec2\x20vReflectionFilteringInfo,\x0a#endif\x0aout\x20vec4\x20environmentRadiance\x0a)\x0a{\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0afloat\x20reflectionLOD=getLodFromAlphaG(vReflectionMicrosurfaceInfos.x,alphaG,NdotVUnclamped);\x0a#elif\x20defined(LINEARSPECULARREFLECTION)\x0afloat\x20reflectionLOD=getLinearLodFromRoughness(vReflectionMicrosurfaceInfos.x,roughness);\x0a#else\x0afloat\x20reflectionLOD=getLodFromAlphaG(vReflectionMicrosurfaceInfos.x,alphaG);\x0a#endif\x0a#ifdef\x20LODBASEDMICROSFURACE\x0areflectionLOD=reflectionLOD*vReflectionMicrosurfaceInfos.y+vReflectionMicrosurfaceInfos.z;\x0a#ifdef\x20LODINREFLECTIONALPHA\x0afloat\x20automaticReflectionLOD=UNPACK_LOD(sampleReflection(reflectionSampler,reflectionCoords).a);\x0afloat\x20requestedReflectionLOD=max(automaticReflectionLOD,reflectionLOD);\x0a#else\x0afloat\x20requestedReflectionLOD=reflectionLOD;\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0aenvironmentRadiance=vec4(radiance(alphaG,reflectionSampler,reflectionCoords,vReflectionFilteringInfo),1.0);\x0a#else\x0aenvironmentRadiance=sampleReflectionLod(reflectionSampler,reflectionCoords,reflectionLOD);\x0a#endif\x0a#else\x0afloat\x20lodReflectionNormalized=saturate(reflectionLOD/log2(vReflectionMicrosurfaceInfos.x));\x0afloat\x20lodReflectionNormalizedDoubled=lodReflectionNormalized*2.0;\x0avec4\x20environmentMid=sampleReflection(reflectionSampler,reflectionCoords);\x0aif\x20(lodReflectionNormalizedDoubled<1.0){\x0aenvironmentRadiance=mix(\x0asampleReflection(reflectionSamplerHigh,reflectionCoords),\x0aenvironmentMid,\x0alodReflectionNormalizedDoubled\x0a);\x0a}\x20else\x20{\x0aenvironmentRadiance=mix(\x0aenvironmentMid,\x0asampleReflection(reflectionSamplerLow,reflectionCoords),\x0alodReflectionNormalizedDoubled-1.0\x0a);\x0a}\x0a#endif\x0a#ifdef\x20RGBDREFLECTION\x0aenvironmentRadiance.rgb=fromRGBD(environmentRadiance);\x0a#endif\x0a#ifdef\x20GAMMAREFLECTION\x0aenvironmentRadiance.rgb=toLinearSpace(environmentRadiance.rgb);\x0a#endif\x0aenvironmentRadiance.rgb*=vReflectionInfos.x;\x0aenvironmentRadiance.rgb*=vReflectionColor.rgb;\x0a}\x0a#define\x20pbr_inline\x0a#define\x20inline\x0avoid\x20reflectionBlock(\x0ain\x20vec3\x20vPositionW,\x0ain\x20vec3\x20normalW,\x0ain\x20float\x20alphaG,\x0ain\x20vec3\x20vReflectionMicrosurfaceInfos,\x0ain\x20vec2\x20vReflectionInfos,\x0ain\x20vec3\x20vReflectionColor,\x0a#ifdef\x20ANISOTROPIC\x0ain\x20anisotropicOutParams\x20anisotropicOut,\x0a#endif\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0ain\x20float\x20NdotVUnclamped,\x0a#endif\x0a#ifdef\x20LINEARSPECULARREFLECTION\x0ain\x20float\x20roughness,\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSampler,\x0a#else\x0ain\x20sampler2D\x20reflectionSampler,\x0a#endif\x0a#if\x20defined(NORMAL)\x20&&\x20defined(USESPHERICALINVERTEX)\x0ain\x20vec3\x20vEnvironmentIrradiance,\x0a#endif\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#if\x20!defined(NORMAL)\x20||\x20!defined(USESPHERICALINVERTEX)\x0ain\x20mat4\x20reflectionMatrix,\x0a#endif\x0a#endif\x0a#ifdef\x20USEIRRADIANCEMAP\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20irradianceSampler,\x0a#else\x0ain\x20sampler2D\x20irradianceSampler,\x0a#endif\x0a#endif\x0a#ifndef\x20LODBASEDMICROSFURACE\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSamplerLow,\x0ain\x20samplerCube\x20reflectionSamplerHigh,\x0a#else\x0ain\x20sampler2D\x20reflectionSamplerLow,\x0ain\x20sampler2D\x20reflectionSamplerHigh,\x0a#endif\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0ain\x20vec2\x20vReflectionFilteringInfo,\x0a#endif\x0aout\x20reflectionOutParams\x20outParams\x0a)\x0a{\x0avec4\x20environmentRadiance=vec4(0.,0.,0.,0.);\x0a#ifdef\x20REFLECTIONMAP_3D\x0avec3\x20reflectionCoords=vec3(0.);\x0a#else\x0avec2\x20reflectionCoords=vec2(0.);\x0a#endif\x0acreateReflectionCoords(\x0avPositionW,\x0anormalW,\x0a#ifdef\x20ANISOTROPIC\x0aanisotropicOut,\x0a#endif\x0areflectionCoords\x0a);\x0asampleReflectionTexture(\x0aalphaG,\x0avReflectionMicrosurfaceInfos,\x0avReflectionInfos,\x0avReflectionColor,\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0aNdotVUnclamped,\x0a#endif\x0a#ifdef\x20LINEARSPECULARREFLECTION\x0aroughness,\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0areflectionSampler,\x0areflectionCoords,\x0a#else\x0areflectionSampler,\x0areflectionCoords,\x0a#endif\x0a#ifndef\x20LODBASEDMICROSFURACE\x0areflectionSamplerLow,\x0areflectionSamplerHigh,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0avReflectionFilteringInfo,\x0a#endif\x0aenvironmentRadiance\x0a);\x0avec3\x20environmentIrradiance=vec3(0.,0.,0.);\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#if\x20defined(NORMAL)\x20&&\x20defined(USESPHERICALINVERTEX)\x0aenvironmentIrradiance=vEnvironmentIrradiance;\x0a#else\x0a#ifdef\x20ANISOTROPIC\x0avec3\x20irradianceVector=vec3(reflectionMatrix*vec4(anisotropicOut.anisotropicNormal,0)).xyz;\x0a#else\x0avec3\x20irradianceVector=vec3(reflectionMatrix*vec4(normalW,0)).xyz;\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_OPPOSITEZ\x0airradianceVector.z*=-1.0;\x0a#endif\x0a#ifdef\x20INVERTCUBICMAP\x0airradianceVector.y*=-1.0;\x0a#endif\x0a#if\x20defined(REALTIME_FILTERING)\x0aenvironmentIrradiance=irradiance(reflectionSampler,irradianceVector,vReflectionFilteringInfo);\x0a#else\x0aenvironmentIrradiance=computeEnvironmentIrradiance(irradianceVector);\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCY\x0aoutParams.irradianceVector=irradianceVector;\x0a#endif\x0a#endif\x0a#elif\x20defined(USEIRRADIANCEMAP)\x0avec4\x20environmentIrradiance4=sampleReflection(irradianceSampler,reflectionCoords);\x0aenvironmentIrradiance=environmentIrradiance4.rgb;\x0a#ifdef\x20RGBDREFLECTION\x0aenvironmentIrradiance.rgb=fromRGBD(environmentIrradiance4);\x0a#endif\x0a#ifdef\x20GAMMAREFLECTION\x0aenvironmentIrradiance.rgb=toLinearSpace(environmentIrradiance.rgb);\x0a#endif\x0a#endif\x0aenvironmentIrradiance*=vReflectionColor.rgb;\x0aoutParams.environmentRadiance=environmentRadiance;\x0aoutParams.environmentIrradiance=environmentIrradiance;\x0aoutParams.reflectionCoords=reflectionCoords;\x0a}\x0a#endif\x0a','requestPresent','leftOverUniforms','offsetX','_delayQuerySetDispose','fetchNewFrame','TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT1','_clearReverseDepthValue','\x0a//','imageProcessingFunctions','keydown','fov','RGBA8UnormSRGB','_cacheFloat2','#ifdef\x20MORPHTARGETS\x0a#ifdef\x20MORPHTARGETS_TEXTURE\x20\x0avertexID=float(gl_VertexID)*morphTargetTextureInfo.x;\x0apositionUpdated+=(readVector3FromRawSampler({X},vertexID)-position)*morphTargetInfluences[{X}];\x0avertexID+=1.0;\x0a#ifdef\x20MORPHTARGETS_NORMAL\x0anormalUpdated+=(readVector3FromRawSampler({X},vertexID)\x20-normal)*morphTargetInfluences[{X}];\x0avertexID+=1.0;\x0a#endif\x0a#ifdef\x20MORPHTARGETS_UV\x0auvUpdated+=(readVector3FromRawSampler({X},vertexID).xy-uv)*morphTargetInfluences[{X}];\x0avertexID+=1.0;\x0a#endif\x0a#ifdef\x20MORPHTARGETS_TANGENT\x0atangentUpdated.xyz+=(readVector3FromRawSampler({X},vertexID)\x20-tangent.xyz)*morphTargetInfluences[{X}];\x0a#endif\x0a#else\x0apositionUpdated+=(position{X}-position)*morphTargetInfluences[{X}];\x0a#ifdef\x20MORPHTARGETS_NORMAL\x0anormalUpdated+=(normal{X}-normal)*morphTargetInfluences[{X}];\x0a#endif\x0a#ifdef\x20MORPHTARGETS_TANGENT\x0atangentUpdated.xyz+=(tangent{X}-tangent.xyz)*morphTargetInfluences[{X}];\x0a#endif\x0a#ifdef\x20MORPHTARGETS_UV\x0auvUpdated+=(uv_{X}-uv)*morphTargetInfluences[{X}];\x0a#endif\x0a#endif\x0a#endif\x0a','_doNotHandleContextLost','setStorageBuffer','UNPACK_ALIGNMENT','BC7RGBAUnormSRGB','Float\x20textures\x20are\x20not\x20supported.\x20Render\x20target\x20forced\x20to\x20TEXTURETYPE_UNSIGNED_BYTE\x20type','LIGHTMAP_SPECULAR','motionBlurPixelShader','run','updateUniformBuffer','renderTargetTexture','registerOutput','ui8d','Depth\x20texture\x20format\x20is\x20not\x20supported.','ssDiffusionS','ACTION_OnCenterPickTrigger','useStencilGlobalOnly','#ifdef\x20ALPHATEST\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0avarying\x20float\x20vDepthMetric;\x0a#ifdef\x20PACKED\x0a#include<packingFunctions>\x0a#endif\x0a#ifdef\x20STORE_CAMERASPACE_Z\x0avarying\x20vec4\x20vViewPos;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#include<clipPlaneFragment>\x0a#ifdef\x20ALPHATEST\x0aif\x20(texture2D(diffuseSampler,vUV).a<0.4)\x0adiscard;\x0a#endif\x0a#ifdef\x20STORE_CAMERASPACE_Z\x0a#ifdef\x20PACKED\x0agl_FragColor=pack(vViewPos.z);\x0a#else\x0agl_FragColor=vec4(vViewPos.z,0.0,0.0,1.0);\x0a#endif\x0a#else\x0a#ifdef\x20NONLINEARDEPTH\x0a#ifdef\x20PACKED\x0agl_FragColor=pack(gl_FragCoord.z);\x0a#else\x0agl_FragColor=vec4(gl_FragCoord.z,0.0,0.0,0.0);\x0a#endif\x0a#else\x0a#ifdef\x20PACKED\x0agl_FragColor=pack(vDepthMetric);\x0a#else\x0agl_FragColor=vec4(vDepthMetric,0.0,0.0,1.0);\x0a#endif\x0a#endif\x0a#endif\x0a}','repeatKey','getIndex','uniform\x20mat4\x20viewProjection;\x0auniform\x20mat4\x20view;\x0a#ifdef\x20DIFFUSE\x0auniform\x20mat4\x20diffuseMatrix;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20AMBIENT\x0auniform\x20mat4\x20ambientMatrix;\x0auniform\x20vec2\x20vAmbientInfos;\x0a#endif\x0a#ifdef\x20OPACITY\x0auniform\x20mat4\x20opacityMatrix;\x0auniform\x20vec2\x20vOpacityInfos;\x0a#endif\x0a#ifdef\x20EMISSIVE\x0auniform\x20vec2\x20vEmissiveInfos;\x0auniform\x20mat4\x20emissiveMatrix;\x0a#endif\x0a#ifdef\x20LIGHTMAP\x0auniform\x20vec2\x20vLightmapInfos;\x0auniform\x20mat4\x20lightmapMatrix;\x0a#endif\x0a#if\x20defined(SPECULAR)\x20&&\x20defined(SPECULARTERM)\x0auniform\x20vec2\x20vSpecularInfos;\x0auniform\x20mat4\x20specularMatrix;\x0a#endif\x0a#ifdef\x20BUMP\x0auniform\x20vec3\x20vBumpInfos;\x0auniform\x20mat4\x20bumpMatrix;\x0a#endif\x0a#ifdef\x20REFLECTION\x0auniform\x20mat4\x20reflectionMatrix;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0a#ifdef\x20DETAIL\x0auniform\x20vec4\x20vDetailInfos;\x0auniform\x20mat4\x20detailMatrix;\x0a#endif\x0a#include<decalVertexDeclaration>\x0a#define\x20ADDITIONAL_VERTEX_DECLARATION\x0a','setUIntArray3','precision\x20highp\x20float;attribute\x20vec3\x20position;attribute\x20vec3\x20normal;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0auniform\x20float\x20furLength;uniform\x20float\x20furAngle;\x0a#ifdef\x20HIGHLEVEL\x0auniform\x20float\x20furOffset;uniform\x20vec3\x20furGravity;uniform\x20float\x20furTime;uniform\x20float\x20furSpacing;uniform\x20float\x20furDensity;\x0a#endif\x0a#ifdef\x20HEIGHTMAP\x0auniform\x20sampler2D\x20heightTexture;\x0a#endif\x0a#ifdef\x20HIGHLEVEL\x0avarying\x20vec2\x20vFurUV;\x0a#endif\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;uniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;uniform\x20mat4\x20diffuseMatrix;uniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0avarying\x20float\x20vfur_length;\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0afloat\x20Rand(vec3\x20rv)\x20{float\x20x=dot(rv,vec3(12.9898,78.233,24.65487));return\x20fract(sin(x)*43758.5453);}\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0afloat\x20r=Rand(position);\x0a#ifdef\x20HEIGHTMAP\x0a#if\x20__VERSION__>100\x0avfur_length=furLength*texture(heightTexture,uv).x;\x0a#else\x0avfur_length=furLength*texture2D(heightTexture,uv).r;\x0a#endif\x0a#else\x20\x0avfur_length=(furLength*r);\x0a#endif\x0avec3\x20tangent1=vec3(normal.y,-normal.x,0);vec3\x20tangent2=vec3(-normal.z,0,normal.x);r=Rand(tangent1*r);float\x20J=(2.0+4.0*r);r=Rand(tangent2*r);float\x20K=(2.0+2.0*r);tangent1=tangent1*J+tangent2*K;tangent1=normalize(tangent1);vec3\x20newPosition=position+normal*vfur_length*cos(furAngle)+tangent1*vfur_length*sin(furAngle);\x0a#ifdef\x20HIGHLEVEL\x0avec3\x20forceDirection=vec3(0.0,0.0,0.0);forceDirection.x=sin(furTime+position.x*0.05)*0.2;forceDirection.y=cos(furTime*0.7+position.y*0.04)*0.2;forceDirection.z=sin(furTime*0.7+position.z*0.04)*0.2;vec3\x20displacement=vec3(0.0,0.0,0.0);displacement=furGravity+forceDirection;float\x20displacementFactor=pow(furOffset,3.0);vec3\x20aNormal=normal;aNormal.xyz+=displacement*displacementFactor;newPosition=vec3(newPosition.x,newPosition.y,newPosition.z)+(normalize(aNormal)*furOffset*furSpacing);\x0a#endif\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0agl_Position=viewProjection*finalWorld*vec4(newPosition,1.0);vec4\x20worldPos=finalWorld*vec4(newPosition,1.0);vPositionW=vec3(worldPos);\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0aif\x20(vDiffuseInfos.x==0.)\x0a{vDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));}\x0aelse\x0a{vDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));}\x0a#ifdef\x20HIGHLEVEL\x0avFurUV=vDiffuseUV*furDensity;\x0a#endif\x0a#else\x0a#ifdef\x20HIGHLEVEL\x0avFurUV=uv*furDensity;\x0a#endif\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','DepthOnly','cos','vertex','transform','_codeVariableName','boundingBoxRendererPixelShader','#version\x20300\x20es\x0avoid\x20main()\x20{\x0adiscard;\x0a}\x0a','prePassVertexDeclaration','extractHighlightsPixelShader','coneAngle','TEXTUREFORMAT_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT','_occlusionQuery','addMSAARenderBuffer','equals','InvertYPremultiplyAlpha','#ifdef\x20ALPHAFRESNEL\x0a#if\x20defined(ALPHATEST)\x20||\x20defined(ALPHABLEND)\x0astruct\x20alphaFresnelOutParams\x0a{\x0afloat\x20alpha;\x0a};\x0a#define\x20pbr_inline\x0avoid\x20alphaFresnelBlock(\x0ain\x20vec3\x20normalW,\x0ain\x20vec3\x20viewDirectionW,\x0ain\x20float\x20alpha,\x0ain\x20float\x20microSurface,\x0aout\x20alphaFresnelOutParams\x20outParams\x0a)\x0a{\x0afloat\x20opacityPerceptual=alpha;\x0a#ifdef\x20LINEARALPHAFRESNEL\x0afloat\x20opacity0=opacityPerceptual;\x0a#else\x0afloat\x20opacity0=opacityPerceptual*opacityPerceptual;\x0a#endif\x0afloat\x20opacity90=fresnelGrazingReflectance(opacity0);\x0avec3\x20normalForward=faceforward(normalW,-viewDirectionW,normalW);\x0aoutParams.alpha=getReflectanceFromAnalyticalBRDFLookup_Jones(saturate(dot(viewDirectionW,normalForward)),vec3(opacity0),vec3(opacity90),sqrt(microSurface)).x;\x0a#ifdef\x20ALPHATEST\x0aif\x20(outParams.alpha<ALPHATESTVALUE)\x0adiscard;\x0a#ifndef\x20ALPHABLEND\x0aoutParams.alpha=1.0;\x0a#endif\x0a#endif\x0a}\x0a#endif\x0a#endif\x0a','_ssFilterRadii','vTBN','_rebuildComputeEffects','disablePhysicsEngine','IRIDESCENCE','_sphericalPolynomialComputed','getWidth','file:','POINTERPICK','updateColor3','TEXTUREFORMAT_STENCIL8','storageTexture','matrixData','_GetTextureTypeFromFormat','updateStorageBuffer','notifyObservers','DragMovementThreshold','texture3D','blendEquationSeparate','viewProjection','precision\x20highp\x20float;\x0auniform\x20sampler2D\x20textureSampler;\x0avarying\x20vec2\x20vUV;\x0a#ifdef\x20SSAO\x0afloat\x20scales[16]=float[16](\x0a0.1,\x0a0.11406250000000001,\x0a0.131640625,\x0a0.15625,\x0a0.187890625,\x0a0.2265625,\x0a0.272265625,\x0a0.325,\x0a0.384765625,\x0a0.4515625,\x0a0.525390625,\x0a0.60625,\x0a0.694140625,\x0a0.7890625,\x0a0.891015625,\x0a1.0\x0a);\x0auniform\x20float\x20near;\x0auniform\x20float\x20radius;\x0auniform\x20sampler2D\x20depthSampler;\x0auniform\x20sampler2D\x20randomSampler;\x0auniform\x20sampler2D\x20normalSampler;\x0auniform\x20float\x20randTextureTiles;\x0auniform\x20float\x20samplesFactor;\x0auniform\x20vec3\x20sampleSphere[SAMPLES];\x0auniform\x20float\x20totalStrength;\x0auniform\x20float\x20base;\x0auniform\x20float\x20xViewport;\x0auniform\x20float\x20yViewport;\x0auniform\x20mat3\x20depthProjection;\x0auniform\x20float\x20maxZ;\x0auniform\x20float\x20minZAspect;\x0auniform\x20vec2\x20texelSize;\x0auniform\x20mat4\x20projection;\x0avoid\x20main()\x0a{\x0avec3\x20random=textureLod(randomSampler,vUV*randTextureTiles,0.0).rgb;\x0afloat\x20depth=textureLod(depthSampler,vUV,0.0).r;\x0afloat\x20depthSign=depth/abs(depth);\x0adepth=depth*depthSign;\x0avec3\x20normal=textureLod(normalSampler,vUV,0.0).rgb;\x0afloat\x20occlusion=0.0;\x0afloat\x20correctedRadius=min(radius,minZAspect*depth/near);\x0avec3\x20vViewRay=vec3((vUV.x*2.0-1.0)*xViewport,(vUV.y*2.0-1.0)*yViewport,depthSign);\x0avec3\x20vDepthFactor=depthProjection*vec3(1.0,1.0,depth);\x0avec3\x20origin=vViewRay*vDepthFactor;\x0avec3\x20rvec=random*2.0-1.0;\x0arvec.z=0.0;\x0afloat\x20dotProduct=dot(rvec,normal);\x0arvec=1.0-abs(dotProduct)>1e-2\x20?\x20rvec\x20:\x20vec3(-rvec.y,0.0,rvec.x);\x0avec3\x20tangent=normalize(rvec-normal*dot(rvec,normal));\x0avec3\x20bitangent=cross(normal,tangent);\x0amat3\x20tbn=mat3(tangent,bitangent,normal);\x0afloat\x20difference;\x0afor\x20(int\x20i=0;\x20i<SAMPLES;\x20++i)\x20{\x0avec3\x20samplePosition=scales[(i+int(random.x*16.0))\x20%\x2016]*tbn*sampleSphere[(i+int(random.y*16.0))\x20%\x2016];\x0asamplePosition=samplePosition*correctedRadius+origin;\x0avec4\x20offset=vec4(samplePosition,1.0);\x0aoffset=projection*offset;\x0aoffset.xyz/=offset.w;\x0aoffset.xy=offset.xy*0.5+0.5;\x0aif\x20(offset.x<0.0\x20||\x20offset.y<0.0\x20||\x20offset.x>1.0\x20||\x20offset.y>1.0)\x20{\x0acontinue;\x0a}\x0afloat\x20sampleDepth=abs(textureLod(depthSampler,offset.xy,0.0).r);\x0adifference=depthSign*samplePosition.z-sampleDepth;\x0afloat\x20rangeCheck=1.0-smoothstep(correctedRadius*0.5,correctedRadius,difference);\x0aocclusion+=step(EPSILON,difference)*rangeCheck;\x0a}\x0aocclusion=occlusion*(1.0-smoothstep(maxZ*0.75,maxZ,depth));\x0afloat\x20ao=1.0-totalStrength*occlusion*samplesFactor;\x0afloat\x20result=clamp(ao+base,0.0,1.0);\x0agl_FragColor=vec4(vec3(result),1.0);\x0a}\x0a#endif\x0a#ifdef\x20BLUR\x0auniform\x20float\x20outSize;\x0auniform\x20float\x20soften;\x0auniform\x20float\x20tolerance;\x0auniform\x20int\x20samples;\x0a#ifndef\x20BLUR_BYPASS\x0auniform\x20sampler2D\x20depthSampler;\x0a#ifdef\x20BLUR_LEGACY\x0a#define\x20inline\x0afloat\x20blur13Bilateral(sampler2D\x20image,vec2\x20uv,vec2\x20step)\x20{\x0afloat\x20result=0.0;\x0avec2\x20off1=vec2(1.411764705882353)*step;\x0avec2\x20off2=vec2(3.2941176470588234)*step;\x0avec2\x20off3=vec2(5.176470588235294)*step;\x0afloat\x20compareDepth=abs(textureLod(depthSampler,uv,0.0).r);\x0afloat\x20sampleDepth;\x0afloat\x20weight;\x0afloat\x20weightSum=30.0;\x0aresult+=textureLod(image,uv,0.0).r*30.0;\x0asampleDepth=abs(textureLod(depthSampler,uv+off1,0.0).r);\x0aweight=clamp(1.0/(\x200.003+abs(compareDepth-sampleDepth)),0.0,30.0);\x0aweightSum+=\x20weight;\x0aresult+=textureLod(image,uv+off1,0.0).r*weight;\x0asampleDepth=abs(textureLod(depthSampler,uv-off1,0.0).r);\x0aweight=clamp(1.0/(\x200.003+abs(compareDepth-sampleDepth)),0.0,30.0);\x0aweightSum+=\x20weight;\x0aresult+=textureLod(image,uv-off1,0.0).r*weight;\x0asampleDepth=abs(textureLod(depthSampler,uv+off2,0.0).r);\x0aweight=clamp(1.0/(\x200.003+abs(compareDepth-sampleDepth)),0.0,30.0);\x0aweightSum+=weight;\x0aresult+=textureLod(image,uv+off2,0.0).r*weight;\x0asampleDepth=abs(textureLod(depthSampler,uv-off2,0.0).r);\x0aweight=clamp(1.0/(\x200.003+abs(compareDepth-sampleDepth)),0.0,30.0);\x0aweightSum+=weight;\x0aresult+=textureLod(image,uv-off2,0.0).r*weight;\x0asampleDepth=abs(textureLod(depthSampler,uv+off3,0.0).r);\x0aweight=clamp(1.0/(\x200.003+abs(compareDepth-sampleDepth)),0.0,30.0);\x0aweightSum+=weight;\x0aresult+=textureLod(image,uv+off3,0.0).r*weight;\x0asampleDepth=abs(textureLod(depthSampler,uv-off3,0.0).r);\x0aweight=clamp(1.0/(\x200.003+abs(compareDepth-sampleDepth)),0.0,30.0);\x0aweightSum+=weight;\x0aresult+=textureLod(image,uv-off3,0.0).r*weight;\x0areturn\x20result/weightSum;\x0a}\x0a#endif\x0a#endif\x0avoid\x20main()\x0a{\x0afloat\x20result=0.0;\x0a#ifdef\x20BLUR_BYPASS\x0aresult=textureLod(textureSampler,vUV,0.0).r;\x0a#else\x0a#ifdef\x20BLUR_H\x0avec2\x20step=vec2(1.0/outSize,0.0);\x0a#else\x0avec2\x20step=vec2(0.0,1.0/outSize);\x0a#endif\x0a#ifdef\x20BLUR_LEGACY\x0aresult=blur13Bilateral(textureSampler,vUV,step);\x0a#else\x0afloat\x20compareDepth=abs(textureLod(depthSampler,vUV,0.0).r);\x0afloat\x20weightSum=0.0;\x0afor\x20(int\x20i=-samples;\x20i<samples;\x20i+=2)\x0a{\x0avec2\x20samplePos=vUV+step*(float(i)+0.5);\x0afloat\x20sampleDepth=abs(textureLod(depthSampler,samplePos,0.0).r);\x0afloat\x20falloff=smoothstep(0.0,\x0afloat(samples),\x0afloat(samples)-abs(float(i))*soften);\x0afloat\x20minDivider=tolerance*0.5+0.003;\x0afloat\x20weight=falloff/(\x20minDivider+abs(compareDepth-sampleDepth));\x0aresult+=textureLod(textureSampler,samplePos,0.0).r*weight;\x0aweightSum+=weight;\x0a}\x0aresult/=weightSum;\x0a#endif\x0a#endif\x0agl_FragColor.rgb=vec3(result);\x0agl_FragColor.a=1.0;\x0a}\x0a#endif\x0a','bayerDitherFunctions','pointerdown','uniform\x20vec4\x20color;\x0a','setInt','dataStoreObject','textD','getBox','preventDefault','_currentFramebuffer','MapRead','INTENSITYMODE_LUMINOUSINTENSITY','pbrBlockAlphaFresnel','_copyTextureToTexture','resolve','uniform\x20sampler2D\x20textureSampler;\x0a#ifdef\x20SSR_SUPPORTED\x0auniform\x20sampler2D\x20reflectivitySampler;\x0auniform\x20sampler2D\x20normalSampler;\x0auniform\x20sampler2D\x20positionSampler;\x0a#endif\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20float\x20stepSize;\x0auniform\x20float\x20strength;\x0auniform\x20float\x20threshold;\x0auniform\x20float\x20roughnessFactor;\x0auniform\x20float\x20reflectionSpecularFalloffExponent;\x0avarying\x20vec2\x20vUV;\x0a#ifdef\x20SSR_SUPPORTED\x0astruct\x20ReflectionInfo\x20{\x0avec3\x20color;\x0avec4\x20coords;\x0a};\x0a/**\x0a*\x20According\x20to\x20specular,see\x20https:\x0a*/\x0avec3\x20fresnelSchlick(float\x20cosTheta,vec3\x20F0)\x0a{\x0areturn\x20F0+(1.0-F0)*pow(1.0-cosTheta,5.0);\x0a}\x0a/**\x0a*\x20Once\x20the\x20pixel\x27s\x20coordinates\x20has\x20been\x20found,let\x27s\x20adjust\x20(smooth)\x20a\x20little\x20bit\x0a*\x20by\x20sampling\x20multiple\x20reflection\x20pixels.\x0a*/\x0aReflectionInfo\x20smoothReflectionInfo(vec3\x20dir,vec3\x20hitCoord)\x0a{\x0aReflectionInfo\x20info;\x0ainfo.color=vec3(0.0);\x0avec4\x20projectedCoord;\x0afloat\x20sampledDepth;\x0afor(int\x20i=0;\x20i<SMOOTH_STEPS;\x20i++)\x0a{\x0aprojectedCoord=projection*vec4(hitCoord,1.0);\x0aprojectedCoord.xy/=projectedCoord.w;\x0aprojectedCoord.xy=0.5*projectedCoord.xy+vec2(0.5);\x0asampledDepth=(view*texture2D(positionSampler,projectedCoord.xy)).z;\x0afloat\x20depth=sampledDepth-hitCoord.z;\x0adir*=0.5;\x0aif(depth>0.0)\x0ahitCoord-=dir;\x0aelse\x0ahitCoord+=dir;\x0ainfo.color+=texture2D(textureSampler,projectedCoord.xy).rgb;\x0a}\x0aprojectedCoord=projection*vec4(hitCoord,1.0);\x0aprojectedCoord.xy/=projectedCoord.w;\x0aprojectedCoord.xy=0.5*projectedCoord.xy+vec2(0.5);\x0ainfo.coords=vec4(projectedCoord.xy,sampledDepth,1.0);\x0ainfo.color+=texture2D(textureSampler,projectedCoord.xy).rgb;\x0ainfo.color/=float(SMOOTH_STEPS+1);\x0areturn\x20info;\x0a}\x0a/**\x0a*\x20Tests\x20the\x20given\x20world\x20position\x20(hitCoord)\x20according\x20to\x20the\x20given\x20reflection\x20vector\x20(dir)\x0a*\x20until\x20it\x20finds\x20a\x20collision\x20(means\x20that\x20depth\x20is\x20enough\x20close\x20to\x20say\x20\x22it\x27s\x20the\x20pixel\x20to\x20sample!\x22).\x0a*/\x0aReflectionInfo\x20getReflectionInfo(vec3\x20dir,vec3\x20hitCoord)\x0a{\x0aReflectionInfo\x20info;\x0avec4\x20projectedCoord;\x0afloat\x20sampledDepth;\x0adir*=stepSize;\x0afor(int\x20i=0;\x20i<REFLECTION_SAMPLES;\x20i++)\x0a{\x0ahitCoord+=dir;\x0aprojectedCoord=projection*vec4(hitCoord,1.0);\x0aprojectedCoord.xy/=projectedCoord.w;\x0aprojectedCoord.xy=0.5*projectedCoord.xy+vec2(0.5);\x0asampledDepth=(view*texture2D(positionSampler,projectedCoord.xy)).z;\x0afloat\x20depth=sampledDepth-hitCoord.z;\x0a#ifdef\x20RIGHT_HANDED_SCENE\x0adepth*=-1.0;\x0a#endif\x0aif(((depth-dir.z)<threshold)\x20&&\x20depth<=0.0)\x0a{\x0a#ifdef\x20ENABLE_SMOOTH_REFLECTIONS\x0areturn\x20smoothReflectionInfo(dir,hitCoord);\x0a#else\x0ainfo.color=texture2D(textureSampler,projectedCoord.xy).rgb;\x0ainfo.coords=vec4(projectedCoord.xy,sampledDepth,0.0);\x0areturn\x20info;\x0a#endif\x0a}\x0a}\x0ainfo.color=texture2D(textureSampler,projectedCoord.xy).rgb;\x0ainfo.coords=vec4(projectedCoord.xy,sampledDepth,0.0);\x0areturn\x20info;\x0a}\x0avec3\x20hash(vec3\x20a)\x0a{\x0aa=fract(a*0.8);\x0aa+=dot(a,a.yxz+19.19);\x0areturn\x20fract((a.xxy+a.yxx)*a.zyx);\x0a}\x0a#endif\x0avoid\x20main()\x0a{\x0a#ifdef\x20SSR_SUPPORTED\x0avec4\x20albedoFull=texture2D(textureSampler,vUV);\x0avec3\x20albedo=albedoFull.rgb;\x0afloat\x20spec=texture2D(reflectivitySampler,vUV).r;\x0aif\x20(spec==0.0)\x20{\x0agl_FragColor=albedoFull;\x0areturn;\x0a}\x0avec3\x20normal=(texture2D(normalSampler,vUV)).xyz;\x0avec3\x20position=(view*texture2D(positionSampler,vUV)).xyz;\x0avec3\x20reflected=normalize(reflect(normalize(position),normalize(normal)));\x0afloat\x20roughness=1.0-texture2D(reflectivitySampler,vUV).a;\x0avec3\x20jitt=mix(vec3(0.0),hash(position),roughness)*roughnessFactor;\x0aReflectionInfo\x20info=getReflectionInfo(jitt+reflected,position);\x0avec2\x20dCoords=smoothstep(0.2,0.6,abs(vec2(0.5,0.5)-info.coords.xy));\x0afloat\x20screenEdgefactor=clamp(1.0-(dCoords.x+dCoords.y),0.0,1.0);\x0avec3\x20F0=vec3(0.04);\x0aF0\x20=mix(F0,albedo,spec);\x0avec3\x20fresnel=fresnelSchlick(max(dot(normalize(normal),normalize(position)),0.0),F0);\x0a#ifdef\x20RIGHT_HANDED_SCENE\x0areflected.z*=-1.0;\x0a#endif\x0afloat\x20reflectionMultiplier=clamp(pow(spec*strength,reflectionSpecularFalloffExponent)*screenEdgefactor*reflected.z,0.0,0.9);\x0afloat\x20albedoMultiplier=1.0-reflectionMultiplier;\x0avec3\x20SSR=info.color*fresnel;\x0agl_FragColor=vec4((albedo*albedoMultiplier)+(SSR*reflectionMultiplier),albedoFull.a);\x0a#else\x0agl_FragColor=texture2D(textureSampler,vUV);\x0a#endif\x0a}\x0a','TEXTUREFORMAT_COMPRESSED_RGBA_BPTC_UNORM','fogFragment','_requestVRFrame','opStencilDepthPass','cameraId','_cacheFloat3','viewportSize','meshCount','TEXTURE_2D_ARRAY','vertexCompilationError','_isCullDirty','_thinInstanceUpdateBufferSize','#ifdef\x20LIGHT{X}\x0auniform\x20vec4\x20vLightData{X};\x0auniform\x20vec4\x20vLightDiffuse{X};\x0a#ifdef\x20SPECULARTERM\x0auniform\x20vec4\x20vLightSpecular{X};\x0a#else\x0avec4\x20vLightSpecular{X}=vec4(0.);\x0a#endif\x0a#ifdef\x20SHADOW{X}\x0a#ifdef\x20SHADOWCSM{X}\x0auniform\x20mat4\x20lightMatrix{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20vec4\x20vPositionFromLight{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20float\x20vDepthMetric{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20vec4\x20vPositionFromCamera{X};\x0a#elif\x20defined(SHADOWCUBE{X})\x0a#else\x0avarying\x20vec4\x20vPositionFromLight{X};\x0avarying\x20float\x20vDepthMetric{X};\x0auniform\x20mat4\x20lightMatrix{X};\x0a#endif\x0auniform\x20vec4\x20shadowsInfo{X};\x0auniform\x20vec2\x20depthValues{X};\x0a#endif\x0a#ifdef\x20SPOTLIGHT{X}\x0auniform\x20vec4\x20vLightDirection{X};\x0auniform\x20vec4\x20vLightFalloff{X};\x0a#elif\x20defined(POINTLIGHT{X})\x0auniform\x20vec4\x20vLightFalloff{X};\x0a#elif\x20defined(HEMILIGHT{X})\x0auniform\x20vec3\x20vLightGround{X};\x0a#endif\x0a#endif\x0a','_emitFunctionFromInclude','#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0alayout(location=0)\x20out\x20vec4\x20glFragData[{X}];\x0a#endif\x0a','decalFragment','POINTERTAP','colorFormats','supportSRGBBuffers','RG32Float','_mode','observable','precision\x20highp\x20float;uniform\x20vec4\x20vEyePosition;varying\x20vec3\x20vPositionW;\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;uniform\x20sampler2D\x20diffuseSampler;uniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0auniform\x20sampler2D\x20distortionSampler;uniform\x20sampler2D\x20opacitySampler;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDistortionCoords1;varying\x20vec2\x20vDistortionCoords2;varying\x20vec2\x20vDistortionCoords3;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0avec4\x20bx2(vec4\x20x)\x0a{return\x20vec4(2.0)*x-vec4(1.0);}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);vec4\x20baseColor=vec4(1.,1.,1.,1.);float\x20alpha=1.0;\x0a#ifdef\x20DIFFUSE\x0aconst\x20float\x20distortionAmount0\x20=0.092;const\x20float\x20distortionAmount1\x20=0.092;const\x20float\x20distortionAmount2\x20=0.092;vec2\x20heightAttenuation=vec2(0.3,0.39);vec4\x20noise0=texture2D(distortionSampler,vDistortionCoords1);vec4\x20noise1=texture2D(distortionSampler,vDistortionCoords2);vec4\x20noise2=texture2D(distortionSampler,vDistortionCoords3);vec4\x20noiseSum=bx2(noise0)*distortionAmount0+bx2(noise1)*distortionAmount1+bx2(noise2)*distortionAmount2;vec4\x20perturbedBaseCoords=vec4(vDiffuseUV,0.0,1.0)+noiseSum*(vDiffuseUV.y*heightAttenuation.x+heightAttenuation.y);vec4\x20opacityColor=texture2D(opacitySampler,perturbedBaseCoords.xy);\x0a#ifdef\x20ALPHATEST\x0aif\x20(opacityColor.r<0.1)\x0adiscard;\x0a#endif\x0a#include<depthPrePass>\x0abaseColor=texture2D(diffuseSampler,perturbedBaseCoords.xy)*2.0;baseColor*=opacityColor;baseColor.rgb*=vDiffuseInfos.y;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0avec3\x20diffuseBase=vec3(1.0,1.0,1.0);\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0avec4\x20color=vec4(baseColor.rgb,alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','_emitVaryingFromString','#if\x20defined(DIFFUSE_ISLINEAR)\x20||\x20defined(EMISSIVE_ISLINEAR)\x0a#include<helperFunctions>\x0a#endif\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vUVDiffuse;\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#ifdef\x20OPACITY\x0avarying\x20vec2\x20vUVOpacity;\x0auniform\x20sampler2D\x20opacitySampler;\x0auniform\x20float\x20opacityIntensity;\x0a#endif\x0a#ifdef\x20EMISSIVE\x0avarying\x20vec2\x20vUVEmissive;\x0auniform\x20sampler2D\x20emissiveSampler;\x0a#endif\x0a#ifdef\x20VERTEXALPHA\x0avarying\x20vec4\x20vColor;\x0a#endif\x0auniform\x20vec4\x20glowColor;\x0auniform\x20float\x20glowIntensity;\x0a#include<clipPlaneFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#include<clipPlaneFragment>\x0avec4\x20finalColor=glowColor;\x0a#ifdef\x20DIFFUSE\x0avec4\x20albedoTexture=texture2D(diffuseSampler,vUVDiffuse);\x0a#ifdef\x20DIFFUSE_ISLINEAR\x0aalbedoTexture=toGammaSpace(albedoTexture);\x0a#endif\x0a#ifdef\x20GLOW\x0afinalColor.a*=albedoTexture.a;\x0a#endif\x0a#ifdef\x20HIGHLIGHT\x0afinalColor.a=albedoTexture.a;\x0a#endif\x0a#endif\x0a#ifdef\x20OPACITY\x0avec4\x20opacityMap=texture2D(opacitySampler,vUVOpacity);\x0a#ifdef\x20OPACITYRGB\x0afinalColor.a*=getLuminance(opacityMap.rgb);\x0a#else\x0afinalColor.a*=opacityMap.a;\x0a#endif\x0afinalColor.a*=opacityIntensity;\x0a#endif\x0a#ifdef\x20VERTEXALPHA\x0afinalColor.a*=vColor.a;\x0a#endif\x0a#ifdef\x20ALPHATEST\x0aif\x20(finalColor.a<ALPHATESTVALUE)\x0adiscard;\x0a#endif\x0a#ifdef\x20EMISSIVE\x0avec4\x20emissive=texture2D(emissiveSampler,vUVEmissive);\x0a#ifdef\x20EMISSIVE_ISLINEAR\x0aemissive=toGammaSpace(emissive);\x0a#endif\x0agl_FragColor=emissive*finalColor*glowIntensity;\x0a#else\x0agl_FragColor=finalColor;\x0a#endif\x0a#ifdef\x20HIGHLIGHT\x0agl_FragColor.a=glowColor.a;\x0a#endif\x0a}','enable','setCommandEncoder','layerIndices','\x20=\x20computeMirroredFixedEquirectangularCoords(','#include<sceneUboDeclaration>\x0a','KEYUP','log','mPreviousBones','##INJECTCODE##\x0a','pbrBlockSubSurface','noPrecision','_bindGroups',')\x20uniform\x20','pbrHelperFunctions','operand','maxRenderTriangleCount','astc','floor','TEXTUREFORMAT_RGB','imageProcessingCompatibility','ssFilterRadii','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20refractionSampler;\x0auniform\x20vec3\x20baseColor;\x0auniform\x20float\x20depth;\x0auniform\x20float\x20colorLevel;\x0avoid\x20main()\x20{\x0afloat\x20ref=1.0-texture2D(refractionSampler,vUV).r;\x0avec2\x20uv=vUV-vec2(0.5);\x0avec2\x20offset=uv*depth*ref;\x0avec3\x20sourceColor=texture2D(textureSampler,vUV-offset).rgb;\x0agl_FragColor=vec4(sourceColor+sourceColor*ref*colorLevel,1.0);\x0a}','needPOTTextures','Depth32FloatStencil8','_rebuild','display','Unable\x20to\x20create\x20dummy\x20framebuffer','_gl','IsExternalTexture','updateCubeTextures','_webGLTexture','_SimplifyNegation','dataStoreDataByteOffset','stencilGlobal','MipMap','shadowMapFragmentExtraDeclaration','Color3','framebufferRenderbuffer','uniform\x20sampler2D\x20textureSampler;\x0avarying\x20vec2\x20vUV;\x0a#ifdef\x20SSAO\x0auniform\x20sampler2D\x20randomSampler;\x0auniform\x20float\x20randTextureTiles;\x0auniform\x20float\x20samplesFactor;\x0auniform\x20vec3\x20sampleSphere[SAMPLES];\x0auniform\x20float\x20totalStrength;\x0auniform\x20float\x20radius;\x0auniform\x20float\x20area;\x0auniform\x20float\x20fallOff;\x0auniform\x20float\x20base;\x0avec3\x20normalFromDepth(float\x20depth,vec2\x20coords)\x0a{\x0avec2\x20offset1=vec2(0.0,radius);\x0avec2\x20offset2=vec2(radius,0.0);\x0afloat\x20depth1=texture2D(textureSampler,coords+offset1).r;\x0afloat\x20depth2=texture2D(textureSampler,coords+offset2).r;\x0avec3\x20p1=vec3(offset1,depth1-depth);\x0avec3\x20p2=vec3(offset2,depth2-depth);\x0avec3\x20normal=cross(p1,p2);\x0anormal.z=-normal.z;\x0areturn\x20normalize(normal);\x0a}\x0avoid\x20main()\x0a{\x0avec3\x20random=normalize(texture2D(randomSampler,vUV*randTextureTiles).rgb);\x0afloat\x20depth=texture2D(textureSampler,vUV).r;\x0avec3\x20position=vec3(vUV,depth);\x0avec3\x20normal=normalFromDepth(depth,vUV);\x0afloat\x20radiusDepth=radius/depth;\x0afloat\x20occlusion=0.0;\x0avec3\x20ray;\x0avec3\x20hemiRay;\x0afloat\x20occlusionDepth;\x0afloat\x20difference;\x0afor\x20(int\x20i=0;\x20i<SAMPLES;\x20i++)\x0a{\x0aray=radiusDepth*reflect(sampleSphere[i],random);\x0ahemiRay=position+sign(dot(ray,normal))*ray;\x0aocclusionDepth=texture2D(textureSampler,clamp(hemiRay.xy,vec2(0.001,0.001),vec2(0.999,0.999))).r;\x0adifference=depth-occlusionDepth;\x0aocclusion+=step(fallOff,difference)*(1.0-smoothstep(fallOff,area,difference));\x0a}\x0afloat\x20ao=1.0-totalStrength*occlusion*samplesFactor;\x0afloat\x20result=clamp(ao+base,0.0,1.0);\x0agl_FragColor.r=result;\x0agl_FragColor.g=result;\x0agl_FragColor.b=result;\x0agl_FragColor.a=1.0;\x0a}\x0a#endif\x0a','//#define\x20','_angle','getPhysicsImpostor','sprites','min','_EvaluatePreProcessors','getUniqueId','buffer','ARRAY_BUFFER','RGBA8Uint','width','done','_renderMultiviewToSingleView','index','GL_ALPHA_FUNCTION_ONE_MINUS_DST_ALPHA','readFromStorageBuffer:\x20Unsupported\x20method\x20in\x20this\x20engine!','url','CubeArray','texture2DArray','POINTERWHEEL','zOffsetUnits','readFromStorageBuffer','setSampler','_onVRFullScreenTriggered','stencilMask','\x20=\x20vec3(0,\x200,\x200);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0d\x0a','#ifdef\x20LIGHT{X}\x0a#if\x20defined(SHADOWONLY)\x20||\x20defined(LIGHTMAP)\x20&&\x20defined(LIGHTMAPEXCLUDED{X})\x20&&\x20defined(LIGHTMAPNOSPECULAR{X})\x0a#else\x0a#ifdef\x20PBR\x0a#ifdef\x20SPOTLIGHT{X}\x0apreInfo=computePointAndSpotPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW);\x0a#elif\x20defined(POINTLIGHT{X})\x0apreInfo=computePointAndSpotPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW);\x0a#elif\x20defined(HEMILIGHT{X})\x0apreInfo=computeHemisphericPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW);\x0a#elif\x20defined(DIRLIGHT{X})\x0apreInfo=computeDirectionalPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW);\x0a#endif\x0apreInfo.NdotV=NdotV;\x0a#ifdef\x20SPOTLIGHT{X}\x0a#ifdef\x20LIGHT_FALLOFF_GLTF{X}\x0apreInfo.attenuation=computeDistanceLightFalloff_GLTF(preInfo.lightDistanceSquared,light{X}.vLightFalloff.y);\x0apreInfo.attenuation*=computeDirectionalLightFalloff_GLTF(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightFalloff.z,light{X}.vLightFalloff.w);\x0a#elif\x20defined(LIGHT_FALLOFF_PHYSICAL{X})\x0apreInfo.attenuation=computeDistanceLightFalloff_Physical(preInfo.lightDistanceSquared);\x0apreInfo.attenuation*=computeDirectionalLightFalloff_Physical(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightDirection.w);\x0a#elif\x20defined(LIGHT_FALLOFF_STANDARD{X})\x0apreInfo.attenuation=computeDistanceLightFalloff_Standard(preInfo.lightOffset,light{X}.vLightFalloff.x);\x0apreInfo.attenuation*=computeDirectionalLightFalloff_Standard(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightDirection.w,light{X}.vLightData.w);\x0a#else\x0apreInfo.attenuation=computeDistanceLightFalloff(preInfo.lightOffset,preInfo.lightDistanceSquared,light{X}.vLightFalloff.x,light{X}.vLightFalloff.y);\x0apreInfo.attenuation*=computeDirectionalLightFalloff(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightDirection.w,light{X}.vLightData.w,light{X}.vLightFalloff.z,light{X}.vLightFalloff.w);\x0a#endif\x0a#elif\x20defined(POINTLIGHT{X})\x0a#ifdef\x20LIGHT_FALLOFF_GLTF{X}\x0apreInfo.attenuation=computeDistanceLightFalloff_GLTF(preInfo.lightDistanceSquared,light{X}.vLightFalloff.y);\x0a#elif\x20defined(LIGHT_FALLOFF_PHYSICAL{X})\x0apreInfo.attenuation=computeDistanceLightFalloff_Physical(preInfo.lightDistanceSquared);\x0a#elif\x20defined(LIGHT_FALLOFF_STANDARD{X})\x0apreInfo.attenuation=computeDistanceLightFalloff_Standard(preInfo.lightOffset,light{X}.vLightFalloff.x);\x0a#else\x0apreInfo.attenuation=computeDistanceLightFalloff(preInfo.lightOffset,preInfo.lightDistanceSquared,light{X}.vLightFalloff.x,light{X}.vLightFalloff.y);\x0a#endif\x0a#else\x0apreInfo.attenuation=1.0;\x0a#endif\x0a#ifdef\x20HEMILIGHT{X}\x0apreInfo.roughness=roughness;\x0a#else\x0apreInfo.roughness=adjustRoughnessFromLightProperties(roughness,light{X}.vLightSpecular.a,preInfo.lightDistance);\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0apreInfo.iridescenceIntensity=iridescenceIntensity;\x0a#endif\x0a#ifdef\x20HEMILIGHT{X}\x0ainfo.diffuse=computeHemisphericDiffuseLighting(preInfo,light{X}.vLightDiffuse.rgb,light{X}.vLightGround);\x0a#elif\x20defined(SS_TRANSLUCENCY)\x0ainfo.diffuse=computeDiffuseAndTransmittedLighting(preInfo,light{X}.vLightDiffuse.rgb,subSurfaceOut.transmittance);\x0a#else\x0ainfo.diffuse=computeDiffuseLighting(preInfo,light{X}.vLightDiffuse.rgb);\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0a#ifdef\x20ANISOTROPIC\x0ainfo.specular=computeAnisotropicSpecularLighting(preInfo,viewDirectionW,normalW,anisotropicOut.anisotropicTangent,anisotropicOut.anisotropicBitangent,anisotropicOut.anisotropy,clearcoatOut.specularEnvironmentR0,specularEnvironmentR90,AARoughnessFactors.x,light{X}.vLightDiffuse.rgb);\x0a#else\x0ainfo.specular=computeSpecularLighting(preInfo,normalW,clearcoatOut.specularEnvironmentR0,specularEnvironmentR90,AARoughnessFactors.x,light{X}.vLightDiffuse.rgb);\x0a#endif\x0a#endif\x0a#ifdef\x20SHEEN\x0a#ifdef\x20SHEEN_LINKWITHALBEDO\x0apreInfo.roughness=sheenOut.sheenIntensity;\x0a#else\x0a#ifdef\x20HEMILIGHT{X}\x0apreInfo.roughness=sheenOut.sheenRoughness;\x0a#else\x0apreInfo.roughness=adjustRoughnessFromLightProperties(sheenOut.sheenRoughness,light{X}.vLightSpecular.a,preInfo.lightDistance);\x0a#endif\x0a#endif\x0ainfo.sheen=computeSheenLighting(preInfo,normalW,sheenOut.sheenColor,specularEnvironmentR90,AARoughnessFactors.x,light{X}.vLightDiffuse.rgb);\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0a#ifdef\x20HEMILIGHT{X}\x0apreInfo.roughness=clearcoatOut.clearCoatRoughness;\x0a#else\x0apreInfo.roughness=adjustRoughnessFromLightProperties(clearcoatOut.clearCoatRoughness,light{X}.vLightSpecular.a,preInfo.lightDistance);\x0a#endif\x0ainfo.clearCoat=computeClearCoatLighting(preInfo,clearcoatOut.clearCoatNormalW,clearcoatOut.clearCoatAARoughnessFactors.x,clearcoatOut.clearCoatIntensity,light{X}.vLightDiffuse.rgb);\x0a#ifdef\x20CLEARCOAT_TINT\x0aabsorption=computeClearCoatLightingAbsorption(clearcoatOut.clearCoatNdotVRefract,preInfo.L,clearcoatOut.clearCoatNormalW,clearcoatOut.clearCoatColor,clearcoatOut.clearCoatThickness,clearcoatOut.clearCoatIntensity);\x0ainfo.diffuse*=absorption;\x0a#ifdef\x20SPECULARTERM\x0ainfo.specular*=absorption;\x0a#endif\x0a#endif\x0ainfo.diffuse*=info.clearCoat.w;\x0a#ifdef\x20SPECULARTERM\x0ainfo.specular*=info.clearCoat.w;\x0a#endif\x0a#ifdef\x20SHEEN\x0ainfo.sheen*=info.clearCoat.w;\x0a#endif\x0a#endif\x0a#else\x0a#ifdef\x20SPOTLIGHT{X}\x0ainfo=computeSpotLighting(viewDirectionW,normalW,light{X}.vLightData,light{X}.vLightDirection,light{X}.vLightDiffuse.rgb,light{X}.vLightSpecular.rgb,light{X}.vLightDiffuse.a,glossiness);\x0a#elif\x20defined(HEMILIGHT{X})\x0ainfo=computeHemisphericLighting(viewDirectionW,normalW,light{X}.vLightData,light{X}.vLightDiffuse.rgb,light{X}.vLightSpecular.rgb,light{X}.vLightGround,glossiness);\x0a#elif\x20defined(POINTLIGHT{X})\x20||\x20defined(DIRLIGHT{X})\x0ainfo=computeLighting(viewDirectionW,normalW,light{X}.vLightData,light{X}.vLightDiffuse.rgb,light{X}.vLightSpecular.rgb,light{X}.vLightDiffuse.a,glossiness);\x0a#endif\x0a#endif\x0a#ifdef\x20PROJECTEDLIGHTTEXTURE{X}\x0ainfo.diffuse*=computeProjectionTextureDiffuseLighting(projectionLightSampler{X},textureProjectionMatrix{X});\x0a#endif\x0a#endif\x0a#ifdef\x20SHADOW{X}\x0a#ifdef\x20SHADOWCSM{X}\x0afor\x20(int\x20i=0;\x20i<SHADOWCSMNUM_CASCADES{X};\x20i++)\x20\x0a{\x0a#ifdef\x20SHADOWCSM_RIGHTHANDED{X}\x0adiff{X}=viewFrustumZ{X}[i]+vPositionFromCamera{X}.z;\x0a#else\x0adiff{X}=viewFrustumZ{X}[i]-vPositionFromCamera{X}.z;\x0a#endif\x0aif\x20(diff{X}>=0.)\x20{\x0aindex{X}=i;\x0abreak;\x0a}\x0a}\x0a#ifdef\x20SHADOWCSMUSESHADOWMAXZ{X}\x0aif\x20(index{X}>=0)\x0a#endif\x0a{\x0a#if\x20defined(SHADOWPCF{X})\x0a#if\x20defined(SHADOWLOWQUALITY{X})\x0ashadow=computeShadowWithCSMPCF1(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#elif\x20defined(SHADOWMEDIUMQUALITY{X})\x0ashadow=computeShadowWithCSMPCF3(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#else\x0ashadow=computeShadowWithCSMPCF5(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0a#elif\x20defined(SHADOWPCSS{X})\x0a#if\x20defined(SHADOWLOWQUALITY{X})\x0ashadow=computeShadowWithCSMPCSS16(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});\x0a#elif\x20defined(SHADOWMEDIUMQUALITY{X})\x0ashadow=computeShadowWithCSMPCSS32(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});\x0a#else\x0ashadow=computeShadowWithCSMPCSS64(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});\x0a#endif\x0a#else\x0ashadow=computeShadowCSM(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0a#ifdef\x20SHADOWCSMDEBUG{X}\x0ashadowDebug{X}=vec3(shadow)*vCascadeColorsMultiplier{X}[index{X}];\x0a#endif\x0a#ifndef\x20SHADOWCSMNOBLEND{X}\x0afloat\x20frustumLength=frustumLengths{X}[index{X}];\x0afloat\x20diffRatio=clamp(diff{X}/frustumLength,0.,1.)*cascadeBlendFactor{X};\x0aif\x20(index{X}<(SHADOWCSMNUM_CASCADES{X}-1)\x20&&\x20diffRatio<1.)\x0a{\x0aindex{X}+=1;\x0afloat\x20nextShadow=0.;\x0a#if\x20defined(SHADOWPCF{X})\x0a#if\x20defined(SHADOWLOWQUALITY{X})\x0anextShadow=computeShadowWithCSMPCF1(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#elif\x20defined(SHADOWMEDIUMQUALITY{X})\x0anextShadow=computeShadowWithCSMPCF3(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#else\x0anextShadow=computeShadowWithCSMPCF5(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0a#elif\x20defined(SHADOWPCSS{X})\x0a#if\x20defined(SHADOWLOWQUALITY{X})\x0anextShadow=computeShadowWithCSMPCSS16(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});\x0a#elif\x20defined(SHADOWMEDIUMQUALITY{X})\x0anextShadow=computeShadowWithCSMPCSS32(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});\x0a#else\x0anextShadow=computeShadowWithCSMPCSS64(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});\x0a#endif\x0a#else\x0anextShadow=computeShadowCSM(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0ashadow=mix(nextShadow,shadow,diffRatio);\x0a#ifdef\x20SHADOWCSMDEBUG{X}\x0ashadowDebug{X}=mix(vec3(nextShadow)*vCascadeColorsMultiplier{X}[index{X}],shadowDebug{X},diffRatio);\x0a#endif\x0a}\x0a#endif\x0a}\x0a#elif\x20defined(SHADOWCLOSEESM{X})\x0a#if\x20defined(SHADOWCUBE{X})\x0ashadow=computeShadowWithCloseESMCube(light{X}.vLightData.xyz,shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.depthValues);\x0a#else\x0ashadow=computeShadowWithCloseESM(vPositionFromLight{X},vDepthMetric{X},shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.shadowsInfo.w);\x0a#endif\x0a#elif\x20defined(SHADOWESM{X})\x0a#if\x20defined(SHADOWCUBE{X})\x0ashadow=computeShadowWithESMCube(light{X}.vLightData.xyz,shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.depthValues);\x0a#else\x0ashadow=computeShadowWithESM(vPositionFromLight{X},vDepthMetric{X},shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.shadowsInfo.w);\x0a#endif\x0a#elif\x20defined(SHADOWPOISSON{X})\x0a#if\x20defined(SHADOWCUBE{X})\x0ashadow=computeShadowWithPoissonSamplingCube(light{X}.vLightData.xyz,shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.x,light{X}.depthValues);\x0a#else\x0ashadow=computeShadowWithPoissonSampling(vPositionFromLight{X},vDepthMetric{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0a#elif\x20defined(SHADOWPCF{X})\x0a#if\x20defined(SHADOWLOWQUALITY{X})\x0ashadow=computeShadowWithPCF1(vPositionFromLight{X},vDepthMetric{X},shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#elif\x20defined(SHADOWMEDIUMQUALITY{X})\x0ashadow=computeShadowWithPCF3(vPositionFromLight{X},vDepthMetric{X},shadowSampler{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#else\x0ashadow=computeShadowWithPCF5(vPositionFromLight{X},vDepthMetric{X},shadowSampler{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0a#elif\x20defined(SHADOWPCSS{X})\x0a#if\x20defined(SHADOWLOWQUALITY{X})\x0ashadow=computeShadowWithPCSS16(vPositionFromLight{X},vDepthMetric{X},depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#elif\x20defined(SHADOWMEDIUMQUALITY{X})\x0ashadow=computeShadowWithPCSS32(vPositionFromLight{X},vDepthMetric{X},depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#else\x0ashadow=computeShadowWithPCSS64(vPositionFromLight{X},vDepthMetric{X},depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0a#else\x0a#if\x20defined(SHADOWCUBE{X})\x0ashadow=computeShadowCube(light{X}.vLightData.xyz,shadowSampler{X},light{X}.shadowsInfo.x,light{X}.depthValues);\x0a#else\x0ashadow=computeShadow(vPositionFromLight{X},vDepthMetric{X},shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0a#endif\x0a#ifdef\x20SHADOWONLY\x0a#ifndef\x20SHADOWINUSE\x0a#define\x20SHADOWINUSE\x0a#endif\x0aglobalShadow+=shadow;\x0ashadowLightCount+=1.0;\x0a#endif\x0a#else\x0ashadow=1.;\x0a#endif\x0a#ifndef\x20SHADOWONLY\x0a#ifdef\x20CUSTOMUSERLIGHTING\x0adiffuseBase+=computeCustomDiffuseLighting(info,diffuseBase,shadow);\x0a#ifdef\x20SPECULARTERM\x0aspecularBase+=computeCustomSpecularLighting(info,specularBase,shadow);\x0a#endif\x0a#elif\x20defined(LIGHTMAP)\x20&&\x20defined(LIGHTMAPEXCLUDED{X})\x0adiffuseBase+=lightmapColor.rgb*shadow;\x0a#ifdef\x20SPECULARTERM\x0a#ifndef\x20LIGHTMAPNOSPECULAR{X}\x0aspecularBase+=info.specular*shadow*lightmapColor.rgb;\x0a#endif\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0a#ifndef\x20LIGHTMAPNOSPECULAR{X}\x0aclearCoatBase+=info.clearCoat.rgb*shadow*lightmapColor.rgb;\x0a#endif\x0a#endif\x0a#ifdef\x20SHEEN\x0a#ifndef\x20LIGHTMAPNOSPECULAR{X}\x0asheenBase+=info.sheen.rgb*shadow;\x0a#endif\x0a#endif\x0a#else\x0a#ifdef\x20SHADOWCSMDEBUG{X}\x0adiffuseBase+=info.diffuse*shadowDebug{X};\x0a#else\x20\x0adiffuseBase+=info.diffuse*shadow;\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0aspecularBase+=info.specular*shadow;\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0aclearCoatBase+=info.clearCoat.rgb*shadow;\x0a#endif\x0a#ifdef\x20SHEEN\x0asheenBase+=info.sheen.rgb*shadow;\x0a#endif\x0a#endif\x0a#endif\x0a#endif\x0a','depthOfFieldPixelShader','markAsLightDirty','ETC2RGB8UnormSRGB','precision\x20highp\x20float;\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#include<instancesDeclaration>\x0a#include<__decl__geometryVertex>\x0a#include<clipPlaneVertexDeclaration>\x0aattribute\x20vec3\x20position;\x0aattribute\x20vec3\x20normal;\x0a#ifdef\x20NEED_UV\x0avarying\x20vec2\x20vUV;\x0a#ifdef\x20ALPHATEST\x0auniform\x20mat4\x20diffuseMatrix;\x0a#endif\x0a#ifdef\x20BUMP\x0auniform\x20mat4\x20bumpMatrix;\x0avarying\x20vec2\x20vBumpUV;\x0a#endif\x0a#ifdef\x20REFLECTIVITY\x0auniform\x20mat4\x20reflectivityMatrix;\x0auniform\x20mat4\x20albedoMatrix;\x0avarying\x20vec2\x20vReflectivityUV;\x0avarying\x20vec2\x20vAlbedoUV;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#endif\x0a#ifdef\x20BUMP\x0avarying\x20mat4\x20vWorldView;\x0a#endif\x0a#ifdef\x20BUMP\x0avarying\x20vec3\x20vNormalW;\x0a#else\x0avarying\x20vec3\x20vNormalV;\x0a#endif\x0avarying\x20vec4\x20vViewPos;\x0a#if\x20defined(POSITION)\x20||\x20defined(BUMP)\x0avarying\x20vec3\x20vPositionW;\x0a#endif\x0a#ifdef\x20VELOCITY\x0auniform\x20mat4\x20previousViewProjection;\x0avarying\x20vec4\x20vCurrentPosition;\x0avarying\x20vec4\x20vPreviousPosition;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec3\x20positionUpdated=position;\x0avec3\x20normalUpdated=normal;\x0a#ifdef\x20UV1\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#include<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#include<instancesVertex>\x0a#if\x20defined(VELOCITY)\x20&&\x20!defined(BONES_VELOCITY_ENABLED)\x0avCurrentPosition=viewProjection*finalWorld*vec4(positionUpdated,1.0);\x0avPreviousPosition=previousViewProjection*finalPreviousWorld*vec4(positionUpdated,1.0);\x0a#endif\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=vec4(finalWorld*vec4(positionUpdated,1.0));\x0a#ifdef\x20BUMP\x0avWorldView=view*finalWorld;\x0avNormalW=normalUpdated;\x0a#else\x0avNormalV=normalize(vec3((view*finalWorld)*vec4(normalUpdated,0.0)));\x0a#endif\x0avViewPos=view*worldPos;\x0a#if\x20defined(VELOCITY)\x20&&\x20defined(BONES_VELOCITY_ENABLED)\x0avCurrentPosition=viewProjection*finalWorld*vec4(positionUpdated,1.0);\x0a#if\x20NUM_BONE_INFLUENCERS>0\x0amat4\x20previousInfluence;\x0apreviousInfluence=mPreviousBones[int(matricesIndices[0])]*matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0apreviousInfluence+=mPreviousBones[int(matricesIndices[1])]*matricesWeights[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0apreviousInfluence+=mPreviousBones[int(matricesIndices[2])]*matricesWeights[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0apreviousInfluence+=mPreviousBones[int(matricesIndices[3])]*matricesWeights[3];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[0])]*matricesWeightsExtra[0];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[1])]*matricesWeightsExtra[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[2])]*matricesWeightsExtra[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[3])]*matricesWeightsExtra[3];\x0a#endif\x0avPreviousPosition=previousViewProjection*finalPreviousWorld*previousInfluence*vec4(positionUpdated,1.0);\x0a#else\x0avPreviousPosition=previousViewProjection*finalPreviousWorld*vec4(positionUpdated,1.0);\x0a#endif\x0a#endif\x0a#if\x20defined(POSITION)\x20||\x20defined(BUMP)\x0avPositionW=worldPos.xyz/worldPos.w;\x0a#endif\x0agl_Position=viewProjection*finalWorld*vec4(positionUpdated,1.0);\x0a#include<clipPlaneVertex>\x0a#ifdef\x20NEED_UV\x0a#ifdef\x20UV1\x0a#if\x20defined(ALPHATEST)\x20&&\x20defined(ALPHATEST_UV1)\x0avUV=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\x0a#else\x0avUV=uv;\x0a#endif\x0a#ifdef\x20BUMP_UV1\x0avBumpUV=vec2(bumpMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20REFLECTIVITY_UV1\x0avReflectivityUV=vec2(reflectivityMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20ALBEDO_UV1\x0avAlbedoUV=vec2(albedoMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#endif\x0a#ifdef\x20UV2\x0a#if\x20defined(ALPHATEST)\x20&&\x20defined(ALPHATEST_UV2)\x0avUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a#else\x0avUV=uv2;\x0a#endif\x0a#ifdef\x20BUMP_UV2\x0avBumpUV=vec2(bumpMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#ifdef\x20REFLECTIVITY_UV2\x0avReflectivityUV=vec2(reflectivityMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#ifdef\x20ALBEDO_UV2\x0avAlbedoUV=vec2(albedoMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a#endif\x0a#include<bumpVertex>\x0a}\x0a','sphericalPolynomial','_vertexBuffers','_buildBlock','processingContext','instancesVertex','#ifdef\x20LIGHT{X}\x0auniform\x20Light{X}\x0a{\x0avec4\x20vLightData;\x0avec4\x20vLightDiffuse;\x0avec4\x20vLightSpecular;\x0a#ifdef\x20SPOTLIGHT{X}\x0avec4\x20vLightDirection;\x0avec4\x20vLightFalloff;\x0a#elif\x20defined(POINTLIGHT{X})\x0avec4\x20vLightFalloff;\x0a#elif\x20defined(HEMILIGHT{X})\x0avec3\x20vLightGround;\x0a#endif\x0avec4\x20shadowsInfo;\x0avec2\x20depthValues;\x0a}\x20light{X};\x0a#ifdef\x20SHADOW{X}\x0a#ifdef\x20SHADOWCSM{X}\x0auniform\x20mat4\x20lightMatrix{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20vec4\x20vPositionFromLight{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20float\x20vDepthMetric{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20vec4\x20vPositionFromCamera{X};\x0a#elif\x20defined(SHADOWCUBE{X})\x0a#else\x0avarying\x20vec4\x20vPositionFromLight{X};\x0avarying\x20float\x20vDepthMetric{X};\x0auniform\x20mat4\x20lightMatrix{X};\x0a#endif\x0a#endif\x0a#endif\x0a','frameId','blitFramebuffer','#ifdef\x20LOGARITHMICDEPTH\x0a#extension\x20GL_EXT_frag_depth\x20:\x20enable\x0a#endif\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec4\x20vColor;\x0auniform\x20vec4\x20textureMask;\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<imageProcessingDeclaration>\x0a#include<logDepthDeclaration>\x0a#include<helperFunctions>\x0a#include<imageProcessingFunctions>\x0a#ifdef\x20RAMPGRADIENT\x0avarying\x20vec4\x20remapRanges;\x0auniform\x20sampler2D\x20rampSampler;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec4\x20textureColor=texture2D(diffuseSampler,vUV);\x0avec4\x20baseColor=(textureColor*textureMask+(vec4(1.,1.,1.,1.)-textureMask))*vColor;\x0a#ifdef\x20RAMPGRADIENT\x0afloat\x20alpha=baseColor.a;\x0afloat\x20remappedColorIndex=clamp((alpha-remapRanges.x)/remapRanges.y,0.0,1.0);\x0avec4\x20rampColor=texture2D(rampSampler,vec2(1.0-remappedColorIndex,0.));\x0abaseColor.rgb*=rampColor.rgb;\x0afloat\x20finalAlpha=baseColor.a;\x0abaseColor.a=clamp((alpha*rampColor.a-remapRanges.z)/remapRanges.w,0.0,1.0);\x0a#endif\x0a#ifdef\x20BLENDMULTIPLYMODE\x0afloat\x20sourceAlpha=vColor.a*textureColor.a;\x0abaseColor.rgb=baseColor.rgb*sourceAlpha+vec3(1.0)*(1.0-sourceAlpha);\x0a#endif\x0a#include<logDepthFragment>\x0a#ifdef\x20IMAGEPROCESSINGPOSTPROCESS\x0abaseColor.rgb=toLinearSpace(baseColor.rgb);\x0a#else\x0a#ifdef\x20IMAGEPROCESSING\x0abaseColor.rgb=toLinearSpace(baseColor.rgb);\x0abaseColor=applyImageProcessing(baseColor);\x0a#endif\x0a#endif\x0agl_FragColor=baseColor;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','GL_ALPHA_FUNCTION_SRC_ALPHA','createCommandEncoder','thinInstanceSetBuffer','iridescenceOutParams\x20iridescenceOut;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20IRIDESCENCE\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20iridescenceBlock(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4(','label','#ifdef\x20MORPHTARGETS\x0a#ifdef\x20MORPHTARGETS_TEXTURE\x0afloat\x20vertexID;\x0a#endif\x0a#endif\x0a','anisotropicFilteringLevel','sharedData','attach','getTransformMatrix','setMRT','ShadersStore','DEPTH_STENCIL','ignore','_epsilon','getRenderTarget','updateColor4','subMeshes','#ifdef\x20DOF\x0afactor=sampleCoC(sampleCenter+delta*KERNEL_DEP_OFFSET{X});\x0acomputedWeight=KERNEL_DEP_WEIGHT{X}*factor;\x0asumOfWeights+=computedWeight;\x0a#else\x0acomputedWeight=KERNEL_DEP_WEIGHT{X};\x0a#endif\x0a#ifdef\x20PACKEDFLOAT\x0ablend+=unpack(texture2D(textureSampler,sampleCenter+delta*KERNEL_DEP_OFFSET{X}))*computedWeight;\x0a#else\x0ablend+=texture2D(textureSampler,sampleCenter+delta*KERNEL_DEP_OFFSET{X})*computedWeight;\x0a#endif\x0a','#ifdef\x20CLIPPLANE\x0auniform\x20vClipPlane:\x20vec4<f32>;\x0avarying\x20fClipDistance:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0auniform\x20vClipPlane2:\x20vec4<f32>;\x0avarying\x20fClipDistance2:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0auniform\x20vClipPlane3:\x20vec4<f32>;\x0avarying\x20fClipDistance3:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0auniform\x20vClipPlane4:\x20vec4<f32>;\x0avarying\x20fClipDistance4:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0auniform\x20vClipPlane5:\x20vec4<f32>;\x0avarying\x20fClipDistance5:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0auniform\x20vClipPlane6:\x20vec4<f32>;\x0avarying\x20fClipDistance6:\x20f32;\x0a#endif\x0a','_transformMatrixR','renderPassDescriptor','_allocateNewIndices','_deserialize','_defineExplicitName','Fragment','normalize(','updateFloat4','TEXTURETYPE_INT','_cacheRenderPipeline','hasSpecificTrigger','.xyz','_ubCopyWithOfst','main','close','forEach','is2DArray','bindArrayBuffer','previousWorldMatrices','hdrFilteringVertexShader','updateVector3','getBaseSize','morphTargetsVertexDeclaration','_videoTextureSupported','_getEngine','minmaxReduxPixelShader','_useInstancing','out','_ssDiffusionD','pbrFragmentDeclaration','parent','deleteRenderbuffer','Warn','_processPointerDown','gl_InstanceIndex','isAnimationSheetEnabled','LIGHTTYPEID_SPOTLIGHT','currentOffsetStartTemp','createMaterialContext','_vrDisplay','data:','bindingIndex','_processSamplers','setSize','offlineProvider','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20leftSampler;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec4\x20leftFrag=texture2D(leftSampler,vUV);\x0aleftFrag=vec4(1.0,leftFrag.g,leftFrag.b,1.0);\x0avec4\x20rightFrag=texture2D(textureSampler,vUV);\x0arightFrag=vec4(rightFrag.r,1.0,1.0,1.0);\x0agl_FragColor=vec4(rightFrag.rgb*leftFrag.rgb,1.0);\x0a}','restoreDefaultInputTexture','layout(std140,column_major)\x20uniform;\x0auniform\x20Scene\x20{\x0amat4\x20viewProjection;\x0a#ifdef\x20MULTIVIEW\x0amat4\x20viewProjectionR;\x0a#endif\x20\x0amat4\x20view;\x0amat4\x20projection;\x0avec4\x20vEyePosition;\x0a};\x0a','handleFragmentSideInits','_builtCompilationString','\x20{\x0a','_deviceInputSystem','#define\x20NUM_BONE_INFLUENCERS\x200','ALPHA_COMBINE','group','bonesDeclaration','setInt3','submit','additionalDefineKey','407128elEDYK','setStencilWriteMask','ASTC8x8Unorm','GetData','matrix','.y\x20=\x201.0\x20-\x20','uniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0a#ifdef\x20SPECULARTERM\x0auniform\x20vec4\x20vSpecularColor;\x0a#endif\x0auniform\x20vec3\x20vEmissiveColor;\x0auniform\x20vec3\x20vAmbientColor;\x0auniform\x20float\x20visibility;\x0a#ifdef\x20DIFFUSE\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20AMBIENT\x0auniform\x20vec2\x20vAmbientInfos;\x0a#endif\x0a#ifdef\x20OPACITY\x20\x0auniform\x20vec2\x20vOpacityInfos;\x0a#endif\x0a#ifdef\x20EMISSIVE\x0auniform\x20vec2\x20vEmissiveInfos;\x0a#endif\x0a#ifdef\x20LIGHTMAP\x0auniform\x20vec2\x20vLightmapInfos;\x0a#endif\x0a#ifdef\x20BUMP\x0auniform\x20vec3\x20vBumpInfos;\x0auniform\x20vec2\x20vTangentSpaceParams;\x0a#endif\x0a#ifdef\x20ALPHATEST\x0auniform\x20float\x20alphaCutOff;\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_SPHERICAL)\x20||\x20defined(REFLECTIONMAP_PROJECTION)\x20||\x20defined(REFRACTION)\x20||\x20defined(PREPASS)\x0auniform\x20mat4\x20view;\x0a#endif\x0a#ifdef\x20REFRACTION\x0auniform\x20vec4\x20vRefractionInfos;\x0a#ifndef\x20REFRACTIONMAP_3D\x0auniform\x20mat4\x20refractionMatrix;\x0a#endif\x0a#ifdef\x20REFRACTIONFRESNEL\x0auniform\x20vec4\x20refractionLeftColor;\x0auniform\x20vec4\x20refractionRightColor;\x0a#endif\x0a#if\x20defined(USE_LOCAL_REFRACTIONMAP_CUBIC)\x20&&\x20defined(REFRACTIONMAP_3D)\x0auniform\x20vec3\x20vRefractionPosition;\x0auniform\x20vec3\x20vRefractionSize;\x20\x0a#endif\x0a#endif\x0a#if\x20defined(SPECULAR)\x20&&\x20defined(SPECULARTERM)\x0auniform\x20vec2\x20vSpecularInfos;\x0a#endif\x0a#ifdef\x20DIFFUSEFRESNEL\x0auniform\x20vec4\x20diffuseLeftColor;\x0auniform\x20vec4\x20diffuseRightColor;\x0a#endif\x0a#ifdef\x20OPACITYFRESNEL\x0auniform\x20vec4\x20opacityParts;\x0a#endif\x0a#ifdef\x20EMISSIVEFRESNEL\x0auniform\x20vec4\x20emissiveLeftColor;\x0auniform\x20vec4\x20emissiveRightColor;\x0a#endif\x0a#ifdef\x20REFLECTION\x0auniform\x20vec2\x20vReflectionInfos;\x0a#if\x20defined(REFLECTIONMAP_PLANAR)\x20||\x20defined(REFLECTIONMAP_CUBIC)\x20||\x20defined(REFLECTIONMAP_PROJECTION)\x20||\x20defined(REFLECTIONMAP_EQUIRECTANGULAR)\x20||\x20defined(REFLECTIONMAP_SPHERICAL)\x20||\x20defined(REFLECTIONMAP_SKYBOX)\x0auniform\x20mat4\x20reflectionMatrix;\x0a#endif\x0a#ifndef\x20REFLECTIONMAP_SKYBOX\x0a#if\x20defined(USE_LOCAL_REFLECTIONMAP_CUBIC)\x20&&\x20defined(REFLECTIONMAP_CUBIC)\x0auniform\x20vec3\x20vReflectionPosition;\x0auniform\x20vec3\x20vReflectionSize;\x20\x0a#endif\x0a#endif\x0a#ifdef\x20REFLECTIONFRESNEL\x0auniform\x20vec4\x20reflectionLeftColor;\x0auniform\x20vec4\x20reflectionRightColor;\x0a#endif\x0a#endif\x0a#ifdef\x20DETAIL\x0auniform\x20vec4\x20vDetailInfos;\x0a#endif\x0a#include<decalFragmentDeclaration>\x0a#define\x20ADDITIONAL_FRAGMENT_DECLARATION\x0a','bundles','_changeTextureMode','worldMatrices','spritesVertexShader','#include<__decl__defaultFragment>\x0a#if\x20defined(BUMP)\x20||\x20!defined(NORMAL)\x0a#extension\x20GL_OES_standard_derivatives\x20:\x20enable\x0a#endif\x0a#include<prePassDeclaration>[SCENE_MRT_COUNT]\x0a#include<oitDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_BEGIN\x0a#ifdef\x20LOGARITHMICDEPTH\x0a#extension\x20GL_EXT_frag_depth\x20:\x20enable\x0a#endif\x0a#define\x20RECIPROCAL_PI2\x200.15915494\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<mainUVVaryingDeclaration>[1..7]\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,DIFFUSE,_VARYINGNAME_,Diffuse,_SAMPLERNAME_,diffuse)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient,_SAMPLERNAME_,ambient)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity,_SAMPLERNAME_,opacity)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive,_SAMPLERNAME_,emissive)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap,_SAMPLERNAME_,lightmap)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal,_SAMPLERNAME_,decal)\x0a#ifdef\x20REFRACTION\x0a#ifdef\x20REFRACTIONMAP_3D\x0auniform\x20samplerCube\x20refractionCubeSampler;\x0a#else\x0auniform\x20sampler2D\x20refraction2DSampler;\x0a#endif\x0a#endif\x0a#if\x20defined(SPECULARTERM)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,SPECULAR,_VARYINGNAME_,Specular,_SAMPLERNAME_,specular)\x0a#endif\x0a#include<fresnelFunction>\x0a#ifdef\x20REFLECTION\x0a#ifdef\x20REFLECTIONMAP_3D\x0auniform\x20samplerCube\x20reflectionCubeSampler;\x0a#else\x0auniform\x20sampler2D\x20reflection2DSampler;\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avarying\x20vec3\x20vPositionUVW;\x0a#else\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avarying\x20vec3\x20vDirectionW;\x0a#endif\x0a#endif\x0a#include<reflectionFunction>\x0a#endif\x0a#include<imageProcessingDeclaration>\x0a#include<imageProcessingFunctions>\x0a#include<bumpFragmentMainFunctions>\x0a#include<bumpFragmentFunctions>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<logDepthDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20baseColor=vec4(1.,1.,1.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=normalize(-cross(dFdx(vPositionW),dFdy(vPositionW)));\x0a#endif\x0a#include<bumpFragment>\x0a#ifdef\x20TWOSIDEDLIGHTING\x0anormalW=gl_FrontFacing\x20?\x20normalW\x20:\x20-normalW;\x0a#endif\x0a#ifdef\x20DIFFUSE\x0abaseColor=texture2D(diffuseSampler,vDiffuseUV+uvOffset);\x0a#if\x20defined(ALPHATEST)\x20&&\x20!defined(ALPHATEST_AFTERALLALPHACOMPUTATIONS)\x0aif\x20(baseColor.a<alphaCutOff)\x0adiscard;\x0a#endif\x0a#ifdef\x20ALPHAFROMDIFFUSE\x0aalpha*=baseColor.a;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_UPDATE_ALPHA\x0abaseColor.rgb*=vDiffuseInfos.y;\x0a#endif\x0a#ifdef\x20DECAL\x0avec4\x20decalColor=texture2D(decalSampler,vDecalUV+uvOffset);\x0a#include<decalFragment>(surfaceAlbedo,baseColor,GAMMADECAL,_GAMMADECAL_NOTUSED_)\x0a#endif\x0a#include<depthPrePass>\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0a#ifdef\x20DETAIL\x0abaseColor.rgb=baseColor.rgb*2.0*mix(0.5,detailColor.r,vDetailInfos.y);\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_UPDATE_DIFFUSE\x0avec3\x20baseAmbientColor=vec3(1.,1.,1.);\x0a#ifdef\x20AMBIENT\x0abaseAmbientColor=texture2D(ambientSampler,vAmbientUV+uvOffset).rgb*vAmbientInfos.y;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_LIGHTS\x0a#ifdef\x20SPECULARTERM\x0afloat\x20glossiness=vSpecularColor.a;\x0avec3\x20specularColor=vSpecularColor.rgb;\x0a#ifdef\x20SPECULAR\x0avec4\x20specularMapColor=texture2D(specularSampler,vSpecularUV+uvOffset);\x0aspecularColor=specularMapColor.rgb;\x0a#ifdef\x20GLOSSINESS\x0aglossiness=glossiness*specularMapColor.a;\x0a#endif\x0a#endif\x0a#else\x0afloat\x20glossiness=0.;\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0a#endif\x0afloat\x20shadow=1.;\x0a#ifdef\x20LIGHTMAP\x0avec4\x20lightmapColor=texture2D(lightmapSampler,vLightmapUV+uvOffset);\x0a#ifdef\x20RGBDLIGHTMAP\x0alightmapColor.rgb=fromRGBD(lightmapColor);\x0a#endif\x0alightmapColor.rgb*=vLightmapInfos.y;\x0a#endif\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0avec4\x20refractionColor=vec4(0.,0.,0.,1.);\x0a#ifdef\x20REFRACTION\x0avec3\x20refractionVector=normalize(refract(-viewDirectionW,normalW,vRefractionInfos.y));\x0a#ifdef\x20REFRACTIONMAP_3D\x0a#ifdef\x20USE_LOCAL_REFRACTIONMAP_CUBIC\x0arefractionVector=parallaxCorrectNormal(vPositionW,refractionVector,vRefractionSize,vRefractionPosition);\x0a#endif\x0arefractionVector.y=refractionVector.y*vRefractionInfos.w;\x0avec4\x20refractionLookup=textureCube(refractionCubeSampler,refractionVector);\x0aif\x20(dot(refractionVector,viewDirectionW)<1.0)\x20{\x0arefractionColor=refractionLookup;\x0a}\x0a#else\x0avec3\x20vRefractionUVW=vec3(refractionMatrix*(view*vec4(vPositionW+refractionVector*vRefractionInfos.z,1.0)));\x0avec2\x20refractionCoords=vRefractionUVW.xy/vRefractionUVW.z;\x0arefractionCoords.y=1.0-refractionCoords.y;\x0arefractionColor=texture2D(refraction2DSampler,refractionCoords);\x0a#endif\x0a#ifdef\x20RGBDREFRACTION\x0arefractionColor.rgb=fromRGBD(refractionColor);\x0a#endif\x0a#ifdef\x20IS_REFRACTION_LINEAR\x0arefractionColor.rgb=toGammaSpace(refractionColor.rgb);\x0a#endif\x0arefractionColor.rgb*=vRefractionInfos.x;\x0a#endif\x0avec4\x20reflectionColor=vec4(0.,0.,0.,1.);\x0a#ifdef\x20REFLECTION\x0avec3\x20vReflectionUVW=computeReflectionCoords(vec4(vPositionW,1.0),normalW);\x0a#ifdef\x20REFLECTIONMAP_OPPOSITEZ\x0avReflectionUVW.z*=-1.0;\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0a#ifdef\x20ROUGHNESS\x0afloat\x20bias=vReflectionInfos.y;\x0a#ifdef\x20SPECULARTERM\x0a#ifdef\x20SPECULAR\x0a#ifdef\x20GLOSSINESS\x0abias*=(1.0-specularMapColor.a);\x0a#endif\x0a#endif\x0a#endif\x0areflectionColor=textureCube(reflectionCubeSampler,vReflectionUVW,bias);\x0a#else\x0areflectionColor=textureCube(reflectionCubeSampler,vReflectionUVW);\x0a#endif\x0a#else\x0avec2\x20coords=vReflectionUVW.xy;\x0a#ifdef\x20REFLECTIONMAP_PROJECTION\x0acoords/=vReflectionUVW.z;\x0a#endif\x0acoords.y=1.0-coords.y;\x0areflectionColor=texture2D(reflection2DSampler,coords);\x0a#endif\x0a#ifdef\x20RGBDREFLECTION\x0areflectionColor.rgb=fromRGBD(reflectionColor);\x0a#endif\x0a#ifdef\x20IS_REFLECTION_LINEAR\x0areflectionColor.rgb=toGammaSpace(reflectionColor.rgb);\x0a#endif\x0areflectionColor.rgb*=vReflectionInfos.x;\x0a#ifdef\x20REFLECTIONFRESNEL\x0afloat\x20reflectionFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,reflectionRightColor.a,reflectionLeftColor.a);\x0a#ifdef\x20REFLECTIONFRESNELFROMSPECULAR\x0a#ifdef\x20SPECULARTERM\x0areflectionColor.rgb*=specularColor.rgb*(1.0-reflectionFresnelTerm)+reflectionFresnelTerm*reflectionRightColor.rgb;\x0a#else\x0areflectionColor.rgb*=reflectionLeftColor.rgb*(1.0-reflectionFresnelTerm)+reflectionFresnelTerm*reflectionRightColor.rgb;\x0a#endif\x0a#else\x0areflectionColor.rgb*=reflectionLeftColor.rgb*(1.0-reflectionFresnelTerm)+reflectionFresnelTerm*reflectionRightColor.rgb;\x0a#endif\x0a#endif\x0a#endif\x0a#ifdef\x20REFRACTIONFRESNEL\x0afloat\x20refractionFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,refractionRightColor.a,refractionLeftColor.a);\x0arefractionColor.rgb*=refractionLeftColor.rgb*(1.0-refractionFresnelTerm)+refractionFresnelTerm*refractionRightColor.rgb;\x0a#endif\x0a#ifdef\x20OPACITY\x0avec4\x20opacityMap=texture2D(opacitySampler,vOpacityUV+uvOffset);\x0a#ifdef\x20OPACITYRGB\x0aopacityMap.rgb=opacityMap.rgb*vec3(0.3,0.59,0.11);\x0aalpha*=(opacityMap.x+opacityMap.y+opacityMap.z)*\x20vOpacityInfos.y;\x0a#else\x0aalpha*=opacityMap.a*vOpacityInfos.y;\x0a#endif\x0a#endif\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#ifdef\x20OPACITYFRESNEL\x0afloat\x20opacityFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,opacityParts.z,opacityParts.w);\x0aalpha+=opacityParts.x*(1.0-opacityFresnelTerm)+opacityFresnelTerm*opacityParts.y;\x0a#endif\x0a#ifdef\x20ALPHATEST\x0a#ifdef\x20ALPHATEST_AFTERALLALPHACOMPUTATIONS\x0aif\x20(alpha<alphaCutOff)\x0adiscard;\x0a#endif\x0a#ifndef\x20ALPHABLEND\x0aalpha=1.0;\x0a#endif\x0a#endif\x0avec3\x20emissiveColor=vEmissiveColor;\x0a#ifdef\x20EMISSIVE\x0aemissiveColor+=texture2D(emissiveSampler,vEmissiveUV+uvOffset).rgb*vEmissiveInfos.y;\x0a#endif\x0a#ifdef\x20EMISSIVEFRESNEL\x0afloat\x20emissiveFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,emissiveRightColor.a,emissiveLeftColor.a);\x0aemissiveColor*=emissiveLeftColor.rgb*(1.0-emissiveFresnelTerm)+emissiveFresnelTerm*emissiveRightColor.rgb;\x0a#endif\x0a#ifdef\x20DIFFUSEFRESNEL\x0afloat\x20diffuseFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,diffuseRightColor.a,diffuseLeftColor.a);\x0adiffuseBase*=diffuseLeftColor.rgb*(1.0-diffuseFresnelTerm)+diffuseFresnelTerm*diffuseRightColor.rgb;\x0a#endif\x0a#ifdef\x20EMISSIVEASILLUMINATION\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor+vAmbientColor,0.0,1.0)*baseColor.rgb;\x0a#else\x0a#ifdef\x20LINKEMISSIVEWITHDIFFUSE\x0avec3\x20finalDiffuse=clamp((diffuseBase+emissiveColor)*diffuseColor+vAmbientColor,0.0,1.0)*baseColor.rgb;\x0a#else\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor+emissiveColor+vAmbientColor,0.0,1.0)*baseColor.rgb;\x0a#endif\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20finalSpecular=specularBase*specularColor;\x0a#ifdef\x20SPECULAROVERALPHA\x0aalpha=clamp(alpha+dot(finalSpecular,vec3(0.3,0.59,0.11)),0.,1.);\x0a#endif\x0a#else\x0avec3\x20finalSpecular=vec3(0.0);\x0a#endif\x0a#ifdef\x20REFLECTIONOVERALPHA\x0aalpha=clamp(alpha+dot(reflectionColor.rgb,vec3(0.3,0.59,0.11)),0.,1.);\x0a#endif\x0a#ifdef\x20EMISSIVEASILLUMINATION\x0avec4\x20color=vec4(clamp(finalDiffuse*baseAmbientColor+finalSpecular+reflectionColor.rgb+emissiveColor+refractionColor.rgb,0.0,1.0),alpha);\x0a#else\x0avec4\x20color=vec4(finalDiffuse*baseAmbientColor+finalSpecular+reflectionColor.rgb+refractionColor.rgb,alpha);\x0a#endif\x0a#ifdef\x20LIGHTMAP\x0a#ifndef\x20LIGHTMAPEXCLUDED\x0a#ifdef\x20USELIGHTMAPASSHADOWMAP\x0acolor.rgb*=lightmapColor.rgb;\x0a#else\x0acolor.rgb+=lightmapColor.rgb;\x0a#endif\x0a#endif\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_FOG\x0acolor.rgb=max(color.rgb,0.);\x0a#include<logDepthFragment>\x0a#include<fogFragment>\x0a#ifdef\x20IMAGEPROCESSINGPOSTPROCESS\x0acolor.rgb=toLinearSpace(color.rgb);\x0a#else\x0a#ifdef\x20IMAGEPROCESSING\x0acolor.rgb=toLinearSpace(color.rgb);\x0acolor=applyImageProcessing(color);\x0a#endif\x0a#endif\x0acolor.a*=visibility;\x0a#ifdef\x20PREMULTIPLYALPHA\x0acolor.rgb*=color.a;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_FRAGCOLOR\x0a#ifdef\x20PREPASS\x0afloat\x20writeGeometryInfo=color.a>0.4\x20?\x201.0\x20:\x200.0;\x0agl_FragData[0]=color;\x20\x0a#ifdef\x20PREPASS_POSITION\x0agl_FragData[PREPASS_POSITION_INDEX]=vec4(vPositionW,writeGeometryInfo);\x0a#endif\x0a#ifdef\x20PREPASS_VELOCITY\x0avec2\x20a=(vCurrentPosition.xy/vCurrentPosition.w)*0.5+0.5;\x0avec2\x20b=(vPreviousPosition.xy/vPreviousPosition.w)*0.5+0.5;\x0avec2\x20velocity=abs(a-b);\x0avelocity=vec2(pow(velocity.x,1.0/3.0),pow(velocity.y,1.0/3.0))*sign(a-b)*0.5+0.5;\x0agl_FragData[PREPASS_VELOCITY_INDEX]=vec4(velocity,0.0,writeGeometryInfo);\x0a#endif\x0a#ifdef\x20PREPASS_IRRADIANCE\x0agl_FragData[PREPASS_IRRADIANCE_INDEX]=vec4(0.0,0.0,0.0,writeGeometryInfo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_DEPTH\x0agl_FragData[PREPASS_DEPTH_INDEX]=vec4(vViewPos.z,0.0,0.0,writeGeometryInfo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_NORMAL\x0agl_FragData[PREPASS_NORMAL_INDEX]=vec4(normalize((view*vec4(normalW,0.0)).rgb),writeGeometryInfo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_ALBEDO_SQRT\x0agl_FragData[PREPASS_ALBEDO_SQRT_INDEX]=vec4(0.0,0.0,0.0,writeGeometryInfo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_REFLECTIVITY\x0a#if\x20defined(SPECULARTERM)\x0a#if\x20defined(SPECULAR)\x0agl_FragData[PREPASS_REFLECTIVITY_INDEX]=vec4(toLinearSpace(specularMapColor))*writeGeometryInfo;\x20\x0a#else\x0agl_FragData[PREPASS_REFLECTIVITY_INDEX]=vec4(toLinearSpace(specularColor),1.0)*writeGeometryInfo;\x0a#endif\x0a#else\x0agl_FragData[PREPASS_REFLECTIVITY_INDEX]=vec4(0.0,0.0,0.0,1.0)*writeGeometryInfo;\x0a#endif\x0a#endif\x0a#endif\x0a#if\x20!defined(PREPASS)\x20||\x20defined(WEBGL2)\x0agl_FragColor=color;\x0a#endif\x0a#include<oitFragment>\x0a#if\x20ORDER_INDEPENDENT_TRANSPARENCY\x0aif\x20(fragDepth==nearestDepth)\x20{\x0afrontColor.rgb+=color.rgb*color.a*alphaMultiplier;\x0afrontColor.a=1.0-alphaMultiplier*(1.0-color.a);\x0a}\x20else\x20{\x0abackColor+=color;\x0a}\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','_mesh','filterPixelShader','getMappedRange','gridPixelShader','_projectOnUnIndexedTrianglesToRef','_reflectionSizeName','shadowsFragmentFunctions','pick','SetImmediate','direction1','TEXTUREFORMAT_ALPHA\x20format\x20not\x20supported\x20in\x20WebGPU','name','_getInternalFormat','sqrt','ref','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20','beginRenderPass','TEXTURE_MAG_FILTER','passCubePixelShader','readTwoValuesAndSubtract','#ifdef\x20SHEEN\x0astruct\x20sheenOutParams\x0a{\x0afloat\x20sheenIntensity;\x0avec3\x20sheenColor;\x0afloat\x20sheenRoughness;\x0a#ifdef\x20SHEEN_LINKWITHALBEDO\x0avec3\x20surfaceAlbedo;\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(SHEEN_ALBEDOSCALING)\x0afloat\x20sheenAlbedoScaling;\x0a#endif\x0a#if\x20defined(REFLECTION)\x20&&\x20defined(ENVIRONMENTBRDF)\x0avec3\x20finalSheenRadianceScaled;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0avec4\x20sheenMapData;\x0avec3\x20sheenEnvironmentReflectance;\x0a#endif\x0a};\x0a#define\x20pbr_inline\x0a#define\x20inline\x0avoid\x20sheenBlock(\x0ain\x20vec4\x20vSheenColor,\x0a#ifdef\x20SHEEN_ROUGHNESS\x0ain\x20float\x20vSheenRoughness,\x0a#if\x20defined(SHEEN_TEXTURE_ROUGHNESS)\x20&&\x20!defined(SHEEN_TEXTURE_ROUGHNESS_IDENTICAL)\x20&&\x20!defined(SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE)\x0ain\x20vec4\x20sheenMapRoughnessData,\x0a#endif\x0a#endif\x0ain\x20float\x20roughness,\x0a#ifdef\x20SHEEN_TEXTURE\x0ain\x20vec4\x20sheenMapData,\x0ain\x20float\x20sheenMapLevel,\x0a#endif\x0ain\x20float\x20reflectance,\x0a#ifdef\x20SHEEN_LINKWITHALBEDO\x0ain\x20vec3\x20baseColor,\x0ain\x20vec3\x20surfaceAlbedo,\x0a#endif\x0a#ifdef\x20ENVIRONMENTBRDF\x0ain\x20float\x20NdotV,\x0ain\x20vec3\x20environmentBrdf,\x0a#endif\x0a#if\x20defined(REFLECTION)\x20&&\x20defined(ENVIRONMENTBRDF)\x0ain\x20vec2\x20AARoughnessFactors,\x0ain\x20vec3\x20vReflectionMicrosurfaceInfos,\x0ain\x20vec2\x20vReflectionInfos,\x0ain\x20vec3\x20vReflectionColor,\x0ain\x20vec4\x20vLightingIntensity,\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSampler,\x0ain\x20vec3\x20reflectionCoords,\x0a#else\x0ain\x20sampler2D\x20reflectionSampler,\x0ain\x20vec2\x20reflectionCoords,\x0a#endif\x0ain\x20float\x20NdotVUnclamped,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSamplerLow,\x0ain\x20samplerCube\x20reflectionSamplerHigh,\x0a#else\x0ain\x20sampler2D\x20reflectionSamplerLow,\x0ain\x20sampler2D\x20reflectionSamplerHigh,\x0a#endif\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0ain\x20vec2\x20vReflectionFilteringInfo,\x0a#endif\x0a#if\x20!defined(REFLECTIONMAP_SKYBOX)\x20&&\x20defined(RADIANCEOCCLUSION)\x0ain\x20float\x20seo,\x0a#endif\x0a#if\x20!defined(REFLECTIONMAP_SKYBOX)\x20&&\x20defined(HORIZONOCCLUSION)\x20&&\x20defined(BUMP)\x20&&\x20defined(REFLECTIONMAP_3D)\x0ain\x20float\x20eho,\x0a#endif\x0a#endif\x0aout\x20sheenOutParams\x20outParams\x0a)\x0a{\x0afloat\x20sheenIntensity=vSheenColor.a;\x0a#ifdef\x20SHEEN_TEXTURE\x0a#if\x20DEBUGMODE>0\x0aoutParams.sheenMapData=sheenMapData;\x0a#endif\x0a#endif\x0a#ifdef\x20SHEEN_LINKWITHALBEDO\x0afloat\x20sheenFactor=pow5(1.0-sheenIntensity);\x0avec3\x20sheenColor=baseColor.rgb*(1.0-sheenFactor);\x0afloat\x20sheenRoughness=sheenIntensity;\x0aoutParams.surfaceAlbedo=surfaceAlbedo*sheenFactor;\x0a#ifdef\x20SHEEN_TEXTURE\x0asheenIntensity*=sheenMapData.a;\x0a#endif\x0a#else\x0avec3\x20sheenColor=vSheenColor.rgb;\x0a#ifdef\x20SHEEN_TEXTURE\x0a#ifdef\x20SHEEN_GAMMATEXTURE\x0asheenColor.rgb*=toLinearSpace(sheenMapData.rgb);\x0a#else\x0asheenColor.rgb*=sheenMapData.rgb;\x0a#endif\x0asheenColor.rgb*=sheenMapLevel;\x0a#endif\x0a#ifdef\x20SHEEN_ROUGHNESS\x0afloat\x20sheenRoughness=vSheenRoughness;\x0a#ifdef\x20SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE\x0a#if\x20defined(SHEEN_TEXTURE)\x0asheenRoughness*=sheenMapData.a;\x0a#endif\x0a#elif\x20defined(SHEEN_TEXTURE_ROUGHNESS)\x0a#ifdef\x20SHEEN_TEXTURE_ROUGHNESS_IDENTICAL\x0asheenRoughness*=sheenMapData.a;\x0a#else\x0asheenRoughness*=sheenMapRoughnessData.a;\x0a#endif\x0a#endif\x0a#else\x0afloat\x20sheenRoughness=roughness;\x0a#ifdef\x20SHEEN_TEXTURE\x0asheenIntensity*=sheenMapData.a;\x0a#endif\x0a#endif\x0a#if\x20!defined(SHEEN_ALBEDOSCALING)\x0asheenIntensity*=(1.-reflectance);\x0a#endif\x0asheenColor*=sheenIntensity;\x0a#endif\x0a#ifdef\x20ENVIRONMENTBRDF\x0a/*#ifdef\x20SHEEN_SOFTER\x0avec3\x20environmentSheenBrdf=vec3(0.,0.,getBRDFLookupCharlieSheen(NdotV,sheenRoughness));\x0a#else*/\x0a#ifdef\x20SHEEN_ROUGHNESS\x0avec3\x20environmentSheenBrdf=getBRDFLookup(NdotV,sheenRoughness);\x0a#else\x0avec3\x20environmentSheenBrdf=environmentBrdf;\x0a#endif\x0a/*#endif*/\x0a#endif\x0a#if\x20defined(REFLECTION)\x20&&\x20defined(ENVIRONMENTBRDF)\x0afloat\x20sheenAlphaG=convertRoughnessToAverageSlope(sheenRoughness);\x0a#ifdef\x20SPECULARAA\x0asheenAlphaG+=AARoughnessFactors.y;\x0a#endif\x0avec4\x20environmentSheenRadiance=vec4(0.,0.,0.,0.);\x0asampleReflectionTexture(\x0asheenAlphaG,\x0avReflectionMicrosurfaceInfos,\x0avReflectionInfos,\x0avReflectionColor,\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0aNdotVUnclamped,\x0a#endif\x0a#ifdef\x20LINEARSPECULARREFLECTION\x0asheenRoughness,\x0a#endif\x0areflectionSampler,\x0areflectionCoords,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0areflectionSamplerLow,\x0areflectionSamplerHigh,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0avReflectionFilteringInfo,\x0a#endif\x0aenvironmentSheenRadiance\x0a);\x0avec3\x20sheenEnvironmentReflectance=getSheenReflectanceFromBRDFLookup(sheenColor,environmentSheenBrdf);\x0a#if\x20!defined(REFLECTIONMAP_SKYBOX)\x20&&\x20defined(RADIANCEOCCLUSION)\x0asheenEnvironmentReflectance*=seo;\x0a#endif\x0a#if\x20!defined(REFLECTIONMAP_SKYBOX)\x20&&\x20defined(HORIZONOCCLUSION)\x20&&\x20defined(BUMP)\x20&&\x20defined(REFLECTIONMAP_3D)\x0asheenEnvironmentReflectance*=eho;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0aoutParams.sheenEnvironmentReflectance=sheenEnvironmentReflectance;\x0a#endif\x0aoutParams.finalSheenRadianceScaled=\x0aenvironmentSheenRadiance.rgb\x20*\x0asheenEnvironmentReflectance\x20*\x0avLightingIntensity.z;\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(SHEEN_ALBEDOSCALING)\x0aoutParams.sheenAlbedoScaling=1.0-sheenIntensity*max(max(sheenColor.r,sheenColor.g),sheenColor.b)*environmentSheenBrdf.b;\x0a#endif\x0aoutParams.sheenIntensity=sheenIntensity;\x0aoutParams.sheenColor=sheenColor;\x0aoutParams.sheenRoughness=sheenRoughness;\x0a}\x0a#endif\x0a','SHADER\x20ERROR','vEyePosition','setAlphaBlendConstants','_setInitialTarget','isVRPresenting','defaultVertexShader','underlyingResource','TEXTURE_LINEAR_LINEAR_MIPLINEAR','clipPlaneVertexDeclaration2','markAsProcessed','_useMultiviewToSingleView','isArray','onLoadErrorObservable','ASTC4x4UnormSRGB','_deferredReleaseTextures','_time','screenSpaceReflections','ONE','_mipmapGenBindGroup','varyingVertexKeywordName','KEYDOWN','FIXED_EQUIRECTANGULAR_MIRRORED_MODE','pushDebugGroup','getAlphaMode','_generateDepthBuffer','_nativeTexture','E2d','_generateLeftOverUBOCode','world','uniform\x20sampler2D\x20','_setReady','UNPACK_PREMULTIPLY_ALPHA_WEBGL','_areLightsDirty','_keyTemp','updateInt','texelSize','#if\x20!defined(UV{X})\x20&&\x20defined(MAINUV{X})\x0avec2\x20uv{X}=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20MAINUV{X}\x0avMainUV{X}=uv{X};\x0a#endif\x0a','previousWorld','REFLECTIONMAP_EQUIRECTANGULAR','getPluginVersion','TEXTURETYPE_UNSIGNED_SHORT_4_4_4_4\x20format\x20not\x20supported\x20in\x20WebGPU','toArray','uniqueId','BACKSIDE','_updatePointerPosition','alphaBlend','_bindTextureRenderTarget','_MSAAFramebuffer','BC2RGBAUnormSRGB','];\x0a','_cascadeLoadFiles','WebGPUComputeContext.getBindGroups:\x20bindingsMapping\x20is\x20required\x20until\x20browsers\x20support\x20reflection\x20for\x20wgsl\x20shaders!','texture(','_depthStencilBuffer','GetDepthFormatOnly','#ifdef\x20_DEFINENAME_\x0a#if\x20_DEFINENAME_DIRECTUV==1\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV1\x0a#elif\x20_DEFINENAME_DIRECTUV==2\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV2\x0a#elif\x20_DEFINENAME_DIRECTUV==3\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV3\x0a#elif\x20_DEFINENAME_DIRECTUV==4\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV4\x0a#elif\x20_DEFINENAME_DIRECTUV==5\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV5\x0a#elif\x20_DEFINENAME_DIRECTUV==6\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV6\x0a#else\x0avarying\x20vec2\x20v_VARYINGNAME_UV;\x0a#endif\x0a#endif\x0a','\x20{\x0afloat\x20yFactor_;\x0afloat\x20textureOutputHeight_;\x0a};\x0a','EACR11Snorm','_registeredActions','maxSamples','worldDirection','Initialize','join','updateDynamicIndexBuffer','[$1].el','gpuUpdateParticlesVertexShader','thinInstanceBufferUpdated','fragment','struct\x20FragmentOutputs\x20{\x0a\x20\x20@location(0)\x20color\x20:\x20vec4<f32>,\x0a','generateMipMaps','creationFlags','createRawTexture','cameraWorldPosition','minimizeInPlace','diffuseSampler','videoWidth','customizeMaterialCount','originMesh','terrainVertexShader','MODE_SIDEBYSIDE','_createInternalTexture','blurNumIterations','_readTexturePixelsSync\x20is\x20unsupported\x20in\x20WebGPU!','varying\x20vec2\x20sampleCoord{X};','BC1RGBAUnormSRGB','_defineSkyboxName','gpuRenderParticlesVertexShader','onPrePointerObservable','removeAttributes','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20float\x20motionStrength;\x0auniform\x20float\x20motionScale;\x0auniform\x20vec2\x20screenSize;\x0a#ifdef\x20OBJECT_BASED\x0auniform\x20sampler2D\x20velocitySampler;\x0a#else\x0auniform\x20sampler2D\x20depthSampler;\x0auniform\x20mat4\x20inverseViewProjection;\x0auniform\x20mat4\x20prevViewProjection;\x0auniform\x20mat4\x20projection;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#ifdef\x20GEOMETRY_SUPPORTED\x0a#ifdef\x20OBJECT_BASED\x0avec2\x20texelSize=1.0/screenSize;\x0avec4\x20velocityColor=texture2D(velocitySampler,vUV);\x0avelocityColor.rg=velocityColor.rg*2.0-vec2(1.0);\x0avec2\x20velocity=vec2(pow(velocityColor.r,3.0),pow(velocityColor.g,3.0))*velocityColor.a;\x0avelocity*=motionScale*motionStrength;\x0afloat\x20speed=length(velocity/texelSize);\x0aint\x20samplesCount=int(clamp(speed,1.0,SAMPLES));\x0avelocity=normalize(velocity)*texelSize;\x0afloat\x20hlim=float(-samplesCount)*0.5+0.5;\x0avec4\x20result=texture2D(textureSampler,vUV);\x0afor\x20(int\x20i=1;\x20i<int(SAMPLES);\x20++i)\x0a{\x0aif\x20(i>=samplesCount)\x0abreak;\x0avec2\x20offset=vUV+velocity*(hlim+float(i));\x0a#if\x20defined(WEBGPU)\x0aresult+=texture2DLodEXT(textureSampler,offset,0.0);\x0a#else\x0aresult+=texture2D(textureSampler,offset);\x0a#endif\x0a}\x0agl_FragColor=result/float(samplesCount);\x0agl_FragColor.a=1.0;\x0a#else\x0avec2\x20texelSize=1.0/screenSize;\x0afloat\x20depth=texture2D(depthSampler,vUV).r;\x0adepth=projection[2].z+projection[3].z/depth;\x20\x0avec4\x20cpos=vec4(vUV*2.0-1.0,depth,1.0);\x0acpos=inverseViewProjection*cpos;\x0acpos/=cpos.w;\x0avec4\x20ppos=prevViewProjection*cpos;\x0appos/=ppos.w;\x0appos.xy=ppos.xy*0.5+0.5;\x0avec2\x20velocity=(ppos.xy-vUV)*motionScale*motionStrength;\x0afloat\x20speed=length(velocity/texelSize);\x0aint\x20nSamples=int(clamp(speed,1.0,SAMPLES));\x0avec4\x20result=texture2D(textureSampler,vUV);\x0afor\x20(int\x20i=1;\x20i<int(SAMPLES);\x20++i)\x20{\x0aif\x20(i>=nSamples)\x0abreak;\x0avec2\x20offset1=vUV+velocity*(float(i)/float(nSamples-1)-0.5);\x0a#if\x20defined(WEBGPU)\x0aresult+=texture2DLodEXT(textureSampler,offset1,0.0);\x0a#else\x0aresult+=texture2D(textureSampler,offset1);\x0a#endif\x0a}\x0agl_FragColor=result/float(nSamples);\x0a#endif\x0a#else\x0agl_FragColor=texture2D(textureSampler,vUV);\x0a#endif\x0a}\x0a','externalTexture','_mipmapSampler','setCullEnabled','ASTC6x6Unorm','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20LensCenter;\x0auniform\x20vec2\x20Scale;\x0auniform\x20vec2\x20ScaleIn;\x0auniform\x20vec4\x20HmdWarpParam;\x0avec2\x20HmdWarp(vec2\x20in01)\x20{\x0avec2\x20theta=(in01-LensCenter)*ScaleIn;\x20\x0afloat\x20rSq=theta.x*theta.x+theta.y*theta.y;\x0avec2\x20rvector=theta*(HmdWarpParam.x+HmdWarpParam.y*rSq+HmdWarpParam.z*rSq*rSq+HmdWarpParam.w*rSq*rSq*rSq);\x0areturn\x20LensCenter+Scale*rvector;\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec2\x20tc=HmdWarp(vUV);\x0aif\x20(tc.x\x20<0.0\x20||\x20tc.x>1.0\x20||\x20tc.y<0.0\x20||\x20tc.y>1.0)\x0agl_FragColor=vec4(0.0,0.0,0.0,0.0);\x0aelse{\x0agl_FragColor=texture2D(textureSampler,tc);\x0a}\x0a}','_renderTarget','uniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0auniform\x20float\x20shadowLevel;\x0a#ifdef\x20DIFFUSE\x0auniform\x20mat4\x20diffuseMatrix;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20REFLECTION\x0auniform\x20vec2\x20vReflectionInfos;\x0auniform\x20mat4\x20reflectionMatrix;\x0auniform\x20vec3\x20vReflectionMicrosurfaceInfos;\x0auniform\x20float\x20fFovMultiplier;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0a','\x0d\x0a#endif','isTrue','#ifndef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0a#if\x20NUM_BONE_INFLUENCERS>0\x0amat4\x20influence;\x0a#ifdef\x20BONETEXTURE\x0ainfluence=readMatrixFromRawSampler(boneSampler,matricesIndices[0])*matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0ainfluence+=readMatrixFromRawSampler(boneSampler,matricesIndices[1])*matricesWeights[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0ainfluence+=readMatrixFromRawSampler(boneSampler,matricesIndices[2])*matricesWeights[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0ainfluence+=readMatrixFromRawSampler(boneSampler,matricesIndices[3])*matricesWeights[3];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0ainfluence+=readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[0])*matricesWeightsExtra[0];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0ainfluence+=readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[1])*matricesWeightsExtra[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0ainfluence+=readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[2])*matricesWeightsExtra[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0ainfluence+=readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[3])*matricesWeightsExtra[3];\x0a#endif\x0a#else\x0ainfluence=mBones[int(matricesIndices[0])]*matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0ainfluence+=mBones[int(matricesIndices[1])]*matricesWeights[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0ainfluence+=mBones[int(matricesIndices[2])]*matricesWeights[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0ainfluence+=mBones[int(matricesIndices[3])]*matricesWeights[3];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0ainfluence+=mBones[int(matricesIndicesExtra[0])]*matricesWeightsExtra[0];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0ainfluence+=mBones[int(matricesIndicesExtra[1])]*matricesWeightsExtra[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0ainfluence+=mBones[int(matricesIndicesExtra[2])]*matricesWeightsExtra[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0ainfluence+=mBones[int(matricesIndicesExtra[3])]*matricesWeightsExtra[3];\x0a#endif\x0a#endif\x0afinalWorld=finalWorld*influence;\x0a#endif\x0a#endif\x0a','TEXTUREFORMAT_DEPTH16','applyBlurPostProcesses','deleteFramebuffer','attachControl','exitPointerLock','\x20\x20vertexOutputs.position.y\x20=\x20vertexOutputs.position.y\x20*\x20internals.yFactor_;\x0a\x20\x20return\x20vertexOutputs;','defaultUboDeclaration','ALPHA_ADD','precision\x20highp\x20float;attribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;uniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vTextureUV;uniform\x20mat4\x20textureMatrix;uniform\x20vec2\x20vTextureInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);gl_Position=viewProjection*worldPos;vPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0aif\x20(vTextureInfos.x==0.)\x0a{vTextureUV=vec2(textureMatrix*vec4(uv,1.0,0.0));}\x0aelse\x0a{vTextureUV=vec2(textureMatrix*vec4(uv2,1.0,0.0));}\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','physicsBody','_KnownUBOs','getUniform','R8Sint','fogVertexDeclaration','gl_FragDepth','sampler3D','ALPHA_EXCLUSION','_onGenerateOnlyFragmentCodeChanged','resetTextureCache','\x0a\x20\x20\x20\x20#extension\x20GL_EXT_samplerless_texture_functions\x20:\x20enable\x0a\x0a\x20\x20\x20\x20layout(set\x20=\x200,\x20binding\x20=\x200)\x20uniform\x20texture2D\x20img;\x0a\x20\x20\x20\x20layout(set\x20=\x200,\x20binding\x20=\x201)\x20uniform\x20Params\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20ofstX;\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20ofstY;\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20width;\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20height;\x0a\x20\x20\x20\x20};\x0a\x0a\x20\x20\x20\x20#ifdef\x20INVERTY\x0a\x20\x20\x20\x20\x20\x20\x20\x20layout(location\x20=\x200)\x20in\x20flat\x20ivec2\x20vTextureSize;\x0a\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20layout(location\x20=\x200)\x20out\x20vec4\x20outColor;\x0a\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(gl_FragCoord.x\x20<\x20ofstX\x20||\x20gl_FragCoord.x\x20>=\x20ofstX\x20+\x20width)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(gl_FragCoord.y\x20<\x20ofstY\x20||\x20gl_FragCoord.y\x20>=\x20ofstY\x20+\x20height)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20#ifdef\x20INVERTY\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20color\x20=\x20texelFetch(img,\x20ivec2(gl_FragCoord.x,\x20ofstY\x20+\x20height\x20-\x20(gl_FragCoord.y\x20-\x20ofstY)),\x200);\x0a\x20\x20\x20\x20#else\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20color\x20=\x20texelFetch(img,\x20ivec2(gl_FragCoord.xy),\x200);\x0a\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20#ifdef\x20PREMULTIPLYALPHA\x0a\x20\x20\x20\x20\x20\x20\x20\x20color.rgb\x20*=\x20color.a;\x0a\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20outColor\x20=\x20color;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','POINTERDOUBLETAP','_getArraySize','pop','replaceStrings',';\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20','DEPTH_ATTACHMENT','\x5c$&','emitFromSpawnPointOnly','createBindGroup','reflectionMatrix','shadowMapUboDeclaration','numDrawCalls','restoreSingleAttachmentForRenderTarget','mainUVVaryingDeclaration','ReadOnlyStorage','button','Depth24PlusStencil8','InvertYPremultiplyAlphaWithOfst','_internalTextureDirty','getCaps','maxTextureSize','_uploadEncoder','boundingBoxSize','_alreadyAttached','\x20:\x20array<','timeoutId','#define\x20FOG','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20screenSize;\x0auniform\x20vec2\x20direction;\x0auniform\x20float\x20blurWidth;\x0afloat\x20getLuminance(vec3\x20color)\x0a{\x0areturn\x20dot(color,vec3(0.2126,0.7152,0.0722));\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0afloat\x20weights[7];\x0aweights[0]=0.05;\x0aweights[1]=0.1;\x0aweights[2]=0.2;\x0aweights[3]=0.3;\x0aweights[4]=0.2;\x0aweights[5]=0.1;\x0aweights[6]=0.05;\x0avec2\x20texelSize=vec2(1.0/screenSize.x,1.0/screenSize.y);\x0avec2\x20texelStep=texelSize*direction*blurWidth;\x0avec2\x20start=vUV-3.0*texelStep;\x0avec4\x20baseColor=vec4(0.,0.,0.,0.);\x0avec2\x20texelOffset=vec2(0.,0.);\x0afor\x20(int\x20i=0;\x20i<7;\x20i++)\x0a{\x0avec4\x20texel=texture2D(textureSampler,start+texelOffset);\x0abaseColor.a+=texel.a*weights[i];\x0afloat\x20luminance=getLuminance(baseColor.rgb);\x0afloat\x20luminanceTexel=getLuminance(texel.rgb);\x0afloat\x20choice=step(luminanceTexel,luminance);\x0abaseColor.rgb=choice*baseColor.rgb+(1.0-choice)*texel.rgb;\x0atexelOffset+=texelStep;\x0a}\x0agl_FragColor=baseColor;\x0a}','numBoneInfluencers','samplerFragmentDeclaration','unshift','read_write','#if\x20defined(BUMP)\x20||\x20defined(PARALLAX)\x20||\x20defined(CLEARCOAT_BUMP)\x20||\x20defined(ANISOTROPIC)\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x20\x0avarying\x20mat3\x20vTBN;\x0a#endif\x0a#endif\x0a','updateEffect','_ssDiffusionS','hashCode','struct\x20VertexInputs\x20{\x0a\x20\x20@builtin(vertex_index)\x20vertexIndex\x20:\x20u32,\x0a\x20\x20@builtin(instance_index)\x20instanceIndex\x20:\x20u32,\x0a','_disableEffect','depthRTWrapper','_IsGPUBuffer','generateDepthBuffer','/*\x20disable_uniformity_analysis\x20*/\x0a#define\x20IOR\x201.333\x0a#define\x20ETA\x201.0/IOR\x0a#define\x20F0\x200.02\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20depthSampler;\x0a#ifdef\x20FLUIDRENDERING_DIFFUSETEXTURE\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#else\x0auniform\x20vec3\x20diffuseColor;\x0a#endif\x0a#ifdef\x20FLUIDRENDERING_FIXED_THICKNESS\x0auniform\x20float\x20thickness;\x0auniform\x20sampler2D\x20bgDepthSampler;\x0a#else\x0auniform\x20float\x20minimumThickness;\x0auniform\x20sampler2D\x20thicknessSampler;\x0a#endif\x0a#ifdef\x20FLUIDRENDERING_ENVIRONMENT\x0auniform\x20samplerCube\x20reflectionSampler;\x0a#endif\x0a#if\x20defined(FLUIDRENDERING_DEBUG)\x20&&\x20defined(FLUIDRENDERING_DEBUG_TEXTURE)\x0auniform\x20sampler2D\x20debugSampler;\x0a#endif\x0auniform\x20mat4\x20viewMatrix;\x0auniform\x20mat4\x20projectionMatrix;\x0auniform\x20mat4\x20invProjectionMatrix;\x0auniform\x20vec2\x20texelSize;\x0auniform\x20vec3\x20dirLight;\x0auniform\x20float\x20cameraFar;\x0auniform\x20float\x20density;\x0auniform\x20float\x20refractionStrength;\x0auniform\x20float\x20fresnelClamp;\x0auniform\x20float\x20specularPower;\x0avarying\x20vec2\x20vUV;\x0avec3\x20computeViewPosFromUVDepth(vec2\x20texCoord,float\x20depth)\x20{\x0avec4\x20ndc;\x0andc.xy=texCoord*2.0-1.0;\x0a#ifdef\x20FLUIDRENDERING_RHS\x0andc.z=-projectionMatrix[2].z+projectionMatrix[3].z/depth;\x0a#else\x0andc.z=projectionMatrix[2].z+projectionMatrix[3].z/depth;\x0a#endif\x0andc.w=1.0;\x0avec4\x20eyePos=invProjectionMatrix*ndc;\x0aeyePos.xyz/=eyePos.w;\x0areturn\x20eyePos.xyz;\x0a}\x0avec3\x20getViewPosFromTexCoord(vec2\x20texCoord)\x20{\x0afloat\x20depth=textureLod(depthSampler,texCoord,0.).x;\x0areturn\x20computeViewPosFromUVDepth(texCoord,depth);\x0a}\x0avoid\x20main(void)\x20{\x0avec2\x20texCoord=vUV;\x0a#if\x20defined(FLUIDRENDERING_DEBUG)\x20&&\x20defined(FLUIDRENDERING_DEBUG_TEXTURE)\x0avec4\x20color=texture2D(debugSampler,texCoord);\x0a#ifdef\x20FLUIDRENDERING_DEBUG_DEPTH\x0aglFragColor=vec4(color.rgb/vec3(2.0),1.);\x0aif\x20(color.r>0.999\x20&&\x20color.g>0.999)\x20{\x0aglFragColor=texture2D(textureSampler,texCoord);\x0a}\x0a#else\x0aglFragColor=vec4(color.rgb,1.);\x0aif\x20(color.r<0.001\x20&&\x20color.g<0.001\x20&&\x20color.b<0.001)\x20{\x0aglFragColor=texture2D(textureSampler,texCoord);\x0a}\x0a#endif\x0areturn;\x0a#endif\x0avec2\x20depthVel=textureLod(depthSampler,texCoord,0.).rg;\x0afloat\x20depth=depthVel.r;\x0a#ifndef\x20FLUIDRENDERING_FIXED_THICKNESS\x0afloat\x20thickness=texture2D(thicknessSampler,texCoord).x;\x0a#else\x0afloat\x20bgDepth=texture2D(bgDepthSampler,texCoord).x;\x0afloat\x20depthNonLinear=projectionMatrix[2].z+projectionMatrix[3].z/depth;\x0adepthNonLinear=depthNonLinear*0.5+0.5;\x0a#endif\x0avec4\x20backColor=texture2D(textureSampler,texCoord);\x0a#ifndef\x20FLUIDRENDERING_FIXED_THICKNESS\x0aif\x20(depth>=cameraFar\x20||\x20depth<=0.\x20||\x20thickness<=minimumThickness)\x20{\x0a#else\x0aif\x20(depth>=cameraFar\x20||\x20depth<=0.\x20||\x20bgDepth<=depthNonLinear)\x20{\x0a#endif\x0aglFragColor=backColor;\x0areturn;\x0a}\x0avec3\x20viewPos=computeViewPosFromUVDepth(texCoord,depth);\x0avec3\x20ddx=getViewPosFromTexCoord(texCoord+vec2(texelSize.x,0.))-viewPos;\x0avec3\x20ddy=getViewPosFromTexCoord(texCoord+vec2(0.,texelSize.y))-viewPos;\x0avec3\x20ddx2=viewPos-getViewPosFromTexCoord(texCoord+vec2(-texelSize.x,0.));\x0aif\x20(abs(ddx.z)>abs(ddx2.z))\x20{\x0addx=ddx2;\x0a}\x0avec3\x20ddy2=viewPos-getViewPosFromTexCoord(texCoord+vec2(0.,-texelSize.y));\x0aif\x20(abs(ddy.z)>abs(ddy2.z))\x20{\x0addy=ddy2;\x0a}\x0avec3\x20normal=normalize(cross(ddy,ddx));\x0a#ifdef\x20FLUIDRENDERING_RHS\x0anormal=-normal;\x0a#endif\x0a#ifndef\x20WEBGPU\x0aif(isnan(normal.x)\x20||\x20isnan(normal.y)\x20||\x20isnan(normal.z)\x20||\x20isinf(normal.x)\x20||\x20isinf(normal.y)\x20||\x20isinf(normal.z))\x20{\x0anormal=vec3(0.,0.,-1.);\x0a}\x0a#endif\x0a#if\x20defined(FLUIDRENDERING_DEBUG)\x20&&\x20defined(FLUIDRENDERING_DEBUG_SHOWNORMAL)\x0aglFragColor=vec4(normal*0.5+0.5,1.0);\x0areturn;\x0a#endif\x0avec3\x20rayDir=normalize(viewPos);\x20\x0a#ifdef\x20FLUIDRENDERING_DIFFUSETEXTURE\x0avec3\x20diffuseColor=textureLod(diffuseSampler,texCoord,0.0).rgb;\x0a#endif\x0avec3\x20lightDir=normalize(vec3(viewMatrix*vec4(-dirLight,0.)));\x0avec3\x20H\x20=normalize(lightDir-rayDir);\x0afloat\x20specular=pow(max(0.0,dot(H,normal)),specularPower);\x0a#ifdef\x20FLUIDRENDERING_DEBUG_DIFFUSERENDERING\x0afloat\x20diffuse\x20=max(0.0,dot(lightDir,normal))*1.0;\x0aglFragColor=vec4(vec3(0.1)\x20/*ambient*/+vec3(0.42,0.50,1.00)*diffuse+vec3(0,0,0.2)+specular,1.);\x0areturn;\x0a#endif\x0avec3\x20refractionDir=refract(rayDir,normal,ETA);\x0avec4\x20transmitted=textureLod(textureSampler,vec2(texCoord+refractionDir.xy*thickness*refractionStrength),0.0);\x0avec3\x20transmittance=exp(-density*thickness*(1.0-diffuseColor));\x20\x0avec3\x20refractionColor=transmitted.rgb*transmittance;\x0a#ifdef\x20FLUIDRENDERING_ENVIRONMENT\x0avec3\x20reflectionDir=reflect(rayDir,normal);\x0avec3\x20reflectionColor=(textureCube(reflectionSampler,reflectionDir).rgb);\x0afloat\x20fresnel=clamp(F0+(1.0-F0)*pow(1.0-dot(normal,-rayDir),5.0),0.,fresnelClamp);\x0avec3\x20finalColor=mix(refractionColor,reflectionColor,fresnel)+specular;\x0a#else\x0avec3\x20finalColor=refractionColor+specular;\x0a#endif\x0a#ifdef\x20FLUIDRENDERING_VELOCITY\x0afloat\x20velocity=depthVel.g;\x0afinalColor=mix(finalColor,vec3(1.0),smoothstep(0.3,1.0,velocity/6.0));\x0a#endif\x0aglFragColor=vec4(finalColor,transmitted.a);\x0a}\x0a','GL_ALPHA_EQUATION_MIN','particleSystems','defines','doNotSyncBoundingInfo','_previousPickResult','#include<helperFunctions>\x0auniform\x20sampler2D\x20textureSampler;\x20\x0auniform\x20float\x20intensity;\x0auniform\x20float\x20animatedSeed;\x0avarying\x20vec2\x20vUV;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0agl_FragColor=texture2D(textureSampler,vUV);\x0avec2\x20seed=vUV*(animatedSeed);\x0afloat\x20grain=dither(seed,intensity);\x0afloat\x20lum=getLuminance(gl_FragColor.rgb);\x0afloat\x20grainAmount=(cos(-PI+(lum*PI*2.))+1.)/2.;\x0agl_FragColor.rgb+=grain*grainAmount;\x0agl_FragColor.rgb=max(gl_FragColor.rgb,0.0);\x0a}','_attributeNextLocation','_querySet','modelDataLength','screenSpaceRayTrace','fxaaPixelShader','gpuFrameTimeCounter','endOfUniformBufferProcessor','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec4\x20color;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0avec4\x20baseColor=texture2D(textureSampler,vUV);\x0agl_FragColor=baseColor*color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','pickWorldPosition','_vrSupported','postProcessManager','baseHeight','RGB','setArray4','_physicsImpostor','_ySize','_rtBlur','_generateMipmaps','hasPointerTriggers','_getFragmentShaderCode','attribute\x20vec3\x20position;\x0aattribute\x20vec3\x20normal;\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#include<clipPlaneVertexDeclaration>\x0auniform\x20float\x20offset;\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20ALPHATEST\x0avarying\x20vec2\x20vUV;\x0auniform\x20mat4\x20diffuseMatrix;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#endif\x0a#include<logDepthDeclaration>\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec3\x20positionUpdated=position;\x0avec3\x20normalUpdated=normal;\x0a#ifdef\x20UV1\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#include<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0avec3\x20offsetPosition=positionUpdated+(normalUpdated*offset);\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(offsetPosition,1.0);\x0agl_Position=viewProjection*worldPos;\x0a#ifdef\x20ALPHATEST\x0a#ifdef\x20UV1\x0avUV=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20UV2\x0avUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<logDepthVertex>\x0a}\x0a','parts','f32d','_onBeforeCameraRenderObserver','ColorKind',',\x20null,\x20undefined,\x20undefined,\x20undefined,\x20','RG32Uint','frontFace','getHardwareScalingLevel','#if','invertU','intensity','style','R16Uint','#ifdef\x20CLIPPLANE\x0auniform\x20vec4\x20vClipPlane;\x0aout\x20float\x20fClipDistance;\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0auniform\x20vec4\x20vClipPlane2;\x0aout\x20float\x20fClipDistance2;\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0auniform\x20vec4\x20vClipPlane3;\x0aout\x20float\x20fClipDistance3;\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0auniform\x20vec4\x20vClipPlane4;\x0aout\x20float\x20fClipDistance4;\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0auniform\x20vec4\x20vClipPlane5;\x0aout\x20float\x20fClipDistance5;\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0auniform\x20vec4\x20vClipPlane6;\x0aout\x20float\x20fClipDistance6;\x0a#endif\x0a','simulatePointerUp','finalize','updateInt4','lineProcessor','glowMapGenerationPixelShader','strides','_cameraObserverCount','RightClick','spriteMapVertexShader','setEnabled',');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20','cancelAllCoroutines','_getVideoPipeline','clone','unnamed','_context','Mouse','_samples','\x20\x20@location(','createVertexBuffer','precision\x20highp\x20float;\x0a','_removeCameraPointerObserver','REFLECTIONMAP_PROJECTION','_func','modelTotalCount','#include<__decl__boundingBoxRendererFragment>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0agl_FragColor=color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','lensHighlightsPixelShader','#ifdef\x20LOGARITHMICDEPTH\x0avFragmentDepth=1.0+gl_Position.w;\x0agl_Position.z=log2(max(0.000001,vFragmentDepth))*logarithmicDepthConstant;\x0a#endif\x0a','_alreadyAttachedTo','updateUInt2','depthOfFieldMergePixelShader','_reflectionCoordsName','RGB10A2Unorm','INTENSITYMODE_ILLUMINANCE','_texture','bonesVertex','\x20\x20return\x20fragmentOutputs;','vrdisplaypresentchange','ETC2RGB8A1Unorm','_connectVREvents','u32','//Uniforms\x0d\x0a','halfDomeMode','data','mesh','previousMatrixData','fibonacci','addItem','blendMode','#ifdef\x20ORDER_INDEPENDENT_TRANSPARENCY\x0a#extension\x20GL_EXT_draw_buffers\x20:\x20require\x0alayout(location=0)\x20out\x20vec2\x20depth;\x20\x0alayout(location=1)\x20out\x20vec4\x20frontColor;\x0alayout(location=2)\x20out\x20vec4\x20backColor;\x0a#define\x20MAX_DEPTH\x2099999.0\x0ahighp\x20vec4\x20gl_FragColor;\x0auniform\x20sampler2D\x20oitDepthSampler;\x0auniform\x20sampler2D\x20oitFrontColorSampler;\x0a#endif\x0a','systemValue','_countIncrement','hasEndpoints','vec','1225780BuyLrY','Sint','createQuerySet','_pointerY','attribute\x20vec3\x20position;\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<clipPlaneVertexDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20MULTIVIEW\x0auniform\x20mat4\x20viewProjectionR;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0a#ifdef\x20MULTIVIEW\x0aif\x20(gl_ViewID_OVR==0u)\x20{\x0agl_Position=viewProjection*worldPos;\x0a}\x20else\x20{\x0agl_Position=viewProjectionR*worldPos;\x0a}\x0a#else\x0agl_Position=viewProjection*worldPos;\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<vertexColorMixing>\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','Invalid\x20fragment\x20shader:\x20The\x20varying\x20named\x20\x22','setUInt2','_vertexData','attributeProcessor','MAINUV3','sharpenPixelShader','_areMiscDirty','bindGroupLayoutEntryInfo','register','_rigPostProcess','SubSurfaceSceneComponent','setVector2','getBuffer','ALPHA_MAXIMIZED','target','//Entry\x20point\x0d\x0a','externalTextureSamplerBinding','BYTES_PER_ELEMENT','pbrBlockFinalUnlitComponents','material','readValues','_updateMultiviewUbo','_onPointerDown','uniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20originalColor;\x0auniform\x20vec4\x20viewport;\x0avarying\x20vec2\x20vUV;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0avec4\x20ssaoColor=texture2D(textureSampler,viewport.xy+vUV*viewport.zw);\x0avec4\x20sceneColor=texture2D(originalColor,vUV);\x0agl_FragColor=sceneColor*ssaoColor;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','getBundleEncoder','_deviceSourceManager','TEXTUREFORMAT_RGBA_INTEGER\x20format\x20not\x20supported\x20in\x20WebGPU\x20when\x20type\x20is\x20TEXTURETYPE_UNSIGNED_INT_2_10_10_10_REV','_applyTextureArrayProcessing','Unable\x20to\x20create\x20multi\x20sampled\x20framebuffer','Cannot\x20load\x20cubemap\x20because\x20files\x20were\x20not\x20defined','fogStart','_define3DName','_defaultAttachments','prePassComposition','_setTarget','_pickedDownMesh','\x20levels','endFrame','_xOffset','_SimplifiedKnownUBOs','_drawWrapperDepth','subSurfaceScatteringFunctions','Forward','setAlphaBlendEnabled','deleteTexture','invertY','fovMultiplier','#ifdef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0auniform\x20float\x20bakedVertexAnimationTime;\x0auniform\x20vec2\x20bakedVertexAnimationTextureSizeInverted;\x0auniform\x20vec4\x20bakedVertexAnimationSettings;\x0auniform\x20sampler2D\x20bakedVertexAnimationTexture;\x0a#ifdef\x20INSTANCES\x0aattribute\x20vec4\x20bakedVertexAnimationSettingsInstanced;\x0a#endif\x0a#define\x20inline\x0amat4\x20readMatrixFromRawSamplerVAT(sampler2D\x20smp,float\x20index,float\x20frame)\x0a{\x0afloat\x20offset=index*4.0;\x0afloat\x20frameUV=(frame+0.5)*bakedVertexAnimationTextureSizeInverted.y;\x0afloat\x20dx=bakedVertexAnimationTextureSizeInverted.x;\x0avec4\x20m0=texture2D(smp,vec2(dx*(offset+0.5),frameUV));\x0avec4\x20m1=texture2D(smp,vec2(dx*(offset+1.5),frameUV));\x0avec4\x20m2=texture2D(smp,vec2(dx*(offset+2.5),frameUV));\x0avec4\x20m3=texture2D(smp,vec2(dx*(offset+3.5),frameUV));\x0areturn\x20mat4(m0,m1,m2,m3);\x0a}\x0a#endif\x0a','MATERIAL_LineStripDrawMode','startFrame','_emitUniformFromString','clearQuad','texturesRequired','stage','MATERIAL_TriangleFanDrawMode','_definePlanarName','_dummyFramebuffer','ETC2RGB8Unorm','.xyz,\x20','_isUnique','_currentPickResult','_copyInvertYRenderPassDescr','};\x0avar<private>\x20fragmentOutputs\x20:\x20FragmentOutputs;\x0a','sceneUboDeclaration','ALPHA_PREMULTIPLIED_PORTERDUFF','associatedVariableName','precision\x20highp\x20float;\x0a#include<__decl__backgroundVertex>\x0a#include<helperFunctions>\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20MAINUV1\x0avarying\x20vec2\x20vMainUV1;\x0a#endif\x0a#ifdef\x20MAINUV2\x0avarying\x20vec2\x20vMainUV2;\x0a#endif\x0a#if\x20defined(DIFFUSE)\x20&&\x20DIFFUSEDIRECTUV==0\x0avarying\x20vec2\x20vDiffuseUV;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightVxFragment>[0..maxSimultaneousLights]\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avarying\x20vec3\x20vPositionUVW;\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avarying\x20vec3\x20vDirectionW;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avPositionUVW=position;\x0a#endif\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0a#ifdef\x20MULTIVIEW\x0aif\x20(gl_ViewID_OVR==0u)\x20{\x0agl_Position=viewProjection*finalWorld*vec4(position,1.0);\x0a}\x20else\x20{\x0agl_Position=viewProjectionR*finalWorld*vec4(position,1.0);\x0a}\x0a#else\x0agl_Position=viewProjection*finalWorld*vec4(position,1.0);\x0a#endif\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0avPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0amat3\x20normalWorld=mat3(finalWorld);\x0a#ifdef\x20NONUNIFORMSCALING\x0anormalWorld=transposeMat3(inverseMat3(normalWorld));\x0a#endif\x0avNormalW=normalize(normalWorld*normal);\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avDirectionW=normalize(vec3(finalWorld*vec4(position,0.0)));\x0a#ifdef\x20EQUIRECTANGULAR_RELFECTION_FOV\x0amat3\x20screenToWorld=inverseMat3(mat3(finalWorld*viewProjection));\x0avec3\x20segment=mix(vDirectionW,screenToWorld*vec3(0.0,0.0,1.0),abs(fFovMultiplier-1.0));\x0aif\x20(fFovMultiplier<=1.0)\x20{\x0avDirectionW=normalize(segment);\x0a}\x20else\x20{\x0avDirectionW=normalize(vDirectionW+(vDirectionW-segment));\x0a}\x0a#endif\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20MAINUV1\x0avMainUV1=uv;\x0a#endif\x0a#ifdef\x20MAINUV2\x0avMainUV2=uv2;\x0a#endif\x0a#if\x20defined(DIFFUSE)\x20&&\x20DIFFUSEDIRECTUV==0\x0aif\x20(vDiffuseInfos.x==0.)\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\x0a}\x0aelse\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a}\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#ifdef\x20VERTEXCOLOR\x0avColor=color;\x0a#endif\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','refractionPixelShader','CONSTANT_ALPHA','_defineSphericalName','.y;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0d\x0a','isCompiled','onBeforePhysicsObservable','Texture,\x20','#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0a#define\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#else\x0auniform\x20vec4\x20color;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0agl_FragColor=vColor;\x0a#else\x0agl_FragColor=color;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','getPhysicsEngine','_mipmapGenRenderPassDescr','iridescenceOut','_releaseBuffer','TEXTURE_CUBE_MAP_POSITIVE_X','#endif','colorVertexShader','opDepthFail','_getFreeVariableName','_pixelPerfect','updateUInt3','#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20TEXTUREFUNC(s,c,l)\x20texture2DLodEXT(s,c,l)\x0a#else\x0a#define\x20TEXTUREFUNC(s,c,b)\x20texture2D(s,c,b)\x0a#endif\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20texelSize;\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec2\x20sampleCoordS;\x0avarying\x20vec2\x20sampleCoordE;\x0avarying\x20vec2\x20sampleCoordN;\x0avarying\x20vec2\x20sampleCoordW;\x0avarying\x20vec2\x20sampleCoordNW;\x0avarying\x20vec2\x20sampleCoordSE;\x0avarying\x20vec2\x20sampleCoordNE;\x0avarying\x20vec2\x20sampleCoordSW;\x0aconst\x20float\x20fxaaQualitySubpix=1.0;\x0aconst\x20float\x20fxaaQualityEdgeThreshold=0.166;\x0aconst\x20float\x20fxaaQualityEdgeThresholdMin=0.0833;\x0aconst\x20vec3\x20kLumaCoefficients=vec3(0.2126,0.7152,0.0722);\x0a#define\x20FxaaLuma(rgba)\x20dot(rgba.rgb,kLumaCoefficients)\x0avoid\x20main(){\x0avec2\x20posM;\x0aposM.x=vUV.x;\x0aposM.y=vUV.y;\x0avec4\x20rgbyM=TEXTUREFUNC(textureSampler,vUV,0.0);\x0afloat\x20lumaM=FxaaLuma(rgbyM);\x0afloat\x20lumaS=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordS,0.0));\x0afloat\x20lumaE=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordE,0.0));\x0afloat\x20lumaN=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordN,0.0));\x0afloat\x20lumaW=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordW,0.0));\x0afloat\x20maxSM=max(lumaS,lumaM);\x0afloat\x20minSM=min(lumaS,lumaM);\x0afloat\x20maxESM=max(lumaE,maxSM);\x0afloat\x20minESM=min(lumaE,minSM);\x0afloat\x20maxWN=max(lumaN,lumaW);\x0afloat\x20minWN=min(lumaN,lumaW);\x0afloat\x20rangeMax=max(maxWN,maxESM);\x0afloat\x20rangeMin=min(minWN,minESM);\x0afloat\x20rangeMaxScaled=rangeMax*fxaaQualityEdgeThreshold;\x0afloat\x20range=rangeMax-rangeMin;\x0afloat\x20rangeMaxClamped=max(fxaaQualityEdgeThresholdMin,rangeMaxScaled);\x0a#ifndef\x20MALI\x0aif(range<rangeMaxClamped)\x20\x0a{\x0agl_FragColor=rgbyM;\x0areturn;\x0a}\x0a#endif\x0afloat\x20lumaNW=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordNW,0.0));\x0afloat\x20lumaSE=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordSE,0.0));\x0afloat\x20lumaNE=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordNE,0.0));\x0afloat\x20lumaSW=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordSW,0.0));\x0afloat\x20lumaNS=lumaN+lumaS;\x0afloat\x20lumaWE=lumaW+lumaE;\x0afloat\x20subpixRcpRange=1.0/range;\x0afloat\x20subpixNSWE=lumaNS+lumaWE;\x0afloat\x20edgeHorz1=(-2.0*lumaM)+lumaNS;\x0afloat\x20edgeVert1=(-2.0*lumaM)+lumaWE;\x0afloat\x20lumaNESE=lumaNE+lumaSE;\x0afloat\x20lumaNWNE=lumaNW+lumaNE;\x0afloat\x20edgeHorz2=(-2.0*lumaE)+lumaNESE;\x0afloat\x20edgeVert2=(-2.0*lumaN)+lumaNWNE;\x0afloat\x20lumaNWSW=lumaNW+lumaSW;\x0afloat\x20lumaSWSE=lumaSW+lumaSE;\x0afloat\x20edgeHorz4=(abs(edgeHorz1)*2.0)+abs(edgeHorz2);\x0afloat\x20edgeVert4=(abs(edgeVert1)*2.0)+abs(edgeVert2);\x0afloat\x20edgeHorz3=(-2.0*lumaW)+lumaNWSW;\x0afloat\x20edgeVert3=(-2.0*lumaS)+lumaSWSE;\x0afloat\x20edgeHorz=abs(edgeHorz3)+edgeHorz4;\x0afloat\x20edgeVert=abs(edgeVert3)+edgeVert4;\x0afloat\x20subpixNWSWNESE=lumaNWSW+lumaNESE;\x0afloat\x20lengthSign=texelSize.x;\x0abool\x20horzSpan=edgeHorz>=edgeVert;\x0afloat\x20subpixA=subpixNSWE*2.0+subpixNWSWNESE;\x0aif\x20(!horzSpan)\x0a{\x0alumaN=lumaW;\x0a}\x0aif\x20(!horzSpan)\x20\x0a{\x0alumaS=lumaE;\x0a}\x0aif\x20(horzSpan)\x20\x0a{\x0alengthSign=texelSize.y;\x0a}\x0afloat\x20subpixB=(subpixA*(1.0/12.0))-lumaM;\x0afloat\x20gradientN=lumaN-lumaM;\x0afloat\x20gradientS=lumaS-lumaM;\x0afloat\x20lumaNN=lumaN+lumaM;\x0afloat\x20lumaSS=lumaS+lumaM;\x0abool\x20pairN=abs(gradientN)>=abs(gradientS);\x0afloat\x20gradient=max(abs(gradientN),abs(gradientS));\x0aif\x20(pairN)\x0a{\x0alengthSign=-lengthSign;\x0a}\x0afloat\x20subpixC=clamp(abs(subpixB)*subpixRcpRange,0.0,1.0);\x0avec2\x20posB;\x0aposB.x=posM.x;\x0aposB.y=posM.y;\x0avec2\x20offNP;\x0aoffNP.x=(!horzSpan)\x20?\x200.0\x20:\x20texelSize.x;\x0aoffNP.y=(horzSpan)\x20?\x200.0\x20:\x20texelSize.y;\x0aif\x20(!horzSpan)\x20\x0a{\x0aposB.x+=lengthSign*0.5;\x0a}\x0aif\x20(horzSpan)\x0a{\x0aposB.y+=lengthSign*0.5;\x0a}\x0avec2\x20posN;\x0aposN.x=posB.x-offNP.x*1.5;\x0aposN.y=posB.y-offNP.y*1.5;\x0avec2\x20posP;\x0aposP.x=posB.x+offNP.x*1.5;\x0aposP.y=posB.y+offNP.y*1.5;\x0afloat\x20subpixD=((-2.0)*subpixC)+3.0;\x0afloat\x20lumaEndN=FxaaLuma(TEXTUREFUNC(textureSampler,posN,0.0));\x0afloat\x20subpixE=subpixC*subpixC;\x0afloat\x20lumaEndP=FxaaLuma(TEXTUREFUNC(textureSampler,posP,0.0));\x0aif\x20(!pairN)\x20\x0a{\x0alumaNN=lumaSS;\x0a}\x0afloat\x20gradientScaled=gradient*1.0/4.0;\x0afloat\x20lumaMM=lumaM-lumaNN*0.5;\x0afloat\x20subpixF=subpixD*subpixE;\x0abool\x20lumaMLTZero=lumaMM<0.0;\x0alumaEndN-=lumaNN*0.5;\x0alumaEndP-=lumaNN*0.5;\x0abool\x20doneN=abs(lumaEndN)>=gradientScaled;\x0abool\x20doneP=abs(lumaEndP)>=gradientScaled;\x0aif\x20(!doneN)\x20\x0a{\x0aposN.x-=offNP.x*3.0;\x0a}\x0aif\x20(!doneN)\x20\x0a{\x0aposN.y-=offNP.y*3.0;\x0a}\x0abool\x20doneNP=(!doneN)\x20||\x20(!doneP);\x0aif\x20(!doneP)\x20\x0a{\x0aposP.x+=offNP.x*3.0;\x0a}\x0aif\x20(!doneP)\x0a{\x0aposP.y+=offNP.y*3.0;\x0a}\x0aif\x20(doneNP)\x0a{\x0aif\x20(!doneN)\x20lumaEndN=FxaaLuma(TEXTUREFUNC(textureSampler,posN.xy,0.0));\x0aif\x20(!doneP)\x20lumaEndP=FxaaLuma(TEXTUREFUNC(textureSampler,posP.xy,0.0));\x0aif\x20(!doneN)\x20lumaEndN=lumaEndN-lumaNN*0.5;\x0aif\x20(!doneP)\x20lumaEndP=lumaEndP-lumaNN*0.5;\x0adoneN=abs(lumaEndN)>=gradientScaled;\x0adoneP=abs(lumaEndP)>=gradientScaled;\x0aif\x20(!doneN)\x20posN.x-=offNP.x*12.0;\x0aif\x20(!doneN)\x20posN.y-=offNP.y*12.0;\x0adoneNP=(!doneN)\x20||\x20(!doneP);\x0aif\x20(!doneP)\x20posP.x+=offNP.x*12.0;\x0aif\x20(!doneP)\x20posP.y+=offNP.y*12.0;\x0a}\x0afloat\x20dstN=posM.x-posN.x;\x0afloat\x20dstP=posP.x-posM.x;\x0aif\x20(!horzSpan)\x0a{\x0adstN=posM.y-posN.y;\x0a}\x0aif\x20(!horzSpan)\x20\x0a{\x0adstP=posP.y-posM.y;\x0a}\x0abool\x20goodSpanN=(lumaEndN<0.0)\x20!=\x20lumaMLTZero;\x0afloat\x20spanLength=(dstP+dstN);\x0abool\x20goodSpanP=(lumaEndP<0.0)\x20!=\x20lumaMLTZero;\x0afloat\x20spanLengthRcp=1.0/spanLength;\x0abool\x20directionN=dstN<dstP;\x0afloat\x20dst=min(dstN,dstP);\x0abool\x20goodSpan=directionN\x20?\x20goodSpanN\x20:\x20goodSpanP;\x0afloat\x20subpixG=subpixF*subpixF;\x0afloat\x20pixelOffset=(dst*(-spanLengthRcp))+0.5;\x0afloat\x20subpixH=subpixG*fxaaQualitySubpix;\x0afloat\x20pixelOffsetGood=goodSpan\x20?\x20pixelOffset\x20:\x200.0;\x0afloat\x20pixelOffsetSubpix=max(pixelOffsetGood,subpixH);\x0aif\x20(!horzSpan)\x0a{\x0aposM.x+=pixelOffsetSubpix*lengthSign;\x0a}\x0aif\x20(horzSpan)\x0a{\x0aposM.y+=pixelOffsetSubpix*lengthSign;\x0a}\x0a#ifdef\x20MALI\x0aif(range<rangeMaxClamped)\x20\x0a{\x0agl_FragColor=rgbyM;\x0a}\x0aelse\x0a{\x0agl_FragColor=TEXTUREFUNC(textureSampler,posM,0.0);\x0a}\x0a#else\x0agl_FragColor=TEXTUREFUNC(textureSampler,posM,0.0);\x0a#endif\x0a}','_growArray','_thinInstanceInitializeUserStorage','GetNumChannelsFromWebGPUTextureFormat','_pointerOverDisableMeshTesting','getViewCount','textureSampler','disableDepthWrite','_RemoveTagFrom','preProcessShaderCode','getRenderHeight','#ifdef\x20INSTANCES\x0aattribute\x20vec4\x20world0;\x0aattribute\x20vec4\x20world1;\x0aattribute\x20vec4\x20world2;\x0aattribute\x20vec4\x20world3;\x0a#ifdef\x20INSTANCESCOLOR\x0aattribute\x20vec4\x20instanceColor;\x0a#endif\x0a#if\x20defined(THIN_INSTANCES)\x20&&\x20!defined(WORLD_UBO)\x0auniform\x20mat4\x20world;\x0a#endif\x0a#if\x20defined(VELOCITY)\x20||\x20defined(PREPASS_VELOCITY)\x0aattribute\x20vec4\x20previousWorld0;\x0aattribute\x20vec4\x20previousWorld1;\x0aattribute\x20vec4\x20previousWorld2;\x0aattribute\x20vec4\x20previousWorld3;\x0a#ifdef\x20THIN_INSTANCES\x0auniform\x20mat4\x20previousWorld;\x0a#endif\x0a#endif\x0a#else\x0a#if\x20!defined(WORLD_UBO)\x0auniform\x20mat4\x20world;\x0a#endif\x0a#if\x20defined(VELOCITY)\x20||\x20defined(PREPASS_VELOCITY)\x0auniform\x20mat4\x20previousWorld;\x0a#endif\x0a#endif\x0a','ALPHA_ONEONE','HasTriggers','updateMatrix2x2','Texture;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#define\x20','_multiviewSceneUbo','_ubDontInvertY','onXRFrameObservable','getAndRemove','GL_ALPHA_FUNCTION_ONE_MINUS_DST_COLOR','subtract','_getRGBAMultiSampleBufferFormat','#define\x20','byteOffset','skipPointerDownPicking','TEXTURE_LINEAR_LINEAR','textureRegexp','RGBA','_prepareComputePipelineContext','_onBaseAnimationEnd','vec4\x20glFragCoord_;\x0a','temps','variableNames','inverts','_indexBuffer','_previousStartingPointerTime','_useDirectMapping','#define\x20SPHEREEMITTER','indexCount','texParameteri','R32Float','UNIFORM_BUFFER','fluidRenderingParticleDiffuseVertexShader','TEXTUREFORMAT_COMPRESSED_RGBA_ASTC_4x4','TEXTUREFORMAT_RG','setUniqueId','is32Bits','normalPixelShader','applyToShader','vIridescenceParams','FALLOFF_PHYSICAL','ZERO','querySet','GL_ALPHA_EQUATION_SUBTRACT','IgnoreTexturesAtLoadTime','trim','_opStencilDepthPass','pixelStorei','#define\x20CYLINDEREMITTER\x0a#define\x20DIRECTEDCYLINDEREMITTER','_options','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0a#include<imageProcessingDeclaration>\x0a#include<helperFunctions>\x0a#include<imageProcessingFunctions>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec4\x20result=texture2D(textureSampler,vUV);\x0a#ifdef\x20IMAGEPROCESSING\x0a#ifndef\x20FROMLINEARSPACE\x0aresult.rgb=toLinearSpace(result.rgb);\x0a#endif\x0aresult=applyImageProcessing(result);\x0a#else\x0a#ifdef\x20FROMLINEARSPACE\x0aresult=applyImageProcessing(result);\x0a#endif\x0a#endif\x0agl_FragColor=result;\x0a}','registerInput','struct\x20Particle\x20{\x0aposition\x20:\x20vec3<f32>,\x0aage\x20:\x20f32,\x0asize\x20:\x20vec3<f32>,\x0alife\x20:\x20f32,\x0aseed\x20:\x20vec4<f32>,\x0adirection\x20:\x20vec3<f32>,\x0adummy0:\x20f32,\x0a#ifdef\x20CUSTOMEMITTER\x0ainitialPosition\x20:\x20vec3<f32>,\x0adummy1:\x20f32,\x0a#endif\x0a#ifndef\x20COLORGRADIENTS\x0acolor\x20:\x20vec4<f32>,\x0a#endif\x0a#ifndef\x20BILLBOARD\x0ainitialDirection\x20:\x20vec3<f32>,\x0adummy2:\x20f32,\x0a#endif\x0a#ifdef\x20NOISE\x0anoiseCoordinates1\x20:\x20vec3<f32>,\x0adummy3:\x20f32,\x0anoiseCoordinates2\x20:\x20vec3<f32>,\x0adummy4:\x20f32,\x0a#endif\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0aangle\x20:\x20f32,\x0a#else\x0aangle\x20:\x20vec2<f32>,\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x0acellIndex\x20:\x20f32,\x0a#ifdef\x20ANIMATESHEETRANDOMSTART\x0acellStartOffset\x20:\x20f32,\x0a#endif\x0a#endif\x0a};\x0astruct\x20Particles\x20{\x0aparticles\x20:\x20array<Particle>,\x0a};\x0astruct\x20SimParams\x20{\x0acurrentCount\x20:\x20f32,\x0atimeDelta\x20:\x20f32,\x0astopFactor\x20:\x20f32,\x0arandomTextureSize:\x20i32,\x0alifeTime\x20:\x20vec2<f32>,\x0aemitPower\x20:\x20vec2<f32>,\x0a#ifndef\x20COLORGRADIENTS\x0acolor1\x20:\x20vec4<f32>,\x0acolor2\x20:\x20vec4<f32>,\x0a#endif\x0asizeRange\x20:\x20vec2<f32>,\x0ascaleRange\x20:\x20vec4<f32>,\x0aangleRange\x20:\x20vec4<f32>,\x0agravity\x20:\x20vec3<f32>,\x0a#ifdef\x20LIMITVELOCITYGRADIENTS\x0alimitVelocityDamping\x20:\x20f32,\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x0acellInfos\x20:\x20vec4<f32>,\x0a#endif\x0a#ifdef\x20NOISE\x0anoiseStrength\x20:\x20vec3<f32>,\x0a#endif\x0a#ifndef\x20LOCAL\x0aemitterWM\x20:\x20mat4x4<f32>,\x0a#endif\x0a#ifdef\x20BOXEMITTER\x0adirection1\x20:\x20vec3<f32>,\x0adirection2\x20:\x20vec3<f32>,\x0aminEmitBox\x20:\x20vec3<f32>,\x0amaxEmitBox\x20:\x20vec3<f32>,\x0a#endif\x0a#ifdef\x20CONEEMITTER\x0aradius\x20:\x20vec2<f32>,\x0aconeAngle\x20:\x20f32,\x0aheight\x20:\x20vec2<f32>,\x0adirectionRandomizer\x20:\x20f32,\x0a#endif\x0a#ifdef\x20CYLINDEREMITTER\x0aradius\x20:\x20f32,\x0aheight\x20:\x20f32,\x0aradiusRange\x20:\x20f32,\x0a#ifdef\x20DIRECTEDCYLINDEREMITTER\x0adirection1\x20:\x20vec3<f32>,\x0adirection2\x20:\x20vec3<f32>,\x0a#else\x0adirectionRandomizer\x20:\x20f32,\x0a#endif\x0a#endif\x0a#ifdef\x20HEMISPHERICEMITTER\x0aradius\x20:\x20f32,\x0aradiusRange\x20:\x20f32,\x0adirectionRandomizer\x20:\x20f32,\x0a#endif\x0a#ifdef\x20POINTEMITTER\x0adirection1\x20:\x20vec3<f32>,\x0adirection2\x20:\x20vec3<f32>,\x0a#endif\x0a#ifdef\x20SPHEREEMITTER\x0aradius\x20:\x20f32,\x0aradiusRange\x20:\x20f32,\x0a#ifdef\x20DIRECTEDSPHEREEMITTER\x0adirection1\x20:\x20vec3<f32>,\x0adirection2\x20:\x20vec3<f32>,\x0a#else\x0adirectionRandomizer\x20:\x20f32,\x0a#endif\x0a#endif\x0a};\x0a@binding(0)\x20@group(0)\x20var<uniform>\x20params\x20:\x20SimParams;\x0a@binding(1)\x20@group(0)\x20var<storage,read>\x20particlesIn\x20:\x20Particles;\x0a@binding(2)\x20@group(0)\x20var<storage,read_write>\x20particlesOut\x20:\x20Particles;\x0a@binding(3)\x20@group(0)\x20var\x20randomTexture\x20:\x20texture_2d<f32>;\x0a@binding(4)\x20@group(0)\x20var\x20randomTexture2\x20:\x20texture_2d<f32>;\x0a#ifdef\x20SIZEGRADIENTS\x0a@binding(0)\x20@group(1)\x20var\x20sizeGradientSampler\x20:\x20sampler;\x0a@binding(1)\x20@group(1)\x20var\x20sizeGradientTexture\x20:\x20texture_2d<f32>;\x0a#endif\x20\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0a@binding(2)\x20@group(1)\x20var\x20angularSpeedGradientSampler\x20:\x20sampler;\x0a@binding(3)\x20@group(1)\x20var\x20angularSpeedGradientTexture\x20:\x20texture_2d<f32>;\x0a#endif\x20\x0a#ifdef\x20VELOCITYGRADIENTS\x0a@binding(4)\x20@group(1)\x20var\x20velocityGradientSampler\x20:\x20sampler;\x0a@binding(5)\x20@group(1)\x20var\x20velocityGradientTexture\x20:\x20texture_2d<f32>;\x0a#endif\x0a#ifdef\x20LIMITVELOCITYGRADIENTS\x0a@binding(6)\x20@group(1)\x20var\x20limitVelocityGradientSampler\x20:\x20sampler;\x0a@binding(7)\x20@group(1)\x20var\x20limitVelocityGradientTexture\x20:\x20texture_2d<f32>;\x0a#endif\x0a#ifdef\x20DRAGGRADIENTS\x0a@binding(8)\x20@group(1)\x20var\x20dragGradientSampler\x20:\x20sampler;\x0a@binding(9)\x20@group(1)\x20var\x20dragGradientTexture\x20:\x20texture_2d<f32>;\x0a#endif\x0a#ifdef\x20NOISE\x0a@binding(10)\x20@group(1)\x20var\x20noiseSampler\x20:\x20sampler;\x0a@binding(11)\x20@group(1)\x20var\x20noiseTexture\x20:\x20texture_2d<f32>;\x0a#endif\x0afn\x20getRandomVec3(offset\x20:\x20f32,vertexID\x20:\x20f32)->vec3<f32>\x20{\x0areturn\x20textureLoad(randomTexture2,vec2<i32>(i32(vertexID*offset/params.currentCount*f32(params.randomTextureSize))\x20%\x20params.randomTextureSize,0),0).rgb;\x0a}\x0afn\x20getRandomVec4(offset\x20:\x20f32,vertexID\x20:\x20f32)->vec4<f32>\x20{\x0areturn\x20textureLoad(randomTexture,vec2<i32>(i32(vertexID*offset/params.currentCount*f32(params.randomTextureSize))\x20%\x20params.randomTextureSize,0),0);\x0a}\x0a@compute\x20@workgroup_size(64)\x0afn\x20main(@builtin(global_invocation_id)\x20GlobalInvocationID\x20:\x20vec3<u32>)\x20{\x0alet\x20index\x20:\x20u32=GlobalInvocationID.x;\x0alet\x20vertexID\x20:\x20f32=f32(index);\x0aif\x20(index>=u32(params.currentCount))\x20{\x0areturn;\x0a}\x0alet\x20PI\x20:\x20f32=3.14159;\x0alet\x20timeDelta\x20:\x20f32=params.timeDelta;\x0alet\x20newAge\x20:\x20f32=particlesIn.particles[index].age+timeDelta;\x0alet\x20life\x20:\x20f32=particlesIn.particles[index].life;\x0alet\x20seed\x20:\x20vec4<f32>=particlesIn.particles[index].seed;\x0alet\x20direction\x20:\x20vec3<f32>=particlesIn.particles[index].direction;\x0aif\x20(newAge>=life\x20&&\x20params.stopFactor\x20!=\x200.)\x20{\x0avar\x20newPosition\x20:\x20vec3<f32>;\x0avar\x20newDirection\x20:\x20vec3<f32>;\x0alet\x20randoms\x20:\x20vec4<f32>=getRandomVec4(seed.x,vertexID);\x0alet\x20outLife\x20:\x20f32=params.lifeTime.x+(params.lifeTime.y-params.lifeTime.x)*randoms.r;\x0aparticlesOut.particles[index].life=outLife;\x0aparticlesOut.particles[index].age=newAge-life;\x0aparticlesOut.particles[index].seed=seed;\x0avar\x20sizex\x20:\x20f32;\x0a#ifdef\x20SIZEGRADIENTS\x20\x0asizex=textureSampleLevel(sizeGradientTexture,sizeGradientSampler,vec2<f32>(0.,0.),0.).r;\x0a#else\x0asizex=params.sizeRange.x+(params.sizeRange.y-params.sizeRange.x)*randoms.g;\x0a#endif\x0aparticlesOut.particles[index].size=vec3<f32>(\x0asizex,\x0aparams.scaleRange.x+(params.scaleRange.y-params.scaleRange.x)*randoms.b,\x0aparams.scaleRange.z+(params.scaleRange.w-params.scaleRange.z)*randoms.a);\x0a#ifndef\x20COLORGRADIENTS\x0aparticlesOut.particles[index].color=params.color1+(params.color2-params.color1)*randoms.b;\x0a#endif\x0a#ifndef\x20ANGULARSPEEDGRADIENTS\x20\x0aparticlesOut.particles[index].angle=vec2<f32>(\x0aparams.angleRange.z+(params.angleRange.w-params.angleRange.z)*randoms.r,\x0aparams.angleRange.x+(params.angleRange.y-params.angleRange.x)*randoms.a);\x0a#else\x0aparticlesOut.particles[index].angle=params.angleRange.z+(params.angleRange.w-params.angleRange.z)*randoms.r;\x0a#endif\x20\x0a#if\x20defined(POINTEMITTER)\x0alet\x20randoms2\x20:\x20vec3<f32>=getRandomVec3(seed.y,vertexID);\x0alet\x20randoms3\x20:\x20vec3<f32>=getRandomVec3(seed.z,vertexID);\x0anewPosition=vec3<f32>(0.,0.,0.);\x0anewDirection=params.direction1+(params.direction2-params.direction1)*randoms3;\x0a#elif\x20defined(BOXEMITTER)\x0alet\x20randoms2\x20:\x20vec3<f32>=getRandomVec3(seed.y,vertexID);\x0alet\x20randoms3\x20:\x20vec3<f32>=getRandomVec3(seed.z,vertexID);\x0anewPosition=params.minEmitBox+(params.maxEmitBox-params.minEmitBox)*randoms2;\x0anewDirection=params.direction1+(params.direction2-params.direction1)*randoms3;\x20\x0a#elif\x20defined(HEMISPHERICEMITTER)\x0alet\x20randoms2\x20:\x20vec3<f32>=getRandomVec3(seed.y,vertexID);\x0alet\x20randoms3\x20:\x20vec3<f32>=getRandomVec3(seed.z,vertexID);\x0alet\x20phi\x20:\x20f32=2.0*PI*randoms2.x;\x0alet\x20theta\x20:\x20f32=acos(-1.0+2.0*randoms2.y);\x0alet\x20randX\x20:\x20f32=cos(phi)*sin(theta);\x0alet\x20randY\x20:\x20f32=cos(theta);\x0alet\x20randZ\x20:\x20f32=sin(phi)*sin(theta);\x0anewPosition=(params.radius-(params.radius*params.radiusRange*randoms2.z))*vec3<f32>(randX,abs(randY),randZ);\x0anewDirection=normalize(newPosition+params.directionRandomizer*randoms3);\x0a#elif\x20defined(SPHEREEMITTER)\x0alet\x20randoms2\x20:\x20vec3<f32>=getRandomVec3(seed.y,vertexID);\x0alet\x20randoms3\x20:\x20vec3<f32>=getRandomVec3(seed.z,vertexID);\x0alet\x20phi\x20:\x20f32=2.0*PI*randoms2.x;\x0alet\x20theta\x20:\x20f32=acos(-1.0+2.0*randoms2.y);\x0alet\x20randX\x20:\x20f32=cos(phi)*sin(theta);\x0alet\x20randY\x20:\x20f32=cos(theta);\x0alet\x20randZ\x20:\x20f32=sin(phi)*sin(theta);\x0anewPosition=(params.radius-(params.radius*params.radiusRange*randoms2.z))*vec3<f32>(randX,randY,randZ);\x0a#ifdef\x20DIRECTEDSPHEREEMITTER\x0anewDirection=normalize(params.direction1+(params.direction2-params.direction1)*randoms3);\x0a#else\x0anewDirection=normalize(newPosition+params.directionRandomizer*randoms3);\x0a#endif\x0a#elif\x20defined(CYLINDEREMITTER)\x0alet\x20randoms2\x20:\x20vec3<f32>=getRandomVec3(seed.y,vertexID);\x0alet\x20randoms3\x20:\x20vec3<f32>=getRandomVec3(seed.z,vertexID);\x0alet\x20yPos\x20:\x20f32=(-0.5+randoms2.x)*params.height;\x0avar\x20angle\x20:\x20f32=randoms2.y*PI*2.;\x0alet\x20inverseRadiusRangeSquared\x20:\x20f32=(1.-params.radiusRange)*(1.-params.radiusRange);\x0alet\x20positionRadius\x20:\x20f32=params.radius*sqrt(inverseRadiusRangeSquared+randoms2.z*(1.-inverseRadiusRangeSquared));\x0alet\x20xPos\x20:\x20f32=positionRadius*cos(angle);\x0alet\x20zPos\x20:\x20f32=positionRadius*sin(angle);\x0anewPosition=vec3<f32>(xPos,yPos,zPos);\x0a#ifdef\x20DIRECTEDCYLINDEREMITTER\x0anewDirection=params.direction1+(params.direction2-params.direction1)*randoms3;\x0a#else\x0aangle=angle+(-0.5+randoms3.x)*PI*params.directionRandomizer;\x0anewDirection=vec3<f32>(cos(angle),(-0.5+randoms3.y)*params.directionRandomizer,sin(angle));\x0anewDirection=normalize(newDirection);\x0a#endif\x0a#elif\x20defined(CONEEMITTER)\x0alet\x20randoms2\x20:\x20vec3<f32>=getRandomVec3(seed.y,vertexID);\x0alet\x20s\x20:\x20f32=2.0*PI*randoms2.x;\x0a#ifdef\x20CONEEMITTERSPAWNPOINT\x0alet\x20h\x20:\x20f32=0.0001;\x0a#else\x0avar\x20h\x20:\x20f32=randoms2.y*params.height.y;\x0ah=1.-h*h;\x20\x0a#endif\x0avar\x20lRadius\x20:\x20f32=params.radius.x-params.radius.x*randoms2.z*params.radius.y;\x0alRadius=lRadius*h;\x0alet\x20randX\x20:\x20f32=lRadius*sin(s);\x0alet\x20randZ\x20:\x20f32=lRadius*cos(s);\x0alet\x20randY\x20:\x20f32=h\x20*params.height.x;\x0anewPosition=vec3<f32>(randX,randY,randZ);\x20\x0aif\x20(abs(cos(params.coneAngle))==1.0)\x20{\x0anewDirection=vec3<f32>(0.,1.0,0.);\x0a}\x20else\x20{\x0alet\x20randoms3\x20:\x20vec3<f32>=getRandomVec3(seed.z,vertexID);\x0anewDirection=normalize(newPosition+params.directionRandomizer*randoms3);\x20\x0a}\x0a#elif\x20defined(CUSTOMEMITTER)\x0anewPosition=particlesIn.particles[index].initialPosition;\x0aparticlesOut.particles[index].initialPosition=newPosition;\x0a#else\x20\x0anewPosition=vec3<f32>(0.,0.,0.);\x0anewDirection=2.0*(getRandomVec3(seed.w,vertexID)-vec3<f32>(0.5,0.5,0.5));\x0a#endif\x0alet\x20power\x20:\x20f32=params.emitPower.x+(params.emitPower.y-params.emitPower.x)*randoms.a;\x0a#ifdef\x20LOCAL\x0aparticlesOut.particles[index].position=newPosition;\x0a#else\x0aparticlesOut.particles[index].position=(params.emitterWM*vec4<f32>(newPosition,1.)).xyz;\x0a#endif\x0a#ifdef\x20CUSTOMEMITTER\x0aparticlesOut.particles[index].direction=direction;\x0a#ifndef\x20BILLBOARD\x20\x0aparticlesOut.particles[index].initialDirection=direction;\x0a#endif\x0a#else\x0a#ifdef\x20LOCAL\x0alet\x20initial\x20:\x20vec3<f32>=newDirection;\x0a#else\x20\x0alet\x20initial\x20:\x20vec3<f32>=(params.emitterWM*vec4<f32>(newDirection,0.)).xyz;\x0a#endif\x0aparticlesOut.particles[index].direction=initial*power;\x0a#ifndef\x20BILLBOARD\x20\x0aparticlesOut.particles[index].initialDirection=initial;\x0a#endif\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x20\x0aparticlesOut.particles[index].cellIndex=params.cellInfos.x;\x0a#ifdef\x20ANIMATESHEETRANDOMSTART\x0aparticlesOut.particles[index].cellStartOffset=randoms.a*outLife;\x0a#endif\x20\x0a#endif\x0a#ifdef\x20NOISE\x0aparticlesOut.particles[index].noiseCoordinates1=particlesIn.particles[index].noiseCoordinates1;\x0aparticlesOut.particles[index].noiseCoordinates2=particlesIn.particles[index].noiseCoordinates2;\x0a#endif\x0a}\x20else\x20{\x0avar\x20directionScale\x20:\x20f32=timeDelta;\x0aparticlesOut.particles[index].age=newAge;\x0alet\x20ageGradient\x20:\x20f32=newAge/life;\x0a#ifdef\x20VELOCITYGRADIENTS\x0adirectionScale=directionScale*textureSampleLevel(velocityGradientTexture,velocityGradientSampler,vec2<f32>(ageGradient,0.),0.).r;\x0a#endif\x0a#ifdef\x20DRAGGRADIENTS\x0adirectionScale=directionScale*(1.0-textureSampleLevel(dragGradientTexture,dragGradientSampler,vec2<f32>(ageGradient,0.),0.).r);\x0a#endif\x0alet\x20position\x20:\x20vec3<f32>=particlesIn.particles[index].position;\x0a#if\x20defined(CUSTOMEMITTER)\x0aparticlesOut.particles[index].position=position+(direction-position)*ageGradient;\x20\x0aparticlesOut.particles[index].initialPosition=particlesIn.particles[index].initialPosition;\x0a#else\x0aparticlesOut.particles[index].position=position+direction*directionScale;\x0a#endif\x0aparticlesOut.particles[index].life=life;\x0aparticlesOut.particles[index].seed=seed;\x0a#ifndef\x20COLORGRADIENTS\x20\x0aparticlesOut.particles[index].color=particlesIn.particles[index].color;\x0a#endif\x0a#ifdef\x20SIZEGRADIENTS\x0aparticlesOut.particles[index].size=vec3<f32>(\x0atextureSampleLevel(sizeGradientTexture,sizeGradientSampler,vec2<f32>(ageGradient,0.),0.).r,\x0aparticlesIn.particles[index].size.yz);\x0a#else\x0aparticlesOut.particles[index].size=particlesIn.particles[index].size;\x0a#endif\x20\x0a#ifndef\x20BILLBOARD\x20\x0aparticlesOut.particles[index].initialDirection=particlesIn.particles[index].initialDirection;\x0a#endif\x0a#ifdef\x20CUSTOMEMITTER\x0aparticlesOut.particles[index].direction=direction;\x0a#else\x0avar\x20updatedDirection\x20:\x20vec3<f32>=direction+params.gravity*timeDelta;\x0a#ifdef\x20LIMITVELOCITYGRADIENTS\x0alet\x20limitVelocity\x20:\x20f32=textureSampleLevel(limitVelocityGradientTexture,limitVelocityGradientSampler,vec2<f32>(ageGradient,0.),0.).r;\x0alet\x20currentVelocity\x20:\x20f32=length(updatedDirection);\x0aif\x20(currentVelocity>limitVelocity)\x20{\x0aupdatedDirection=updatedDirection*params.limitVelocityDamping;\x0a}\x0a#endif\x0aparticlesOut.particles[index].direction=updatedDirection;\x0a#ifdef\x20NOISE\x0alet\x20noiseCoordinates1\x20:\x20vec3<f32>=particlesIn.particles[index].noiseCoordinates1;\x0alet\x20noiseCoordinates2\x20:\x20vec3<f32>=particlesIn.particles[index].noiseCoordinates2;\x0alet\x20fetchedR\x20:\x20f32=textureSampleLevel(noiseTexture,noiseSampler,vec2<f32>(noiseCoordinates1.x,noiseCoordinates1.y)*vec2<f32>(0.5,0.5)+vec2<f32>(0.5,0.5),0.).r;\x0alet\x20fetchedG\x20:\x20f32=textureSampleLevel(noiseTexture,noiseSampler,vec2<f32>(noiseCoordinates1.z,noiseCoordinates2.x)*vec2<f32>(0.5,0.5)+vec2<f32>(0.5,0.5),0.).r;\x0alet\x20fetchedB\x20:\x20f32=textureSampleLevel(noiseTexture,noiseSampler,vec2<f32>(noiseCoordinates2.y,noiseCoordinates2.z)*vec2<f32>(0.5,0.5)+vec2<f32>(0.5,0.5),0.).r;\x0alet\x20force\x20:\x20vec3<f32>=vec3<f32>(-1.+2.*fetchedR,-1.+2.*fetchedG,-1.+2.*fetchedB)*params.noiseStrength;\x0aparticlesOut.particles[index].direction=particlesOut.particles[index].direction+force*timeDelta;\x0aparticlesOut.particles[index].noiseCoordinates1=noiseCoordinates1;\x0aparticlesOut.particles[index].noiseCoordinates2=noiseCoordinates2;\x0a#endif\x20\x0a#endif\x20\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0alet\x20angularSpeed\x20:\x20f32=textureSampleLevel(angularSpeedGradientTexture,angularSpeedGradientSampler,vec2<f32>(ageGradient,0.),0.).r;\x0aparticlesOut.particles[index].angle=particlesIn.particles[index].angle+angularSpeed*timeDelta;\x0a#else\x0alet\x20angle\x20:\x20vec2<f32>=particlesIn.particles[index].angle;\x0aparticlesOut.particles[index].angle=vec2<f32>(angle.x+angle.y*timeDelta,angle.y);\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x20\x0avar\x20offsetAge\x20:\x20f32=particlesOut.particles[index].age;\x0alet\x20dist\x20:\x20f32=params.cellInfos.y-params.cellInfos.x;\x0a#ifdef\x20ANIMATESHEETRANDOMSTART\x0alet\x20cellStartOffset\x20:\x20f32=particlesIn.particles[index].cellStartOffset;\x0aparticlesOut.particles[index].cellStartOffset=cellStartOffset;\x0aoffsetAge=offsetAge+cellStartOffset;\x0a#else\x0alet\x20cellStartOffset\x20:\x20f32=0.;\x0a#endif\x20\x0avar\x20ratio\x20:\x20f32;\x0aif\x20(params.cellInfos.w==1.0)\x20{\x0aratio=clamp(((cellStartOffset+params.cellInfos.z*offsetAge)\x20%\x20life)/life,0.,1.0);\x0a}\x0aelse\x20{\x0aratio=clamp((cellStartOffset+params.cellInfos.z*offsetAge)/life,0.,1.0);\x0a}\x0aparticlesOut.particles[index].cellIndex=f32(i32(params.cellInfos.x+ratio*dist));\x0a#endif\x0a}\x0a}\x0a','attribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#ifdef\x20INSTANCES\x0aattribute\x20vec4\x20world0;\x0aattribute\x20vec4\x20world1;\x0aattribute\x20vec4\x20world2;\x0aattribute\x20vec4\x20world3;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__shadowMapVertex>\x0a#ifdef\x20ALPHATEXTURE\x0avarying\x20vec2\x20vUV;\x0auniform\x20mat4\x20diffuseMatrix;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#endif\x0a#include<shadowMapVertexExtraDeclaration>\x0a#include<clipPlaneVertexDeclaration>\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec3\x20positionUpdated=position;\x0a#ifdef\x20UV1\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20normalUpdated=normal;\x0a#endif\x0a#include<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(positionUpdated,1.0);\x0a#ifdef\x20NORMAL\x0amat3\x20normWorldSM=mat3(finalWorld);\x0a#if\x20defined(INSTANCES)\x20&&\x20defined(THIN_INSTANCES)\x0avec3\x20vNormalW=normalUpdated/vec3(dot(normWorldSM[0],normWorldSM[0]),dot(normWorldSM[1],normWorldSM[1]),dot(normWorldSM[2],normWorldSM[2]));\x0avNormalW=normalize(normWorldSM*vNormalW);\x0a#else\x0a#ifdef\x20NONUNIFORMSCALING\x0anormWorldSM=transposeMat3(inverseMat3(normWorldSM));\x0a#endif\x0avec3\x20vNormalW=normalize(normWorldSM*normalUpdated);\x0a#endif\x0a#endif\x0a#include<shadowMapVertexNormalBias>\x0agl_Position=viewProjection*worldPos;\x0a#include<shadowMapVertexMetric>\x0a#ifdef\x20ALPHATEXTURE\x0a#ifdef\x20UV1\x0avUV=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20UV2\x0avUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a#include<clipPlaneVertex>\x0a}','hasMoreFallbacks','onPointerDown','lightFragmentDeclaration','TEXTUREFORMAT_RED_INTEGER','TEXTURE_FIXED_EQUIRECTANGULAR_MODE','baseDepth','MATERIAL_PointListDrawMode','RGB9E5UFloat','setDepthBiasSlopeScale','uniformProcessor','ALWAYS','fogEnabled','createMSAATexture','_addNewAttachObserver','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(internals.yFactor_\x20==\x201.)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20fragmentInputs.position.y\x20=\x20internals.textureOutputHeight_\x20-\x20fragmentInputs.position.y;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20','SNAPSHOTRENDERING_FAST','bindMultiviewFramebuffer','_renderEncoder','vClipPlane2','setMSAATexture','onCompiled',')\x20@binding(','setArray2','struct\x20Mesh\x20{\x0aworld\x20:\x20mat4x4<f32>,\x0avisibility\x20:\x20f32,\x0a};\x0avar<uniform>\x20mesh\x20:\x20Mesh;\x0a#define\x20WORLD_UBO\x0a','DEPTH_STENCIL_ATTACHMENT','_onVRDisplayPointerUnrestricted','hasTags','#ifdef\x20CLIPPLANE\x0afClipDistance=dot(worldPos,vClipPlane);\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0afClipDistance2=dot(worldPos,vClipPlane2);\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0afClipDistance3=dot(worldPos,vClipPlane3);\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0afClipDistance4=dot(worldPos,vClipPlane4);\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0afClipDistance5=dot(worldPos,vClipPlane5);\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0afClipDistance6=dot(worldPos,vClipPlane6);\x0a#endif\x0a','varyingProcessor','ALPHA_PREMULTIPLIED','isValid','depthMask','setStencilEnabled','CULL_FACE','CLIPPLANE','PreProcess','bloomMergePixelShader','ASTC10x8UnormSRGB','fogEnd','shadowMapVertexNormalBias','DEPTH_COMPONENT','_bundleList','subMeshId','ComputeNumMipmapLevels','Touch','Texture','_listLength','thinInstanceRegisterAttribute','GL_ALPHA_FUNCTION_DST_ALPHA','onAfterPhysicsObservable','VertexAndFragment','Failed\x20to\x20load\x20','CylinderParticleEmitter','sin','RG32Sint','textureMode','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0auniform\x20mat4\x20world;\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0agl_Position=viewProjection*world*vec4(position,1.0);\x0avec4\x20worldPos=world*vec4(position,1.0);\x0avPositionW=vec3(worldPos);\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#ifdef\x20VERTEXCOLOR\x0avColor=color;\x0a#endif\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','COLOR_ATTACHMENT','updateRawTexture3D','worldMatrix','TEXTURE_MAX_LEVEL','_isFrontFaceDirty','#if\x20NUM_BONE_INFLUENCERS>0\x0aattribute\x20matricesIndices\x20:\x20vec4<f32>;\x0aattribute\x20matricesWeights\x20:\x20vec4<f32>;\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0aattribute\x20matricesIndicesExtra\x20:\x20vec4<f32>;\x0aattribute\x20matricesWeightsExtra\x20:\x20vec4<f32>;\x0a#endif\x0a#ifndef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0a#ifdef\x20BONETEXTURE\x0avar\x20boneSampler\x20:\x20texture_2d<f32>;\x0auniform\x20boneTextureWidth\x20:\x20f32;\x0a#else\x0auniform\x20mBones\x20:\x20array<mat4x4,BonesPerMesh>;\x0a#ifdef\x20BONES_VELOCITY_ENABLED\x0auniform\x20mPreviousBones\x20:\x20array<mat4x4,BonesPerMesh>;\x0a#endif\x0a#endif\x0a#ifdef\x20BONETEXTURE\x0afn\x20readMatrixFromRawSampler(smp\x20:\x20texture_2d<f32>,index\x20:\x20f32)->mat4x4<f32>\x0a{\x0alet\x20offset=i32(index)\x20*4;\x20\x0alet\x20m0=textureLoad(smp,vec2<i32>(offset+0,0),0);\x0alet\x20m1=textureLoad(smp,vec2<i32>(offset+1,0),0);\x0alet\x20m2=textureLoad(smp,vec2<i32>(offset+2,0),0);\x0alet\x20m3=textureLoad(smp,vec2<i32>(offset+3,0),0);\x0areturn\x20mat4x4<f32>(m0,m1,m2,m3);\x0a}\x0a#endif\x0a#endif\x0a#endif\x0a','\x20{\x0a\x20\x20\x20\x20','R16Float','_getComponent','Raw','opStencilFail','precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20float\x20alpha;\x0auniform\x20vec3\x20shadowColor;\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0afloat\x20glossiness=0.;\x0a#include<lightFragment>[0..1]\x0avec4\x20color=vec4(shadowColor,(1.0-clamp(shadow,0.,1.))*alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','imageProcessingDeclaration','_crossEye','#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20TEXTUREFUNC(s,c,lod)\x20texture2DLodEXT(s,c,lod)\x0a#else\x0a#define\x20TEXTUREFUNC(s,c,bias)\x20texture2D(s,c,bias)\x0a#endif\x0auniform\x20sampler2D\x20textureSampler;\x0avarying\x20vec2\x20vUV;\x0auniform\x20vec2\x20texelOffsetScale;\x0aconst\x20float\x20weights[8]=float[8]\x20(0.071303,0.131514,0.189879,0.321392,0.452906,\x200.584419,0.715932,0.847445);\x0avoid\x20processSample(vec2\x20uv,float\x20i,vec2\x20stepSize,inout\x20vec4\x20accumulator,inout\x20float\x20denominator)\x0a{\x0avec2\x20offsetUV=stepSize*i+uv;\x0afloat\x20coefficient=weights[int(2.0-abs(i))];\x0aaccumulator+=TEXTUREFUNC(textureSampler,offsetUV,0.0)*coefficient;\x0adenominator+=coefficient;\x0a}\x0avoid\x20main()\x0a{\x0avec4\x20colorFull=TEXTUREFUNC(textureSampler,vUV,0.0);\x0aif\x20(dot(colorFull,vec4(1.0))==0.0)\x20{\x0agl_FragColor=colorFull;\x0areturn;\x0a}\x0afloat\x20blurRadius=colorFull.a*255.0;\x20\x0avec2\x20stepSize=texelOffsetScale.xy*blurRadius;\x0avec4\x20accumulator=TEXTUREFUNC(textureSampler,vUV,0.0)*0.214607;\x0afloat\x20denominator=0.214607;\x0aprocessSample(vUV,1.0,stepSize,accumulator,denominator);\x0aprocessSample(vUV,1.0*0.2,stepSize,accumulator,denominator);\x0aprocessSample(vUV,1.0*0.4,stepSize,accumulator,denominator);\x0aprocessSample(vUV,1.0*0.6,stepSize,accumulator,denominator);\x0aprocessSample(vUV,1.0*0.8,stepSize,accumulator,denominator);\x0aprocessSample(vUV,1.0*1.2,stepSize,accumulator,denominator);\x0aprocessSample(vUV,1.0*1.4,stepSize,accumulator,denominator);\x0aprocessSample(vUV,1.0*1.6,stepSize,accumulator,denominator);\x0aprocessSample(vUV,1.0*1.8,stepSize,accumulator,denominator);\x0aprocessSample(vUV,1.0*2.0,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0*0.2,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0*0.4,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0*0.6,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0*0.8,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0*1.2,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0*1.4,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0*1.6,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0*1.8,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0*2.0,stepSize,accumulator,denominator);\x0agl_FragColor=vec4(accumulator.rgb/denominator,colorFull.a);\x0a}\x0a','handleVertexSide','Parse','GetTags','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0agl_Position=viewProjection*worldPos;\x0avPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','GL_ALPHA_EQUATION_ADD','noMipmap','vec4\x20','ALPHA_EQUATION_ADD','ILog2','setUInt','pbrBlockAnisotropic','ALPHA_MULTIPLY','_DefaultMaximumThickness','uniform\x20mat4\x20viewProjection;\x0a#ifdef\x20MULTIVIEW\x0auniform\x20mat4\x20viewProjectionR;\x0a#endif\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20vec4\x20vEyePosition;\x0a','.xyz,\x200.0)));\x0d\x0a','outputRenderTarget','float\x20reflectance=max(max(reflectivityOut.surfaceReflectivityColor.r,reflectivityOut.surfaceReflectivityColor.g),reflectivityOut.surfaceReflectivityColor.b);\x0avec3\x20specularEnvironmentR0=reflectivityOut.surfaceReflectivityColor.rgb;\x0a#ifdef\x20METALLICWORKFLOW\x0avec3\x20specularEnvironmentR90=vec3(metallicReflectanceFactors.a);\x0a#else\x20\x0avec3\x20specularEnvironmentR90=vec3(1.0,1.0,1.0);\x0a#endif\x0a#ifdef\x20ALPHAFRESNEL\x0afloat\x20reflectance90=fresnelGrazingReflectance(reflectance);\x0aspecularEnvironmentR90=specularEnvironmentR90*reflectance90;\x0a#endif\x0a','generateStencil','now','getPointerOverMesh','bindFramebuffer','MATERIAL_TextureDirtyFlag','logDepthFragment','meshes','serialize','_blurTextureType','isAsync','ASTC6x5Unorm','compatibilityMode','getOwnPropertyDescriptor','_step','funcMask','ASTC4x4Unorm','kernelBlurVaryingDeclaration','CopyDst','_ignore','canvasTabIndex','_play','evt','uniform\x20float\x20depthValue;\x0aconst\x20vec2\x20pos[4]={\x0avec2(-1.0,1.0),\x0avec2(1.0,1.0),\x0avec2(-1.0,-1.0),\x0avec2(1.0,-1.0)\x0a};\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0agl_Position=vec4(pos[gl_VertexID],depthValue,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','_queryBuffer','_unTranslatedPointerY','_addBufferBindingDescription','remove','_setDefaultValue','substr','bindableBlocks','bindGroupLayoutEntries','_fromIndex','setLayerAndFaceIndex','_viewMatrix','create\x20cube\x20mipmaps\x20-\x20','struct\x20lightingInfo\x0a{\x0avec3\x20diffuse;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specular;\x0a#endif\x0a#ifdef\x20NDOTL\x0afloat\x20ndl;\x0a#endif\x0a};\x0alightingInfo\x20computeLighting(vec3\x20viewDirectionW,vec3\x20vNormal,vec4\x20lightData,vec3\x20diffuseColor,vec3\x20specularColor,float\x20range,float\x20glossiness)\x20{\x0alightingInfo\x20result;\x0avec3\x20lightVectorW;\x0afloat\x20attenuation=1.0;\x0aif\x20(lightData.w==0.)\x0a{\x0avec3\x20direction=lightData.xyz-vPositionW;\x0aattenuation=max(0.,1.0-length(direction)/range);\x0alightVectorW=normalize(direction);\x0a}\x0aelse\x0a{\x0alightVectorW=normalize(-lightData.xyz);\x0a}\x0afloat\x20ndl=max(0.,dot(vNormal,lightVectorW));\x0a#ifdef\x20NDOTL\x0aresult.ndl=ndl;\x0a#endif\x0aresult.diffuse=ndl*diffuseColor*attenuation;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20angleW=normalize(viewDirectionW+lightVectorW);\x0afloat\x20specComp=max(0.,dot(vNormal,angleW));\x0aspecComp=pow(specComp,max(1.,glossiness));\x0aresult.specular=specComp*specularColor*attenuation;\x0a#endif\x0areturn\x20result;\x0a}\x0alightingInfo\x20computeSpotLighting(vec3\x20viewDirectionW,vec3\x20vNormal,vec4\x20lightData,vec4\x20lightDirection,vec3\x20diffuseColor,vec3\x20specularColor,float\x20range,float\x20glossiness)\x20{\x0alightingInfo\x20result;\x0avec3\x20direction=lightData.xyz-vPositionW;\x0avec3\x20lightVectorW=normalize(direction);\x0afloat\x20attenuation=max(0.,1.0-length(direction)/range);\x0afloat\x20cosAngle=max(0.,dot(lightDirection.xyz,-lightVectorW));\x0aif\x20(cosAngle>=lightDirection.w)\x0a{\x0acosAngle=max(0.,pow(cosAngle,lightData.w));\x0aattenuation*=cosAngle;\x0afloat\x20ndl=max(0.,dot(vNormal,lightVectorW));\x0a#ifdef\x20NDOTL\x0aresult.ndl=ndl;\x0a#endif\x0aresult.diffuse=ndl*diffuseColor*attenuation;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20angleW=normalize(viewDirectionW+lightVectorW);\x0afloat\x20specComp=max(0.,dot(vNormal,angleW));\x0aspecComp=pow(specComp,max(1.,glossiness));\x0aresult.specular=specComp*specularColor*attenuation;\x0a#endif\x0areturn\x20result;\x0a}\x0aresult.diffuse=vec3(0.);\x0a#ifdef\x20SPECULARTERM\x0aresult.specular=vec3(0.);\x0a#endif\x0a#ifdef\x20NDOTL\x0aresult.ndl=0.;\x0a#endif\x0areturn\x20result;\x0a}\x0alightingInfo\x20computeHemisphericLighting(vec3\x20viewDirectionW,vec3\x20vNormal,vec4\x20lightData,vec3\x20diffuseColor,vec3\x20specularColor,vec3\x20groundColor,float\x20glossiness)\x20{\x0alightingInfo\x20result;\x0afloat\x20ndl=dot(vNormal,lightData.xyz)*0.5+0.5;\x0a#ifdef\x20NDOTL\x0aresult.ndl=ndl;\x0a#endif\x0aresult.diffuse=mix(groundColor,diffuseColor,ndl);\x0a#ifdef\x20SPECULARTERM\x0avec3\x20angleW=normalize(viewDirectionW+lightData.xyz);\x0afloat\x20specComp=max(0.,dot(vNormal,angleW));\x0aspecComp=pow(specComp,max(1.,glossiness));\x0aresult.specular=specComp*specularColor;\x0a#endif\x0areturn\x20result;\x0a}\x0a#define\x20inline\x0avec3\x20computeProjectionTextureDiffuseLighting(sampler2D\x20projectionLightSampler,mat4\x20textureProjectionMatrix){\x0avec4\x20strq=textureProjectionMatrix*vec4(vPositionW,1.0);\x0astrq/=strq.w;\x0avec3\x20textureColor=texture2D(projectionLightSampler,strq.xy).rgb;\x0areturn\x20textureColor;\x0a}','TEXTURETYPE_UNSIGNED_INT_10F_11F_11F_REV\x20format\x20not\x20supported\x20in\x20WebGPU','_frameLastBuffer','_dstBuffers','-etc1.ktx','sources','popDebugGroup','cancelAnimationFrame','isEqual','startDirectionFunction','\x0a#define\x20ANIMATESHEET\x0a','x6_','thickness','_effect','useMultiview','layerPixelShader','fluidRenderingRenderPixelShader','screenSpaceReflection2BlurCombinerPixelShader','vertexColorMixing','subarray','textureHalfFloatLinearFiltering','CopySrc','asArray','_unTranslatedPointerX','sampler2DShadow','uvVariableDeclaration','screenSpaceReflectionPixelShader','RGBA16Float','setMatrix2x2','simulatePointerDown','true','CLAMP_ADDRESSMODE','fxaaVertexShader','pointerDownPredicate','depthCullingState','Depth\x20cube\x20texture\x20is\x20not\x20supported\x20by\x20WebGL\x201.','#include<','setFloat','R16Sint','pickedMesh','canLoad','forceSphericalPolynomialsRecompute','!!INVALID\x20EXPRESSION!!','apply','layerIndex','EACR11Unorm','(-internals.yFactor_)*dpdy','_processPointerMove','RGBA8Unorm','_compiledComputeEffects','\x0d\x0a}','BC3RGBAUnorm','ASTC10x5Unorm','const\x20float\x20PI=3.1415926535897932384626433832795;\x0aconst\x20float\x20HALF_MIN=5.96046448e-08;\x20\x0aconst\x20float\x20LinearEncodePowerApprox=2.2;\x0aconst\x20float\x20GammaEncodePowerApprox=1.0/LinearEncodePowerApprox;\x0aconst\x20vec3\x20LuminanceEncodeApprox=vec3(0.2126,0.7152,0.0722);\x0aconst\x20float\x20Epsilon=0.0000001;\x0a#define\x20saturate(x)\x20clamp(x,0.0,1.0)\x0a#define\x20absEps(x)\x20abs(x)+Epsilon\x0a#define\x20maxEps(x)\x20max(x,Epsilon)\x0a#define\x20saturateEps(x)\x20clamp(x,Epsilon,1.0)\x0amat3\x20transposeMat3(mat3\x20inMatrix)\x20{\x0avec3\x20i0=inMatrix[0];\x0avec3\x20i1=inMatrix[1];\x0avec3\x20i2=inMatrix[2];\x0amat3\x20outMatrix=mat3(\x0avec3(i0.x,i1.x,i2.x),\x0avec3(i0.y,i1.y,i2.y),\x0avec3(i0.z,i1.z,i2.z)\x0a);\x0areturn\x20outMatrix;\x0a}\x0amat3\x20inverseMat3(mat3\x20inMatrix)\x20{\x0afloat\x20a00=inMatrix[0][0],a01=inMatrix[0][1],a02=inMatrix[0][2];\x0afloat\x20a10=inMatrix[1][0],a11=inMatrix[1][1],a12=inMatrix[1][2];\x0afloat\x20a20=inMatrix[2][0],a21=inMatrix[2][1],a22=inMatrix[2][2];\x0afloat\x20b01=a22*a11-a12*a21;\x0afloat\x20b11=-a22*a10+a12*a20;\x0afloat\x20b21=a21*a10-a11*a20;\x0afloat\x20det=a00*b01+a01*b11+a02*b21;\x0areturn\x20mat3(b01,(-a22*a01+a02*a21),(a12*a01-a02*a11),\x0ab11,(a22*a00-a02*a20),(-a12*a00+a02*a10),\x0ab21,(-a21*a00+a01*a20),(a11*a00-a01*a10))/det;\x0a}\x0a#if\x20USE_EXACT_SRGB_CONVERSIONS\x0avec3\x20toLinearSpaceExact(vec3\x20color)\x0a{\x0avec3\x20nearZeroSection=0.0773993808*color;\x0avec3\x20remainingSection=pow(0.947867299*(color+vec3(0.055)),vec3(2.4));\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0areturn\x20mix(remainingSection,nearZeroSection,lessThanEqual(color,vec3(0.04045)));\x0a#else\x0areturn\x0avec3(\x0acolor.r<=0.04045\x20?\x20nearZeroSection.r\x20:\x20remainingSection.r,\x0acolor.g<=0.04045\x20?\x20nearZeroSection.g\x20:\x20remainingSection.g,\x0acolor.b<=0.04045\x20?\x20nearZeroSection.b\x20:\x20remainingSection.b);\x0a#endif\x0a}\x0avec3\x20toGammaSpaceExact(vec3\x20color)\x0a{\x0avec3\x20nearZeroSection=12.92*color;\x0avec3\x20remainingSection=1.055*pow(color,vec3(0.41666))-vec3(0.055);\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0areturn\x20mix(remainingSection,nearZeroSection,lessThanEqual(color,vec3(0.0031308)));\x0a#else\x0areturn\x0avec3(\x0acolor.r<=0.0031308\x20?\x20nearZeroSection.r\x20:\x20remainingSection.r,\x0acolor.g<=0.0031308\x20?\x20nearZeroSection.g\x20:\x20remainingSection.g,\x0acolor.b<=0.0031308\x20?\x20nearZeroSection.b\x20:\x20remainingSection.b);\x0a#endif\x0a}\x0a#endif\x0afloat\x20toLinearSpace(float\x20color)\x0a{\x0a#if\x20USE_EXACT_SRGB_CONVERSIONS\x0afloat\x20nearZeroSection=0.0773993808*color;\x0afloat\x20remainingSection=pow(0.947867299*(color+0.055),2.4);\x0areturn\x20color<=0.04045\x20?\x20nearZeroSection\x20:\x20remainingSection;\x0a#else\x0areturn\x20pow(color,LinearEncodePowerApprox);\x0a#endif\x0a}\x0avec3\x20toLinearSpace(vec3\x20color)\x0a{\x0a#if\x20USE_EXACT_SRGB_CONVERSIONS\x0areturn\x20toLinearSpaceExact(color);\x0a#else\x0areturn\x20pow(color,vec3(LinearEncodePowerApprox));\x0a#endif\x0a}\x0avec4\x20toLinearSpace(vec4\x20color)\x0a{\x0a#if\x20USE_EXACT_SRGB_CONVERSIONS\x0areturn\x20vec4(toLinearSpaceExact(color.rgb),color.a);\x0a#else\x0areturn\x20vec4(pow(color.rgb,vec3(LinearEncodePowerApprox)),color.a);\x0a#endif\x0a}\x0afloat\x20toGammaSpace(float\x20color)\x0a{\x0a#if\x20USE_EXACT_SRGB_CONVERSIONS\x0afloat\x20nearZeroSection=12.92*color;\x0afloat\x20remainingSection=1.055*pow(color,0.41666)-0.055;\x0areturn\x20color<=0.0031308\x20?\x20nearZeroSection\x20:\x20remainingSection;\x0a#else\x0areturn\x20pow(color,GammaEncodePowerApprox);\x0a#endif\x0a}\x0avec3\x20toGammaSpace(vec3\x20color)\x0a{\x0a#if\x20USE_EXACT_SRGB_CONVERSIONS\x0areturn\x20toGammaSpaceExact(color);\x0a#else\x0areturn\x20pow(color,vec3(GammaEncodePowerApprox));\x0a#endif\x0a}\x0avec4\x20toGammaSpace(vec4\x20color)\x0a{\x0a#if\x20USE_EXACT_SRGB_CONVERSIONS\x0areturn\x20vec4(toGammaSpaceExact(color.rgb),color.a);\x0a#else\x0areturn\x20vec4(pow(color.rgb,vec3(GammaEncodePowerApprox)),color.a);\x0a#endif\x0a}\x0afloat\x20square(float\x20value)\x0a{\x0areturn\x20value*value;\x0a}\x0avec3\x20square(vec3\x20value)\x0a{\x0areturn\x20value*value;\x0a}\x0afloat\x20pow5(float\x20value)\x20{\x0afloat\x20sq=value*value;\x0areturn\x20sq*sq*value;\x0a}\x0afloat\x20getLuminance(vec3\x20color)\x0a{\x0areturn\x20clamp(dot(color,LuminanceEncodeApprox),0.,1.);\x0a}\x0afloat\x20getRand(vec2\x20seed)\x20{\x0areturn\x20fract(sin(dot(seed.xy\x20,vec2(12.9898,78.233)))*43758.5453);\x0a}\x0afloat\x20dither(vec2\x20seed,float\x20varianceAmount)\x20{\x0afloat\x20rand=getRand(seed);\x0afloat\x20normVariance=varianceAmount/255.0;\x0afloat\x20dither=mix(-normVariance,normVariance,rand);\x0areturn\x20dither;\x0a}\x0aconst\x20float\x20rgbdMaxRange=255.0;\x0avec4\x20toRGBD(vec3\x20color)\x20{\x0afloat\x20maxRGB=maxEps(max(color.r,max(color.g,color.b)));\x0afloat\x20D\x20=max(rgbdMaxRange/maxRGB,1.);\x0aD\x20=clamp(floor(D)/255.0,0.,1.);\x0avec3\x20rgb=color.rgb*D;\x0argb=toGammaSpace(rgb);\x0areturn\x20vec4(clamp(rgb,0.,1.),D);\x20\x0a}\x0avec3\x20fromRGBD(vec4\x20rgbd)\x20{\x0argbd.rgb=toLinearSpace(rgbd.rgb);\x0areturn\x20rgbd.rgb/rgbd.a;\x0a}\x0avec3\x20parallaxCorrectNormal(\x20vec3\x20vertexPos,vec3\x20origVec,vec3\x20cubeSize,vec3\x20cubePos\x20)\x20{\x0avec3\x20invOrigVec=vec3(1.0,1.0,1.0)/origVec;\x0avec3\x20halfSize=cubeSize*0.5;\x0avec3\x20intersecAtMaxPlane=(cubePos+halfSize-vertexPos)*invOrigVec;\x0avec3\x20intersecAtMinPlane=(cubePos-halfSize-vertexPos)*invOrigVec;\x0avec3\x20largestIntersec=max(intersecAtMaxPlane,intersecAtMinPlane);\x0afloat\x20distance=min(min(largestIntersec.x,largestIntersec.y),largestIntersec.z);\x0avec3\x20intersectPositionWS=vertexPos+origVec*distance;\x0areturn\x20intersectPositionWS-cubePos;\x0a}\x0a','getViewMatrix','ASTC5x4UnormSRGB','_mainRenderPassWrapper','throw','distanceOrScreenCoverage','grainPixelShader','_wasPreviouslyReady','ASTC5x5UnormSRGB','subSurfaceScattering','layer','baseWidth','ceil','_cloneRenderTargetWrapper','toGlobal','backgroundVertexShader','_thinInstanceDataStorage','ssDiffusionD','ownerBlock','ColorInstanceKind','ASTC8x8UnormSRGB','morphTargetsVertexGlobal','height','DEPTH_COMPONENT24','uniform\x20sampler2D\x20textureSampler;\x0auniform\x20int\x20filterSize;\x0auniform\x20vec2\x20blurDir;\x0avarying\x20vec2\x20vUV;\x0avoid\x20main(void)\x20{\x0avec4\x20s=textureLod(textureSampler,vUV,0.);\x0aif\x20(s.r==0.)\x20{\x0aglFragColor=vec4(0.,0.,0.,1.);\x0areturn;\x0a}\x0afloat\x20sigma=float(filterSize)/3.0;\x0afloat\x20twoSigma2=2.0*sigma*sigma;\x0avec4\x20sum=vec4(0.);\x0afloat\x20wsum=0.;\x0afor\x20(int\x20x=-filterSize;\x20x<=filterSize;\x20++x)\x20{\x0avec2\x20coords=vec2(x);\x0avec4\x20sampl=textureLod(textureSampler,vUV+coords*blurDir,0.);\x0afloat\x20w=exp(-coords.x*coords.x/twoSigma2);\x0asum+=sampl*w;\x0awsum+=w;\x0a}\x0asum/=wsum;\x0aglFragColor=vec4(sum.rgb,1.);\x0a}\x0a','isFixedFoveationSupported','GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA','depthSampler','updateVector4','triplanarPixelShader','sampler2DArrayShadow','fn\x20main','compileGLSL','attribute\x20vec2\x20position;\x0avarying\x20vec2\x20vUV;\x0aconst\x20vec2\x20madd=vec2(0.5,0.5);\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avUV=position*madd+madd;\x0agl_Position=vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','dataStoreDataCurrentBufferBlockIndex','Raw2DArray','createDrawContext','texture2D','precision\x20highp\x20float;uniform\x20vec4\x20vEyePosition;uniform\x20vec4\x20vDiffuseColor;uniform\x20vec4\x20furColor;uniform\x20float\x20furLength;varying\x20vec3\x20vPositionW;varying\x20float\x20vfur_length;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;uniform\x20sampler2D\x20diffuseSampler;uniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20HIGHLEVEL\x0auniform\x20float\x20furOffset;uniform\x20float\x20furOcclusion;uniform\x20sampler2D\x20furTexture;varying\x20vec2\x20vFurUV;\x0a#endif\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<fogFragmentDeclaration>\x0a#include<clipPlaneFragmentDeclaration>\x0afloat\x20Rand(vec3\x20rv)\x20{float\x20x=dot(rv,vec3(12.9898,78.233,24.65487));return\x20fract(sin(x)*43758.5453);}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);vec4\x20baseColor=furColor;vec3\x20diffuseColor=vDiffuseColor.rgb;float\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20DIFFUSE\x0abaseColor*=texture2D(diffuseSampler,vDiffuseUV);\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include<depthPrePass>\x0abaseColor.rgb*=vDiffuseInfos.y;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0a#ifdef\x20HIGHLEVEL\x0avec4\x20furTextureColor=texture2D(furTexture,vec2(vFurUV.x,vFurUV.y));if\x20(furTextureColor.a<=0.0\x20||\x20furTextureColor.g<furOffset)\x20{discard;}\x0afloat\x20occlusion=mix(0.0,furTextureColor.b*1.2,furOffset);baseColor=vec4(baseColor.xyz*max(occlusion,furOcclusion),1.1-furOffset);\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);lightingInfo\x20info;float\x20shadow=1.;float\x20glossiness=0.;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0a#endif\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase.rgb*baseColor.rgb,0.0,1.0);\x0a#ifdef\x20HIGHLEVEL\x0avec4\x20color=vec4(finalDiffuse,alpha);\x0a#else\x0afloat\x20r=vfur_length/furLength*0.5;vec4\x20color=vec4(finalDiffuse*(0.5+r),alpha);\x0a#endif\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','PREPASS_COLOR_TEXTURE_TYPE','rotate','computeBonesUsingShaders','ReciprocalPI','ssDiffusionProfileColors','_videoPipelines','samplerNames','cursor','uniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20delta;\x0avarying\x20vec2\x20sampleCenter;\x0a#ifdef\x20DOF\x0auniform\x20sampler2D\x20circleOfConfusionSampler;\x0afloat\x20sampleCoC(in\x20vec2\x20offset)\x20{\x0afloat\x20coc=texture2D(circleOfConfusionSampler,offset).r;\x0areturn\x20coc;\x20\x0a}\x0a#endif\x0a#include<kernelBlurVaryingDeclaration>[0..varyingCount]\x0a#ifdef\x20PACKEDFLOAT\x0a#include<packingFunctions>\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0afloat\x20computedWeight=0.0;\x0a#ifdef\x20PACKEDFLOAT\x0afloat\x20blend=0.;\x0a#else\x0avec4\x20blend=vec4(0.);\x0a#endif\x0a#ifdef\x20DOF\x0afloat\x20sumOfWeights=CENTER_WEIGHT;\x20\x0afloat\x20factor=0.0;\x0a#ifdef\x20PACKEDFLOAT\x0ablend+=unpack(texture2D(textureSampler,sampleCenter))*CENTER_WEIGHT;\x0a#else\x0ablend+=texture2D(textureSampler,sampleCenter)*CENTER_WEIGHT;\x0a#endif\x0a#endif\x0a#include<kernelBlurFragment>[0..varyingCount]\x0a#include<kernelBlurFragment2>[0..depCount]\x0a#ifdef\x20PACKEDFLOAT\x0agl_FragColor=pack(blend);\x0a#else\x0agl_FragColor=blend;\x0a#endif\x0a#ifdef\x20DOF\x0agl_FragColor/=sumOfWeights;\x0a#endif\x0a}','copyBufferToBuffer','GetIndividualParser','attribute\x20vec2\x20position;\x0auniform\x20vec2\x20delta;\x0avarying\x20vec2\x20sampleCenter;\x0a#include<kernelBlurVaryingDeclaration>[0..varyingCount]\x0aconst\x20vec2\x20madd=vec2(0.5,0.5);\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0asampleCenter=(position*madd+madd);\x0a#include<kernelBlurVertex>[0..varyingCount]\x0agl_Position=vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','addBundle','_reflectionMatrixName','toLowerCase','createExternalTexture','_isStencilTestDirty','layout(location\x20=\x20','textureFloatRender','REPLACE','defaultFragmentDeclaration','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20screenSize;\x0auniform\x20float\x20kernel[9];\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec2\x20onePixel=vec2(1.0,1.0)/screenSize;\x0avec4\x20colorSum\x20=\x0atexture2D(textureSampler,vUV+onePixel*vec2(-1,-1))*kernel[0]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(0,-1))*kernel[1]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(1,-1))*kernel[2]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(-1,0))*kernel[3]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(0,0))*kernel[4]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(1,0))*kernel[5]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(-1,1))*kernel[6]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(0,1))*kernel[7]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(1,1))*kernel[8];\x0afloat\x20kernelWeight\x20=\x0akernel[0]\x20+\x0akernel[1]\x20+\x0akernel[2]\x20+\x0akernel[3]\x20+\x0akernel[4]\x20+\x0akernel[5]\x20+\x0akernel[6]\x20+\x0akernel[7]\x20+\x0akernel[8];\x0aif\x20(kernelWeight<=0.0)\x20{\x0akernelWeight=1.0;\x0a}\x0agl_FragColor=vec4((colorSum/kernelWeight).rgb,1);\x0a}','RG16Sint','captureGPUFrameTime','materialCount','inlineShaderCode','diffusionS','_list','createMultiviewRenderTargetTexture','texture','_blendFunctionParameters','_MoveCursorWithinIf','_cacheFloat4','\x20-\x20','setFileName','copyExternalImageToTexture','getAttributes','//\x20Internals\x20UBO','deviceType','#ifdef\x20PREPASS\x0a#ifdef\x20PREPASS_DEPTH\x0avarying\x20vec3\x20vViewPos;\x0a#endif\x0a#ifdef\x20PREPASS_VELOCITY\x0auniform\x20mat4\x20previousViewProjection;\x0avarying\x20vec4\x20vCurrentPosition;\x0avarying\x20vec4\x20vPreviousPosition;\x0a#endif\x0a#endif\x0a','set','SRC_ALPHA','#ifndef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0a#if\x20NUM_BONE_INFLUENCERS>0\x0avar\x20influence\x20:\x20mat4x4<f32>;\x0a#ifdef\x20BONETEXTURE\x0ainfluence=readMatrixFromRawSampler(boneSampler,vertexInputs.matricesIndices[0])*vertexInputs.matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0ainfluence=influence+readMatrixFromRawSampler(boneSampler,vertexInputs.matricesIndices[1])*vertexInputs.matricesWeights[1];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0ainfluence=influence+readMatrixFromRawSampler(boneSampler,vertexInputs.matricesIndices[2])*vertexInputs.matricesWeights[2];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0ainfluence=influence+readMatrixFromRawSampler(boneSampler,vertexInputs.matricesIndices[3])*vertexInputs.matricesWeights[3];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0ainfluence=influence+readMatrixFromRawSampler(boneSampler,vertexInputs.matricesIndicesExtra[0])*vertexInputs.matricesWeightsExtra[0];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0ainfluence=influence+readMatrixFromRawSampler(boneSampler,vertexInputs.matricesIndicesExtra[1])*vertexInputs.matricesWeightsExtra[1];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0ainfluence=influence+readMatrixFromRawSampler(boneSampler,vertexInputs.matricesIndicesExtra[2])*vertexInputs.matricesWeightsExtra[2];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0ainfluence=influence+readMatrixFromRawSampler(boneSampler,vertexInputs.matricesIndicesExtra[3])*vertexInputs.matricesWeightsExtra[3];\x0a#endif\x20\x0a#else\x20\x0ainfluence=uniforms.mBones[int(vertexInputs.matricesIndices[0])]*vertexInputs.matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0ainfluence=influence+uniforms.mBones[int(vertexInputs.matricesIndices[1])]*vertexInputs.matricesWeights[1];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0ainfluence=influence+uniforms.mBones[int(vertexInputs.matricesIndices[2])]*vertexInputs.matricesWeights[2];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0ainfluence=influence+uniforms.mBones[int(vertexInputs.matricesIndices[3])]*vertexInputs.matricesWeights[3];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0ainfluence=influence+uniforms.mBones[int(vertexInputs.matricesIndicesExtra[0])]*vertexInputs.matricesWeightsExtra[0];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0ainfluence=influence+uniforms.mBones[int(vertexInputs.matricesIndicesExtra[1])]*vertexInputs.matricesWeightsExtra[1];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0ainfluence=influence+uniforms.mBones[int(vertexInputs.matricesIndicesExtra[2])]*vertexInputs.matricesWeightsExtra[2];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0ainfluence=influence+uniforms.mBones[int(vertexInputs.matricesIndicesExtra[3])]*vertexInputs.matricesWeightsExtra[3];\x0a#endif\x20\x0a#endif\x0afinalWorld=finalWorld*influence;\x0a#endif\x0a#endif\x0a','parse','BC4RUnorm','program','isReady','_hardwareTexture','bakedVertexAnimation','fluidRenderingBilateralBlur','_bufferViewArray','_bindTexture','vec3\x20hemisphereCosSample(vec2\x20u)\x20{\x0afloat\x20phi=2.*PI*u.x;\x0afloat\x20cosTheta2=1.-u.y;\x0afloat\x20cosTheta=sqrt(cosTheta2);\x0afloat\x20sinTheta=sqrt(1.-cosTheta2);\x0areturn\x20vec3(sinTheta*cos(phi),sinTheta*sin(phi),cosTheta);\x0a}\x0avec3\x20hemisphereImportanceSampleDggx(vec2\x20u,float\x20a)\x20{\x0afloat\x20phi=2.*PI*u.x;\x0afloat\x20cosTheta2=(1.-u.y)/(1.+(a+1.)*((a-1.)*u.y));\x0afloat\x20cosTheta=sqrt(cosTheta2);\x0afloat\x20sinTheta=sqrt(1.-cosTheta2);\x0areturn\x20vec3(sinTheta*cos(phi),sinTheta*sin(phi),cosTheta);\x0a}\x0avec3\x20hemisphereImportanceSampleDCharlie(vec2\x20u,float\x20a)\x20{\x20\x0afloat\x20phi=2.*PI*u.x;\x0afloat\x20sinTheta=pow(u.y,a/(2.*a+1.));\x0afloat\x20cosTheta=sqrt(1.-sinTheta*sinTheta);\x0areturn\x20vec3(sinTheta*cos(phi),sinTheta*sin(phi),cosTheta);\x0a}','functions','int','BC4RSnorm','_getSamplingParameters','#include<fibonacci>\x0a#include<helperFunctions>\x0a#include<subSurfaceScatteringFunctions>\x0a#include<diffusionProfile>\x0avarying\x20vec2\x20vUV;\x0auniform\x20vec2\x20texelSize;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20irradianceSampler;\x0auniform\x20sampler2D\x20depthSampler;\x0auniform\x20sampler2D\x20albedoSampler;\x0auniform\x20vec2\x20viewportSize;\x0auniform\x20float\x20metersPerUnit;\x0aconst\x20float\x20LOG2_E=1.4426950408889634;\x0aconst\x20float\x20SSS_PIXELS_PER_SAMPLE=4.;\x0aconst\x20int\x20_SssSampleBudget=40;\x0a#define\x20rcp(x)\x201./x\x0a#define\x20Sq(x)\x20x*x\x0a#define\x20SSS_BILATERAL_FILTER\x20true\x0avec3\x20EvalBurleyDiffusionProfile(float\x20r,vec3\x20S)\x0a{\x0avec3\x20exp_13=exp2(((LOG2_E*(-1.0/3.0))*r)*S);\x20\x0avec3\x20expSum=exp_13*(1.+exp_13*exp_13);\x20\x0areturn\x20(S*rcp(8.*PI))*expSum;\x20\x0a}\x0avec2\x20SampleBurleyDiffusionProfile(float\x20u,float\x20rcpS)\x0a{\x0au=1.-u;\x20\x0afloat\x20g=1.+(4.*u)*(2.*u+sqrt(1.+(4.*u)*u));\x0afloat\x20n=exp2(log2(g)*(-1.0/3.0));\x20\x0afloat\x20p=(g*n)*n;\x20\x0afloat\x20c=1.+p+n;\x20\x0afloat\x20d=(3./LOG2_E*2.)+(3./LOG2_E)*log2(u);\x20\x0afloat\x20x=(3./LOG2_E)*log2(c)-d;\x20\x0afloat\x20rcpExp=((c*c)*c)*rcp((4.*u)*((c*c)+(4.*u)*(4.*u)));\x0afloat\x20r=x*rcpS;\x0afloat\x20rcpPdf=(8.*PI*rcpS)*rcpExp;\x20\x0areturn\x20vec2(r,rcpPdf);\x0a}\x0avec3\x20ComputeBilateralWeight(float\x20xy2,float\x20z,float\x20mmPerUnit,vec3\x20S,float\x20rcpPdf)\x0a{\x0a#ifndef\x20SSS_BILATERAL_FILTER\x0az=0.;\x0a#endif\x0afloat\x20r=sqrt(xy2+(z*mmPerUnit)*(z*mmPerUnit));\x0afloat\x20area=rcpPdf;\x0a#if\x20SSS_CLAMP_ARTIFACT\x0areturn\x20clamp(EvalBurleyDiffusionProfile(r,S)*area,0.0,1.0);\x0a#else\x0areturn\x20EvalBurleyDiffusionProfile(r,S)*area;\x0a#endif\x0a}\x0avoid\x20EvaluateSample(int\x20i,int\x20n,vec3\x20S,float\x20d,vec3\x20centerPosVS,float\x20mmPerUnit,float\x20pixelsPerMm,\x0afloat\x20phase,inout\x20vec3\x20totalIrradiance,inout\x20vec3\x20totalWeight)\x0a{\x0afloat\x20scale\x20=rcp(float(n));\x0afloat\x20offset=rcp(float(n))*0.5;\x0afloat\x20sinPhase,cosPhase;\x0asinPhase=sin(phase);\x0acosPhase=cos(phase);\x0avec2\x20bdp=SampleBurleyDiffusionProfile(float(i)*scale+offset,d);\x0afloat\x20r=bdp.x;\x0afloat\x20rcpPdf=bdp.y;\x0afloat\x20phi=SampleDiskGolden(i,n).y;\x0afloat\x20sinPhi,cosPhi;\x0asinPhi=sin(phi);\x0acosPhi=cos(phi);\x0afloat\x20sinPsi=cosPhase*sinPhi+sinPhase*cosPhi;\x20\x0afloat\x20cosPsi=cosPhase*cosPhi-sinPhase*sinPhi;\x20\x0avec2\x20vec=r*vec2(cosPsi,sinPsi);\x0avec2\x20position;\x20\x0afloat\x20xy2;\x0aposition=vUV+round((pixelsPerMm*r)*vec2(cosPsi,sinPsi))*texelSize;\x0axy2\x20=r*r;\x0avec4\x20textureSample=texture2D(irradianceSampler,position);\x0afloat\x20viewZ=texture2D(depthSampler,position).r;\x0avec3\x20irradiance\x20=textureSample.rgb;\x0aif\x20(testLightingForSSS(textureSample.a))\x0a{\x0afloat\x20relZ=viewZ-centerPosVS.z;\x0avec3\x20weight=ComputeBilateralWeight(xy2,relZ,mmPerUnit,S,rcpPdf);\x0atotalIrradiance+=weight*irradiance;\x0atotalWeight\x20+=weight;\x0a}\x0aelse\x0a{\x0a}\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0avec4\x20irradianceAndDiffusionProfile\x20=texture2D(irradianceSampler,vUV);\x0avec3\x20centerIrradiance=irradianceAndDiffusionProfile.rgb;\x0aint\x20diffusionProfileIndex=int(round(irradianceAndDiffusionProfile.a*255.));\x0afloat\x20centerDepth\x20=0.;\x0avec4\x20inputColor=texture2D(textureSampler,vUV);\x0abool\x20passedStencilTest=testLightingForSSS(irradianceAndDiffusionProfile.a);\x0aif\x20(passedStencilTest)\x0a{\x0acenterDepth=texture2D(depthSampler,vUV).r;\x0a}\x0aif\x20(!passedStencilTest)\x20{\x20\x0agl_FragColor=inputColor;\x0areturn;\x0a}\x0afloat\x20distScale\x20=1.;\x0avec3\x20S\x20=diffusionS[diffusionProfileIndex];\x0afloat\x20d\x20=diffusionD[diffusionProfileIndex];\x0afloat\x20filterRadius=filterRadii[diffusionProfileIndex];\x0avec2\x20centerPosNDC=vUV;\x0avec2\x20cornerPosNDC=vUV+0.5*texelSize;\x0avec3\x20centerPosVS\x20=vec3(centerPosNDC*viewportSize,1.0)*centerDepth;\x20\x0avec3\x20cornerPosVS\x20=vec3(cornerPosNDC*viewportSize,1.0)*centerDepth;\x20\x0afloat\x20mmPerUnit\x20=1000.*(metersPerUnit*rcp(distScale));\x0afloat\x20unitsPerMm=rcp(mmPerUnit);\x0afloat\x20unitsPerPixel=2.*abs(cornerPosVS.x-centerPosVS.x);\x0afloat\x20pixelsPerMm\x20=rcp(unitsPerPixel)*unitsPerMm;\x0afloat\x20filterArea\x20=PI*Sq(filterRadius*pixelsPerMm);\x0aint\x20sampleCount\x20=int(filterArea*rcp(SSS_PIXELS_PER_SAMPLE));\x0aint\x20sampleBudget=_SssSampleBudget;\x0aint\x20texturingMode=0;\x0avec3\x20albedo\x20=texture2D(albedoSampler,vUV).rgb;\x0aif\x20(distScale==0.\x20||\x20sampleCount<1)\x0a{\x0a#ifdef\x20DEBUG_SSS_SAMPLES\x0avec3\x20green=vec3(0.,1.,0.);\x0agl_FragColor=vec4(green,1.0);\x0areturn;\x0a#endif\x0agl_FragColor=vec4(inputColor.rgb+albedo*centerIrradiance,1.0);\x0areturn;\x0a}\x0a#ifdef\x20DEBUG_SSS_SAMPLES\x0avec3\x20red\x20=vec3(1.,0.,0.);\x0avec3\x20blue=vec3(0.,0.,1.);\x0agl_FragColor=vec4(mix(blue,red,clamp(float(sampleCount)/float(sampleBudget),0.0,1.0)),1.0);\x0areturn;\x0a#endif\x0afloat\x20phase=0.;\x0aint\x20n=min(sampleCount,sampleBudget);\x0avec3\x20centerWeight\x20=vec3(0.);\x20\x0avec3\x20totalIrradiance=vec3(0.);\x0avec3\x20totalWeight\x20=vec3(0.);\x0afor\x20(int\x20i=0;\x20i<n;\x20i++)\x0a{\x0aEvaluateSample(i,n,S,d,centerPosVS,mmPerUnit,pixelsPerMm,\x0aphase,totalIrradiance,totalWeight);\x0a}\x0atotalWeight=max(totalWeight,HALF_MIN);\x0agl_FragColor=vec4(inputColor.rgb+albedo*max(totalIrradiance/totalWeight,vec3(0.0)),1.);\x0a}','add','rawBoundingInfo','update','availableTextures','type','mapAsync','_reflectionColorName','gradientVertexShader','_getGLType','isPickable','uniform\x20float\x20conversion;\x0auniform\x20sampler2D\x20textureSampler;\x0avarying\x20vec2\x20vUV;\x0a#include<helperFunctions>\x0avoid\x20main(void)\x20\x0a{\x0avec4\x20color=texture2D(textureSampler,vUV);\x0a#ifdef\x20DEPTH_TEXTURE\x0agl_FragDepth=color.r;\x0a#else\x0aif\x20(conversion==1.)\x20{\x0acolor=toLinearSpace(color);\x0a}\x20else\x20if\x20(conversion==2.)\x20{\x0acolor=toGammaSpace(color);\x0a}\x0agl_FragColor=color;\x0a#endif\x0a}\x0a','startsWith','viewProjectionR','_textureMode','uv6','INVERTCUBICMAP','processTrigger','Matrix','LINEAR','setBlendConstant','crossEyeMode','_depthTest','POINTERDOWN','getHashCode','ASTC8x6UnormSRGB','processor','Size','getUniforms','Depth24UnormStencil8','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0auniform\x20mat4\x20diffuseMatrix;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0agl_Position=viewProjection*worldPos;\x0avPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0aif\x20(vDiffuseInfos.x==0.)\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\x0a}\x0aelse\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a}\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','isExist','copyBufferToTexture','RGBA8Sint','bindBufferBase','DEPTH_TEST','AutoSamplerSuffix','_internalAbstractMeshDataInfo','_beforeCompositionPostProcesses','importExternalTexture','_IsInternalTexture','size','TEXTURETYPE_UNSIGNED_SHORT_4_4_4_4','GEQUAL','#ifdef\x20TEXTURELODSUPPORT\x0a#extension\x20GL_EXT_shader_texture_lod\x20:\x20enable\x0a#endif\x0aprecision\x20highp\x20float;\x0a#include<__decl__backgroundFragment>\x0a#include<helperFunctions>\x0a#define\x20RECIPROCAL_PI2\x200.15915494\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20MAINUV1\x0avarying\x20vec2\x20vMainUV1;\x0a#endif\x20\x0a#ifdef\x20MAINUV2\x20\x0avarying\x20vec2\x20vMainUV2;\x20\x0a#endif\x20\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20DIFFUSE\x0a#if\x20DIFFUSEDIRECTUV==1\x0a#define\x20vDiffuseUV\x20vMainUV1\x0a#elif\x20DIFFUSEDIRECTUV==2\x0a#define\x20vDiffuseUV\x20vMainUV2\x0a#else\x0avarying\x20vec2\x20vDiffuseUV;\x0a#endif\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#ifdef\x20REFLECTION\x0a#ifdef\x20REFLECTIONMAP_3D\x0a#define\x20sampleReflection(s,c)\x20textureCube(s,c)\x0auniform\x20samplerCube\x20reflectionSampler;\x0a#ifdef\x20TEXTURELODSUPPORT\x0a#define\x20sampleReflectionLod(s,c,l)\x20textureCubeLodEXT(s,c,l)\x0a#else\x0auniform\x20samplerCube\x20reflectionSamplerLow;\x0auniform\x20samplerCube\x20reflectionSamplerHigh;\x0a#endif\x0a#else\x0a#define\x20sampleReflection(s,c)\x20texture2D(s,c)\x0auniform\x20sampler2D\x20reflectionSampler;\x0a#ifdef\x20TEXTURELODSUPPORT\x0a#define\x20sampleReflectionLod(s,c,l)\x20texture2DLodEXT(s,c,l)\x0a#else\x0auniform\x20samplerCube\x20reflectionSamplerLow;\x0auniform\x20samplerCube\x20reflectionSamplerHigh;\x0a#endif\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avarying\x20vec3\x20vPositionUVW;\x0a#else\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avarying\x20vec3\x20vDirectionW;\x0a#endif\x0a#endif\x0a#include<reflectionFunction>\x0a#endif\x0a#ifndef\x20FROMLINEARSPACE\x0a#define\x20FROMLINEARSPACE;\x0a#endif\x0a#ifndef\x20SHADOWONLY\x0a#define\x20SHADOWONLY;\x0a#endif\x0a#include<imageProcessingDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<imageProcessingFunctions>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#ifdef\x20REFLECTIONFRESNEL\x0a#define\x20FRESNEL_MAXIMUM_ON_ROUGH\x200.25\x0avec3\x20fresnelSchlickEnvironmentGGX(float\x20VdotN,vec3\x20reflectance0,vec3\x20reflectance90,float\x20smoothness)\x0a{\x0afloat\x20weight=mix(FRESNEL_MAXIMUM_ON_ROUGH,1.0,smoothness);\x0areturn\x20reflectance0+weight*(reflectance90-reflectance0)*pow5(saturate(1.0-VdotN));\x0a}\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(0.0,1.0,0.0);\x0a#endif\x0afloat\x20shadow=1.;\x0afloat\x20globalShadow=0.;\x0afloat\x20shadowLightCount=0.;\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0a#ifdef\x20SHADOWINUSE\x0aglobalShadow/=shadowLightCount;\x0a#else\x0aglobalShadow=1.0;\x0a#endif\x0a#ifndef\x20BACKMAT_SHADOWONLY\x0avec4\x20reflectionColor=vec4(1.,1.,1.,1.);\x0a#ifdef\x20REFLECTION\x0avec3\x20reflectionVector=computeReflectionCoords(vec4(vPositionW,1.0),normalW);\x0a#ifdef\x20REFLECTIONMAP_OPPOSITEZ\x0areflectionVector.z*=-1.0;\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0avec3\x20reflectionCoords=reflectionVector;\x0a#else\x0avec2\x20reflectionCoords=reflectionVector.xy;\x0a#ifdef\x20REFLECTIONMAP_PROJECTION\x0areflectionCoords/=reflectionVector.z;\x0a#endif\x0areflectionCoords.y=1.0-reflectionCoords.y;\x0a#endif\x0a#ifdef\x20REFLECTIONBLUR\x0afloat\x20reflectionLOD=vReflectionInfos.y;\x0a#ifdef\x20TEXTURELODSUPPORT\x0areflectionLOD=reflectionLOD*log2(vReflectionMicrosurfaceInfos.x)*vReflectionMicrosurfaceInfos.y+vReflectionMicrosurfaceInfos.z;\x0areflectionColor=sampleReflectionLod(reflectionSampler,reflectionCoords,reflectionLOD);\x0a#else\x0afloat\x20lodReflectionNormalized=saturate(reflectionLOD);\x0afloat\x20lodReflectionNormalizedDoubled=lodReflectionNormalized*2.0;\x0avec4\x20reflectionSpecularMid=sampleReflection(reflectionSampler,reflectionCoords);\x0aif(lodReflectionNormalizedDoubled<1.0){\x0areflectionColor=mix(\x0asampleReflection(reflectionSamplerHigh,reflectionCoords),\x0areflectionSpecularMid,\x0alodReflectionNormalizedDoubled\x0a);\x0a}\x20else\x20{\x0areflectionColor=mix(\x0areflectionSpecularMid,\x0asampleReflection(reflectionSamplerLow,reflectionCoords),\x0alodReflectionNormalizedDoubled-1.0\x0a);\x0a}\x0a#endif\x0a#else\x0avec4\x20reflectionSample=sampleReflection(reflectionSampler,reflectionCoords);\x0areflectionColor=reflectionSample;\x0a#endif\x0a#ifdef\x20RGBDREFLECTION\x0areflectionColor.rgb=fromRGBD(reflectionColor);\x0a#endif\x0a#ifdef\x20GAMMAREFLECTION\x0areflectionColor.rgb=toLinearSpace(reflectionColor.rgb);\x0a#endif\x0a#ifdef\x20REFLECTIONBGR\x0areflectionColor.rgb=reflectionColor.bgr;\x0a#endif\x0areflectionColor.rgb*=vReflectionInfos.x;\x0a#endif\x0avec3\x20diffuseColor=vec3(1.,1.,1.);\x0afloat\x20finalAlpha=alpha;\x0a#ifdef\x20DIFFUSE\x0avec4\x20diffuseMap=texture2D(diffuseSampler,vDiffuseUV);\x0a#ifdef\x20GAMMADIFFUSE\x0adiffuseMap.rgb=toLinearSpace(diffuseMap.rgb);\x0a#endif\x0adiffuseMap.rgb*=vDiffuseInfos.y;\x0a#ifdef\x20DIFFUSEHASALPHA\x0afinalAlpha*=diffuseMap.a;\x0a#endif\x0adiffuseColor=diffuseMap.rgb;\x0a#endif\x0a#ifdef\x20REFLECTIONFRESNEL\x0avec3\x20colorBase=diffuseColor;\x0a#else\x0avec3\x20colorBase=reflectionColor.rgb*diffuseColor;\x0a#endif\x0acolorBase=max(colorBase,0.0);\x0a#ifdef\x20USERGBCOLOR\x0avec3\x20finalColor=colorBase;\x0a#else\x0a#ifdef\x20USEHIGHLIGHTANDSHADOWCOLORS\x0avec3\x20mainColor=mix(vPrimaryColorShadow.rgb,vPrimaryColor.rgb,colorBase);\x0a#else\x0avec3\x20mainColor=vPrimaryColor.rgb;\x0a#endif\x0avec3\x20finalColor=colorBase*mainColor;\x0a#endif\x0a#ifdef\x20REFLECTIONFRESNEL\x0avec3\x20reflectionAmount=vReflectionControl.xxx;\x0avec3\x20reflectionReflectance0=vReflectionControl.yyy;\x0avec3\x20reflectionReflectance90=vReflectionControl.zzz;\x0afloat\x20VdotN=dot(normalize(vEyePosition.xyz),normalW);\x0avec3\x20planarReflectionFresnel=fresnelSchlickEnvironmentGGX(saturate(VdotN),reflectionReflectance0,reflectionReflectance90,1.0);\x0areflectionAmount*=planarReflectionFresnel;\x0a#ifdef\x20REFLECTIONFALLOFF\x0afloat\x20reflectionDistanceFalloff=1.0-saturate(length(vPositionW.xyz-vBackgroundCenter)*vReflectionControl.w);\x0areflectionDistanceFalloff*=reflectionDistanceFalloff;\x0areflectionAmount*=reflectionDistanceFalloff;\x0a#endif\x0afinalColor=mix(finalColor,reflectionColor.rgb,saturate(reflectionAmount));\x0a#endif\x0a#ifdef\x20OPACITYFRESNEL\x0afloat\x20viewAngleToFloor=dot(normalW,normalize(vEyePosition.xyz-vBackgroundCenter));\x0aconst\x20float\x20startAngle=0.1;\x0afloat\x20fadeFactor=saturate(viewAngleToFloor/startAngle);\x0afinalAlpha*=fadeFactor*fadeFactor;\x0a#endif\x0a#ifdef\x20SHADOWINUSE\x0afinalColor=mix(finalColor*shadowLevel,finalColor,globalShadow);\x0a#endif\x0avec4\x20color=vec4(finalColor,finalAlpha);\x0a#else\x0avec4\x20color=vec4(vPrimaryColor.rgb,(1.0-clamp(globalShadow,0.,1.))*alpha);\x0a#endif\x0a#include<fogFragment>\x0a#ifdef\x20IMAGEPROCESSINGPOSTPROCESS\x0a#if\x20!defined(SKIPFINALCOLORCLAMP)\x0acolor.rgb=clamp(color.rgb,0.,30.0);\x0a#endif\x0a#else\x0acolor=applyImageProcessing(color);\x0a#endif\x0a#ifdef\x20PREMULTIPLYALPHA\x0acolor.rgb*=color.a;\x0a#endif\x0a#ifdef\x20NOISE\x0acolor.rgb+=dither(vPositionW.xy,0.5);\x0acolor=max(color,0.0);\x0a#endif\x0agl_FragColor=color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','textureLod(','depthVertexShader','_blurPostProcesses','addEventListener','_meshPickProceed','_camera','useDirectMapping','onPointerUp','blurDepthScale','getClassName','AddTagsTo','needsImageProcessing','dataOffsetStart','LIGHTMAP_DEFAULT','LIGHTTYPEID_HEMISPHERICLIGHT','screenSpaceReflection2BlurPixelShader','uniform\x20sampler2D\x20textureSampler;\x20\x0auniform\x20float\x20gain;\x0auniform\x20float\x20threshold;\x0auniform\x20float\x20screen_width;\x0auniform\x20float\x20screen_height;\x0avarying\x20vec2\x20vUV;\x0avec4\x20highlightColor(vec4\x20color)\x20{\x0avec4\x20highlight=color;\x0afloat\x20luminance=dot(highlight.rgb,vec3(0.2125,0.7154,0.0721));\x0afloat\x20lum_threshold;\x0aif\x20(threshold>1.0)\x20{\x20lum_threshold=0.94+0.01*threshold;\x20}\x0aelse\x20{\x20lum_threshold=0.5+0.44*threshold;\x20}\x0aluminance=clamp((luminance-lum_threshold)*(1.0/(1.0-lum_threshold)),0.0,1.0);\x0ahighlight*=luminance*gain;\x0ahighlight.a=1.0;\x0areturn\x20highlight;\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec4\x20original=texture2D(textureSampler,vUV);\x0aif\x20(gain==-1.0)\x20{\x0agl_FragColor=vec4(0.0,0.0,0.0,1.0);\x0areturn;\x0a}\x0afloat\x20w=2.0/screen_width;\x0afloat\x20h=2.0/screen_height;\x0afloat\x20weight=1.0;\x0avec4\x20blurred=vec4(0.0,0.0,0.0,0.0);\x0a#ifdef\x20PENTAGON\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.84*w,0.43*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.48*w,-1.29*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.61*w,1.51*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.55*w,-0.74*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.71*w,-0.52*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.94*w,1.59*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.40*w,-1.87*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.62*w,1.16*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.09*w,0.25*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.46*w,-1.71*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.08*w,2.42*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.85*w,-1.89*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.89*w,0.16*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.29*w,1.88*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.40*w,-2.81*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.54*w,2.26*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.60*w,-0.61*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.31*w,-1.30*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.83*w,2.53*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.12*w,-2.48*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.60*w,1.11*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.82*w,0.99*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.50*w,-2.81*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.85*w,3.33*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.94*w,-1.92*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(3.27*w,-0.53*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.95*w,2.48*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.23*w,-3.04*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.17*w,2.05*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.97*w,-0.04*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.25*w,-2.00*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.31*w,3.08*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.94*w,-2.59*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(3.37*w,0.64*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-3.13*w,1.93*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.03*w,-3.65*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.60*w,3.17*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-3.14*w,-1.19*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(3.00*w,-1.19*h)));\x0a#else\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.85*w,0.36*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.52*w,-1.14*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.46*w,1.42*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.46*w,-0.83*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.79*w,-0.42*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.11*w,1.62*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.29*w,-2.07*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.69*w,1.39*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.28*w,0.12*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.65*w,-1.69*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.08*w,2.44*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.63*w,-1.90*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.55*w,0.31*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.13*w,1.52*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.56*w,-2.61*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.38*w,2.34*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.64*w,-0.81*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.53*w,-1.21*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.06*w,2.63*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.00*w,-2.69*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.59*w,1.32*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.82*w,0.78*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.57*w,-2.50*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.54*w,2.93*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.39*w,-1.81*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(3.01*w,-0.28*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.04*w,2.25*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.02*w,-3.05*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.09*w,2.25*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-3.07*w,-0.25*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.44*w,-1.90*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.52*w,3.05*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.68*w,-2.61*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(3.01*w,0.79*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.76*w,1.46*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.05*w,-2.94*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.21*w,2.88*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.84*w,-1.30*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.98*w,-0.96*h)));\x0a#endif\x0ablurred/=39.0;\x0agl_FragColor=blurred;\x0a}','entries','release','precision\x20highp\x20float;\x0a#ifdef\x20LOGARITHMICDEPTH\x0a#extension\x20GL_EXT_frag_depth\x20:\x20enable\x0a#endif\x0auniform\x20sampler2D\x20diffuseSampler;\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec4\x20vColor;\x0a#include<clipPlaneFragmentDeclaration2>\x20\x0a#include<imageProcessingDeclaration>\x0a#include<logDepthDeclaration>\x0a#include<helperFunctions>\x0a#include<imageProcessingFunctions>\x0avoid\x20main()\x20{\x0a#include<clipPlaneFragment>\x20\x0avec4\x20textureColor=texture2D(diffuseSampler,vUV);\x0agl_FragColor=textureColor*vColor;\x0a#ifdef\x20BLENDMULTIPLYMODE\x0afloat\x20alpha=vColor.a*textureColor.a;\x0agl_FragColor.rgb=gl_FragColor.rgb*alpha+vec3(1.0)*(1.0-alpha);\x0a#endif\x20\x0a#include<logDepthFragment>\x0a#ifdef\x20IMAGEPROCESSINGPOSTPROCESS\x0agl_FragColor.rgb=toLinearSpace(gl_FragColor.rgb);\x0a#else\x0a#ifdef\x20IMAGEPROCESSING\x0agl_FragColor.rgb=toLinearSpace(gl_FragColor.rgb);\x0agl_FragColor=applyImageProcessing(gl_FragColor);\x0a#endif\x0a#endif\x0a}\x0a','_coroutineScheduler','metersPerUnit','_material','TEXTURE_CUBE_MAP','assign','emitFragment','varying\x20vec2\x20vUV;\x0auniform\x20samplerCube\x20textureSampler;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0avec2\x20uv=vUV*2.0-1.0;\x0a#ifdef\x20POSITIVEX\x0agl_FragColor=textureCube(textureSampler,vec3(1.001,uv.y,uv.x));\x0a#endif\x0a#ifdef\x20NEGATIVEX\x0agl_FragColor=textureCube(textureSampler,vec3(-1.001,uv.y,uv.x));\x0a#endif\x0a#ifdef\x20POSITIVEY\x0agl_FragColor=textureCube(textureSampler,vec3(uv.y,1.001,uv.x));\x0a#endif\x0a#ifdef\x20NEGATIVEY\x0agl_FragColor=textureCube(textureSampler,vec3(uv.y,-1.001,uv.x));\x0a#endif\x0a#ifdef\x20POSITIVEZ\x0agl_FragColor=textureCube(textureSampler,vec3(uv,1.001));\x0a#endif\x0a#ifdef\x20NEGATIVEZ\x0agl_FragColor=textureCube(textureSampler,vec3(uv,-1.001));\x0a#endif\x0a}','INTENSITYMODE_AUTOMATIC','_currentLayer','getRenderPipeline','ASTC12x12Unorm','_projectOnTrianglesToRef','Unable\x20to\x20create\x20dynamic\x20uniform\x20buffer','s3tc','morphTargetsVertexGlobalDeclaration','render','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20','InvertY','play','_blurTextureFormat','setDepthWrite','releaseVertexArrayObject','_isDepthMaskDirty','_endRenderTargetRenderPass','\x20premultiplyAlpha=','blocksWithFallbacks','setVerticesBuffer','ExponentialBackoff','#ifdef\x20MAINUV{X}\x0avarying\x20vec2\x20vMainUV{X};\x0a#endif\x0a','_FileToolsLoadFile','setPipeline','132UswncQ','setColor3','#extension\x20GL_EXT_draw_buffers\x20:\x20require\x0a#if\x20defined(BUMP)\x20||\x20!defined(NORMAL)\x0a#extension\x20GL_OES_standard_derivatives\x20:\x20enable\x0a#endif\x0aprecision\x20highp\x20float;\x0a#ifdef\x20BUMP\x0avarying\x20mat4\x20vWorldView;\x0avarying\x20vec3\x20vNormalW;\x0a#else\x0avarying\x20vec3\x20vNormalV;\x0a#endif\x0avarying\x20vec4\x20vViewPos;\x0a#if\x20defined(POSITION)\x20||\x20defined(BUMP)\x0avarying\x20vec3\x20vPositionW;\x0a#endif\x0a#ifdef\x20VELOCITY\x0avarying\x20vec4\x20vCurrentPosition;\x0avarying\x20vec4\x20vPreviousPosition;\x0a#endif\x0a#ifdef\x20NEED_UV\x0avarying\x20vec2\x20vUV;\x0a#endif\x0a#ifdef\x20BUMP\x0auniform\x20vec3\x20vBumpInfos;\x0auniform\x20vec2\x20vTangentSpaceParams;\x0a#endif\x0a#if\x20defined(REFLECTIVITY)\x0a#if\x20defined(ORMTEXTURE)\x20||\x20defined(SPECULARGLOSSINESSTEXTURE)\x20||\x20defined(REFLECTIVITYTEXTURE)\x0auniform\x20sampler2D\x20reflectivitySampler;\x0avarying\x20vec2\x20vReflectivityUV;\x0a#endif\x0a#ifdef\x20ALBEDOTEXTURE\x0avarying\x20vec2\x20vAlbedoUV;\x0auniform\x20sampler2D\x20albedoSampler;\x0a#endif\x0a#ifdef\x20REFLECTIVITYCOLOR\x0auniform\x20vec3\x20reflectivityColor;\x0a#endif\x0a#ifdef\x20ALBEDOCOLOR\x0auniform\x20vec3\x20albedoColor;\x0a#endif\x0a#ifdef\x20METALLIC\x0auniform\x20float\x20metallic;\x0a#endif\x0a#if\x20defined(ROUGHNESS)\x20||\x20defined(GLOSSINESS)\x0auniform\x20float\x20glossiness;\x0a#endif\x0a#endif\x0a#if\x20defined(ALPHATEST)\x20&&\x20defined(NEED_UV)\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<mrtFragmentDeclaration>[RENDER_TARGET_COUNT]\x0a#include<bumpFragmentMainFunctions>\x0a#include<bumpFragmentFunctions>\x0a#include<helperFunctions>\x0avoid\x20main()\x20{\x0a#include<clipPlaneFragment>\x0a#ifdef\x20ALPHATEST\x0aif\x20(texture2D(diffuseSampler,vUV).a<0.4)\x0adiscard;\x0a#endif\x0avec3\x20normalOutput;\x0a#ifdef\x20BUMP\x0avec3\x20normalW=normalize(vNormalW);\x0a#include<bumpFragment>\x0anormalOutput=normalize(vec3(vWorldView*vec4(normalW,0.0)));\x0a#else\x0anormalOutput=normalize(vNormalV);\x0a#endif\x0a#ifdef\x20PREPASS\x0a#ifdef\x20PREPASS_DEPTH\x0agl_FragData[DEPTH_INDEX]=vec4(vViewPos.z/vViewPos.w,0.0,0.0,1.0);\x0a#endif\x0a#ifdef\x20PREPASS_NORMAL\x0agl_FragData[NORMAL_INDEX]=vec4(normalOutput,1.0);\x0a#endif\x0a#else\x0agl_FragData[0]=vec4(vViewPos.z/vViewPos.w,0.0,0.0,1.0);\x0agl_FragData[1]=vec4(normalOutput,1.0);\x0a#endif\x0a#ifdef\x20POSITION\x0agl_FragData[POSITION_INDEX]=vec4(vPositionW,1.0);\x0a#endif\x0a#ifdef\x20VELOCITY\x0avec2\x20a=(vCurrentPosition.xy/vCurrentPosition.w)*0.5+0.5;\x0avec2\x20b=(vPreviousPosition.xy/vPreviousPosition.w)*0.5+0.5;\x0avec2\x20velocity=abs(a-b);\x0avelocity=vec2(pow(velocity.x,1.0/3.0),pow(velocity.y,1.0/3.0))*sign(a-b)*0.5+0.5;\x0agl_FragData[VELOCITY_INDEX]=vec4(velocity,0.0,1.0);\x0a#endif\x0a#ifdef\x20REFLECTIVITY\x0avec4\x20reflectivity=vec4(0.0,0.0,0.0,1.0);\x0a#ifdef\x20METALLICWORKFLOW\x0afloat\x20metal=1.0;\x0afloat\x20roughness=1.0;\x0a#ifdef\x20ORMTEXTURE\x0ametal*=texture2D(reflectivitySampler,vReflectivityUV).b;\x0aroughness*=texture2D(reflectivitySampler,vReflectivityUV).g;\x0a#endif\x0a#ifdef\x20METALLIC\x0ametal*=metallic;\x0a#endif\x0a#ifdef\x20ROUGHNESS\x0aroughness*=(1.0-glossiness);\x20\x0a#endif\x0areflectivity.a-=roughness;\x0avec3\x20color=vec3(1.0);\x0a#ifdef\x20ALBEDOTEXTURE\x0acolor=texture2D(albedoSampler,vAlbedoUV).rgb;\x0a#ifdef\x20GAMMAALBEDO\x0acolor=toLinearSpace(color);\x0a#endif\x0a#endif\x0a#ifdef\x20ALBEDOCOLOR\x0acolor*=albedoColor.xyz;\x0a#endif\x0areflectivity.rgb=mix(vec3(0.04),color,metal);\x0a#else\x0a#if\x20defined(SPECULARGLOSSINESSTEXTURE)\x20||\x20defined(REFLECTIVITYTEXTURE)\x0areflectivity=texture2D(reflectivitySampler,vReflectivityUV);\x0a#ifdef\x20GAMMAREFLECTIVITYTEXTURE\x0areflectivity.rgb=toLinearSpace(reflectivity.rgb);\x0a#endif\x0a#else\x20\x0a#ifdef\x20REFLECTIVITYCOLOR\x0areflectivity.rgb=toLinearSpace(reflectivityColor.xyz);\x0areflectivity.a=1.0;\x0a#endif\x0a#endif\x0a#ifdef\x20GLOSSINESSS\x0areflectivity.a*=glossiness;\x20\x0a#endif\x0a#endif\x0agl_FragData[REFLECTIVITY_INDEX]=reflectivity;\x0a#endif\x0a}\x0a','depthTextureExtension','_doubleClickOccured','TEXTURE_PLANAR_MODE','_movePointerInfo','_getDepthThreshold','Color4','prepareDefines','availableSamplers','BilateralBlurX','fireVertexShader','readPixels','_injectStartingAndEndingCode','_depthStencilTexture','boundingBoxPosition','clipPlane3','#if\x20defined(BUMP)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump,_SAMPLERNAME_,bump)\x0a#endif\x0a#if\x20defined(DETAIL)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail,_SAMPLERNAME_,detail)\x0a#endif\x0a#if\x20defined(BUMP)\x20&&\x20defined(PARALLAX)\x0aconst\x20float\x20minSamples=4.;\x0aconst\x20float\x20maxSamples=15.;\x0aconst\x20int\x20iMaxSamples=15;\x0avec2\x20parallaxOcclusion(vec3\x20vViewDirCoT,vec3\x20vNormalCoT,vec2\x20texCoord,float\x20parallaxScale)\x20{\x0afloat\x20parallaxLimit=length(vViewDirCoT.xy)/vViewDirCoT.z;\x0aparallaxLimit*=parallaxScale;\x0avec2\x20vOffsetDir=normalize(vViewDirCoT.xy);\x0avec2\x20vMaxOffset=vOffsetDir*parallaxLimit;\x0afloat\x20numSamples=maxSamples+(dot(vViewDirCoT,vNormalCoT)*(minSamples-maxSamples));\x0afloat\x20stepSize=1.0/numSamples;\x0afloat\x20currRayHeight=1.0;\x0avec2\x20vCurrOffset=vec2(0,0);\x0avec2\x20vLastOffset=vec2(0,0);\x0afloat\x20lastSampledHeight=1.0;\x0afloat\x20currSampledHeight=1.0;\x0abool\x20keepWorking=true;\x0afor\x20(int\x20i=0;\x20i<iMaxSamples;\x20i++)\x0a{\x0acurrSampledHeight=texture2D(bumpSampler,texCoord+vCurrOffset).w;\x0aif\x20(!keepWorking)\x0a{\x0a}\x0aelse\x20if\x20(currSampledHeight>currRayHeight)\x0a{\x0afloat\x20delta1=currSampledHeight-currRayHeight;\x0afloat\x20delta2=(currRayHeight+stepSize)-lastSampledHeight;\x0afloat\x20ratio=delta1/(delta1+delta2);\x0avCurrOffset=(ratio)*\x20vLastOffset+(1.0-ratio)*vCurrOffset;\x0akeepWorking=false;\x0a}\x0aelse\x0a{\x0acurrRayHeight-=stepSize;\x0avLastOffset=vCurrOffset;\x0avCurrOffset+=stepSize*vMaxOffset;\x0alastSampledHeight=currSampledHeight;\x0a}\x0a}\x0areturn\x20vCurrOffset;\x0a}\x0avec2\x20parallaxOffset(vec3\x20viewDir,float\x20heightScale)\x0a{\x0afloat\x20height=texture2D(bumpSampler,vBumpUV).w;\x0avec2\x20texCoordOffset=heightScale*viewDir.xy*height;\x0areturn\x20-texCoordOffset;\x0a}\x0a#endif\x0a','_defineCubicName','createGPUTextureForInternalTexture','setIntArray','InternalsUBOName','kernelBlurVertexShader','.texture\x20=\x20new\x20BABYLON.CubeTexture(\x22','ALPHA_SRC_DSTONEMINUSSRCALPHA','getNextFreeUBOBinding','_engine','_useStandardBlur','beginComputePass','Zero','onlyShowShells','createMipMaps','setRawData','_depthStencilTextureWithStencil','Depth','ray','thinInstanceCount','CLIPPLANE5','rightOperand','_zOffsetUnits','markAsTexturesDirty','thinInstanceAddSelf','_isZOffsetDirty','TEXTUREFORMAT_DEPTH24UNORM_STENCIL8','textureCube','clearQuadVertexShader','TEXTURETYPE_SHORT','#ifdef\x20','GL_ES','_swapRenderTargetWrapper','2DSampler','_copyInvertYTempTexture','updateDirectly','precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0a#ifdef\x20SPECULARTERM\x0auniform\x20vec4\x20vSpecularColor;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vTextureUV;\x0auniform\x20sampler2D\x20mixMap1Sampler;\x0auniform\x20vec2\x20vTextureInfos;\x0a#ifdef\x20MIXMAP2\x0auniform\x20sampler2D\x20mixMap2Sampler;\x0a#endif\x0auniform\x20sampler2D\x20diffuse1Sampler;\x0auniform\x20sampler2D\x20diffuse2Sampler;\x0auniform\x20sampler2D\x20diffuse3Sampler;\x0auniform\x20sampler2D\x20diffuse4Sampler;\x0auniform\x20vec2\x20diffuse1Infos;\x0auniform\x20vec2\x20diffuse2Infos;\x0auniform\x20vec2\x20diffuse3Infos;\x0auniform\x20vec2\x20diffuse4Infos;\x0a#ifdef\x20MIXMAP2\x0auniform\x20sampler2D\x20diffuse5Sampler;\x0auniform\x20sampler2D\x20diffuse6Sampler;\x0auniform\x20sampler2D\x20diffuse7Sampler;\x0auniform\x20sampler2D\x20diffuse8Sampler;\x0auniform\x20vec2\x20diffuse5Infos;\x0auniform\x20vec2\x20diffuse6Infos;\x0auniform\x20vec2\x20diffuse7Infos;\x0auniform\x20vec2\x20diffuse8Infos;\x0a#endif\x0a#endif\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20finalMixColor=vec4(1.,1.,1.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0a#ifdef\x20MIXMAP2\x0avec4\x20mixColor2=vec4(1.,1.,1.,1.);\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0afloat\x20glossiness=vSpecularColor.a;\x0avec3\x20specularColor=vSpecularColor.rgb;\x0a#else\x0afloat\x20glossiness=0.;\x0a#endif\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0avec4\x20mixColor=texture2D(mixMap1Sampler,vTextureUV);\x0a#include<depthPrePass>\x0amixColor.rgb*=vTextureInfos.y;\x0avec4\x20diffuse1Color=texture2D(diffuse1Sampler,vTextureUV*diffuse1Infos);\x0avec4\x20diffuse2Color=texture2D(diffuse2Sampler,vTextureUV*diffuse2Infos);\x0avec4\x20diffuse3Color=texture2D(diffuse3Sampler,vTextureUV*diffuse3Infos);\x0avec4\x20diffuse4Color=texture2D(diffuse4Sampler,vTextureUV*diffuse4Infos);\x0adiffuse1Color.rgb*=mixColor.r;\x0adiffuse2Color.rgb=mix(diffuse1Color.rgb,diffuse2Color.rgb,mixColor.g);\x0adiffuse3Color.rgb=mix(diffuse2Color.rgb,diffuse3Color.rgb,mixColor.b);\x0afinalMixColor.rgb=mix(diffuse3Color.rgb,diffuse4Color.rgb,1.0-mixColor.a);\x0a#ifdef\x20MIXMAP2\x0amixColor=texture2D(mixMap2Sampler,vTextureUV);\x0amixColor.rgb*=vTextureInfos.y;\x0avec4\x20diffuse5Color=texture2D(diffuse5Sampler,vTextureUV*diffuse5Infos);\x0avec4\x20diffuse6Color=texture2D(diffuse6Sampler,vTextureUV*diffuse6Infos);\x0avec4\x20diffuse7Color=texture2D(diffuse7Sampler,vTextureUV*diffuse7Infos);\x0avec4\x20diffuse8Color=texture2D(diffuse8Sampler,vTextureUV*diffuse8Infos);\x0adiffuse5Color.rgb=mix(finalMixColor.rgb,diffuse5Color.rgb,mixColor.r);\x0adiffuse6Color.rgb=mix(diffuse5Color.rgb,diffuse6Color.rgb,mixColor.g);\x0adiffuse7Color.rgb=mix(diffuse6Color.rgb,diffuse7Color.rgb,mixColor.b);\x0afinalMixColor.rgb=mix(diffuse7Color.rgb,diffuse8Color.rgb,1.0-mixColor.a);\x0a#endif\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0afinalMixColor.rgb*=vColor.rgb;\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0a#endif\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20finalSpecular=specularBase*specularColor;\x0a#else\x0avec3\x20finalSpecular=vec3(0.0);\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor*finalMixColor.rgb,0.0,1.0);\x0avec4\x20color=vec4(finalDiffuse+finalSpecular,alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','drawContext','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20float\x20_ExposureAdjustment;\x0a#if\x20defined(HABLE_TONEMAPPING)\x0aconst\x20float\x20A=0.15;\x0aconst\x20float\x20B=0.50;\x0aconst\x20float\x20C=0.10;\x0aconst\x20float\x20D=0.20;\x0aconst\x20float\x20E=0.02;\x0aconst\x20float\x20F=0.30;\x0aconst\x20float\x20W=11.2;\x0a#endif\x0afloat\x20Luminance(vec3\x20c)\x0a{\x0areturn\x20dot(c,vec3(0.22,0.707,0.071));\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0avec3\x20colour=texture2D(textureSampler,vUV).rgb;\x0a#if\x20defined(REINHARD_TONEMAPPING)\x0afloat\x20lum=Luminance(colour.rgb);\x20\x0afloat\x20lumTm=lum*_ExposureAdjustment;\x0afloat\x20scale=lumTm/(1.0+lumTm);\x20\x0acolour*=scale/lum;\x0a#elif\x20defined(HABLE_TONEMAPPING)\x0acolour*=_ExposureAdjustment;\x0aconst\x20float\x20ExposureBias=2.0;\x0avec3\x20x=ExposureBias*colour;\x0avec3\x20curr=((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F;\x0ax=vec3(W,W,W);\x0avec3\x20whiteScale=1.0/(((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F);\x0acolour=curr*whiteScale;\x0a#elif\x20defined(OPTIMIZED_HEJIDAWSON_TONEMAPPING)\x0acolour*=_ExposureAdjustment;\x0avec3\x20X=max(vec3(0.0,0.0,0.0),colour-0.004);\x0avec3\x20retColor=(X*(6.2*X+0.5))/(X*(6.2*X+1.7)+0.06);\x0acolour=retColor*retColor;\x0a#elif\x20defined(PHOTOGRAPHIC_TONEMAPPING)\x0acolour=\x20vec3(1.0,1.0,1.0)-exp2(-_ExposureAdjustment*colour);\x0a#endif\x0agl_FragColor=vec4(colour.rgb,1.0);\x0a}','faceIndices','setLayerAndFaceIndices','cullFace','pbrBlockNormalGeometric','Int','_direction','meshUVSpaceRendererPixelShader','FromArrayToRef','_alphaEquation','releaseBuffer','additionalData','R32Sint','#define\x20INVERTY\x0d\x0a','_processStridedUniformArrays','_oldHardwareScaleFactor','encode','renderPass','_onVrDisplayPresentChange','textE','_width','createRawCubeTextureFromUrl','precision\x20highp\x20float;\x0auniform\x20sampler2D\x20uFrontColor;\x0auniform\x20sampler2D\x20uBackColor;\x0avoid\x20main()\x20{\x0aivec2\x20fragCoord=ivec2(gl_FragCoord.xy);\x0avec4\x20frontColor=texelFetch(uFrontColor,fragCoord,0);\x0avec4\x20backColor=texelFetch(uBackColor,fragCoord,0);\x0afloat\x20alphaMultiplier=1.0-frontColor.a;\x0aglFragColor=vec4(\x0afrontColor.rgb+alphaMultiplier*backColor.rgb,\x0afrontColor.a+backColor.a\x0a);\x0a}','FromArray','TEXTURETYPE_FLOAT','importanceSampling','getHierarchyEmittedParticleSystems','computeDispatch:\x20The\x20texture\x20(name=','attribute\x20vec3\x20position;\x0aattribute\x20vec2\x20offset;\x0aattribute\x20vec4\x20color;\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20vec2\x20size;\x0avarying\x20vec2\x20uv;\x0avarying\x20vec3\x20diffuseColor;\x0avoid\x20main(void)\x20{\x0avec3\x20cornerPos;\x0acornerPos.xy=vec2(offset.x-0.5,offset.y-0.5)*size;\x0acornerPos.z=0.0;\x0avec3\x20viewPos=(view*vec4(position,1.0)).xyz+cornerPos;\x0agl_Position=projection*vec4(viewPos,1.0);\x0auv=offset;\x0adiffuseColor=color.rgb;\x0a}\x0a','\x20/=\x20','addDiffusionProfile','_prepareWorkingCanvas','autoConfigure','_previousStartingPointerPosition','_ubInvertY','generateMipmap','_constantDeclaration','orderedAttributes','GetRightPlaneToRef','_pickMove','lightFragment','setScissorRect','sampler','includesShadersStore','lensFlareVertexShader','doubleClick','ALPHA_LAYER_ACCUMULATE','setInt2','_areImageProcessingDirty','\x0a\x20\x20\x20\x20layout(set\x20=\x200,\x20binding\x20=\x200)\x20uniform\x20sampler\x20imgSampler;\x0a\x20\x20\x20\x20layout(set\x20=\x200,\x20binding\x20=\x201)\x20uniform\x20texture2D\x20img;\x0a\x0a\x20\x20\x20\x20layout(location\x20=\x200)\x20in\x20vec2\x20vTex;\x0a\x20\x20\x20\x20layout(location\x20=\x200)\x20out\x20vec4\x20outColor;\x0a\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20outColor\x20=\x20texture(sampler2D(img,\x20imgSampler),\x20vTex);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','setFloat3','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20BUMP\x0avarying\x20vec2\x20vNormalUV;\x0a#ifdef\x20BUMPSUPERIMPOSE\x0avarying\x20vec2\x20vNormalUV2;\x0a#endif\x0auniform\x20mat4\x20normalMatrix;\x0auniform\x20vec2\x20vNormalInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<logDepthDeclaration>\x0auniform\x20mat4\x20worldReflectionViewProjection;\x0auniform\x20vec2\x20windDirection;\x0auniform\x20float\x20waveLength;\x0auniform\x20float\x20time;\x0auniform\x20float\x20windForce;\x0auniform\x20float\x20waveHeight;\x0auniform\x20float\x20waveSpeed;\x0auniform\x20float\x20waveCount;\x0avarying\x20vec3\x20vPosition;\x0avarying\x20vec3\x20vRefractionMapTexCoord;\x0avarying\x20vec3\x20vReflectionMapTexCoord;\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0avPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20BUMP\x0aif\x20(vNormalInfos.x==0.)\x0a{\x0avNormalUV=vec2(normalMatrix*vec4((uv*1.0)/waveLength+time*windForce*windDirection,1.0,0.0));\x0a#ifdef\x20BUMPSUPERIMPOSE\x0avNormalUV2=vec2(normalMatrix*vec4((uv*0.721)/waveLength+time*1.2*windForce*windDirection,1.0,0.0));\x0a#endif\x0a}\x0aelse\x0a{\x0avNormalUV=vec2(normalMatrix*vec4((uv2*1.0)/waveLength+time*windForce*windDirection\x20,1.0,0.0));\x0a#ifdef\x20BUMPSUPERIMPOSE\x0avNormalUV2=vec2(normalMatrix*vec4((uv2*0.721)/waveLength+time*1.2*windForce*windDirection\x20,1.0,0.0));\x0a#endif\x0a}\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0afloat\x20finalWaveCount=1.0/(waveCount*0.5);\x0avec3\x20p=position;\x0afloat\x20newY=(sin(((p.x/finalWaveCount)+time*waveSpeed))*waveHeight*windDirection.x*5.0)\x0a+\x20(cos(((p.z/finalWaveCount)+\x20time*waveSpeed))*waveHeight*windDirection.y*5.0);\x0ap.y+=abs(newY);\x0agl_Position=viewProjection*finalWorld*vec4(p,1.0);\x0a#ifdef\x20REFLECTION\x0aworldPos=viewProjection*finalWorld*vec4(p,1.0);\x0avPosition=position;\x0avRefractionMapTexCoord.x=0.5*(worldPos.w+worldPos.x);\x0avRefractionMapTexCoord.y=0.5*(worldPos.w+worldPos.y);\x0avRefractionMapTexCoord.z=worldPos.w;\x0aworldPos=worldReflectionViewProjection*vec4(position,1.0);\x0avReflectionMapTexCoord.x=0.5*(worldPos.w+worldPos.x);\x0avReflectionMapTexCoord.y=0.5*(worldPos.w+worldPos.y);\x0avReflectionMapTexCoord.z=worldPos.w;\x0a#endif\x0a#include<logDepthVertex>\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','reduce','bindUniformBuffer','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20mat4\x20kernelMatrix;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec3\x20baseColor=texture2D(textureSampler,vUV).rgb;\x0avec3\x20updatedColor=(kernelMatrix*vec4(baseColor,1.0)).rgb;\x0agl_FragColor=vec4(updatedColor,1.0);\x0a}','_numFloatTextures','allowEmptyVertexProgram','unmap','vec4\x20pack(float\x20depth)\x0a{\x0aconst\x20vec4\x20bit_shift=vec4(255.0*255.0*255.0,255.0*255.0,255.0,1.0);\x0aconst\x20vec4\x20bit_mask=vec4(0.0,1.0/255.0,1.0/255.0,1.0/255.0);\x0avec4\x20res=fract(depth*bit_shift);\x0ares-=res.xxyz*bit_mask;\x0areturn\x20res;\x0a}\x0afloat\x20unpack(vec4\x20color)\x0a{\x0aconst\x20vec4\x20bit_shift=vec4(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);\x0areturn\x20dot(color,bit_shift);\x0a}','ONE_MINUS_SRC_COLOR','splice','start','_addTextureBindingDescription','isSupported','_processCustomBuffers','updateDynamicVertexBuffer','_isAlphaBlendDirty','setStencilCompare','vrdisplayconnect','#extension\x20GL_OVR_multiview2\x20:\x20require\x0alayout\x20(num_views\x20=\x202)\x20in;\x0a','setColorWrite','previous','_bindGroupEntries','pollInput','startPositionFunction','model','TriangleStrip','createComputePipelineContext','updateUInt4','#else\x0d\x0a','\x20\x20fragmentInputs\x20=\x20input;\x0a\x20\x20','standardPixelShader','createComputeContext','first','preventDefaultOnPointerDown','updateId','actionManager','statusText','_reflectionVectorName','setAll','GL_ALPHA_EQUATION_MAX','onDisposeObservable','_tempVector','_readTexturePixels','_animationStarted','boxMin','UniformSizes','struct\x20reflectivityOutParams\x0a{\x0afloat\x20microSurface;\x0afloat\x20roughness;\x0avec3\x20surfaceReflectivityColor;\x0a#ifdef\x20METALLICWORKFLOW\x0avec3\x20surfaceAlbedo;\x0a#endif\x0a#if\x20defined(METALLICWORKFLOW)\x20&&\x20defined(REFLECTIVITY)\x20&&\x20defined(AOSTOREINMETALMAPRED)\x0avec3\x20ambientOcclusionColor;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0avec4\x20surfaceMetallicColorMap;\x0avec4\x20surfaceReflectivityColorMap;\x0avec2\x20metallicRoughness;\x0avec3\x20metallicF0;\x0a#endif\x0a};\x0a#define\x20pbr_inline\x0avoid\x20reflectivityBlock(\x0ain\x20vec4\x20vReflectivityColor,\x0a#ifdef\x20METALLICWORKFLOW\x0ain\x20vec3\x20surfaceAlbedo,\x0ain\x20vec4\x20metallicReflectanceFactors,\x0a#endif\x0a#ifdef\x20REFLECTIVITY\x0ain\x20vec3\x20reflectivityInfos,\x0ain\x20vec4\x20surfaceMetallicOrReflectivityColorMap,\x0a#endif\x0a#if\x20defined(METALLICWORKFLOW)\x20&&\x20defined(REFLECTIVITY)\x20&&\x20defined(AOSTOREINMETALMAPRED)\x0ain\x20vec3\x20ambientOcclusionColorIn,\x0a#endif\x0a#ifdef\x20MICROSURFACEMAP\x0ain\x20vec4\x20microSurfaceTexel,\x0a#endif\x0a#ifdef\x20DETAIL\x0ain\x20vec4\x20detailColor,\x0ain\x20vec4\x20vDetailInfos,\x0a#endif\x0aout\x20reflectivityOutParams\x20outParams\x0a)\x0a{\x0afloat\x20microSurface=vReflectivityColor.a;\x0avec3\x20surfaceReflectivityColor=vReflectivityColor.rgb;\x0a#ifdef\x20METALLICWORKFLOW\x0avec2\x20metallicRoughness=surfaceReflectivityColor.rg;\x0a#ifdef\x20REFLECTIVITY\x0a#if\x20DEBUGMODE>0\x0aoutParams.surfaceMetallicColorMap=surfaceMetallicOrReflectivityColorMap;\x0a#endif\x0a#ifdef\x20AOSTOREINMETALMAPRED\x0avec3\x20aoStoreInMetalMap=vec3(surfaceMetallicOrReflectivityColorMap.r,surfaceMetallicOrReflectivityColorMap.r,surfaceMetallicOrReflectivityColorMap.r);\x0aoutParams.ambientOcclusionColor=mix(ambientOcclusionColorIn,aoStoreInMetalMap,reflectivityInfos.z);\x0a#endif\x0a#ifdef\x20METALLNESSSTOREINMETALMAPBLUE\x0ametallicRoughness.r*=surfaceMetallicOrReflectivityColorMap.b;\x0a#else\x0ametallicRoughness.r*=surfaceMetallicOrReflectivityColorMap.r;\x0a#endif\x0a#ifdef\x20ROUGHNESSSTOREINMETALMAPALPHA\x0ametallicRoughness.g*=surfaceMetallicOrReflectivityColorMap.a;\x0a#else\x0a#ifdef\x20ROUGHNESSSTOREINMETALMAPGREEN\x0ametallicRoughness.g*=surfaceMetallicOrReflectivityColorMap.g;\x0a#endif\x0a#endif\x0a#endif\x0a#ifdef\x20DETAIL\x0afloat\x20detailRoughness=mix(0.5,detailColor.b,vDetailInfos.w);\x0afloat\x20loLerp=mix(0.,metallicRoughness.g,detailRoughness*2.);\x0afloat\x20hiLerp=mix(metallicRoughness.g,1.,(detailRoughness-0.5)*2.);\x0ametallicRoughness.g=mix(loLerp,hiLerp,step(detailRoughness,0.5));\x0a#endif\x0a#ifdef\x20MICROSURFACEMAP\x0ametallicRoughness.g*=microSurfaceTexel.r;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0aoutParams.metallicRoughness=metallicRoughness;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_UPDATE_METALLICROUGHNESS\x0amicroSurface=1.0-metallicRoughness.g;\x0avec3\x20baseColor=surfaceAlbedo;\x0a#ifdef\x20FROSTBITE_REFLECTANCE\x0aoutParams.surfaceAlbedo=baseColor.rgb*(1.0-metallicRoughness.r);\x0asurfaceReflectivityColor=mix(0.16*reflectance*reflectance,baseColor,metallicRoughness.r);\x0a#else\x0avec3\x20metallicF0=metallicReflectanceFactors.rgb;\x0a#if\x20DEBUGMODE>0\x0aoutParams.metallicF0=metallicF0;\x0a#endif\x0aoutParams.surfaceAlbedo=mix(baseColor.rgb*(1.0-metallicF0),vec3(0.,0.,0.),metallicRoughness.r);\x0asurfaceReflectivityColor=mix(metallicF0,baseColor,metallicRoughness.r);\x0a#endif\x0a#else\x0a#ifdef\x20REFLECTIVITY\x0asurfaceReflectivityColor*=surfaceMetallicOrReflectivityColorMap.rgb;\x0a#if\x20DEBUGMODE>0\x0aoutParams.surfaceReflectivityColorMap=surfaceMetallicOrReflectivityColorMap;\x0a#endif\x0a#ifdef\x20MICROSURFACEFROMREFLECTIVITYMAP\x0amicroSurface*=surfaceMetallicOrReflectivityColorMap.a;\x0amicroSurface*=reflectivityInfos.z;\x0a#else\x0a#ifdef\x20MICROSURFACEAUTOMATIC\x0amicroSurface*=computeDefaultMicroSurface(microSurface,surfaceReflectivityColor);\x0a#endif\x0a#ifdef\x20MICROSURFACEMAP\x0amicroSurface*=microSurfaceTexel.r;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_UPDATE_MICROSURFACE\x0a#endif\x0a#endif\x0a#endif\x0amicroSurface=saturate(microSurface);\x0afloat\x20roughness=1.-microSurface;\x0aoutParams.microSurface=microSurface;\x0aoutParams.roughness=roughness;\x0aoutParams.surfaceReflectivityColor=surfaceReflectivityColor;\x0a}\x0a','matricesWeightsExtra','.rgb','DEPTH24_STENCIL8','uniform\x20sampler2DArray\x20','TEXTUREFORMAT_RGBA_INTEGER','number','_enabled','cellIndex','toFixed','MouseWheelZ','RG16Float','markAsMiscDirty','samplerVertexImplementation','setAsSystemValue','pbrBRDFFunctions','fragmentInputs.position','process','_defineEquirectangularName','BilateralBlurY','#version\x20300\x20es','addOnce','_setCubeMapTextureParams','ssaoPixelShader','getError','lightUboDeclaration','setExternalTexture','isMainRender','MAINUV1','applyImpulse','updateRenderTargetTextureSampleCount','#ifdef\x20PREPASS_DEPTH\x0avViewPos=(view*worldPos).rgb;\x0a#endif\x0a#if\x20defined(PREPASS_VELOCITY)\x20&&\x20defined(BONES_VELOCITY_ENABLED)\x0avCurrentPosition=viewProjection*worldPos;\x0a#if\x20NUM_BONE_INFLUENCERS>0\x0amat4\x20previousInfluence;\x0apreviousInfluence=mPreviousBones[int(matricesIndices[0])]*matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0apreviousInfluence+=mPreviousBones[int(matricesIndices[1])]*matricesWeights[1];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0apreviousInfluence+=mPreviousBones[int(matricesIndices[2])]*matricesWeights[2];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0apreviousInfluence+=mPreviousBones[int(matricesIndices[3])]*matricesWeights[3];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[0])]*matricesWeightsExtra[0];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[1])]*matricesWeightsExtra[1];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[2])]*matricesWeightsExtra[2];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[3])]*matricesWeightsExtra[3];\x0a#endif\x0avPreviousPosition=previousViewProjection*finalPreviousWorld*previousInfluence*vec4(positionUpdated,1.0);\x0a#else\x0avPreviousPosition=previousViewProjection*finalPreviousWorld*vec4(positionUpdated,1.0);\x0a#endif\x0a#endif\x0a','TEXTURE_3D','RGBA32Uint','BC5RGUnorm','markAllMaterialsAsDirty','TEXTUREFORMAT_COMPRESSED_RGBA8_ETC2_EAC','setDepthCompare','morphTargetsVertex','World','releaseMSAATexture','scale','BC7RGBAUnorm','_debugPushGroup','_lastUpdateFrameId','_createDepthStencilCubeTexture','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0aconst\x20vec3\x20RGBLuminanceCoefficients=vec3(0.2126,0.7152,0.0722);\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0avec4\x20tex=texture2D(textureSampler,vUV);\x0avec3\x20c=tex.rgb;\x0afloat\x20luma=dot(c.rgb,RGBLuminanceCoefficients);\x0agl_FragColor=vec4(pow(c,vec3(25.0-luma*15.0)),tex.a);\x20\x0a}','attribute\x20vec2\x20position;\x0auniform\x20mat4\x20viewportMatrix;\x0avarying\x20vec2\x20vUV;\x0aconst\x20vec2\x20madd=vec2(0.5,0.5);\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avUV=position*madd+madd;\x0agl_Position=viewportMatrix*vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','_SamplerFunctionByWebGLSamplerType','_getVertexShaderCode','executeBundles','coordinatesMode','match','uOffset','boundingBoxRendererVertexShader','IncludesShadersStore','ACTION_OnPointerOutTrigger','lookForClosingBracketForUniformBuffer','rotation','Half\x20float\x20texture\x20filtering\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20and\x20sampling\x20mode\x20are\x20forced\x20to\x20false\x20and\x20TEXTURE_NEAREST_SAMPLINGMODE,\x20respectively.','DeepCopy','getEngine','#define\x20CLIPPLANE5','vClipPlane5','_cachedWrapU','_numExternalTextures','textBuffer','resource','CONSTANT_COLOR','_createRenderTarget','precision\x20highp\x20float;uniform\x20float\x20time;uniform\x20float\x20lowFrequencySpeed;varying\x20float\x20noise;attribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;uniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;uniform\x20mat4\x20diffuseMatrix;uniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a/*\x20NOISE\x20FUNCTIONS\x20*/\x0avec3\x20mod289(vec3\x20x)\x0a{return\x20x-floor(x*(1.0/289.0))*289.0;}\x0avec4\x20mod289(vec4\x20x)\x0a{return\x20x-floor(x*(1.0/289.0))*289.0;}\x0avec4\x20permute(vec4\x20x)\x0a{return\x20mod289(((x*34.0)+1.0)*x);}\x0avec4\x20taylorInvSqrt(vec4\x20r)\x0a{return\x201.79284291400159-0.85373472095314*r;}\x0avec3\x20fade(vec3\x20t)\x20{return\x20t*t*t*(t*(t*6.0-15.0)+10.0);}\x0afloat\x20pnoise(vec3\x20P,vec3\x20rep)\x0a{vec3\x20Pi0=mod(floor(P),rep);\x20\x0avec3\x20Pi1=mod(Pi0+vec3(1.0),rep);\x20\x0aPi0=mod289(Pi0);Pi1=mod289(Pi1);vec3\x20Pf0=fract(P);\x20\x0avec3\x20Pf1=Pf0-vec3(1.0);\x20\x0avec4\x20ix=vec4(Pi0.x,Pi1.x,Pi0.x,Pi1.x);vec4\x20iy=vec4(Pi0.yy,Pi1.yy);vec4\x20iz0=Pi0.zzzz;vec4\x20iz1=Pi1.zzzz;vec4\x20ixy=permute(permute(ix)+iy);vec4\x20ixy0=permute(ixy+iz0);vec4\x20ixy1=permute(ixy+iz1);vec4\x20gx0=ixy0*(1.0/7.0);vec4\x20gy0=fract(floor(gx0)*(1.0/7.0))-0.5;gx0=fract(gx0);vec4\x20gz0=vec4(0.5)-abs(gx0)-abs(gy0);vec4\x20sz0=step(gz0,vec4(0.0));gx0-=sz0*(step(0.0,gx0)-0.5);gy0-=sz0*(step(0.0,gy0)-0.5);vec4\x20gx1=ixy1*(1.0/7.0);vec4\x20gy1=fract(floor(gx1)*(1.0/7.0))-0.5;gx1=fract(gx1);vec4\x20gz1=vec4(0.5)-abs(gx1)-abs(gy1);vec4\x20sz1=step(gz1,vec4(0.0));gx1-=sz1*(step(0.0,gx1)-0.5);gy1-=sz1*(step(0.0,gy1)-0.5);vec3\x20g000=vec3(gx0.x,gy0.x,gz0.x);vec3\x20g100=vec3(gx0.y,gy0.y,gz0.y);vec3\x20g010=vec3(gx0.z,gy0.z,gz0.z);vec3\x20g110=vec3(gx0.w,gy0.w,gz0.w);vec3\x20g001=vec3(gx1.x,gy1.x,gz1.x);vec3\x20g101=vec3(gx1.y,gy1.y,gz1.y);vec3\x20g011=vec3(gx1.z,gy1.z,gz1.z);vec3\x20g111=vec3(gx1.w,gy1.w,gz1.w);vec4\x20norm0=taylorInvSqrt(vec4(dot(g000,g000),dot(g010,g010),dot(g100,g100),dot(g110,g110)));g000*=norm0.x;g010*=norm0.y;g100*=norm0.z;g110*=norm0.w;vec4\x20norm1=taylorInvSqrt(vec4(dot(g001,g001),dot(g011,g011),dot(g101,g101),dot(g111,g111)));g001*=norm1.x;g011*=norm1.y;g101*=norm1.z;g111*=norm1.w;float\x20n000=dot(g000,Pf0);float\x20n100=dot(g100,vec3(Pf1.x,Pf0.yz));float\x20n010=dot(g010,vec3(Pf0.x,Pf1.y,Pf0.z));float\x20n110=dot(g110,vec3(Pf1.xy,Pf0.z));float\x20n001=dot(g001,vec3(Pf0.xy,Pf1.z));float\x20n101=dot(g101,vec3(Pf1.x,Pf0.y,Pf1.z));float\x20n011=dot(g011,vec3(Pf0.x,Pf1.yz));float\x20n111=dot(g111,Pf1);vec3\x20fade_xyz=fade(Pf0);vec4\x20n_z=mix(vec4(n000,n100,n010,n110),vec4(n001,n101,n011,n111),fade_xyz.z);vec2\x20n_yz=mix(n_z.xy,n_z.zw,fade_xyz.y);float\x20n_xyz=mix(n_yz.x,n_yz.y,fade_xyz.x);return\x202.2*n_xyz;}\x0a/*\x20END\x20FUNCTION\x20*/\x0afloat\x20turbulence(\x20vec3\x20p\x20)\x20{float\x20w=100.0;float\x20t=-.5;for\x20(float\x20f=1.0\x20;\x20f<=10.0\x20;\x20f++\x20){float\x20power=pow(\x202.0,f\x20);t+=abs(\x20pnoise(\x20vec3(\x20power*p\x20),vec3(\x2010.0,10.0,10.0\x20)\x20)/power\x20);}\x0areturn\x20t;}\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0a#ifdef\x20NORMAL\x0anoise=10.0*\x20-.10*turbulence(\x20.5*normal+time*1.15\x20);float\x20b=lowFrequencySpeed*5.0*pnoise(\x200.05*position\x20+vec3(time*1.025),vec3(\x20100.0\x20)\x20);float\x20displacement=-\x201.5*noise+b;vec3\x20newPosition=position+normal*displacement;gl_Position=viewProjection*finalWorld*vec4(\x20newPosition,1.0\x20);vec4\x20worldPos=finalWorld*vec4(newPosition,1.0);vPositionW=vec3(worldPos);vNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0aif\x20(vDiffuseInfos.x==0.)\x0a{vDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));}\x0aelse\x0a{vDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));}\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','_currentRenderPass','ProjectOnTriangleToRef','_buildHeight','_depthFunc','_onAfterUnbindFrameBufferObservable','markAsPrePassDirty','pbrBlockGeometryInfo','#extension\x20GL_OES_standard_derivatives\x20:\x20enable\x0a#define\x20SQRT2\x201.41421356\x0a#define\x20PI\x203.14159\x0aprecision\x20highp\x20float;\x0auniform\x20float\x20visibility;\x0auniform\x20vec3\x20mainColor;\x0auniform\x20vec3\x20lineColor;\x0auniform\x20vec4\x20gridControl;\x0auniform\x20vec3\x20gridOffset;\x0avarying\x20vec3\x20vPosition;\x0avarying\x20vec3\x20vNormal;\x0a#include<fogFragmentDeclaration>\x0a#ifdef\x20OPACITY\x0avarying\x20vec2\x20vOpacityUV;\x0auniform\x20sampler2D\x20opacitySampler;\x0auniform\x20vec2\x20vOpacityInfos;\x0a#endif\x0afloat\x20getDynamicVisibility(float\x20position)\x20{\x0afloat\x20majorGridFrequency=gridControl.y;\x0aif\x20(floor(position+0.5)==floor(position/majorGridFrequency+0.5)*majorGridFrequency)\x0a{\x0areturn\x201.0;\x0a}\x20\x0areturn\x20gridControl.z;\x0a}\x0afloat\x20getAnisotropicAttenuation(float\x20differentialLength)\x20{\x0aconst\x20float\x20maxNumberOfLines=10.0;\x0areturn\x20clamp(1.0/(differentialLength+1.0)-1.0/maxNumberOfLines,0.0,1.0);\x0a}\x0afloat\x20isPointOnLine(float\x20position,float\x20differentialLength)\x20{\x0afloat\x20fractionPartOfPosition=position-floor(position+0.5);\x20\x0afractionPartOfPosition/=differentialLength;\x20\x0afractionPartOfPosition=clamp(fractionPartOfPosition,-1.,1.);\x0afloat\x20result=0.5+0.5*cos(fractionPartOfPosition*PI);\x20\x0areturn\x20result;\x20\x0a}\x0afloat\x20contributionOnAxis(float\x20position)\x20{\x0afloat\x20differentialLength=length(vec2(dFdx(position),dFdy(position)));\x0adifferentialLength*=SQRT2;\x20\x0afloat\x20result=isPointOnLine(position,differentialLength);\x0afloat\x20dynamicVisibility=getDynamicVisibility(position);\x0aresult*=dynamicVisibility;\x0afloat\x20anisotropicAttenuation=getAnisotropicAttenuation(differentialLength);\x0aresult*=anisotropicAttenuation;\x0areturn\x20result;\x0a}\x0afloat\x20normalImpactOnAxis(float\x20x)\x20{\x0afloat\x20normalImpact=clamp(1.0-3.0*abs(x*x*x),0.0,1.0);\x0areturn\x20normalImpact;\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0afloat\x20gridRatio=gridControl.x;\x0avec3\x20gridPos=(vPosition+gridOffset.xyz)/gridRatio;\x0afloat\x20x=contributionOnAxis(gridPos.x);\x0afloat\x20y=contributionOnAxis(gridPos.y);\x0afloat\x20z=contributionOnAxis(gridPos.z);\x0avec3\x20normal=normalize(vNormal);\x0ax*=normalImpactOnAxis(normal.x);\x0ay*=normalImpactOnAxis(normal.y);\x0az*=normalImpactOnAxis(normal.z);\x0a#ifdef\x20MAX_LINE\x20\x0afloat\x20grid=clamp(max(max(x,y),z),0.,1.);\x0a#else\x0afloat\x20grid=clamp(x+y+z,0.,1.);\x0a#endif\x0avec3\x20color=mix(mainColor,lineColor,grid);\x0a#ifdef\x20FOG\x0a#include<fogFragment>\x0a#endif\x0afloat\x20opacity=1.0;\x0a#ifdef\x20TRANSPARENT\x0aopacity=clamp(grid,0.08,gridControl.w*grid);\x0a#endif\x20\x0a#ifdef\x20OPACITY\x0aopacity*=texture2D(opacitySampler,vOpacityUV).a;\x0a#endif\x20\x0agl_FragColor=vec4(color.rgb,opacity*visibility);\x0a#ifdef\x20TRANSPARENT\x0a#ifdef\x20PREMULTIPLYALPHA\x0agl_FragColor.rgb*=opacity;\x0a#endif\x0a#else\x20\x0a#endif\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','#if\x20defined(','TEXTURE_BILINEAR_SAMPLINGMODE','error','contains','_isDepthFuncDirty','IsCompressedFormat','Eval','thinInstanceRefreshBoundingInfo','MODE_MONOSCOPIC','TEXTUREFORMAT_DEPTH24','void\x20main(','supportCascades','restoreSingleAttachment','_pipelines','Unable\x20to\x20create\x20webGL\x20texture','createSceneUniformBuffer','renderHeight','TEXTUREFORMAT_RED','premultipliedAlpha','testExpression','_userThinInstanceBuffersStorage','_needUVs','enableBlur','#ifdef\x20DECAL\x0auniform\x20vec4\x20vDecalInfos;\x0auniform\x20mat4\x20decalMatrix;\x0a#endif\x0a','pbrBlockAlbedoOpacity','meshVertexDeclaration','createMultipleRenderTarget','#ifdef\x20PREPASS\x0a#extension\x20GL_EXT_draw_buffers\x20:\x20require\x0alayout(location=0)\x20out\x20highp\x20vec4\x20glFragData[{X}];highp\x20vec4\x20gl_FragColor;\x0a#ifdef\x20PREPASS_DEPTH\x0avarying\x20highp\x20vec3\x20vViewPos;\x0a#endif\x0a#ifdef\x20PREPASS_VELOCITY\x0avarying\x20highp\x20vec4\x20vCurrentPosition;varying\x20highp\x20vec4\x20vPreviousPosition;\x0a#endif\x0a#endif\x0a','RGBA16Sint','pbrDebug','loopAnimation','_HandleParenthesisContent','Float\x20texture\x20filtering\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20and\x20sampling\x20mode\x20are\x20forced\x20to\x20false\x20and\x20TEXTURE_NEAREST_SAMPLINGMODE,\x20respectively.','ALPHA_EQUATION_REVERSE_SUBTRACT','_getNextFreeBinding','_emitFloat','shadow','releaseMSAARenderBuffers','RenderTarget','copyWithInvertY','BC2RGBAUnorm','indexStart','#if\x20SM_USEDISTANCE==1\x0avPositionWSM=worldPos.xyz;\x0a#endif\x0a#if\x20SM_DEPTHTEXTURE==1\x0a#ifdef\x20IS_NDC_HALF_ZRANGE\x0a#define\x20BIASFACTOR\x200.5\x0a#else\x0a#define\x20BIASFACTOR\x201.0\x0a#endif\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0agl_Position.z-=biasAndScaleSM.x*gl_Position.w*BIASFACTOR;\x0a#else\x0agl_Position.z+=biasAndScaleSM.x*gl_Position.w*BIASFACTOR;\x0a#endif\x0a#endif\x0a#if\x20defined(SM_DEPTHCLAMP)\x20&&\x20SM_DEPTHCLAMP==1\x0azSM=gl_Position.z;\x0agl_Position.z=0.0;\x0a#elif\x20SM_USEDISTANCE==0\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0avDepthMetricSM=(-gl_Position.z+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;\x0a#else\x0avDepthMetricSM=(gl_Position.z+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;\x0a#endif\x0a#endif\x0a','precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0a#ifdef\x20SPECULARTERM\x0auniform\x20vec4\x20vSpecularColor;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#ifdef\x20DIFFUSEX\x0avarying\x20vec2\x20vTextureUVX;\x0auniform\x20sampler2D\x20diffuseSamplerX;\x0a#ifdef\x20BUMPX\x0auniform\x20sampler2D\x20normalSamplerX;\x0a#endif\x0a#endif\x0a#ifdef\x20DIFFUSEY\x0avarying\x20vec2\x20vTextureUVY;\x0auniform\x20sampler2D\x20diffuseSamplerY;\x0a#ifdef\x20BUMPY\x0auniform\x20sampler2D\x20normalSamplerY;\x0a#endif\x0a#endif\x0a#ifdef\x20DIFFUSEZ\x0avarying\x20vec2\x20vTextureUVZ;\x0auniform\x20sampler2D\x20diffuseSamplerZ;\x0a#ifdef\x20BUMPZ\x0auniform\x20sampler2D\x20normalSamplerZ;\x0a#endif\x0a#endif\x0a#ifdef\x20NORMAL\x0avarying\x20mat3\x20tangentSpace;\x0a#endif\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20baseColor=vec4(0.,0.,0.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=tangentSpace[2];\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0avec4\x20baseNormal=vec4(0.0,0.0,0.0,1.0);\x0anormalW*=normalW;\x0a#ifdef\x20DIFFUSEX\x0abaseColor+=texture2D(diffuseSamplerX,vTextureUVX)*normalW.x;\x0a#ifdef\x20BUMPX\x0abaseNormal+=texture2D(normalSamplerX,vTextureUVX)*normalW.x;\x0a#endif\x0a#endif\x0a#ifdef\x20DIFFUSEY\x0abaseColor+=texture2D(diffuseSamplerY,vTextureUVY)*normalW.y;\x0a#ifdef\x20BUMPY\x0abaseNormal+=texture2D(normalSamplerY,vTextureUVY)*normalW.y;\x0a#endif\x0a#endif\x0a#ifdef\x20DIFFUSEZ\x0abaseColor+=texture2D(diffuseSamplerZ,vTextureUVZ)*normalW.z;\x0a#ifdef\x20BUMPZ\x0abaseNormal+=texture2D(normalSamplerZ,vTextureUVZ)*normalW.z;\x0a#endif\x0a#endif\x0a#ifdef\x20NORMAL\x0anormalW=normalize((2.0*baseNormal.xyz-1.0)*tangentSpace);\x0a#endif\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include<depthPrePass>\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0a#ifdef\x20SPECULARTERM\x0afloat\x20glossiness=vSpecularColor.a;\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0avec3\x20specularColor=vSpecularColor.rgb;\x0a#else\x0afloat\x20glossiness=0.;\x0a#endif\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20finalSpecular=specularBase*specularColor;\x0a#else\x0avec3\x20finalSpecular=vec3(0.0);\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\x0avec4\x20color=vec4(finalDiffuse+finalSpecular,alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','outlineVertexShader','albedoSampler','Unknown','uv2','createSampler','_pipelineContext','_thinInstanceCreateMatrixBuffer','decalMap','fluidRenderingParticleDepthVertexShader','\x0a};\x0avar<private>\x20fragmentInputs\x20:\x20FragmentInputs;\x0a','glowMapMergeVertexShader','vOffset','shadowMapPixelShader','\x20\x20\x20\x20','_meshUnderPointerId','premultiplyAlpha','setBindGroup','#ifdef\x20NUM_SAMPLES\x0a#if\x20NUM_SAMPLES>0\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0afloat\x20radicalInverse_VdC(uint\x20bits)\x20\x0a{\x0abits=(bits<<16u)\x20|\x20(bits>>16u);\x0abits=((bits\x20&\x200x55555555u)<<1u)\x20|\x20((bits\x20&\x200xAAAAAAAAu)>>1u);\x0abits=((bits\x20&\x200x33333333u)<<2u)\x20|\x20((bits\x20&\x200xCCCCCCCCu)>>2u);\x0abits=((bits\x20&\x200x0F0F0F0Fu)<<4u)\x20|\x20((bits\x20&\x200xF0F0F0F0u)>>4u);\x0abits=((bits\x20&\x200x00FF00FFu)<<8u)\x20|\x20((bits\x20&\x200xFF00FF00u)>>8u);\x0areturn\x20float(bits)*2.3283064365386963e-10;\x20\x0a}\x0avec2\x20hammersley(uint\x20i,uint\x20N)\x0a{\x0areturn\x20vec2(float(i)/float(N),radicalInverse_VdC(i));\x0a}\x0a#else\x0afloat\x20vanDerCorpus(int\x20n,int\x20base)\x0a{\x0afloat\x20invBase=1.0/float(base);\x0afloat\x20denom\x20=1.0;\x0afloat\x20result\x20=0.0;\x0afor(int\x20i=0;\x20i<32;\x20++i)\x0a{\x0aif(n>0)\x0a{\x0adenom\x20=mod(float(n),2.0);\x0aresult+=denom*invBase;\x0ainvBase=invBase/2.0;\x0an\x20=int(float(n)/2.0);\x0a}\x0a}\x0areturn\x20result;\x0a}\x0avec2\x20hammersley(int\x20i,int\x20N)\x0a{\x0areturn\x20vec2(float(i)/float(N),vanDerCorpus(i,2));\x0a}\x0a#endif\x0afloat\x20log4(float\x20x)\x20{\x0areturn\x20log2(x)/2.;\x0a}\x0aconst\x20float\x20NUM_SAMPLES_FLOAT=float(NUM_SAMPLES);\x0aconst\x20float\x20NUM_SAMPLES_FLOAT_INVERSED=1./NUM_SAMPLES_FLOAT;\x0aconst\x20float\x20K=4.;\x0a#define\x20inline\x0avec3\x20irradiance(samplerCube\x20inputTexture,vec3\x20inputN,vec2\x20filteringInfo)\x0a{\x0avec3\x20n=normalize(inputN);\x0avec3\x20result=vec3(0.0);\x0avec3\x20tangent=abs(n.z)<0.999\x20?\x20vec3(0.,0.,1.)\x20:\x20vec3(1.,0.,0.);\x0atangent=normalize(cross(tangent,n));\x0avec3\x20bitangent=cross(n,tangent);\x0amat3\x20tbn=mat3(tangent,bitangent,n);\x0afloat\x20maxLevel=filteringInfo.y;\x0afloat\x20dim0=filteringInfo.x;\x0afloat\x20omegaP=(4.*PI)/(6.*dim0*dim0);\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0afor(uint\x20i=0u;\x20i<NUM_SAMPLES;\x20++i)\x0a#else\x0afor(int\x20i=0;\x20i<NUM_SAMPLES;\x20++i)\x0a#endif\x0a{\x0avec2\x20Xi=hammersley(i,NUM_SAMPLES);\x0avec3\x20Ls=hemisphereCosSample(Xi);\x0aLs=normalize(Ls);\x0avec3\x20Ns=vec3(0.,0.,1.);\x0afloat\x20NoL=dot(Ns,Ls);\x0aif\x20(NoL>0.)\x20{\x0afloat\x20pdf_inversed=PI/NoL;\x0afloat\x20omegaS=NUM_SAMPLES_FLOAT_INVERSED*pdf_inversed;\x0afloat\x20l=log4(omegaS)-log4(omegaP)+log4(K);\x0afloat\x20mipLevel=clamp(l,0.0,maxLevel);\x0avec3\x20c=textureCubeLodEXT(inputTexture,tbn*Ls,mipLevel).rgb;\x0a#ifdef\x20GAMMA_INPUT\x0ac=toLinearSpace(c);\x0a#endif\x0aresult+=c;\x0a}\x0a}\x0aresult=result*NUM_SAMPLES_FLOAT_INVERSED;\x0areturn\x20result;\x0a}\x0a#define\x20inline\x0avec3\x20radiance(float\x20alphaG,samplerCube\x20inputTexture,vec3\x20inputN,vec2\x20filteringInfo)\x0a{\x0avec3\x20n=normalize(inputN);\x0aif\x20(alphaG==0.)\x20{\x0avec3\x20c=textureCube(inputTexture,n).rgb;\x0a#ifdef\x20GAMMA_INPUT\x0ac=toLinearSpace(c);\x0a#endif\x0areturn\x20c;\x0a}\x20else\x20{\x0avec3\x20result=vec3(0.);\x0avec3\x20tangent=abs(n.z)<0.999\x20?\x20vec3(0.,0.,1.)\x20:\x20vec3(1.,0.,0.);\x0atangent=normalize(cross(tangent,n));\x0avec3\x20bitangent=cross(n,tangent);\x0amat3\x20tbn=mat3(tangent,bitangent,n);\x0afloat\x20maxLevel=filteringInfo.y;\x0afloat\x20dim0=filteringInfo.x;\x0afloat\x20omegaP=(4.*PI)/(6.*dim0*dim0);\x0afloat\x20weight=0.;\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0afor(uint\x20i=0u;\x20i<NUM_SAMPLES;\x20++i)\x0a#else\x0afor(int\x20i=0;\x20i<NUM_SAMPLES;\x20++i)\x0a#endif\x0a{\x0avec2\x20Xi=hammersley(i,NUM_SAMPLES);\x0avec3\x20H=hemisphereImportanceSampleDggx(Xi,alphaG);\x0afloat\x20NoV=1.;\x0afloat\x20NoH=H.z;\x0afloat\x20NoH2=H.z*H.z;\x0afloat\x20NoL=2.*NoH2-1.;\x0avec3\x20L=vec3(2.*NoH*H.x,2.*NoH*H.y,NoL);\x0aL=normalize(L);\x0aif\x20(NoL>0.)\x20{\x0afloat\x20pdf_inversed=4./normalDistributionFunction_TrowbridgeReitzGGX(NoH,alphaG);\x0afloat\x20omegaS=NUM_SAMPLES_FLOAT_INVERSED*pdf_inversed;\x0afloat\x20l=log4(omegaS)-log4(omegaP)+log4(K);\x0afloat\x20mipLevel=clamp(float(l),0.0,maxLevel);\x0aweight+=NoL;\x0avec3\x20c=textureCubeLodEXT(inputTexture,tbn*L,mipLevel).rgb;\x0a#ifdef\x20GAMMA_INPUT\x0ac=toLinearSpace(c);\x0a#endif\x0aresult+=c*NoL;\x0a}\x0a}\x0aresult=result/weight;\x0areturn\x20result;\x0a}\x0a}\x0a#endif\x0a#endif\x0a','ACTION_OnRightPickTrigger','DST_ALPHA','_count','ConvertCubeMapTextureToSphericalPolynomial','_createEffects','TEXTURE_SPHERICAL_MODE','#define\x20HEMISPHERICEMITTER','_delay','NAME_PARTICLESYSTEM','setArray3','backgroundUboDeclaration','Iridescence\x20intensity','struct\x20FragmentInputs\x20{\x0a\x20\x20@builtin(position)\x20position\x20:\x20vec4<f32>,\x0a\x20\x20@builtin(front_facing)\x20frontFacing\x20:\x20bool,\x0a','fogColor','call','leftOperand','_SimplifiedKnownBindings','DepthStencil','_TextureTypeByWebGLSamplerType','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0auniform\x20mat4\x20diffuseMatrix;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0agl_Position=viewProjection*worldPos;\x0avPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0aif\x20(vDiffuseInfos.x==0.)\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\x0a}\x0aelse\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a}\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','modelArrayBuff','subSurfaceConfiguration','Cube','\x0a\x20\x20\x20\x20#extension\x20GL_EXT_samplerless_texture_functions\x20:\x20enable\x0a\x0a\x20\x20\x20\x20layout(set\x20=\x200,\x20binding\x20=\x200)\x20uniform\x20texture2D\x20img;\x0a\x0a\x20\x20\x20\x20#ifdef\x20INVERTY\x0a\x20\x20\x20\x20\x20\x20\x20\x20layout(location\x20=\x200)\x20in\x20flat\x20ivec2\x20vTextureSize;\x0a\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20layout(location\x20=\x200)\x20out\x20vec4\x20outColor;\x0a\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20#ifdef\x20INVERTY\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20color\x20=\x20texelFetch(img,\x20ivec2(gl_FragCoord.x,\x20vTextureSize.y\x20-\x20gl_FragCoord.y),\x200);\x0a\x20\x20\x20\x20#else\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20color\x20=\x20texelFetch(img,\x20ivec2(gl_FragCoord.xy),\x200);\x0a\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20#ifdef\x20PREMULTIPLYALPHA\x0a\x20\x20\x20\x20\x20\x20\x20\x20color.rgb\x20*=\x20color.a;\x0a\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20outColor\x20=\x20color;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','textureFloat','defaultPixelShader','_needNormals','getUniformBlockIndex','_copyInvertYBindGroup','No\x20fixed\x20size\x20for\x20Depth24PlusStencil8\x20format!','_pickingAvailable','#define\x20POINTEMITTER','skipOnKeyboardObservable','blurSizeDivisor','indexOfRefraction','maxFilterSize','void\x20DUMMYFUNC','buildUniformLayout','setViewport',',\x20binding\x20=\x20','_funcRef','_fragmentIsGLES3','_bonesComputationForcedToCPU','isAttribute','_hasSwiped','RGBA8Snorm','#ifdef\x20LOGARITHMICDEPTH\x0a#extension\x20GL_EXT_frag_depth\x20:\x20enable\x0a#endif\x0aprecision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0a#ifdef\x20SPECULARTERM\x0auniform\x20vec4\x20vSpecularColor;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<helperFunctions>\x0a#include<imageProcessingDeclaration>\x0a#include<imageProcessingFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#ifdef\x20BUMP\x0avarying\x20vec2\x20vNormalUV;\x0a#ifdef\x20BUMPSUPERIMPOSE\x0avarying\x20vec2\x20vNormalUV2;\x0a#endif\x0auniform\x20sampler2D\x20normalSampler;\x0auniform\x20vec2\x20vNormalInfos;\x0a#endif\x0auniform\x20sampler2D\x20refractionSampler;\x0auniform\x20sampler2D\x20reflectionSampler;\x0aconst\x20float\x20LOG2=1.442695;\x0auniform\x20vec3\x20cameraPosition;\x0auniform\x20vec4\x20waterColor;\x0auniform\x20float\x20colorBlendFactor;\x0auniform\x20vec4\x20waterColor2;\x0auniform\x20float\x20colorBlendFactor2;\x0auniform\x20float\x20bumpHeight;\x0auniform\x20float\x20time;\x0avarying\x20vec3\x20vRefractionMapTexCoord;\x0avarying\x20vec3\x20vReflectionMapTexCoord;\x0avarying\x20vec3\x20vPosition;\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<logDepthDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20baseColor=vec4(1.,1.,1.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20BUMP\x0a#ifdef\x20BUMPSUPERIMPOSE\x0abaseColor=0.6*texture2D(normalSampler,vNormalUV)+0.4*texture2D(normalSampler,vec2(vNormalUV2.x,vNormalUV2.y));\x0a#else\x0abaseColor=texture2D(normalSampler,vNormalUV);\x0a#endif\x0avec3\x20bumpColor=baseColor.rgb;\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0abaseColor.rgb*=vNormalInfos.y;\x0a#else\x0avec3\x20bumpColor=vec3(1.0);\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec2\x20perturbation=bumpHeight*(baseColor.rg-0.5);\x0a#ifdef\x20BUMPAFFECTSREFLECTION\x0avec3\x20normalW=normalize(vNormalW+vec3(perturbation.x*8.0,0.0,perturbation.y*8.0));\x0aif\x20(normalW.y<0.0)\x20{\x0anormalW.y=-normalW.y;\x0a}\x0a#else\x0avec3\x20normalW=normalize(vNormalW);\x0a#endif\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0avec2\x20perturbation=bumpHeight*(vec2(1.0,1.0)-0.5);\x0a#endif\x0a#ifdef\x20FRESNELSEPARATE\x0a#ifdef\x20REFLECTION\x0avec2\x20projectedRefractionTexCoords=clamp(vRefractionMapTexCoord.xy/vRefractionMapTexCoord.z+perturbation*0.5,0.0,1.0);\x0avec4\x20refractiveColor=texture2D(refractionSampler,projectedRefractionTexCoords);\x0a#ifdef\x20IS_REFRACTION_LINEAR\x0arefractiveColor.rgb=toGammaSpace(refractiveColor.rgb);\x0a#endif\x0avec2\x20projectedReflectionTexCoords=clamp(vec2(\x0avReflectionMapTexCoord.x/vReflectionMapTexCoord.z+perturbation.x*0.3,\x0avReflectionMapTexCoord.y/vReflectionMapTexCoord.z+perturbation.y\x0a),0.0,1.0);\x0avec4\x20reflectiveColor=texture2D(reflectionSampler,projectedReflectionTexCoords);\x0a#ifdef\x20IS_REFLECTION_LINEAR\x0areflectiveColor.rgb=toGammaSpace(reflectiveColor.rgb);\x0a#endif\x0avec3\x20upVector=vec3(0.0,1.0,0.0);\x0afloat\x20fresnelTerm=clamp(abs(pow(dot(viewDirectionW,upVector),3.0)),0.05,0.65);\x0afloat\x20IfresnelTerm=1.0-fresnelTerm;\x0arefractiveColor=colorBlendFactor*waterColor+(1.0-colorBlendFactor)*refractiveColor;\x0areflectiveColor=IfresnelTerm*colorBlendFactor2*waterColor+(1.0-colorBlendFactor2*IfresnelTerm)*reflectiveColor;\x0avec4\x20combinedColor=refractiveColor*fresnelTerm+reflectiveColor*IfresnelTerm;\x0abaseColor=combinedColor;\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0a#ifdef\x20SPECULARTERM\x0afloat\x20glossiness=vSpecularColor.a;\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0avec3\x20specularColor=vSpecularColor.rgb;\x0a#else\x0afloat\x20glossiness=0.;\x0a#endif\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0avec3\x20finalDiffuse=clamp(baseColor.rgb,0.0,1.0);\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20finalSpecular=specularBase*specularColor;\x0a#else\x0avec3\x20finalSpecular=vec3(0.0);\x0a#endif\x0a#else\x20\x0a#ifdef\x20REFLECTION\x0avec2\x20projectedRefractionTexCoords=clamp(vRefractionMapTexCoord.xy/vRefractionMapTexCoord.z+perturbation,0.0,1.0);\x0avec4\x20refractiveColor=texture2D(refractionSampler,projectedRefractionTexCoords);\x0a#ifdef\x20IS_REFRACTION_LINEAR\x0arefractiveColor.rgb=toGammaSpace(refractiveColor.rgb);\x0a#endif\x0avec2\x20projectedReflectionTexCoords=clamp(vReflectionMapTexCoord.xy/vReflectionMapTexCoord.z+perturbation,0.0,1.0);\x0avec4\x20reflectiveColor=texture2D(reflectionSampler,projectedReflectionTexCoords);\x0a#ifdef\x20IS_REFLECTION_LINEAR\x0areflectiveColor.rgb=toGammaSpace(reflectiveColor.rgb);\x0a#endif\x0avec3\x20upVector=vec3(0.0,1.0,0.0);\x0afloat\x20fresnelTerm=max(dot(viewDirectionW,upVector),0.0);\x0avec4\x20combinedColor=refractiveColor*fresnelTerm+reflectiveColor*(1.0-fresnelTerm);\x0abaseColor=colorBlendFactor*waterColor+(1.0-colorBlendFactor)*combinedColor;\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0a#ifdef\x20SPECULARTERM\x0afloat\x20glossiness=vSpecularColor.a;\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0avec3\x20specularColor=vSpecularColor.rgb;\x0a#else\x0afloat\x20glossiness=0.;\x0a#endif\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0avec3\x20finalDiffuse=clamp(baseColor.rgb,0.0,1.0);\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20finalSpecular=specularBase*specularColor;\x0a#else\x0avec3\x20finalSpecular=vec3(0.0);\x0a#endif\x0a#endif\x0avec4\x20color=vec4(finalDiffuse+finalSpecular,alpha);\x0a#include<logDepthFragment>\x0a#include<fogFragment>\x0a#ifdef\x20IMAGEPROCESSINGPOSTPROCESS\x0acolor.rgb=toLinearSpace(color.rgb);\x0a#elif\x20defined(IMAGEPROCESSING)\x0acolor.rgb=toLinearSpace(color.rgb);\x0acolor=applyImageProcessing(color);\x0a#endif\x0agl_FragColor=color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','deleteQuery','onPreKeyboardObservable','IRIDESCENCE_TEXTURE','REFLECTIONMAP_PLANAR','ASTC8x6Unorm','createDynamicUniformBuffer','_record','alphaTest','#ifdef\x20WEBGL2\x0auniform\x20mat4\x20world;\x0auniform\x20float\x20visibility;\x0a#else\x0alayout(std140,column_major)\x20uniform;\x0auniform\x20Mesh\x0a{\x0amat4\x20world;\x0afloat\x20visibility;\x0a};\x0a#endif\x0a#define\x20WORLD_UBO\x0a','halfDome','Render\x20to\x20half\x20float\x20textures\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20forced\x20to\x20false.','length','TEXTURE_CUBIC_MODE','options','matricesIndices','#ifdef\x20LOGARITHMICDEPTH\x0agl_FragDepthEXT=log2(vFragmentDepth)*logarithmicDepthConstant*0.5;\x0a#endif\x0a','uniform\x20float\x20particleAlpha;\x0avarying\x20vec2\x20uv;\x0avoid\x20main(void)\x20{\x0avec3\x20normal;\x0anormal.xy=uv*2.0-1.0;\x0afloat\x20r2=dot(normal.xy,normal.xy);\x0aif\x20(r2>1.0)\x20discard;\x0afloat\x20thickness=sqrt(1.0-r2);\x0aglFragColor=vec4(vec3(particleAlpha*thickness),1.0);\x0a}\x0a','faceIndex','_xSize','TEXTURETYPE_UNSIGNED_BYTE','_varyingsWGSL','particlesPixelShader','wmips','_irradianceTexture','onPointerObservable','resize','blurDir',';\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20','_isUbo','varyingDeclaration','iridescence','createUniformBuffer','TEXTURETYPE_UNSIGNED_INT_10F_11F_11F_REV','_sphericalPolynomialPromise','helperFunctions','fragmentOutputs.fragDepth','onEndFrameObservable','_OperatorPriority','\x0a\x20\x20\x20\x20@group(0)\x20@binding(0)\x20var\x20videoSampler:\x20sampler;\x0a\x20\x20\x20\x20@group(0)\x20@binding(1)\x20var\x20videoTexture:\x20texture_external;\x0a\x0a\x20\x20\x20\x20@fragment\x0a\x20\x20\x20\x20fn\x20main(\x0a\x20\x20\x20\x20\x20\x20\x20\x20@location(0)\x20fragUV:\x20vec2<f32>\x0a\x20\x20\x20\x20)\x20->\x20@location(0)\x20vec4<f32>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20textureSampleBaseClampToEdge(videoTexture,\x20videoSampler,\x20fragUV);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','MSAA','currentViewProjection','_depthStencilTextureArray','isPointerLock','\x0a\x20\x20\x20\x20const\x20vec2\x20pos[4]\x20=\x20vec2[4](vec2(-1.0f,\x201.0f),\x20vec2(1.0f,\x201.0f),\x20vec2(-1.0f,\x20-1.0f),\x20vec2(1.0f,\x20-1.0f));\x0a\x20\x20\x20\x20const\x20vec2\x20tex[4]\x20=\x20vec2[4](vec2(0.0f,\x200.0f),\x20vec2(1.0f,\x200.0f),\x20vec2(0.0f,\x201.0f),\x20vec2(1.0f,\x201.0f));\x0a\x0a\x20\x20\x20\x20layout(location\x20=\x200)\x20out\x20vec2\x20vTex;\x0a\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20vTex\x20=\x20tex[gl_VertexIndex];\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20vec4(pos[gl_VertexIndex],\x200.0,\x201.0);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','ONE_MINUS_CONSTANT_COLOR','boundingBoxRendererFragmentDeclaration','precision\x20highp\x20float;\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20vec2\x20translationPivot;\x0auniform\x20vec3\x20worldOffset;\x0a#ifdef\x20LOCAL\x0auniform\x20mat4\x20emitterWM;\x0a#endif\x0aattribute\x20vec3\x20position;\x0aattribute\x20float\x20age;\x0aattribute\x20float\x20life;\x0aattribute\x20vec3\x20size;\x0a#ifndef\x20BILLBOARD\x0aattribute\x20vec3\x20initialDirection;\x0a#endif\x0a#ifdef\x20BILLBOARDSTRETCHED\x0aattribute\x20vec3\x20direction;\x0a#endif\x0aattribute\x20float\x20angle;\x0a#ifdef\x20ANIMATESHEET\x0aattribute\x20float\x20cellIndex;\x0a#endif\x0aattribute\x20vec2\x20offset;\x0aattribute\x20vec2\x20uv;\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec4\x20vColor;\x0avarying\x20vec3\x20vPositionW;\x0a#if\x20defined(BILLBOARD)\x20&&\x20!defined(BILLBOARDY)\x20&&\x20!defined(BILLBOARDSTRETCHED)\x0auniform\x20mat4\x20invView;\x0a#endif\x0a#include<clipPlaneVertexDeclaration2>\x0a#include<logDepthDeclaration>\x0a#ifdef\x20COLORGRADIENTS\x0auniform\x20sampler2D\x20colorGradientSampler;\x0a#else\x0auniform\x20vec4\x20colorDead;\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x0auniform\x20vec3\x20sheetInfos;\x0a#endif\x0a#ifdef\x20BILLBOARD\x0auniform\x20vec3\x20eyePosition;\x0a#endif\x0avec3\x20rotate(vec3\x20yaxis,vec3\x20rotatedCorner)\x20{\x0avec3\x20xaxis=normalize(cross(vec3(0.,1.0,0.),yaxis));\x0avec3\x20zaxis=normalize(cross(yaxis,xaxis));\x0avec3\x20row0=vec3(xaxis.x,xaxis.y,xaxis.z);\x0avec3\x20row1=vec3(yaxis.x,yaxis.y,yaxis.z);\x0avec3\x20row2=vec3(zaxis.x,zaxis.y,zaxis.z);\x0amat3\x20rotMatrix=\x20mat3(row0,row1,row2);\x0avec3\x20alignedCorner=rotMatrix*rotatedCorner;\x0a#ifdef\x20LOCAL\x0areturn\x20((emitterWM*vec4(position,1.0)).xyz+worldOffset)+alignedCorner;\x0a#else\x0areturn\x20(position+worldOffset)+alignedCorner;\x0a#endif\x0a}\x0a#ifdef\x20BILLBOARDSTRETCHED\x0avec3\x20rotateAlign(vec3\x20toCamera,vec3\x20rotatedCorner)\x20{\x0avec3\x20normalizedToCamera=normalize(toCamera);\x0avec3\x20normalizedCrossDirToCamera=normalize(cross(normalize(direction),normalizedToCamera));\x0avec3\x20crossProduct=normalize(cross(normalizedToCamera,normalizedCrossDirToCamera));\x0avec3\x20row0=vec3(normalizedCrossDirToCamera.x,normalizedCrossDirToCamera.y,normalizedCrossDirToCamera.z);\x0avec3\x20row1=vec3(crossProduct.x,crossProduct.y,crossProduct.z);\x0avec3\x20row2=vec3(normalizedToCamera.x,normalizedToCamera.y,normalizedToCamera.z);\x0amat3\x20rotMatrix=\x20mat3(row0,row1,row2);\x0avec3\x20alignedCorner=rotMatrix*rotatedCorner;\x0a#ifdef\x20LOCAL\x0areturn\x20((emitterWM*vec4(position,1.0)).xyz+worldOffset)+alignedCorner;\x0a#else\x0areturn\x20(position+worldOffset)+alignedCorner;\x0a#endif\x0a}\x0a#endif\x0avoid\x20main()\x20{\x0a#ifdef\x20ANIMATESHEET\x0afloat\x20rowOffset=floor(cellIndex/sheetInfos.z);\x0afloat\x20columnOffset=cellIndex-rowOffset*sheetInfos.z;\x0avec2\x20uvScale=sheetInfos.xy;\x0avec2\x20uvOffset=vec2(uv.x\x20,1.0-uv.y);\x0avUV=(uvOffset+vec2(columnOffset,rowOffset))*uvScale;\x0a#else\x0avUV=uv;\x0a#endif\x0afloat\x20ratio=age/life;\x0a#ifdef\x20COLORGRADIENTS\x0avColor=texture2D(colorGradientSampler,vec2(ratio,0));\x0a#else\x0avColor=color*vec4(1.0-ratio)+colorDead*vec4(ratio);\x0a#endif\x0avec2\x20cornerPos=(offset-translationPivot)*size.yz*size.x+translationPivot;\x0a#ifdef\x20BILLBOARD\x0avec4\x20rotatedCorner;\x0arotatedCorner.w=0.;\x0a#ifdef\x20BILLBOARDY\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.z=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.y=0.;\x0avec3\x20yaxis=(position+worldOffset)-eyePosition;\x0ayaxis.y=0.;\x0avPositionW=rotate(normalize(yaxis),rotatedCorner.xyz);\x0avec4\x20viewPosition=(view*vec4(vPositionW,1.0));\x0a#elif\x20defined(BILLBOARDSTRETCHED)\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.y=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.z=0.;\x0avec3\x20toCamera=(position+worldOffset)-eyePosition;\x0avPositionW=rotateAlign(toCamera,rotatedCorner.xyz);\x0avec4\x20viewPosition=(view*vec4(vPositionW,1.0));\x0a#else\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.y=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.z=0.;\x0a#ifdef\x20LOCAL\x0avec4\x20viewPosition=view*vec4(((emitterWM*vec4(position,1.0)).xyz+worldOffset),1.0)+rotatedCorner;\x0a#else\x0avec4\x20viewPosition=view*vec4((position+worldOffset),1.0)+rotatedCorner;\x0a#endif\x0avPositionW=(invView*viewPosition).xyz;\x0a#endif\x0a#else\x0avec3\x20rotatedCorner;\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.y=0.;\x0arotatedCorner.z=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0avec3\x20yaxis=normalize(initialDirection);\x0avPositionW=rotate(yaxis,rotatedCorner);\x0avec4\x20viewPosition=view*vec4(vPositionW,1.0);\x0a#endif\x0agl_Position=projection*viewPosition;\x0a#if\x20defined(CLIPPLANE)\x20||\x20defined(CLIPPLANE2)\x20||\x20defined(CLIPPLANE3)\x20||\x20defined(CLIPPLANE4)\x20||\x20defined(CLIPPLANE5)\x20||\x20defined(CLIPPLANE6)\x0avec4\x20worldPos=vec4(vPositionW,1.0);\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<logDepthVertex>\x0a}','_pointerUpStage','texStorage3D','setArray','ETC2RGBA8UnormSRGB','varyings','vrdisplaypointerunrestricted','setColor4','_SceneComponentInitialization','GL_ALPHA_FUNCTION_CONSTANT_COLOR','finalizeShaders','replace','irradianceSampler','pbrBlockSheen','void\x20main(void)\x20{\x0d\x0a','deleteCompoundImpostor','_debugFlushPendingCommands','_getHalfFloatAsFloatRGBAArrayBuffer','#ifdef\x20DOF\x0afactor=sampleCoC(sampleCoord{X});\x20\x0acomputedWeight=KERNEL_WEIGHT{X}*factor;\x0asumOfWeights+=computedWeight;\x0a#else\x0acomputedWeight=KERNEL_WEIGHT{X};\x0a#endif\x0a#ifdef\x20PACKEDFLOAT\x0ablend+=unpack(texture2D(textureSampler,sampleCoord{X}))*computedWeight;\x0a#else\x0ablend+=texture2D(textureSampler,sampleCoord{X})*computedWeight;\x0a#endif\x0a','search','Depth24Plus','componentCount','TEXTUREFORMAT_LUMINANCE','[0..','#ifdef\x20IMAGEPROCESSINGPOSTPROCESS\x0agl_FragColor.rgb=pow(gl_FragColor.rgb,vec3(2.2));\x0a#endif\x0a','Clear','HingeJoint','framebufferTextureLayer','Read','ssao2PixelShader','#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20TEXTUREFUNC(s,c,lod)\x20texture2DLodEXT(s,c,lod)\x0a#else\x0a#define\x20TEXTUREFUNC(s,c,bias)\x20texture2D(s,c,bias)\x0a#endif\x0auniform\x20sampler2D\x20textureSampler;\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20circleOfConfusionSampler;\x0auniform\x20sampler2D\x20blurStep0;\x0a#if\x20BLUR_LEVEL>0\x0auniform\x20sampler2D\x20blurStep1;\x0a#endif\x0a#if\x20BLUR_LEVEL>1\x0auniform\x20sampler2D\x20blurStep2;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0afloat\x20coc=TEXTUREFUNC(circleOfConfusionSampler,vUV,0.0).r;\x0a#if\x20BLUR_LEVEL==0\x0avec4\x20original=TEXTUREFUNC(textureSampler,vUV,0.0);\x0avec4\x20blurred0=TEXTUREFUNC(blurStep0,vUV,0.0);\x0agl_FragColor=mix(original,blurred0,coc);\x0a#endif\x0a#if\x20BLUR_LEVEL==1\x0aif(coc<0.5){\x0avec4\x20original=TEXTUREFUNC(textureSampler,vUV,0.0);\x0avec4\x20blurred1=TEXTUREFUNC(blurStep1,vUV,0.0);\x0agl_FragColor=mix(original,blurred1,coc/0.5);\x0a}else{\x0avec4\x20blurred0=TEXTUREFUNC(blurStep0,vUV,0.0);\x0avec4\x20blurred1=TEXTUREFUNC(blurStep1,vUV,0.0);\x0agl_FragColor=mix(blurred1,blurred0,(coc-0.5)/0.5);\x0a}\x0a#endif\x0a#if\x20BLUR_LEVEL==2\x0aif(coc<0.33){\x0avec4\x20original=TEXTUREFUNC(textureSampler,vUV,0.0);\x0avec4\x20blurred2=TEXTUREFUNC(blurStep2,vUV,0.0);\x0agl_FragColor=mix(original,blurred2,coc/0.33);\x0a}else\x20if(coc<0.66){\x0avec4\x20blurred1=TEXTUREFUNC(blurStep1,vUV,0.0);\x0avec4\x20blurred2=TEXTUREFUNC(blurStep2,vUV,0.0);\x0agl_FragColor=mix(blurred2,blurred1,(coc-0.33)/0.33);\x0a}else{\x0avec4\x20blurred0=TEXTUREFUNC(blurStep0,vUV,0.0);\x0avec4\x20blurred1=TEXTUREFUNC(blurStep1,vUV,0.0);\x0agl_FragColor=mix(blurred1,blurred0,(coc-0.66)/0.34);\x0a}\x0a#endif\x0a}\x0a','setUIntArray2','arrayBufferBlockCount','_getGlobalDefines','5188SwAols','_fragmentSourceCode','_valueCache','ONE_MINUS_CONSTANT_ALPHA','_GpuTextureViewDimensionByWebGPUTextureType','unBindFramebuffer','getRenderingCanvas','pbrBlockIridescence','isWebGPU','_samplerDeclaration','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#else\x0d\x0a','mag','lightVxFragmentDeclaration','SetData','_commandEncoderForCreation','_emitFunction','removeTags','readDataFromBuffer','getInput','PREPASS_NORMAL_TEXTURE_TYPE','endOcclusionQuery','_areTexturesDirty','MAINUV7','_TextureLoaders','framebufferTextureMultiviewOVR','INTENSITYMODE_LUMINOUSPOWER','layerVertexShader','verticesCount','depthOrArrayLayers','TEXTURE_INVCUBIC_MODE','TEXTURE_2D','instancedArrays','ConeParticleEmitter','HALF_FLOAT','RandomRange','getBindGroupLayout','removeVaryings','webpackChunkBim','vClipPlane6','computeSource','createStorageBuffer','PointParticleEmitter','_areAttributesDirty','maxCubemapTextureSize','updateDynamicTexture','textureUsages','_measureDuration','string','setAlphaConstants','catch','LIGHTTYPEID_DIRECTIONALLIGHT','initializeShaders','_glslang','precision\x20highp\x20float;\x0d\x0a','document','constantlyUpdateMeshUnderPointer','is3D','isParallelCompiled','precision\x20highp\x20float;\x0avarying\x20vec2\x20vDecalTC;\x0auniform\x20sampler2D\x20textureSampler;\x0avoid\x20main(void)\x20{\x0aif\x20(vDecalTC.x<0.\x20||\x20vDecalTC.x>1.\x20||\x20vDecalTC.y<0.\x20||\x20vDecalTC.y>1.)\x20{\x0adiscard;\x0a}\x0agl_FragColor=texture2D(textureSampler,vDecalTC);\x0a}\x0a','textureFormatInUse','TEXTURE_CUBE_MAP_NEGATIVE_X','REFLECTIONMAP_EQUIRECTANGULAR_FIXED','setFloatArray2','NEGATIVE_INFINITY','PREPASS_POSITION_TEXTURE_TYPE','MODE_TOPBOTTOM','enableEffect','proceduralVertexShader','createStorageBuffer:\x20Unsupported\x20method\x20in\x20this\x20engine!','layerCounts','isVRDevicePresent','preventDefaultOnPointerUp','Vector4','getInputElement','gpuUpdateParticlesPixelShader','copy','ONE_MINUS_SRC_ALPHA','hdrFilteringPixelShader','ASTC10x6UnormSRGB','WriteOnly','#define\x20CYLINDEREMITTER','#if\x20defined(IMAGEPROCESSINGPOSTPROCESS)\x20||\x20defined(SS_SCATTERING)\x0a#if\x20!defined(SKIPFINALCOLORCLAMP)\x0afinalColor.rgb=clamp(finalColor.rgb,0.,30.0);\x0a#endif\x0a#else\x0afinalColor=applyImageProcessing(finalColor);\x0a#endif\x0afinalColor.a*=visibility;\x0a#ifdef\x20PREMULTIPLYALPHA\x0afinalColor.rgb*=finalColor.a;\x0a#endif\x0a','clientY','POINTERUP','arrayBufferBlockMaxByteLength','precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0a#ifdef\x20SPECULARTERM\x0auniform\x20vec4\x20vSpecularColor;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vTextureUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20vTextureInfos;\x0auniform\x20sampler2D\x20diffuse1Sampler;\x0auniform\x20sampler2D\x20diffuse2Sampler;\x0auniform\x20sampler2D\x20diffuse3Sampler;\x0auniform\x20vec2\x20diffuse1Infos;\x0auniform\x20vec2\x20diffuse2Infos;\x0auniform\x20vec2\x20diffuse3Infos;\x0a#endif\x0a#ifdef\x20BUMP\x0auniform\x20sampler2D\x20bump1Sampler;\x0auniform\x20sampler2D\x20bump2Sampler;\x0auniform\x20sampler2D\x20bump3Sampler;\x0a#endif\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#ifdef\x20BUMP\x0a#extension\x20GL_OES_standard_derivatives\x20:\x20enable\x0amat3\x20cotangent_frame(vec3\x20normal,vec3\x20p,vec2\x20uv)\x0a{\x0avec3\x20dp1=dFdx(p);\x0avec3\x20dp2=dFdy(p);\x0avec2\x20duv1=dFdx(uv);\x0avec2\x20duv2=dFdy(uv);\x0avec3\x20dp2perp=cross(dp2,normal);\x0avec3\x20dp1perp=cross(normal,dp1);\x0avec3\x20tangent=dp2perp*duv1.x+dp1perp*duv2.x;\x0avec3\x20binormal=dp2perp*duv1.y+dp1perp*duv2.y;\x0afloat\x20invmax=inversesqrt(max(dot(tangent,tangent),dot(binormal,binormal)));\x0areturn\x20mat3(tangent*invmax,binormal*invmax,normal);\x0a}\x0avec3\x20perturbNormal(vec3\x20viewDir,vec3\x20mixColor)\x0a{\x0avec3\x20bump1Color=texture2D(bump1Sampler,vTextureUV*diffuse1Infos).xyz;\x0avec3\x20bump2Color=texture2D(bump2Sampler,vTextureUV*diffuse2Infos).xyz;\x0avec3\x20bump3Color=texture2D(bump3Sampler,vTextureUV*diffuse3Infos).xyz;\x0abump1Color.rgb*=mixColor.r;\x0abump2Color.rgb=mix(bump1Color.rgb,bump2Color.rgb,mixColor.g);\x0avec3\x20map=mix(bump2Color.rgb,bump3Color.rgb,mixColor.b);\x0amap=map*255./127.-128./127.;\x0amat3\x20TBN=cotangent_frame(vNormalW*vTextureInfos.y,-viewDir,vTextureUV);\x0areturn\x20normalize(TBN*map);\x0a}\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20baseColor=vec4(1.,1.,1.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0a#ifdef\x20SPECULARTERM\x0afloat\x20glossiness=vSpecularColor.a;\x0avec3\x20specularColor=vSpecularColor.rgb;\x0a#else\x0afloat\x20glossiness=0.;\x0a#endif\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0abaseColor=texture2D(textureSampler,vTextureUV);\x0a#if\x20defined(BUMP)\x20&&\x20defined(DIFFUSE)\x0anormalW=perturbNormal(viewDirectionW,baseColor.rgb);\x0a#endif\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include<depthPrePass>\x0abaseColor.rgb*=vTextureInfos.y;\x0avec4\x20diffuse1Color=texture2D(diffuse1Sampler,vTextureUV*diffuse1Infos);\x0avec4\x20diffuse2Color=texture2D(diffuse2Sampler,vTextureUV*diffuse2Infos);\x0avec4\x20diffuse3Color=texture2D(diffuse3Sampler,vTextureUV*diffuse3Infos);\x0adiffuse1Color.rgb*=baseColor.r;\x0adiffuse2Color.rgb=mix(diffuse1Color.rgb,diffuse2Color.rgb,baseColor.g);\x0abaseColor.rgb=mix(diffuse2Color.rgb,diffuse3Color.rgb,baseColor.b);\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0a#endif\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20finalSpecular=specularBase*specularColor;\x0a#else\x0avec3\x20finalSpecular=vec3(0.0);\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor*baseColor.rgb,0.0,1.0);\x0avec4\x20color=vec4(finalDiffuse+finalSpecular,alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','TEXTURETYPE_UNSIGNED_SHORT_5_6_5','_currentBoundBuffer','_resetPostProcessChain','deviceSlot','_collectBindingNames','onVRDisplayChangedObservable','AddStore','Render\x20to\x20float\x20textures\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20forced\x20to\x20false.','setIntArray2','webGLVersion','indexOf','incrementReferences','setTextures','COLOR_ATTACHMENT0','concat','_depthTextureFormat','BGRA8UnormSRGB','fluidRenderingParticleThicknessPixelShader','isCube','foveationLevel','useRightHandedSystem','gl_Position.z\x20=\x20(gl_Position.z\x20+\x20gl_Position.w)\x20/\x202.0;\x0a','_isDisabled','sampleType','pbrBlockReflectivity','ALPHA_INTERPOLATE','removePendingData','Occlusion','TextureWithoutSampler','FluidRenderingRTT-','removeUniforms','updateArray','pointerMovePredicate','freeBindingIndex','stages',');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20','compressedTexImage2D','MatchesQuery','instancesDeclaration','#define\x20CONEEMITTER','_currentRenderTarget','\x20not\x20found,\x20you\x20may\x20have\x20missed\x20an\x20import.','shadowMapVertexMetric','split','float\x20computeDistanceLightFalloff_Standard(vec3\x20lightOffset,float\x20range)\x0a{\x0areturn\x20max(0.,1.0-length(lightOffset)/range);\x0a}\x0afloat\x20computeDistanceLightFalloff_Physical(float\x20lightDistanceSquared)\x0a{\x0areturn\x201.0/maxEps(lightDistanceSquared);\x0a}\x0afloat\x20computeDistanceLightFalloff_GLTF(float\x20lightDistanceSquared,float\x20inverseSquaredRange)\x0a{\x0afloat\x20lightDistanceFalloff=1.0/maxEps(lightDistanceSquared);\x0afloat\x20factor=lightDistanceSquared*inverseSquaredRange;\x0afloat\x20attenuation=saturate(1.0-factor*factor);\x0aattenuation*=attenuation;\x0alightDistanceFalloff*=attenuation;\x0areturn\x20lightDistanceFalloff;\x0a}\x0afloat\x20computeDistanceLightFalloff(vec3\x20lightOffset,float\x20lightDistanceSquared,float\x20range,float\x20inverseSquaredRange)\x0a{\x0a#ifdef\x20USEPHYSICALLIGHTFALLOFF\x0areturn\x20computeDistanceLightFalloff_Physical(lightDistanceSquared);\x0a#elif\x20defined(USEGLTFLIGHTFALLOFF)\x0areturn\x20computeDistanceLightFalloff_GLTF(lightDistanceSquared,inverseSquaredRange);\x0a#else\x0areturn\x20computeDistanceLightFalloff_Standard(lightOffset,range);\x0a#endif\x0a}\x0afloat\x20computeDirectionalLightFalloff_Standard(vec3\x20lightDirection,vec3\x20directionToLightCenterW,float\x20cosHalfAngle,float\x20exponent)\x0a{\x0afloat\x20falloff=0.0;\x0afloat\x20cosAngle=maxEps(dot(-lightDirection,directionToLightCenterW));\x0aif\x20(cosAngle>=cosHalfAngle)\x0a{\x0afalloff=max(0.,pow(cosAngle,exponent));\x0a}\x0areturn\x20falloff;\x0a}\x0afloat\x20computeDirectionalLightFalloff_Physical(vec3\x20lightDirection,vec3\x20directionToLightCenterW,float\x20cosHalfAngle)\x0a{\x0aconst\x20float\x20kMinusLog2ConeAngleIntensityRatio=6.64385618977;\x20\x0afloat\x20concentrationKappa=kMinusLog2ConeAngleIntensityRatio/(1.0-cosHalfAngle);\x0avec4\x20lightDirectionSpreadSG=vec4(-lightDirection*concentrationKappa,-concentrationKappa);\x0afloat\x20falloff=exp2(dot(vec4(directionToLightCenterW,1.0),lightDirectionSpreadSG));\x0areturn\x20falloff;\x0a}\x0afloat\x20computeDirectionalLightFalloff_GLTF(vec3\x20lightDirection,vec3\x20directionToLightCenterW,float\x20lightAngleScale,float\x20lightAngleOffset)\x0a{\x0afloat\x20cd=dot(-lightDirection,directionToLightCenterW);\x0afloat\x20falloff=saturate(cd*lightAngleScale+lightAngleOffset);\x0afalloff*=falloff;\x0areturn\x20falloff;\x0a}\x0afloat\x20computeDirectionalLightFalloff(vec3\x20lightDirection,vec3\x20directionToLightCenterW,float\x20cosHalfAngle,float\x20exponent,float\x20lightAngleScale,float\x20lightAngleOffset)\x0a{\x0a#ifdef\x20USEPHYSICALLIGHTFALLOFF\x0areturn\x20computeDirectionalLightFalloff_Physical(lightDirection,directionToLightCenterW,cosHalfAngle);\x0a#elif\x20defined(USEGLTFLIGHTFALLOFF)\x0areturn\x20computeDirectionalLightFalloff_GLTF(lightDirection,directionToLightCenterW,lightAngleScale,lightAngleOffset);\x0a#else\x0areturn\x20computeDirectionalLightFalloff_Standard(lightDirection,directionToLightCenterW,cosHalfAngle,exponent);\x0a#endif\x0a}','_sphericalPolynomial','normal','Storage','tan','bindUniformBlock','getQueryResult','glowMapMergePixelShader','_setRayOnPointerInfo','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0a#include<helperFunctions>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0agl_FragColor=vec4(fromRGBD(texture2D(textureSampler,vUV)),1.0);\x0a}','_WEBGL','CLIPPLANE6','create\x20mipmaps\x20for\x20face\x20#','\x5cs*\x5c[(.*)\x5c]','programValidationError','TEXTURE_FIXED_EQUIRECTANGULAR_MIRRORED_MODE','CompareLightsPriority','vertexShader','addUniform','Output','DRAW_FRAMEBUFFER','_cull','sampleCoord{X}=sampleCenter+delta*KERNEL_OFFSET{X};','uniformBufferProcessor','_frameHandler','HALF_FLOAT_OES','computePipeline','updateRawCubeTexture','_isDirty','_delayedClicks','_vrExclusivePointerMode','#ifdef\x20SHADOWS\x0a#if\x20defined(SHADOWCSM{X})\x0avPositionFromCamera{X}=view*worldPos;\x0afor\x20(int\x20i=0;\x20i<SHADOWCSMNUM_CASCADES{X};\x20i++)\x20{\x0avPositionFromLight{X}[i]=lightMatrix{X}[i]*worldPos;\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0avDepthMetric{X}[i]=(-vPositionFromLight{X}[i].z+light{X}.depthValues.x)/light{X}.depthValues.y;\x0a#else\x0avDepthMetric{X}[i]=(vPositionFromLight{X}[i].z+light{X}.depthValues.x)/light{X}.depthValues.y;\x0a#endif\x0a}\x0a#elif\x20defined(SHADOW{X})\x20&&\x20!defined(SHADOWCUBE{X})\x0avPositionFromLight{X}=lightMatrix{X}*worldPos;\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0avDepthMetric{X}=(-vPositionFromLight{X}.z+light{X}.depthValues.x)/light{X}.depthValues.y;\x0a#else\x0avDepthMetric{X}=(vPositionFromLight{X}.z+light{X}.depthValues.x)/light{X}.depthValues.y;\x0a#endif\x0a#endif\x0a#endif\x0a','precision\x20highp\x20float','HasTags','precision\x20highp\x20float;\x0a#include<__decl__pbrVertex>\x0a#define\x20CUSTOM_VERTEX_BEGIN\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20TANGENT\x0aattribute\x20vec4\x20tangent;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#include<uvAttributeDeclaration>[2..7]\x0a#include<mainUVVaryingDeclaration>[1..7]\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<helperFunctions>\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0a#include<prePassVertexDeclaration>\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,ALBEDO,_VARYINGNAME_,Albedo)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,REFLECTIVITY,_VARYINGNAME_,Reflectivity)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,MICROSURFACEMAP,_VARYINGNAME_,MicroSurfaceSampler)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,METALLIC_REFLECTANCE,_VARYINGNAME_,MetallicReflectance)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,REFLECTANCE,_VARYINGNAME_,Reflectance)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal)\x0a#ifdef\x20CLEARCOAT\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,CLEARCOAT_TEXTURE,_VARYINGNAME_,ClearCoat)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,CLEARCOAT_TEXTURE_ROUGHNESS,_VARYINGNAME_,ClearCoatRoughness)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,CLEARCOAT_BUMP,_VARYINGNAME_,ClearCoatBump)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,CLEARCOAT_TINT_TEXTURE,_VARYINGNAME_,ClearCoatTint)\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,IRIDESCENCE_TEXTURE,_VARYINGNAME_,Iridescence)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,IRIDESCENCE_THICKNESS_TEXTURE,_VARYINGNAME_,IridescenceThickness)\x0a#endif\x0a#ifdef\x20SHEEN\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,SHEEN_TEXTURE,_VARYINGNAME_,Sheen)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,SHEEN_TEXTURE_ROUGHNESS,_VARYINGNAME_,SheenRoughness)\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,ANISOTROPIC_TEXTURE,_VARYINGNAME_,Anisotropy)\x0a#endif\x0a#ifdef\x20SUBSURFACE\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,SS_THICKNESSANDMASK_TEXTURE,_VARYINGNAME_,Thickness)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,SS_REFRACTIONINTENSITY_TEXTURE,_VARYINGNAME_,RefractionIntensity)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,SS_TRANSLUCENCYINTENSITY_TEXTURE,_VARYINGNAME_,TranslucencyIntensity)\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#if\x20DEBUGMODE>0\x0avarying\x20vec4\x20vClipSpacePosition;\x0a#endif\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#if\x20defined(USESPHERICALFROMREFLECTIONMAP)\x20&&\x20defined(USESPHERICALINVERTEX)\x0avarying\x20vec3\x20vEnvironmentIrradiance;\x0a#include<harmonicsFunctions>\x0a#endif\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<bumpVertexDeclaration>\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightVxFragment>[0..maxSimultaneousLights]\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avarying\x20vec3\x20vPositionUVW;\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avarying\x20vec3\x20vDirectionW;\x0a#endif\x0a#include<logDepthDeclaration>\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avec3\x20positionUpdated=position;\x0a#ifdef\x20NORMAL\x0avec3\x20normalUpdated=normal;\x0a#endif\x0a#ifdef\x20TANGENT\x0avec4\x20tangentUpdated=tangent;\x0a#endif\x0a#ifdef\x20UV1\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#include<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avPositionUVW=positionUpdated;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_UPDATE_POSITION\x0a#define\x20CUSTOM_VERTEX_UPDATE_NORMAL\x0a#include<instancesVertex>\x0a#if\x20defined(PREPASS)\x20&&\x20defined(PREPASS_VELOCITY)\x20&&\x20!defined(BONES_VELOCITY_ENABLED)\x0avCurrentPosition=viewProjection*finalWorld*vec4(positionUpdated,1.0);\x0avPreviousPosition=previousViewProjection*finalPreviousWorld*vec4(positionUpdated,1.0);\x0a#endif\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(positionUpdated,1.0);\x0avPositionW=vec3(worldPos);\x0a#include<prePassVertex>\x0a#ifdef\x20NORMAL\x0amat3\x20normalWorld=mat3(finalWorld);\x0a#if\x20defined(INSTANCES)\x20&&\x20defined(THIN_INSTANCES)\x0avNormalW=normalUpdated/vec3(dot(normalWorld[0],normalWorld[0]),dot(normalWorld[1],normalWorld[1]),dot(normalWorld[2],normalWorld[2]));\x0avNormalW=normalize(normalWorld*vNormalW);\x0a#else\x0a#ifdef\x20NONUNIFORMSCALING\x0anormalWorld=transposeMat3(inverseMat3(normalWorld));\x0a#endif\x0avNormalW=normalize(normalWorld*normalUpdated);\x0a#endif\x0a#if\x20defined(USESPHERICALFROMREFLECTIONMAP)\x20&&\x20defined(USESPHERICALINVERTEX)\x0avec3\x20reflectionVector=vec3(reflectionMatrix*vec4(vNormalW,0)).xyz;\x0a#ifdef\x20REFLECTIONMAP_OPPOSITEZ\x0areflectionVector.z*=-1.0;\x0a#endif\x0avEnvironmentIrradiance=computeEnvironmentIrradiance(reflectionVector);\x0a#endif\x0a#endif\x0a#define\x20CUSTOM_VERTEX_UPDATE_WORLDPOS\x0a#ifdef\x20MULTIVIEW\x0aif\x20(gl_ViewID_OVR==0u)\x20{\x0agl_Position=viewProjection*worldPos;\x0a}\x20else\x20{\x0agl_Position=viewProjectionR*worldPos;\x0a}\x0a#else\x0agl_Position=viewProjection*worldPos;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0avClipSpacePosition=gl_Position;\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avDirectionW=normalize(vec3(finalWorld*vec4(positionUpdated,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uvUpdated=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20MAINUV1\x0avMainUV1=uvUpdated;\x0a#endif\x0a#include<uvVariableDeclaration>[2..7]\x0a#include<samplerVertexImplementation>(_DEFINENAME_,ALBEDO,_VARYINGNAME_,Albedo,_MATRIXNAME_,albedo,_INFONAME_,AlbedoInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail,_MATRIXNAME_,detail,_INFONAME_,DetailInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient,_MATRIXNAME_,ambient,_INFONAME_,AmbientInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity,_MATRIXNAME_,opacity,_INFONAME_,OpacityInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive,_MATRIXNAME_,emissive,_INFONAME_,EmissiveInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap,_MATRIXNAME_,lightmap,_INFONAME_,LightmapInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,REFLECTIVITY,_VARYINGNAME_,Reflectivity,_MATRIXNAME_,reflectivity,_INFONAME_,ReflectivityInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,MICROSURFACEMAP,_VARYINGNAME_,MicroSurfaceSampler,_MATRIXNAME_,microSurfaceSampler,_INFONAME_,MicroSurfaceSamplerInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,METALLIC_REFLECTANCE,_VARYINGNAME_,MetallicReflectance,_MATRIXNAME_,metallicReflectance,_INFONAME_,MetallicReflectanceInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,REFLECTANCE,_VARYINGNAME_,Reflectance,_MATRIXNAME_,reflectance,_INFONAME_,ReflectanceInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump,_MATRIXNAME_,bump,_INFONAME_,BumpInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal,_MATRIXNAME_,decal,_INFONAME_,DecalInfos.x)\x0a#ifdef\x20CLEARCOAT\x0a#include<samplerVertexImplementation>(_DEFINENAME_,CLEARCOAT_TEXTURE,_VARYINGNAME_,ClearCoat,_MATRIXNAME_,clearCoat,_INFONAME_,ClearCoatInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,CLEARCOAT_TEXTURE_ROUGHNESS,_VARYINGNAME_,ClearCoatRoughness,_MATRIXNAME_,clearCoatRoughness,_INFONAME_,ClearCoatInfos.z)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,CLEARCOAT_BUMP,_VARYINGNAME_,ClearCoatBump,_MATRIXNAME_,clearCoatBump,_INFONAME_,ClearCoatBumpInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,CLEARCOAT_TINT_TEXTURE,_VARYINGNAME_,ClearCoatTint,_MATRIXNAME_,clearCoatTint,_INFONAME_,ClearCoatTintInfos.x)\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0a#include<samplerVertexImplementation>(_DEFINENAME_,IRIDESCENCE_TEXTURE,_VARYINGNAME_,Iridescence,_MATRIXNAME_,iridescence,_INFONAME_,IridescenceInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,IRIDESCENCE_THICKNESS_TEXTURE,_VARYINGNAME_,IridescenceThickness,_MATRIXNAME_,iridescenceThickness,_INFONAME_,IridescenceInfos.z)\x0a#endif\x0a#ifdef\x20SHEEN\x0a#include<samplerVertexImplementation>(_DEFINENAME_,SHEEN_TEXTURE,_VARYINGNAME_,Sheen,_MATRIXNAME_,sheen,_INFONAME_,SheenInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,SHEEN_TEXTURE_ROUGHNESS,_VARYINGNAME_,SheenRoughness,_MATRIXNAME_,sheen,_INFONAME_,SheenInfos.z)\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0a#include<samplerVertexImplementation>(_DEFINENAME_,ANISOTROPIC_TEXTURE,_VARYINGNAME_,Anisotropy,_MATRIXNAME_,anisotropy,_INFONAME_,AnisotropyInfos.x)\x0a#endif\x0a#ifdef\x20SUBSURFACE\x0a#include<samplerVertexImplementation>(_DEFINENAME_,SS_THICKNESSANDMASK_TEXTURE,_VARYINGNAME_,Thickness,_MATRIXNAME_,thickness,_INFONAME_,ThicknessInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,SS_REFRACTIONINTENSITY_TEXTURE,_VARYINGNAME_,RefractionIntensity,_MATRIXNAME_,refractionIntensity,_INFONAME_,RefractionIntensityInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,SS_TRANSLUCENCYINTENSITY_TEXTURE,_VARYINGNAME_,TranslucencyIntensity,_MATRIXNAME_,translucencyIntensity,_INFONAME_,TranslucencyIntensityInfos.x)\x0a#endif\x0a#include<bumpVertex>\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#include<logDepthVertex>\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','ELEMENT_ARRAY_BUFFER','cellWidth','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20screenSize;\x0auniform\x20vec2\x20sharpnessAmounts;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec2\x20onePixel=vec2(1.0,1.0)/screenSize;\x0avec4\x20color=texture2D(textureSampler,vUV);\x0avec4\x20edgeDetection=texture2D(textureSampler,vUV+onePixel*vec2(0,-1))\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(-1,0))\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(1,0))\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(0,1))\x20-\x0acolor*4.0;\x0agl_FragColor=max(vec4(color.rgb*sharpnessAmounts.y,color.a)-(sharpnessAmounts.x*vec4(edgeDetection.rgb,0)),0.);\x0a}','MAINUV4','_blendConstants','R8Unorm','_normals','videoHeight','default','IsImageBitmapArray','stencilFunc',')\x0d\x0a','TEXTURETYPE_UNSIGNED_INT_5_9_9_9_REV\x20format\x20not\x20supported\x20in\x20WebGPU','TEXTUREFORMAT_RGB_INTEGER','destroy','MATERIAL_TriangleStripDrawMode','BGRA8Unorm','samplers','vec3\x20diffuseBase=vec3(0.,0.,0.);\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0avec3\x20clearCoatBase=vec3(0.,0.,0.);\x0a#endif\x0a#ifdef\x20SHEEN\x0avec3\x20sheenBase=vec3(0.,0.,0.);\x0a#endif\x0apreLightingInfo\x20preInfo;\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x20\x0a#if\x20defined(CLEARCOAT)\x20&&\x20defined(CLEARCOAT_TINT)\x0avec3\x20absorption=vec3(0.);\x0a#endif\x0a','_prepareFrame','attached','bindTexture','renderPageFocus','_startingPointerPosition','_loadFile','rebuild','canRead','_debugPopGroup','TEXTURE_WRAP_S','thinInstanceSetMatrixAt','originalPickingInfo','RG16Uint','bakedVertexAnimationDeclaration','_webgpuProcessingContext','references','generateCubeMipmaps','cellInfo','_pointerOverMesh','\x0a\x20\x20\x20\x20@group(0)\x20@binding(0)\x20var\x20videoSampler:\x20sampler;\x0a\x20\x20\x20\x20@group(0)\x20@binding(1)\x20var\x20videoTexture:\x20texture_external;\x0a\x0a\x20\x20\x20\x20@fragment\x0a\x20\x20\x20\x20fn\x20main(\x0a\x20\x20\x20\x20\x20\x20\x20\x20@location(0)\x20fragUV:\x20vec2<f32>\x0a\x20\x20\x20\x20)\x20->\x20@location(0)\x20vec4<f32>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20textureSampleBaseClampToEdge(videoTexture,\x20videoSampler,\x20vec2<f32>(fragUV.x,\x201.0\x20-\x20fragUV.y));\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','screenSpaceCurvaturePixelShader','_defineEquirectangularFixedName','textureCubeArray','ASTC8x5UnormSRGB','setUsage','FLOAT','ACTION_OnLongPressTrigger','IridescenceBlock','_capacity','bumpFragmentMainFunctions','_skipPointerTap','#endif\x0d\x0a','needShaderCodeInlining','_outputs','glFragColor','_createBuffer','samplerFragmentAlternateDeclaration','createRenderBundleEncoder','_radius','TEXTUREFORMAT_BGRA','_alphaBlend','vFogColor','postprocess','maximizeInPlace','setExternalTexture:\x20This\x20engine\x20does\x20not\x20support\x20external\x20textures!','_delayedSimpleClick','supportUniformBuffers','getAttributeNextLocation','\x0a#define\x20BILLBOARD\x0a','updateRawTexture','textures','_isStencilOpDirty','onKeyboardObservable','screenSpaceReflections2','setImmediate','textureFloatLinearFiltering','copyFromFloats','TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT5','_worldPositionNameInFragmentOnlyMode',',\x20uniqueId=','#if\x20defined(FORCENORMALFORWARD)\x20&&\x20defined(NORMAL)\x0avec3\x20faceNormal=normalize(cross(dFdx(vPositionW),dFdy(vPositionW)))*vEyePosition.w;\x0a#if\x20defined(TWOSIDEDLIGHTING)\x0afaceNormal=gl_FrontFacing\x20?\x20faceNormal\x20:\x20-faceNormal;\x0a#endif\x0anormalW*=sign(dot(normalW,faceNormal));\x0a#endif\x0a#if\x20defined(TWOSIDEDLIGHTING)\x20&&\x20defined(NORMAL)\x0anormalW=gl_FrontFacing\x20?\x20normalW\x20:\x20-normalW;\x0a#endif\x0a','TEXTURE_PROJECTION_MODE','getEffect','mipLevelCount','terrainPixelShader','direction2','IdentityReadOnly','TransformNormalToRef','BC5RGSnorm','_isSwiping','_caps','ALPHA_ONEONE_ONEONE','TEXTURETYPE_UNSIGNED_SHORT_5_5_5_1\x20format\x20not\x20supported\x20in\x20WebGPU','_workingContext','TEXTURETYPE_UNSIGNED_INT','-dxt.ktx','uniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20highlightsSampler;\x0auniform\x20sampler2D\x20depthSampler;\x0auniform\x20sampler2D\x20grainSampler;\x0auniform\x20float\x20grain_amount;\x0auniform\x20bool\x20blur_noise;\x0auniform\x20float\x20screen_width;\x0auniform\x20float\x20screen_height;\x0auniform\x20float\x20distortion;\x0auniform\x20bool\x20dof_enabled;\x0auniform\x20float\x20screen_distance;\x20\x0auniform\x20float\x20aperture;\x0auniform\x20float\x20darken;\x0auniform\x20float\x20edge_blur;\x0auniform\x20bool\x20highlights;\x0auniform\x20float\x20near;\x0auniform\x20float\x20far;\x0avarying\x20vec2\x20vUV;\x0a#define\x20PI\x203.14159265\x0a#define\x20TWOPI\x206.28318530\x0a#define\x20inverse_focal_length\x200.1\x20\x0avec2\x20centered_screen_pos;\x0avec2\x20distorted_coords;\x0afloat\x20radius2;\x0afloat\x20radius;\x0avec2\x20rand(vec2\x20co)\x0a{\x0afloat\x20noise1=(fract(sin(dot(co,vec2(12.9898,78.233)))*43758.5453));\x0afloat\x20noise2=(fract(sin(dot(co,vec2(12.9898,78.233)*2.0))*43758.5453));\x0areturn\x20clamp(vec2(noise1,noise2),0.0,1.0);\x0a}\x0avec2\x20getDistortedCoords(vec2\x20coords)\x20{\x0aif\x20(distortion==0.0)\x20{\x20return\x20coords;\x20}\x0avec2\x20direction=1.0*normalize(centered_screen_pos);\x0avec2\x20dist_coords=vec2(0.5,0.5);\x0adist_coords.x=0.5+direction.x*radius2*1.0;\x0adist_coords.y=0.5+direction.y*radius2*1.0;\x0afloat\x20dist_amount=clamp(distortion*0.23,0.0,1.0);\x0adist_coords=mix(coords,dist_coords,dist_amount);\x0areturn\x20dist_coords;\x0a}\x0afloat\x20sampleScreen(inout\x20vec4\x20color,in\x20vec2\x20offset,in\x20float\x20weight)\x20{\x0avec2\x20coords=distorted_coords;\x0afloat\x20angle=rand(coords*100.0).x*TWOPI;\x0acoords+=vec2(offset.x*cos(angle)-offset.y*sin(angle),offset.x*sin(angle)+offset.y*cos(angle));\x0acolor+=texture2D(textureSampler,coords)*weight;\x0areturn\x20weight;\x0a}\x0afloat\x20getBlurLevel(float\x20size)\x20{\x0areturn\x20min(3.0,ceil(size/1.0));\x0a}\x0avec4\x20getBlurColor(float\x20size)\x20{\x0avec4\x20col=texture2D(textureSampler,distorted_coords);\x0afloat\x20blur_level=getBlurLevel(size);\x0afloat\x20w=(size/screen_width);\x0afloat\x20h=(size/screen_height);\x0afloat\x20total_weight=1.0;\x0avec2\x20sample_coords;\x0atotal_weight+=sampleScreen(col,vec2(-0.50*w,0.24*h),0.93);\x0atotal_weight+=sampleScreen(col,vec2(0.30*w,-0.75*h),0.90);\x0atotal_weight+=sampleScreen(col,vec2(0.36*w,0.96*h),0.87);\x0atotal_weight+=sampleScreen(col,vec2(-1.08*w,-0.55*h),0.85);\x0atotal_weight+=sampleScreen(col,vec2(1.33*w,-0.37*h),0.83);\x0atotal_weight+=sampleScreen(col,vec2(-0.82*w,1.31*h),0.80);\x0atotal_weight+=sampleScreen(col,vec2(-0.31*w,-1.67*h),0.78);\x0atotal_weight+=sampleScreen(col,vec2(1.47*w,1.11*h),0.76);\x0atotal_weight+=sampleScreen(col,vec2(-1.97*w,0.19*h),0.74);\x0atotal_weight+=sampleScreen(col,vec2(1.42*w,-1.57*h),0.72);\x0aif\x20(blur_level>1.0)\x20{\x0atotal_weight+=sampleScreen(col,vec2(0.01*w,2.25*h),0.70);\x0atotal_weight+=sampleScreen(col,vec2(-1.62*w,-1.74*h),0.67);\x0atotal_weight+=sampleScreen(col,vec2(2.49*w,0.20*h),0.65);\x0atotal_weight+=sampleScreen(col,vec2(-2.07*w,1.61*h),0.63);\x0atotal_weight+=sampleScreen(col,vec2(0.46*w,-2.70*h),0.61);\x0atotal_weight+=sampleScreen(col,vec2(1.55*w,2.40*h),0.59);\x0atotal_weight+=sampleScreen(col,vec2(-2.88*w,-0.75*h),0.56);\x0atotal_weight+=sampleScreen(col,vec2(2.73*w,-1.44*h),0.54);\x0atotal_weight+=sampleScreen(col,vec2(-1.08*w,3.02*h),0.52);\x0atotal_weight+=sampleScreen(col,vec2(-1.28*w,-3.05*h),0.49);\x0a}\x0aif\x20(blur_level>2.0)\x20{\x0atotal_weight+=sampleScreen(col,vec2(3.11*w,1.43*h),0.46);\x0atotal_weight+=sampleScreen(col,vec2(-3.36*w,1.08*h),0.44);\x0atotal_weight+=sampleScreen(col,vec2(1.80*w,-3.16*h),0.41);\x0atotal_weight+=sampleScreen(col,vec2(0.83*w,3.65*h),0.38);\x0atotal_weight+=sampleScreen(col,vec2(-3.16*w,-2.19*h),0.34);\x0atotal_weight+=sampleScreen(col,vec2(3.92*w,-0.53*h),0.31);\x0atotal_weight+=sampleScreen(col,vec2(-2.59*w,3.12*h),0.26);\x0atotal_weight+=sampleScreen(col,vec2(-0.20*w,-4.15*h),0.22);\x0atotal_weight+=sampleScreen(col,vec2(3.02*w,3.00*h),0.15);\x0a}\x0acol/=total_weight;\x20\x0aif\x20(darken>0.0)\x20{\x0acol.rgb*=clamp(0.3,1.0,1.05-size*0.5*darken);\x0a}\x0areturn\x20col;\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0acentered_screen_pos=vec2(vUV.x-0.5,vUV.y-0.5);\x0aradius2=centered_screen_pos.x*centered_screen_pos.x+centered_screen_pos.y*centered_screen_pos.y;\x0aradius=sqrt(radius2);\x0adistorted_coords=getDistortedCoords(vUV);\x20\x0avec2\x20texels_coords=vec2(vUV.x*screen_width,vUV.y*screen_height);\x20\x0afloat\x20depth=texture2D(depthSampler,distorted_coords).r;\x20\x0afloat\x20distance=near+(far-near)*depth;\x20\x0avec4\x20color=texture2D(textureSampler,vUV);\x20\x0afloat\x20coc=abs(aperture*(screen_distance*(inverse_focal_length-1.0/distance)-1.0));\x0aif\x20(dof_enabled==false\x20||\x20coc<0.07)\x20{\x20coc=0.0;\x20}\x0afloat\x20edge_blur_amount=0.0;\x0aif\x20(edge_blur>0.0)\x20{\x0aedge_blur_amount=clamp((radius*2.0-1.0+0.15*edge_blur)*1.5,0.0,1.0)*1.3;\x0a}\x0afloat\x20blur_amount=max(edge_blur_amount,coc);\x0aif\x20(blur_amount==0.0)\x20{\x0agl_FragColor=texture2D(textureSampler,distorted_coords);\x0a}\x0aelse\x20{\x0agl_FragColor=getBlurColor(blur_amount*1.7);\x0aif\x20(highlights)\x20{\x0agl_FragColor.rgb+=clamp(coc,0.0,1.0)*texture2D(highlightsSampler,distorted_coords).rgb;\x0a}\x0aif\x20(blur_noise)\x20{\x0avec2\x20noise=rand(distorted_coords)*0.01*blur_amount;\x0avec2\x20blurred_coord=vec2(distorted_coords.x+noise.x,distorted_coords.y+noise.y);\x0agl_FragColor=0.04*texture2D(textureSampler,blurred_coord)+0.96*gl_FragColor;\x0a}\x0a}\x0aif\x20(grain_amount>0.0)\x20{\x0avec4\x20grain_color=texture2D(grainSampler,texels_coords*0.003);\x0agl_FragColor.rgb+=(-0.5+grain_color.rgb)*0.30*grain_amount;\x0a}\x0a}\x0a','RGBA32Float','getRenderWidth','matrixBufferSize','attribute\x20vec3\x20position;\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#include<clipPlaneVertexDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20viewProjection;\x0avarying\x20vec4\x20vPosition;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vUVDiffuse;\x0auniform\x20mat4\x20diffuseMatrix;\x0a#endif\x0a#ifdef\x20OPACITY\x0avarying\x20vec2\x20vUVOpacity;\x0auniform\x20mat4\x20opacityMatrix;\x0a#endif\x0a#ifdef\x20EMISSIVE\x0avarying\x20vec2\x20vUVEmissive;\x0auniform\x20mat4\x20emissiveMatrix;\x0a#endif\x0a#ifdef\x20VERTEXALPHA\x0aattribute\x20vec4\x20color;\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec3\x20positionUpdated=position;\x0a#ifdef\x20UV1\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#include<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(positionUpdated,1.0);\x0a#ifdef\x20CUBEMAP\x0avPosition=worldPos;\x0agl_Position=viewProjection*finalWorld*vec4(position,1.0);\x0a#else\x0avPosition=viewProjection*worldPos;\x0agl_Position=vPosition;\x0a#endif\x0a#ifdef\x20DIFFUSE\x0a#ifdef\x20DIFFUSEUV1\x0avUVDiffuse=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20DIFFUSEUV2\x0avUVDiffuse=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a#ifdef\x20OPACITY\x0a#ifdef\x20OPACITYUV1\x0avUVOpacity=vec2(opacityMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20OPACITYUV2\x0avUVOpacity=vec2(opacityMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a#ifdef\x20EMISSIVE\x0a#ifdef\x20EMISSIVEUV1\x0avUVEmissive=vec2(emissiveMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20EMISSIVEUV2\x0avUVEmissive=vec2(emissiveMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a#ifdef\x20VERTEXALPHA\x0avColor=color;\x0a#endif\x0a#include<clipPlaneVertex>\x0a}','_isRenderingStateCompiled','loop','#define\x20CLIPPLANE3','_uniformBufferLayoutBuilt','_MSAARenderBuffers','TEXTUREFORMAT_DEPTH32_FLOAT','_view','#if\x20defined(_DEFINENAME_)\x20&&\x20_DEFINENAME_DIRECTUV==0\x0avarying\x20vec2\x20v_VARYINGNAME_UV;\x0a#endif\x0a','ssaoCombinePixelShader','_appendSpriteVertex','_startingPointerTime','TEXTURE_TRILINEAR_SAMPLINGMODE','clipPlane','__decl__','HemisphericParticleEmitter','clipPlane4','imageProcessingPostProcess','#include<helperFunctions>\x0a#include<importanceSampling>\x0a#include<pbrBRDFFunctions>\x0a#include<hdrFilteringFunctions>\x0auniform\x20float\x20alphaG;\x0auniform\x20samplerCube\x20inputTexture;\x0auniform\x20vec2\x20vFilteringInfo;\x0auniform\x20float\x20hdrScale;\x0avarying\x20vec3\x20direction;\x0avoid\x20main()\x20{\x0avec3\x20color=radiance(alphaG,inputTexture,direction,vFilteringInfo);\x0agl_FragColor=vec4(color*hdrScale,1.0);\x0a}','wrapV','colorAttachmentGPUTextures','_boundRenderFunction','tabIndex','generateMipmaps','delay','_registerTempVariable','__framebuffer','faceForward','enabled','_defines','forceBindGroupCreation','enablePhysics','//Attributes\x0d\x0a','isPresenting','updateMatrices','updateDirectColor4','createEffectForParticles','bumpFragment','getDeterministicFrameTime','\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@size(16)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20el:\x20','vClipPlane','createQuery','\x20=\x20computeProjectionCoords(','GL_ALPHA_FUNCTION_ONE_MINUS_SRC_COLOR','linePixelShader','_cachedWrapV','_addUniformToLeftOverUBO','filterSize','vrDistortionCorrectionPixelShader','lightVxUboDeclaration','_addSamplerBindingDescription','_bufferView','exec','\x20@align(16)\x20','_blurTextureSizeY','samplerCube','pbrUboDeclaration','#define\x20CLIPPLANE2','_varyingTransfer','_resizeOrCreateMultiviewTexture','STATIC_DRAW','ACTION_OnPickOutTrigger','diffusionD','TEXTURE_EXPLICIT_MODE','updateFlag','View','-pvrtc.ktx','BuildTuple','defaultCursor','_buildLeftOverUBO','hasOwnProperty','createPostProcess','_animate','#ifdef\x20MORPHTARGETS\x0auniform\x20float\x20morphTargetInfluences[NUM_MORPH_INFLUENCERS];\x0a#ifdef\x20MORPHTARGETS_TEXTURE\x20\x0aprecision\x20mediump\x20sampler2DArray;\x20\x0auniform\x20float\x20morphTargetTextureIndices[NUM_MORPH_INFLUENCERS];\x0auniform\x20vec3\x20morphTargetTextureInfo;\x0auniform\x20sampler2DArray\x20morphTargets;\x0avec3\x20readVector3FromRawSampler(int\x20targetIndex,float\x20vertexIndex)\x0a{\x20\x0afloat\x20y=floor(vertexIndex/morphTargetTextureInfo.y);\x0afloat\x20x=vertexIndex-y*morphTargetTextureInfo.y;\x0avec3\x20textureUV=vec3((x+0.5)/morphTargetTextureInfo.y,(y+0.5)/morphTargetTextureInfo.z,morphTargetTextureIndices[targetIndex]);\x0areturn\x20texture(morphTargets,textureUV).xyz;\x0a}\x0a#endif\x0a#endif\x0a','isEnabled','_SamplerTypeByWebGLSamplerType','_useVAO','emitErrors','_getRGBABufferInternalSizedFormat','_opStencilFail','_pointerCaptures','TransformCoordinatesFromFloatsToRef'];a7_0x429c=function(){return _0x1699bc;};return a7_0x429c();}(function(_0x2facde,_0x316fee){var _0x695635=a7_0x4956,_0x2ff9f0=_0x2facde();while(!![]){try{var _0x3dea18=parseInt(_0x695635(0x15f))/0x1*(parseInt(_0x695635(0x570))/0x2)+parseInt(_0x695635(0xccb))/0x3*(-parseInt(_0x695635(0xa44))/0x4)+-parseInt(_0x695635(0x692))/0x5+parseInt(_0x695635(0x15a))/0x6+parseInt(_0x695635(0x208))/0x7*(-parseInt(_0x695635(0x2fb))/0x8)+-parseInt(_0x695635(0x209))/0x9*(parseInt(_0x695635(0x2cd))/0xa)+parseInt(_0x695635(0xd6e))/0xb*(parseInt(_0x695635(0x89f))/0xc);if(_0x3dea18===_0x316fee)break;else _0x2ff9f0['push'](_0x2ff9f0['shift']());}catch(_0x546d5a){_0x2ff9f0['push'](_0x2ff9f0['shift']());}}}(a7_0x429c,0x269a6));function a7_0x4956(_0x3a3b8c,_0x354ed9){var _0x429cfb=a7_0x429c();return a7_0x4956=function(_0x49564c,_0x119b80){_0x49564c=_0x49564c-0x154;var _0x568e16=_0x429cfb[_0x49564c];return _0x568e16;},a7_0x4956(_0x3a3b8c,_0x354ed9);}(Object(self||this)[a7_0x51ebec(0xa69)]=Object(self||this)[a7_0x51ebec(0xa69)]||[])[a7_0x51ebec(0x2f7)]([[0x169],{0x166fc:(_0x5be3c4,_0x43dd9d,_0x1c0bb0)=>{var _0x5d12d1=a7_0x51ebec;_0x1c0bb0['d'](_0x43dd9d,{'V':()=>_0xa54335});class _0xa54335{constructor(_0x42c955,_0x2a532d,_0xadebb2,_0x3597e7,_0x4aeed1,_0x16425d){var _0x10032a=a7_0x4956;this[_0x10032a(0xcbc)]=_0x42c955,this[_0x10032a(0x37c)]=_0x2a532d,this[_0x10032a(0x301)]=_0xadebb2,this[_0x10032a(0x3ac)]=_0x3597e7,this[_0x10032a(0xcb2)]=_0x4aeed1,this[_0x10032a(0x8e2)]=_0x16425d;}static[_0x5d12d1(0xc66)](_0x56fcfb,_0x3d8d53,_0x274a60){var _0x608d96=_0x5d12d1,_0x2d05e4=_0x56fcfb['getScene']();return new _0xa54335(_0x56fcfb,_0x2d05e4['pointerX'],_0x2d05e4[_0x608d96(0x301)],_0x2d05e4[_0x608d96(0x3ac)]||_0x56fcfb,_0x3d8d53,_0x274a60);}static[_0x5d12d1(0xd1b)](_0x36ae6c,_0x4e60ec,_0x58514a,_0x10b63c){var _0x50eba0=_0x5d12d1;return new _0xa54335(_0x36ae6c,_0x4e60ec[_0x50eba0(0x37c)],_0x4e60ec['pointerY'],_0x4e60ec[_0x50eba0(0x3ac)],_0x58514a,_0x10b63c);}static[_0x5d12d1(0xc48)](_0x3cd7b9,_0x3e14ef){var _0x5d8e99=_0x5d12d1;return new _0xa54335(null,_0x3cd7b9[_0x5d8e99(0x37c)],_0x3cd7b9[_0x5d8e99(0x301)],_0x3cd7b9[_0x5d8e99(0x3ac)],_0x3e14ef);}static[_0x5d12d1(0x395)](_0x1535b1,_0x298a9f,_0x30d16c,_0x3c6653){return new _0xa54335(_0x1535b1,_0x298a9f['x'],_0x298a9f['y'],null,_0x30d16c,_0x3c6653);}}},0x8535:(_0x4335d0,_0x4a4170,_0x31177b)=>{var _0x5346eb=a7_0x51ebec;_0x31177b['d'](_0x4a4170,{'X':()=>_0x8e9c5f});class _0x8e9c5f{constructor(_0x4bf89c,_0xcdb579,_0x5833a5){var _0x2f1804=a7_0x4956;this['name']=_0x4bf89c,this[_0x2f1804(0x1ed)]=_0xcdb579,this['to']=_0x5833a5;}[_0x5346eb(0x669)](){var _0x86cc0e=_0x5346eb;return new _0x8e9c5f(this['name'],this[_0x86cc0e(0x1ed)],this['to']);}}},0x16f11:(_0xddf4aa,_0x15aa4a,_0x5dc6d0)=>{_0x5dc6d0['d'](_0x15aa4a,{'c':()=>_0x35e519});class _0x35e519{constructor(_0x51d53b,_0x516dd4,_0x127b23){var _0x5c5688=a7_0x4956;this['bu']=_0x51d53b,this['bv']=_0x516dd4,this[_0x5c5688(0xc4c)]=_0x127b23,this['faceId']=0x0,this[_0x5c5688(0x758)]=0x0;}}},0x8789:(_0x269701,_0x4815c5,_0x121641)=>{var _0x497e65=a7_0x51ebec;_0x121641['d'](_0x4815c5,{'p':()=>_0x2bf12c});var _0x4923ab=_0x121641(0xa896);class _0x2bf12c{constructor(_0x42de1a,_0x1d39e1,_0x5c251a=0x0){var _0x2eae90=a7_0x4956;this[_0x2eae90(0x82c)]=_0x1d39e1,this['deviceSlot']=_0x5c251a,this[_0x2eae90(0xc24)]=new _0x4923ab['y$'](),this[_0x2eae90(0x568)]=_0x42de1a;}[_0x497e65(0xa56)](_0x4b7797){var _0x3b0e98=_0x497e65;return this[_0x3b0e98(0x568)][_0x3b0e98(0x920)](this[_0x3b0e98(0x82c)],this[_0x3b0e98(0xa9d)],_0x4b7797);}}},0xf5ea:(_0x288e39,_0x463d97,_0x54bf29)=>{var _0xb95ebf=a7_0x51ebec,_0x2c2d61=_0x54bf29(0xcf06),_0x23189f=_0x54bf29(0x1610);_0x2c2d61['B']['prototype'][_0xb95ebf(0xa74)]=function(_0x869b56,_0x5d65b4,_0x3e5cd1,_0x52e603){var _0x3e619f=_0xb95ebf;this[_0x3e619f(0x2ab)]['setAlphaBlendConstants'](_0x869b56,_0x5d65b4,_0x3e5cd1,_0x52e603);},_0x2c2d61['B'][_0xb95ebf(0x21e)][_0xb95ebf(0x3c5)]=function(_0x5650af,_0x53bfc6=!0x1){var _0x26158a=_0xb95ebf,_0x5302e0;if(this[_0x26158a(0xcd3)]===_0x5650af)_0x53bfc6||(_0x5302e0=_0x5650af===_0x23189f['g'][_0x26158a(0xcbd)],this[_0x26158a(0x7cc)][_0x26158a(0x74d)]!==_0x5302e0&&(this['depthCullingState'][_0x26158a(0x74d)]=_0x5302e0));else{switch(_0x5650af){case _0x23189f['g'][_0x26158a(0xcbd)]:this[_0x26158a(0x2ab)][_0x26158a(0x5be)]=!0x1;break;case _0x23189f['g']['ALPHA_PREMULTIPLIED']:this[_0x26158a(0x2ab)]['setAlphaBlendFunctionParameters'](this[_0x26158a(0x4ed)][_0x26158a(0x5a2)],this[_0x26158a(0x4ed)][_0x26158a(0xa90)],this[_0x26158a(0x4ed)][_0x26158a(0x5a2)],this[_0x26158a(0x4ed)][_0x26158a(0x5a2)]),this[_0x26158a(0x2ab)]['alphaBlend']=!0x0;break;case _0x23189f['g'][_0x26158a(0x6d7)]:this['_alphaState']['setAlphaBlendFunctionParameters'](this[_0x26158a(0x4ed)][_0x26158a(0x5a2)],this[_0x26158a(0x4ed)][_0x26158a(0xa90)],this[_0x26158a(0x4ed)]['ONE'],this[_0x26158a(0x4ed)][_0x26158a(0xa90)]),this[_0x26158a(0x2ab)][_0x26158a(0x5be)]=!0x0;break;case _0x23189f['g'][_0x26158a(0x56a)]:this[_0x26158a(0x2ab)][_0x26158a(0x3db)](this[_0x26158a(0x4ed)]['SRC_ALPHA'],this[_0x26158a(0x4ed)]['ONE_MINUS_SRC_ALPHA'],this[_0x26158a(0x4ed)]['ONE'],this[_0x26158a(0x4ed)]['ONE']),this[_0x26158a(0x2ab)][_0x26158a(0x5be)]=!0x0;break;case _0x23189f['g'][_0x26158a(0x6f9)]:this[_0x26158a(0x2ab)][_0x26158a(0x3db)](this['_gl'][_0x26158a(0x5a2)],this[_0x26158a(0x4ed)][_0x26158a(0x5a2)],this[_0x26158a(0x4ed)][_0x26158a(0x721)],this[_0x26158a(0x4ed)][_0x26158a(0x5a2)]),this[_0x26158a(0x2ab)][_0x26158a(0x5be)]=!0x0;break;case _0x23189f['g'][_0x26158a(0x5fc)]:this[_0x26158a(0x2ab)][_0x26158a(0x3db)](this['_gl'][_0x26158a(0x82f)],this[_0x26158a(0x4ed)][_0x26158a(0x5a2)],this['_gl'][_0x26158a(0x721)],this['_gl']['ONE']),this[_0x26158a(0x2ab)][_0x26158a(0x5be)]=!0x0;break;case _0x23189f['g'][_0x26158a(0x3d4)]:this[_0x26158a(0x2ab)]['setAlphaBlendFunctionParameters'](this['_gl'][_0x26158a(0x721)],this[_0x26158a(0x4ed)][_0x26158a(0x912)],this[_0x26158a(0x4ed)][_0x26158a(0x5a2)],this[_0x26158a(0x4ed)]['ONE']),this[_0x26158a(0x2ab)][_0x26158a(0x5be)]=!0x0;break;case _0x23189f['g'][_0x26158a(0x781)]:this[_0x26158a(0x2ab)][_0x26158a(0x3db)](this[_0x26158a(0x4ed)][_0x26158a(0x434)],this[_0x26158a(0x4ed)][_0x26158a(0x721)],this[_0x26158a(0x4ed)][_0x26158a(0x5a2)],this[_0x26158a(0x4ed)][_0x26158a(0x5a2)]),this['_alphaState'][_0x26158a(0x5be)]=!0x0;break;case _0x23189f['g'][_0x26158a(0x6a4)]:this[_0x26158a(0x2ab)]['setAlphaBlendFunctionParameters'](this['_gl']['SRC_ALPHA'],this['_gl'][_0x26158a(0x912)],this[_0x26158a(0x4ed)][_0x26158a(0x5a2)],this[_0x26158a(0x4ed)]['ONE']),this[_0x26158a(0x2ab)][_0x26158a(0x5be)]=!0x0;break;case _0x23189f['g'][_0x26158a(0xab3)]:this['_alphaState'][_0x26158a(0x3db)](this[_0x26158a(0x4ed)][_0x26158a(0x97c)],this[_0x26158a(0x4ed)][_0x26158a(0xa20)],this[_0x26158a(0x4ed)][_0x26158a(0x6db)],this[_0x26158a(0x4ed)][_0x26158a(0xa47)]),this[_0x26158a(0x2ab)]['alphaBlend']=!0x0;break;case _0x23189f['g']['ALPHA_SCREENMODE']:this[_0x26158a(0x2ab)]['setAlphaBlendFunctionParameters'](this['_gl'][_0x26158a(0x5a2)],this[_0x26158a(0x4ed)]['ONE_MINUS_SRC_COLOR'],this[_0x26158a(0x4ed)][_0x26158a(0x5a2)],this[_0x26158a(0x4ed)][_0x26158a(0xa90)]),this['_alphaState'][_0x26158a(0x5be)]=!0x0;break;case _0x23189f['g'][_0x26158a(0xb43)]:this[_0x26158a(0x2ab)][_0x26158a(0x3db)](this[_0x26158a(0x4ed)][_0x26158a(0x5a2)],this[_0x26158a(0x4ed)][_0x26158a(0x5a2)],this[_0x26158a(0x4ed)]['ONE'],this[_0x26158a(0x4ed)][_0x26158a(0x5a2)]),this[_0x26158a(0x2ab)][_0x26158a(0x5be)]=!0x0;break;case _0x23189f['g'][_0x26158a(0xc75)]:this['_alphaState'][_0x26158a(0x3db)](this[_0x26158a(0x4ed)][_0x26158a(0x9c6)],this[_0x26158a(0x4ed)]['ONE'],this['_gl']['ZERO'],this[_0x26158a(0x4ed)][_0x26158a(0x721)]),this[_0x26158a(0x2ab)][_0x26158a(0x5be)]=!0x0;break;case _0x23189f['g'][_0x26158a(0x177)]:this[_0x26158a(0x2ab)][_0x26158a(0x3db)](this[_0x26158a(0x4ed)][_0x26158a(0xbe8)],this[_0x26158a(0x4ed)][_0x26158a(0x912)],this[_0x26158a(0x4ed)][_0x26158a(0xcfe)],this[_0x26158a(0x4ed)][_0x26158a(0xa90)]),this['_alphaState'][_0x26158a(0x5be)]=!0x0;break;case _0x23189f['g'][_0x26158a(0x8b8)]:this[_0x26158a(0x2ab)][_0x26158a(0x3db)](this[_0x26158a(0x4ed)]['ONE'],this[_0x26158a(0x4ed)]['ONE_MINUS_SRC_ALPHA'],this['_gl'][_0x26158a(0x5a2)],this[_0x26158a(0x4ed)][_0x26158a(0xa90)]),this['_alphaState'][_0x26158a(0x5be)]=!0x0;break;case _0x23189f['g'][_0x26158a(0x15d)]:this[_0x26158a(0x2ab)][_0x26158a(0x3db)](this[_0x26158a(0x4ed)]['ONE'],this[_0x26158a(0x4ed)][_0x26158a(0x5a2)],this[_0x26158a(0x4ed)][_0x26158a(0x5a2)],this[_0x26158a(0x4ed)][_0x26158a(0x721)]),this[_0x26158a(0x2ab)]['alphaBlend']=!0x0;break;case _0x23189f['g']['ALPHA_EXCLUSION']:this[_0x26158a(0x2ab)][_0x26158a(0x3db)](this['_gl'][_0x26158a(0xbe8)],this[_0x26158a(0x4ed)][_0x26158a(0x912)],this[_0x26158a(0x4ed)][_0x26158a(0x721)],this[_0x26158a(0x4ed)]['ONE']),this[_0x26158a(0x2ab)][_0x26158a(0x5be)]=!0x0;break;case _0x23189f['g'][_0x26158a(0x905)]:this[_0x26158a(0x2ab)][_0x26158a(0x3db)](this[_0x26158a(0x4ed)][_0x26158a(0x82f)],this[_0x26158a(0x4ed)][_0x26158a(0xa90)],this['_gl']['ONE'],this[_0x26158a(0x4ed)][_0x26158a(0xa90)]),this['_alphaState'][_0x26158a(0x5be)]=!0x0;}_0x53bfc6||(this[_0x26158a(0x7cc)][_0x26158a(0x74d)]=_0x5650af===_0x23189f['g'][_0x26158a(0xcbd)]),this[_0x26158a(0xcd3)]=_0x5650af;}},_0x2c2d61['B'][_0xb95ebf(0x21e)][_0xb95ebf(0x5a8)]=function(){var _0x54d8f5=_0xb95ebf;return this[_0x54d8f5(0xcd3)];},_0x2c2d61['B'][_0xb95ebf(0x21e)][_0xb95ebf(0x450)]=function(_0x235b60){var _0x5f2263=_0xb95ebf;if(this[_0x5f2263(0x8e0)]!==_0x235b60){switch(_0x235b60){case _0x23189f['g'][_0x5f2263(0x77d)]:this[_0x5f2263(0x2ab)][_0x5f2263(0x43d)](_0x23189f['g'][_0x5f2263(0x77a)],_0x23189f['g'][_0x5f2263(0x77a)]);break;case _0x23189f['g']['ALPHA_EQUATION_SUBSTRACT']:this[_0x5f2263(0x2ab)][_0x5f2263(0x43d)](_0x23189f['g'][_0x5f2263(0x723)],_0x23189f['g'][_0x5f2263(0x723)]);break;case _0x23189f['g'][_0x5f2263(0x9a8)]:this['_alphaState'][_0x5f2263(0x43d)](_0x23189f['g'][_0x5f2263(0x283)],_0x23189f['g'][_0x5f2263(0x283)]);break;case _0x23189f['g'][_0x5f2263(0x2fc)]:this['_alphaState']['setAlphaEquationParameters'](_0x23189f['g'][_0x5f2263(0x931)],_0x23189f['g'][_0x5f2263(0x931)]);break;case _0x23189f['g'][_0x5f2263(0xc6f)]:this[_0x5f2263(0x2ab)][_0x5f2263(0x43d)](_0x23189f['g'][_0x5f2263(0x633)],_0x23189f['g'][_0x5f2263(0x633)]);break;case _0x23189f['g'][_0x5f2263(0x383)]:this[_0x5f2263(0x2ab)][_0x5f2263(0x43d)](_0x23189f['g']['GL_ALPHA_EQUATION_MIN'],_0x23189f['g'][_0x5f2263(0x77a)]);}this[_0x5f2263(0x8e0)]=_0x235b60;}},_0x2c2d61['B'][_0xb95ebf(0x21e)]['getAlphaEquation']=function(){return this['_alphaEquation'];};},0x14c07:(_0x23337d,_0x1afceb,_0x22c3ef)=>{var _0x4a65be=a7_0x51ebec,_0x4538d2=_0x22c3ef(0xcf06),_0x1bceff=_0x22c3ef(0x138df),_0xbe3f4e=_0x22c3ef(0x9a70),_0x339f80=_0x22c3ef(0x4342),_0x5f55a7=_0x22c3ef(0x38ee),_0x47920f=_0x22c3ef(0x1610);_0x4538d2['B']['prototype']['_createDepthStencilCubeTexture']=function(_0x419a63,_0x1b04da,_0x4f67db){var _0x5e314d=a7_0x4956;const _0x39deee=new _0x1bceff['l'](this,_0x1bceff['S'][_0x5e314d(0x9d6)]);if(_0x39deee['isCube']=!0x0,0x1===this['webGLVersion'])return _0xbe3f4e['Y'][_0x5e314d(0x1ce)](_0x5e314d(0x7cd)),_0x39deee;var _0x43d99e=Object[_0x5e314d(0x884)]({'bilinearFiltering':!0x1,'comparisonFunction':0x0,'generateStencil':!0x1},_0x1b04da);const _0x4771a1=this['_gl'];this[_0x5e314d(0xc50)](_0x4771a1[_0x5e314d(0x883)],_0x39deee,!0x0),this['_setupDepthStencilTexture'](_0x39deee,_0x419a63,_0x43d99e[_0x5e314d(0x787)],_0x43d99e['bilinearFiltering'],_0x43d99e[_0x5e314d(0x3b0)]),_0x4f67db[_0x5e314d(0x8ae)]=_0x39deee,_0x4f67db[_0x5e314d(0x8c1)]=_0x43d99e[_0x5e314d(0x787)];for(let _0x1d4f6c=0x0;_0x1d4f6c<0x6;_0x1d4f6c++)_0x43d99e[_0x5e314d(0x787)]?_0x4771a1[_0x5e314d(0x1cb)](_0x4771a1[_0x5e314d(0x6e6)]+_0x1d4f6c,0x0,_0x4771a1[_0x5e314d(0x93b)],_0x419a63,_0x419a63,0x0,_0x4771a1[_0x5e314d(0x52d)],_0x4771a1[_0x5e314d(0x1e8)],null):_0x4771a1['texImage2D'](_0x4771a1[_0x5e314d(0x6e6)]+_0x1d4f6c,0x0,_0x4771a1[_0x5e314d(0x7f6)],_0x419a63,_0x419a63,0x0,_0x4771a1[_0x5e314d(0x756)],_0x4771a1[_0x5e314d(0x2d5)],null);return this[_0x5e314d(0xc50)](_0x4771a1['TEXTURE_CUBE_MAP'],null),this[_0x5e314d(0x300)][_0x5e314d(0x2f7)](_0x39deee),_0x39deee;},_0x4538d2['B'][_0x4a65be(0x21e)][_0x4a65be(0xc0c)]=function(_0x418233,_0x1be7d2,_0x599aaa,_0x5270c1,_0x421e77=null){this['_loadFile'](_0x418233,_0x397418=>{var _0x1a1871=a7_0x4956;_0x599aaa[_0x1be7d2]=_0x397418,_0x599aaa[_0x1a1871(0x2ae)]++,0x6===_0x599aaa['_internalCount']&&_0x5270c1(_0x599aaa);},void 0x0,void 0x0,!0x0,(_0x30bf69,_0x32529e)=>{var _0x5cdd3b=a7_0x4956;_0x421e77&&_0x30bf69&&_0x421e77(_0x30bf69['status']+'\x20'+_0x30bf69[_0x5cdd3b(0x92e)],_0x32529e);});},_0x4538d2['B'][_0x4a65be(0x21e)][_0x4a65be(0x5c3)]=function(_0x5ed8de,_0x77cc4,_0x22091d,_0x4b83c7=null){var _0x1d0b05=_0x4a65be;const _0x3e2225=[];for(let _0x19cba5=_0x3e2225[_0x1d0b05(0x2ae)]=0x0;_0x19cba5<0x6;_0x19cba5++)this['_partialLoadFile'](_0x22091d[_0x19cba5],_0x19cba5,_0x3e2225,_0x77cc4,_0x4b83c7);},_0x4538d2['B'][_0x4a65be(0x21e)]['_cascadeLoadImgs']=function(_0x5da3be,_0xc12446,_0x30a7a2,_0x3c2473,_0x289748=null,_0x1ea286){var _0x4f1c5=_0x4a65be;const _0x6e72b5=[];for(let _0x5e91d3=_0x6e72b5['_internalCount']=0x0;_0x5e91d3<0x6;_0x5e91d3++)this[_0x4f1c5(0xd27)](_0x3c2473[_0x5e91d3],_0x5e91d3,_0x6e72b5,_0x5da3be,_0xc12446,_0x30a7a2,_0x289748,_0x1ea286);},_0x4538d2['B'][_0x4a65be(0x21e)][_0x4a65be(0xd27)]=function(_0x81c0c7,_0x179f64,_0x563e9f,_0x475ede,_0x2857f8,_0x4d3ff2,_0x2510a8=null,_0x33ed47){var _0x461547=_0x4a65be;const _0x2d6d18=(0x0,_0x5f55a7['f'])();(0x0,_0x339f80['r6'])(_0x81c0c7,_0x276845=>{var _0x1122b7=a7_0x4956;_0x563e9f[_0x179f64]=_0x276845,_0x563e9f[_0x1122b7(0x2ae)]++,_0x475ede&&_0x475ede[_0x1122b7(0xab4)](_0x2d6d18),0x6===_0x563e9f[_0x1122b7(0x2ae)]&&_0x4d3ff2&&_0x4d3ff2(_0x2857f8,_0x563e9f);},(_0x369eac,_0x286050)=>{_0x475ede&&_0x475ede['removePendingData'](_0x2d6d18),_0x2510a8&&_0x2510a8(_0x369eac,_0x286050);},_0x475ede?_0x475ede[_0x461547(0x561)]:null,_0x33ed47),_0x475ede&&_0x475ede[_0x461547(0x436)](_0x2d6d18);},_0x4538d2['B'][_0x4a65be(0x21e)][_0x4a65be(0x94e)]=function(_0x24f311,_0xde9056,_0x1c5bd9){var _0x219279=_0x4a65be;const _0x17cc36=this[_0x219279(0x4ed)];_0x17cc36[_0x219279(0x715)](_0x17cc36[_0x219279(0x883)],_0x17cc36['TEXTURE_MAG_FILTER'],_0x17cc36['LINEAR']),_0x17cc36[_0x219279(0x715)](_0x17cc36[_0x219279(0x883)],_0x17cc36[_0x219279(0xc9c)],_0xde9056?_0x17cc36['LINEAR_MIPMAP_LINEAR']:_0x17cc36[_0x219279(0x852)]),_0x17cc36['texParameteri'](_0x17cc36['TEXTURE_CUBE_MAP'],_0x17cc36['TEXTURE_WRAP_S'],_0x17cc36[_0x219279(0x239)]),_0x17cc36[_0x219279(0x715)](_0x17cc36[_0x219279(0x883)],_0x17cc36[_0x219279(0x2da)],_0x17cc36['CLAMP_TO_EDGE']),_0x24f311[_0x219279(0x1eb)]=_0xde9056?_0x47920f['g']['TEXTURE_TRILINEAR_SAMPLINGMODE']:_0x47920f['g']['TEXTURE_LINEAR_LINEAR'],_0xde9056&&this[_0x219279(0x61c)]()['textureMaxLevel']&&void 0x0!==_0x1c5bd9&&0x0<_0x1c5bd9&&(_0x17cc36['texParameteri'](_0x17cc36[_0x219279(0x883)],_0x17cc36[_0x219279(0x76a)],_0x1c5bd9),_0x24f311['_maxLodLevel']=_0x1c5bd9),this['_bindTextureDirectly'](_0x17cc36[_0x219279(0x883)],null);},_0x4538d2['B']['prototype'][_0x4a65be(0x363)]=function(_0x4b7192,_0x1672ed,_0x1689fe,_0x14a691,_0x2c52c5=null,_0x20cd5d=null,_0x35d94a,_0x277b9c=null,_0x2363b5=!0x1,_0x4a926f=0x0,_0x364b76=0x0,_0x1c6098=null,_0x22f7f7=null,_0x465feb=null,_0xbd7769=!0x1){var _0x2991db=_0x4a65be;const _0x41825a=_0x1c6098||new _0x1bceff['l'](this,_0x1bceff['S'][_0x2991db(0x9db)]),_0xc0e223=(_0x41825a['isCube']=!0x0,_0x41825a[_0x2991db(0x509)]=_0x4b7192,_0x41825a[_0x2991db(0x5d6)]=!_0x14a691,_0x41825a['_lodGenerationScale']=_0x4a926f,_0x41825a['_lodGenerationOffset']=_0x364b76,_0x41825a['_useSRGBBuffer']=!!_0xbd7769&&this['_caps'][_0x2991db(0x4cb)]&&(0x1<this[_0x2991db(0xaa3)]||this['isWebGPU']||!!_0x14a691),_0x41825a!==_0x1c6098&&(_0x41825a[_0x2991db(0x525)]=_0x4b7192[_0x2991db(0x41c)](0x0,0x3c)),this[_0x2991db(0x46f)]||(_0x41825a[_0x2991db(0xc32)]=_0x277b9c,_0x41825a[_0x2991db(0x44b)]=_0x1689fe),_0x4b7192),_0x444d41=(_0x4b7192=this[_0x2991db(0x38e)]&&!_0x1c6098?this[_0x2991db(0x38e)](_0x4b7192):_0x4b7192)[_0x2991db(0xac5)]('?')[0x0];var _0x1c6098=_0x444d41['lastIndexOf']('.'),_0x27b61d=_0x277b9c||(-0x1<_0x1c6098?_0x444d41['substring'](_0x1c6098)[_0x2991db(0x814)]():'');let _0xf7038a=null;for(const _0x13affd of _0x4538d2['B'][_0x2991db(0xa5b)])if(_0x13affd[_0x2991db(0x7d2)](_0x27b61d)){_0xf7038a=_0x13affd;break;}_0x1c6098=(_0x140253,_0x241cf4)=>{var _0x4ab286=_0x2991db;_0x4b7192===_0xc0e223?_0x20cd5d&&_0x140253&&_0x20cd5d(_0x140253['status']+'\x20'+_0x140253[_0x4ab286(0x92e)],_0x241cf4):(_0xbe3f4e['Y'][_0x4ab286(0x555)](_0x4ab286(0x761)+_0x4b7192+_0x4ab286(0x1e2)+_0xc0e223),this['createCubeTextureBase'](_0xc0e223,_0x1672ed,_0x1689fe,!!_0x14a691,_0x2c52c5,_0x20cd5d,_0x35d94a,_0x277b9c,_0x2363b5,_0x4a926f,_0x364b76,_0x41825a,_0x22f7f7,_0x465feb,_0xbd7769));};if(_0xf7038a){const _0x577858=_0x29e826=>{_0x22f7f7&&_0x22f7f7(_0x41825a,_0x29e826),_0xf7038a['loadCubeData'](_0x29e826,_0x41825a,_0x2363b5,_0x2c52c5,_0x20cd5d);};_0x1689fe&&0x6===_0x1689fe[_0x2991db(0x9ff)]?_0xf7038a[_0x2991db(0x992)]?this[_0x2991db(0x5c3)](_0x1672ed,_0x5ea587=>_0x577858(_0x5ea587['map'](_0x53718e=>new Uint8Array(_0x53718e))),_0x1689fe,_0x20cd5d):_0x20cd5d?_0x20cd5d(_0x2991db(0xba2)):_0xbe3f4e['Y'][_0x2991db(0x555)]('Texture\x20loader\x20does\x20not\x20support\x20cascades.'):this[_0x2991db(0xb01)](_0x4b7192,_0x445696=>_0x577858(new Uint8Array(_0x445696)),void 0x0,void 0x0,!0x0,_0x1c6098);}else{if(!_0x1689fe)throw new Error(_0x2991db(0x6b4));this[_0x2991db(0xcf5)](_0x1672ed,_0x41825a,(_0x14ef17,_0x18ccca)=>{_0x465feb&&_0x465feb(_0x14ef17,_0x18ccca);},_0x1689fe,_0x20cd5d);}return this[_0x2991db(0x300)]['push'](_0x41825a),_0x41825a;},_0x4538d2['B'][_0x4a65be(0x21e)][_0x4a65be(0xc25)]=function(_0x4acd7a,_0x25adf1,_0x2b3497,_0x48b9fb,_0x56b659=null,_0x18c170=null,_0xf49032,_0x3b9dcb=null,_0x2e0fe1=!0x1,_0x12a93b=0x0,_0x2a90b4=0x0,_0x29ff1d=null,_0x306edc,_0x28d300=!0x1){var _0x5a87be=_0x4a65be;const _0x3a99fe=this[_0x5a87be(0x4ed)];return this[_0x5a87be(0x363)](_0x4acd7a,_0x25adf1,_0x2b3497,!!_0x48b9fb,_0x56b659,_0x18c170,_0xf49032,_0x3b9dcb,_0x2e0fe1,_0x12a93b,_0x2a90b4,_0x29ff1d,_0x99ba72=>this[_0x5a87be(0xc50)](_0x3a99fe[_0x5a87be(0x883)],_0x99ba72,!0x0),(_0x470007,_0x31175d)=>{var _0x1dda80=_0x5a87be,_0x1357e3=this[_0x1dda80(0x4e8)]?_0x4538d2['B'][_0x1dda80(0x1ae)](_0x31175d[0x0][_0x1dda80(0x503)],this[_0x1dda80(0xb42)][_0x1dda80(0xa6f)]):_0x31175d[0x0]['width'],_0x4b923d=_0x1357e3,_0x135d4c=[_0x3a99fe[_0x1dda80(0x6e6)],_0x3a99fe['TEXTURE_CUBE_MAP_POSITIVE_Y'],_0x3a99fe[_0x1dda80(0x40b)],_0x3a99fe[_0x1dda80(0xa80)],_0x3a99fe['TEXTURE_CUBE_MAP_NEGATIVE_Y'],_0x3a99fe['TEXTURE_CUBE_MAP_NEGATIVE_Z']],_0x2e9eb3=(this['_bindTextureDirectly'](_0x3a99fe['TEXTURE_CUBE_MAP'],_0x470007,!0x0),this[_0x1dda80(0x166)](!0x1),_0xf49032?this[_0x1dda80(0x588)](_0xf49032,_0x470007['_useSRGBBuffer']):_0x470007['_useSRGBBuffer']?this['_glSRGBExtensionValues'][_0x1dda80(0x426)]:_0x3a99fe['RGBA']);let _0x40b7bb=_0xf49032?this['_getInternalFormat'](_0xf49032):_0x3a99fe[_0x1dda80(0x709)];_0x470007[_0x1dda80(0x2e8)]&&0x1===this[_0x1dda80(0xaa3)]&&(_0x40b7bb=_0x2e9eb3);for(let _0x110591=0x0;_0x110591<_0x135d4c[_0x1dda80(0x9ff)];_0x110591++)if(_0x31175d[_0x110591][_0x1dda80(0x503)]!==_0x1357e3||_0x31175d[_0x110591]['height']!==_0x4b923d){if(this[_0x1dda80(0x8f6)](),!this['_workingCanvas']||!this['_workingContext'])return void _0xbe3f4e['Y'][_0x1dda80(0x555)](_0x1dda80(0xc9b));this[_0x1dda80(0x355)][_0x1dda80(0x503)]=_0x1357e3,this[_0x1dda80(0x355)][_0x1dda80(0x7f5)]=_0x4b923d,this[_0x1dda80(0xb45)]['drawImage'](_0x31175d[_0x110591],0x0,0x0,_0x31175d[_0x110591][_0x1dda80(0x503)],_0x31175d[_0x110591][_0x1dda80(0x7f5)],0x0,0x0,_0x1357e3,_0x4b923d),_0x3a99fe[_0x1dda80(0x1cb)](_0x135d4c[_0x110591],0x0,_0x2e9eb3,_0x40b7bb,_0x3a99fe[_0x1dda80(0x1fb)],this[_0x1dda80(0x355)]);}else _0x3a99fe[_0x1dda80(0x1cb)](_0x135d4c[_0x110591],0x0,_0x2e9eb3,_0x40b7bb,_0x3a99fe[_0x1dda80(0x1fb)],_0x31175d[_0x110591]);_0x48b9fb||_0x3a99fe[_0x1dda80(0x8fa)](_0x3a99fe[_0x1dda80(0x883)]),this[_0x1dda80(0x94e)](_0x470007,!_0x48b9fb),_0x470007[_0x1dda80(0x503)]=_0x1357e3,_0x470007[_0x1dda80(0x7f5)]=_0x4b923d,_0x470007['isReady']=!0x0,_0xf49032&&(_0x470007[_0x1dda80(0x22f)]=_0xf49032),_0x470007[_0x1dda80(0x398)][_0x1dda80(0x4a4)](_0x470007),_0x470007['onLoadedObservable'][_0x1dda80(0x36e)](),_0x56b659&&_0x56b659();},!!_0x28d300);};},0x193f:(_0x12b68d,_0x26a4d7,_0xa4c9d7)=>{var _0xea8480=a7_0x51ebec;_0xa4c9d7=_0xa4c9d7(0xcf06),(_0xa4c9d7['B'][_0xea8480(0x21e)][_0xea8480(0x963)]=function(_0x5ce412,_0x44ab3d){},_0xa4c9d7['B']['prototype'][_0xea8480(0xb04)]=function(_0x54107d){},_0xa4c9d7['B']['prototype'][_0xea8480(0xbfd)]=function(_0x3b09f4,_0x21ddfe){},_0xa4c9d7['B'][_0xea8480(0x21e)][_0xea8480(0xa32)]=function(){});},0x9314:(_0x8aa9ca,_0xb40bff,_0x5f007b)=>{var _0x29b478=a7_0x51ebec;_0x5f007b=_0x5f007b(0xcf06),(_0x5f007b['B'][_0x29b478(0x21e)]['updateDynamicIndexBuffer']=function(_0x46d7bd,_0x38721c,_0x5c9761=0x0){var _0x498b35=_0x29b478;this[_0x498b35(0xa9b)][this[_0x498b35(0x4ed)][_0x498b35(0xae9)]]=null,this['bindIndexBuffer'](_0x46d7bd),_0x46d7bd=_0x38721c instanceof Uint16Array||_0x38721c instanceof Uint32Array?_0x38721c:new(_0x46d7bd['is32Bits']?Uint32Array:Uint16Array)(_0x38721c),this[_0x498b35(0x4ed)][_0x498b35(0x20e)](this[_0x498b35(0x4ed)][_0x498b35(0xae9)],_0x5c9761,_0x46d7bd),this['_resetIndexBufferBinding']();},_0x5f007b['B'][_0x29b478(0x21e)][_0x29b478(0x918)]=function(_0x42ee8e,_0x1dc665,_0xf06e3c,_0x3e6234){var _0x426149=_0x29b478;this[_0x426149(0x546)](_0x42ee8e),void 0x0===_0xf06e3c&&(_0xf06e3c=0x0),_0x42ee8e=_0x1dc665[_0x426149(0x247)]||_0x1dc665[_0x426149(0x9ff)],(void 0x0===_0x3e6234||_0x42ee8e<=_0x3e6234&&0x0===_0xf06e3c?_0x1dc665 instanceof Array?this[_0x426149(0x4ed)][_0x426149(0x20e)](this['_gl'][_0x426149(0x501)],_0xf06e3c,new Float32Array(_0x1dc665)):this['_gl'][_0x426149(0x20e)](this['_gl'][_0x426149(0x501)],_0xf06e3c,_0x1dc665):_0x1dc665 instanceof Array?this[_0x426149(0x4ed)][_0x426149(0x20e)](this['_gl']['ARRAY_BUFFER'],0x0,new Float32Array(_0x1dc665)[_0x426149(0x7bd)](_0xf06e3c,_0xf06e3c+_0x3e6234)):(_0x1dc665=_0x1dc665 instanceof ArrayBuffer?new Uint8Array(_0x1dc665,_0xf06e3c,_0x3e6234):new Uint8Array(_0x1dc665[_0x426149(0x500)],_0x1dc665['byteOffset']+_0xf06e3c,_0x3e6234),this['_gl'][_0x426149(0x20e)](this['_gl'][_0x426149(0x501)],0x0,_0x1dc665)),this[_0x426149(0x33b)]());});},0x5859:(_0xec0c27,_0xdab40f,_0x380016)=>{var _0x5a696f=a7_0x51ebec,_0x5569a2=_0x380016(0xcf06),_0x1ce1bc=_0x380016(0x138df);_0x5569a2['B'][_0x5a696f(0x21e)]['createDynamicTexture']=function(_0x3879b5,_0x52d97d,_0x5a1cba,_0x25f3c0){var _0xca6471=_0x5a696f;const _0x4d846c=new _0x1ce1bc['l'](this,_0x1ce1bc['S'][_0xca6471(0xce7)]);return _0x4d846c[_0xca6471(0x7ea)]=_0x3879b5,_0x4d846c[_0xca6471(0x644)]=_0x52d97d,_0x5a1cba&&(_0x3879b5=this['needPOTTextures']?_0x5569a2['B'][_0xca6471(0x1ae)](_0x3879b5,this['_caps'][_0xca6471(0x61d)]):_0x3879b5,_0x52d97d=this['needPOTTextures']?_0x5569a2['B'][_0xca6471(0x1ae)](_0x52d97d,this[_0xca6471(0xb42)]['maxTextureSize']):_0x52d97d),_0x4d846c[_0xca6471(0x503)]=_0x3879b5,_0x4d846c[_0xca6471(0x7f5)]=_0x52d97d,_0x4d846c['isReady']=!0x1,_0x4d846c['generateMipMaps']=_0x5a1cba,_0x4d846c[_0xca6471(0x1eb)]=_0x25f3c0,this[_0xca6471(0x1bf)](_0x25f3c0,_0x4d846c),this['_internalTexturesCache'][_0xca6471(0x2f7)](_0x4d846c),_0x4d846c;},_0x5569a2['B'][_0x5a696f(0x21e)][_0x5a696f(0xa70)]=function(_0x1f878b,_0x4c37ba,_0xafdfa2,_0x4c1829=!0x1,_0x5d938e,_0x3b04b8=!0x1,_0x21348a){var _0x56adcc=_0x5a696f;if(_0x1f878b){const _0x5a5d87=this[_0x56adcc(0x4ed)];var _0x1d7f12=_0x5a5d87[_0x56adcc(0xa62)],_0x3b04b8=this[_0x56adcc(0xc50)](_0x1d7f12,_0x1f878b,!0x0,_0x3b04b8),_0xafdfa2=(this[_0x56adcc(0x166)](void 0x0===_0xafdfa2?_0x1f878b[_0x56adcc(0x6c4)]:_0xafdfa2),_0x4c1829&&_0x5a5d87['pixelStorei'](_0x5a5d87[_0x56adcc(0x5b0)],0x1),this['_getWebGLTextureType'](_0x1f878b[_0x56adcc(0x844)])),_0x5d938e=this[_0x56adcc(0x588)](_0x5d938e||_0x1f878b[_0x56adcc(0x22f)]),_0x44f766=this[_0x56adcc(0xb9a)](_0x1f878b[_0x56adcc(0x844)],_0x5d938e);_0x5a5d87[_0x56adcc(0x1cb)](_0x1d7f12,0x0,_0x44f766,_0x5d938e,_0xafdfa2,_0x4c37ba),_0x1f878b[_0x56adcc(0x5d6)]&&_0x5a5d87[_0x56adcc(0x8fa)](_0x1d7f12),_0x3b04b8||this[_0x56adcc(0xc50)](_0x1d7f12,null),_0x4c1829&&_0x5a5d87['pixelStorei'](_0x5a5d87['UNPACK_PREMULTIPLY_ALPHA_WEBGL'],0x0),_0x1f878b['isReady']=!0x0;}};},0x16ce8:(_0x39f7e6,_0x1656ab,_0x282a75)=>{var _0x184fdc=a7_0x51ebec;_0x282a75=_0x282a75(0xcf06),(_0x282a75['B']['prototype'][_0x184fdc(0x815)]=function(_0x29119c){return null;},_0x282a75['B'][_0x184fdc(0x21e)][_0x184fdc(0x952)]=function(_0x381bfc,_0x48f616){var _0x73753e=_0x184fdc;throw new Error(_0x73753e(0xb28));});},0x1320c:(_0x4d1d42,_0x444eef,_0x367aa4)=>{var _0x393e2a=a7_0x51ebec,_0x4e9356=_0x367aa4(0x138df),_0x466db3=_0x367aa4(0x9a70),_0x692ce2=_0x367aa4(0x1610),_0x367aa4=_0x367aa4(0xcf06);_0x367aa4['B'][_0x393e2a(0x21e)][_0x393e2a(0x993)]=function(){var _0x21884b=_0x393e2a,_0x31479c=this[_0x21884b(0x4ed)];this['bindAttachments']([_0x31479c[_0x21884b(0x22d)]]);},_0x367aa4['B'][_0x393e2a(0x21e)][_0x393e2a(0x615)]=function(){var _0x4b08ad=_0x393e2a,_0x326813=this[_0x4b08ad(0x4ed)];this[_0x4b08ad(0x2f5)]([_0x326813[_0x4b08ad(0xaa7)]]);},_0x367aa4['B']['prototype'][_0x393e2a(0xcf1)]=function(_0x266060){var _0x47d473=_0x393e2a,_0x3ea7ef=this[_0x47d473(0x4ed)];const _0x33ced8=[];for(let _0x4a8a99=0x0;_0x4a8a99<_0x266060[_0x47d473(0x9ff)];_0x4a8a99++)_0x266060[_0x4a8a99]?_0x33ced8[_0x47d473(0x2f7)](_0x3ea7ef['COLOR_ATTACHMENT'+_0x4a8a99]):_0x33ced8['push'](_0x3ea7ef[_0x47d473(0x380)]);return _0x33ced8;},_0x367aa4['B']['prototype']['bindAttachments']=function(_0x22fb4a){var _0x23543a=_0x393e2a;const _0x1792c7=this[_0x23543a(0x4ed)];_0x1792c7['drawBuffers'](_0x22fb4a);},_0x367aa4['B'][_0x393e2a(0x21e)]['unBindMultiColorAttachmentFramebuffer']=function(_0x42a927,_0x4bdeea=!0x1,_0xe10cb9){var _0x31122f=_0x393e2a;this[_0x31122f(0xac2)]=null;const _0x4f1e77=this[_0x31122f(0x4ed)],_0xf9628c=_0x42a927['_attachments'];var _0x945ac8=_0xf9628c[_0x31122f(0x9ff)];if(_0x42a927['_MSAAFramebuffer']){_0x4f1e77[_0x31122f(0x78a)](_0x4f1e77['READ_FRAMEBUFFER'],_0x42a927[_0x31122f(0x5c0)]),_0x4f1e77['bindFramebuffer'](_0x4f1e77['DRAW_FRAMEBUFFER'],_0x42a927[_0x31122f(0x2a7)]);for(let _0xd52682=0x0;_0xd52682<_0x945ac8;_0xd52682++){var _0x50d865=_0x42a927[_0x31122f(0xb2e)][_0xd52682];for(let _0x1f8996=0x0;_0x1f8996<_0x945ac8;_0x1f8996++)_0xf9628c[_0x1f8996]=_0x4f1e77['NONE'];_0xf9628c[_0xd52682]=_0x4f1e77[0x1<this[_0x31122f(0xaa3)]?_0x31122f(0x767)+_0xd52682:_0x31122f(0x767)+_0xd52682+_0x31122f(0xad0)],_0x4f1e77['readBuffer'](_0xf9628c[_0xd52682]),_0x4f1e77[_0x31122f(0x2c5)](_0xf9628c),_0x4f1e77[_0x31122f(0x51f)](0x0,0x0,_0x50d865[_0x31122f(0x503)],_0x50d865[_0x31122f(0x7f5)],0x0,0x0,_0x50d865[_0x31122f(0x503)],_0x50d865[_0x31122f(0x7f5)],_0x4f1e77[_0x31122f(0x396)],_0x4f1e77[_0x31122f(0x442)]);}for(let _0x4eeaa4=0x0;_0x4eeaa4<_0x945ac8;_0x4eeaa4++)_0xf9628c[_0x4eeaa4]=_0x4f1e77[0x1<this[_0x31122f(0xaa3)]?_0x31122f(0x767)+_0x4eeaa4:_0x31122f(0x767)+_0x4eeaa4+_0x31122f(0xad0)];_0x4f1e77[_0x31122f(0x2c5)](_0xf9628c);}for(let _0x51edb5=0x0;_0x51edb5<_0x945ac8;_0x51edb5++){var _0x26c7c3=_0x42a927[_0x31122f(0xb2e)][_0x51edb5];null==_0x26c7c3||!_0x26c7c3[_0x31122f(0x5d6)]||_0x4bdeea||_0x26c7c3[_0x31122f(0xaac)]||(this[_0x31122f(0xc50)](_0x4f1e77['TEXTURE_2D'],_0x26c7c3,!0x0),_0x4f1e77[_0x31122f(0x8fa)](_0x4f1e77[_0x31122f(0xa62)]),this[_0x31122f(0xc50)](_0x4f1e77[_0x31122f(0xa62)],null));}_0xe10cb9&&(_0x42a927[_0x31122f(0x5c0)]&&this[_0x31122f(0xd65)](_0x42a927[_0x31122f(0x2a7)]),_0xe10cb9()),this[_0x31122f(0xd65)](null);},_0x367aa4['B']['prototype']['createMultipleRenderTarget']=function(_0x14e8d4,_0x46592d,_0x20cf63=!0x0){var _0xcc1e75=_0x393e2a;let _0x846a21=!0x1,_0xfde3b=!0x0,_0x595a53=!0x1,_0x37932b=!0x1,_0x438d45=_0x692ce2['g']['TEXTUREFORMAT_DEPTH16'],_0x585e55=0x1;var _0x323bb9=_0x692ce2['g'][_0xcc1e75(0xb46)],_0x8a725f=_0x692ce2['g'][_0xcc1e75(0xb58)],_0x3557b8=_0x692ce2['g'][_0xcc1e75(0x1f2)],_0x344b78=_0x692ce2['g'][_0xcc1e75(0xa62)];let _0x3521e5=new Array(),_0x5ecf4c=new Array(),_0x28952a=new Array(),_0x38df8e=new Array(),_0x4d25c1=new Array(),_0x4124f1=new Array(),_0x1234de=new Array(),_0x3e89ef=new Array();const _0x1be20c=this[_0xcc1e75(0xc7f)](!0x0,!0x1,_0x14e8d4),_0x597db0=(void 0x0!==_0x46592d&&(_0x846a21=void 0x0!==_0x46592d[_0xcc1e75(0x5d6)]&&_0x46592d[_0xcc1e75(0x5d6)],_0xfde3b=void 0x0===_0x46592d[_0xcc1e75(0x631)]||_0x46592d['generateDepthBuffer'],_0x595a53=void 0x0!==_0x46592d['generateStencilBuffer']&&_0x46592d['generateStencilBuffer'],_0x37932b=void 0x0!==_0x46592d[_0xcc1e75(0xc76)]&&_0x46592d['generateDepthTexture'],_0x585e55=_0x46592d['textureCount']||0x1,_0x46592d['types']&&(_0x3521e5=_0x46592d[_0xcc1e75(0xcc8)]),_0x46592d['samplingModes']&&(_0x5ecf4c=_0x46592d['samplingModes']),_0x46592d[_0xcc1e75(0x1a5)]&&(_0x28952a=_0x46592d['useSRGBBuffers']),_0x46592d[_0xcc1e75(0x265)]&&(_0x38df8e=_0x46592d['formats']),_0x46592d[_0xcc1e75(0xbfa)]&&(_0x4d25c1=_0x46592d[_0xcc1e75(0xbfa)]),_0x46592d['faceIndex']&&(_0x4124f1=_0x46592d['faceIndex']),_0x46592d[_0xcc1e75(0x7d6)]&&(_0x1234de=_0x46592d[_0xcc1e75(0x7d6)]),_0x46592d[_0xcc1e75(0xa89)]&&(_0x3e89ef=_0x46592d['layerCounts']),0x1<this[_0xcc1e75(0xaa3)]&&(_0x46592d[_0xcc1e75(0x40a)]===_0x692ce2['g']['TEXTUREFORMAT_DEPTH24_STENCIL8']||_0x46592d[_0xcc1e75(0x40a)]===_0x692ce2['g'][_0xcc1e75(0x8cb)]||_0x46592d['depthTextureFormat']===_0x692ce2['g'][_0xcc1e75(0x990)]||_0x46592d[_0xcc1e75(0x40a)]===_0x692ce2['g'][_0xcc1e75(0xb52)]||_0x46592d[_0xcc1e75(0x40a)]===_0x692ce2['g'][_0xcc1e75(0x23a)])&&(_0x438d45=_0x46592d['depthTextureFormat'])),this[_0xcc1e75(0x4ed)]);var _0x5c01ef=_0x597db0['createFramebuffer'](),_0x274b43=(this['_bindUnboundFramebuffer'](_0x5c01ef),_0x14e8d4[_0xcc1e75(0x503)]||_0x14e8d4),_0x28d670=_0x14e8d4[_0xcc1e75(0x7f5)]||_0x14e8d4;const _0xc8740f=[],_0x214794=[];_0x14e8d4=0x1<this['webGLVersion']&&_0x37932b&&(_0x46592d['depthTextureFormat']===_0x692ce2['g'][_0xcc1e75(0xcee)]||_0x46592d[_0xcc1e75(0x40a)]===_0x692ce2['g'][_0xcc1e75(0x8cb)]||_0x46592d['depthTextureFormat']===_0x692ce2['g'][_0xcc1e75(0x23a)]),_0x46592d=this[_0xcc1e75(0xc10)](!_0x14e8d4&&_0x595a53,!_0x37932b&&_0xfde3b,_0x274b43,_0x28d670),(_0x1be20c['_framebuffer']=_0x5c01ef,_0x1be20c[_0xcc1e75(0x5c6)]=_0x46592d,_0x1be20c[_0xcc1e75(0x5a9)]=!_0x37932b&&_0xfde3b,_0x1be20c['_generateStencilBuffer']=!_0x14e8d4&&_0x595a53,_0x1be20c['_attachments']=_0x214794);for(let _0x5806de=0x0;_0x5806de<_0x585e55;_0x5806de++){let _0x15de2d=_0x5ecf4c[_0x5806de]||_0x8a725f,_0x15438b=_0x3521e5[_0x5806de]||_0x323bb9;var _0x558da0=_0x28952a[_0x5806de]||!0x1,_0x461e83=_0x38df8e[_0x5806de]||_0x3557b8,_0x1ffb42=_0x4d25c1[_0x5806de]||_0x344b78,_0x4fd323=null!=(_0x4fd323=_0x3e89ef[_0x5806de])?_0x4fd323:0x1,_0x50795c=((_0x15438b===_0x692ce2['g'][_0xcc1e75(0x8ef)]&&!this[_0xcc1e75(0xb42)]['textureFloatLinearFiltering']||_0x15438b===_0x692ce2['g'][_0xcc1e75(0xc7c)]&&!this['_caps'][_0xcc1e75(0x7be)])&&(_0x15de2d=_0x692ce2['g'][_0xcc1e75(0xcfa)]),this[_0xcc1e75(0x83e)](_0x15de2d,_0x846a21)),_0x3175dd=(_0x15438b!==_0x692ce2['g'][_0xcc1e75(0x8ef)]||this[_0xcc1e75(0xb42)][_0xcc1e75(0x9dd)]||(_0x15438b=_0x692ce2['g']['TEXTURETYPE_UNSIGNED_INT'],_0x466db3['Y']['Warn'](_0xcc1e75(0x473))),_0x558da0=_0x558da0&&this[_0xcc1e75(0xb42)][_0xcc1e75(0x4cb)]&&(0x1<this[_0xcc1e75(0xaa3)]||this[_0xcc1e75(0xa4c)]),0x1<this[_0xcc1e75(0xaa3)]),_0x245b26=_0x597db0[_0x3175dd?_0xcc1e75(0x767)+_0x5806de:_0xcc1e75(0x767)+_0x5806de+_0xcc1e75(0xad0)];if(_0x214794[_0xcc1e75(0x2f7)](_0x245b26),-0x1!==_0x1ffb42){const _0x527886=new _0x4e9356['l'](this,_0x4e9356['S'][_0xcc1e75(0x458)]);_0xc8740f[_0x5806de]=_0x527886,_0x597db0[_0xcc1e75(0x205)](_0x597db0[_0xcc1e75(0xc53)+_0x5806de]),_0x597db0[_0xcc1e75(0xafe)](_0x1ffb42,_0x527886[_0xcc1e75(0x835)]['underlyingResource']),_0x597db0['texParameteri'](_0x1ffb42,_0x597db0[_0xcc1e75(0x58d)],_0x50795c[_0xcc1e75(0xa4f)]),_0x597db0[_0xcc1e75(0x715)](_0x1ffb42,_0x597db0['TEXTURE_MIN_FILTER'],_0x50795c['min']),_0x597db0[_0xcc1e75(0x715)](_0x1ffb42,_0x597db0[_0xcc1e75(0xb05)],_0x597db0[_0xcc1e75(0x239)]),_0x597db0['texParameteri'](_0x1ffb42,_0x597db0[_0xcc1e75(0x2da)],_0x597db0['CLAMP_TO_EDGE']);var _0x564d29=this[_0xcc1e75(0xb9a)](_0x15438b,_0x461e83,_0x558da0),_0x38e464=this[_0xcc1e75(0x588)](_0x461e83),_0xd2ec22=this['_getWebGLTextureType'](_0x15438b);if(!_0x3175dd||_0x1ffb42!==_0x692ce2['g'][_0xcc1e75(0x4c1)]&&_0x1ffb42!==_0x692ce2['g'][_0xcc1e75(0x958)]){if(_0x1ffb42===_0x692ce2['g'][_0xcc1e75(0x883)]){for(let _0x510b5f=0x0;_0x510b5f<0x6;_0x510b5f++)_0x597db0[_0xcc1e75(0x1cb)](_0x597db0['TEXTURE_CUBE_MAP_POSITIVE_X']+_0x510b5f,0x0,_0x564d29,_0x274b43,_0x28d670,0x0,_0x38e464,_0xd2ec22,null);_0x527886[_0xcc1e75(0xaac)]=!0x0;}else _0x597db0[_0xcc1e75(0x1cb)](_0x597db0[_0xcc1e75(0xa62)],0x0,_0x564d29,_0x274b43,_0x28d670,0x0,_0x38e464,_0xd2ec22,null);}else _0x1ffb42===_0x692ce2['g'][_0xcc1e75(0x4c1)]?_0x527886[_0xcc1e75(0x545)]=!0x0:_0x527886[_0xcc1e75(0xa7c)]=!0x0,_0x527886[_0xcc1e75(0x733)]=_0x527886['depth']=_0x4fd323,_0x597db0['texImage3D'](_0x1ffb42,0x0,_0x564d29,_0x274b43,_0x28d670,_0x4fd323,0x0,_0x38e464,_0xd2ec22,null);_0x846a21&&_0x597db0[_0xcc1e75(0x8fa)](_0x1ffb42),this[_0xcc1e75(0xc50)](_0x1ffb42,null),_0x527886[_0xcc1e75(0x7ea)]=_0x274b43,_0x527886[_0xcc1e75(0x644)]=_0x28d670,_0x527886['width']=_0x274b43,_0x527886[_0xcc1e75(0x7f5)]=_0x28d670,_0x527886[_0xcc1e75(0x834)]=!0x0,_0x527886['samples']=0x1,_0x527886[_0xcc1e75(0x5d6)]=_0x846a21,_0x527886[_0xcc1e75(0x1eb)]=_0x15de2d,_0x527886[_0xcc1e75(0x844)]=_0x15438b,_0x527886['_useSRGBBuffer']=_0x558da0,_0x527886[_0xcc1e75(0x22f)]=_0x461e83,this[_0xcc1e75(0x300)][_0xcc1e75(0x2f7)](_0x527886);}}if(_0x37932b&&this[_0xcc1e75(0xb42)][_0xcc1e75(0x8a2)]){const _0x431aaa=new _0x4e9356['l'](this,_0x4e9356['S'][_0xcc1e75(0x8c2)]);let _0x45c1b0=_0x692ce2['g']['TEXTURETYPE_UNSIGNED_SHORT'],_0x5b9a6f=_0x597db0[_0xcc1e75(0xc06)],_0x956130=_0x597db0[_0xcc1e75(0x756)],_0xa14525=_0x597db0['UNSIGNED_SHORT'],_0x510336=_0x597db0[_0xcc1e75(0x60e)];this[_0xcc1e75(0xaa3)]<0x2?_0x5b9a6f=_0x597db0[_0xcc1e75(0x756)]:_0x438d45===_0x692ce2['g'][_0xcc1e75(0xb52)]?(_0x45c1b0=_0x692ce2['g']['TEXTURETYPE_FLOAT'],_0xa14525=_0x597db0['FLOAT'],_0x5b9a6f=_0x597db0[_0xcc1e75(0x1b3)]):_0x438d45===_0x692ce2['g']['TEXTUREFORMAT_DEPTH32FLOAT_STENCIL8']?(_0x45c1b0=_0x692ce2['g']['TEXTURETYPE_UNSIGNED_INT'],_0xa14525=_0x597db0[_0xcc1e75(0x2be)],_0x5b9a6f=_0x597db0[_0xcc1e75(0xc1c)],_0x956130=_0x597db0[_0xcc1e75(0x52d)],_0x510336=_0x597db0[_0xcc1e75(0x746)]):_0x438d45===_0x692ce2['g']['TEXTUREFORMAT_DEPTH24']?(_0x45c1b0=_0x692ce2['g'][_0xcc1e75(0xb46)],_0xa14525=_0x597db0[_0xcc1e75(0x2d5)],_0x5b9a6f=_0x597db0[_0xcc1e75(0x7f6)],_0x510336=_0x597db0[_0xcc1e75(0x60e)]):_0x438d45!==_0x692ce2['g']['TEXTUREFORMAT_DEPTH24_STENCIL8']&&_0x438d45!==_0x692ce2['g'][_0xcc1e75(0x8cb)]||(_0x45c1b0=_0x692ce2['g']['TEXTURETYPE_UNSIGNED_INT_24_8'],_0xa14525=_0x597db0['UNSIGNED_INT_24_8'],_0x5b9a6f=_0x597db0[_0xcc1e75(0x93b)],_0x956130=_0x597db0['DEPTH_STENCIL'],_0x510336=_0x597db0['DEPTH_STENCIL_ATTACHMENT']),_0x597db0[_0xcc1e75(0x205)](_0x597db0['TEXTURE0']),_0x597db0[_0xcc1e75(0xafe)](_0x597db0[_0xcc1e75(0xa62)],_0x431aaa[_0xcc1e75(0x835)]['underlyingResource']),_0x597db0[_0xcc1e75(0x715)](_0x597db0['TEXTURE_2D'],_0x597db0[_0xcc1e75(0x58d)],_0x597db0[_0xcc1e75(0x442)]),_0x597db0[_0xcc1e75(0x715)](_0x597db0[_0xcc1e75(0xa62)],_0x597db0[_0xcc1e75(0xc9c)],_0x597db0[_0xcc1e75(0x442)]),_0x597db0[_0xcc1e75(0x715)](_0x597db0['TEXTURE_2D'],_0x597db0[_0xcc1e75(0xb05)],_0x597db0[_0xcc1e75(0x239)]),_0x597db0[_0xcc1e75(0x715)](_0x597db0[_0xcc1e75(0xa62)],_0x597db0[_0xcc1e75(0x2da)],_0x597db0['CLAMP_TO_EDGE']),_0x597db0[_0xcc1e75(0x1cb)](_0x597db0[_0xcc1e75(0xa62)],0x0,_0x5b9a6f,_0x274b43,_0x28d670,0x0,_0x956130,_0xa14525,null),_0x597db0[_0xcc1e75(0xce5)](_0x597db0[_0xcc1e75(0xc47)],_0x510336,_0x597db0[_0xcc1e75(0xa62)],_0x431aaa[_0xcc1e75(0x835)][_0xcc1e75(0x597)],0x0),_0x431aaa[_0xcc1e75(0x7ea)]=_0x274b43,_0x431aaa['baseHeight']=_0x28d670,_0x431aaa[_0xcc1e75(0x503)]=_0x274b43,_0x431aaa[_0xcc1e75(0x7f5)]=_0x28d670,_0x431aaa[_0xcc1e75(0x834)]=!0x0,_0x431aaa[_0xcc1e75(0x2d6)]=0x1,_0x431aaa['generateMipMaps']=_0x846a21,_0x431aaa[_0xcc1e75(0x1eb)]=_0x692ce2['g'][_0xcc1e75(0xcfa)],_0x431aaa['format']=_0x438d45,_0x431aaa[_0xcc1e75(0x844)]=_0x45c1b0,_0xc8740f[_0x585e55]=_0x431aaa,this[_0xcc1e75(0x300)][_0xcc1e75(0x2f7)](_0x431aaa);}return _0x1be20c[_0xcc1e75(0xaa6)](_0xc8740f),_0x20cf63&&_0x597db0[_0xcc1e75(0x2c5)](_0x214794),this[_0xcc1e75(0xd65)](null),_0x1be20c[_0xcc1e75(0x8d9)](_0x1234de,_0x4124f1),this[_0xcc1e75(0x607)](),_0x1be20c;},_0x367aa4['B']['prototype'][_0x393e2a(0x1a2)]=function(_0x51b41a,_0x5d07cc,_0x417378=!0x0){var _0x1cd372=_0x393e2a;if(this['webGLVersion']<0x2||!_0x51b41a||!_0x51b41a['texture'])return 0x1;if(_0x51b41a[_0x1cd372(0x2d6)]===_0x5d07cc)return _0x5d07cc;var _0x58ea05=_0x51b41a[_0x1cd372(0x3c6)][_0x1cd372(0x9ff)];if(0x0===_0x58ea05)return 0x1;const _0x287ab1=this['_gl'];_0x5d07cc=Math[_0x1cd372(0x4fd)](_0x5d07cc,this[_0x1cd372(0x61c)]()[_0x1cd372(0x33a)]);var _0x4cfd68=!!_0x51b41a[_0x1cd372(0x5c6)];if(_0x4cfd68&&(_0x287ab1[_0x1cd372(0x554)](_0x51b41a[_0x1cd372(0x5c6)]),_0x51b41a['_depthStencilBuffer']=null),_0x51b41a[_0x1cd372(0x5c0)]&&(_0x287ab1[_0x1cd372(0x5f7)](_0x51b41a[_0x1cd372(0x5c0)]),_0x51b41a[_0x1cd372(0x5c0)]=null),0x1<_0x5d07cc&&'function'==typeof _0x287ab1['renderbufferStorageMultisample']){var _0xd7f909=_0x287ab1[_0x1cd372(0x3f7)]();if(!_0xd7f909)throw new Error(_0x1cd372(0x6b3));_0x51b41a['_MSAAFramebuffer']=_0xd7f909,this[_0x1cd372(0xd65)](_0xd7f909);const _0x13df05=[];for(let _0x1e3406=0x0;_0x1e3406<_0x58ea05;_0x1e3406++){const _0x315adc=_0x51b41a[_0x1cd372(0xb2e)][_0x1e3406][_0x1cd372(0x835)];_0x315adc[_0x1cd372(0x9ac)]();}for(let _0xa6f8b4=0x0;_0xa6f8b4<_0x58ea05;_0xa6f8b4++){const _0x6e4bdf=_0x51b41a['textures'][_0xa6f8b4],_0x2baa0d=_0x6e4bdf[_0x1cd372(0x835)];var _0x249499=_0x287ab1[0x1<this[_0x1cd372(0xaa3)]?_0x1cd372(0x767)+_0xa6f8b4:_0x1cd372(0x767)+_0xa6f8b4+'_WEBGL'],_0x43247e=this[_0x1cd372(0x29b)](_0x6e4bdf['width'],_0x6e4bdf['height'],_0x5d07cc,-0x1,this['_getRGBAMultiSampleBufferFormat'](_0x6e4bdf[_0x1cd372(0x844)],_0x6e4bdf[_0x1cd372(0x22f)]),_0x249499);if(!_0x43247e)throw new Error(_0x1cd372(0x6b3));_0x2baa0d[_0x1cd372(0x491)](_0x43247e),_0x6e4bdf[_0x1cd372(0x2d6)]=_0x5d07cc,_0x13df05[_0x1cd372(0x2f7)](_0x249499);}_0x417378&&_0x287ab1[_0x1cd372(0x2c5)](_0x13df05);}else this[_0x1cd372(0xd65)](_0x51b41a[_0x1cd372(0x2a7)]);return _0x4cfd68&&(_0x51b41a[_0x1cd372(0x5c6)]=this[_0x1cd372(0xc10)](_0x51b41a[_0x1cd372(0xc00)],_0x51b41a[_0x1cd372(0x5a9)],_0x51b41a[_0x1cd372(0x823)][_0x1cd372(0x503)],_0x51b41a['texture']['height'],_0x5d07cc)),this[_0x1cd372(0xd65)](null),_0x5d07cc;};},0x496a:(_0x1d90e4,_0x5874ac,_0x4f567e)=>{var _0x3e2fa8=a7_0x51ebec,_0x4f9a46=_0x4f567e(0x43d7),_0x44811b=_0x4f567e(0x14232),_0x46bd7c=_0x4f567e(0xd537),_0x4c0bc1=_0x4f567e(0x138df),_0x5a7104=_0x4f567e(0xd53f),_0x3a6c79=_0x4f567e(0x181f4),_0x523886=_0x4f567e(0x1515e),_0x314f60=_0x4f567e(0x9093);function _0x517b16(_0x3ce447,_0x379d9b){var _0x16a12a=a7_0x4956;const _0x548b52=new _0x3a6c79['M'](_0x3ce447,void 0x0,!0x0,_0x379d9b);return _0x548b52[_0x16a12a(0xad8)](_0x16a12a(0x4a8),0x10),_0x548b52['addUniform'](_0x16a12a(0x84c),0x10),_0x548b52[_0x16a12a(0xad8)](_0x16a12a(0x1be),0x10),_0x548b52[_0x16a12a(0xad8)]('projection',0x10),_0x548b52[_0x16a12a(0xad8)](_0x16a12a(0x592),0x4),_0x548b52;}_0x44811b['D'][_0x3e2fa8(0x21e)][_0x3e2fa8(0x822)]=function(_0x493606,_0x8d6587){var _0x5824f2=_0x3e2fa8;const _0x52fe2c=this[_0x5824f2(0x4ed)];if(!this[_0x5824f2(0x61c)]()[_0x5824f2(0x167)])throw _0x5824f2(0xc88);const _0x45235b=this['_createHardwareRenderTargetWrapper'](!0x1,!0x1,{'width':_0x493606,'height':_0x8d6587}),_0x16ddde=(_0x45235b[_0x5824f2(0x2a7)]=_0x52fe2c['createFramebuffer'](),new _0x4c0bc1['l'](this,_0x4c0bc1['S'][_0x5824f2(0x9b5)],!0x0));return _0x16ddde[_0x5824f2(0x503)]=_0x493606,_0x16ddde[_0x5824f2(0x7f5)]=_0x8d6587,_0x16ddde['isMultiview']=!0x0,_0x45235b[_0x5824f2(0x277)]=_0x52fe2c[_0x5824f2(0x1ea)](),_0x52fe2c['bindTexture'](_0x52fe2c['TEXTURE_2D_ARRAY'],_0x45235b[_0x5824f2(0x277)]),_0x52fe2c[_0x5824f2(0xa24)](_0x52fe2c['TEXTURE_2D_ARRAY'],0x1,_0x52fe2c['RGBA8'],_0x493606,_0x8d6587,0x2),_0x45235b[_0x5824f2(0xa1d)]=_0x52fe2c[_0x5824f2(0x1ea)](),_0x52fe2c[_0x5824f2(0xafe)](_0x52fe2c['TEXTURE_2D_ARRAY'],_0x45235b['_depthStencilTextureArray']),_0x52fe2c[_0x5824f2(0xa24)](_0x52fe2c[_0x5824f2(0x4c1)],0x1,_0x52fe2c[_0x5824f2(0x93b)],_0x493606,_0x8d6587,0x2),_0x16ddde[_0x5824f2(0x834)]=!0x0,_0x45235b[_0x5824f2(0xaa6)](_0x16ddde),_0x45235b[_0x5824f2(0x8ae)]=_0x16ddde,_0x45235b;},_0x44811b['D'][_0x3e2fa8(0x21e)][_0x3e2fa8(0x73e)]=function(_0x131699){var _0x111f73=_0x3e2fa8;const _0x2aeb54=this[_0x111f73(0x4ed)],_0x14f07e=this[_0x111f73(0x61c)]()[_0x111f73(0x17d)]||this[_0x111f73(0x61c)]()[_0x111f73(0x167)];if(this[_0x111f73(0x78a)](_0x131699,void 0x0,void 0x0,void 0x0,!0x0),_0x2aeb54[_0x111f73(0x78a)](_0x2aeb54[_0x111f73(0xada)],_0x131699[_0x111f73(0x2a7)]),!_0x131699[_0x111f73(0x277)]||!_0x131699['_depthStencilTextureArray'])throw _0x111f73(0xc69);this['getCaps']()[_0x111f73(0x17d)]?(_0x14f07e[_0x111f73(0x1cf)](_0x2aeb54[_0x111f73(0xada)],_0x2aeb54[_0x111f73(0xaa7)],_0x131699[_0x111f73(0x277)],0x0,_0x131699[_0x111f73(0x2d6)],0x0,0x2),_0x14f07e[_0x111f73(0x1cf)](_0x2aeb54[_0x111f73(0xada)],_0x2aeb54[_0x111f73(0x746)],_0x131699[_0x111f73(0xa1d)],0x0,_0x131699[_0x111f73(0x2d6)],0x0,0x2)):(_0x14f07e[_0x111f73(0xa5c)](_0x2aeb54['DRAW_FRAMEBUFFER'],_0x2aeb54[_0x111f73(0xaa7)],_0x131699[_0x111f73(0x277)],0x0,0x0,0x2),_0x14f07e[_0x111f73(0xa5c)](_0x2aeb54['DRAW_FRAMEBUFFER'],_0x2aeb54[_0x111f73(0x746)],_0x131699[_0x111f73(0xa1d)],0x0,0x0,0x2));},_0x4f9a46['V'][_0x3e2fa8(0x21e)][_0x3e2fa8(0x59b)]=!0x1,_0x4f9a46['V'][_0x3e2fa8(0x21e)][_0x3e2fa8(0x411)]=null,_0x4f9a46['V']['prototype'][_0x3e2fa8(0xb87)]=function(_0x1a263b,_0x2bc5e7){var _0x3f2fd4=_0x3e2fa8;this[_0x3f2fd4(0x411)]?this[_0x3f2fd4(0x411)][_0x3f2fd4(0xb4a)]()==_0x1a263b&&this[_0x3f2fd4(0x411)]['getRenderHeight']()==_0x2bc5e7||(this[_0x3f2fd4(0x411)]['dispose'](),this['_multiviewTexture']=new _0x523886['x'](this[_0x3f2fd4(0x31a)](),{'width':_0x1a263b,'height':_0x2bc5e7})):this['_multiviewTexture']=new _0x523886['x'](this['getScene'](),{'width':_0x1a263b,'height':_0x2bc5e7});};const _0x19cef5=_0x46bd7c['x']['prototype'][_0x3e2fa8(0x996)];_0x46bd7c['x'][_0x3e2fa8(0x21e)][_0x3e2fa8(0x535)]=_0x5a7104['y3'][_0x3e2fa8(0x8bd)](),_0x46bd7c['x'][_0x3e2fa8(0x21e)]['_multiviewSceneUbo']=null,_0x46bd7c['x']['prototype'][_0x3e2fa8(0xd24)]=function(){var _0x1192ae=_0x3e2fa8;this[_0x1192ae(0x6fd)]=_0x517b16(this[_0x1192ae(0x975)](),_0x1192ae(0x360));},_0x46bd7c['x'][_0x3e2fa8(0x21e)][_0x3e2fa8(0x996)]=function(_0x5b5cae){var _0x300bf0=_0x3e2fa8;return this[_0x300bf0(0x6fd)]?_0x517b16(this['getEngine'](),_0x5b5cae):_0x19cef5['bind'](this)(_0x5b5cae);},_0x46bd7c['x']['prototype'][_0x3e2fa8(0x6ac)]=function(_0xc0f6bc,_0x534548){var _0x15aa9d=_0x3e2fa8;_0xc0f6bc&&_0x534548&&_0xc0f6bc['multiplyToRef'](_0x534548,this[_0x15aa9d(0x535)]),_0xc0f6bc&&_0x534548&&(_0xc0f6bc['multiplyToRef'](_0x534548,_0x5a7104['jp']['Matrix'][0x0]),_0x314f60['i'][_0x15aa9d(0x8fd)](_0x5a7104['jp'][_0x15aa9d(0x851)][0x0],this['_frustumPlanes'][0x3])),this[_0x15aa9d(0x6fd)]&&(this[_0x15aa9d(0x6fd)][_0x15aa9d(0x21c)](_0x15aa9d(0x4a8),this['getTransformMatrix']()),this['_multiviewSceneUbo']['updateMatrix'](_0x15aa9d(0x84c),this[_0x15aa9d(0x535)]),this[_0x15aa9d(0x6fd)][_0x15aa9d(0x21c)](_0x15aa9d(0x1be),this[_0x15aa9d(0x7a8)]),this['_multiviewSceneUbo'][_0x15aa9d(0x21c)](_0x15aa9d(0x262),this['_projectionMatrix']));},_0x46bd7c['x'][_0x3e2fa8(0x21e)][_0x3e2fa8(0x505)]=function(_0x345cfe){var _0x3ba69f=_0x3e2fa8;_0x345cfe[_0x3ba69f(0xb87)](_0x345cfe[_0x3ba69f(0x6a0)]&&_0x345cfe[_0x3ba69f(0x6a0)]&&0x0<_0x345cfe[_0x3ba69f(0x6a0)][_0x3ba69f(0x503)]?_0x345cfe[_0x3ba69f(0x6a0)][_0x3ba69f(0x503)]:this[_0x3ba69f(0x975)]()[_0x3ba69f(0xb4a)](!0x0),_0x345cfe[_0x3ba69f(0x6a0)]&&_0x345cfe[_0x3ba69f(0x6a0)]&&0x0<_0x345cfe[_0x3ba69f(0x6a0)]['height']?_0x345cfe[_0x3ba69f(0x6a0)][_0x3ba69f(0x7f5)]:this['getEngine']()[_0x3ba69f(0x6f7)](!0x0)),this[_0x3ba69f(0x6fd)]||this['_createMultiviewUbo'](),_0x345cfe[_0x3ba69f(0x785)]=_0x345cfe[_0x3ba69f(0x411)],this[_0x3ba69f(0xbf7)](_0x345cfe),_0x345cfe[_0x3ba69f(0x785)]=null;for(let _0x1c654c=0x0;_0x1c654c<_0x345cfe['_rigCameras'][_0x3ba69f(0x9ff)];_0x1c654c++){const _0x428622=this[_0x3ba69f(0x975)]();this[_0x3ba69f(0x26e)]=_0x345cfe[_0x3ba69f(0x230)][_0x1c654c],_0x428622[_0x3ba69f(0x9eb)](this[_0x3ba69f(0x26e)][_0x3ba69f(0xc8e)]),this[_0x3ba69f(0x643)]&&(this['postProcessManager'][_0x3ba69f(0xafc)](),this[_0x3ba69f(0x643)][_0x3ba69f(0x43f)](this[_0x3ba69f(0x26e)]['isIntermediate']));}};},0x12543:(_0x598127,_0xa342c5,_0x4fcfb8)=>{var _0x17cf0d=a7_0x51ebec,_0x38f3ec=_0x4fcfb8(0x138df),_0x2dd2fe=_0x4fcfb8(0x9a70),_0x21821f=_0x4fcfb8(0x4ba7),_0x4f52f9=_0x4fcfb8(0x1610),_0x4fcfb8=_0x4fcfb8(0xcf06);function _0x33a8ac(_0x1eb96b,_0xb2871b,_0x2bd2cf,_0x18de5e){var _0x373a2e=a7_0x4956;let _0x57a774,_0x3ec58c=0x1;_0x18de5e===_0x4f52f9['g'][_0x373a2e(0x8ef)]?_0x57a774=new Float32Array(_0xb2871b*_0x2bd2cf*0x4):_0x18de5e===_0x4f52f9['g'][_0x373a2e(0xc7c)]?(_0x57a774=new Uint16Array(_0xb2871b*_0x2bd2cf*0x4),_0x3ec58c=0x3c00):_0x57a774=new(_0x18de5e===_0x4f52f9['g']['TEXTURETYPE_UNSIGNED_INTEGER']?Uint32Array:Uint8Array)(_0xb2871b*_0x2bd2cf*0x4);for(let _0x1efee7=0x0;_0x1efee7<_0xb2871b;_0x1efee7++)for(let _0xd328c8=0x0;_0xd328c8<_0x2bd2cf;_0xd328c8++){var _0x15cbd0=0x3*(_0xd328c8*_0xb2871b+_0x1efee7),_0x5a4c5e=0x4*(_0xd328c8*_0xb2871b+_0x1efee7);_0x57a774[0x0+_0x5a4c5e]=_0x1eb96b[0x0+_0x15cbd0],_0x57a774[0x1+_0x5a4c5e]=_0x1eb96b[0x1+_0x15cbd0],_0x57a774[0x2+_0x5a4c5e]=_0x1eb96b[0x2+_0x15cbd0],_0x57a774[0x3+_0x5a4c5e]=_0x3ec58c;}return _0x57a774;}function _0x99ab12(_0x56462d){var _0x288a9b=a7_0x4956;return function(_0x5f0105,_0x1d4078,_0x40c192,_0x5ac33d,_0x1132ab,_0x1d0038,_0x4b12db,_0x5f0778,_0x187729=null,_0x2bdc36=_0x4f52f9['g'][_0x288a9b(0xb46)]){var _0x287a5d=_0x288a9b,_0x46514d=_0x56462d?this['_gl'][_0x287a5d(0x958)]:this['_gl']['TEXTURE_2D_ARRAY'],_0x1f4736=_0x56462d?_0x38f3ec['S'][_0x287a5d(0x1fa)]:_0x38f3ec['S'][_0x287a5d(0x802)];const _0x2c1a3c=new _0x38f3ec['l'](this,_0x1f4736);return _0x2c1a3c[_0x287a5d(0x7ea)]=_0x1d4078,_0x2c1a3c[_0x287a5d(0x644)]=_0x40c192,_0x2c1a3c[_0x287a5d(0x733)]=_0x5ac33d,_0x2c1a3c[_0x287a5d(0x503)]=_0x1d4078,_0x2c1a3c[_0x287a5d(0x7f5)]=_0x40c192,_0x2c1a3c['depth']=_0x5ac33d,_0x2c1a3c[_0x287a5d(0x22f)]=_0x1132ab,_0x2c1a3c[_0x287a5d(0x844)]=_0x2bdc36,_0x2c1a3c[_0x287a5d(0x5d6)]=_0x1d0038,_0x2c1a3c['samplingMode']=_0x5f0778,_0x56462d?_0x2c1a3c[_0x287a5d(0xa7c)]=!0x0:_0x2c1a3c[_0x287a5d(0x545)]=!0x0,this['_doNotHandleContextLost']||(_0x2c1a3c[_0x287a5d(0xb7f)]=_0x5f0105),_0x56462d?this[_0x287a5d(0x768)](_0x2c1a3c,_0x5f0105,_0x1132ab,_0x4b12db,_0x187729,_0x2bdc36):this[_0x287a5d(0xd17)](_0x2c1a3c,_0x5f0105,_0x1132ab,_0x4b12db,_0x187729,_0x2bdc36),this[_0x287a5d(0xc50)](_0x46514d,_0x2c1a3c,!0x0),_0x1f4736=this['_getSamplingParameters'](_0x5f0778,_0x1d0038),(this['_gl'][_0x287a5d(0x715)](_0x46514d,this['_gl'][_0x287a5d(0x58d)],_0x1f4736[_0x287a5d(0xa4f)]),this[_0x287a5d(0x4ed)]['texParameteri'](_0x46514d,this[_0x287a5d(0x4ed)][_0x287a5d(0xc9c)],_0x1f4736[_0x287a5d(0x4fd)]),_0x1d0038&&this[_0x287a5d(0x4ed)]['generateMipmap'](_0x46514d),this['_bindTextureDirectly'](_0x46514d,null),this['_internalTexturesCache'][_0x287a5d(0x2f7)](_0x2c1a3c),_0x2c1a3c);};}function _0x389530(_0x2f5008){var _0x25ca40=a7_0x4956;return function(_0x30ae29,_0x43c87d,_0x31aae3,_0x37f11e,_0x16a238=null,_0x20b231=_0x4f52f9['g'][_0x25ca40(0xb46)]){var _0x51db8c=_0x25ca40,_0x4b7eeb=_0x2f5008?this['_gl'][_0x51db8c(0x958)]:this[_0x51db8c(0x4ed)]['TEXTURE_2D_ARRAY'],_0x3700cf=this[_0x51db8c(0xc8a)](_0x20b231),_0x2aa331=this[_0x51db8c(0x588)](_0x31aae3),_0x20b231=this[_0x51db8c(0xb9a)](_0x20b231,_0x31aae3);this[_0x51db8c(0xc50)](_0x4b7eeb,_0x30ae29,!0x0),this[_0x51db8c(0x166)](void 0x0===_0x37f11e||!!_0x37f11e),this[_0x51db8c(0x46f)]||(_0x30ae29[_0x51db8c(0xb7f)]=_0x43c87d,_0x30ae29[_0x51db8c(0x22f)]=_0x31aae3,_0x30ae29[_0x51db8c(0x6c4)]=_0x37f11e,_0x30ae29[_0x51db8c(0xc45)]=_0x16a238),_0x30ae29[_0x51db8c(0x503)]%0x4!=0x0&&this[_0x51db8c(0x4ed)]['pixelStorei'](this[_0x51db8c(0x4ed)][_0x51db8c(0x471)],0x1),_0x16a238&&_0x43c87d?this[_0x51db8c(0x4ed)]['compressedTexImage3D'](_0x4b7eeb,0x0,this['getCaps']()[_0x51db8c(0x88d)][_0x16a238],_0x30ae29['width'],_0x30ae29[_0x51db8c(0x7f5)],_0x30ae29[_0x51db8c(0x281)],0x0,_0x43c87d):this[_0x51db8c(0x4ed)][_0x51db8c(0x338)](_0x4b7eeb,0x0,_0x20b231,_0x30ae29[_0x51db8c(0x503)],_0x30ae29['height'],_0x30ae29[_0x51db8c(0x281)],0x0,_0x2aa331,_0x3700cf,_0x43c87d),_0x30ae29['generateMipMaps']&&this[_0x51db8c(0x4ed)][_0x51db8c(0x8fa)](_0x4b7eeb),this['_bindTextureDirectly'](_0x4b7eeb,null),_0x30ae29[_0x51db8c(0x834)]=!0x0;};}_0x4fcfb8['B']['prototype'][_0x17cf0d(0xb2d)]=function(_0x2b1c57,_0x1ae6e4,_0x96d8ee,_0x185ba0,_0x61e73f=null,_0x16c96d=_0x4f52f9['g'][_0x17cf0d(0xb46)],_0x4ca9da=!0x1){var _0x5dbefa=_0x17cf0d,_0x270d68,_0x579c06;_0x2b1c57&&(_0x4ca9da=this[_0x5dbefa(0xb9a)](_0x16c96d,_0x96d8ee,_0x4ca9da),_0x270d68=this[_0x5dbefa(0x588)](_0x96d8ee),_0x579c06=this[_0x5dbefa(0xc8a)](_0x16c96d),this[_0x5dbefa(0xc50)](this[_0x5dbefa(0x4ed)][_0x5dbefa(0xa62)],_0x2b1c57,!0x0),this[_0x5dbefa(0x166)](void 0x0===_0x185ba0||!!_0x185ba0),this[_0x5dbefa(0x46f)]||(_0x2b1c57[_0x5dbefa(0xb7f)]=_0x1ae6e4,_0x2b1c57[_0x5dbefa(0x22f)]=_0x96d8ee,_0x2b1c57[_0x5dbefa(0x844)]=_0x16c96d,_0x2b1c57['invertY']=_0x185ba0,_0x2b1c57[_0x5dbefa(0xc45)]=_0x61e73f),_0x2b1c57[_0x5dbefa(0x503)]%0x4!=0x0&&this[_0x5dbefa(0x4ed)][_0x5dbefa(0x727)](this[_0x5dbefa(0x4ed)][_0x5dbefa(0x471)],0x1),_0x61e73f&&_0x1ae6e4?this[_0x5dbefa(0x4ed)][_0x5dbefa(0xabe)](this['_gl'][_0x5dbefa(0xa62)],0x0,this[_0x5dbefa(0x61c)]()[_0x5dbefa(0x88d)][_0x61e73f],_0x2b1c57[_0x5dbefa(0x503)],_0x2b1c57[_0x5dbefa(0x7f5)],0x0,_0x1ae6e4):this[_0x5dbefa(0x4ed)][_0x5dbefa(0x1cb)](this[_0x5dbefa(0x4ed)]['TEXTURE_2D'],0x0,_0x4ca9da,_0x2b1c57['width'],_0x2b1c57[_0x5dbefa(0x7f5)],0x0,_0x270d68,_0x579c06,_0x1ae6e4),_0x2b1c57['generateMipMaps']&&this[_0x5dbefa(0x4ed)][_0x5dbefa(0x8fa)](this[_0x5dbefa(0x4ed)][_0x5dbefa(0xa62)]),this[_0x5dbefa(0xc50)](this[_0x5dbefa(0x4ed)][_0x5dbefa(0xa62)],null),_0x2b1c57['isReady']=!0x0);},_0x4fcfb8['B'][_0x17cf0d(0x21e)][_0x17cf0d(0x5d8)]=function(_0x214f54,_0x1d0859,_0x212f21,_0x3f0b43,_0x26766a,_0x32054d,_0x365b85,_0x37d483=null,_0x49cb81=_0x4f52f9['g']['TEXTURETYPE_UNSIGNED_INT'],_0x5bffee,_0x75d337=!0x1){var _0x423a54=_0x17cf0d;const _0x1588bc=new _0x38f3ec['l'](this,_0x38f3ec['S'][_0x423a54(0x770)]);return _0x1588bc[_0x423a54(0x7ea)]=_0x1d0859,_0x1588bc[_0x423a54(0x644)]=_0x212f21,_0x1588bc[_0x423a54(0x503)]=_0x1d0859,_0x1588bc[_0x423a54(0x7f5)]=_0x212f21,_0x1588bc[_0x423a54(0x22f)]=_0x3f0b43,_0x1588bc[_0x423a54(0x5d6)]=_0x26766a,_0x1588bc[_0x423a54(0x1eb)]=_0x365b85,_0x1588bc[_0x423a54(0x6c4)]=_0x32054d,_0x1588bc[_0x423a54(0xc45)]=_0x37d483,_0x1588bc[_0x423a54(0x844)]=_0x49cb81,_0x1588bc['_useSRGBBuffer']=this['_getUseSRGBBuffer'](_0x75d337,!_0x26766a),this['_doNotHandleContextLost']||(_0x1588bc[_0x423a54(0xb7f)]=_0x214f54),this[_0x423a54(0xb2d)](_0x1588bc,_0x214f54,_0x3f0b43,_0x32054d,_0x37d483,_0x49cb81,_0x1588bc[_0x423a54(0x2e8)]),this[_0x423a54(0xc50)](this['_gl'][_0x423a54(0xa62)],_0x1588bc,!0x0),_0x1d0859=this[_0x423a54(0x83e)](_0x365b85,_0x26766a),(this[_0x423a54(0x4ed)][_0x423a54(0x715)](this['_gl'][_0x423a54(0xa62)],this[_0x423a54(0x4ed)]['TEXTURE_MAG_FILTER'],_0x1d0859['mag']),this[_0x423a54(0x4ed)][_0x423a54(0x715)](this[_0x423a54(0x4ed)][_0x423a54(0xa62)],this[_0x423a54(0x4ed)][_0x423a54(0xc9c)],_0x1d0859[_0x423a54(0x4fd)]),_0x26766a&&this[_0x423a54(0x4ed)][_0x423a54(0x8fa)](this['_gl']['TEXTURE_2D']),this['_bindTextureDirectly'](this[_0x423a54(0x4ed)]['TEXTURE_2D'],null),this[_0x423a54(0x300)][_0x423a54(0x2f7)](_0x1588bc),_0x1588bc);},_0x4fcfb8['B'][_0x17cf0d(0x21e)][_0x17cf0d(0xd2d)]=function(_0x3ad28d,_0x96d82,_0x374709,_0x5a208d,_0x5394bc,_0x59235d,_0x257ab1,_0x1378b7=null){var _0x20ba60=_0x17cf0d;const _0x1c35c9=this[_0x20ba60(0x4ed)],_0x333d1d=new _0x38f3ec['l'](this,_0x38f3ec['S']['CubeRaw']);_0x333d1d[_0x20ba60(0xaac)]=!0x0,_0x333d1d['format']=_0x374709,_0x333d1d[_0x20ba60(0x844)]=_0x5a208d,this[_0x20ba60(0x46f)]||(_0x333d1d['_bufferViewArray']=_0x3ad28d);var _0x2c5fd3=this[_0x20ba60(0xc8a)](_0x5a208d);let _0x4798a5=this['_getInternalFormat'](_0x374709);_0x4798a5===_0x1c35c9[_0x20ba60(0x645)]&&(_0x4798a5=_0x1c35c9['RGBA']),_0x2c5fd3!==_0x1c35c9['FLOAT']||this[_0x20ba60(0xb42)]['textureFloatLinearFiltering']?_0x2c5fd3!==this['_gl'][_0x20ba60(0xadf)]||this[_0x20ba60(0xb42)]['textureHalfFloatLinearFiltering']?_0x2c5fd3!==_0x1c35c9[_0x20ba60(0xb15)]||this['_caps'][_0x20ba60(0x818)]?_0x2c5fd3!==_0x1c35c9[_0x20ba60(0xa65)]||this[_0x20ba60(0xb42)]['colorBufferFloat']||(_0x5394bc=!0x1,_0x2dd2fe['Y'][_0x20ba60(0x555)]('Render\x20to\x20half\x20float\x20textures\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20forced\x20to\x20false.')):(_0x5394bc=!0x1,_0x2dd2fe['Y']['Warn']('Render\x20to\x20float\x20textures\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20forced\x20to\x20false.')):(_0x5394bc=!0x1,_0x257ab1=_0x4f52f9['g'][_0x20ba60(0xcfa)],_0x2dd2fe['Y']['Warn'](_0x20ba60(0x973))):(_0x5394bc=!0x1,_0x257ab1=_0x4f52f9['g'][_0x20ba60(0xcfa)],_0x2dd2fe['Y'][_0x20ba60(0x555)](_0x20ba60(0x9a7)));var _0x270c70=_0x96d82;if(_0x333d1d['width']=_0x96d82,_0x333d1d[_0x20ba60(0x7f5)]=_0x270c70,_0x333d1d[_0x20ba60(0x6c4)]=_0x59235d,_0x333d1d[_0x20ba60(0xc45)]=_0x1378b7,!this[_0x20ba60(0x4e8)]||_0x21821f['w1'][_0x20ba60(0x3b4)](_0x333d1d[_0x20ba60(0x503)])&&_0x21821f['w1'][_0x20ba60(0x3b4)](_0x333d1d[_0x20ba60(0x7f5)])||(_0x5394bc=!0x1),_0x3ad28d)this[_0x20ba60(0xae1)](_0x333d1d,_0x3ad28d,_0x374709,_0x5a208d,_0x59235d,_0x1378b7);else{var _0x5a112e=this[_0x20ba60(0xb9a)](_0x5a208d);this['_bindTextureDirectly'](_0x1c35c9[_0x20ba60(0x883)],_0x333d1d,!0x0);for(let _0x166ab3=0x0;_0x166ab3<0x6;_0x166ab3++)_0x1378b7?_0x1c35c9[_0x20ba60(0xabe)](_0x1c35c9['TEXTURE_CUBE_MAP_POSITIVE_X']+_0x166ab3,0x0,this[_0x20ba60(0x61c)]()[_0x20ba60(0x88d)][_0x1378b7],_0x333d1d[_0x20ba60(0x503)],_0x333d1d[_0x20ba60(0x7f5)],0x0,void 0x0):_0x1c35c9[_0x20ba60(0x1cb)](_0x1c35c9[_0x20ba60(0x6e6)]+_0x166ab3,0x0,_0x5a112e,_0x333d1d[_0x20ba60(0x503)],_0x333d1d[_0x20ba60(0x7f5)],0x0,_0x4798a5,_0x2c5fd3,null);this[_0x20ba60(0xc50)](this[_0x20ba60(0x4ed)][_0x20ba60(0x883)],null);}return this['_bindTextureDirectly'](this['_gl'][_0x20ba60(0x883)],_0x333d1d,!0x0),_0x3ad28d&&_0x5394bc&&this[_0x20ba60(0x4ed)][_0x20ba60(0x8fa)](this[_0x20ba60(0x4ed)]['TEXTURE_CUBE_MAP']),_0x96d82=this['_getSamplingParameters'](_0x257ab1,_0x5394bc),(_0x1c35c9[_0x20ba60(0x715)](_0x1c35c9[_0x20ba60(0x883)],_0x1c35c9[_0x20ba60(0x58d)],_0x96d82['mag']),_0x1c35c9['texParameteri'](_0x1c35c9[_0x20ba60(0x883)],_0x1c35c9['TEXTURE_MIN_FILTER'],_0x96d82[_0x20ba60(0x4fd)]),_0x1c35c9[_0x20ba60(0x715)](_0x1c35c9[_0x20ba60(0x883)],_0x1c35c9[_0x20ba60(0xb05)],_0x1c35c9[_0x20ba60(0x239)]),_0x1c35c9[_0x20ba60(0x715)](_0x1c35c9[_0x20ba60(0x883)],_0x1c35c9[_0x20ba60(0x2da)],_0x1c35c9[_0x20ba60(0x239)]),this[_0x20ba60(0xc50)](_0x1c35c9[_0x20ba60(0x883)],null),_0x333d1d[_0x20ba60(0x5d6)]=_0x5394bc,_0x333d1d['samplingMode']=_0x257ab1,_0x333d1d[_0x20ba60(0x834)]=!0x0,_0x333d1d);},_0x4fcfb8['B'][_0x17cf0d(0x21e)]['updateRawCubeTexture']=function(_0x19e6f8,_0x19d250,_0x3a68d9,_0x1e3df3,_0xf28f79,_0x892714=null,_0x247ac1=0x0){var _0x34093b=_0x17cf0d;_0x19e6f8[_0x34093b(0x838)]=_0x19d250,_0x19e6f8[_0x34093b(0x22f)]=_0x3a68d9,_0x19e6f8[_0x34093b(0x844)]=_0x1e3df3,_0x19e6f8[_0x34093b(0x6c4)]=_0xf28f79,_0x19e6f8[_0x34093b(0xc45)]=_0x892714;const _0x4962a6=this['_gl'];var _0x2a6923=this['_getWebGLTextureType'](_0x1e3df3);let _0x1eb75c=this[_0x34093b(0x588)](_0x3a68d9);var _0x31bb54=this[_0x34093b(0xb9a)](_0x1e3df3);let _0x52cbcd=!0x1;_0x1eb75c===_0x4962a6['RGB']&&(_0x1eb75c=_0x4962a6['RGBA'],_0x52cbcd=!0x0),this[_0x34093b(0xc50)](_0x4962a6[_0x34093b(0x883)],_0x19e6f8,!0x0),this[_0x34093b(0x166)](void 0x0===_0xf28f79||!!_0xf28f79),_0x19e6f8[_0x34093b(0x503)]%0x4!=0x0&&_0x4962a6['pixelStorei'](_0x4962a6[_0x34093b(0x471)],0x1);for(let _0x359a35=0x0;_0x359a35<0x6;_0x359a35++){let _0x380418=_0x19d250[_0x359a35];_0x892714?_0x4962a6[_0x34093b(0xabe)](_0x4962a6[_0x34093b(0x6e6)]+_0x359a35,_0x247ac1,this[_0x34093b(0x61c)]()['s3tc'][_0x892714],_0x19e6f8[_0x34093b(0x503)],_0x19e6f8[_0x34093b(0x7f5)],0x0,_0x380418):(_0x52cbcd&&(_0x380418=_0x33a8ac(_0x380418,_0x19e6f8[_0x34093b(0x503)],_0x19e6f8[_0x34093b(0x7f5)],_0x1e3df3)),_0x4962a6[_0x34093b(0x1cb)](_0x4962a6['TEXTURE_CUBE_MAP_POSITIVE_X']+_0x359a35,_0x247ac1,_0x31bb54,_0x19e6f8[_0x34093b(0x503)],_0x19e6f8['height'],0x0,_0x1eb75c,_0x2a6923,_0x380418));}(!this[_0x34093b(0x4e8)]||_0x21821f['w1']['IsExponentOfTwo'](_0x19e6f8[_0x34093b(0x503)])&&_0x21821f['w1']['IsExponentOfTwo'](_0x19e6f8['height']))&&_0x19e6f8[_0x34093b(0x5d6)]&&0x0===_0x247ac1&&this['_gl'][_0x34093b(0x8fa)](this[_0x34093b(0x4ed)][_0x34093b(0x883)]),this[_0x34093b(0xc50)](this[_0x34093b(0x4ed)][_0x34093b(0x883)],null),_0x19e6f8[_0x34093b(0x834)]=!0x0;},_0x4fcfb8['B']['prototype']['createRawCubeTextureFromUrl']=function(_0x222e4e,_0x50ba20,_0x52f286,_0x4f8f66,_0x22362d,_0x499fed,_0x10eddb,_0x105b80,_0x409179=null,_0x376ef5=null,_0x3b816d=_0x4f52f9['g'][_0x17cf0d(0xb58)],_0x5fd091=!0x1){var _0x2c30e4=_0x17cf0d;const _0x1a6d94=this[_0x2c30e4(0x4ed)],_0x28ecfc=this[_0x2c30e4(0xd2d)](null,_0x52f286,_0x4f8f66,_0x22362d,!_0x499fed,_0x5fd091,_0x3b816d,null),_0x5e4f1f=(null!=_0x50ba20&&_0x50ba20['addPendingData'](_0x28ecfc),_0x28ecfc[_0x2c30e4(0x509)]=_0x222e4e,_0x28ecfc[_0x2c30e4(0x834)]=!0x1,this[_0x2c30e4(0x300)][_0x2c30e4(0x2f7)](_0x28ecfc),_0x2635a0=>{var _0x22d05d=_0x2c30e4,_0xc2a741=_0x28ecfc[_0x22d05d(0x503)],_0x2635a0=_0x10eddb(_0x2635a0);if(_0x2635a0){if(_0x105b80){var _0x4d22d7=this['_getWebGLTextureType'](_0x22362d);let _0x62011e=this['_getInternalFormat'](_0x4f8f66);var _0x236381=this[_0x22d05d(0xb9a)](_0x22362d);let _0x4b5415=!0x1;_0x62011e===_0x1a6d94[_0x22d05d(0x645)]&&(_0x62011e=_0x1a6d94[_0x22d05d(0x709)],_0x4b5415=!0x0),this[_0x22d05d(0xc50)](_0x1a6d94['TEXTURE_CUBE_MAP'],_0x28ecfc,!0x0),this[_0x22d05d(0x166)](!0x1);var _0x2b857f=_0x105b80(_0x2635a0);for(let _0xaabb80=0x0;_0xaabb80<_0x2b857f[_0x22d05d(0x9ff)];_0xaabb80++){var _0xbc7898=_0xc2a741>>_0xaabb80;for(let _0x518f0e=0x0;_0x518f0e<0x6;_0x518f0e++){let _0x2f38da=_0x2b857f[_0xaabb80][_0x518f0e];_0x4b5415&&(_0x2f38da=_0x33a8ac(_0x2f38da,_0xbc7898,_0xbc7898,_0x22362d)),_0x1a6d94[_0x22d05d(0x1cb)](_0x518f0e,_0xaabb80,_0x236381,_0xbc7898,_0xbc7898,0x0,_0x62011e,_0x4d22d7,_0x2f38da);}}this[_0x22d05d(0xc50)](_0x1a6d94[_0x22d05d(0x883)],null);}else this[_0x22d05d(0xae1)](_0x28ecfc,_0x2635a0,_0x4f8f66,_0x22362d,_0x5fd091);_0x28ecfc[_0x22d05d(0x834)]=!0x0,null!=_0x50ba20&&_0x50ba20['removePendingData'](_0x28ecfc),_0x28ecfc[_0x22d05d(0x398)][_0x22d05d(0x4a4)](_0x28ecfc),_0x28ecfc[_0x22d05d(0x398)][_0x22d05d(0x36e)](),_0x409179&&_0x409179();}});return this[_0x2c30e4(0xb01)](_0x222e4e,_0xbd5562=>{_0x5e4f1f(_0xbd5562);},void 0x0,null==_0x50ba20?void 0x0:_0x50ba20[_0x2c30e4(0x561)],!0x0,(_0x2205e1,_0x47143e)=>{var _0x43c723=_0x2c30e4;null!=_0x50ba20&&_0x50ba20[_0x43c723(0xab4)](_0x28ecfc),_0x376ef5&&_0x2205e1&&_0x376ef5(_0x2205e1[_0x43c723(0xc1e)]+'\x20'+_0x2205e1[_0x43c723(0x92e)],_0x47143e);}),_0x28ecfc;},_0x4fcfb8['B'][_0x17cf0d(0x21e)]['createRawTexture2DArray']=_0x99ab12(!0x1),_0x4fcfb8['B']['prototype']['createRawTexture3D']=_0x99ab12(!0x0),_0x4fcfb8['B']['prototype'][_0x17cf0d(0xd17)]=_0x389530(!0x1),_0x4fcfb8['B']['prototype'][_0x17cf0d(0x768)]=_0x389530(!0x0);},0x6068:(_0x53ef26,_0x292e0a,_0x385803)=>{var _0x5a9c3b=a7_0x51ebec;_0x385803['d'](_0x292e0a,{'A':()=>_0x173f86});var _0x292e0a=_0x385803(0xcf06),_0x1e1176=_0x385803(0x1610);function _0x173f86(_0x2a3bbd,_0x917d22,_0x338927=!0x1,_0x4d9bd9){var _0x5b7068=a7_0x4956;switch(_0x2a3bbd){case _0x1e1176['g'][_0x5b7068(0x2ff)]:{ArrayBuffer;const _0x255cdb=new Int8Array(_0x917d22);return _0x4d9bd9&&_0x255cdb[_0x5b7068(0x82e)](new Int8Array(_0x4d9bd9)),_0x255cdb;}case _0x1e1176['g']['TEXTURETYPE_UNSIGNED_BYTE']:{ArrayBuffer;const _0x34c1b2=new Uint8Array(_0x917d22);return _0x4d9bd9&&_0x34c1b2[_0x5b7068(0x82e)](new Uint8Array(_0x4d9bd9)),_0x34c1b2;}case _0x1e1176['g'][_0x5b7068(0x8ce)]:{const _0x5d1a6c=_0x917d22 instanceof ArrayBuffer?new Int16Array(_0x917d22):new Int16Array(_0x338927?_0x917d22/0x2:_0x917d22);return _0x4d9bd9&&_0x5d1a6c[_0x5b7068(0x82e)](new Int16Array(_0x4d9bd9)),_0x5d1a6c;}case _0x1e1176['g']['TEXTURETYPE_UNSIGNED_SHORT']:case _0x1e1176['g']['TEXTURETYPE_UNSIGNED_SHORT_4_4_4_4']:case _0x1e1176['g']['TEXTURETYPE_UNSIGNED_SHORT_5_5_5_1']:case _0x1e1176['g']['TEXTURETYPE_UNSIGNED_SHORT_5_6_5']:case _0x1e1176['g']['TEXTURETYPE_HALF_FLOAT']:{const _0x2b32f2=_0x917d22 instanceof ArrayBuffer?new Uint16Array(_0x917d22):new Uint16Array(_0x338927?_0x917d22/0x2:_0x917d22);return _0x4d9bd9&&_0x2b32f2[_0x5b7068(0x82e)](new Uint16Array(_0x4d9bd9)),_0x2b32f2;}case _0x1e1176['g']['TEXTURETYPE_INT']:{const _0x4db0fb=_0x917d22 instanceof ArrayBuffer?new Int32Array(_0x917d22):new Int32Array(_0x338927?_0x917d22/0x4:_0x917d22);return _0x4d9bd9&&_0x4db0fb[_0x5b7068(0x82e)](new Int32Array(_0x4d9bd9)),_0x4db0fb;}case _0x1e1176['g']['TEXTURETYPE_UNSIGNED_INTEGER']:case _0x1e1176['g'][_0x5b7068(0xcb5)]:case _0x1e1176['g'][_0x5b7068(0xbb6)]:case _0x1e1176['g'][_0x5b7068(0xa14)]:case _0x1e1176['g']['TEXTURETYPE_UNSIGNED_INT_5_9_9_9_REV']:case _0x1e1176['g'][_0x5b7068(0xc07)]:{const _0x11cb2a=_0x917d22 instanceof ArrayBuffer?new Uint32Array(_0x917d22):new Uint32Array(_0x338927?_0x917d22/0x4:_0x917d22);return _0x4d9bd9&&_0x11cb2a[_0x5b7068(0x82e)](new Uint32Array(_0x4d9bd9)),_0x11cb2a;}case _0x1e1176['g'][_0x5b7068(0x8ef)]:{const _0x1597fc=_0x917d22 instanceof ArrayBuffer?new Float32Array(_0x917d22):new Float32Array(_0x338927?_0x917d22/0x4:_0x917d22);return _0x4d9bd9&&_0x1597fc['set'](new Float32Array(_0x4d9bd9)),_0x1597fc;}}ArrayBuffer;const _0x2d2acb=new Uint8Array(_0x917d22);return _0x4d9bd9&&_0x2d2acb[_0x5b7068(0x82e)](new Uint8Array(_0x4d9bd9)),_0x2d2acb;}_0x292e0a['B'][_0x5a9c3b(0x21e)]['_readTexturePixelsSync']=function(_0x8176ef,_0x6cc44f,_0xe1091a,_0x48f98f=-0x1,_0x46ae7f=0x0,_0x371bde=null,_0x50fe47=!0x0,_0x43ff71=!0x1,_0x1d2f97=0x0,_0x5de897=0x0){var _0x2b49b9=_0x5a9c3b;const _0x40c2af=this[_0x2b49b9(0x4ed)];if(!_0x40c2af)throw new Error(_0x2b49b9(0xbe9));if(!this[_0x2b49b9(0x6cf)]){var _0x8285e1=_0x40c2af['createFramebuffer']();if(!_0x8285e1)throw new Error(_0x2b49b9(0x4ec));this[_0x2b49b9(0x6cf)]=_0x8285e1;}_0x40c2af['bindFramebuffer'](_0x40c2af[_0x2b49b9(0xc47)],this[_0x2b49b9(0x6cf)]),-0x1<_0x48f98f?_0x40c2af[_0x2b49b9(0xce5)](_0x40c2af[_0x2b49b9(0xc47)],_0x40c2af[_0x2b49b9(0xaa7)],_0x40c2af['TEXTURE_CUBE_MAP_POSITIVE_X']+_0x48f98f,null==(_0x8285e1=_0x8176ef[_0x2b49b9(0x835)])?void 0x0:_0x8285e1[_0x2b49b9(0x597)],_0x46ae7f):_0x40c2af[_0x2b49b9(0xce5)](_0x40c2af[_0x2b49b9(0xc47)],_0x40c2af[_0x2b49b9(0xaa7)],_0x40c2af[_0x2b49b9(0xa62)],null==(_0x48f98f=_0x8176ef['_hardwareTexture'])?void 0x0:_0x48f98f[_0x2b49b9(0x597)],_0x46ae7f);let _0x3ff961=void 0x0!==_0x8176ef['type']?this[_0x2b49b9(0xc8a)](_0x8176ef['type']):_0x40c2af[_0x2b49b9(0x1fb)];return _0x43ff71?_0x371bde=_0x371bde||_0x173f86(_0x8176ef[_0x2b49b9(0x844)],0x4*_0x6cc44f*_0xe1091a):_0x3ff961=_0x3ff961===_0x40c2af[_0x2b49b9(0x1fb)]?(_0x371bde=_0x371bde||new Uint8Array(0x4*_0x6cc44f*_0xe1091a),_0x40c2af[_0x2b49b9(0x1fb)]):(_0x371bde=_0x371bde||new Float32Array(0x4*_0x6cc44f*_0xe1091a),_0x40c2af[_0x2b49b9(0xb15)]),_0x50fe47&&this[_0x2b49b9(0x440)](),_0x40c2af[_0x2b49b9(0x8ac)](_0x1d2f97,_0x5de897,_0x6cc44f,_0xe1091a,_0x40c2af[_0x2b49b9(0x709)],_0x3ff961,_0x371bde),_0x40c2af['bindFramebuffer'](_0x40c2af[_0x2b49b9(0xc47)],this['_currentFramebuffer']),_0x371bde;},_0x292e0a['B'][_0x5a9c3b(0x21e)][_0x5a9c3b(0x934)]=function(_0x2ad972,_0x5f46ac,_0x3b901f,_0x55ca2a=-0x1,_0x16e200=0x0,_0x3bf8c4=null,_0x168cb4=!0x0,_0x524895=!0x1,_0x670563=0x0,_0x532fb8=0x0){var _0x548ff0=_0x5a9c3b;return Promise[_0x548ff0(0x4b7)](this[_0x548ff0(0x367)](_0x2ad972,_0x5f46ac,_0x3b901f,_0x55ca2a,_0x16e200,_0x3bf8c4,_0x168cb4,_0x524895,_0x670563,_0x532fb8));};},0x160b0:(_0x43f933,_0x43ca4a,_0x5b3948)=>{var _0x196ed8=a7_0x51ebec,_0x2588fa=_0x5b3948(0x138df),_0x320fa1=_0x5b3948(0x9a70),_0x4f1853=_0x5b3948(0xcf06);class _0x16ccc3 extends _0x5b3948(0x157cc)['r']{constructor(_0x19a981,_0x1deb10,_0xbc7d5c,_0x3ade5b,_0x271c87){var _0x1a4b78=a7_0x4956;super(_0x19a981,_0x1deb10,_0xbc7d5c,_0x3ade5b),this['_framebuffer']=null,this[_0x1a4b78(0x5c6)]=null,this[_0x1a4b78(0x5c0)]=null,this[_0x1a4b78(0x277)]=null,this[_0x1a4b78(0xa1d)]=null,this['_context']=_0x271c87;}[_0x196ed8(0x7ec)](){var _0x23b0ee=_0x196ed8;let _0x62298f=null;return this['_colorTextureArray']&&this[_0x23b0ee(0xa1d)]?(_0x62298f=this[_0x23b0ee(0x8ba)]['createMultiviewRenderTargetTexture'](this[_0x23b0ee(0x503)],this['height']))['texture']['isReady']=!0x0:_0x62298f=super[_0x23b0ee(0x7ec)](),_0x62298f;}['_swapRenderTargetWrapper'](_0x2e3bc3){var _0xfec5b9=_0x196ed8;super[_0xfec5b9(0x8d1)](_0x2e3bc3),_0x2e3bc3[_0xfec5b9(0x2a7)]=this[_0xfec5b9(0x2a7)],_0x2e3bc3[_0xfec5b9(0x5c6)]=this[_0xfec5b9(0x5c6)],_0x2e3bc3[_0xfec5b9(0x5c0)]=this['_MSAAFramebuffer'],_0x2e3bc3[_0xfec5b9(0x277)]=this['_colorTextureArray'],_0x2e3bc3['_depthStencilTextureArray']=this['_depthStencilTextureArray'],this[_0xfec5b9(0x2a7)]=this['_depthStencilBuffer']=this[_0xfec5b9(0x5c0)]=this['_colorTextureArray']=this[_0xfec5b9(0xa1d)]=null;}[_0x196ed8(0xce6)](_0x4f3805){var _0x47ac94=_0x196ed8;super[_0x47ac94(0xce6)](_0x4f3805);const _0x66809c=this[_0x47ac94(0x66b)];var _0x55e852=this[_0x47ac94(0x5c6)],_0x55f8e0=_0x4f3805[_0x47ac94(0x5c0)]||_0x4f3805[_0x47ac94(0x2a7)];_0x4f3805['_depthStencilBuffer']&&_0x66809c['deleteRenderbuffer'](_0x4f3805['_depthStencilBuffer']),_0x4f3805[_0x47ac94(0x5c6)]=this['_depthStencilBuffer'],this[_0x47ac94(0x8ba)][_0x47ac94(0xd65)](_0x55f8e0),_0x66809c['framebufferRenderbuffer'](_0x66809c[_0x47ac94(0xc47)],_0x66809c[_0x47ac94(0x60e)],_0x66809c[_0x47ac94(0x20d)],_0x55e852),this['_engine'][_0x47ac94(0xd65)](null);}['_bindTextureRenderTarget'](_0x55f4c2,_0x1b4b9f=0x0,_0x2a26dd,_0x49de9d=0x0){var _0x1d68cf=_0x196ed8;if(_0x55f4c2[_0x1d68cf(0x835)]){var _0x286669=this[_0x1d68cf(0x2a7)],_0x2074cb=this[_0x1d68cf(0x8ba)][_0x1d68cf(0x4b2)];if(this[_0x1d68cf(0x8ba)][_0x1d68cf(0xd65)](_0x286669),0x1<this[_0x1d68cf(0x8ba)][_0x1d68cf(0xaa3)]){const _0x297410=this[_0x1d68cf(0x66b)];_0x286669=_0x297410[_0x1d68cf(0x767)+_0x1b4b9f],_0x55f4c2[_0x1d68cf(0x545)]||_0x55f4c2[_0x1d68cf(0xa7c)]?(_0x2a26dd=null!=(_0x1daa35=null!=_0x2a26dd?_0x2a26dd:null==(_0x1daa35=this[_0x1d68cf(0x4d4)])?void 0x0:_0x1daa35[_0x1b4b9f])?_0x1daa35:0x0,_0x297410[_0x1d68cf(0xa3d)](_0x297410['FRAMEBUFFER'],_0x286669,_0x55f4c2[_0x1d68cf(0x835)][_0x1d68cf(0x597)],_0x49de9d,_0x2a26dd)):_0x55f4c2[_0x1d68cf(0xaac)]?(_0x2a26dd=null!=(_0x1daa35=null!=_0x2a26dd?_0x2a26dd:null==(_0x1daa35=this[_0x1d68cf(0x8d8)])?void 0x0:_0x1daa35[_0x1b4b9f])?_0x1daa35:0x0,_0x297410[_0x1d68cf(0xce5)](_0x297410[_0x1d68cf(0xc47)],_0x286669,_0x297410[_0x1d68cf(0x6e6)]+_0x2a26dd,_0x55f4c2['_hardwareTexture'][_0x1d68cf(0x597)],_0x49de9d)):_0x297410[_0x1d68cf(0xce5)](_0x297410[_0x1d68cf(0xc47)],_0x286669,_0x297410['TEXTURE_2D'],_0x55f4c2[_0x1d68cf(0x835)][_0x1d68cf(0x597)],_0x49de9d);}else{const _0xb2cbed=this[_0x1d68cf(0x66b)];var _0x1daa35=_0xb2cbed[_0x1d68cf(0x767)+_0x1b4b9f+_0x1d68cf(0xad0)],_0x286669=void 0x0!==_0x2a26dd?_0xb2cbed[_0x1d68cf(0x6e6)]+_0x2a26dd:_0xb2cbed[_0x1d68cf(0xa62)];_0xb2cbed[_0x1d68cf(0xce5)](_0xb2cbed[_0x1d68cf(0xc47)],_0x1daa35,_0x286669,_0x55f4c2[_0x1d68cf(0x835)][_0x1d68cf(0x597)],_0x49de9d);}this[_0x1d68cf(0x8ba)][_0x1d68cf(0xd65)](_0x2074cb);}}[_0x196ed8(0x353)](_0x3abc32,_0x423e28=0x0,_0x103721=!0x0){var _0x2fa8b5=_0x196ed8;super[_0x2fa8b5(0x353)](_0x3abc32,_0x423e28,_0x103721),this['_bindTextureRenderTarget'](_0x3abc32,_0x423e28);}[_0x196ed8(0x8d9)](_0x2fb24d,_0x2886b4){var _0x5e17c4=_0x196ed8;if(super[_0x5e17c4(0x8d9)](_0x2fb24d,_0x2886b4),this['textures']&&this[_0x5e17c4(0x4d4)]&&this[_0x5e17c4(0x8d8)]){var _0x647a4=null!=(_0x2886b4=null==(_0x2fb24d=this[_0x5e17c4(0x3c6)])?void 0x0:_0x2fb24d['length'])?_0x2886b4:this[_0x5e17c4(0xb2e)]['length'];for(let _0x5bed56=0x0;_0x5bed56<_0x647a4;_0x5bed56++){var _0x3caa44=this[_0x5e17c4(0xb2e)][_0x5bed56];_0x3caa44&&(_0x3caa44[_0x5e17c4(0x545)]||_0x3caa44[_0x5e17c4(0xa7c)]?this[_0x5e17c4(0x5bf)](_0x3caa44,_0x5bed56,this['layerIndices'][_0x5bed56]):_0x3caa44[_0x5e17c4(0xaac)]?this['_bindTextureRenderTarget'](_0x3caa44,_0x5bed56,this[_0x5e17c4(0x8d8)][_0x5bed56]):this['_bindTextureRenderTarget'](_0x3caa44,_0x5bed56));}}}[_0x196ed8(0x7a7)](_0x32183f=0x0,_0x3f8e07,_0x15d61e){var _0x4a0db9=_0x196ed8;super[_0x4a0db9(0x7a7)](_0x32183f,_0x3f8e07,_0x15d61e),this[_0x4a0db9(0xb2e)]&&this[_0x4a0db9(0x4d4)]&&this['faceIndices']&&((_0x3f8e07=this[_0x4a0db9(0xb2e)][_0x32183f])[_0x4a0db9(0x545)]||_0x3f8e07['is3D']?this[_0x4a0db9(0x5bf)](this['textures'][_0x32183f],_0x32183f,this['layerIndices'][_0x32183f]):_0x3f8e07[_0x4a0db9(0xaac)]&&this[_0x4a0db9(0x5bf)](this['textures'][_0x32183f],_0x32183f,this['faceIndices'][_0x32183f]));}['dispose'](_0x3a3dfc=!0x1){var _0x2ac9fa=_0x196ed8;const _0x5f4914=this['_context'];_0x3a3dfc||(this['_colorTextureArray']&&(this[_0x2ac9fa(0x66b)][_0x2ac9fa(0x6c3)](this[_0x2ac9fa(0x277)]),this['_colorTextureArray']=null),this[_0x2ac9fa(0xa1d)]&&(this['_context'][_0x2ac9fa(0x6c3)](this[_0x2ac9fa(0xa1d)]),this['_depthStencilTextureArray']=null)),this[_0x2ac9fa(0x2a7)]&&(_0x5f4914[_0x2ac9fa(0x5f7)](this[_0x2ac9fa(0x2a7)]),this[_0x2ac9fa(0x2a7)]=null),this[_0x2ac9fa(0x5c6)]&&(_0x5f4914[_0x2ac9fa(0x554)](this[_0x2ac9fa(0x5c6)]),this['_depthStencilBuffer']=null),this['_MSAAFramebuffer']&&(_0x5f4914[_0x2ac9fa(0x5f7)](this[_0x2ac9fa(0x5c0)]),this[_0x2ac9fa(0x5c0)]=null),super[_0x2ac9fa(0x38b)](_0x3a3dfc);}}var _0x7813ea=_0x5b3948(0x1610);_0x4f1853['B'][_0x196ed8(0x21e)][_0x196ed8(0xc7f)]=function(_0x3448ea,_0x4b4709,_0x3d46e6){var _0x580369=_0x196ed8;return _0x3448ea=new _0x16ccc3(_0x3448ea,_0x4b4709,_0x3d46e6,this,this['_gl']),(this[_0x580369(0x374)][_0x580369(0x2f7)](_0x3448ea),_0x3448ea);},_0x4f1853['B'][_0x196ed8(0x21e)][_0x196ed8(0xcf7)]=function(_0x27f861,_0x5c65de){var _0x2c7edd=_0x196ed8;const _0x54468d=this[_0x2c7edd(0xc7f)](!0x1,!0x1,_0x27f861);let _0x4bb07d=!0x0,_0x458b3e=!0x1,_0x398ed9=!0x1,_0x57a330=void 0x0,_0x461763=0x1;void 0x0!==_0x5c65de&&'object'==typeof _0x5c65de&&(_0x4bb07d=null==(_0x5a295d=_0x5c65de[_0x2c7edd(0x631)])||_0x5a295d,_0x458b3e=!!_0x5c65de[_0x2c7edd(0x1b4)],_0x398ed9=!!_0x5c65de['noColorAttachment'],_0x57a330=_0x5c65de[_0x2c7edd(0xcb9)],_0x461763=null!=(_0x5a295d=_0x5c65de[_0x2c7edd(0x2d6)])?_0x5a295d:0x1);var _0x5a295d=_0x57a330||(_0x398ed9?null:this[_0x2c7edd(0x5e1)](_0x27f861,_0x5c65de,!0x0,_0x2588fa['S']['RenderTarget'])),_0x5c65de=_0x27f861['width']||_0x27f861,_0x27f861=_0x27f861['height']||_0x27f861,_0x3da4dd=this[_0x2c7edd(0x4b2)];const _0x2d9785=this[_0x2c7edd(0x4ed)];var _0xba77bf=_0x2d9785[_0x2c7edd(0x3f7)]();return this[_0x2c7edd(0xd65)](_0xba77bf),_0x54468d[_0x2c7edd(0x5c6)]=this[_0x2c7edd(0xc10)](_0x458b3e,_0x4bb07d,_0x5c65de,_0x27f861),_0x5a295d&&!_0x5a295d[_0x2c7edd(0x545)]&&_0x2d9785[_0x2c7edd(0xce5)](_0x2d9785[_0x2c7edd(0xc47)],_0x2d9785['COLOR_ATTACHMENT0'],_0x2d9785[_0x2c7edd(0xa62)],_0x5a295d[_0x2c7edd(0x835)][_0x2c7edd(0x597)],0x0),this['_bindUnboundFramebuffer'](_0x3da4dd),_0x54468d['_framebuffer']=_0xba77bf,_0x54468d['_generateDepthBuffer']=_0x4bb07d,_0x54468d[_0x2c7edd(0xc00)]=_0x458b3e,_0x54468d[_0x2c7edd(0xaa6)](_0x5a295d),this[_0x2c7edd(0x956)](_0x54468d,_0x461763),_0x54468d;},_0x4f1853['B']['prototype'][_0x196ed8(0x3ee)]=function(_0x3c07dd,_0x499da2,_0x396735){var _0x23a539=_0x196ed8,_0x296df0;return _0x499da2[_0x23a539(0xaac)]?(_0x296df0=_0x3c07dd[_0x23a539(0x503)]||_0x3c07dd,this[_0x23a539(0x965)](_0x296df0,_0x499da2,_0x396735)):this[_0x23a539(0x168)](_0x3c07dd,_0x499da2,_0x396735);},_0x4f1853['B']['prototype'][_0x196ed8(0x168)]=function(_0xba7040,_0x16fe09,_0x34e25e){var _0x2b7de7=_0x196ed8;const _0x1635ef=this[_0x2b7de7(0x4ed)];var _0xfe9bd3=_0xba7040['layers']||0x0,_0x510dda=0x0!==_0xfe9bd3?_0x1635ef['TEXTURE_2D_ARRAY']:_0x1635ef['TEXTURE_2D'];const _0x3ffbec=new _0x2588fa['l'](this,_0x2588fa['S'][_0x2b7de7(0x9d6)]);if(!this['_caps']['depthTextureExtension'])return _0x320fa1['Y'][_0x2b7de7(0x1ce)](_0x2b7de7(0xcc3)),_0x3ffbec;_0x16fe09=Object['assign']({'bilinearFiltering':!0x1,'comparisonFunction':0x0,'generateStencil':!0x1},_0x16fe09);if(this['_bindTextureDirectly'](_0x510dda,_0x3ffbec,!0x0),this[_0x2b7de7(0x3c3)](_0x3ffbec,_0xba7040,_0x16fe09[_0x2b7de7(0x787)],0x0!==_0x16fe09[_0x2b7de7(0x3b0)]&&_0x16fe09['bilinearFiltering'],_0x16fe09[_0x2b7de7(0x3b0)],_0x16fe09[_0x2b7de7(0x2d6)]),void 0x0!==_0x16fe09[_0x2b7de7(0x40a)]){if(_0x16fe09[_0x2b7de7(0x40a)]!==_0x7813ea['g'][_0x2b7de7(0x5f5)]&&_0x16fe09['depthTextureFormat']!==_0x7813ea['g'][_0x2b7de7(0x990)]&&_0x16fe09[_0x2b7de7(0x40a)]!==_0x7813ea['g'][_0x2b7de7(0x8cb)]&&_0x16fe09[_0x2b7de7(0x40a)]!==_0x7813ea['g'][_0x2b7de7(0xcee)]&&_0x16fe09[_0x2b7de7(0x40a)]!==_0x7813ea['g'][_0x2b7de7(0xb52)]&&_0x16fe09[_0x2b7de7(0x40a)]!==_0x7813ea['g'][_0x2b7de7(0x23a)])return _0x320fa1['Y']['Error'](_0x2b7de7(0x47b)),_0x3ffbec;_0x3ffbec[_0x2b7de7(0x22f)]=_0x16fe09[_0x2b7de7(0x40a)];}else _0x3ffbec[_0x2b7de7(0x22f)]=_0x16fe09[_0x2b7de7(0x787)]?_0x7813ea['g'][_0x2b7de7(0xcee)]:_0x7813ea['g'][_0x2b7de7(0x990)];_0xba7040=_0x3ffbec[_0x2b7de7(0x22f)]===_0x7813ea['g'][_0x2b7de7(0x8cb)]||_0x3ffbec['format']===_0x7813ea['g'][_0x2b7de7(0xcee)]||_0x3ffbec[_0x2b7de7(0x22f)]===_0x7813ea['g']['TEXTUREFORMAT_DEPTH32FLOAT_STENCIL8'],(_0x34e25e[_0x2b7de7(0x8ae)]=_0x3ffbec,_0x34e25e['_depthStencilTextureWithStencil']=_0xba7040);let _0x2f58a4=_0x1635ef['UNSIGNED_INT'];_0x3ffbec[_0x2b7de7(0x22f)]===_0x7813ea['g'][_0x2b7de7(0x5f5)]?_0x2f58a4=_0x1635ef[_0x2b7de7(0x317)]:_0x3ffbec[_0x2b7de7(0x22f)]===_0x7813ea['g'][_0x2b7de7(0x8cb)]||_0x3ffbec[_0x2b7de7(0x22f)]===_0x7813ea['g'][_0x2b7de7(0xcee)]?_0x2f58a4=_0x1635ef[_0x2b7de7(0x1e8)]:_0x3ffbec[_0x2b7de7(0x22f)]===_0x7813ea['g']['TEXTUREFORMAT_DEPTH32_FLOAT']?_0x2f58a4=_0x1635ef[_0x2b7de7(0xb15)]:_0x3ffbec[_0x2b7de7(0x22f)]===_0x7813ea['g'][_0x2b7de7(0x23a)]&&(_0x2f58a4=_0x1635ef['FLOAT_32_UNSIGNED_INT_24_8_REV']),_0x16fe09=_0xba7040?_0x1635ef['DEPTH_STENCIL']:_0x1635ef['DEPTH_COMPONENT'];let _0x46d81a=_0x16fe09;0x1<this[_0x2b7de7(0xaa3)]&&(_0x3ffbec[_0x2b7de7(0x22f)]===_0x7813ea['g'][_0x2b7de7(0x5f5)]?_0x46d81a=_0x1635ef[_0x2b7de7(0xc06)]:_0x3ffbec[_0x2b7de7(0x22f)]===_0x7813ea['g'][_0x2b7de7(0x990)]?_0x46d81a=_0x1635ef[_0x2b7de7(0x7f6)]:_0x3ffbec[_0x2b7de7(0x22f)]===_0x7813ea['g'][_0x2b7de7(0x8cb)]||_0x3ffbec[_0x2b7de7(0x22f)]===_0x7813ea['g'][_0x2b7de7(0xcee)]?_0x46d81a=_0x1635ef[_0x2b7de7(0x93b)]:_0x3ffbec[_0x2b7de7(0x22f)]===_0x7813ea['g'][_0x2b7de7(0xb52)]?_0x46d81a=_0x1635ef['DEPTH_COMPONENT32F']:_0x3ffbec[_0x2b7de7(0x22f)]===_0x7813ea['g'][_0x2b7de7(0x23a)]&&(_0x46d81a=_0x1635ef[_0x2b7de7(0xc1c)])),_0x3ffbec['is2DArray']?_0x1635ef[_0x2b7de7(0x338)](_0x510dda,0x0,_0x46d81a,_0x3ffbec[_0x2b7de7(0x503)],_0x3ffbec[_0x2b7de7(0x7f5)],_0xfe9bd3,0x0,_0x16fe09,_0x2f58a4,null):_0x1635ef[_0x2b7de7(0x1cb)](_0x510dda,0x0,_0x46d81a,_0x3ffbec['width'],_0x3ffbec[_0x2b7de7(0x7f5)],0x0,_0x16fe09,_0x2f58a4,null),this[_0x2b7de7(0xc50)](_0x510dda,null),this[_0x2b7de7(0x300)]['push'](_0x3ffbec);const _0x15bc9b=_0x34e25e;return _0x15bc9b[_0x2b7de7(0x5c6)]&&(_0xba7040=this[_0x2b7de7(0x4b2)],this[_0x2b7de7(0xd65)](_0x15bc9b[_0x2b7de7(0x2a7)]),_0x1635ef[_0x2b7de7(0x4f7)](_0x1635ef['FRAMEBUFFER'],_0x1635ef['DEPTH_STENCIL_ATTACHMENT'],_0x1635ef['RENDERBUFFER'],null),_0x1635ef[_0x2b7de7(0x4f7)](_0x1635ef[_0x2b7de7(0xc47)],_0x1635ef[_0x2b7de7(0x60e)],_0x1635ef[_0x2b7de7(0x20d)],null),_0x1635ef[_0x2b7de7(0x4f7)](_0x1635ef[_0x2b7de7(0xc47)],_0x1635ef['STENCIL_ATTACHMENT'],_0x1635ef[_0x2b7de7(0x20d)],null),this[_0x2b7de7(0xd65)](_0xba7040),_0x1635ef[_0x2b7de7(0x554)](_0x15bc9b[_0x2b7de7(0x5c6)]),_0x15bc9b[_0x2b7de7(0x5c6)]=null),_0x3ffbec;},_0x4f1853['B']['prototype'][_0x196ed8(0x956)]=function(_0x19c2e4,_0xe1587){var _0x160a34=_0x196ed8;if(this[_0x160a34(0xaa3)]<0x2||!_0x19c2e4||!_0x19c2e4[_0x160a34(0x823)])return 0x1;if(_0x19c2e4[_0x160a34(0x2d6)]===_0xe1587)return _0xe1587;const _0x136714=this['_gl'],_0x280f1d=(_0xe1587=Math['min'](_0xe1587,this[_0x160a34(0x61c)]()[_0x160a34(0x33a)]),_0x19c2e4[_0x160a34(0x5c6)]&&(_0x136714['deleteRenderbuffer'](_0x19c2e4[_0x160a34(0x5c6)]),_0x19c2e4['_depthStencilBuffer']=null),_0x19c2e4['_MSAAFramebuffer']&&(_0x136714[_0x160a34(0x5f7)](_0x19c2e4[_0x160a34(0x5c0)]),_0x19c2e4[_0x160a34(0x5c0)]=null),_0x19c2e4['texture']['_hardwareTexture']);if(_0x280f1d[_0x160a34(0x9ac)](),0x1<_0xe1587&&_0x160a34(0xd43)==typeof _0x136714[_0x160a34(0x324)]){var _0x1d0189=_0x136714[_0x160a34(0x3f7)]();if(!_0x1d0189)throw new Error(_0x160a34(0x6b3));_0x19c2e4['_MSAAFramebuffer']=_0x1d0189,this['_bindUnboundFramebuffer'](_0x19c2e4[_0x160a34(0x5c0)]),_0x1d0189=this[_0x160a34(0x29b)](_0x19c2e4[_0x160a34(0x823)]['width'],_0x19c2e4[_0x160a34(0x823)][_0x160a34(0x7f5)],_0xe1587,-0x1,this[_0x160a34(0x703)](_0x19c2e4[_0x160a34(0x823)][_0x160a34(0x844)]),_0x136714[_0x160a34(0xaa7)],!0x1);if(!_0x1d0189)throw new Error(_0x160a34(0x6b3));_0x280f1d[_0x160a34(0x491)](_0x1d0189);}else this[_0x160a34(0xd65)](_0x19c2e4[_0x160a34(0x2a7)]);return _0x19c2e4[_0x160a34(0x823)]['samples']=_0xe1587,_0x19c2e4[_0x160a34(0x66d)]=_0xe1587,_0x19c2e4['_depthStencilBuffer']=this['_setupFramebufferDepthAttachments'](_0x19c2e4[_0x160a34(0xc00)],_0x19c2e4['_generateDepthBuffer'],_0x19c2e4[_0x160a34(0x823)][_0x160a34(0x503)],_0x19c2e4['texture']['height'],_0xe1587),this[_0x160a34(0xd65)](null),_0xe1587;};},0x51a9:(_0x254f88,_0x2eeb4f,_0x4b9c01)=>{var _0x3dc7c7=a7_0x51ebec,_0x34c68a=_0x4b9c01(0x138df),_0x5b25fb=_0x4b9c01(0x9a70),_0x14e2eb=_0x4b9c01(0x1610);_0x4b9c01(0xcf06)['B'][_0x3dc7c7(0x21e)]['createRenderTargetCubeTexture']=function(_0x515675,_0x2bc89a){var _0x18ee84=_0x3dc7c7;const _0x31274e=this['_createHardwareRenderTargetWrapper'](!0x1,!0x0,_0x515675),_0xad2978=Object[_0x18ee84(0x884)]({'generateMipMaps':!0x0,'generateDepthBuffer':!0x0,'generateStencilBuffer':!0x1,'type':_0x14e2eb['g'][_0x18ee84(0xb46)],'samplingMode':_0x14e2eb['g'][_0x18ee84(0xb58)],'format':_0x14e2eb['g'][_0x18ee84(0x1f2)]},_0x2bc89a),_0x44daf4=(_0xad2978[_0x18ee84(0x1b4)]=_0xad2978['generateDepthBuffer']&&_0xad2978[_0x18ee84(0x1b4)],(_0xad2978[_0x18ee84(0x844)]===_0x14e2eb['g'][_0x18ee84(0x8ef)]&&!this[_0x18ee84(0xb42)][_0x18ee84(0xb33)]||_0xad2978[_0x18ee84(0x844)]===_0x14e2eb['g'][_0x18ee84(0xc7c)]&&!this[_0x18ee84(0xb42)]['textureHalfFloatLinearFiltering'])&&(_0xad2978[_0x18ee84(0x1eb)]=_0x14e2eb['g']['TEXTURE_NEAREST_SAMPLINGMODE']),this[_0x18ee84(0x4ed)]),_0x4f7158=new _0x34c68a['l'](this,_0x34c68a['S'][_0x18ee84(0x9ad)]);this[_0x18ee84(0xc50)](_0x44daf4[_0x18ee84(0x883)],_0x4f7158,!0x0),_0x2bc89a=this[_0x18ee84(0x83e)](_0xad2978[_0x18ee84(0x1eb)],_0xad2978[_0x18ee84(0x5d6)]),(_0xad2978[_0x18ee84(0x844)]!==_0x14e2eb['g'][_0x18ee84(0x8ef)]||this[_0x18ee84(0xb42)][_0x18ee84(0x9dd)]||(_0xad2978[_0x18ee84(0x844)]=_0x14e2eb['g'][_0x18ee84(0xb46)],_0x5b25fb['Y']['Warn'](_0x18ee84(0x2bc))),_0x44daf4[_0x18ee84(0x715)](_0x44daf4[_0x18ee84(0x883)],_0x44daf4['TEXTURE_MAG_FILTER'],_0x2bc89a[_0x18ee84(0xa4f)]),_0x44daf4[_0x18ee84(0x715)](_0x44daf4[_0x18ee84(0x883)],_0x44daf4[_0x18ee84(0xc9c)],_0x2bc89a[_0x18ee84(0x4fd)]),_0x44daf4['texParameteri'](_0x44daf4[_0x18ee84(0x883)],_0x44daf4['TEXTURE_WRAP_S'],_0x44daf4[_0x18ee84(0x239)]),_0x44daf4[_0x18ee84(0x715)](_0x44daf4[_0x18ee84(0x883)],_0x44daf4[_0x18ee84(0x2da)],_0x44daf4[_0x18ee84(0x239)]));for(let _0x1c3bf2=0x0;_0x1c3bf2<0x6;_0x1c3bf2++)_0x44daf4[_0x18ee84(0x1cb)](_0x44daf4['TEXTURE_CUBE_MAP_POSITIVE_X']+_0x1c3bf2,0x0,this[_0x18ee84(0xb9a)](_0xad2978[_0x18ee84(0x844)],_0xad2978['format']),_0x515675,_0x515675,0x0,this[_0x18ee84(0x588)](_0xad2978[_0x18ee84(0x22f)]),this[_0x18ee84(0xc8a)](_0xad2978[_0x18ee84(0x844)]),null);return _0x2bc89a=_0x44daf4[_0x18ee84(0x3f7)](),(this['_bindUnboundFramebuffer'](_0x2bc89a),_0x31274e[_0x18ee84(0x5c6)]=this[_0x18ee84(0xc10)](_0xad2978[_0x18ee84(0x1b4)],_0xad2978[_0x18ee84(0x631)],_0x515675,_0x515675),_0xad2978[_0x18ee84(0x5d6)]&&_0x44daf4[_0x18ee84(0x8fa)](_0x44daf4[_0x18ee84(0x883)]),this['_bindTextureDirectly'](_0x44daf4[_0x18ee84(0x883)],null),this[_0x18ee84(0xd65)](null),_0x31274e[_0x18ee84(0x2a7)]=_0x2bc89a,_0x31274e[_0x18ee84(0x5a9)]=_0xad2978['generateDepthBuffer'],_0x31274e[_0x18ee84(0xc00)]=_0xad2978[_0x18ee84(0x1b4)],_0x4f7158[_0x18ee84(0x503)]=_0x515675,_0x4f7158[_0x18ee84(0x7f5)]=_0x515675,_0x4f7158['isReady']=!0x0,_0x4f7158[_0x18ee84(0xaac)]=!0x0,_0x4f7158[_0x18ee84(0x2d6)]=0x1,_0x4f7158[_0x18ee84(0x5d6)]=_0xad2978[_0x18ee84(0x5d6)],_0x4f7158[_0x18ee84(0x1eb)]=_0xad2978[_0x18ee84(0x1eb)],_0x4f7158[_0x18ee84(0x844)]=_0xad2978[_0x18ee84(0x844)],_0x4f7158[_0x18ee84(0x22f)]=_0xad2978[_0x18ee84(0x22f)],this[_0x18ee84(0x300)][_0x18ee84(0x2f7)](_0x4f7158),_0x31274e[_0x18ee84(0xaa6)](_0x4f7158),_0x31274e);};},0x1486f:(_0x12e95c,_0x4ef19c,_0x4a91eb)=>{var _0x5873aa=a7_0x51ebec;_0x4a91eb=_0x4a91eb(0xcf06),(_0x4a91eb['B'][_0x5873aa(0x21e)][_0x5873aa(0xa6c)]=function(_0x284008,_0x43bcaf){var _0x539ef9=_0x5873aa;throw new Error(_0x539ef9(0xa88));},_0x4a91eb['B'][_0x5873aa(0x21e)][_0x5873aa(0x4a3)]=function(_0x31213f,_0x2c8d80,_0x3286a8,_0x13ce31){},_0x4a91eb['B']['prototype']['readFromStorageBuffer']=function(_0x5562d2,_0x50bfa1,_0x10699f,_0x3ff8b3){var _0x33a60e=_0x5873aa;throw new Error(_0x33a60e(0x508));},_0x4a91eb['B']['prototype']['setStorageBuffer']=function(_0x8c8c88,_0x4a26ed){var _0x3f8e39=_0x5873aa;throw new Error(_0x3f8e39(0x1e6));});},0x5e7f:(_0x3facca,_0x58e899,_0x18b8a9)=>{var _0x25f81f=a7_0x51ebec;_0x18b8a9(0xcf06)['B']['prototype'][_0x25f81f(0x248)]=function(_0x356d7e,_0x36c503){var _0x18b459=_0x25f81f;throw new Error(_0x18b459(0x315));};},0xd2c8:(_0x146e7c,_0x40cdb1,_0x22d396)=>{var _0x3d2a6b=a7_0x51ebec;_0x22d396=_0x22d396(0x14232);function _0x11e58d(_0x2ab84c){var _0x5cfeca=a7_0x4956;if(this[_0x5cfeca(0x1a9)]&&this[_0x5cfeca(0x1a9)]['some'](_0x1056e2=>_0x2ab84c&&(_0x2ab84c===_0x1056e2||_0x2ab84c[_0x5cfeca(0x96c)](new RegExp('\x5cb'+_0x1056e2+'\x5cb','g')))))return _0x2ab84c;var _0x125486=_0x2ab84c[_0x5cfeca(0x187)]('.'),_0x136a08=_0x2ab84c[_0x5cfeca(0x187)]('?'),_0x136a08=-0x1<_0x136a08?_0x2ab84c[_0x5cfeca(0x41c)](_0x136a08,_0x2ab84c[_0x5cfeca(0x9ff)]):'';return(-0x1<_0x125486?_0x2ab84c[_0x5cfeca(0x41c)](0x0,_0x125486):_0x2ab84c)+this[_0x5cfeca(0x1b5)]+_0x136a08;}Object[_0x3d2a6b(0xd34)](_0x22d396['D'][_0x3d2a6b(0x21e)],'texturesSupported',{'get':function(){var _0xe68727=_0x3d2a6b;const _0x4cec9a=new Array();return this[_0xe68727(0xb42)][_0xe68727(0x4e2)]&&_0x4cec9a[_0xe68727(0x2f7)](_0xe68727(0x42b)),this[_0xe68727(0xb42)][_0xe68727(0x88d)]&&_0x4cec9a[_0xe68727(0x2f7)](_0xe68727(0xb47)),this[_0xe68727(0xb42)][_0xe68727(0x2f6)]&&_0x4cec9a[_0xe68727(0x2f7)](_0xe68727(0xb8e)),this[_0xe68727(0xb42)]['etc2']&&_0x4cec9a['push']('-etc2.ktx'),this['_caps'][_0xe68727(0x1f0)]&&_0x4cec9a[_0xe68727(0x2f7)](_0xe68727(0x7ae)),_0x4cec9a;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x3d2a6b(0xd34)](_0x22d396['D']['prototype'],_0x3d2a6b(0xa7f),{'get':function(){var _0x582e9d=_0x3d2a6b;return this[_0x582e9d(0x1b5)]||null;},'enumerable':!0x0,'configurable':!0x0}),_0x22d396['D'][_0x3d2a6b(0x21e)][_0x3d2a6b(0x274)]=function(_0x19701c){var _0x349511=_0x3d2a6b;this[_0x349511(0x1a9)]=_0x19701c;},_0x22d396['D']['prototype'][_0x3d2a6b(0x3ad)]=function(_0x52bc4c){var _0xa6c290=_0x3d2a6b,_0x430d6e=this[_0xa6c290(0x3d6)];for(let _0x17bef4=0x0,_0x2ea1eb=_0x430d6e[_0xa6c290(0x9ff)];_0x17bef4<_0x2ea1eb;_0x17bef4++)for(let _0x64ab14=0x0,_0x3526b7=_0x52bc4c[_0xa6c290(0x9ff)];_0x64ab14<_0x3526b7;_0x64ab14++)if(_0x430d6e[_0x17bef4]===_0x52bc4c[_0x64ab14]['toLowerCase']())return this['_transformTextureUrl']=_0x11e58d[_0xa6c290(0x373)](this),this[_0xa6c290(0x1b5)]=_0x430d6e[_0x17bef4];return this['_textureFormatInUse']='',this[_0xa6c290(0x38e)]=null;};},0x1789e:(_0x1f977a,_0x5f45fc,_0x3910f4)=>{var _0x787929=a7_0x51ebec,_0x4a9078=_0x3910f4(0xcf06),_0x404308=_0x3910f4(0x15f74);_0x4a9078['B'][_0x787929(0x21e)][_0x787929(0xa13)]=function(_0x4f8716){var _0x42608e=_0x787929,_0x5bcf32=this[_0x42608e(0x4ed)][_0x42608e(0x326)]();if(!_0x5bcf32)throw new Error(_0x42608e(0x1d4));const _0x51f244=new _0x404308['M'](_0x5bcf32);return this[_0x42608e(0x90c)](_0x51f244),_0x4f8716 instanceof Float32Array?this[_0x42608e(0x4ed)]['bufferData'](this['_gl'][_0x42608e(0x717)],_0x4f8716,this[_0x42608e(0x4ed)][_0x42608e(0xb88)]):this[_0x42608e(0x4ed)][_0x42608e(0x2b0)](this[_0x42608e(0x4ed)][_0x42608e(0x717)],new Float32Array(_0x4f8716),this[_0x42608e(0x4ed)]['STATIC_DRAW']),this['bindUniformBuffer'](null),_0x51f244[_0x42608e(0xb0b)]=0x1,_0x51f244;},_0x4a9078['B'][_0x787929(0x21e)][_0x787929(0x9f9)]=function(_0x3d3adc){var _0x5758b5=_0x787929,_0x31f0d3=this[_0x5758b5(0x4ed)][_0x5758b5(0x326)]();if(!_0x31f0d3)throw new Error(_0x5758b5(0x88c));const _0x8f9015=new _0x404308['M'](_0x31f0d3);return this[_0x5758b5(0x90c)](_0x8f9015),_0x3d3adc instanceof Float32Array?this['_gl'][_0x5758b5(0x2b0)](this[_0x5758b5(0x4ed)][_0x5758b5(0x717)],_0x3d3adc,this[_0x5758b5(0x4ed)][_0x5758b5(0x1c9)]):this[_0x5758b5(0x4ed)][_0x5758b5(0x2b0)](this[_0x5758b5(0x4ed)]['UNIFORM_BUFFER'],new Float32Array(_0x3d3adc),this[_0x5758b5(0x4ed)]['DYNAMIC_DRAW']),this[_0x5758b5(0x90c)](null),_0x8f9015['references']=0x1,_0x8f9015;},_0x4a9078['B']['prototype'][_0x787929(0x477)]=function(_0x1348eb,_0x3bde8e,_0x53bf4d,_0x7c7ac){var _0x3c7035=_0x787929;this[_0x3c7035(0x90c)](_0x1348eb),void 0x0===_0x53bf4d&&(_0x53bf4d=0x0),void 0x0===_0x7c7ac?_0x3bde8e instanceof Float32Array?this[_0x3c7035(0x4ed)][_0x3c7035(0x20e)](this[_0x3c7035(0x4ed)][_0x3c7035(0x717)],_0x53bf4d,_0x3bde8e):this[_0x3c7035(0x4ed)][_0x3c7035(0x20e)](this[_0x3c7035(0x4ed)]['UNIFORM_BUFFER'],_0x53bf4d,new Float32Array(_0x3bde8e)):_0x3bde8e instanceof Float32Array?this[_0x3c7035(0x4ed)]['bufferSubData'](this[_0x3c7035(0x4ed)]['UNIFORM_BUFFER'],0x0,_0x3bde8e['subarray'](_0x53bf4d,_0x53bf4d+_0x7c7ac)):this[_0x3c7035(0x4ed)][_0x3c7035(0x20e)](this[_0x3c7035(0x4ed)][_0x3c7035(0x717)],0x0,new Float32Array(_0x3bde8e)[_0x3c7035(0x7bd)](_0x53bf4d,_0x53bf4d+_0x7c7ac)),this[_0x3c7035(0x90c)](null);},_0x4a9078['B'][_0x787929(0x21e)][_0x787929(0x90c)]=function(_0x29e09c){var _0x204198=_0x787929;this['_gl'][_0x204198(0x420)](this[_0x204198(0x4ed)]['UNIFORM_BUFFER'],_0x29e09c?_0x29e09c[_0x204198(0x597)]:null);},_0x4a9078['B'][_0x787929(0x21e)][_0x787929(0xcad)]=function(_0xc00b07,_0x57b0c4,_0x546b98){var _0x1a14d7=_0x787929;this[_0x1a14d7(0x4ed)][_0x1a14d7(0x861)](this[_0x1a14d7(0x4ed)][_0x1a14d7(0x717)],_0x57b0c4,_0xc00b07?_0xc00b07[_0x1a14d7(0x597)]:null);},_0x4a9078['B']['prototype']['bindUniformBlock']=function(_0x3cc038,_0x14f0e6,_0x2d80aa){var _0x391f3d=_0x787929;_0x3cc038=_0x3cc038[_0x391f3d(0x833)],_0x14f0e6=this[_0x391f3d(0x4ed)][_0x391f3d(0x9e0)](_0x3cc038,_0x14f0e6),0xffffffff!==_0x14f0e6&&this[_0x391f3d(0x4ed)][_0x391f3d(0x34b)](_0x3cc038,_0x14f0e6,_0x2d80aa);};},0x17a7f:(_0x5568d3,_0x308876,_0x1754b3)=>{var _0x316317=a7_0x51ebec,_0x5875e0=_0x1754b3(0xcf06),_0x373a1c=_0x1754b3(0x1610);_0x5875e0['B'][_0x316317(0x21e)][_0x316317(0x397)]=function(_0x75aac8,_0x133902,_0x35487d){var _0x2a051a=_0x316317;if(_0x75aac8&&!_0x75aac8[_0x2a051a(0xab0)]){var _0x4e3a19=this[_0x2a051a(0x588)](_0x75aac8[_0x2a051a(0x22f)]),_0x177c36=this['_getRGBABufferInternalSizedFormat'](_0x373a1c['g'][_0x2a051a(0xa07)],_0x75aac8[_0x2a051a(0x22f)]),_0x5a28e2=this[_0x2a051a(0xc50)](this[_0x2a051a(0x4ed)][_0x2a051a(0xa62)],_0x75aac8,!0x0);this[_0x2a051a(0x166)](!_0x35487d);try{if(void 0x0===this[_0x2a051a(0x54c)]&&(this[_0x2a051a(0x4ed)][_0x2a051a(0x950)](),this[_0x2a051a(0x4ed)][_0x2a051a(0x1cb)](this['_gl'][_0x2a051a(0xa62)],0x0,_0x177c36,_0x4e3a19,this[_0x2a051a(0x4ed)]['UNSIGNED_BYTE'],_0x133902),0x0!==this['_gl'][_0x2a051a(0x950)]()?this[_0x2a051a(0x54c)]=!0x1:this[_0x2a051a(0x54c)]=!0x0),this[_0x2a051a(0x54c)])this[_0x2a051a(0x4ed)][_0x2a051a(0x1cb)](this[_0x2a051a(0x4ed)][_0x2a051a(0xa62)],0x0,_0x177c36,_0x4e3a19,this[_0x2a051a(0x4ed)][_0x2a051a(0x1fb)],_0x133902);else{if(!_0x75aac8[_0x2a051a(0x355)]){_0x75aac8[_0x2a051a(0x355)]=this[_0x2a051a(0x22c)](_0x75aac8[_0x2a051a(0x503)],_0x75aac8[_0x2a051a(0x7f5)]);var _0x8f871b=_0x75aac8[_0x2a051a(0x355)]['getContext']('2d');if(!_0x8f871b)throw new Error('Unable\x20to\x20get\x202d\x20context');_0x75aac8[_0x2a051a(0xb45)]=_0x8f871b,_0x75aac8[_0x2a051a(0x355)][_0x2a051a(0x503)]=_0x75aac8['width'],_0x75aac8['_workingCanvas']['height']=_0x75aac8[_0x2a051a(0x7f5)];}_0x75aac8[_0x2a051a(0xb45)]['clearRect'](0x0,0x0,_0x75aac8[_0x2a051a(0x503)],_0x75aac8[_0x2a051a(0x7f5)]),_0x75aac8[_0x2a051a(0xb45)][_0x2a051a(0xcec)](_0x133902,0x0,0x0,_0x133902[_0x2a051a(0x5dc)],_0x133902[_0x2a051a(0xaf0)],0x0,0x0,_0x75aac8[_0x2a051a(0x503)],_0x75aac8['height']),this[_0x2a051a(0x4ed)][_0x2a051a(0x1cb)](this['_gl'][_0x2a051a(0xa62)],0x0,_0x177c36,_0x4e3a19,this[_0x2a051a(0x4ed)]['UNSIGNED_BYTE'],_0x75aac8[_0x2a051a(0x355)]);}_0x75aac8[_0x2a051a(0x5d6)]&&this[_0x2a051a(0x4ed)]['generateMipmap'](this['_gl'][_0x2a051a(0xa62)]),_0x5a28e2||this[_0x2a051a(0xc50)](this[_0x2a051a(0x4ed)][_0x2a051a(0xa62)],null),_0x75aac8['isReady']=!0x0;}catch(_0x23e372){_0x75aac8[_0x2a051a(0xab0)]=!0x0;}}};},0x10ffe:(_0x249b4d,_0x48fa5d,_0x336239)=>{var _0x2db97c=a7_0x51ebec,_0x4f7c74=_0x336239(0x14232),_0x47801e=_0x336239(0x17194),_0x41e452=_0x336239(0xa896),_0x295ff0=_0x336239(0x4ba7),_0x1d89c5=_0x336239(0x7205);Object['defineProperty'](_0x4f7c74['D'][_0x2db97c(0x21e)],_0x2db97c(0x24e),{'get':function(){var _0x15d837=_0x2db97c;return this[_0x15d837(0xae4)];},'enumerable':!0x0,'configurable':!0x0}),_0x4f7c74['D']['prototype']['_prepareVRComponent']=function(){var _0x12b8fd=_0x2db97c;this[_0x12b8fd(0x642)]=!0x1,this[_0x12b8fd(0xae4)]=!0x1,this[_0x12b8fd(0xa9f)]=new _0x41e452['y$'](),this[_0x12b8fd(0x222)]=new _0x41e452['y$'](),this[_0x12b8fd(0x17a)]=new _0x41e452['y$']();},_0x4f7c74['D'][_0x2db97c(0x21e)][_0x2db97c(0xa8a)]=function(){return!!this['_vrDisplay'];},_0x4f7c74['D']['prototype']['getVRDevice']=function(){var _0x24f668=_0x2db97c;return this[_0x24f668(0x55c)];},_0x4f7c74['D'][_0x2db97c(0x21e)][_0x2db97c(0x37b)]=function(){var _0x54f648=_0x2db97c;return this[_0x54f648(0x311)](),this['onVRDisplayChangedObservable'];},_0x4f7c74['D']['prototype']['initWebVRAsync']=function(){var _0x167e60=_0x2db97c;const _0x1ccd06=()=>{var _0x5bed59=a7_0x4956;const _0x55a29d={'vrDisplay':this[_0x5bed59(0x55c)],'vrSupported':this[_0x5bed59(0x642)]};this[_0x5bed59(0xa9f)][_0x5bed59(0x4a4)](_0x55a29d),this['_webVRInitPromise']=new Promise(_0x28c3aa=>{_0x28c3aa(_0x55a29d);});};if(!this[_0x167e60(0x448)]){this[_0x167e60(0x448)]=_0x92ccbe=>{var _0x4cd31f=_0x167e60;this[_0x4cd31f(0x55c)]=_0x92ccbe[_0x4cd31f(0x4eb)],_0x1ccd06();},this['_onVrDisplayDisconnect']=()=>{var _0xe4dbc5=_0x167e60;this[_0xe4dbc5(0x55c)][_0xe4dbc5(0x7b1)](this['_frameHandler']),this[_0xe4dbc5(0x55c)]=void 0x0,this[_0xe4dbc5(0xade)]=_0x4f7c74['D'][_0xe4dbc5(0xc08)](this[_0xe4dbc5(0xb61)]),_0x1ccd06();},this[_0x167e60(0x8e9)]=()=>{var _0x13829c=_0x167e60;this['_vrExclusivePointerMode']=this[_0x13829c(0x55c)]&&this['_vrDisplay']['isPresenting'];};const _0x4cc87a=this[_0x167e60(0x2b3)]();_0x4cc87a&&(_0x4cc87a['addEventListener'](_0x167e60(0x91b),this['_onVrDisplayConnect']),_0x4cc87a[_0x167e60(0x86f)]('vrdisplaydisconnect',this[_0x167e60(0xd14)]),_0x4cc87a[_0x167e60(0x86f)](_0x167e60(0x681),this[_0x167e60(0x8e9)]));}return this['_webVRInitPromise']=this['_webVRInitPromise']||this[_0x167e60(0xbb0)](),this[_0x167e60(0xc41)][_0x167e60(0x35f)](_0x1ccd06),this[_0x167e60(0xc41)];},_0x4f7c74['D'][_0x2db97c(0x21e)][_0x2db97c(0xbb0)]=function(){return new Promise(_0x3eb6f7=>{var _0x352b44=a7_0x4956;navigator['getVRDisplays']?navigator[_0x352b44(0x181)]()['then'](_0x18544a=>{var _0x1d4d27=_0x352b44;this[_0x1d4d27(0x642)]=!0x0,this['_vrDisplay']=_0x18544a[0x0],_0x3eb6f7({'vrDisplay':this[_0x1d4d27(0x55c)],'vrSupported':this['_vrSupported']});}):(this[_0x352b44(0x55c)]=void 0x0,this[_0x352b44(0x642)]=!0x1,_0x3eb6f7({'vrDisplay':this[_0x352b44(0x55c)],'vrSupported':this[_0x352b44(0x642)]}));});},_0x4f7c74['D'][_0x2db97c(0x21e)]['enableVR']=function(_0xd6c15b){var _0x2865cb=_0x2db97c;this[_0x2865cb(0x55c)]&&!this[_0x2865cb(0x55c)][_0x2865cb(0xb6d)]&&(this[_0x2865cb(0x17a)][_0x2865cb(0x4a4)](this),_0xd6c15b={'highRefreshRate':!!this[_0x2865cb(0xce3)]&&this[_0x2865cb(0xce3)][_0x2865cb(0xc3e)],'foveationLevel':this[_0x2865cb(0xce3)]?this[_0x2865cb(0xce3)][_0x2865cb(0xaad)]:0x1,'multiview':(this[_0x2865cb(0x61c)]()['multiview']||this[_0x2865cb(0x61c)]()[_0x2865cb(0x17d)])&&_0xd6c15b[_0x2865cb(0x7b8)]},this[_0x2865cb(0x55c)][_0x2865cb(0x461)]([Object[_0x2865cb(0x884)]({'source':this[_0x2865cb(0xa4a)](),'attributes':_0xd6c15b},_0xd6c15b)])[_0x2865cb(0x35f)](()=>{var _0x12c272=_0x2865cb;this[_0x12c272(0x222)]['notifyObservers'](!0x0),this[_0x12c272(0x510)]();})[_0x2865cb(0xa75)](()=>{var _0x45f92d=_0x2865cb;this['onVRRequestPresentComplete'][_0x45f92d(0x4a4)](!0x1);}));},_0x4f7c74['D'][_0x2db97c(0x21e)]['_onVRFullScreenTriggered']=function(){var _0x43c3da=_0x2db97c,_0x2b5f58;this[_0x43c3da(0x55c)]&&this[_0x43c3da(0x55c)][_0x43c3da(0xb6d)]?(this[_0x43c3da(0xd07)]=new _0x47801e['$'](this[_0x43c3da(0xb4a)](),this[_0x43c3da(0x6f7)]()),this[_0x43c3da(0x8e6)]=this[_0x43c3da(0x655)](),_0x2b5f58=this['_vrDisplay'][_0x43c3da(0xba1)](_0x43c3da(0xbdc)),this[_0x43c3da(0x28b)](0x1),this[_0x43c3da(0x560)](0x2*_0x2b5f58[_0x43c3da(0x43c)],_0x2b5f58[_0x43c3da(0x997)])):(this['setHardwareScalingLevel'](this['_oldHardwareScaleFactor']),this[_0x43c3da(0x560)](this[_0x43c3da(0xd07)][_0x43c3da(0x503)],this[_0x43c3da(0xd07)][_0x43c3da(0x7f5)]));},_0x4f7c74['D'][_0x2db97c(0x21e)][_0x2db97c(0x2f4)]=function(){var _0x38bd90=_0x2db97c;this[_0x38bd90(0x55c)]&&this[_0x38bd90(0x55c)][_0x38bd90(0xb6d)]&&this[_0x38bd90(0x55c)]['exitPresent']()[_0x38bd90(0x35f)](()=>this[_0x38bd90(0x510)]())[_0x38bd90(0xa75)](()=>this[_0x38bd90(0x510)]()),(0x0,_0x1d89c5['CG'])()&&(window[_0x38bd90(0x28a)]('vrdisplaypointerrestricted',this[_0x38bd90(0x1fc)]),window[_0x38bd90(0x28a)](_0x38bd90(0xa28),this[_0x38bd90(0x747)]),this[_0x38bd90(0x448)]&&(window['removeEventListener'](_0x38bd90(0x91b),this['_onVrDisplayConnect']),this[_0x38bd90(0xd14)]&&window[_0x38bd90(0x28a)](_0x38bd90(0xbb1),this['_onVrDisplayDisconnect']),this['_onVrDisplayPresentChange']&&window['removeEventListener']('vrdisplaypresentchange',this[_0x38bd90(0x8e9)]),this[_0x38bd90(0x448)]=null,this[_0x38bd90(0xd14)]=null));},_0x4f7c74['D'][_0x2db97c(0x21e)][_0x2db97c(0x683)]=function(_0x137ebf,_0x46ffd6){var _0x254502=_0x2db97c;if(this['_onVRDisplayPointerRestricted']=()=>{var _0x53d1a2=a7_0x4956;_0x137ebf&&_0x137ebf[_0x53d1a2(0x295)]();},this[_0x254502(0x747)]=()=>{var _0x54d76d=_0x254502;if(_0x46ffd6)_0x46ffd6[_0x54d76d(0x5f9)]&&_0x46ffd6[_0x54d76d(0x5f9)]();else{const _0x54cfce=this[_0x54d76d(0x2b3)]();_0x54cfce['document']&&_0x54cfce[_0x54d76d(0xa7a)][_0x54d76d(0x5f9)]&&_0x54cfce[_0x54d76d(0xa7a)][_0x54d76d(0x5f9)]();}},(0x0,_0x1d89c5['CG'])()){const _0x1b20f3=this[_0x254502(0x2b3)]();_0x1b20f3[_0x254502(0x86f)](_0x254502(0xd18),this['_onVRDisplayPointerRestricted'],!0x1),_0x1b20f3['addEventListener'](_0x254502(0xa28),this[_0x254502(0x747)],!0x1);}},_0x4f7c74['D'][_0x2db97c(0x21e)][_0x2db97c(0x234)]=function(){var _0x20492b=_0x2db97c;if(this['_vrDisplay']&&this[_0x20492b(0x55c)][_0x20492b(0xb6d)])try{this[_0x20492b(0x55c)][_0x20492b(0x36a)]();}catch(_0x51f506){_0x295ff0['w1']['Warn']('webVR\x20submitFrame\x20has\x20had\x20an\x20unexpected\x20failure:\x20'+_0x51f506);}},_0x4f7c74['D'][_0x2db97c(0x21e)][_0x2db97c(0x595)]=function(){var _0x4b6d9b=_0x2db97c;return this[_0x4b6d9b(0x55c)]&&this[_0x4b6d9b(0x55c)]['isPresenting'];},_0x4f7c74['D'][_0x2db97c(0x21e)][_0x2db97c(0x4bb)]=function(){var _0x4df24e=_0x2db97c;this['_frameHandler']=_0x4f7c74['D'][_0x4df24e(0xc08)](this[_0x4df24e(0xb61)],this[_0x4df24e(0x55c)]);};},0xecb7:(_0xc29cfe,_0x53e2c0,_0x3bc840)=>{var _0x49ebb2=a7_0x51ebec;_0x3bc840['d'](_0x53e2c0,{'E':()=>_0x1da7b8});class _0x1da7b8{constructor(_0x2676c0,_0x14f3ee){var _0x1363ae=a7_0x4956;this[_0x1363ae(0x8ba)]=_0x14f3ee,this[_0x1363ae(0x82e)](_0x2676c0);}get[_0x49ebb2(0x597)](){var _0x11f60f=_0x49ebb2;return this[_0x11f60f(0x5aa)];}[_0x49ebb2(0xb14)](){}[_0x49ebb2(0x82e)](_0x4ab4c6){var _0x49e6cc=_0x49ebb2;this[_0x49e6cc(0x5aa)]=_0x4ab4c6;}[_0x49ebb2(0xbf4)](){var _0x399424=_0x49ebb2;this[_0x399424(0x5aa)]=null;}['release'](){var _0x5b92e8=_0x49ebb2;this[_0x5b92e8(0x5aa)]&&this['_engine'][_0x5b92e8(0x6c3)](this['_nativeTexture']),this[_0x5b92e8(0xbf4)]();}}},0xce7:(_0x205d26,_0x23cef9,_0x18fd8c)=>{var _0x37323e=a7_0x51ebec;_0x18fd8c['d'](_0x23cef9,{'G':()=>_0x46db17});class _0x46db17{constructor(_0x93911f){var _0x340a08=a7_0x4956;this[_0x340a08(0xa7d)]=!0x0,this[_0x340a08(0x6de)]=!0x1,this['_valueCache']={},this['_engine']=_0x93911f;}get['isAsync'](){var _0x1df035=a7_0x4956;return this[_0x1df035(0xa7d)];}get[_0x37323e(0x834)](){var _0x244538=_0x37323e,_0x3338df;if(this['compilationError'])throw _0x3338df=this[_0x244538(0x27a)]['message'],new Error(_0x244538(0x591)+(_0x244538(0xa73)==typeof _0x3338df?'\x0a'+_0x3338df:''));return this['isCompiled'];}['_getVertexShaderCode'](){return null;}['_getFragmentShaderCode'](){return null;}['_handlesSpectorRebuildCallback'](_0x211d83){var _0x40fa81=_0x37323e;throw new Error(_0x40fa81(0xc94));}[_0x37323e(0x240)](_0x320390,_0x44045f,_0x407338,_0x1858ae,_0x19303e,_0x53f147,_0x119562,_0x1d80dd){var _0x18364f=_0x37323e;const _0x2cf0a6=this[_0x18364f(0x8ba)];if(_0x2cf0a6['supportsUniformBuffers']){for(const _0x411089 in _0x44045f)_0x320390['bindUniformBlock'](_0x411089,_0x44045f[_0x411089]);}const _0x5ddbef=this[_0x18364f(0x8ba)][_0x18364f(0x85b)](this,_0x407338);_0x5ddbef[_0x18364f(0x544)]((_0x398291,_0x11e04e)=>{_0x1858ae[_0x407338[_0x11e04e]]=_0x398291;}),this['_uniforms']=_0x1858ae;let _0x3c3f51;for(_0x3c3f51=0x0;_0x3c3f51<_0x19303e[_0x18364f(0x9ff)];_0x3c3f51++)null==_0x320390[_0x18364f(0x600)](_0x19303e[_0x3c3f51])&&(_0x19303e[_0x18364f(0x913)](_0x3c3f51,0x1),_0x3c3f51--);_0x19303e[_0x18364f(0x544)]((_0x177a59,_0x3b2c32)=>{_0x53f147[_0x177a59]=_0x3b2c32;}),_0x1d80dd[_0x18364f(0x2f7)](..._0x2cf0a6['getAttributes'](this,_0x119562));}[_0x37323e(0x38b)](){var _0x54a71c=_0x37323e;this[_0x54a71c(0xd69)]={};}[_0x37323e(0x286)](_0x5205cb,_0x218df6){var _0xa0eca4=_0x37323e,_0x372fcb=this['_valueCache'][_0x5205cb],_0x218df6=_0x218df6['updateFlag'];return(void 0x0===_0x372fcb||_0x372fcb!==_0x218df6)&&(this[_0xa0eca4(0xa46)][_0x5205cb]=_0x218df6,!0x0);}[_0x37323e(0x46d)](_0x56730b,_0xcfba2d,_0x55c026){var _0x234a00=_0x37323e;let _0x476b9c=this[_0x234a00(0xa46)][_0x56730b];if(!_0x476b9c)return _0x476b9c=[_0xcfba2d,_0x55c026],this[_0x234a00(0xa46)][_0x56730b]=_0x476b9c,!0x0;let _0x194b58=!0x1;return _0x476b9c[0x0]!==_0xcfba2d&&(_0x476b9c[0x0]=_0xcfba2d,_0x194b58=!0x0),_0x476b9c[0x1]!==_0x55c026&&(_0x476b9c[0x1]=_0x55c026,_0x194b58=!0x0),_0x194b58;}[_0x37323e(0x4be)](_0x9fd219,_0x57a8b2,_0x35ea4d,_0x27cd65){var _0x48a148=_0x37323e;let _0x368df2=this[_0x48a148(0xa46)][_0x9fd219];if(!_0x368df2)return _0x368df2=[_0x57a8b2,_0x35ea4d,_0x27cd65],this[_0x48a148(0xa46)][_0x9fd219]=_0x368df2,!0x0;let _0x2f22a8=!0x1;return _0x368df2[0x0]!==_0x57a8b2&&(_0x368df2[0x0]=_0x57a8b2,_0x2f22a8=!0x0),_0x368df2[0x1]!==_0x35ea4d&&(_0x368df2[0x1]=_0x35ea4d,_0x2f22a8=!0x0),_0x368df2[0x2]!==_0x27cd65&&(_0x368df2[0x2]=_0x27cd65,_0x2f22a8=!0x0),_0x2f22a8;}[_0x37323e(0x826)](_0x5d4fd4,_0x2b604f,_0x5cc98d,_0x56181d,_0x141dd4){var _0x10722b=_0x37323e;let _0x1c3b8f=this[_0x10722b(0xa46)][_0x5d4fd4];if(!_0x1c3b8f)return _0x1c3b8f=[_0x2b604f,_0x5cc98d,_0x56181d,_0x141dd4],this[_0x10722b(0xa46)][_0x5d4fd4]=_0x1c3b8f,!0x0;let _0x1987e6=!0x1;return _0x1c3b8f[0x0]!==_0x2b604f&&(_0x1c3b8f[0x0]=_0x2b604f,_0x1987e6=!0x0),_0x1c3b8f[0x1]!==_0x5cc98d&&(_0x1c3b8f[0x1]=_0x5cc98d,_0x1987e6=!0x0),_0x1c3b8f[0x2]!==_0x56181d&&(_0x1c3b8f[0x2]=_0x56181d,_0x1987e6=!0x0),_0x1c3b8f[0x3]!==_0x141dd4&&(_0x1c3b8f[0x3]=_0x141dd4,_0x1987e6=!0x0),_0x1987e6;}['setInt'](_0x43b398,_0x4fd26e){var _0x24a84a=_0x37323e,_0x234252=this[_0x24a84a(0xa46)][_0x43b398];void 0x0!==_0x234252&&_0x234252===_0x4fd26e||this['_engine']['setInt'](this[_0x24a84a(0xd69)][_0x43b398],_0x4fd26e)&&(this[_0x24a84a(0xa46)][_0x43b398]=_0x4fd26e);}[_0x37323e(0x906)](_0x48bd18,_0x5896a5,_0x589383){var _0x2d96dd=_0x37323e;this[_0x2d96dd(0x46d)](_0x48bd18,_0x5896a5,_0x589383)&&!this[_0x2d96dd(0x8ba)][_0x2d96dd(0x906)](this[_0x2d96dd(0xd69)][_0x48bd18],_0x5896a5,_0x589383)&&(this[_0x2d96dd(0xa46)][_0x48bd18]=null);}['setInt3'](_0x1616e0,_0x1654b1,_0x2dc9e0,_0x23de68){var _0x4b5816=_0x37323e;this['_cacheFloat3'](_0x1616e0,_0x1654b1,_0x2dc9e0,_0x23de68)&&!this[_0x4b5816(0x8ba)][_0x4b5816(0x56d)](this[_0x4b5816(0xd69)][_0x1616e0],_0x1654b1,_0x2dc9e0,_0x23de68)&&(this[_0x4b5816(0xa46)][_0x1616e0]=null);}[_0x37323e(0xd0b)](_0x5224a4,_0xec92d7,_0x2bd9fd,_0x50565e,_0x1646c1){var _0x6fa181=_0x37323e;this[_0x6fa181(0x826)](_0x5224a4,_0xec92d7,_0x2bd9fd,_0x50565e,_0x1646c1)&&!this[_0x6fa181(0x8ba)][_0x6fa181(0xd0b)](this[_0x6fa181(0xd69)][_0x5224a4],_0xec92d7,_0x2bd9fd,_0x50565e,_0x1646c1)&&(this['_valueCache'][_0x5224a4]=null);}[_0x37323e(0x8b4)](_0x2128c7,_0x5345d9){var _0x3ca125=_0x37323e;this[_0x3ca125(0xa46)][_0x2128c7]=null,this[_0x3ca125(0x8ba)]['setIntArray'](this[_0x3ca125(0xd69)][_0x2128c7],_0x5345d9);}['setIntArray2'](_0x38940e,_0x3dad62){var _0x447ee5=_0x37323e;this[_0x447ee5(0xa46)][_0x38940e]=null,this[_0x447ee5(0x8ba)][_0x447ee5(0xaa2)](this[_0x447ee5(0xd69)][_0x38940e],_0x3dad62);}['setIntArray3'](_0x563e82,_0x3285ac){var _0x2a487f=_0x37323e;this[_0x2a487f(0xa46)][_0x563e82]=null,this['_engine'][_0x2a487f(0xceb)](this['_uniforms'][_0x563e82],_0x3285ac);}['setIntArray4'](_0x5c1de4,_0x587e08){var _0x2b3336=_0x37323e;this[_0x2b3336(0xa46)][_0x5c1de4]=null,this[_0x2b3336(0x8ba)][_0x2b3336(0x287)](this[_0x2b3336(0xd69)][_0x5c1de4],_0x587e08);}['setUInt'](_0x47b806,_0x71cd89){var _0x453175=_0x37323e,_0x3cfd8a=this[_0x453175(0xa46)][_0x47b806];void 0x0!==_0x3cfd8a&&_0x3cfd8a===_0x71cd89||this[_0x453175(0x8ba)][_0x453175(0x77f)](this[_0x453175(0xd69)][_0x47b806],_0x71cd89)&&(this['_valueCache'][_0x47b806]=_0x71cd89);}[_0x37323e(0x698)](_0x3c1163,_0x2432fa,_0x2bbf93){var _0x3ff0e5=_0x37323e;this[_0x3ff0e5(0x46d)](_0x3c1163,_0x2432fa,_0x2bbf93)&&!this[_0x3ff0e5(0x8ba)][_0x3ff0e5(0x698)](this[_0x3ff0e5(0xd69)][_0x3c1163],_0x2432fa,_0x2bbf93)&&(this[_0x3ff0e5(0xa46)][_0x3c1163]=null);}[_0x37323e(0x1c6)](_0xa73fee,_0xbd65f9,_0x39007c,_0x4b7dd0){var _0x4d44c6=_0x37323e;this[_0x4d44c6(0x4be)](_0xa73fee,_0xbd65f9,_0x39007c,_0x4b7dd0)&&!this['_engine']['setUInt3'](this[_0x4d44c6(0xd69)][_0xa73fee],_0xbd65f9,_0x39007c,_0x4b7dd0)&&(this[_0x4d44c6(0xa46)][_0xa73fee]=null);}['setUInt4'](_0x2fb8d7,_0x2fcc49,_0x1d9531,_0x44a20a,_0x30201d){var _0x546a49=_0x37323e;this[_0x546a49(0x826)](_0x2fb8d7,_0x2fcc49,_0x1d9531,_0x44a20a,_0x30201d)&&!this[_0x546a49(0x8ba)][_0x546a49(0x23d)](this[_0x546a49(0xd69)][_0x2fb8d7],_0x2fcc49,_0x1d9531,_0x44a20a,_0x30201d)&&(this[_0x546a49(0xa46)][_0x2fb8d7]=null);}['setUIntArray'](_0x4bea1b,_0x1ad262){var _0x267a90=_0x37323e;this[_0x267a90(0xa46)][_0x4bea1b]=null,this[_0x267a90(0x8ba)]['setUIntArray'](this[_0x267a90(0xd69)][_0x4bea1b],_0x1ad262);}['setUIntArray2'](_0x56c5a7,_0x1e7b0c){var _0x75e725=_0x37323e;this[_0x75e725(0xa46)][_0x56c5a7]=null,this['_engine'][_0x75e725(0xa41)](this['_uniforms'][_0x56c5a7],_0x1e7b0c);}['setUIntArray3'](_0x2939fd,_0x52c258){var _0x4cd8c2=_0x37323e;this[_0x4cd8c2(0xa46)][_0x2939fd]=null,this[_0x4cd8c2(0x8ba)][_0x4cd8c2(0x483)](this[_0x4cd8c2(0xd69)][_0x2939fd],_0x52c258);}[_0x37323e(0x1dc)](_0x14544f,_0x2b9583){var _0x404f59=_0x37323e;this[_0x404f59(0xa46)][_0x14544f]=null,this[_0x404f59(0x8ba)]['setUIntArray4'](this[_0x404f59(0xd69)][_0x14544f],_0x2b9583);}[_0x37323e(0x173)](_0x2a1b5b,_0x25e825){var _0x454054=_0x37323e;this[_0x454054(0xa46)][_0x2a1b5b]=null,this[_0x454054(0x8ba)]['setFloatArray'](this[_0x454054(0xd69)][_0x2a1b5b],_0x25e825);}[_0x37323e(0xa82)](_0x1b025f,_0x54167f){var _0x12c34e=_0x37323e;this[_0x12c34e(0xa46)][_0x1b025f]=null,this['_engine'][_0x12c34e(0xa82)](this[_0x12c34e(0xd69)][_0x1b025f],_0x54167f);}[_0x37323e(0xbec)](_0x3b8650,_0x4df8bb){var _0x234f29=_0x37323e;this[_0x234f29(0xa46)][_0x3b8650]=null,this[_0x234f29(0x8ba)]['setFloatArray3'](this[_0x234f29(0xd69)][_0x3b8650],_0x4df8bb);}['setFloatArray4'](_0x30c348,_0x5d66a7){var _0x5e5a32=_0x37323e;this['_valueCache'][_0x30c348]=null,this[_0x5e5a32(0x8ba)]['setFloatArray4'](this[_0x5e5a32(0xd69)][_0x30c348],_0x5d66a7);}[_0x37323e(0xa25)](_0x311706,_0x100548){var _0xf80a9e=_0x37323e;this['_valueCache'][_0x311706]=null,this[_0xf80a9e(0x8ba)][_0xf80a9e(0xa25)](this[_0xf80a9e(0xd69)][_0x311706],_0x100548);}[_0x37323e(0x744)](_0x1ed1de,_0x1b4321){var _0x102234=_0x37323e;this[_0x102234(0xa46)][_0x1ed1de]=null,this['_engine'][_0x102234(0x744)](this[_0x102234(0xd69)][_0x1ed1de],_0x1b4321);}[_0x37323e(0x9ce)](_0x145353,_0x29bc91){var _0x14b2ba=_0x37323e;this['_valueCache'][_0x145353]=null,this[_0x14b2ba(0x8ba)][_0x14b2ba(0x9ce)](this[_0x14b2ba(0xd69)][_0x145353],_0x29bc91);}[_0x37323e(0x646)](_0x33d630,_0x16b577){var _0x3f218e=_0x37323e;this[_0x3f218e(0xa46)][_0x33d630]=null,this['_engine'][_0x3f218e(0x646)](this[_0x3f218e(0xd69)][_0x33d630],_0x16b577);}[_0x37323e(0xc67)](_0xf64345,_0x1f4ea8){var _0x3d8f48=_0x37323e;_0x1f4ea8&&(this[_0x3d8f48(0xa46)][_0xf64345]=null,this['_engine'][_0x3d8f48(0xc67)](this[_0x3d8f48(0xd69)][_0xf64345],_0x1f4ea8));}[_0x37323e(0x20f)](_0x58db3c,_0x1534de){var _0x50758e=_0x37323e;this[_0x50758e(0x286)](_0x58db3c,_0x1534de)&&!this[_0x50758e(0x8ba)]['setMatrices'](this[_0x50758e(0xd69)][_0x58db3c],_0x1534de[_0x50758e(0x5ba)]())&&(this[_0x50758e(0xa46)][_0x58db3c]=null);}[_0x37323e(0x339)](_0x19d9a0,_0x3e7c1f){var _0x4e6efe=_0x37323e;this[_0x4e6efe(0xa46)][_0x19d9a0]=null,this[_0x4e6efe(0x8ba)][_0x4e6efe(0x339)](this[_0x4e6efe(0xd69)][_0x19d9a0],_0x3e7c1f);}['setMatrix2x2'](_0x2f2665,_0x12f663){var _0x4af4e0=_0x37323e;this[_0x4af4e0(0xa46)][_0x2f2665]=null,this['_engine']['setMatrix2x2'](this[_0x4af4e0(0xd69)][_0x2f2665],_0x12f663);}[_0x37323e(0x7cf)](_0x504bf4,_0x5e6b3d){var _0x44a7f8=_0x37323e,_0x31cf9e=this[_0x44a7f8(0xa46)][_0x504bf4];void 0x0!==_0x31cf9e&&_0x31cf9e===_0x5e6b3d||this['_engine'][_0x44a7f8(0x7cf)](this[_0x44a7f8(0xd69)][_0x504bf4],_0x5e6b3d)&&(this[_0x44a7f8(0xa46)][_0x504bf4]=_0x5e6b3d);}['setBool'](_0xa4f95a,_0x30b1bf){var _0xe47832=_0x37323e,_0x184197=this[_0xe47832(0xa46)][_0xa4f95a];void 0x0!==_0x184197&&_0x184197===_0x30b1bf||this['_engine']['setInt'](this[_0xe47832(0xd69)][_0xa4f95a],_0x30b1bf?0x1:0x0)&&(this['_valueCache'][_0xa4f95a]=_0x30b1bf?0x1:0x0);}[_0x37323e(0x6a2)](_0x13a924,_0x1dde0e){var _0x16f87d=_0x37323e;this[_0x16f87d(0x46d)](_0x13a924,_0x1dde0e['x'],_0x1dde0e['y'])&&!this[_0x16f87d(0x8ba)][_0x16f87d(0x351)](this[_0x16f87d(0xd69)][_0x13a924],_0x1dde0e['x'],_0x1dde0e['y'])&&(this[_0x16f87d(0xa46)][_0x13a924]=null);}[_0x37323e(0x351)](_0x47865b,_0x1b46e5,_0x59cfab){var _0x12768c=_0x37323e;this[_0x12768c(0x46d)](_0x47865b,_0x1b46e5,_0x59cfab)&&!this[_0x12768c(0x8ba)][_0x12768c(0x351)](this['_uniforms'][_0x47865b],_0x1b46e5,_0x59cfab)&&(this[_0x12768c(0xa46)][_0x47865b]=null);}['setVector3'](_0x37bf3f,_0x104c5d){var _0x44231f=_0x37323e;this[_0x44231f(0x4be)](_0x37bf3f,_0x104c5d['x'],_0x104c5d['y'],_0x104c5d['z'])&&!this['_engine'][_0x44231f(0x909)](this['_uniforms'][_0x37bf3f],_0x104c5d['x'],_0x104c5d['y'],_0x104c5d['z'])&&(this[_0x44231f(0xa46)][_0x37bf3f]=null);}[_0x37323e(0x909)](_0x43ec47,_0xe3fc4d,_0x5d2a93,_0x53aeae){var _0x277a04=_0x37323e;this['_cacheFloat3'](_0x43ec47,_0xe3fc4d,_0x5d2a93,_0x53aeae)&&!this['_engine'][_0x277a04(0x909)](this[_0x277a04(0xd69)][_0x43ec47],_0xe3fc4d,_0x5d2a93,_0x53aeae)&&(this[_0x277a04(0xa46)][_0x43ec47]=null);}[_0x37323e(0x25d)](_0x34d6ec,_0x38b528){var _0x4aee98=_0x37323e;this[_0x4aee98(0x826)](_0x34d6ec,_0x38b528['x'],_0x38b528['y'],_0x38b528['z'],_0x38b528['w'])&&!this[_0x4aee98(0x8ba)][_0x4aee98(0xd3f)](this['_uniforms'][_0x34d6ec],_0x38b528['x'],_0x38b528['y'],_0x38b528['z'],_0x38b528['w'])&&(this['_valueCache'][_0x34d6ec]=null);}[_0x37323e(0x449)](_0x48e30b,_0x5bc60a){var _0x46f912=_0x37323e;this[_0x46f912(0x826)](_0x48e30b,_0x5bc60a['x'],_0x5bc60a['y'],_0x5bc60a['z'],_0x5bc60a['w'])&&!this[_0x46f912(0x8ba)]['setFloat4'](this[_0x46f912(0xd69)][_0x48e30b],_0x5bc60a['x'],_0x5bc60a['y'],_0x5bc60a['z'],_0x5bc60a['w'])&&(this[_0x46f912(0xa46)][_0x48e30b]=null);}[_0x37323e(0xd3f)](_0x405e7e,_0xb9b8c4,_0x3f057c,_0x5b52ab,_0x1e789e){var _0x9c1412=_0x37323e;this['_cacheFloat4'](_0x405e7e,_0xb9b8c4,_0x3f057c,_0x5b52ab,_0x1e789e)&&!this[_0x9c1412(0x8ba)][_0x9c1412(0xd3f)](this['_uniforms'][_0x405e7e],_0xb9b8c4,_0x3f057c,_0x5b52ab,_0x1e789e)&&(this[_0x9c1412(0xa46)][_0x405e7e]=null);}['setColor3'](_0x381521,_0x163a61){var _0x4e0934=_0x37323e;this[_0x4e0934(0x4be)](_0x381521,_0x163a61['r'],_0x163a61['g'],_0x163a61['b'])&&!this[_0x4e0934(0x8ba)][_0x4e0934(0x909)](this[_0x4e0934(0xd69)][_0x381521],_0x163a61['r'],_0x163a61['g'],_0x163a61['b'])&&(this[_0x4e0934(0xa46)][_0x381521]=null);}[_0x37323e(0xa29)](_0x25dd36,_0x4cb7b8,_0x1ceb66){var _0x3c362b=_0x37323e;this[_0x3c362b(0x826)](_0x25dd36,_0x4cb7b8['r'],_0x4cb7b8['g'],_0x4cb7b8['b'],_0x1ceb66)&&!this['_engine'][_0x3c362b(0xd3f)](this['_uniforms'][_0x25dd36],_0x4cb7b8['r'],_0x4cb7b8['g'],_0x4cb7b8['b'],_0x1ceb66)&&(this[_0x3c362b(0xa46)][_0x25dd36]=null);}[_0x37323e(0x207)](_0x35ae42,_0x2a993c){var _0x599bc4=_0x37323e;this[_0x599bc4(0x826)](_0x35ae42,_0x2a993c['r'],_0x2a993c['g'],_0x2a993c['b'],_0x2a993c['a'])&&!this['_engine']['setFloat4'](this[_0x599bc4(0xd69)][_0x35ae42],_0x2a993c['r'],_0x2a993c['g'],_0x2a993c['b'],_0x2a993c['a'])&&(this['_valueCache'][_0x35ae42]=null);}}},0x3177:(_0x43cee1,_0x153e34,_0x30a061)=>{var _0x3123af=a7_0x51ebec;_0x30a061['d'](_0x153e34,{'o':()=>_0x1b41c8});class _0x1b41c8 extends _0x30a061(0x157cc)['r']{constructor(_0x1ff2e9,_0x4edc97,_0x159241,_0x17b13d){var _0x187dd1=a7_0x4956;super(_0x1ff2e9,_0x4edc97,_0x159241,_0x17b13d),this[_0x187dd1(0xb66)]=null,this['__framebufferDepthStencil']=null,this[_0x187dd1(0x8ba)]=_0x17b13d;}get[_0x3123af(0x2a7)](){return this['__framebuffer'];}set['_framebuffer'](_0xc3d9ae){var _0xfe8506=_0x3123af;this[_0xfe8506(0xb66)]&&this[_0xfe8506(0x8ba)][_0xfe8506(0x2c9)](this[_0xfe8506(0xb66)]),this[_0xfe8506(0xb66)]=_0xc3d9ae;}get['_framebufferDepthStencil'](){var _0x215f03=_0x3123af;return this[_0x215f03(0x290)];}set[_0x3123af(0x3fa)](_0x4b29c2){var _0x1073ec=_0x3123af;this['__framebufferDepthStencil']&&this[_0x1073ec(0x8ba)][_0x1073ec(0x2c9)](this[_0x1073ec(0x290)]),this[_0x1073ec(0x290)]=_0x4b29c2;}[_0x3123af(0x38b)](_0x207c26=!0x1){var _0xba1a46=_0x3123af;this[_0xba1a46(0x2a7)]=null,this[_0xba1a46(0x3fa)]=null,super[_0xba1a46(0x38b)](_0x207c26);}}},0xcd3c:(_0x32dfe9,_0x2b51f2,_0x439dd3)=>{var _0x401ad0=a7_0x51ebec;_0x439dd3['d'](_0x2b51f2,{'L':()=>_0x281ed7});class _0x46ab3c{constructor(){var _0x276e6b=a7_0x4956;this[_0x276e6b(0x3c9)]=[];}[_0x401ad0(0x74c)](_0x34753b){return!0x0;}['process'](_0x39ab0c,_0x36f55a){var _0x56ded4=_0x401ad0;let _0x328227='';if(this[_0x56ded4(0x1c1)]){let _0x458cb5=this[_0x56ded4(0x1c1)];const _0x3679c7=_0x36f55a[_0x56ded4(0x859)];if(_0x3679c7){_0x3679c7[_0x56ded4(0x65f)]&&(_0x458cb5=_0x3679c7[_0x56ded4(0x65f)](_0x458cb5,_0x36f55a[_0x56ded4(0xcaa)],_0x36f55a[_0x56ded4(0x51b)]));var _0x3a5274=null!=(_0x3a5274=null==(_0x3a5274=_0x36f55a[_0x56ded4(0x859)])?void 0x0:_0x3a5274[_0x56ded4(0x1d0)])?_0x3a5274:_0x56ded4(0x455),_0xc39366=_0x36f55a['isFragment']&&null!=(_0xc39366=_0x36f55a['processor'])&&_0xc39366['varyingFragmentKeywordName']?null==(_0xc39366=_0x36f55a[_0x56ded4(0x859)])?void 0x0:_0xc39366[_0x56ded4(0x176)]:!_0x36f55a[_0x56ded4(0xcaa)]&&null!=(_0xc39366=_0x36f55a[_0x56ded4(0x859)])&&_0xc39366[_0x56ded4(0x5a4)]?null==(_0xc39366=_0x36f55a['processor'])?void 0x0:_0xc39366[_0x56ded4(0x5a4)]:'varying';if(!_0x36f55a[_0x56ded4(0xcaa)]&&_0x3679c7[_0x56ded4(0x69a)]&&this[_0x56ded4(0x1c1)][_0x56ded4(0x84b)](_0x3a5274))_0x458cb5=_0x3679c7[_0x56ded4(0x69a)](this['line'],_0x39ab0c,_0x36f55a[_0x56ded4(0x51b)]);else{if(_0x3679c7[_0x56ded4(0x74a)]&&this[_0x56ded4(0x1c1)][_0x56ded4(0x84b)](_0xc39366))_0x458cb5=_0x3679c7[_0x56ded4(0x74a)](this[_0x56ded4(0x1c1)],_0x36f55a[_0x56ded4(0xcaa)],_0x39ab0c,_0x36f55a[_0x56ded4(0x51b)]);else{if(_0x3679c7['uniformProcessor']&&_0x3679c7[_0x56ded4(0xbd6)]&&_0x3679c7[_0x56ded4(0xbd6)][_0x56ded4(0x37a)](this[_0x56ded4(0x1c1)]))_0x36f55a[_0x56ded4(0x971)]||(_0x458cb5=_0x3679c7[_0x56ded4(0x737)](this[_0x56ded4(0x1c1)],_0x36f55a[_0x56ded4(0xcaa)],_0x39ab0c,_0x36f55a[_0x56ded4(0x51b)]));else{if(_0x3679c7[_0x56ded4(0xadd)]&&_0x3679c7[_0x56ded4(0x433)]&&_0x3679c7[_0x56ded4(0x433)][_0x56ded4(0x37a)](this[_0x56ded4(0x1c1)]))_0x36f55a[_0x56ded4(0x971)]||(_0x458cb5=_0x3679c7['uniformBufferProcessor'](this[_0x56ded4(0x1c1)],_0x36f55a['isFragment'],_0x36f55a[_0x56ded4(0x51b)]),_0x36f55a[_0x56ded4(0x971)]=!0x0);else{if(_0x3679c7[_0x56ded4(0x3e9)]&&_0x3679c7[_0x56ded4(0x708)]&&_0x3679c7[_0x56ded4(0x708)][_0x56ded4(0x37a)](this[_0x56ded4(0x1c1)]))_0x458cb5=_0x3679c7['textureProcessor'](this[_0x56ded4(0x1c1)],_0x36f55a[_0x56ded4(0xcaa)],_0x39ab0c,_0x36f55a[_0x56ded4(0x51b)]);else{if((_0x3679c7['uniformProcessor']||_0x3679c7[_0x56ded4(0xadd)])&&this[_0x56ded4(0x1c1)][_0x56ded4(0x84b)](_0x56ded4(0xbca))&&!_0x36f55a[_0x56ded4(0x971)]){const _0x3173d9=/uniform\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s+(\S+)\s*;/;_0x3173d9['test'](this[_0x56ded4(0x1c1)])?_0x3679c7['uniformProcessor']&&(_0x458cb5=_0x3679c7['uniformProcessor'](this[_0x56ded4(0x1c1)],_0x36f55a[_0x56ded4(0xcaa)],_0x39ab0c,_0x36f55a[_0x56ded4(0x51b)])):_0x3679c7[_0x56ded4(0xadd)]&&(_0x458cb5=_0x3679c7[_0x56ded4(0xadd)](this[_0x56ded4(0x1c1)],_0x36f55a[_0x56ded4(0xcaa)],_0x36f55a[_0x56ded4(0x51b)]),_0x36f55a[_0x56ded4(0x971)]=!0x0);}}}}}}_0x36f55a[_0x56ded4(0x971)]&&-0x1!==this[_0x56ded4(0x1c1)][_0x56ded4(0xaa4)]('}')&&(_0x36f55a[_0x56ded4(0x971)]=!0x1,_0x3679c7[_0x56ded4(0x63f)]&&(_0x458cb5=_0x3679c7[_0x56ded4(0x63f)](this[_0x56ded4(0x1c1)],_0x36f55a[_0x56ded4(0xcaa)],_0x36f55a[_0x56ded4(0x51b)])));}_0x328227+=_0x458cb5+'\x0d\x0a';}return this['children'][_0x56ded4(0x544)](_0x20f079=>{var _0x3f2892=_0x56ded4;_0x328227+=_0x20f079[_0x3f2892(0x949)](_0x39ab0c,_0x36f55a);}),this[_0x56ded4(0x56f)]&&(_0x39ab0c[this['additionalDefineKey']]=this[_0x56ded4(0xd5b)]||_0x56ded4(0x7c8)),_0x328227;}}class _0x7a99b9{constructor(){var _0x1c743b=_0x401ad0;this[_0x1c743b(0xbdf)]=[];}get[_0x401ad0(0x164)](){var _0x4ff567=_0x401ad0;return this[_0x4ff567(0xbdf)][this[_0x4ff567(0x428)]];}get[_0x401ad0(0xb03)](){var _0x18528d=_0x401ad0;return this[_0x18528d(0x428)]<this[_0x18528d(0xbdf)][_0x18528d(0x9ff)]-0x1;}set['lines'](_0x3dfc67){var _0x28a12d=_0x401ad0;this[_0x28a12d(0xbdf)][_0x28a12d(0x9ff)]=0x0;for(const _0x16195a of _0x3dfc67)if('#'===_0x16195a[0x0])this[_0x28a12d(0xbdf)][_0x28a12d(0x2f7)](_0x16195a);else{if(_0x16195a['trim']()['startsWith']('//'))this[_0x28a12d(0xbdf)][_0x28a12d(0x2f7)](_0x16195a);else{var _0x5582aa=_0x16195a[_0x28a12d(0xac5)](';');for(let _0x416c00=0x0;_0x416c00<_0x5582aa[_0x28a12d(0x9ff)];_0x416c00++){let _0x41996a=_0x5582aa[_0x416c00];(_0x41996a=_0x41996a[_0x28a12d(0x725)]())&&this[_0x28a12d(0xbdf)]['push'](_0x41996a+(_0x416c00!==_0x5582aa[_0x28a12d(0x9ff)]-0x1?';':''));}}}}}class _0x43bc03 extends _0x46ab3c{[_0x401ad0(0x949)](_0x15092e,_0xa92109){var _0x270e00=_0x401ad0;for(let _0x270ee9=0x0;_0x270ee9<this['children'][_0x270e00(0x9ff)];_0x270ee9++){const _0xd69274=this[_0x270e00(0x3c9)][_0x270ee9];if(_0xd69274[_0x270e00(0x74c)](_0x15092e))return _0xd69274[_0x270e00(0x949)](_0x15092e,_0xa92109);}return'';}}class _0x1c9029 extends _0x46ab3c{['isValid'](_0x3e4525){var _0x4676ed=_0x401ad0;return this[_0x4676ed(0x99a)][_0x4676ed(0x5f3)](_0x3e4525);}}class _0x2a47c9{[_0x401ad0(0x5f3)](_0x40c743){return!0x0;}static[_0x401ad0(0xd36)](_0xaacbb0){var _0x199906=_0x401ad0;const _0x1ecbf4=[];for(const _0x5e3ad4 of _0xaacbb0){var _0xa82312,_0x54c472;void 0x0===_0x2a47c9[_0x199906(0xa19)][_0x5e3ad4]?_0x1ecbf4[_0x199906(0x2f7)](_0x5e3ad4):(_0xa82312=_0x1ecbf4[_0x1ecbf4[_0x199906(0x9ff)]-0x1],_0x54c472=_0x1ecbf4[_0x1ecbf4['length']-0x2],_0x1ecbf4['length']-=0x2,_0x1ecbf4[_0x199906(0x2f7)]('('+_0x54c472+_0x5e3ad4+_0xa82312+')'));}return _0x1ecbf4[_0x1ecbf4[_0x199906(0x9ff)]-0x1];}static['infixToPostfix'](_0x49d9af){var _0x40f454=_0x401ad0;const _0x1935de=[];let _0x41ef80=-0x1;var _0x19d199=()=>{var _0x30826a=a7_0x4956;''!==(_0x4e6cfc=_0x4e6cfc[_0x30826a(0x725)]())&&(_0x1935de[_0x30826a(0x2f7)](_0x4e6cfc),_0x4e6cfc='');},_0x57c467=_0x35b0ef=>{var _0x26d6dc=a7_0x4956;_0x41ef80<_0x2a47c9[_0x26d6dc(0x41a)][_0x26d6dc(0x9ff)]-0x1&&(_0x2a47c9[_0x26d6dc(0x41a)][++_0x41ef80]=_0x35b0ef);},_0x534e08=()=>_0x2a47c9['_Stack'][_0x41ef80],_0x4598bb=()=>-0x1===_0x41ef80?_0x40f454(0x7d4):_0x2a47c9[_0x40f454(0x41a)][_0x41ef80--];let _0x181602=0x0,_0x4e6cfc='';for(;_0x181602<_0x49d9af[_0x40f454(0x9ff)];){var _0x33195e=_0x49d9af['charAt'](_0x181602),_0x1597c9=_0x181602<_0x49d9af[_0x40f454(0x9ff)]-0x1?_0x49d9af['substr'](_0x181602,0x2):'';if('('===_0x33195e)_0x4e6cfc='',_0x57c467(_0x33195e);else{if(')'===_0x33195e){for(_0x19d199();-0x1!==_0x41ef80&&'('!==_0x534e08();)_0x1935de[_0x40f454(0x2f7)](_0x4598bb());_0x4598bb();}else{if(0x1<_0x2a47c9[_0x40f454(0xa19)][_0x1597c9]){for(_0x19d199();-0x1!==_0x41ef80&&_0x2a47c9['_OperatorPriority'][_0x534e08()]>=_0x2a47c9[_0x40f454(0xa19)][_0x1597c9];)_0x1935de[_0x40f454(0x2f7)](_0x4598bb());_0x57c467(_0x1597c9),_0x181602++;}else _0x4e6cfc+=_0x33195e;}}_0x181602++;}for(_0x19d199();-0x1!==_0x41ef80;)'('===_0x534e08()?_0x4598bb():_0x1935de['push'](_0x4598bb());return _0x1935de;}}_0x2a47c9[_0x401ad0(0xa19)]={')':0x0,'(':0x1,'||':0x2,'&&':0x3},_0x2a47c9['_Stack']=['','','','','','','','','','','','','','','','','','','',''];class _0x107c32 extends _0x2a47c9{constructor(_0x510905,_0x421d3f=!0x1){var _0x2eee90=_0x401ad0;super(),this['define']=_0x510905,this[_0x2eee90(0x206)]=_0x421d3f;}[_0x401ad0(0x5f3)](_0x41bb3f){var _0x18737a=_0x401ad0;let _0x32b3bd=void 0x0!==_0x41bb3f[this[_0x18737a(0x2fd)]];return _0x32b3bd=this['not']?!_0x32b3bd:_0x32b3bd;}}class _0x15a0d2 extends _0x2a47c9{[_0x401ad0(0x5f3)](_0x3fc985){var _0x5bb7cd=_0x401ad0;return this[_0x5bb7cd(0x9d4)][_0x5bb7cd(0x5f3)](_0x3fc985)||this['rightOperand'][_0x5bb7cd(0x5f3)](_0x3fc985);}}class _0x311e21 extends _0x2a47c9{['isTrue'](_0x499fde){var _0x59c596=_0x401ad0;return this['leftOperand']['isTrue'](_0x499fde)&&this[_0x59c596(0x8c6)][_0x59c596(0x5f3)](_0x499fde);}}class _0x3772e3 extends _0x2a47c9{constructor(_0x824f84,_0x3e6f01,_0x247b6f){var _0x2ef25c=_0x401ad0;super(),this[_0x2ef25c(0x2fd)]=_0x824f84,this['operand']=_0x3e6f01,this[_0x2ef25c(0x203)]=_0x247b6f;}[_0x401ad0(0x5f3)](_0x33b967){var _0x370b04=_0x401ad0;let _0x4a81a4=_0x33b967[this[_0x370b04(0x2fd)]],_0x3d7084=(void 0x0===_0x4a81a4&&(_0x4a81a4=this[_0x370b04(0x2fd)]),!0x1);var _0x5accde=parseInt(_0x4a81a4),_0x4f35a1=parseInt(this[_0x370b04(0x203)]);switch(this[_0x370b04(0x4e0)]){case'>':_0x3d7084=_0x4f35a1<_0x5accde;break;case'<':_0x3d7084=_0x5accde<_0x4f35a1;break;case'<=':_0x3d7084=_0x5accde<=_0x4f35a1;break;case'>=':_0x3d7084=_0x4f35a1<=_0x5accde;break;case'==':_0x3d7084=_0x5accde===_0x4f35a1;}return _0x3d7084;}}var _0x30ee19=_0x439dd3(0x8baf),_0x42ffd6=_0x439dd3(0x12658);const _0x2da22b=/defined\s*?\((.+?)\)/g,_0x378eb1=/defined\s*?\[(.+?)\]/g,_0x4ac231=/#include\s?<(.+)>(\((.*)\))*(\[(.*)\])*/g;class _0x281ed7{static[_0x401ad0(0x5ce)](_0x4f5bfe){var _0x4525f8=_0x401ad0;_0x4f5bfe[_0x4525f8(0x859)]&&_0x4f5bfe[_0x4525f8(0x859)]['initializeShaders']&&_0x4f5bfe[_0x4525f8(0x859)]['initializeShaders'](_0x4f5bfe[_0x4525f8(0x51b)]);}static['Process'](_0x25ad71,_0x34264e,_0x3381ba,_0x5f704){var _0x2d1ed6=_0x401ad0,_0x567a37;null!=(_0x567a37=_0x34264e[_0x2d1ed6(0x859)])&&_0x567a37['preProcessShaderCode']&&(_0x25ad71=_0x34264e['processor']['preProcessShaderCode'](_0x25ad71,_0x34264e[_0x2d1ed6(0xcaa)])),this[_0x2d1ed6(0x251)](_0x25ad71,_0x34264e,_0x30cf14=>{var _0xca5103=_0x2d1ed6;_0x34264e[_0xca5103(0x412)]&&(_0x30cf14=_0x34264e[_0xca5103(0x412)](_0x34264e[_0xca5103(0xcaa)]?_0xca5103(0x5d4):_0xca5103(0x487),_0x30cf14));var _0xafd746=this['_ProcessShaderConversion'](_0x30cf14,_0x34264e,_0x5f704);_0x3381ba(_0xafd746,_0x30cf14);});}static[_0x401ad0(0x751)](_0x450dc9,_0x5373a8,_0x3f4cab,_0x1d9265){var _0x2ba5c5=_0x401ad0,_0x43e0c8;null!=(_0x43e0c8=_0x5373a8[_0x2ba5c5(0x859)])&&_0x43e0c8[_0x2ba5c5(0x6f6)]&&(_0x450dc9=_0x5373a8[_0x2ba5c5(0x859)][_0x2ba5c5(0x6f6)](_0x450dc9,_0x5373a8[_0x2ba5c5(0xcaa)])),this[_0x2ba5c5(0x251)](_0x450dc9,_0x5373a8,_0x2d4e96=>{var _0x24fe65=_0x2ba5c5;_0x5373a8[_0x24fe65(0x412)]&&(_0x2d4e96=_0x5373a8['processCodeAfterIncludes'](_0x5373a8[_0x24fe65(0xcaa)]?_0x24fe65(0x5d4):_0x24fe65(0x487),_0x2d4e96));var _0x4ba1d2=this['_ApplyPreProcessing'](_0x2d4e96,_0x5373a8,_0x1d9265);_0x3f4cab(_0x4ba1d2,_0x2d4e96);});}static[_0x401ad0(0x2ee)](_0x4c562d,_0x4a3ede,_0x560b01){var _0x1a4497=_0x401ad0;return _0x560b01['processor']&&_0x560b01[_0x1a4497(0x859)][_0x1a4497(0xa2c)]?_0x560b01[_0x1a4497(0x859)][_0x1a4497(0xa2c)](_0x4c562d,_0x4a3ede,_0x560b01[_0x1a4497(0x51b)]):{'vertexCode':_0x4c562d,'fragmentCode':_0x4a3ede};}static[_0x401ad0(0x2b5)](_0x5dfd16,_0x38e5aa){var _0x8fc45a=_0x401ad0;if(null!=(_0xf24802=_0x38e5aa[_0x8fc45a(0x859)])&&_0xf24802[_0x8fc45a(0x4dc)])return _0x5dfd16;var _0xf24802=_0x38e5aa['shouldUseHighPrecisionShader'];return-0x1===_0x5dfd16[_0x8fc45a(0xaa4)](_0x8fc45a(0xae6))?_0x5dfd16=_0xf24802?_0x8fc45a(0x670)+_0x5dfd16:'precision\x20mediump\x20float;\x0a'+_0x5dfd16:_0xf24802||(_0x5dfd16=_0x5dfd16['replace'](_0x8fc45a(0xae6),_0x8fc45a(0xbba))),_0x5dfd16;}static[_0x401ad0(0xbe6)](_0x3fb584){var _0xc27bc8=_0x401ad0;const _0x54a96c=/defined\((.+)\)/[_0xc27bc8(0xb80)](_0x3fb584);if(_0x54a96c&&_0x54a96c[_0xc27bc8(0x9ff)])return new _0x107c32(_0x54a96c[0x1]['trim'](),'!'===_0x3fb584[0x0]);let _0x466e05='',_0x577ac4=0x0;for(_0x466e05 of['==','>=','<=','<','>'])if(-0x1<(_0x577ac4=_0x3fb584[_0xc27bc8(0xaa4)](_0x466e05)))break;if(-0x1===_0x577ac4)return new _0x107c32(_0x3fb584);var _0x21df1d=_0x3fb584[_0xc27bc8(0x41c)](0x0,_0x577ac4)[_0xc27bc8(0x725)](),_0x2a48de=_0x3fb584[_0xc27bc8(0x41c)](_0x577ac4+_0x466e05[_0xc27bc8(0x9ff)])[_0xc27bc8(0x725)]();return new _0x3772e3(_0x21df1d,_0x466e05,_0x2a48de);}static[_0x401ad0(0x2e4)](_0x5256df){var _0x535df1=_0x401ad0;_0x5256df=_0x5256df[_0x535df1(0xa2d)](_0x2da22b,'defined[$1]');const _0x49c517=[];for(const _0x3a6f22 of _0x2a47c9['infixToPostfix'](_0x5256df))if('||'!==_0x3a6f22&&'&&'!==_0x3a6f22)_0x49c517['push'](_0x3a6f22);else{if(0x2<=_0x49c517[_0x535df1(0x9ff)]){let _0x57b023=_0x49c517[_0x49c517['length']-0x1],_0x376242=_0x49c517[_0x49c517[_0x535df1(0x9ff)]-0x2];_0x49c517[_0x535df1(0x9ff)]-=0x2;const _0x11d014=new('&&'==_0x3a6f22?_0x311e21:_0x15a0d2)();'string'==typeof _0x57b023&&(_0x57b023=_0x57b023[_0x535df1(0xa2d)](_0x378eb1,_0x535df1(0x3cb))),'string'==typeof _0x376242&&(_0x376242=_0x376242[_0x535df1(0xa2d)](_0x378eb1,_0x535df1(0x3cb))),_0x11d014[_0x535df1(0x9d4)]=_0x535df1(0xa73)==typeof _0x376242?this[_0x535df1(0xbe6)](_0x376242):_0x376242,_0x11d014[_0x535df1(0x8c6)]=_0x535df1(0xa73)==typeof _0x57b023?this['_ExtractOperation'](_0x57b023):_0x57b023,_0x49c517[_0x535df1(0x2f7)](_0x11d014);}}let _0x2101cf=_0x49c517[_0x49c517[_0x535df1(0x9ff)]-0x1];return _0x535df1(0xa73)==typeof(_0x2101cf=_0x535df1(0xa73)==typeof _0x2101cf?_0x2101cf[_0x535df1(0xa2d)](_0x378eb1,'defined($1)'):_0x2101cf)?this[_0x535df1(0xbe6)](_0x2101cf):_0x2101cf;}static[_0x401ad0(0xd3c)](_0x8a7564,_0x1f35ad){var _0x39cac9=_0x401ad0;const _0x3f5ce7=new _0x1c9029();var _0x1895c1=_0x8a7564[_0x39cac9(0x41c)](0x0,_0x1f35ad);let _0x194c46=_0x8a7564[_0x39cac9(0x41c)](_0x1f35ad);return _0x194c46=_0x194c46['substring'](0x0,(_0x194c46[_0x39cac9(0xaa4)]('//')+0x1||_0x194c46[_0x39cac9(0x9ff)]+0x1)-0x1)[_0x39cac9(0x725)](),_0x3f5ce7['testExpression']=_0x39cac9(0xc04)===_0x1895c1?new _0x107c32(_0x194c46):_0x39cac9(0xd52)===_0x1895c1?new _0x107c32(_0x194c46,!0x0):this[_0x39cac9(0x2e4)](_0x194c46),_0x3f5ce7;}static[_0x401ad0(0x825)](_0x266a7d,_0x59f11a,_0x2c6e9e){var _0x7e5bfd=_0x401ad0;let _0x4d07ea=_0x266a7d[_0x7e5bfd(0x164)];for(;this[_0x7e5bfd(0x2b7)](_0x266a7d,_0x2c6e9e);){var _0x178ed7,_0x580370=(_0x4d07ea=_0x266a7d[_0x7e5bfd(0x164)])[_0x7e5bfd(0x41c)](0x0,0x5)[_0x7e5bfd(0x814)]();if(_0x7e5bfd(0xd05)===_0x580370)return _0x178ed7=new _0x46ab3c(),_0x59f11a[_0x7e5bfd(0x3c9)][_0x7e5bfd(0x2f7)](_0x178ed7),void this['_MoveCursor'](_0x266a7d,_0x178ed7);_0x7e5bfd(0x3f9)===_0x580370&&(_0x178ed7=this[_0x7e5bfd(0xd3c)](_0x4d07ea,0x5),_0x59f11a[_0x7e5bfd(0x3c9)]['push'](_0x178ed7),_0x2c6e9e=_0x178ed7);}}static[_0x401ad0(0x2b7)](_0x49ed6d,_0x295823){var _0x11b9aa=_0x401ad0;for(;_0x49ed6d[_0x11b9aa(0xb03)];){_0x49ed6d[_0x11b9aa(0x428)]++;const _0x124df1=_0x49ed6d[_0x11b9aa(0x164)],_0x2443b7=/(#ifdef)|(#else)|(#elif)|(#endif)|(#ifndef)|(#if)/;var _0x468eeb=_0x2443b7[_0x11b9aa(0xb80)](_0x124df1);if(_0x468eeb&&_0x468eeb[_0x11b9aa(0x9ff)])switch(_0x468eeb[0x0]){case _0x11b9aa(0xc04):{const _0xa3aa9c=new _0x43bc03();_0x295823['children'][_0x11b9aa(0x2f7)](_0xa3aa9c);var _0x34a126=this[_0x11b9aa(0xd3c)](_0x124df1,0x6);_0xa3aa9c[_0x11b9aa(0x3c9)][_0x11b9aa(0x2f7)](_0x34a126),this[_0x11b9aa(0x825)](_0x49ed6d,_0xa3aa9c,_0x34a126);break;}case _0x11b9aa(0xd05):case _0x11b9aa(0x3f9):return!0x0;case _0x11b9aa(0x6e7):return!0x1;case _0x11b9aa(0xd52):{const _0x2950dd=new _0x43bc03();_0x295823[_0x11b9aa(0x3c9)][_0x11b9aa(0x2f7)](_0x2950dd),_0x34a126=this['_BuildExpression'](_0x124df1,0x7),(_0x2950dd[_0x11b9aa(0x3c9)]['push'](_0x34a126),this[_0x11b9aa(0x825)](_0x49ed6d,_0x2950dd,_0x34a126));break;}case _0x11b9aa(0x656):{const _0x2ebbad=new _0x43bc03();var _0xe7f7c8=this[_0x11b9aa(0xd3c)](_0x124df1,0x3);_0x295823[_0x11b9aa(0x3c9)][_0x11b9aa(0x2f7)](_0x2ebbad),_0x2ebbad[_0x11b9aa(0x3c9)][_0x11b9aa(0x2f7)](_0xe7f7c8),this[_0x11b9aa(0x825)](_0x49ed6d,_0x2ebbad,_0xe7f7c8);break;}}else{const _0x225d1b=new _0x46ab3c();_0x225d1b[_0x11b9aa(0x1c1)]=_0x124df1,_0x295823[_0x11b9aa(0x3c9)]['push'](_0x225d1b),'#'===_0x124df1[0x0]&&'d'===_0x124df1[0x1]&&(_0x468eeb=_0x124df1[_0x11b9aa(0xa2d)](';','')[_0x11b9aa(0xac5)]('\x20'),_0x225d1b[_0x11b9aa(0x56f)]=_0x468eeb[0x1],0x3===_0x468eeb[_0x11b9aa(0x9ff)]&&(_0x225d1b['additionalDefineValue']=_0x468eeb[0x2]));}}return!0x1;}static['_EvaluatePreProcessors'](_0x58f1c1,_0x51ed21,_0x6cd4e4){var _0x3dec02=_0x401ad0;const _0x2a2e3d=new _0x46ab3c(),_0x1afdd1=new _0x7a99b9();return _0x1afdd1['lineIndex']=-0x1,_0x1afdd1[_0x3dec02(0xc3b)]=_0x58f1c1[_0x3dec02(0xac5)]('\x0a'),this[_0x3dec02(0x2b7)](_0x1afdd1,_0x2a2e3d),_0x2a2e3d[_0x3dec02(0x949)](_0x51ed21,_0x6cd4e4);}static[_0x401ad0(0xc80)](_0x21d669,_0x405196){var _0x5a48ac=_0x401ad0,_0x44221e;const _0x988fc={};for(const _0x39c5c8 of _0x21d669['defines']){const _0x53900b=_0x39c5c8[_0x5a48ac(0xa2d)]('#define','')[_0x5a48ac(0xa2d)](';','')[_0x5a48ac(0x725)]();var _0xb55b85=_0x53900b['split']('\x20');_0x988fc[_0xb55b85[0x0]]=0x1<_0xb55b85['length']?_0xb55b85[0x1]:'';}return(null==(_0x44221e=_0x21d669[_0x5a48ac(0x859)])?void 0x0:_0x44221e['shaderLanguage'])===_0x42ffd6['x'][_0x5a48ac(0x2f1)]&&(_0x988fc[_0x5a48ac(0x8d0)]='true'),_0x988fc[_0x5a48ac(0x417)]=_0x21d669[_0x5a48ac(0xced)],_0x988fc[_0x21d669[_0x5a48ac(0x344)]]='true',_0x405196[_0x5a48ac(0xa43)](_0x988fc),_0x988fc;}static['_ProcessShaderConversion'](_0x1398a2,_0x41c6e6,_0x5894bf){var _0x1d4238=_0x401ad0;let _0x3141c4=this[_0x1d4238(0x2b5)](_0x1398a2,_0x41c6e6);if(!_0x41c6e6['processor'])return _0x3141c4;if(_0x41c6e6[_0x1d4238(0x859)][_0x1d4238(0x279)]===_0x42ffd6['x']['GLSL']&&-0x1!==_0x3141c4[_0x1d4238(0xaa4)](_0x1d4238(0x1f8))&&(_0x3141c4=_0x3141c4[_0x1d4238(0xa2d)](_0x1d4238(0x94c),''),!_0x41c6e6[_0x1d4238(0x859)][_0x1d4238(0x2ba)]))return _0x3141c4;var _0x1398a2=_0x41c6e6[_0x1d4238(0x635)],_0x1579d5=this[_0x1d4238(0xc80)](_0x41c6e6,_0x5894bf);return _0x41c6e6[_0x1d4238(0x859)][_0x1d4238(0x231)]&&(_0x3141c4=_0x41c6e6[_0x1d4238(0x859)][_0x1d4238(0x231)](_0x3141c4,_0x1398a2,_0x41c6e6['isFragment'],_0x41c6e6['processingContext'])),_0x3141c4=this[_0x1d4238(0x4fe)](_0x3141c4,_0x1579d5,_0x41c6e6),_0x41c6e6[_0x1d4238(0x859)]['postProcessor']&&(_0x3141c4=_0x41c6e6[_0x1d4238(0x859)][_0x1d4238(0x2b9)](_0x3141c4,_0x1398a2,_0x41c6e6[_0x1d4238(0xcaa)],_0x41c6e6[_0x1d4238(0x51b)],_0x5894bf)),_0x3141c4=_0x5894bf[_0x1d4238(0x356)][_0x1d4238(0xb1c)]?_0x5894bf[_0x1d4238(0x81f)](_0x3141c4):_0x3141c4;}static[_0x401ad0(0x3f3)](_0x4666ca,_0x852972,_0x88b040){var _0x54167d=_0x401ad0,_0x30a9fe;let _0x404751=_0x4666ca;var _0x4666ca=_0x852972[_0x54167d(0x635)],_0xbe40de=this[_0x54167d(0xc80)](_0x852972,_0x88b040);return null!=(_0x30a9fe=_0x852972['processor'])&&_0x30a9fe['preProcessor']&&(_0x404751=_0x852972[_0x54167d(0x859)]['preProcessor'](_0x404751,_0x4666ca,_0x852972['isFragment'],_0x852972['processingContext'])),_0x404751=this[_0x54167d(0x4fe)](_0x404751,_0xbe40de,_0x852972),null!=(_0x30a9fe=_0x852972['processor'])&&_0x30a9fe['postProcessor']&&(_0x404751=_0x852972['processor']['postProcessor'](_0x404751,_0x4666ca,_0x852972['isFragment'],_0x852972[_0x54167d(0x51b)],_0x88b040)),_0x404751=_0x88b040['_features'][_0x54167d(0xb1c)]?_0x88b040[_0x54167d(0x81f)](_0x404751):_0x404751;}static[_0x401ad0(0x251)](_0x1c9cb0,_0x1bb099,_0x50510e){var _0x1a0613=_0x401ad0;let _0x22b042=_0x4ac231[_0x1a0613(0xb80)](_0x1c9cb0),_0x42dad4=new String(_0x1c9cb0),_0x22d7a4=!0x1;for(;null!=_0x22b042;){let _0x44f67e=_0x22b042[0x1];if(-0x1!==_0x44f67e[_0x1a0613(0xaa4)](_0x1a0613(0xb5a))&&(_0x44f67e=_0x44f67e[_0x1a0613(0xa2d)](/__decl__/,''),_0x1bb099[_0x1a0613(0x41f)]&&(_0x44f67e=(_0x44f67e=_0x44f67e[_0x1a0613(0xa2d)](/Vertex/,_0x1a0613(0x285)))['replace'](/Fragment/,'Ubo')),_0x44f67e+=_0x1a0613(0x1dd)),!_0x1bb099[_0x1a0613(0x902)][_0x44f67e])return _0x18aeb7=_0x1bb099[_0x1a0613(0xbdb)]+'ShadersInclude/'+_0x44f67e+'.fx',void _0x281ed7[_0x1a0613(0x89d)](_0x18aeb7,_0x375d9d=>{var _0x1f5fb1=_0x1a0613;_0x1bb099[_0x1f5fb1(0x902)][_0x44f67e]=_0x375d9d,this[_0x1f5fb1(0x251)](_0x42dad4,_0x1bb099,_0x50510e);});{let _0x3f681b=_0x1bb099[_0x1a0613(0x902)][_0x44f67e];if(_0x22b042[0x2]){var _0x52919b=_0x22b042[0x3]['split'](',');for(let _0x50acf2=0x0;_0x50acf2<_0x52919b[_0x1a0613(0x9ff)];_0x50acf2+=0x2){var _0x31ee72=new RegExp(_0x52919b[_0x50acf2],'g'),_0x6c558d=_0x52919b[_0x50acf2+0x1];_0x3f681b=_0x3f681b[_0x1a0613(0xa2d)](_0x31ee72,_0x6c558d);}}if(_0x22b042[0x4]){const _0x1af8b0=_0x22b042[0x5];if(-0x1!==_0x1af8b0['indexOf']('..')){var _0x18aeb7=_0x1af8b0[_0x1a0613(0xac5)]('..'),_0x421845=parseInt(_0x18aeb7[0x0]);let _0x42fa66=parseInt(_0x18aeb7[0x1]),_0x108b6a=_0x3f681b[_0x1a0613(0xbde)](0x0);_0x3f681b='',isNaN(_0x42fa66)&&(_0x42fa66=_0x1bb099[_0x1a0613(0x216)][_0x18aeb7[0x1]]);for(let _0x1127fa=_0x421845;_0x1127fa<_0x42fa66;_0x1127fa++)_0x1bb099[_0x1a0613(0x41f)]||(_0x108b6a=_0x108b6a[_0x1a0613(0xa2d)](/light\{X\}.(\w*)/g,(_0x3e01b9,_0x49662c)=>_0x49662c+'{X}')),_0x3f681b+=_0x108b6a['replace'](/\{X\}/g,_0x1127fa[_0x1a0613(0x288)]())+'\x0a';}else _0x3f681b=(_0x3f681b=_0x1bb099[_0x1a0613(0x41f)]?_0x3f681b:_0x3f681b[_0x1a0613(0xa2d)](/light\{X\}.(\w*)/g,(_0x56e7b3,_0x419dbe)=>_0x419dbe+'{X}'))['replace'](/\{X\}/g,_0x1af8b0);}_0x42dad4=_0x42dad4['replace'](_0x22b042[0x0],_0x3f681b),_0x22d7a4=_0x22d7a4||0x0<=_0x3f681b[_0x1a0613(0xaa4)](_0x1a0613(0x7ce))||0x0<=_0x3f681b[_0x1a0613(0xaa4)]('#include\x20<');}_0x22b042=_0x4ac231[_0x1a0613(0xb80)](_0x1c9cb0);}_0x22d7a4?this['_ProcessIncludes'](_0x42dad4[_0x1a0613(0x288)](),_0x1bb099,_0x50510e):_0x50510e(_0x42dad4);}static[_0x401ad0(0x89d)](_0x32cb19,_0x13f897,_0x4c61c8,_0x472d40,_0x214c09,_0x3c1b4b){var _0x16b615=_0x401ad0;throw(0x0,_0x30ee19['S'])(_0x16b615(0x443));}}},0x8e9:(_0x165b27,_0x1b519c,_0x4ad26b)=>{var _0x3cf322=a7_0x51ebec;_0x4ad26b['d'](_0x1b519c,{'B':()=>_0x2e856a});class _0x2e856a{constructor(_0x171f8a=null,_0x32a174){var _0x1d25ac=a7_0x4956;if(this[_0x1d25ac(0xb51)]=null,this[_0x1d25ac(0x66b)]=_0x32a174,!_0x171f8a&&!(_0x171f8a=_0x32a174[_0x1d25ac(0x1ea)]()))throw new Error(_0x1d25ac(0x995));this[_0x1d25ac(0x82e)](_0x171f8a);}get[_0x3cf322(0x597)](){var _0x41efe7=_0x3cf322;return this[_0x41efe7(0x4f0)];}['setUsage'](){}[_0x3cf322(0x82e)](_0x2ccb42){this['_webGLTexture']=_0x2ccb42;}[_0x3cf322(0xbf4)](){var _0x3900ca=_0x3cf322;this[_0x3900ca(0x4f0)]=null,this[_0x3900ca(0xb51)]=null;}[_0x3cf322(0x491)](_0x2ff807){var _0x47daef=_0x3cf322;this[_0x47daef(0xb51)]||(this[_0x47daef(0xb51)]=[]),this['_MSAARenderBuffers'][_0x47daef(0x2f7)](_0x2ff807);}[_0x3cf322(0x9ac)](){var _0x4e28a7=_0x3cf322;if(this[_0x4e28a7(0xb51)]){for(const _0x49419f of this[_0x4e28a7(0xb51)])this['_context'][_0x4e28a7(0x554)](_0x49419f);this[_0x4e28a7(0xb51)]=null;}}['release'](){var _0x1abc30=_0x3cf322;this[_0x1abc30(0x9ac)](),this['_webGLTexture']&&this[_0x1abc30(0x66b)][_0x1abc30(0x6c3)](this[_0x1abc30(0x4f0)]),this[_0x1abc30(0xbf4)]();}}},0x17367:(_0x1a8582,_0x2afc85,_0x170ca5)=>{var _0x145319=a7_0x51ebec;_0x170ca5['d'](_0x2afc85,{'y':()=>_0x3c8f76});class _0x3c8f76{constructor(){var _0x3d8953=a7_0x4956;this[_0x3d8953(0xa46)]={},this[_0x3d8953(0x4c2)]=null,this[_0x3d8953(0xc5d)]=null,this[_0x3d8953(0xcc4)]=null,this[_0x3d8953(0xad4)]=null;}get[_0x145319(0x790)](){return this['isParallelCompiled'];}get[_0x145319(0x834)](){var _0x51b3bb=_0x145319;return!!this[_0x51b3bb(0x833)]&&(!this[_0x51b3bb(0xa7d)]||this['engine'][_0x51b3bb(0xb4d)](this));}[_0x145319(0xc63)](_0x9ef60a){var _0x23e57b=_0x145319;_0x9ef60a&&this['program']&&_0x9ef60a(this[_0x23e57b(0x833)]);}['_fillEffectInformation'](_0x496fbf,_0x592c0d,_0xad6f27,_0x19eb82,_0x208695,_0x4b7b08,_0xb4c321,_0x1d40e4){var _0x23d062=_0x145319;const _0x35023a=this[_0x23d062(0xbe3)];if(_0x35023a['supportsUniformBuffers']){for(const _0x3b7bf8 in _0x592c0d)_0x496fbf[_0x23d062(0xacb)](_0x3b7bf8,_0x592c0d[_0x3b7bf8]);}const _0x155ee6=this[_0x23d062(0xbe3)][_0x23d062(0x85b)](this,_0xad6f27);_0x155ee6[_0x23d062(0x544)]((_0x46d1bc,_0x8651d3)=>{_0x19eb82[_0xad6f27[_0x8651d3]]=_0x46d1bc;}),this[_0x23d062(0xd69)]=_0x19eb82;let _0xd730ae;for(_0xd730ae=0x0;_0xd730ae<_0x208695[_0x23d062(0x9ff)];_0xd730ae++)null==_0x496fbf['getUniform'](_0x208695[_0xd730ae])&&(_0x208695[_0x23d062(0x913)](_0xd730ae,0x1),_0xd730ae--);_0x208695[_0x23d062(0x544)]((_0x24159a,_0x3c4c38)=>{_0x4b7b08[_0x24159a]=_0x3c4c38;});for(const _0x3ba6bc of _0x35023a[_0x23d062(0x82a)](this,_0xb4c321))_0x1d40e4[_0x23d062(0x2f7)](_0x3ba6bc);}[_0x145319(0x38b)](){var _0x4cc7ac=_0x145319;this[_0x4cc7ac(0xd69)]={};}[_0x145319(0x286)](_0x39bb31,_0x21258e){var _0x321c27=_0x145319,_0x5468cc=this[_0x321c27(0xa46)][_0x39bb31],_0x21258e=_0x21258e[_0x321c27(0xb8c)];return(void 0x0===_0x5468cc||_0x5468cc!==_0x21258e)&&(this['_valueCache'][_0x39bb31]=_0x21258e,!0x0);}[_0x145319(0x46d)](_0x5ddd46,_0x6ddff5,_0x50d2a9){var _0x179b62=_0x145319;let _0x40a151=this[_0x179b62(0xa46)][_0x5ddd46];if(!_0x40a151||0x2!==_0x40a151[_0x179b62(0x9ff)])return _0x40a151=[_0x6ddff5,_0x50d2a9],this[_0x179b62(0xa46)][_0x5ddd46]=_0x40a151,!0x0;let _0x5b3a64=!0x1;return _0x40a151[0x0]!==_0x6ddff5&&(_0x40a151[0x0]=_0x6ddff5,_0x5b3a64=!0x0),_0x40a151[0x1]!==_0x50d2a9&&(_0x40a151[0x1]=_0x50d2a9,_0x5b3a64=!0x0),_0x5b3a64;}[_0x145319(0x4be)](_0x41e192,_0x1860ff,_0x1c3f6c,_0x164fd7){var _0x84c312=_0x145319;let _0x1e94a2=this[_0x84c312(0xa46)][_0x41e192];if(!_0x1e94a2||0x3!==_0x1e94a2[_0x84c312(0x9ff)])return _0x1e94a2=[_0x1860ff,_0x1c3f6c,_0x164fd7],this['_valueCache'][_0x41e192]=_0x1e94a2,!0x0;let _0x27d5f4=!0x1;return _0x1e94a2[0x0]!==_0x1860ff&&(_0x1e94a2[0x0]=_0x1860ff,_0x27d5f4=!0x0),_0x1e94a2[0x1]!==_0x1c3f6c&&(_0x1e94a2[0x1]=_0x1c3f6c,_0x27d5f4=!0x0),_0x1e94a2[0x2]!==_0x164fd7&&(_0x1e94a2[0x2]=_0x164fd7,_0x27d5f4=!0x0),_0x27d5f4;}[_0x145319(0x826)](_0x41da45,_0x1950f6,_0xf6a58f,_0x37e66c,_0x2fd074){var _0x4e59dc=_0x145319;let _0x56e611=this['_valueCache'][_0x41da45];if(!_0x56e611||0x4!==_0x56e611[_0x4e59dc(0x9ff)])return _0x56e611=[_0x1950f6,_0xf6a58f,_0x37e66c,_0x2fd074],this[_0x4e59dc(0xa46)][_0x41da45]=_0x56e611,!0x0;let _0x2e4bb6=!0x1;return _0x56e611[0x0]!==_0x1950f6&&(_0x56e611[0x0]=_0x1950f6,_0x2e4bb6=!0x0),_0x56e611[0x1]!==_0xf6a58f&&(_0x56e611[0x1]=_0xf6a58f,_0x2e4bb6=!0x0),_0x56e611[0x2]!==_0x37e66c&&(_0x56e611[0x2]=_0x37e66c,_0x2e4bb6=!0x0),_0x56e611[0x3]!==_0x2fd074&&(_0x56e611[0x3]=_0x2fd074,_0x2e4bb6=!0x0),_0x2e4bb6;}[_0x145319(0x4ad)](_0x417498,_0xcbbfc3){var _0x11a465=_0x145319,_0xea18a6=this[_0x11a465(0xa46)][_0x417498];void 0x0!==_0xea18a6&&_0xea18a6===_0xcbbfc3||this['engine'][_0x11a465(0x4ad)](this[_0x11a465(0xd69)][_0x417498],_0xcbbfc3)&&(this[_0x11a465(0xa46)][_0x417498]=_0xcbbfc3);}['setInt2'](_0x329b4c,_0x61df3d,_0x2d02fd){var _0x18bb3b=_0x145319;this[_0x18bb3b(0x46d)](_0x329b4c,_0x61df3d,_0x2d02fd)&&!this[_0x18bb3b(0xbe3)][_0x18bb3b(0x906)](this[_0x18bb3b(0xd69)][_0x329b4c],_0x61df3d,_0x2d02fd)&&(this['_valueCache'][_0x329b4c]=null);}[_0x145319(0x56d)](_0x2b662e,_0x33fe91,_0x56794d,_0x2d401d){var _0x5ce079=_0x145319;this[_0x5ce079(0x4be)](_0x2b662e,_0x33fe91,_0x56794d,_0x2d401d)&&!this[_0x5ce079(0xbe3)][_0x5ce079(0x56d)](this[_0x5ce079(0xd69)][_0x2b662e],_0x33fe91,_0x56794d,_0x2d401d)&&(this['_valueCache'][_0x2b662e]=null);}[_0x145319(0xd0b)](_0x333463,_0x4300c8,_0x77dd53,_0x1bc18f,_0x31ad81){var _0x130159=_0x145319;this[_0x130159(0x826)](_0x333463,_0x4300c8,_0x77dd53,_0x1bc18f,_0x31ad81)&&!this[_0x130159(0xbe3)][_0x130159(0xd0b)](this[_0x130159(0xd69)][_0x333463],_0x4300c8,_0x77dd53,_0x1bc18f,_0x31ad81)&&(this['_valueCache'][_0x333463]=null);}[_0x145319(0x8b4)](_0x50caa9,_0x1a46d4){var _0x4bcfcb=_0x145319;this[_0x4bcfcb(0xa46)][_0x50caa9]=null,this[_0x4bcfcb(0xbe3)][_0x4bcfcb(0x8b4)](this[_0x4bcfcb(0xd69)][_0x50caa9],_0x1a46d4);}['setIntArray2'](_0x5e38b4,_0x2d7ba7){var _0x273c08=_0x145319;this[_0x273c08(0xa46)][_0x5e38b4]=null,this[_0x273c08(0xbe3)][_0x273c08(0xaa2)](this['_uniforms'][_0x5e38b4],_0x2d7ba7);}['setIntArray3'](_0x5ca2e0,_0x3bcf28){var _0x1df8ce=_0x145319;this[_0x1df8ce(0xa46)][_0x5ca2e0]=null,this[_0x1df8ce(0xbe3)][_0x1df8ce(0xceb)](this[_0x1df8ce(0xd69)][_0x5ca2e0],_0x3bcf28);}[_0x145319(0x287)](_0x59b76e,_0x3af4b3){var _0x431653=_0x145319;this[_0x431653(0xa46)][_0x59b76e]=null,this[_0x431653(0xbe3)][_0x431653(0x287)](this[_0x431653(0xd69)][_0x59b76e],_0x3af4b3);}['setUInt'](_0x450899,_0x34b963){var _0x1f917d=_0x145319,_0x5eba36=this[_0x1f917d(0xa46)][_0x450899];void 0x0!==_0x5eba36&&_0x5eba36===_0x34b963||this['engine'][_0x1f917d(0x77f)](this[_0x1f917d(0xd69)][_0x450899],_0x34b963)&&(this[_0x1f917d(0xa46)][_0x450899]=_0x34b963);}['setUInt2'](_0x3d5368,_0x3a54f0,_0x17eec3){var _0xe613f3=_0x145319;this[_0xe613f3(0x46d)](_0x3d5368,_0x3a54f0,_0x17eec3)&&!this['engine'][_0xe613f3(0x698)](this['_uniforms'][_0x3d5368],_0x3a54f0,_0x17eec3)&&(this[_0xe613f3(0xa46)][_0x3d5368]=null);}['setUInt3'](_0x815ef2,_0x195df3,_0x3dcfaf,_0xabd087){var _0x557a21=_0x145319;this[_0x557a21(0x4be)](_0x815ef2,_0x195df3,_0x3dcfaf,_0xabd087)&&!this[_0x557a21(0xbe3)][_0x557a21(0x1c6)](this[_0x557a21(0xd69)][_0x815ef2],_0x195df3,_0x3dcfaf,_0xabd087)&&(this[_0x557a21(0xa46)][_0x815ef2]=null);}['setUInt4'](_0x18b52c,_0x28b9fa,_0x254d7b,_0x187e0e,_0x3820e7){var _0x577599=_0x145319;this[_0x577599(0x826)](_0x18b52c,_0x28b9fa,_0x254d7b,_0x187e0e,_0x3820e7)&&!this[_0x577599(0xbe3)][_0x577599(0x23d)](this[_0x577599(0xd69)][_0x18b52c],_0x28b9fa,_0x254d7b,_0x187e0e,_0x3820e7)&&(this['_valueCache'][_0x18b52c]=null);}[_0x145319(0x2ca)](_0x5f31d1,_0x2c8529){var _0x4fde6f=_0x145319;this[_0x4fde6f(0xa46)][_0x5f31d1]=null,this[_0x4fde6f(0xbe3)]['setUIntArray'](this[_0x4fde6f(0xd69)][_0x5f31d1],_0x2c8529);}[_0x145319(0xa41)](_0x424d6c,_0x4c4b1f){var _0x4b087a=_0x145319;this['_valueCache'][_0x424d6c]=null,this[_0x4b087a(0xbe3)][_0x4b087a(0xa41)](this[_0x4b087a(0xd69)][_0x424d6c],_0x4c4b1f);}[_0x145319(0x483)](_0x4cefe2,_0x311b76){var _0x3065f3=_0x145319;this[_0x3065f3(0xa46)][_0x4cefe2]=null,this['engine'][_0x3065f3(0x483)](this['_uniforms'][_0x4cefe2],_0x311b76);}[_0x145319(0x1dc)](_0x268e13,_0x239959){var _0x373f4f=_0x145319;this[_0x373f4f(0xa46)][_0x268e13]=null,this[_0x373f4f(0xbe3)]['setUIntArray4'](this['_uniforms'][_0x268e13],_0x239959);}[_0x145319(0xa25)](_0x2a27f3,_0x39ba33){var _0x490b0a=_0x145319;this[_0x490b0a(0xa46)][_0x2a27f3]=null,this[_0x490b0a(0xbe3)]['setArray'](this[_0x490b0a(0xd69)][_0x2a27f3],_0x39ba33);}[_0x145319(0x744)](_0x5a7c5e,_0x3de9d1){var _0x595700=_0x145319;this['_valueCache'][_0x5a7c5e]=null,this['engine'][_0x595700(0x744)](this[_0x595700(0xd69)][_0x5a7c5e],_0x3de9d1);}[_0x145319(0x9ce)](_0x468ceb,_0xdb3789){var _0x2db74c=_0x145319;this['_valueCache'][_0x468ceb]=null,this['engine']['setArray3'](this[_0x2db74c(0xd69)][_0x468ceb],_0xdb3789);}[_0x145319(0x646)](_0x310e00,_0x7bcecf){var _0x3e1eb4=_0x145319;this[_0x3e1eb4(0xa46)][_0x310e00]=null,this[_0x3e1eb4(0xbe3)][_0x3e1eb4(0x646)](this['_uniforms'][_0x310e00],_0x7bcecf);}[_0x145319(0xc67)](_0x11a294,_0x59a9ef){var _0x53299a=_0x145319;_0x59a9ef&&(this[_0x53299a(0xa46)][_0x11a294]=null,this['engine'][_0x53299a(0xc67)](this['_uniforms'][_0x11a294],_0x59a9ef));}[_0x145319(0x20f)](_0x3495db,_0xe7e228){var _0x10e5a6=_0x145319;this['_cacheMatrix'](_0x3495db,_0xe7e228)&&!this[_0x10e5a6(0xbe3)]['setMatrices'](this[_0x10e5a6(0xd69)][_0x3495db],_0xe7e228['toArray']())&&(this[_0x10e5a6(0xa46)][_0x3495db]=null);}[_0x145319(0x339)](_0x4b02f9,_0x5474df){var _0x322d33=_0x145319;this[_0x322d33(0xa46)][_0x4b02f9]=null,this[_0x322d33(0xbe3)][_0x322d33(0x339)](this['_uniforms'][_0x4b02f9],_0x5474df);}[_0x145319(0x7c6)](_0x4bcb9d,_0x4f1ab1){var _0x518cee=_0x145319;this[_0x518cee(0xa46)][_0x4bcb9d]=null,this[_0x518cee(0xbe3)]['setMatrix2x2'](this['_uniforms'][_0x4bcb9d],_0x4f1ab1);}[_0x145319(0x7cf)](_0x16eed6,_0x3dbdda){var _0x2cbbc0=_0x145319,_0x5f0111=this[_0x2cbbc0(0xa46)][_0x16eed6];void 0x0!==_0x5f0111&&_0x5f0111===_0x3dbdda||this[_0x2cbbc0(0xbe3)][_0x2cbbc0(0x7cf)](this[_0x2cbbc0(0xd69)][_0x16eed6],_0x3dbdda)&&(this[_0x2cbbc0(0xa46)][_0x16eed6]=_0x3dbdda);}[_0x145319(0x6a2)](_0xc008bb,_0x4b2659){var _0x38edf4=_0x145319;this[_0x38edf4(0x46d)](_0xc008bb,_0x4b2659['x'],_0x4b2659['y'])&&!this[_0x38edf4(0xbe3)]['setFloat2'](this[_0x38edf4(0xd69)][_0xc008bb],_0x4b2659['x'],_0x4b2659['y'])&&(this[_0x38edf4(0xa46)][_0xc008bb]=null);}['setFloat2'](_0x4c2cc2,_0x11e539,_0x275f38){var _0x1c1409=_0x145319;this['_cacheFloat2'](_0x4c2cc2,_0x11e539,_0x275f38)&&!this['engine'][_0x1c1409(0x351)](this[_0x1c1409(0xd69)][_0x4c2cc2],_0x11e539,_0x275f38)&&(this[_0x1c1409(0xa46)][_0x4c2cc2]=null);}[_0x145319(0x23c)](_0x6e2be0,_0x46d37d){var _0x58bead=_0x145319;this[_0x58bead(0x4be)](_0x6e2be0,_0x46d37d['x'],_0x46d37d['y'],_0x46d37d['z'])&&!this[_0x58bead(0xbe3)]['setFloat3'](this[_0x58bead(0xd69)][_0x6e2be0],_0x46d37d['x'],_0x46d37d['y'],_0x46d37d['z'])&&(this[_0x58bead(0xa46)][_0x6e2be0]=null);}[_0x145319(0x909)](_0x16f37b,_0x53fd59,_0x12331f,_0x5ebd9d){var _0x47291e=_0x145319;this[_0x47291e(0x4be)](_0x16f37b,_0x53fd59,_0x12331f,_0x5ebd9d)&&!this[_0x47291e(0xbe3)]['setFloat3'](this[_0x47291e(0xd69)][_0x16f37b],_0x53fd59,_0x12331f,_0x5ebd9d)&&(this[_0x47291e(0xa46)][_0x16f37b]=null);}['setVector4'](_0x316c99,_0xd3e147){var _0x576d75=_0x145319;this[_0x576d75(0x826)](_0x316c99,_0xd3e147['x'],_0xd3e147['y'],_0xd3e147['z'],_0xd3e147['w'])&&!this[_0x576d75(0xbe3)][_0x576d75(0xd3f)](this[_0x576d75(0xd69)][_0x316c99],_0xd3e147['x'],_0xd3e147['y'],_0xd3e147['z'],_0xd3e147['w'])&&(this[_0x576d75(0xa46)][_0x316c99]=null);}[_0x145319(0x449)](_0x5e23b9,_0x20f2a5){var _0x40d7db=_0x145319;this['_cacheFloat4'](_0x5e23b9,_0x20f2a5['x'],_0x20f2a5['y'],_0x20f2a5['z'],_0x20f2a5['w'])&&!this['engine'][_0x40d7db(0xd3f)](this[_0x40d7db(0xd69)][_0x5e23b9],_0x20f2a5['x'],_0x20f2a5['y'],_0x20f2a5['z'],_0x20f2a5['w'])&&(this['_valueCache'][_0x5e23b9]=null);}[_0x145319(0xd3f)](_0x55c331,_0x26332f,_0x566e6b,_0x95291f,_0x47e43f){var _0x364647=_0x145319;this['_cacheFloat4'](_0x55c331,_0x26332f,_0x566e6b,_0x95291f,_0x47e43f)&&!this[_0x364647(0xbe3)][_0x364647(0xd3f)](this[_0x364647(0xd69)][_0x55c331],_0x26332f,_0x566e6b,_0x95291f,_0x47e43f)&&(this[_0x364647(0xa46)][_0x55c331]=null);}['setColor3'](_0x2113b0,_0x10c7e9){var _0x1672a6=_0x145319;this[_0x1672a6(0x4be)](_0x2113b0,_0x10c7e9['r'],_0x10c7e9['g'],_0x10c7e9['b'])&&!this[_0x1672a6(0xbe3)]['setFloat3'](this[_0x1672a6(0xd69)][_0x2113b0],_0x10c7e9['r'],_0x10c7e9['g'],_0x10c7e9['b'])&&(this[_0x1672a6(0xa46)][_0x2113b0]=null);}[_0x145319(0xa29)](_0x27053c,_0x30942e,_0x926ae9){var _0x3f0cc2=_0x145319;this[_0x3f0cc2(0x826)](_0x27053c,_0x30942e['r'],_0x30942e['g'],_0x30942e['b'],_0x926ae9)&&!this[_0x3f0cc2(0xbe3)][_0x3f0cc2(0xd3f)](this[_0x3f0cc2(0xd69)][_0x27053c],_0x30942e['r'],_0x30942e['g'],_0x30942e['b'],_0x926ae9)&&(this[_0x3f0cc2(0xa46)][_0x27053c]=null);}[_0x145319(0x207)](_0x135b2d,_0x6c077f){var _0x12c9a6=_0x145319;this[_0x12c9a6(0x826)](_0x135b2d,_0x6c077f['r'],_0x6c077f['g'],_0x6c077f['b'],_0x6c077f['a'])&&!this[_0x12c9a6(0xbe3)][_0x12c9a6(0xd3f)](this[_0x12c9a6(0xd69)][_0x135b2d],_0x6c077f['r'],_0x6c077f['g'],_0x6c077f['b'],_0x6c077f['a'])&&(this['_valueCache'][_0x135b2d]=null);}[_0x145319(0x969)](){var _0x220879=_0x145319;return this[_0x220879(0xad7)]?this['engine'][_0x220879(0xd6f)](this[_0x220879(0xad7)]):null;}[_0x145319(0x64c)](){return this['fragmentShader']?this['engine']['_getShaderSource'](this['fragmentShader']):null;}}},0xe40d:(_0xcd2d03,_0x12040f,_0x39393b)=>{var _0x14acbc=a7_0x51ebec;_0x39393b['d'](_0x12040f,{'f':()=>_0x3a7736});var _0x260123=_0x39393b(0x12658);class _0x3a7736{constructor(){var _0x308e1a=a7_0x4956;this['shaderLanguage']=_0x260123['x'][_0x308e1a(0x2f1)];}[_0x14acbc(0x2b9)](_0x3c6fd7,_0x32d7e4,_0xddfc75,_0x1d6574,_0x13b381){var _0x28271e=_0x14acbc;return _0x13b381[_0x28271e(0x61c)]()[_0x28271e(0xbed)]?_0x3c6fd7:_0x3c6fd7[_0x28271e(0xa2d)](/#extension.+GL_EXT_draw_buffers.+(enable|require)/g,'');}}},0x4ae8:(_0x7ab8b2,_0x234fb8,_0x582f53)=>{var _0x537f0e=a7_0x51ebec,_0x2d3602=_0x582f53(0x1610),_0x4bc47b=_0x582f53(0x14232),_0x39f237=_0x582f53(0x14171),_0x30ca56=(_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0x3c5)]=function(_0x10b474,_0x5f204d=!0x1){var _0x13e5d=_0x537f0e,_0x5304ca;if(this[_0x13e5d(0xcd3)]===_0x10b474&&(_0x10b474===_0x2d3602['g'][_0x13e5d(0xcbd)]&&!this[_0x13e5d(0x2ab)][_0x13e5d(0x5be)]||_0x10b474!==_0x2d3602['g'][_0x13e5d(0xcbd)]&&this['_alphaState'][_0x13e5d(0x5be)]))_0x5f204d||(_0x5304ca=_0x10b474===_0x2d3602['g'][_0x13e5d(0xcbd)],this[_0x13e5d(0x7cc)][_0x13e5d(0x74d)]!==_0x5304ca&&(this['setDepthWrite'](_0x5304ca),this[_0x13e5d(0x53e)][_0x13e5d(0xc6e)](_0x5304ca)));else{switch(_0x10b474){case _0x2d3602['g'][_0x13e5d(0xcbd)]:this[_0x13e5d(0x2ab)]['alphaBlend']=!0x1;break;case _0x2d3602['g'][_0x13e5d(0x74b)]:this[_0x13e5d(0x2ab)][_0x13e5d(0x3db)](0x1,_0x2d3602['g'][_0x13e5d(0x7f9)],0x1,0x1),this[_0x13e5d(0x2ab)][_0x13e5d(0x5be)]=!0x0;break;case _0x2d3602['g'][_0x13e5d(0x6d7)]:this['_alphaState'][_0x13e5d(0x3db)](0x1,_0x2d3602['g'][_0x13e5d(0x7f9)],0x1,_0x2d3602['g'][_0x13e5d(0x7f9)]),this['_alphaState'][_0x13e5d(0x5be)]=!0x0;break;case _0x2d3602['g'][_0x13e5d(0x56a)]:this[_0x13e5d(0x2ab)][_0x13e5d(0x3db)](_0x2d3602['g'][_0x13e5d(0x521)],_0x2d3602['g'][_0x13e5d(0x7f9)],0x1,0x1),this[_0x13e5d(0x2ab)][_0x13e5d(0x5be)]=!0x0;break;case _0x2d3602['g'][_0x13e5d(0x6f9)]:this[_0x13e5d(0x2ab)][_0x13e5d(0x3db)](0x1,0x1,0x0,0x1),this[_0x13e5d(0x2ab)][_0x13e5d(0x5be)]=!0x0;break;case _0x2d3602['g']['ALPHA_ADD']:this['_alphaState']['setAlphaBlendFunctionParameters'](_0x2d3602['g'][_0x13e5d(0x521)],0x1,0x0,0x1),this[_0x13e5d(0x2ab)][_0x13e5d(0x5be)]=!0x0;break;case _0x2d3602['g'][_0x13e5d(0x3d4)]:this[_0x13e5d(0x2ab)][_0x13e5d(0x3db)](0x0,_0x2d3602['g']['GL_ALPHA_FUNCTION_ONE_MINUS_SRC_COLOR'],0x1,0x1),this[_0x13e5d(0x2ab)][_0x13e5d(0x5be)]=!0x0;break;case _0x2d3602['g'][_0x13e5d(0x781)]:this['_alphaState'][_0x13e5d(0x3db)](_0x2d3602['g']['GL_ALPHA_FUNCTION_DST_COLOR'],0x0,0x1,0x1),this[_0x13e5d(0x2ab)][_0x13e5d(0x5be)]=!0x0;break;case _0x2d3602['g']['ALPHA_MAXIMIZED']:this['_alphaState'][_0x13e5d(0x3db)](_0x2d3602['g'][_0x13e5d(0x521)],_0x2d3602['g'][_0x13e5d(0xb77)],0x1,0x1),this[_0x13e5d(0x2ab)]['alphaBlend']=!0x0;break;case _0x2d3602['g'][_0x13e5d(0xab3)]:this[_0x13e5d(0x2ab)]['setAlphaBlendFunctionParameters'](_0x2d3602['g'][_0x13e5d(0xa2b)],_0x2d3602['g'][_0x13e5d(0xccf)],_0x2d3602['g'][_0x13e5d(0xd19)],_0x2d3602['g'][_0x13e5d(0x3df)]),this[_0x13e5d(0x2ab)][_0x13e5d(0x5be)]=!0x0;break;case _0x2d3602['g'][_0x13e5d(0x379)]:this[_0x13e5d(0x2ab)][_0x13e5d(0x3db)](0x1,_0x2d3602['g'][_0x13e5d(0xb77)],0x1,_0x2d3602['g'][_0x13e5d(0x7f9)]),this[_0x13e5d(0x2ab)][_0x13e5d(0x5be)]=!0x0;break;case _0x2d3602['g'][_0x13e5d(0xb43)]:this[_0x13e5d(0x2ab)][_0x13e5d(0x3db)](0x1,0x1,0x1,0x1),this[_0x13e5d(0x2ab)][_0x13e5d(0x5be)]=!0x0;break;case _0x2d3602['g'][_0x13e5d(0xc75)]:this[_0x13e5d(0x2ab)][_0x13e5d(0x3db)](_0x2d3602['g'][_0x13e5d(0x75e)],0x1,0x0,0x0),this[_0x13e5d(0x2ab)]['alphaBlend']=!0x0;break;case _0x2d3602['g'][_0x13e5d(0x177)]:this['_alphaState'][_0x13e5d(0x3db)](_0x2d3602['g'][_0x13e5d(0x701)],_0x2d3602['g']['GL_ALPHA_FUNCTION_ONE_MINUS_SRC_COLOR'],_0x2d3602['g'][_0x13e5d(0x507)],_0x2d3602['g'][_0x13e5d(0x7f9)]),this[_0x13e5d(0x2ab)][_0x13e5d(0x5be)]=!0x0;break;case _0x2d3602['g']['ALPHA_SRC_DSTONEMINUSSRCALPHA']:this[_0x13e5d(0x2ab)][_0x13e5d(0x3db)](0x1,_0x2d3602['g'][_0x13e5d(0x7f9)],0x1,_0x2d3602['g']['GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA']),this['_alphaState']['alphaBlend']=!0x0;break;case _0x2d3602['g'][_0x13e5d(0x15d)]:this[_0x13e5d(0x2ab)][_0x13e5d(0x3db)](0x1,0x1,0x1,0x0),this[_0x13e5d(0x2ab)][_0x13e5d(0x5be)]=!0x0;break;case _0x2d3602['g'][_0x13e5d(0x605)]:this[_0x13e5d(0x2ab)][_0x13e5d(0x3db)](_0x2d3602['g']['GL_ALPHA_FUNCTION_ONE_MINUS_DST_COLOR'],_0x2d3602['g'][_0x13e5d(0xb77)],0x0,0x1),this[_0x13e5d(0x2ab)][_0x13e5d(0x5be)]=!0x0;break;case _0x2d3602['g'][_0x13e5d(0x905)]:this[_0x13e5d(0x2ab)][_0x13e5d(0x3db)](_0x2d3602['g'][_0x13e5d(0x521)],_0x2d3602['g'][_0x13e5d(0x7f9)],0x1,_0x2d3602['g'][_0x13e5d(0x7f9)]),this[_0x13e5d(0x2ab)][_0x13e5d(0x5be)]=!0x0;}_0x5f204d||(this[_0x13e5d(0x894)](_0x10b474===_0x4bc47b['D'][_0x13e5d(0xcbd)]),this['_cacheRenderPipeline'][_0x13e5d(0xc6e)](_0x10b474===_0x4bc47b['D'][_0x13e5d(0xcbd)])),this[_0x13e5d(0xcd3)]=_0x10b474,this[_0x13e5d(0x53e)][_0x13e5d(0x6c2)](this[_0x13e5d(0x2ab)][_0x13e5d(0x5be)]),this[_0x13e5d(0x53e)]['setAlphaBlendFactors'](this[_0x13e5d(0x2ab)][_0x13e5d(0x824)],this[_0x13e5d(0x2ab)]['_blendEquationParameters']);}},_0x39f237['f']['prototype'][_0x537f0e(0x450)]=function(_0x108b2e){var _0x119e94=_0x537f0e;_0x4bc47b['D'][_0x119e94(0x21e)][_0x119e94(0x450)][_0x119e94(0x9d3)](this,_0x108b2e),this[_0x119e94(0x53e)][_0x119e94(0x319)](this['_alphaState'][_0x119e94(0x824)],this[_0x119e94(0x2ab)]['_blendEquationParameters']);},_0x582f53(0x8d9d)),_0x94772a=_0x582f53(0x9a70),_0x392ad4=_0x582f53(0x165c4),_0x48f36b=_0x582f53(0x177e8);class _0x395cd4{constructor(_0x3f28af,_0x4a8472){var _0xd031f9=_0x537f0e;this[_0xd031f9(0xc42)]=_0x3f28af,this[_0xd031f9(0x3fc)]=_0x4a8472,this[_0xd031f9(0x5bb)]=_0x395cd4[_0xd031f9(0x25a)]++,this[_0xd031f9(0x91f)]=[],this['clear']();}[_0x537f0e(0xd23)](_0x15e286,_0xfca58f,_0x24337d){var _0x46c86a=_0x537f0e;if(!_0x24337d)throw new Error(_0x46c86a(0x5c4));if(0x0===this[_0x46c86a(0x4dd)][_0x46c86a(0x9ff)]){var _0x485d6f=0x0<this[_0x46c86a(0x91f)]['length'];for(const _0x47a282 in _0x15e286){const _0x43287e=_0x15e286[_0x47a282],_0x34b495=_0x24337d[_0x47a282],_0x13417e=_0x34b495[_0x46c86a(0x56b)],_0x4f6994=_0x34b495[_0x46c86a(0xba7)],_0xbcb69d=_0x43287e[_0x46c86a(0x844)],_0x88f893=_0x43287e['object'];let _0xd9786b=_0x43287e[_0x46c86a(0x1ba)],_0x25d16d=this['_bindGroupEntries'][_0x13417e];switch(_0x25d16d=_0x25d16d||(this[_0x46c86a(0x91f)][_0x13417e]=[]),_0xbcb69d){case _0x392ad4['t']['Sampler']:var _0xd49690=_0x88f893;void 0x0!==_0xd9786b&&_0x485d6f?_0x25d16d[_0xd9786b]['resource']=this[_0x46c86a(0x3fc)]['getSampler'](_0xd49690):(_0x43287e[_0x46c86a(0x1ba)]=_0x25d16d[_0x46c86a(0x9ff)],_0x25d16d[_0x46c86a(0x2f7)]({'binding':_0x4f6994,'resource':this[_0x46c86a(0x3fc)][_0x46c86a(0x3b5)](_0xd49690)}));break;case _0x392ad4['t'][_0x46c86a(0x75b)]:case _0x392ad4['t'][_0x46c86a(0xab6)]:var _0xd49690=_0x88f893,_0x9def71=_0xd49690[_0x46c86a(0x67e)][_0x46c86a(0x835)];void 0x0!==_0xd9786b&&_0x485d6f?(_0xbcb69d===_0x392ad4['t'][_0x46c86a(0x75b)]&&(_0x25d16d[_0xd9786b++][_0x46c86a(0x97b)]=this[_0x46c86a(0x3fc)][_0x46c86a(0x3b5)](_0xd49690[_0x46c86a(0x67e)])),_0x25d16d[_0xd9786b][_0x46c86a(0x97b)]=_0x9def71[_0x46c86a(0x1be)]):(_0x43287e[_0x46c86a(0x1ba)]=_0x25d16d[_0x46c86a(0x9ff)],_0xbcb69d===_0x392ad4['t'][_0x46c86a(0x75b)]&&_0x25d16d[_0x46c86a(0x2f7)]({'binding':_0x4f6994-0x1,'resource':this['_cacheSampler'][_0x46c86a(0x3b5)](_0xd49690['_texture'])}),_0x25d16d[_0x46c86a(0x2f7)]({'binding':_0x4f6994,'resource':_0x9def71[_0x46c86a(0x1be)]}));break;case _0x392ad4['t']['StorageTexture']:_0x9def71=_0x88f893[_0x46c86a(0x67e)][_0x46c86a(0x835)],(0x0==(_0x9def71[_0x46c86a(0x2f3)]&_0x48f36b['v2'][_0x46c86a(0xc5a)])&&_0x94772a['Y'][_0x46c86a(0x1ce)](_0x46c86a(0x8f2)+_0x88f893['name']+_0x46c86a(0xb37)+_0x88f893['uniqueId']+')\x20is\x20not\x20a\x20storage\x20texture!',0x32),void 0x0!==_0xd9786b&&_0x485d6f?_0x25d16d[_0xd9786b][_0x46c86a(0x97b)]=_0x9def71[_0x46c86a(0x263)]:(_0x43287e[_0x46c86a(0x1ba)]=_0x25d16d[_0x46c86a(0x9ff)],_0x25d16d[_0x46c86a(0x2f7)]({'binding':_0x4f6994,'resource':_0x9def71[_0x46c86a(0x263)]})));break;case _0x392ad4['t'][_0x46c86a(0x38d)]:case _0x392ad4['t']['StorageBuffer']:{_0x392ad4['t'][_0x46c86a(0x38d)];const _0x48f9b8=_0x88f893;var _0x17cc54=_0x48f9b8[_0x46c86a(0x6a3)](),_0x2ae18e=_0x17cc54[_0x46c86a(0x597)];void 0x0!==_0xd9786b&&_0x485d6f?(_0x25d16d[_0xd9786b][_0x46c86a(0x97b)]['buffer']=_0x2ae18e,_0x25d16d[_0xd9786b][_0x46c86a(0x97b)][_0x46c86a(0x868)]=_0x17cc54[_0x46c86a(0x3a6)]):(_0x43287e['indexInGroupEntries']=_0x25d16d[_0x46c86a(0x9ff)],_0x25d16d[_0x46c86a(0x2f7)]({'binding':_0x4f6994,'resource':{'buffer':_0x2ae18e,'offset':0x0,'size':_0x17cc54[_0x46c86a(0x3a6)]}}));break;}}}for(let _0x1af045=0x0;_0x1af045<this[_0x46c86a(0x91f)][_0x46c86a(0x9ff)];++_0x1af045){var _0x76e56e=this[_0x46c86a(0x91f)][_0x1af045];this[_0x46c86a(0x4dd)][_0x1af045]=_0x76e56e?this[_0x46c86a(0xc42)][_0x46c86a(0x611)]({'layout':_0xfca58f[_0x46c86a(0xa67)](_0x1af045),'entries':_0x76e56e}):void 0x0;}this[_0x46c86a(0x4dd)]['length']=this[_0x46c86a(0x91f)][_0x46c86a(0x9ff)];}return this[_0x46c86a(0x4dd)];}[_0x537f0e(0x36e)](){var _0x25af15=_0x537f0e;this[_0x25af15(0x4dd)]=[];}}_0x395cd4[_0x537f0e(0x25a)]=0x0;class _0x43a3fe{constructor(_0x374621){var _0x21be04=_0x537f0e;this[_0x21be04(0xc2f)]=_0x21be04(0x66a),this[_0x21be04(0xbe3)]=_0x374621;}get[_0x537f0e(0x790)](){return!0x1;}get[_0x537f0e(0x834)](){var _0x36a939=_0x537f0e;return!!this[_0x36a939(0x6cc)];}[_0x537f0e(0x19f)](){var _0x116532=_0x537f0e,_0x2fac8a;return null==(_0x2fac8a=this[_0x116532(0x7af)])?void 0x0:_0x2fac8a[_0x116532(0xcbf)];}[_0x537f0e(0x38b)](){}}var _0x2a2db1=_0x582f53(0x6214),_0x4ac915=(_0x39f237['f']['prototype'][_0x537f0e(0x929)]=function(){var _0x5cbade=_0x537f0e;return new _0x395cd4(this[_0x5cbade(0xc42)],this[_0x5cbade(0x3fc)]);},_0x39f237['f'][_0x537f0e(0x21e)]['createComputeEffect']=function(_0x7604d5,_0x2e418a){var _0x6484fc=_0x537f0e,_0x5c65fb=(_0x7604d5['computeElement']||_0x7604d5[_0x6484fc(0xcbf)]||_0x7604d5[_0x6484fc(0x28e)]||_0x7604d5[_0x6484fc(0xa6b)]||_0x7604d5)+'@'+_0x2e418a[_0x6484fc(0x635)];if(this[_0x6484fc(0x7db)][_0x5c65fb]){const _0x3a8018=this[_0x6484fc(0x7db)][_0x5c65fb];return _0x2e418a[_0x6484fc(0x742)]&&_0x3a8018[_0x6484fc(0x834)]()&&_0x2e418a[_0x6484fc(0x742)](_0x3a8018),_0x3a8018;}return _0x7604d5=new _0x30ca56['n'](_0x7604d5,_0x2e418a,this,_0x5c65fb),this[_0x6484fc(0x7db)][_0x5c65fb]=_0x7604d5;},_0x39f237['f']['prototype'][_0x537f0e(0x924)]=function(){return new _0x43a3fe(this);},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0x24c)]=function(){var _0x906140=_0x537f0e;for(const _0x58c694 in this[_0x906140(0x7db)]){const _0x3333b8=this[_0x906140(0x7db)][_0x58c694];if(!_0x3333b8[_0x906140(0x834)]())return!0x1;}return!0x0;},_0x39f237['f']['prototype'][_0x537f0e(0x282)]=function(_0x388eb8,_0x2422c1,_0x30006c,_0x4295a9,_0x4428c0,_0x1867f1,_0x3303ee){var _0xcbc9a9=_0x537f0e;if(this[_0xcbc9a9(0xac2)])this[_0xcbc9a9(0x983)]['addOnce'](()=>{var _0x233d2d=_0xcbc9a9;this[_0x233d2d(0x282)](_0x388eb8,_0x2422c1,_0x30006c,_0x4295a9,_0x4428c0,_0x1867f1,_0x3303ee);});else{const _0x77b08e=_0x388eb8[_0xcbc9a9(0x9b8)],_0x4955d7=_0x2422c1,_0x24dd7b=(_0x77b08e[_0xcbc9a9(0xae0)]||(_0x77b08e[_0xcbc9a9(0xae0)]=this['_device']['createComputePipeline']({'layout':_0x48f36b['fu'][_0xcbc9a9(0x171)],'compute':_0x77b08e[_0xcbc9a9(0x6cc)]})),this[_0xcbc9a9(0x2a9)]),_0xcc5faf=_0x24dd7b[_0xcbc9a9(0x8bc)]();_0xcc5faf[_0xcbc9a9(0x89e)](_0x77b08e[_0xcbc9a9(0xae0)]);var _0x5984fa=_0x4955d7[_0xcbc9a9(0xd23)](_0x30006c,_0x77b08e[_0xcbc9a9(0xae0)],_0x3303ee);for(let _0x2aca5f=0x0;_0x2aca5f<_0x5984fa['length'];++_0x2aca5f){var _0x5d5991=_0x5984fa[_0x2aca5f];_0x5d5991&&_0xcc5faf[_0xcbc9a9(0x9c3)](_0x2aca5f,_0x5d5991);}_0xcc5faf['dispatchWorkgroups'](_0x4295a9,_0x4428c0,_0x1867f1),_0xcc5faf[_0xcbc9a9(0x35c)]();}},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0x278)]=function(){var _0x326842=_0x537f0e;for(const _0x3fb7f5 in this[_0x326842(0x7db)]){var _0x57056f=this[_0x326842(0x7db)][_0x3fb7f5][_0x326842(0xc4d)]();this[_0x326842(0xbc1)](_0x57056f);}this[_0x326842(0x7db)]={};},_0x39f237['f']['prototype'][_0x537f0e(0x70a)]=function(_0x16b5b1,_0x438984,_0x58c5e1,_0x3c66c6,_0x5c528f){var _0x139d2d=_0x537f0e;const _0x4f9c0a=_0x16b5b1;this['dbgShowShaderCode']&&(_0x2a2db1[_0x139d2d(0x4d8)](_0x3c66c6),_0x2a2db1['log'](_0x438984)),_0x4f9c0a[_0x139d2d(0x7af)]={'compute':_0x438984,'rawCompute':_0x58c5e1},_0x4f9c0a[_0x139d2d(0x6cc)]=this[_0x139d2d(0x27b)](_0x438984,_0x3c66c6,_0x5c528f);},_0x39f237['f'][_0x537f0e(0x21e)]['_releaseComputeEffect']=function(_0x1447b4){var _0x3dc758=_0x537f0e;this[_0x3dc758(0x7db)][_0x1447b4[_0x3dc758(0xc8b)]]&&(delete this[_0x3dc758(0x7db)][_0x1447b4[_0x3dc758(0xc8b)]],this[_0x3dc758(0xbc1)](_0x1447b4[_0x3dc758(0xc4d)]()));},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0x497)]=function(){var _0x18a4c2=_0x537f0e;for(const _0x1d25c7 in this[_0x18a4c2(0x7db)]){const _0x3a9371=this[_0x18a4c2(0x7db)][_0x1d25c7];_0x3a9371[_0x18a4c2(0x9b8)]=null,_0x3a9371[_0x18a4c2(0x7e6)]=!0x1,_0x3a9371[_0x18a4c2(0xc1b)]();}},_0x39f237['f'][_0x537f0e(0x21e)]['_deleteComputePipelineContext']=function(_0x349cba){_0x349cba&&_0x349cba['dispose']();},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0x27b)]=function(_0x5a5a7c,_0x1bf1e9,_0x7cadb7){var _0x1fd569=_0x537f0e;return _0x1bf1e9=_0x1bf1e9?'//'+_0x1bf1e9[_0x1fd569(0xac5)]('\x0a')[_0x1fd569(0x5cf)](_0x1fd569(0x468))+'\x0a':'',{'module':this['_device'][_0x1fd569(0xbfb)]({'code':_0x1bf1e9+_0x5a5a7c}),'entryPoint':_0x7cadb7};},_0x582f53(0x138df));_0x39f237['f'][_0x537f0e(0x21e)]['_createDepthStencilCubeTexture']=function(_0x4a652f,_0x587855){var _0x1bb1ee=_0x537f0e;const _0x8e241b=new _0x4ac915['l'](this,_0x4ac915['S'][_0x1bb1ee(0x9d6)]);return _0x8e241b[_0x1bb1ee(0xaac)]=!0x0,_0x587855=Object[_0x1bb1ee(0x884)]({'bilinearFiltering':!0x1,'comparisonFunction':0x0,'generateStencil':!0x1,'samples':0x1},_0x587855),(_0x8e241b['format']=_0x587855[_0x1bb1ee(0x787)]?_0x2d3602['g'][_0x1bb1ee(0xcee)]:_0x2d3602['g'][_0x1bb1ee(0xb52)],this[_0x1bb1ee(0x3c3)](_0x8e241b,_0x4a652f,_0x587855['generateStencil'],_0x587855[_0x1bb1ee(0x269)],_0x587855[_0x1bb1ee(0x3b0)],_0x587855[_0x1bb1ee(0x2d6)]),this[_0x1bb1ee(0x2fa)][_0x1bb1ee(0x8b3)](_0x8e241b),this[_0x1bb1ee(0x300)][_0x1bb1ee(0x2f7)](_0x8e241b),_0x8e241b);},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0xc25)]=function(_0x4c6830,_0x3a5618,_0x20fef7,_0x42ed8b,_0x3a9a89=null,_0xf8361=null,_0x2e82f2,_0x467b82=null,_0x5a8b9c=!0x1,_0x268fea=0x0,_0xa9804a=0x0,_0x30d233=null,_0x19405f=!0x1){return this['createCubeTextureBase'](_0x4c6830,_0x3a5618,_0x20fef7,!!_0x42ed8b,_0x3a9a89,_0xf8361,_0x2e82f2,_0x467b82,_0x5a8b9c,_0x268fea,_0xa9804a,_0x30d233,null,(_0x3fb7a2,_0x263009)=>{var _0x198f63=a7_0x4956,_0x17a8cd=_0x263009[0x0][_0x198f63(0x503)],_0x2a2954=_0x17a8cd,_0x5574db=(this['_setCubeMapTextureParams'](_0x3fb7a2,!_0x42ed8b),_0x3fb7a2[_0x198f63(0x22f)]=null!=_0x2e82f2?_0x2e82f2:-0x1,this[_0x198f63(0x2fa)]['createGPUTextureForInternalTexture'](_0x3fb7a2,_0x17a8cd,_0x2a2954));this[_0x198f63(0x2fa)][_0x198f63(0x4ef)](_0x263009,_0x5574db['underlyingResource'],_0x17a8cd,_0x2a2954,_0x5574db['format'],!0x1,!0x1,0x0,0x0),_0x42ed8b||this['_generateMipmaps'](_0x3fb7a2,this[_0x198f63(0x61e)]),_0x3fb7a2['isReady']=!0x0,_0x3fb7a2[_0x198f63(0x398)][_0x198f63(0x4a4)](_0x3fb7a2),_0x3fb7a2[_0x198f63(0x398)][_0x198f63(0x36e)](),_0x3a9a89&&_0x3a9a89();},!!_0x19405f);},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0x94e)]=function(_0x5de53c,_0x5a6af4,_0x5797b0){var _0x5f35e8=_0x537f0e;_0x5de53c[_0x5f35e8(0x1eb)]=_0x5a6af4?_0x2d3602['g'][_0x5f35e8(0xb58)]:_0x2d3602['g'][_0x5f35e8(0x988)],_0x5de53c['_cachedWrapU']=_0x2d3602['g'][_0x5f35e8(0xc5f)],_0x5de53c['_cachedWrapV']=_0x2d3602['g']['TEXTURE_CLAMP_ADDRESSMODE'],_0x5797b0&&(_0x5de53c[_0x5f35e8(0x430)]=_0x5797b0);},_0x39f237['f']['prototype'][_0x537f0e(0x963)]=function(_0xef47f8,_0x1bb7f3){var _0x169470=_0x537f0e;if(this['_options']['enableGPUDebugMarkers']){if(0x0===_0x1bb7f3||0x1===_0x1bb7f3){const _0x3b2574=0x0===_0x1bb7f3?this[_0x169470(0x73f)]:this[_0x169470(0x2a9)];_0x3b2574[_0x169470(0x5a7)](_0xef47f8);}else this['_currentRenderPass']?this['_currentRenderPass'][_0x169470(0x5a7)](_0xef47f8):this[_0x169470(0x332)][_0x169470(0x2f7)]([_0x169470(0x2f7),_0xef47f8]);}},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0xb04)]=function(_0x102516){var _0x3caa82=_0x537f0e;if(this[_0x3caa82(0x729)][_0x3caa82(0x3d5)]){if(0x0===_0x102516||0x1===_0x102516){const _0x350c63=0x0===_0x102516?this[_0x3caa82(0x73f)]:this['_renderTargetEncoder'];_0x350c63[_0x3caa82(0x7b0)]();}else this[_0x3caa82(0x97f)]?this[_0x3caa82(0x97f)][_0x3caa82(0x7b0)]():this[_0x3caa82(0x332)][_0x3caa82(0x2f7)](['pop',null]);}},_0x39f237['f']['prototype'][_0x537f0e(0xbfd)]=function(_0x4cb7f6,_0x3b2a19){var _0x50d237=_0x537f0e;if(this[_0x50d237(0x729)][_0x50d237(0x3d5)]){if(0x0===_0x3b2a19||0x1===_0x3b2a19){const _0x1204fd=0x0===_0x3b2a19?this[_0x50d237(0x73f)]:this['_renderTargetEncoder'];_0x1204fd[_0x50d237(0x3be)](_0x4cb7f6);}else this['_currentRenderPass']?this[_0x50d237(0x97f)][_0x50d237(0x3be)](_0x4cb7f6):this[_0x50d237(0x332)][_0x50d237(0x2f7)]([_0x50d237(0x273),_0x4cb7f6]);}},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0xa32)]=function(){var _0x479a9a=_0x537f0e;for(let _0x528e9f=0x0;_0x528e9f<this[_0x479a9a(0x332)][_0x479a9a(0x9ff)];++_0x528e9f){var [_0x2a3de3,_0x4774ce]=this[_0x479a9a(0x332)][_0x528e9f];switch(_0x2a3de3){case _0x479a9a(0x2f7):this['_debugPushGroup'](_0x4774ce);break;case'pop':this[_0x479a9a(0xb04)]();break;case _0x479a9a(0x273):this[_0x479a9a(0xbfd)](_0x4774ce);}}this[_0x479a9a(0x332)][_0x479a9a(0x9ff)]=0x0;},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0x5d0)]=function(_0x40edb0,_0x39abc1,_0x49baa2=0x0){var _0x2a7dc8=_0x537f0e,_0x56ee82=_0x40edb0,_0x40edb0=_0x40edb0[_0x2a7dc8(0x71c)]?_0x39abc1 instanceof Uint32Array?_0x39abc1:new Uint32Array(_0x39abc1):_0x39abc1 instanceof Uint16Array?_0x39abc1:new Uint16Array(_0x39abc1);this[_0x2a7dc8(0x195)][_0x2a7dc8(0xc74)](_0x56ee82,_0x49baa2,_0x40edb0);},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0x918)]=function(_0x13510f,_0x4b41e0,_0x4aaead,_0x10703f){var _0x4d6e1f=_0x537f0e;void 0x0===_0x4aaead&&(_0x4aaead=0x0);let _0x14da0d;void 0x0===_0x10703f?_0x10703f=(_0x14da0d=_0x4b41e0 instanceof Array?new Float32Array(_0x4b41e0):_0x4b41e0 instanceof ArrayBuffer?new Uint8Array(_0x4b41e0):_0x4b41e0)[_0x4d6e1f(0x247)]:_0x14da0d=_0x4b41e0 instanceof Array?new Float32Array(_0x4b41e0):_0x4b41e0 instanceof ArrayBuffer?new Uint8Array(_0x4b41e0):_0x4b41e0,this[_0x4d6e1f(0x195)][_0x4d6e1f(0xc74)](_0x13510f,_0x4aaead,_0x14da0d,0x0,_0x10703f);},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0xa70)]=function(_0x203282,_0x346c83,_0x1d7afe,_0x26e80f=!0x1,_0x180a79,_0x15cef8,_0x1a11c6){var _0x5b8eba=_0x537f0e,_0x241624;if(_0x203282){var _0x51da49=_0x346c83[_0x5b8eba(0x503)],_0x4543cc=_0x346c83[_0x5b8eba(0x7f5)];let _0x215686=_0x203282[_0x5b8eba(0x835)];null!=(_0x241624=_0x203282['_hardwareTexture'])&&_0x241624['underlyingResource']||(_0x215686=this[_0x5b8eba(0x2fa)][_0x5b8eba(0x8b3)](_0x203282,_0x51da49,_0x4543cc)),this[_0x5b8eba(0x2fa)][_0x5b8eba(0xbe4)](_0x346c83,_0x203282,_0x51da49,_0x4543cc,_0x203282[_0x5b8eba(0x281)],_0x215686[_0x5b8eba(0x22f)],0x0,0x0,_0x1d7afe,_0x26e80f,0x0,0x0,_0x1a11c6),_0x203282['generateMipMaps']&&this[_0x5b8eba(0x64a)](_0x203282,this[_0x5b8eba(0x61e)]),_0x203282['isReady']=!0x0;}};class _0x1befb4 extends _0x582f53(0x6537)['x']{constructor(_0x6f7f0b){super(_0x6f7f0b);}}var _0x243c34=_0x582f53(0x1533d),_0x30665e=(_0x243c34['Q']['prototype'][_0x537f0e(0x952)]=function(_0x52759f,_0x591737){var _0x564035=_0x537f0e;this[_0x564035(0x8ba)][_0x564035(0x952)](_0x52759f,_0x591737);},_0x39f237['f'][_0x537f0e(0x21e)]['createExternalTexture']=function(_0x230952){return new _0x1befb4(_0x230952);},_0x39f237['f'][_0x537f0e(0x21e)]['setExternalTexture']=function(_0x520db5,_0x100683){var _0xe6513b=_0x537f0e;_0x100683?this[_0xe6513b(0x2e9)](_0x520db5,_0x100683):this['_currentMaterialContext'][_0xe6513b(0x353)](_0x520db5,null);},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0x257)]=function(_0x52dd4c,_0x1cdb5d=!0x1,_0x2cf62c){var _0x3d9060=_0x537f0e;_0x2cf62c&&_0x2cf62c();var _0xa2409c=_0x52dd4c['_attachments'][_0x3d9060(0x9ff)];this['_currentRenderPass']&&this[_0x3d9060(0x97f)]!==this[_0x3d9060(0x7e2)][_0x3d9060(0x8e8)]&&this[_0x3d9060(0x897)]();for(let _0x4b2e32=0x0;_0x4b2e32<_0xa2409c;_0x4b2e32++){var _0x57aa4d=_0x52dd4c[_0x3d9060(0xb2e)][_0x4b2e32];!_0x57aa4d[_0x3d9060(0x5d6)]||_0x1cdb5d||_0x57aa4d[_0x3d9060(0xaac)]||this[_0x3d9060(0x64a)](_0x57aa4d);}this[_0x3d9060(0xac2)]=null,this['_mrtAttachments']=[],this[_0x3d9060(0x53e)]['setMRT']([]),this[_0x3d9060(0x53e)]['setMRTAttachments'](this[_0x3d9060(0x3ae)]),this[_0x3d9060(0x97f)]=this[_0x3d9060(0x7e2)][_0x3d9060(0x8e8)],this['_setDepthTextureFormat'](this[_0x3d9060(0x7e2)]),this[_0x3d9060(0x447)](this[_0x3d9060(0x7e2)]);},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0x9a1)]=function(_0x255178,_0x45e89c,_0x8e6bc3){var _0xbb08a9=_0x537f0e,_0x339aee,_0x3df56a;let _0x3798a9=!0x1,_0x12e36d=!0x0,_0x208329=!0x1,_0x1748b2=!0x1,_0x44b3c1=_0x2d3602['g'][_0xbb08a9(0x5f5)],_0x3e395e=0x1;var _0x326057=_0x2d3602['g']['TEXTURETYPE_UNSIGNED_INT'],_0x4c8d3a=_0x2d3602['g'][_0xbb08a9(0xb58)],_0x6c41b=_0x2d3602['g']['TEXTUREFORMAT_RGBA'],_0x40af78=_0x2d3602['g'][_0xbb08a9(0xa62)];let _0x4a1e2b=new Array(),_0x4b524b=new Array(),_0x54001f=new Array(),_0x4a19c9=new Array(),_0xb168a4=new Array(),_0x53a62d=new Array(),_0x2c3932=new Array(),_0x15c316=new Array();const _0x1edb6e=this[_0xbb08a9(0xc7f)](!0x0,!0x1,_0x255178);void 0x0!==_0x45e89c&&(_0x3798a9=void 0x0!==_0x45e89c[_0xbb08a9(0x5d6)]&&_0x45e89c[_0xbb08a9(0x5d6)],_0x12e36d=void 0x0===_0x45e89c['generateDepthBuffer']||_0x45e89c[_0xbb08a9(0x631)],_0x208329=void 0x0!==_0x45e89c['generateStencilBuffer']&&_0x45e89c[_0xbb08a9(0x1b4)],_0x1748b2=void 0x0!==_0x45e89c[_0xbb08a9(0xc76)]&&_0x45e89c[_0xbb08a9(0xc76)],_0x3e395e=_0x45e89c[_0xbb08a9(0x3e8)]||0x1,_0x44b3c1=null!=(_0x339aee=_0x45e89c[_0xbb08a9(0x40a)])?_0x339aee:_0x2d3602['g'][_0xbb08a9(0x5f5)],_0x45e89c['types']&&(_0x4a1e2b=_0x45e89c['types']),_0x45e89c['samplingModes']&&(_0x4b524b=_0x45e89c[_0xbb08a9(0x236)]),_0x45e89c[_0xbb08a9(0x1a5)]&&(_0x54001f=_0x45e89c[_0xbb08a9(0x1a5)]),_0x45e89c[_0xbb08a9(0x265)]&&(_0x4a19c9=_0x45e89c['formats']),_0x45e89c[_0xbb08a9(0xbfa)]&&(_0xb168a4=_0x45e89c[_0xbb08a9(0xbfa)]),_0x45e89c[_0xbb08a9(0xa05)]&&(_0x53a62d=_0x45e89c['faceIndex']),_0x45e89c[_0xbb08a9(0x7d6)]&&(_0x2c3932=_0x45e89c[_0xbb08a9(0x7d6)]),_0x45e89c[_0xbb08a9(0xa89)]&&(_0x15c316=_0x45e89c[_0xbb08a9(0xa89)]));var _0x273712=_0x255178[_0xbb08a9(0x503)]||_0x255178,_0x296614=_0x255178[_0xbb08a9(0x7f5)]||_0x255178;let _0xd0ff25=null;(_0x12e36d||_0x208329||_0x1748b2)&&(_0x1748b2||(_0x44b3c1=_0x12e36d&&_0x208329?_0x2d3602['g']['TEXTUREFORMAT_DEPTH24_STENCIL8']:_0x12e36d?_0x2d3602['g'][_0xbb08a9(0xb52)]:_0x2d3602['g'][_0xbb08a9(0x49f)]),_0xd0ff25=_0x1edb6e[_0xbb08a9(0x3ee)](0x0,!0x1,_0x208329,0x1,_0x44b3c1));const _0x168903=[],_0x1cffe2=[],_0x5c5776=[];_0x1edb6e[_0xbb08a9(0x5a9)]=_0x12e36d,_0x1edb6e[_0xbb08a9(0xc00)]=_0x208329,_0x1edb6e['_attachments']=_0x1cffe2,_0x1edb6e[_0xbb08a9(0x6b7)]=_0x5c5776;for(let _0x39b0b4=0x0;_0x39b0b4<_0x3e395e;_0x39b0b4++){let _0x531098=_0x4b524b[_0x39b0b4]||_0x4c8d3a,_0x3150b6=_0x4a1e2b[_0x39b0b4]||_0x326057;var _0x4b1c54=_0x4a19c9[_0x39b0b4]||_0x6c41b,_0x30295f=!!_0x54001f[_0x39b0b4]&&this[_0xbb08a9(0xb42)][_0xbb08a9(0x4cb)],_0x518efc=_0xb168a4[_0x39b0b4]||_0x40af78,_0x23a1d6=null!=(_0x3df56a=_0x15c316[_0x39b0b4])?_0x3df56a:0x1;if((_0x3150b6===_0x2d3602['g'][_0xbb08a9(0x8ef)]&&!this[_0xbb08a9(0xb42)]['textureFloatLinearFiltering']||_0x3150b6===_0x2d3602['g']['TEXTURETYPE_HALF_FLOAT']&&!this['_caps'][_0xbb08a9(0x7be)])&&(_0x531098=_0x2d3602['g']['TEXTURE_NEAREST_SAMPLINGMODE']),_0x3150b6!==_0x2d3602['g'][_0xbb08a9(0x8ef)]||this[_0xbb08a9(0xb42)][_0xbb08a9(0x9dd)]||(_0x3150b6=_0x2d3602['g'][_0xbb08a9(0xb46)],_0x94772a['Y']['Warn']('Float\x20textures\x20are\x20not\x20supported.\x20Render\x20target\x20forced\x20to\x20TEXTURETYPE_UNSIGNED_BYTE\x20type')),_0x1cffe2['push'](_0x39b0b4+0x1),_0x5c5776[_0xbb08a9(0x2f7)](_0x8e6bc3?_0x39b0b4+0x1:0x0===_0x39b0b4?0x1:0x0),-0x1!==_0x518efc){const _0x3d552c=new _0x4ac915['l'](this,_0x4ac915['S'][_0xbb08a9(0x458)]);switch(_0x168903[_0x39b0b4]=_0x3d552c,_0x518efc){case _0x2d3602['g'][_0xbb08a9(0x883)]:_0x3d552c[_0xbb08a9(0xaac)]=!0x0;break;case _0x2d3602['g']['TEXTURE_3D']:_0x3d552c[_0xbb08a9(0xa7c)]=!0x0,_0x3d552c[_0xbb08a9(0x733)]=_0x3d552c[_0xbb08a9(0x281)]=_0x23a1d6;break;case _0x2d3602['g'][_0xbb08a9(0x4c1)]:_0x3d552c['is2DArray']=!0x0,_0x3d552c['baseDepth']=_0x3d552c['depth']=_0x23a1d6;}_0x3d552c[_0xbb08a9(0x7ea)]=_0x273712,_0x3d552c[_0xbb08a9(0x644)]=_0x296614,_0x3d552c['width']=_0x273712,_0x3d552c[_0xbb08a9(0x7f5)]=_0x296614,_0x3d552c['isReady']=!0x0,_0x3d552c['samples']=0x1,_0x3d552c[_0xbb08a9(0x5d6)]=_0x3798a9,_0x3d552c['samplingMode']=_0x531098,_0x3d552c[_0xbb08a9(0x844)]=_0x3150b6,_0x3d552c[_0xbb08a9(0x978)]=_0x2d3602['g'][_0xbb08a9(0xc5f)],_0x3d552c[_0xbb08a9(0xb79)]=_0x2d3602['g'][_0xbb08a9(0xc5f)],_0x3d552c['_useSRGBBuffer']=_0x30295f,_0x3d552c[_0xbb08a9(0x22f)]=_0x4b1c54,this[_0xbb08a9(0x300)][_0xbb08a9(0x2f7)](_0x3d552c),this[_0xbb08a9(0x2fa)][_0xbb08a9(0x8b3)](_0x3d552c);}}return _0xd0ff25&&(_0xd0ff25['incrementReferences'](),_0x168903[_0x3e395e]=_0xd0ff25,this[_0xbb08a9(0x300)][_0xbb08a9(0x2f7)](_0xd0ff25)),_0x1edb6e['setTextures'](_0x168903),_0x1edb6e[_0xbb08a9(0x8d9)](_0x2c3932,_0x53a62d),_0x1edb6e;},_0x39f237['f']['prototype'][_0x537f0e(0x1a2)]=function(_0x3987c5,_0x1d5a6c){var _0x3d83b5=_0x537f0e;if(!_0x3987c5||!_0x3987c5[_0x3d83b5(0xb2e)]||_0x3987c5[_0x3d83b5(0xb2e)][0x0][_0x3d83b5(0x2d6)]===_0x1d5a6c)return _0x1d5a6c;var _0x5c2887=_0x3987c5[_0x3d83b5(0xb2e)]['length'];if(0x0===_0x5c2887)return 0x1;_0x1d5a6c=Math[_0x3d83b5(0x4fd)](_0x1d5a6c,this['getCaps']()[_0x3d83b5(0x33a)]);for(let _0x2b434a=0x0;_0x2b434a<_0x5c2887;++_0x2b434a){const _0x5e5d89=_0x3987c5['textures'][_0x2b434a][_0x3d83b5(0x835)];null!==_0x5e5d89&&void 0x0!==_0x5e5d89&&_0x5e5d89[_0x3d83b5(0x960)]();}var _0x2ab04f=_0x3987c5['_depthStencilTexture']===_0x3987c5['textures'][_0x5c2887-0x1];for(let _0x366050=0x0;_0x366050<_0x5c2887;++_0x366050){const _0xb37299=_0x3987c5[_0x3d83b5(0xb2e)][_0x366050];this['_textureHelper'][_0x3d83b5(0x73a)](_0xb37299,_0x1d5a6c,!0x1,_0x366050===_0x5c2887-0x1&&_0x2ab04f?0x0:_0x366050),_0xb37299['samples']=_0x1d5a6c;}return _0x3987c5['_depthStencilTexture']&&!_0x2ab04f&&(this[_0x3d83b5(0x2fa)][_0x3d83b5(0x73a)](_0x3987c5[_0x3d83b5(0x8ae)],_0x1d5a6c),_0x3987c5[_0x3d83b5(0x8ae)]['samples']=_0x1d5a6c),_0x1d5a6c;},_0x39f237['f']['prototype'][_0x537f0e(0x2f5)]=function(_0x283374){var _0x572b94=_0x537f0e;0x0!==_0x283374[_0x572b94(0x9ff)]&&this['_currentRenderTarget']&&(this['_mrtAttachments']=_0x283374,this[_0x572b94(0x97f)]&&this[_0x572b94(0x53e)][_0x572b94(0x1a1)](_0x283374));},_0x39f237['f']['prototype'][_0x537f0e(0xcf1)]=function(_0x5cb70a){var _0x4e655e=_0x537f0e;const _0x563dc0=[];for(let _0x1cfc25=0x0;_0x1cfc25<_0x5cb70a[_0x4e655e(0x9ff)];_0x1cfc25++)_0x5cb70a[_0x1cfc25]?_0x563dc0[_0x4e655e(0x2f7)](_0x1cfc25+0x1):_0x563dc0[_0x4e655e(0x2f7)](0x0);return _0x563dc0;},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0x993)]=function(){},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0x615)]=function(){},_0x582f53(0x12418));function _0x5fdf85(_0x59813e,_0x37bc09,_0x48e885,_0x75622f){var _0x592107=_0x537f0e;let _0x34e1eb,_0x3d02d9=0x1;_0x75622f===_0x2d3602['g'][_0x592107(0x8ef)]?_0x34e1eb=new Float32Array(_0x37bc09*_0x48e885*0x4):_0x75622f===_0x2d3602['g'][_0x592107(0xc7c)]?(_0x34e1eb=new Uint16Array(_0x37bc09*_0x48e885*0x4),_0x3d02d9=0x3c00):_0x34e1eb=new(_0x75622f===_0x2d3602['g'][(_0x592107(0x24f))]?Uint32Array:Uint8Array)(_0x37bc09*_0x48e885*0x4);for(let _0x2d587c=0x0;_0x2d587c<_0x37bc09;_0x2d587c++)for(let _0x43a762=0x0;_0x43a762<_0x48e885;_0x43a762++){var _0x2c4ff1=0x3*(_0x43a762*_0x37bc09+_0x2d587c),_0x3cbcb2=0x4*(_0x43a762*_0x37bc09+_0x2d587c);_0x34e1eb[0x0+_0x3cbcb2]=_0x59813e[0x0+_0x2c4ff1],_0x34e1eb[0x1+_0x3cbcb2]=_0x59813e[0x1+_0x2c4ff1],_0x34e1eb[0x2+_0x3cbcb2]=_0x59813e[0x2+_0x2c4ff1],_0x34e1eb[0x3+_0x3cbcb2]=_0x3d02d9;}return _0x34e1eb;}_0x39f237['f']['prototype'][_0x537f0e(0x1a6)]=function(){var _0x49e6a7=_0x537f0e;return this[_0x49e6a7(0xce1)][_0x49e6a7(0x63e)];},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0x81d)]=function(_0x3d8837){var _0x49e2f1=_0x537f0e;this['_timestampQuery'][_0x49e2f1(0x4d2)]=_0x3d8837&&!!this[_0x49e2f1(0xb42)][_0x49e2f1(0x3d9)];},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0xb75)]=function(){var _0x410f75=_0x537f0e;return this[_0x410f75(0x490)]['createQuery']();},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0x9f4)]=function(_0x8359bd){var _0x500378=_0x537f0e;return this[_0x500378(0x490)][_0x500378(0x9f4)](_0x8359bd),this;},_0x39f237['f']['prototype']['isQueryResultAvailable']=function(_0x3e8392){var _0x3b6a20=_0x537f0e;return this[_0x3b6a20(0x490)][_0x3b6a20(0xd2e)](_0x3e8392);},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0xacc)]=function(_0x136dff){var _0x94ccf4=_0x537f0e;return this['_occlusionQuery'][_0x94ccf4(0xacc)](_0x136dff);},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0xca7)]=function(_0x2f984b,_0x2d446c){var _0x4ca10d=_0x537f0e,_0x3ff407;if(this[_0x4ca10d(0x792)])return!!this[_0x4ca10d(0x490)][_0x4ca10d(0x42e)]&&(null!=(_0x3ff407=this[_0x4ca10d(0x97f)])&&_0x3ff407[_0x4ca10d(0xca7)](_0x2d446c),!0x0);{const _0x2344f7=0x0===this['_getCurrentRenderPassIndex']()?this['_bundleList']:this['_bundleListRenderTarget'];return _0x2344f7[_0x4ca10d(0x68b)](new _0x30665e['GB'](_0x2d446c)),!0x0;}},_0x39f237['f'][_0x537f0e(0x21e)]['endOcclusionQuery']=function(){var _0x25c4f5=_0x537f0e,_0x3bc123;if(this[_0x25c4f5(0x792)])null!=(_0x3bc123=this[_0x25c4f5(0x97f)])&&_0x3bc123[_0x25c4f5(0xa58)]();else{const _0x90eb90=0x0===this[_0x25c4f5(0x1e5)]()?this['_bundleList']:this[_0x25c4f5(0x2a4)];_0x90eb90[_0x25c4f5(0x68b)](new _0x30665e['fw']());}return this;},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0x5d8)]=function(_0x3fc05f,_0x5057a2,_0x46d73d,_0xd65af3,_0x522167,_0x7a469e,_0x1940f2,_0x54d362=null,_0x2ada37=_0x2d3602['g'][_0x537f0e(0xb46)],_0x138fd7=0x0,_0x30550f=!0x1){var _0x22dd84=_0x537f0e;const _0x13a11b=new _0x4ac915['l'](this,_0x4ac915['S'][_0x22dd84(0x770)]);return _0x13a11b[_0x22dd84(0x7ea)]=_0x5057a2,_0x13a11b[_0x22dd84(0x644)]=_0x46d73d,_0x13a11b[_0x22dd84(0x503)]=_0x5057a2,_0x13a11b['height']=_0x46d73d,_0x13a11b[_0x22dd84(0x22f)]=_0xd65af3,_0x13a11b[_0x22dd84(0x5d6)]=_0x522167,_0x13a11b['samplingMode']=_0x1940f2,_0x13a11b[_0x22dd84(0x6c4)]=_0x7a469e,_0x13a11b[_0x22dd84(0xc45)]=_0x54d362,_0x13a11b[_0x22dd84(0x844)]=_0x2ada37,_0x13a11b[_0x22dd84(0x2e8)]=_0x30550f,this['_doNotHandleContextLost']||(_0x13a11b[_0x22dd84(0xb7f)]=_0x3fc05f),this[_0x22dd84(0x2fa)][_0x22dd84(0x8b3)](_0x13a11b,_0x5057a2,_0x46d73d,void 0x0,_0x138fd7),this[_0x22dd84(0xb2d)](_0x13a11b,_0x3fc05f,_0xd65af3,_0x7a469e,_0x54d362,_0x2ada37,_0x30550f),this[_0x22dd84(0x300)]['push'](_0x13a11b),_0x13a11b;},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0xb2d)]=function(_0x390d9a,_0x1ab0c6,_0x23f41f,_0xd1398f,_0x34e0d0=null,_0x37e439=_0x2d3602['g'][_0x537f0e(0xb46)],_0x4b57eb=!0x1){var _0xa61757=_0x537f0e;_0x390d9a&&(this[_0xa61757(0x46f)]||(_0x390d9a[_0xa61757(0xb7f)]=_0x1ab0c6,_0x390d9a[_0xa61757(0x6c4)]=_0xd1398f,_0x390d9a[_0xa61757(0xc45)]=_0x34e0d0,_0x390d9a[_0xa61757(0x2e8)]=_0x4b57eb),_0x1ab0c6&&(_0x34e0d0=_0x390d9a['_hardwareTexture'],_0x23f41f===_0x2d3602['g'][_0xa61757(0x4e4)]&&(_0x1ab0c6=_0x5fdf85(_0x1ab0c6,_0x390d9a['width'],_0x390d9a[_0xa61757(0x7f5)],_0x37e439)),_0x4b57eb=new Uint8Array(_0x1ab0c6[_0xa61757(0x500)],_0x1ab0c6['byteOffset'],_0x1ab0c6[_0xa61757(0x247)]),this[_0xa61757(0x2fa)][_0xa61757(0xbe4)](_0x4b57eb,_0x390d9a,_0x390d9a['width'],_0x390d9a[_0xa61757(0x7f5)],_0x390d9a[_0xa61757(0x281)],_0x34e0d0['format'],0x0,0x0,_0xd1398f,!0x1,0x0,0x0),_0x390d9a[_0xa61757(0x5d6)]&&this[_0xa61757(0x64a)](_0x390d9a,this['_uploadEncoder'])),_0x390d9a[_0xa61757(0x834)]=!0x0);},_0x39f237['f']['prototype'][_0x537f0e(0xd2d)]=function(_0x36281c,_0x462046,_0x4b0167,_0xdef3b0,_0x3cfdb9,_0x561c36,_0x3d0647,_0xf26632=null){var _0x3bd0ee=_0x537f0e;const _0x58570f=new _0x4ac915['l'](this,_0x4ac915['S'][_0x3bd0ee(0xd4c)]);return _0xdef3b0!==_0x2d3602['g'][_0x3bd0ee(0x8ef)]||this[_0x3bd0ee(0xb42)][_0x3bd0ee(0xb33)]?_0xdef3b0!==_0x2d3602['g'][_0x3bd0ee(0xc7c)]||this[_0x3bd0ee(0xb42)][_0x3bd0ee(0x7be)]?_0xdef3b0!==_0x2d3602['g'][_0x3bd0ee(0x8ef)]||this[_0x3bd0ee(0xb42)][_0x3bd0ee(0x818)]?_0xdef3b0!==_0x2d3602['g'][_0x3bd0ee(0xc7c)]||this[_0x3bd0ee(0xb42)]['colorBufferFloat']||(_0x3cfdb9=!0x1,_0x94772a['Y'][_0x3bd0ee(0x555)](_0x3bd0ee(0x9fe))):(_0x3cfdb9=!0x1,_0x94772a['Y']['Warn'](_0x3bd0ee(0xaa1))):(_0x3cfdb9=!0x1,_0x3d0647=_0x2d3602['g'][_0x3bd0ee(0xcfa)],_0x94772a['Y'][_0x3bd0ee(0x555)]('Half\x20float\x20texture\x20filtering\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20and\x20sampling\x20mode\x20are\x20forced\x20to\x20false\x20and\x20TEXTURE_NEAREST_SAMPLINGMODE,\x20respectively.')):(_0x3cfdb9=!0x1,_0x3d0647=_0x2d3602['g']['TEXTURE_NEAREST_SAMPLINGMODE'],_0x94772a['Y'][_0x3bd0ee(0x555)]('Float\x20texture\x20filtering\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20and\x20sampling\x20mode\x20are\x20forced\x20to\x20false\x20and\x20TEXTURE_NEAREST_SAMPLINGMODE,\x20respectively.')),_0x58570f['isCube']=!0x0,_0x58570f[_0x3bd0ee(0x22f)]=_0x4b0167===_0x2d3602['g'][_0x3bd0ee(0x4e4)]?_0x2d3602['g'][_0x3bd0ee(0x1f2)]:_0x4b0167,_0x58570f['type']=_0xdef3b0,_0x58570f[_0x3bd0ee(0x5d6)]=_0x3cfdb9,_0x58570f[_0x3bd0ee(0x503)]=_0x462046,_0x58570f[_0x3bd0ee(0x7f5)]=_0x462046,_0x58570f['samplingMode']=_0x3d0647,this[_0x3bd0ee(0x46f)]||(_0x58570f[_0x3bd0ee(0x838)]=_0x36281c),_0x58570f[_0x3bd0ee(0x6c4)]=_0x561c36,_0x58570f['_compression']=_0xf26632,_0x58570f[_0x3bd0ee(0x978)]=_0x2d3602['g'][_0x3bd0ee(0xc5f)],_0x58570f[_0x3bd0ee(0xb79)]=_0x2d3602['g'][_0x3bd0ee(0xc5f)],this[_0x3bd0ee(0x2fa)][_0x3bd0ee(0x8b3)](_0x58570f),_0x36281c&&this[_0x3bd0ee(0xae1)](_0x58570f,_0x36281c,_0x4b0167,_0xdef3b0,_0x561c36,_0xf26632),_0x58570f['isReady']=!0x0,_0x58570f;},_0x39f237['f'][_0x537f0e(0x21e)]['updateRawCubeTexture']=function(_0x5df4e2,_0x6a5535,_0x1a9153,_0x1914a9,_0x39ae49,_0x3a3f8d=null){var _0x1d675b=_0x537f0e;_0x5df4e2[_0x1d675b(0x838)]=_0x6a5535,_0x5df4e2[_0x1d675b(0x6c4)]=_0x39ae49,_0x5df4e2[_0x1d675b(0xc45)]=_0x3a3f8d;var _0x3a3f8d=_0x5df4e2[_0x1d675b(0x835)],_0x5a9010=_0x1a9153===_0x2d3602['g']['TEXTUREFORMAT_RGB'];const _0x532c46=[];for(let _0x345a4d=0x0;_0x345a4d<_0x6a5535[_0x1d675b(0x9ff)];++_0x345a4d){let _0x176f74=_0x6a5535[_0x345a4d];_0x5a9010&&(_0x176f74=_0x5fdf85(_0x6a5535[_0x345a4d],_0x5df4e2['width'],_0x5df4e2['height'],_0x1914a9)),_0x532c46['push'](new Uint8Array(_0x176f74['buffer'],_0x176f74['byteOffset'],_0x176f74[_0x1d675b(0x247)]));}this[_0x1d675b(0x2fa)][_0x1d675b(0x4ef)](_0x532c46,_0x3a3f8d['underlyingResource'],_0x5df4e2[_0x1d675b(0x503)],_0x5df4e2[_0x1d675b(0x7f5)],_0x3a3f8d['format'],_0x39ae49,!0x1,0x0,0x0),_0x5df4e2[_0x1d675b(0x5d6)]&&this[_0x1d675b(0x64a)](_0x5df4e2,this[_0x1d675b(0x61e)]),_0x5df4e2[_0x1d675b(0x834)]=!0x0;},_0x39f237['f']['prototype'][_0x537f0e(0x8ec)]=function(_0x24b5bd,_0x515191,_0xb73f6a,_0xdc12e4,_0x19854e,_0x5ec6f7,_0x8f498d,_0x15ed9b,_0x25a314=null,_0x4a82be=null,_0x4bf220=_0x2d3602['g'][_0x537f0e(0xb58)],_0x53e96a=!0x1){var _0x2c5b30=_0x537f0e;const _0xd1e6c2=this[_0x2c5b30(0xd2d)](null,_0xb73f6a,_0xdc12e4,_0x19854e,!_0x5ec6f7,_0x53e96a,_0x4bf220,null),_0x306a5f=(null!=_0x515191&&_0x515191[_0x2c5b30(0x436)](_0xd1e6c2),_0xd1e6c2[_0x2c5b30(0x509)]=_0x24b5bd,this['_internalTexturesCache'][_0x2c5b30(0x2f7)](_0xd1e6c2),_0x5ddc8e=>{var _0x3ef5b2=_0x2c5b30,_0x3840d8=_0xd1e6c2[_0x3ef5b2(0x503)],_0x7718a4=_0x8f498d(_0x5ddc8e);if(_0x7718a4){var _0x24d982=[0x0,0x2,0x4,0x1,0x3,0x5];if(_0x15ed9b){var _0xcaf4fb=_0xdc12e4===_0x2d3602['g'][_0x3ef5b2(0x4e4)],_0x2273bb=_0x15ed9b(_0x7718a4),_0x31850d=_0xd1e6c2[_0x3ef5b2(0x835)];const _0x60e39a=[0x0,0x1,0x2,0x3,0x4,0x5];for(let _0x56a61a=0x0;_0x56a61a<_0x2273bb[_0x3ef5b2(0x9ff)];_0x56a61a++){var _0x54247f=_0x3840d8>>_0x56a61a;const _0x4ece8e=[];for(let _0x2f5a99=0x0;_0x2f5a99<0x6;_0x2f5a99++){let _0x43eb82=_0x2273bb[_0x56a61a][_0x60e39a[_0x2f5a99]];_0xcaf4fb&&(_0x43eb82=_0x5fdf85(_0x43eb82,_0x54247f,_0x54247f,_0x19854e)),_0x4ece8e[_0x3ef5b2(0x2f7)](new Uint8Array(_0x43eb82[_0x3ef5b2(0x500)],_0x43eb82[_0x3ef5b2(0x705)],_0x43eb82[_0x3ef5b2(0x247)]));}this[_0x3ef5b2(0x2fa)][_0x3ef5b2(0x4ef)](_0x4ece8e,_0x31850d[_0x3ef5b2(0x597)],_0x54247f,_0x54247f,_0x31850d['format'],_0x53e96a,!0x1,0x0,0x0);}}else{const _0x3799e7=[];for(let _0x56c382=0x0;_0x56c382<0x6;_0x56c382++)_0x3799e7[_0x3ef5b2(0x2f7)](_0x7718a4[_0x24d982[_0x56c382]]);this[_0x3ef5b2(0xae1)](_0xd1e6c2,_0x3799e7,_0xdc12e4,_0x19854e,_0x53e96a);}_0xd1e6c2[_0x3ef5b2(0x834)]=!0x0,null!=_0x515191&&_0x515191[_0x3ef5b2(0xab4)](_0xd1e6c2),_0x25a314&&_0x25a314();}});return this[_0x2c5b30(0xb01)](_0x24b5bd,_0x1b4ef3=>{_0x306a5f(_0x1b4ef3);},void 0x0,null==_0x515191?void 0x0:_0x515191[_0x2c5b30(0x561)],!0x0,(_0x10caf2,_0x36e4f1)=>{var _0x9ab273=_0x2c5b30;null!=_0x515191&&_0x515191[_0x9ab273(0xab4)](_0xd1e6c2),_0x4a82be&&_0x10caf2&&_0x4a82be(_0x10caf2[_0x9ab273(0xc1e)]+'\x20'+_0x10caf2[_0x9ab273(0x92e)],_0x36e4f1);}),_0xd1e6c2;},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0x3de)]=function(_0x1be807,_0x1807a9,_0x454f70,_0x1f0e46,_0x37e6e2,_0xe1ebae,_0x1de322,_0x3d9d1c,_0x53d12c=null,_0x20c339=_0x2d3602['g']['TEXTURETYPE_UNSIGNED_INT'],_0x494d28=0x0){var _0x364b2f=_0x537f0e,_0x1b7934=_0x4ac915['S'][_0x364b2f(0x1fa)];const _0x3beb99=new _0x4ac915['l'](this,_0x1b7934);return _0x3beb99[_0x364b2f(0x7ea)]=_0x1807a9,_0x3beb99[_0x364b2f(0x644)]=_0x454f70,_0x3beb99[_0x364b2f(0x733)]=_0x1f0e46,_0x3beb99[_0x364b2f(0x503)]=_0x1807a9,_0x3beb99[_0x364b2f(0x7f5)]=_0x454f70,_0x3beb99[_0x364b2f(0x281)]=_0x1f0e46,_0x3beb99[_0x364b2f(0x22f)]=_0x37e6e2,_0x3beb99[_0x364b2f(0x844)]=_0x20c339,_0x3beb99[_0x364b2f(0x5d6)]=_0xe1ebae,_0x3beb99[_0x364b2f(0x1eb)]=_0x3d9d1c,_0x3beb99['is3D']=!0x0,this[_0x364b2f(0x46f)]||(_0x3beb99[_0x364b2f(0xb7f)]=_0x1be807),this[_0x364b2f(0x2fa)]['createGPUTextureForInternalTexture'](_0x3beb99,_0x1807a9,_0x454f70,void 0x0,_0x494d28),this[_0x364b2f(0x768)](_0x3beb99,_0x1be807,_0x37e6e2,_0x1de322,_0x53d12c,_0x20c339),this['_internalTexturesCache'][_0x364b2f(0x2f7)](_0x3beb99),_0x3beb99;},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0x768)]=function(_0x29ac4f,_0x3d05dd,_0x53eb63,_0x1e05a2,_0x40adb8=null,_0x4f16f2=_0x2d3602['g'][_0x537f0e(0xb46)]){var _0x35af5d=_0x537f0e;this[_0x35af5d(0x46f)]||(_0x29ac4f['_bufferView']=_0x3d05dd,_0x29ac4f[_0x35af5d(0x22f)]=_0x53eb63,_0x29ac4f['invertY']=_0x1e05a2,_0x29ac4f[_0x35af5d(0xc45)]=_0x40adb8),_0x3d05dd&&(_0x40adb8=_0x29ac4f[_0x35af5d(0x835)],_0x53eb63===_0x2d3602['g'][_0x35af5d(0x4e4)]&&(_0x3d05dd=_0x5fdf85(_0x3d05dd,_0x29ac4f['width'],_0x29ac4f[_0x35af5d(0x7f5)],_0x4f16f2)),_0x53eb63=new Uint8Array(_0x3d05dd[_0x35af5d(0x500)],_0x3d05dd['byteOffset'],_0x3d05dd[_0x35af5d(0x247)]),this['_textureHelper']['updateTexture'](_0x53eb63,_0x29ac4f,_0x29ac4f['width'],_0x29ac4f[_0x35af5d(0x7f5)],_0x29ac4f[_0x35af5d(0x281)],_0x40adb8[_0x35af5d(0x22f)],0x0,0x0,_0x1e05a2,!0x1,0x0,0x0),_0x29ac4f[_0x35af5d(0x5d6)]&&this[_0x35af5d(0x64a)](_0x29ac4f,this[_0x35af5d(0x61e)])),_0x29ac4f[_0x35af5d(0x834)]=!0x0;},_0x39f237['f'][_0x537f0e(0x21e)]['createRawTexture2DArray']=function(_0x41c217,_0x10a58e,_0x30271e,_0x5d6fd3,_0x504857,_0x389064,_0x3c75b0,_0x5ce2a9,_0x150fb3=null,_0x2de0ec=_0x2d3602['g'][_0x537f0e(0xb46)],_0x1836e9=0x0){var _0x3d3120=_0x537f0e,_0x48d59a=_0x4ac915['S'][_0x3d3120(0x802)];const _0x1de5a6=new _0x4ac915['l'](this,_0x48d59a);return _0x1de5a6['baseWidth']=_0x10a58e,_0x1de5a6[_0x3d3120(0x644)]=_0x30271e,_0x1de5a6[_0x3d3120(0x733)]=_0x5d6fd3,_0x1de5a6['width']=_0x10a58e,_0x1de5a6[_0x3d3120(0x7f5)]=_0x30271e,_0x1de5a6[_0x3d3120(0x281)]=_0x5d6fd3,_0x1de5a6[_0x3d3120(0x22f)]=_0x504857,_0x1de5a6[_0x3d3120(0x844)]=_0x2de0ec,_0x1de5a6[_0x3d3120(0x5d6)]=_0x389064,_0x1de5a6[_0x3d3120(0x1eb)]=_0x5ce2a9,_0x1de5a6[_0x3d3120(0x545)]=!0x0,this['_doNotHandleContextLost']||(_0x1de5a6[_0x3d3120(0xb7f)]=_0x41c217),this[_0x3d3120(0x2fa)][_0x3d3120(0x8b3)](_0x1de5a6,_0x10a58e,_0x30271e,_0x5d6fd3,_0x1836e9),this[_0x3d3120(0xd17)](_0x1de5a6,_0x41c217,_0x504857,_0x3c75b0,_0x150fb3,_0x2de0ec),this[_0x3d3120(0x300)]['push'](_0x1de5a6),_0x1de5a6;},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0xd17)]=function(_0x242b31,_0x72a48c,_0x1eb835,_0x452400,_0x503bb6=null,_0x2488d7=_0x2d3602['g']['TEXTURETYPE_UNSIGNED_INT']){var _0x5b95af=_0x537f0e;this['_doNotHandleContextLost']||(_0x242b31[_0x5b95af(0xb7f)]=_0x72a48c,_0x242b31[_0x5b95af(0x22f)]=_0x1eb835,_0x242b31[_0x5b95af(0x6c4)]=_0x452400,_0x242b31['_compression']=_0x503bb6),_0x72a48c&&(_0x503bb6=_0x242b31['_hardwareTexture'],_0x1eb835===_0x2d3602['g']['TEXTUREFORMAT_RGB']&&(_0x72a48c=_0x5fdf85(_0x72a48c,_0x242b31['width'],_0x242b31[_0x5b95af(0x7f5)],_0x2488d7)),_0x1eb835=new Uint8Array(_0x72a48c[_0x5b95af(0x500)],_0x72a48c[_0x5b95af(0x705)],_0x72a48c[_0x5b95af(0x247)]),this['_textureHelper'][_0x5b95af(0xbe4)](_0x1eb835,_0x242b31,_0x242b31[_0x5b95af(0x503)],_0x242b31[_0x5b95af(0x7f5)],_0x242b31[_0x5b95af(0x281)],_0x503bb6['format'],0x0,0x0,_0x452400,!0x1,0x0,0x0),_0x242b31[_0x5b95af(0x5d6)]&&this['_generateMipmaps'](_0x242b31,this[_0x5b95af(0x61e)])),_0x242b31[_0x5b95af(0x834)]=!0x0;},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0x934)]=function(_0x141aa5,_0x44769c,_0x42987c,_0x49ef92=-0x1,_0x80bf35=0x0,_0x5173f9=null,_0x33a4c9=!0x0,_0x383d0a=!0x1,_0x6a7390=0x0,_0x59841f=0x0){var _0x279767=_0x537f0e;return _0x141aa5=_0x141aa5[_0x279767(0x835)],(_0x33a4c9&&this[_0x279767(0x440)](),this[_0x279767(0x2fa)]['readPixels'](_0x141aa5[_0x279767(0x597)],_0x6a7390,_0x59841f,_0x44769c,_0x42987c,_0x141aa5[_0x279767(0x22f)],_0x49ef92,_0x80bf35,_0x5173f9,_0x383d0a));},_0x39f237['f']['prototype']['_readTexturePixelsSync']=function(){var _0x3fe16e=_0x537f0e;throw _0x3fe16e(0x5e3);};class _0x3b81de extends _0x582f53(0x157cc)['r']{}_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0xc7f)]=function(_0x28725c,_0x58c38d,_0x1e9839){var _0x3385fa=_0x537f0e;return _0x28725c=new _0x3b81de(_0x28725c,_0x58c38d,_0x1e9839,this),(this[_0x3385fa(0x374)][_0x3385fa(0x2f7)](_0x28725c),_0x28725c);},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0xcf7)]=function(_0x3b0b20,_0x5b593a){var _0x40b688=_0x537f0e,_0x33a058;const _0x5b070e=this['_createHardwareRenderTargetWrapper'](!0x1,!0x1,_0x3b0b20),_0x55bc50={},_0x875060=(void 0x0!==_0x5b593a&&_0x40b688(0x18b)==typeof _0x5b593a?(_0x55bc50[_0x40b688(0x5d6)]=_0x5b593a[_0x40b688(0x5d6)],_0x55bc50['generateDepthBuffer']=void 0x0===_0x5b593a[_0x40b688(0x631)]||_0x5b593a[_0x40b688(0x631)],_0x55bc50[_0x40b688(0x1b4)]=_0x55bc50['generateDepthBuffer']&&_0x5b593a['generateStencilBuffer'],_0x55bc50[_0x40b688(0x1eb)]=void 0x0===_0x5b593a[_0x40b688(0x1eb)]?_0x2d3602['g'][_0x40b688(0xb58)]:_0x5b593a['samplingMode'],_0x55bc50[_0x40b688(0x5d7)]=null!=(_0x33a058=_0x5b593a[_0x40b688(0x5d7)])?_0x33a058:0x0,_0x55bc50['noColorAttachment']=!!_0x5b593a['noColorAttachment'],_0x55bc50['samples']=_0x5b593a['samples'],_0x55bc50[_0x40b688(0x525)]=_0x5b593a[_0x40b688(0x525)]):(_0x55bc50['generateMipMaps']=_0x5b593a,_0x55bc50[_0x40b688(0x631)]=!0x0,_0x55bc50['generateStencilBuffer']=!0x1,_0x55bc50[_0x40b688(0x1eb)]=_0x2d3602['g']['TEXTURE_TRILINEAR_SAMPLINGMODE'],_0x55bc50['creationFlags']=0x0,_0x55bc50[_0x40b688(0xcf2)]=!0x1),_0x55bc50['noColorAttachment']?null:this[_0x40b688(0x5e1)](_0x3b0b20,_0x5b593a,!0x0,_0x4ac915['S']['RenderTarget']));return _0x5b070e['_samples']=null!=(_0x33a058=_0x55bc50[_0x40b688(0x2d6)])?_0x33a058:0x1,_0x5b070e[_0x40b688(0x5a9)]=_0x55bc50[_0x40b688(0x631)],_0x5b070e[_0x40b688(0xc00)]=!!_0x55bc50['generateStencilBuffer'],_0x5b070e[_0x40b688(0xaa6)](_0x875060),(_0x5b070e[_0x40b688(0x5a9)]||_0x5b070e[_0x40b688(0xc00)])&&_0x5b070e[_0x40b688(0x3ee)](0x0,this[_0x40b688(0xb42)][_0x40b688(0xb33)]&&(void 0x0===_0x55bc50[_0x40b688(0x1eb)]||_0x55bc50[_0x40b688(0x1eb)]===_0x2d3602['g'][_0x40b688(0x988)]||_0x55bc50[_0x40b688(0x1eb)]===_0x2d3602['g'][_0x40b688(0x707)]||_0x55bc50[_0x40b688(0x1eb)]===_0x2d3602['g'][_0x40b688(0xb58)]||_0x55bc50[_0x40b688(0x1eb)]===_0x2d3602['g']['TEXTURE_LINEAR_LINEAR_MIPLINEAR']||_0x55bc50['samplingMode']===_0x2d3602['g'][_0x40b688(0x1e3)]||_0x55bc50[_0x40b688(0x1eb)]===_0x2d3602['g'][_0x40b688(0x40c)]||_0x55bc50[_0x40b688(0x1eb)]===_0x2d3602['g'][_0x40b688(0xd55)]||_0x55bc50[_0x40b688(0x1eb)]===_0x2d3602['g'][_0x40b688(0x26f)]),_0x5b070e[_0x40b688(0xc00)],_0x5b070e[_0x40b688(0x2d6)],_0x55bc50[_0x40b688(0x1b4)]?_0x2d3602['g'][_0x40b688(0xcee)]:_0x2d3602['g'][_0x40b688(0xb52)],_0x55bc50[_0x40b688(0x525)]?_0x55bc50[_0x40b688(0x525)]+'-DepthStencil':void 0x0),_0x875060&&(void 0x0!==_0x5b593a&&'object'==typeof _0x5b593a&&_0x5b593a[_0x40b688(0x8bf)]&&!_0x55bc50[_0x40b688(0x5d6)]&&(_0x875060[_0x40b688(0x5d6)]=!0x0),this[_0x40b688(0x2fa)][_0x40b688(0x8b3)](_0x875060,void 0x0,void 0x0,void 0x0,_0x55bc50[_0x40b688(0x5d7)]),void 0x0!==_0x5b593a&&'object'==typeof _0x5b593a&&_0x5b593a[_0x40b688(0x8bf)]&&!_0x55bc50[_0x40b688(0x5d6)]&&(_0x875060[_0x40b688(0x5d6)]=!0x1)),_0x5b070e;},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0x168)]=function(_0x4b0e5d,_0x49478c){var _0x3089f4=_0x537f0e;const _0x10666c=new _0x4ac915['l'](this,_0x4ac915['S'][_0x3089f4(0x9d6)]);return _0x10666c[_0x3089f4(0x525)]=_0x49478c[_0x3089f4(0x525)],_0x49478c=Object[_0x3089f4(0x884)]({'bilinearFiltering':!0x1,'comparisonFunction':0x0,'generateStencil':!0x1,'samples':0x1,'depthTextureFormat':_0x49478c[_0x3089f4(0x787)]?_0x2d3602['g'][_0x3089f4(0xcee)]:_0x2d3602['g'][_0x3089f4(0xb52)]},_0x49478c),(_0x10666c[_0x3089f4(0x22f)]=_0x49478c[_0x3089f4(0x40a)],this[_0x3089f4(0x3c3)](_0x10666c,_0x4b0e5d,_0x49478c[_0x3089f4(0x787)],_0x49478c['bilinearFiltering'],_0x49478c['comparisonFunction'],_0x49478c['samples']),this[_0x3089f4(0x2fa)]['createGPUTextureForInternalTexture'](_0x10666c),this[_0x3089f4(0x300)][_0x3089f4(0x2f7)](_0x10666c),_0x10666c);},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0x3c3)]=function(_0xfe77ef,_0x1e660d,_0x3ed476,_0x26da26,_0x41e471,_0x4ac346=0x1){var _0x4f2822=_0x537f0e,_0x312915=_0x1e660d['width']||_0x1e660d,_0x3dcd22=_0x1e660d[_0x4f2822(0x7f5)]||_0x1e660d,_0x1e660d=_0x1e660d[_0x4f2822(0xd60)]||0x0;_0xfe77ef[_0x4f2822(0x7ea)]=_0x312915,_0xfe77ef['baseHeight']=_0x3dcd22,_0xfe77ef[_0x4f2822(0x503)]=_0x312915,_0xfe77ef[_0x4f2822(0x7f5)]=_0x3dcd22,_0xfe77ef[_0x4f2822(0x545)]=0x0<_0x1e660d,_0xfe77ef[_0x4f2822(0x281)]=_0x1e660d,_0xfe77ef[_0x4f2822(0x834)]=!0x0,_0xfe77ef['samples']=_0x4ac346,_0xfe77ef[_0x4f2822(0x5d6)]=!0x1,_0xfe77ef[_0x4f2822(0x1eb)]=_0x26da26?_0x2d3602['g'][_0x4f2822(0x988)]:_0x2d3602['g']['TEXTURE_NEAREST_SAMPLINGMODE'],_0xfe77ef[_0x4f2822(0x844)]=_0x2d3602['g'][_0x4f2822(0x8ef)],_0xfe77ef['_comparisonFunction']=_0x41e471,_0xfe77ef[_0x4f2822(0x978)]=_0x2d3602['g'][_0x4f2822(0xc5f)],_0xfe77ef[_0x4f2822(0xb79)]=_0x2d3602['g']['TEXTURE_CLAMP_ADDRESSMODE'];},_0x39f237['f'][_0x537f0e(0x21e)]['updateRenderTargetTextureSampleCount']=function(_0x49f40e,_0x4493b5){var _0x59ab72=_0x537f0e;return _0x49f40e&&_0x49f40e[_0x59ab72(0x823)]&&_0x49f40e[_0x59ab72(0x2d6)]!==_0x4493b5?(_0x4493b5=Math[_0x59ab72(0x4fd)](_0x4493b5,this[_0x59ab72(0x61c)]()[_0x59ab72(0x33a)]),this[_0x59ab72(0x2fa)][_0x59ab72(0x73a)](_0x49f40e[_0x59ab72(0x823)],_0x4493b5),_0x49f40e[_0x59ab72(0x8ae)]&&(this[_0x59ab72(0x2fa)][_0x59ab72(0x73a)](_0x49f40e[_0x59ab72(0x8ae)],_0x4493b5),_0x49f40e[_0x59ab72(0x8ae)][_0x59ab72(0x2d6)]=_0x4493b5),_0x49f40e[_0x59ab72(0x66d)]=_0x4493b5,_0x49f40e['texture'][_0x59ab72(0x2d6)]=_0x4493b5):_0x4493b5;},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0x406)]=function(_0x3cbd60,_0x10241d){var _0x2df686=_0x537f0e;const _0x3f8a85=this['_createHardwareRenderTargetWrapper'](!0x1,!0x0,_0x3cbd60),_0xae1a8e=Object['assign']({'generateMipMaps':!0x0,'generateDepthBuffer':!0x0,'generateStencilBuffer':!0x1,'type':_0x2d3602['g'][_0x2df686(0xb46)],'samplingMode':_0x2d3602['g']['TEXTURE_TRILINEAR_SAMPLINGMODE'],'format':_0x2d3602['g'][_0x2df686(0x1f2)],'samples':0x1},_0x10241d),_0x525594=(_0xae1a8e[_0x2df686(0x1b4)]=_0xae1a8e[_0x2df686(0x631)]&&_0xae1a8e[_0x2df686(0x1b4)],_0x3f8a85[_0x2df686(0x5a9)]=_0xae1a8e[_0x2df686(0x631)],_0x3f8a85[_0x2df686(0xc00)]=_0xae1a8e['generateStencilBuffer'],new _0x4ac915['l'](this,_0x4ac915['S']['RenderTarget']));return _0x525594[_0x2df686(0x503)]=_0x3cbd60,_0x525594['height']=_0x3cbd60,_0x525594['depth']=0x0,_0x525594[_0x2df686(0x834)]=!0x0,_0x525594[_0x2df686(0xaac)]=!0x0,_0x525594[_0x2df686(0x2d6)]=_0xae1a8e[_0x2df686(0x2d6)],_0x525594[_0x2df686(0x5d6)]=_0xae1a8e['generateMipMaps'],_0x525594['samplingMode']=_0xae1a8e['samplingMode'],_0x525594[_0x2df686(0x844)]=_0xae1a8e['type'],_0x525594[_0x2df686(0x22f)]=_0xae1a8e['format'],this[_0x2df686(0x300)]['push'](_0x525594),_0x3f8a85[_0x2df686(0xaa6)](_0x525594),(_0x3f8a85['_generateDepthBuffer']||_0x3f8a85[_0x2df686(0xc00)])&&_0x3f8a85[_0x2df686(0x3ee)](0x0,void 0x0===_0xae1a8e['samplingMode']||_0xae1a8e['samplingMode']===_0x2d3602['g'][_0x2df686(0x988)]||_0xae1a8e[_0x2df686(0x1eb)]===_0x2d3602['g'][_0x2df686(0x707)]||_0xae1a8e[_0x2df686(0x1eb)]===_0x2d3602['g']['TEXTURE_TRILINEAR_SAMPLINGMODE']||_0xae1a8e['samplingMode']===_0x2d3602['g'][_0x2df686(0x598)]||_0xae1a8e[_0x2df686(0x1eb)]===_0x2d3602['g']['TEXTURE_NEAREST_LINEAR_MIPNEAREST']||_0xae1a8e[_0x2df686(0x1eb)]===_0x2d3602['g'][_0x2df686(0x40c)]||_0xae1a8e['samplingMode']===_0x2d3602['g']['TEXTURE_NEAREST_LINEAR']||_0xae1a8e[_0x2df686(0x1eb)]===_0x2d3602['g'][_0x2df686(0x26f)],_0x3f8a85[_0x2df686(0xc00)],_0x3f8a85[_0x2df686(0x2d6)]),_0x10241d&&_0x10241d[_0x2df686(0x8bf)]&&!_0xae1a8e[_0x2df686(0x5d6)]&&(_0x525594['generateMipMaps']=!0x0),this[_0x2df686(0x2fa)][_0x2df686(0x8b3)](_0x525594),_0x10241d&&_0x10241d[_0x2df686(0x8bf)]&&!_0xae1a8e[_0x2df686(0x5d6)]&&(_0x525594['generateMipMaps']=!0x1),_0x3f8a85;},_0x243c34['Q'][_0x537f0e(0x21e)][_0x537f0e(0x248)]=function(_0x5a27f7,_0x33a5ad){this['_engine']['setTextureSampler'](_0x5a27f7,_0x33a5ad);},_0x39f237['f']['prototype'][_0x537f0e(0x248)]=function(_0xdef80e,_0x5d2595){var _0x4823af=_0x537f0e,_0x43d9d5;null!=(_0x43d9d5=this[_0x4823af(0xd26)])&&_0x43d9d5[_0x4823af(0x50f)](_0xdef80e,_0x5d2595);},_0x243c34['Q'][_0x537f0e(0x21e)]['setStorageBuffer']=function(_0x2c0fb0,_0x346c60){var _0x3d8a96=_0x537f0e;this[_0x3d8a96(0x8ba)][_0x3d8a96(0x470)](_0x2c0fb0,_0x346c60);},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0xa6c)]=function(_0x4c707d,_0x16302b){var _0xbb15a4=_0x537f0e;return this[_0xbb15a4(0xb1f)](_0x4c707d,_0x16302b|_0x2d3602['g']['BUFFER_CREATIONFLAG_STORAGE']);},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0x4a3)]=function(_0x472995,_0x50b8c7,_0x5e9f84,_0x2a5425){var _0x2881d6=_0x537f0e;void 0x0===_0x5e9f84&&(_0x5e9f84=0x0);let _0x5ca8c2;void 0x0===_0x2a5425?_0x2a5425=(_0x5ca8c2=_0x50b8c7 instanceof Array?new Float32Array(_0x50b8c7):_0x50b8c7 instanceof ArrayBuffer?new Uint8Array(_0x50b8c7):_0x50b8c7)['byteLength']:_0x5ca8c2=_0x50b8c7 instanceof Array?new Float32Array(_0x50b8c7):_0x50b8c7 instanceof ArrayBuffer?new Uint8Array(_0x50b8c7):_0x50b8c7,this['_bufferManager'][_0x2881d6(0xc74)](_0x472995,_0x5e9f84,_0x5ca8c2,0x0,_0x2a5425);},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0x50e)]=function(_0xeaf7c4,_0x1c5112,_0x5f4fb4,_0x1086e3){var _0x592aa2=_0x537f0e;_0x5f4fb4=_0x5f4fb4||_0xeaf7c4[_0x592aa2(0x3a6)];const _0x36aa2b=this[_0x592aa2(0x195)]['createRawBuffer'](_0x5f4fb4,_0x48f36b['FB']['MapRead']|_0x48f36b['FB'][_0x592aa2(0x798)]);return this[_0x592aa2(0x2a9)][_0x592aa2(0x80f)](_0xeaf7c4[_0x592aa2(0x597)],null!=_0x1c5112?_0x1c5112:0x0,_0x36aa2b,0x0,_0x5f4fb4),new Promise((_0x373bd1,_0x24f972)=>{var _0x2ba65b=_0x592aa2;this[_0x2ba65b(0xa18)][_0x2ba65b(0x94d)](()=>{var _0x24edeb=_0x2ba65b;_0x36aa2b[_0x24edeb(0x845)](_0x48f36b['gc']['Read'],0x0,_0x5f4fb4)[_0x24edeb(0x35f)](()=>{var _0x19424a=_0x24edeb,_0x4b03b3=_0x36aa2b[_0x19424a(0x57e)](0x0,_0x5f4fb4);let _0x57e792=_0x1086e3;if(void 0x0===_0x57e792)(_0x57e792=new Uint8Array(_0x5f4fb4))[_0x19424a(0x82e)](new Uint8Array(_0x4b03b3));else{const _0xf01dff=_0x57e792[_0x19424a(0x361)];(_0x57e792=new _0xf01dff(_0x57e792[_0x19424a(0x500)]))[_0x19424a(0x82e)](new _0xf01dff(_0x4b03b3));}_0x36aa2b[_0x19424a(0x910)](),this[_0x19424a(0x195)][_0x19424a(0x8e1)](_0x36aa2b),_0x373bd1(_0x57e792);},_0xc8ba91=>_0x24f972(_0xc8ba91));});});},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0x470)]=function(_0x4aeac3,_0x2d53f0){var _0x46c110=_0x537f0e,_0x4cc35d;null!=(_0x4cc35d=this[_0x46c110(0xc39)])&&_0x4cc35d[_0x46c110(0xd1c)](_0x4aeac3,null!=(_0x4cc35d=null==_0x2d53f0?void 0x0:_0x2d53f0[_0x46c110(0x6a3)]())?_0x4cc35d:null);},_0x39f237['f']['prototype']['createUniformBuffer']=function(_0x12b08d){var _0x51ce40=_0x537f0e;return _0x12b08d=_0x12b08d instanceof Array?new Float32Array(_0x12b08d):_0x12b08d,this[_0x51ce40(0x195)][_0x51ce40(0x326)](_0x12b08d,_0x48f36b['FB'][_0x51ce40(0x1f3)]|_0x48f36b['FB'][_0x51ce40(0x798)]);},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0x9f9)]=function(_0x4b00f4){var _0x46af69=_0x537f0e;return this[_0x46af69(0xa13)](_0x4b00f4);},_0x39f237['f']['prototype'][_0x537f0e(0x477)]=function(_0x33728f,_0x1b74d3,_0x39f72d,_0x4d87d2){var _0x6b621f=_0x537f0e;void 0x0===_0x39f72d&&(_0x39f72d=0x0);let _0x1159d2;void 0x0===_0x4d87d2?_0x4d87d2=(_0x1159d2=_0x1b74d3 instanceof Float32Array?_0x1b74d3:new Float32Array(_0x1b74d3))[_0x6b621f(0x247)]:_0x1159d2=_0x1b74d3 instanceof Float32Array?_0x1b74d3:new Float32Array(_0x1b74d3),this[_0x6b621f(0x195)][_0x6b621f(0xc74)](_0x33728f,_0x39f72d,_0x1159d2,0x0,_0x4d87d2);},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0xcad)]=function(_0x3c7d19,_0x28dce0,_0x52f481){var _0x48142d=_0x537f0e;this[_0x48142d(0xc39)][_0x48142d(0xd1c)](_0x52f481,_0x3c7d19);},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0xacb)]=function(){},_0x39f237['f'][_0x537f0e(0x21e)][_0x537f0e(0x397)]=function(_0x325c9c,_0x3e2d97,_0x2b888e){var _0x2e6fee=_0x537f0e,_0x232dc2;if(_0x325c9c&&!_0x325c9c['_isDisabled']){void 0x0===this[_0x2e6fee(0x54c)]&&(this['_videoTextureSupported']=!0x0);let _0xf5a8c8=_0x325c9c['_hardwareTexture'];null!=(_0x232dc2=_0x325c9c[_0x2e6fee(0x835)])&&_0x232dc2[_0x2e6fee(0x597)]||(_0xf5a8c8=this[_0x2e6fee(0x2fa)][_0x2e6fee(0x8b3)](_0x325c9c)),_0x3e2d97&&void 0x0!==_0x3e2d97['underlyingResource']?(this[_0x2e6fee(0x2fa)]['copyVideoToTexture'](_0x3e2d97,_0x325c9c,_0xf5a8c8[_0x2e6fee(0x22f)],!_0x2b888e),_0x325c9c[_0x2e6fee(0x5d6)]&&this['_generateMipmaps'](_0x325c9c,this['_uploadEncoder']),_0x325c9c['isReady']=!0x0):_0x3e2d97&&this[_0x2e6fee(0xcb7)](_0x3e2d97)[_0x2e6fee(0x35f)](_0x54ed09=>{var _0xb56e25=_0x2e6fee;this['_textureHelper'][_0xb56e25(0xbe4)](_0x54ed09,_0x325c9c,_0x325c9c[_0xb56e25(0x503)],_0x325c9c[_0xb56e25(0x7f5)],_0x325c9c['depth'],_0xf5a8c8['format'],0x0,0x0,!_0x2b888e,!0x1,0x0,0x0),_0x325c9c['generateMipMaps']&&this[_0xb56e25(0x64a)](_0x325c9c,this[_0xb56e25(0x61e)]),_0x325c9c['isReady']=!0x0;})[_0x2e6fee(0xa75)](()=>{var _0x5614ef=_0x2e6fee;_0x325c9c[_0x5614ef(0x834)]=!0x0;});}};},0x9a9a:(_0x597d9e,_0xf1cced,_0x2296ce)=>{var _0x22029e=a7_0x51ebec;_0x2296ce['d'](_0xf1cced,{'V':()=>_0xbd32f});var _0x12921d=_0x2296ce(0x8ad5),_0x3236f7=_0x2296ce(0xc86b),_0x2f0cd4=_0x2296ce(0x1610),_0x174bef=_0x2296ce(0x6068),_0x4410c6=_0x2296ce(0x177e8);class _0xbd32f{constructor(_0x21d1f3){var _0x57e968=a7_0x4956;this[_0x57e968(0x3f0)]=[],this['_device']=_0x21d1f3;}static[_0x22029e(0x630)](_0x185353){var _0x1af870=_0x22029e;return void 0x0===_0x185353[_0x1af870(0x597)];}[_0x22029e(0x44e)](_0x662063,_0x31b7be,_0x56e339=!0x1){var _0x2b4d55=_0x22029e;return _0x662063=void 0x0!==_0x662063[_0x2b4d55(0x247)]?_0x662063['byteLength']+0x3&-0x4:_0x662063+0x3&-0x4,this[_0x2b4d55(0xc42)]['createBuffer']({'mappedAtCreation':_0x56e339,'size':_0x662063,'usage':_0x31b7be});}[_0x22029e(0x326)](_0x2ba4fc,_0x29d3e8){var _0x300015=_0x22029e,_0x4f6506=void 0x0!==_0x2ba4fc[_0x300015(0x247)],_0x29d3e8=this[_0x300015(0x44e)](_0x2ba4fc,_0x29d3e8);const _0x1aa615=new _0x12921d['C'](_0x29d3e8);return _0x1aa615[_0x300015(0xb0b)]=0x1,_0x1aa615[_0x300015(0x3a6)]=_0x4f6506?_0x2ba4fc['byteLength']:_0x2ba4fc,_0x4f6506&&this['setSubData'](_0x1aa615,0x0,_0x2ba4fc),_0x1aa615;}['setRawData'](_0x426cc4,_0x3cc9d4,_0x4ca1ca,_0x5c2f60,_0x4c7a8c){var _0x3c85c3=_0x22029e;this[_0x3c85c3(0xc42)][_0x3c85c3(0x28d)][_0x3c85c3(0x456)](_0x426cc4,_0x3cc9d4,_0x4ca1ca[_0x3c85c3(0x500)],_0x5c2f60,_0x4c7a8c);}[_0x22029e(0xc74)](_0x165638,_0x20133b,_0x1a14d4,_0x3b1ab3=0x0,_0x57c47e=0x0){var _0x45bdb0=_0x22029e,_0x21ef1b=_0x165638['underlyingResource'];_0x57c47e=_0x57c47e||_0x1a14d4[_0x45bdb0(0x247)],_0x57c47e=Math[_0x45bdb0(0x4fd)](_0x57c47e,_0x165638[_0x45bdb0(0x3a6)]-_0x20133b);let _0x291094=_0x1a14d4[_0x45bdb0(0x705)]+_0x3b1ab3,_0x150735=_0x291094+_0x57c47e;var _0x44d3d4,_0x165638=_0x57c47e+0x3&-0x4,_0xeba600=(_0x165638!==_0x57c47e&&(_0x44d3d4=new Uint8Array(_0x1a14d4['buffer'][_0x45bdb0(0xbde)](_0x291094,_0x150735)),(_0x1a14d4=new Uint8Array(_0x165638))[_0x45bdb0(0x82e)](_0x44d3d4),_0x3b1ab3=0x0,_0x291094=0x0,_0x57c47e=_0x150735=_0x165638),0xf00000);let _0x303918=0x0;for(;_0x150735-(_0x291094+_0x303918)>_0xeba600;)this[_0x45bdb0(0xc42)][_0x45bdb0(0x28d)][_0x45bdb0(0x456)](_0x21ef1b,_0x20133b+_0x303918,_0x1a14d4['buffer'],_0x291094+_0x303918,_0xeba600),_0x303918+=_0xeba600;this[_0x45bdb0(0xc42)][_0x45bdb0(0x28d)][_0x45bdb0(0x456)](_0x21ef1b,_0x20133b+_0x303918,_0x1a14d4[_0x45bdb0(0x500)],_0x291094+_0x303918,_0x57c47e-_0x303918);}['_getHalfFloatAsFloatRGBAArrayBuffer'](_0x39fdb9,_0x419c9c,_0x205b44){_0x205b44=_0x205b44||new Float32Array(_0x39fdb9);for(var _0x59a2f8=new Uint16Array(_0x419c9c);_0x39fdb9--;)_0x205b44[_0x39fdb9]=(0x0,_0x3236f7['qZ'])(_0x59a2f8[_0x39fdb9]);return _0x205b44;}['readDataFromBuffer'](_0x23aaba,_0x9fde3f,_0x485299,_0x2669bb,_0x4efaf3,_0x5a5299,_0x548bee=_0x2f0cd4['g'][_0x22029e(0xa07)],_0x1b3628=0x0,_0x1b92a2=null,_0x4fd09b=!0x0,_0x4f4ba4=!0x1){var _0x5d9c3c=_0x22029e;const _0x2862c2=_0x548bee===_0x2f0cd4['g'][_0x5d9c3c(0x8ef)]?0x2:_0x548bee===_0x2f0cd4['g'][_0x5d9c3c(0xc7c)]?0x1:0x0;return new Promise((_0x375b33,_0x53da33)=>{var _0x1f9f47=_0x5d9c3c;_0x23aaba[_0x1f9f47(0x845)](_0x4410c6['gc'][_0x1f9f47(0xa3e)],_0x1b3628,_0x9fde3f)[_0x1f9f47(0x35f)](()=>{var _0x4d5e61=_0x1f9f47,_0xe29e3b=_0x23aaba[_0x4d5e61(0x57e)](_0x1b3628,_0x9fde3f);let _0x42e944=_0x1b92a2;if(_0x4f4ba4)_0x42e944=null===_0x42e944?(0x0,_0x174bef['A'])(_0x548bee,_0x9fde3f,!0x0,_0xe29e3b):(0x0,_0x174bef['A'])(_0x548bee,_0x42e944[_0x4d5e61(0x500)],void 0x0,_0xe29e3b);else{if(null===_0x42e944)switch(_0x2862c2){case 0x0:(_0x42e944=new Uint8Array(_0x9fde3f))[_0x4d5e61(0x82e)](new Uint8Array(_0xe29e3b));break;case 0x1:_0x42e944=this['_getHalfFloatAsFloatRGBAArrayBuffer'](_0x9fde3f/0x2,_0xe29e3b);break;case 0x2:(_0x42e944=new Float32Array(_0x9fde3f/0x4))[_0x4d5e61(0x82e)](new Float32Array(_0xe29e3b));}else switch(_0x2862c2){case 0x0:(_0x42e944=new Uint8Array(_0x42e944[_0x4d5e61(0x500)]))[_0x4d5e61(0x82e)](new Uint8Array(_0xe29e3b));break;case 0x1:_0x42e944=this[_0x4d5e61(0xa33)](_0x9fde3f/0x2,_0xe29e3b,_0x1b92a2);break;case 0x2:(_0x42e944=new Float32Array(_0x42e944[_0x4d5e61(0x500)]))[_0x4d5e61(0x82e)](new Float32Array(_0xe29e3b));}}if(_0x4efaf3!==_0x5a5299){0x1!=_0x2862c2||_0x4f4ba4||(_0x4efaf3*=0x2,_0x5a5299*=0x2);const _0x3db207=new Uint8Array(_0x42e944[_0x4d5e61(0x500)]);let _0x4932e8=_0x4efaf3,_0x337290=0x0;for(let _0x37ed40=0x1;_0x37ed40<_0x2669bb;++_0x37ed40){_0x337290=_0x37ed40*_0x5a5299;for(let _0x3ac8e8=0x0;_0x3ac8e8<_0x4efaf3;++_0x3ac8e8)_0x3db207[_0x4932e8++]=_0x3db207[_0x337290++];}_0x42e944=0x0==_0x2862c2||_0x4f4ba4?new Uint8Array(_0x3db207[_0x4d5e61(0x500)],0x0,_0x4932e8):new Float32Array(_0x3db207['buffer'],0x0,_0x4932e8/0x4);}_0x23aaba[_0x4d5e61(0x910)](),_0x4fd09b&&this[_0x4d5e61(0x8e1)](_0x23aaba),_0x375b33(_0x42e944);},_0x5a0316=>_0x53da33(_0x5a0316));});}[_0x22029e(0x8e1)](_0x3ab151){var _0x502422=_0x22029e;return _0xbd32f[_0x502422(0x630)](_0x3ab151)?(this[_0x502422(0x3f0)][_0x502422(0x2f7)](_0x3ab151),!0x0):(_0x3ab151[_0x502422(0xb0b)]--,0x0===_0x3ab151[_0x502422(0xb0b)]&&(this['_deferredReleaseBuffers'][_0x502422(0x2f7)](_0x3ab151[_0x502422(0x597)]),!0x0));}[_0x22029e(0xc40)](){var _0x35d434=_0x22029e;for(let _0x4f34f4=0x0;_0x4f34f4<this[_0x35d434(0x3f0)][_0x35d434(0x9ff)];++_0x4f34f4)this['_deferredReleaseBuffers'][_0x4f34f4][_0x35d434(0xaf7)]();this[_0x35d434(0x3f0)][_0x35d434(0x9ff)]=0x0;}}},0x12418:(_0x33f6ac,_0x547e93,_0x4d27fe)=>{var _0x45e332=a7_0x51ebec;_0x4d27fe['d'](_0x547e93,{'GB':()=>_0x563d82,'fv':()=>_0x112546,'fw':()=>_0x213783,'kP':()=>_0x52b903,'me':()=>_0x4eeb3c,'nt':()=>_0xa2e6bf,'vr':()=>_0xd304e9});class _0x112546{constructor(_0x3db858,_0x3e3bfd,_0x26521c,_0x190315){this['x']=Math['floor'](_0x3db858),this['y']=Math['floor'](_0x3e3bfd),this['w']=Math['floor'](_0x26521c),this['h']=Math['floor'](_0x190315);}['run'](_0x12f6bc){var _0x12d756=a7_0x4956;_0x12f6bc[_0x12d756(0x9eb)](this['x'],this['y'],this['w'],this['h'],0x0,0x1);}[_0x45e332(0x669)](){return new _0x112546(this['x'],this['y'],this['w'],this['h']);}}class _0x4eeb3c{constructor(_0x21013b,_0x1fbc00,_0x46dcc2,_0x9d8d91){this['x']=_0x21013b,this['y']=_0x1fbc00,this['w']=_0x46dcc2,this['h']=_0x9d8d91;}[_0x45e332(0x476)](_0x23f5ae){var _0x5af72f=_0x45e332;_0x23f5ae[_0x5af72f(0x900)](this['x'],this['y'],this['w'],this['h']);}['clone'](){return new _0x4eeb3c(this['x'],this['y'],this['w'],this['h']);}}class _0xd304e9{constructor(_0x5a2290){var _0x18a514=_0x45e332;this[_0x18a514(0x58a)]=_0x5a2290;}[_0x45e332(0x476)](_0x4641ba){_0x4641ba['setStencilReference'](this['ref']);}[_0x45e332(0x669)](){return new _0xd304e9(this['ref']);}}class _0x52b903{constructor(_0x17b255){var _0x37f362=_0x45e332;this[_0x37f362(0x3fe)]=_0x17b255;}[_0x45e332(0x476)](_0x4caa93){var _0x3c74c0=_0x45e332;_0x4caa93[_0x3c74c0(0x853)](this['color']);}[_0x45e332(0x669)](){var _0x3e6ca2=_0x45e332;return new _0x52b903(this[_0x3e6ca2(0x3fe)]);}}class _0x563d82{constructor(_0x4903f3){var _0x5b2cb7=_0x45e332;this[_0x5b2cb7(0x161)]=_0x4903f3;}['run'](_0x9dcee0){var _0x4a6f3b=_0x45e332;_0x9dcee0['beginOcclusionQuery'](this[_0x4a6f3b(0x161)]);}[_0x45e332(0x669)](){var _0x43d98f=_0x45e332;return new _0x563d82(this[_0x43d98f(0x161)]);}}class _0x213783{constructor(){}[_0x45e332(0x476)](_0x521479){_0x521479['endOcclusionQuery']();}['clone'](){return new _0x213783();}}class _0x1b3e43{constructor(){var _0x12d2a6=_0x45e332;this[_0x12d2a6(0x577)]=[];}[_0x45e332(0x476)](_0x177e03){var _0xdce670=_0x45e332;_0x177e03[_0xdce670(0x96a)](this[_0xdce670(0x577)]);}[_0x45e332(0x669)](){var _0x2ca158=_0x45e332;const _0x5b875d=new _0x1b3e43();return _0x5b875d[_0x2ca158(0x577)]=this[_0x2ca158(0x577)],_0x5b875d;}}class _0xa2e6bf{constructor(_0x348532){var _0x46d2ce=_0x45e332;this[_0x46d2ce(0x614)]=0x0,this[_0x46d2ce(0xc42)]=_0x348532,this[_0x46d2ce(0x821)]=new Array(0xa),this[_0x46d2ce(0x75c)]=0x0;}[_0x45e332(0x812)](_0x35a1ef){var _0x5616e1=_0x45e332,_0x4e965f;this[_0x5616e1(0x155)]||(_0x4e965f=new _0x1b3e43(),this[_0x5616e1(0x821)][this[_0x5616e1(0x75c)]++]=_0x4e965f,this['_currentBundleList']=_0x4e965f['bundles'],this[_0x5616e1(0x155)]=!0x0),_0x35a1ef&&this[_0x5616e1(0x25b)][_0x5616e1(0x2f7)](_0x35a1ef);}[_0x45e332(0x1ac)](){var _0x48a261=_0x45e332;this[_0x48a261(0x155)]&&this[_0x48a261(0x303)]&&(this[_0x48a261(0x25b)][_0x48a261(0x2f7)](this[_0x48a261(0x303)]['finish']()),this[_0x48a261(0x303)]=void 0x0,this[_0x48a261(0x155)]=!0x1);}[_0x45e332(0x68b)](_0x294762){var _0x76c1ba=_0x45e332;this['_finishBundle'](),this[_0x76c1ba(0x821)][this[_0x76c1ba(0x75c)]++]=_0x294762,this['_currentItemIsBundle']=!0x1;}[_0x45e332(0x6af)](_0x51a1f4,_0x26f836,_0x15b0da){var _0x437994=_0x45e332;return this['_currentItemIsBundle']||(this['addBundle'](),this[_0x437994(0x303)]=this[_0x437994(0xc42)][_0x437994(0xb21)]({'colorFormats':_0x51a1f4,'depthStencilFormat':_0x26f836,'sampleCount':_0x15b0da})),this[_0x437994(0x303)];}[_0x45e332(0x543)](){var _0x4262ea=_0x45e332;this[_0x4262ea(0x1ac)]();}[_0x45e332(0x476)](_0x5af08a){var _0xdb6191=_0x45e332;this['close']();for(let _0x36d9d8=0x0;_0x36d9d8<this[_0xdb6191(0x75c)];++_0x36d9d8)this[_0xdb6191(0x821)][_0x36d9d8]['run'](_0x5af08a);}[_0x45e332(0xbf4)](){var _0x9df524=_0x45e332;this[_0x9df524(0x75c)]=0x0,this[_0x9df524(0x155)]=!0x1,this[_0x9df524(0x614)]=0x0;}[_0x45e332(0x669)](){var _0x5d7780=_0x45e332;this[_0x5d7780(0x543)]();const _0xe5ffbd=new _0xa2e6bf(this[_0x5d7780(0xc42)]);_0xe5ffbd[_0x5d7780(0x821)]=new Array(this[_0x5d7780(0x75c)]),_0xe5ffbd[_0x5d7780(0x75c)]=this[_0x5d7780(0x75c)],_0xe5ffbd[_0x5d7780(0x614)]=this[_0x5d7780(0x614)];for(let _0x1dbc42=0x0;_0x1dbc42<this[_0x5d7780(0x75c)];++_0x1dbc42)_0xe5ffbd[_0x5d7780(0x821)][_0x1dbc42]=this[_0x5d7780(0x821)][_0x1dbc42][_0x5d7780(0x669)]();return _0xe5ffbd;}}},0xa96c:(_0x23cbc7,_0x5b54a9,_0x35edf7)=>{var _0x47e789=a7_0x51ebec;_0x35edf7['d'](_0x5b54a9,{'T':()=>_0x1340f3});var _0x446fe3=_0x35edf7(0x1610),_0x589659=_0x35edf7(0xfd78),_0x1b0cab=_0x35edf7(0xcf70),_0x282954=_0x35edf7(0xfeca),_0x5b54a9=_0x35edf7(0x26fa);_0x5b54a9['v']['ShadersStore'][_0x47e789(0x8cd)]=_0x47e789(0x79d),_0x5b54a9['v'][_0x47e789(0x52c)][_0x47e789(0x33d)]='uniform\x20vec4\x20color;\x0avoid\x20main()\x20{\x0agl_FragColor=color;\x0a}\x0a';class _0x1340f3{constructor(_0x549658,_0x7bb347,_0x19ce6c){var _0x1ba377=_0x47e789;this[_0x1ba377(0x4dd)]={},this[_0x1ba377(0x418)]={},this[_0x1ba377(0x5b2)]=[],this[_0x1ba377(0xc42)]=_0x549658,this['_engine']=_0x7bb347,this[_0x1ba377(0x53e)]=new _0x589659['H'](this['_device'],_0x19ce6c,!_0x7bb347[_0x1ba377(0xb42)]['textureFloatLinearFiltering']),this[_0x1ba377(0x53e)]['setDepthTestEnabled'](!0x1),this[_0x1ba377(0x53e)][_0x1ba377(0x439)](0xff),this['_effect']=_0x7bb347['createEffect'](_0x1ba377(0x6ca),[],['color',_0x1ba377(0xbd5)]);}['setDepthStencilFormat'](_0xadcfc1){var _0x1b3df0=_0x47e789;this['_depthTextureFormat']=_0xadcfc1,this[_0x1b3df0(0x53e)][_0x1b3df0(0x2a3)](_0xadcfc1);}['setColorFormat'](_0xed68d3){this['_cacheRenderPipeline']['setColorFormat'](_0xed68d3);}[_0x47e789(0x1a1)](_0x4e090f,_0x1e696d,_0x576230){var _0x1c5bba=_0x47e789;this[_0x1c5bba(0x53e)][_0x1c5bba(0x52b)](_0x1e696d,_0x576230),this[_0x1c5bba(0x53e)][_0x1c5bba(0x1a1)](_0x4e090f);}[_0x47e789(0x36e)](_0x342570,_0x5e1bd8,_0x43bec0,_0x526bc0,_0x12ecfe=0x1){var _0x17703a=_0x47e789,_0x798eca;let _0x56c512,_0x434b22=null,_0xe2c287;var _0x341fe7=!!this['_engine']['_currentRenderTarget'];if(_0x342570)_0x56c512=_0x342570;else{let _0x38e94a=0x0;for(let _0x5eedf8=this['_keyTemp'][_0x17703a(0x9ff)]=0x0;_0x5eedf8<this[_0x17703a(0x53e)][_0x17703a(0x4ca)][_0x17703a(0x9ff)];++_0x5eedf8)this[_0x17703a(0x5b2)][_0x38e94a++]=_0x282954['U'][null!=(_0x798eca=this['_cacheRenderPipeline'][_0x17703a(0x4ca)][_0x5eedf8])?_0x798eca:''];var _0x5f0f2b=_0x282954['U'][null!=(_0x5f0f2b=this['_depthTextureFormat'])?_0x5f0f2b:0x0];if(this[_0x17703a(0x5b2)][_0x38e94a]=(_0x5e1bd8?_0x5e1bd8['r']+0x100*_0x5e1bd8['g']+0x100*_0x5e1bd8['b']*0x100+0x100*_0x5e1bd8['a']*0x100*0x100:0x0)+(_0x43bec0?Math[_0x17703a(0x376)](0x2,0x20):0x0)+(_0x526bc0?Math[_0x17703a(0x376)](0x2,0x21):0x0)+(this[_0x17703a(0x8ba)]['useReverseDepthBuffer']?Math[_0x17703a(0x376)](0x2,0x22):0x0)+(_0x341fe7?Math['pow'](0x2,0x23):0x0)+(0x1<_0x12ecfe?Math[_0x17703a(0x376)](0x2,0x24):0x0)+_0x5f0f2b*Math['pow'](0x2,0x25),_0xe2c287=this[_0x17703a(0x5b2)][_0x17703a(0x5cf)]('_'),_0x434b22=this['_bundleCache'][_0xe2c287])return _0x434b22;_0x56c512=this[_0x17703a(0xc42)][_0x17703a(0xb21)]({'colorFormats':this['_cacheRenderPipeline']['colorFormats'],'depthStencilFormat':this[_0x17703a(0xaa9)],'sampleCount':_0x12ecfe});}this[_0x17703a(0x53e)][_0x17703a(0xc6e)](!!_0x43bec0),this[_0x17703a(0x53e)][_0x17703a(0x74e)](!!_0x526bc0&&!!this[_0x17703a(0xaa9)]&&_0x282954['D']['HasStencilAspect'](this[_0x17703a(0xaa9)])),this['_cacheRenderPipeline'][_0x17703a(0x571)](_0x526bc0?0xff:0x0),this['_cacheRenderPipeline'][_0x17703a(0x91a)](_0x526bc0?_0x446fe3['g'][_0x17703a(0x738)]:_0x446fe3['g'][_0x17703a(0xc23)]),this[_0x17703a(0x53e)]['setStencilPassOp'](_0x526bc0?_0x446fe3['g']['REPLACE']:_0x446fe3['g']['KEEP']),this[_0x17703a(0x53e)][_0x17703a(0xd5d)](_0x5e1bd8?0xf:0x0),_0x5f0f2b=this['_cacheRenderPipeline'][_0x17703a(0x889)](_0x446fe3['g'][_0x17703a(0xaf8)],this[_0x17703a(0x7b7)],_0x12ecfe);const _0x1cab7d=this[_0x17703a(0x7b7)]['_pipelineContext'];_0x5e1bd8&&this[_0x17703a(0x7b7)]['setDirectColor4']('color',_0x5e1bd8),this[_0x17703a(0x7b7)][_0x17703a(0x7cf)](_0x17703a(0xbd5),this[_0x17703a(0x8ba)][_0x17703a(0xc0d)]?this[_0x17703a(0x8ba)][_0x17703a(0x467)]:this[_0x17703a(0x8ba)][_0x17703a(0xcb4)]),_0x1cab7d[_0x17703a(0x3ff)][_0x17703a(0x842)](),(_0x43bec0=_0x341fe7?this[_0x17703a(0x8ba)][_0x17703a(0x8f9)]:this['_engine'][_0x17703a(0x6fe)],_0x526bc0=_0x1cab7d[_0x17703a(0x3ff)]['getBuffer'](),_0x12ecfe=_0x526bc0['uniqueId']+'-'+_0x43bec0[_0x17703a(0x5bb)]);let _0x265613=this[_0x17703a(0x4dd)][_0x12ecfe];_0x265613||(_0x5e1bd8=_0x1cab7d['bindGroupLayouts'],(_0x265613=this['_bindGroups'][_0x12ecfe]=[])[_0x17703a(0x2f7)](this['_device']['createBindGroup']({'layout':_0x5e1bd8[0x0],'entries':[]})),_0x1b0cab['d'][_0x17703a(0x9d5)]||_0x265613[_0x17703a(0x2f7)](this['_device'][_0x17703a(0x611)]({'layout':_0x5e1bd8[0x1],'entries':[]})),_0x265613['push'](this[_0x17703a(0xc42)][_0x17703a(0x611)]({'layout':_0x5e1bd8[_0x1b0cab['d'][_0x17703a(0x9d5)]?0x1:0x2],'entries':[{'binding':0x0,'resource':{'buffer':_0x43bec0[_0x17703a(0x597)],'size':_0x43bec0[_0x17703a(0x3a6)]}},{'binding':0x1,'resource':{'buffer':_0x526bc0[_0x17703a(0x597)],'size':_0x526bc0[_0x17703a(0x3a6)]}}]}))),_0x56c512[_0x17703a(0x89e)](_0x5f0f2b);for(let _0x1523f2=0x0;_0x1523f2<_0x265613[_0x17703a(0x9ff)];++_0x1523f2)_0x56c512[_0x17703a(0x9c3)](_0x1523f2,_0x265613[_0x1523f2]);return _0x56c512[_0x17703a(0xd6c)](0x4,0x1,0x0,0x0),_0x342570||(_0x434b22=_0x56c512[_0x17703a(0x256)](),this[_0x17703a(0x418)][_0xe2c287]=_0x434b22),_0x434b22;}}},0x503c:(_0xc45331,_0x5ba8bc,_0x2b2e1f)=>{var _0x3cfdbd=a7_0x51ebec;_0x2b2e1f['d'](_0x5ba8bc,{'K':()=>_0x400fdd});class _0x400fdd extends _0x2b2e1f(0x6346)['k']{constructor(_0x62e9c8){var _0x74d14b=a7_0x4956;super(!0x1),this[_0x74d14b(0xba3)]=_0x62e9c8,this[_0x74d14b(0xbf4)]();}get[_0x3cfdbd(0x3cf)](){var _0x22e860=_0x3cfdbd;return this[_0x22e860(0x17e)];}set[_0x3cfdbd(0x3cf)](_0x1b1d21){var _0x1eaedf=_0x3cfdbd;this[_0x1eaedf(0x17e)]!==_0x1b1d21&&(this[_0x1eaedf(0x17e)]=_0x1b1d21,this[_0x1eaedf(0x8ca)]=!0x0,this['_cache'][_0x1eaedf(0x736)](_0x1b1d21));}get['zOffsetUnits'](){var _0x173344=_0x3cfdbd;return this[_0x173344(0x8c7)];}set[_0x3cfdbd(0x50d)](_0x382143){var _0x2fa9a2=_0x3cfdbd;this[_0x2fa9a2(0x8c7)]!==_0x382143&&(this['_zOffsetUnits']=_0x382143,this[_0x2fa9a2(0x8ca)]=!0x0,this[_0x2fa9a2(0xba3)][_0x2fa9a2(0x3e5)](_0x382143));}get[_0x3cfdbd(0x8da)](){var _0x4741b4=_0x3cfdbd;return this[_0x4741b4(0x18e)];}set[_0x3cfdbd(0x8da)](_0x210e9f){var _0x4e80f7=_0x3cfdbd;this[_0x4e80f7(0x18e)]!==_0x210e9f&&(this[_0x4e80f7(0x18e)]=_0x210e9f,this[_0x4e80f7(0x421)]=!0x0,this[_0x4e80f7(0xba3)][_0x4e80f7(0x16c)](null!=_0x210e9f?_0x210e9f:0x1));}get['cull'](){var _0x307d35=_0x3cfdbd;return this[_0x307d35(0xadb)];}set[_0x3cfdbd(0xd4e)](_0x3149fc){var _0x3920a4=_0x3cfdbd;this['_cull']!==_0x3149fc&&(this[_0x3920a4(0xadb)]=_0x3149fc,this['_isCullDirty']=!0x0,this[_0x3920a4(0xba3)][_0x3920a4(0x5ed)](!!_0x3149fc));}get[_0x3cfdbd(0x15c)](){var _0x3d1544=_0x3cfdbd;return this[_0x3d1544(0x982)];}set[_0x3cfdbd(0x15c)](_0x263db5){var _0x20e2b8=_0x3cfdbd;this[_0x20e2b8(0x982)]!==_0x263db5&&(this['_depthFunc']=_0x263db5,this[_0x20e2b8(0x98b)]=!0x0,this[_0x20e2b8(0xba3)][_0x20e2b8(0x95d)](_0x263db5));}get[_0x3cfdbd(0x74d)](){var _0x453e26=_0x3cfdbd;return this[_0x453e26(0xc2d)];}set[_0x3cfdbd(0x74d)](_0xe0172a){var _0x2edf3b=_0x3cfdbd;this[_0x2edf3b(0xc2d)]!==_0xe0172a&&(this[_0x2edf3b(0xc2d)]=_0xe0172a,this[_0x2edf3b(0x896)]=!0x0,this[_0x2edf3b(0xba3)]['setDepthWriteEnabled'](_0xe0172a));}get[_0x3cfdbd(0xbce)](){var _0x366f12=_0x3cfdbd;return this[_0x366f12(0x855)];}set[_0x3cfdbd(0xbce)](_0x51e02a){var _0x18aef7=_0x3cfdbd;this[_0x18aef7(0x855)]!==_0x51e02a&&(this[_0x18aef7(0x855)]=_0x51e02a,this[_0x18aef7(0x241)]=!0x0,this[_0x18aef7(0xba3)]['setDepthTestEnabled'](_0x51e02a));}get[_0x3cfdbd(0x654)](){var _0x1772e2=_0x3cfdbd;return this[_0x1772e2(0x1c4)];}set['frontFace'](_0x4b01b3){var _0x500fae=_0x3cfdbd;this[_0x500fae(0x1c4)]!==_0x4b01b3&&(this[_0x500fae(0x1c4)]=_0x4b01b3,this['_isFrontFaceDirty']=!0x0,this[_0x500fae(0xba3)]['setFrontFace'](null!=_0x4b01b3?_0x4b01b3:0x2));}[_0x3cfdbd(0xbf4)](){var _0x2a4624=_0x3cfdbd;super[_0x2a4624(0xbf4)](),this[_0x2a4624(0xba3)][_0x2a4624(0x23e)]();}['apply'](){}}},0xa9c:(_0x407294,_0x4c7447,_0xa33251)=>{var _0x1c2fd3=a7_0x51ebec;_0xa33251['d'](_0x4c7447,{'Z':()=>_0x2f1ba0});var _0x3718ba=_0xa33251(0x17372),_0x4dd193=_0xa33251(0x177e8);class _0x2f1ba0{constructor(_0x165112=null){var _0x5cff5d=a7_0x4956;this[_0x5cff5d(0x22f)]=_0x4dd193['EV'][_0x5cff5d(0x7da)],this[_0x5cff5d(0xa71)]=0x0,this[_0x5cff5d(0x2f3)]=0x0,this[_0x5cff5d(0xc64)]=_0x165112,this[_0x5cff5d(0x372)]=null,this[_0x5cff5d(0x1be)]=null,this[_0x5cff5d(0x263)]=null;}get[_0x1c2fd3(0x597)](){var _0x262649=_0x1c2fd3;return this[_0x262649(0xc64)];}['getMSAATexture'](_0x315004=0x0){var _0x57d599=_0x1c2fd3,_0x45ec25;return null!=(_0x45ec25=null==(_0x45ec25=this[_0x57d599(0x372)])?void 0x0:_0x45ec25[_0x315004])?_0x45ec25:null;}[_0x1c2fd3(0x741)](_0x58572f,_0x468c1=-0x1){var _0x1fdace=_0x1c2fd3;this[_0x1fdace(0x372)]||(this[_0x1fdace(0x372)]=[]),-0x1===_0x468c1&&(_0x468c1=this[_0x1fdace(0x372)]['length']),this['_webgpuMSAATexture'][_0x468c1]=_0x58572f;}[_0x1c2fd3(0x960)](){var _0x10fa1d=_0x1c2fd3;if(this[_0x10fa1d(0x372)]){for(const _0x53cbac of this[_0x10fa1d(0x372)])_0x53cbac[_0x10fa1d(0xaf7)]();this[_0x10fa1d(0x372)]=null;}}['set'](_0x30b4a8){this['_webgpuTexture']=_0x30b4a8;}[_0x1c2fd3(0xb14)](_0x5f4446,_0x275ad0,_0x161f91,_0xe778fe,_0xfbb2a5){var _0x415de1=_0x1c2fd3;this[_0x415de1(0x194)]({'format':this[_0x415de1(0x22f)],'dimension':_0x161f91?_0x4dd193['p_'][_0x415de1(0x9db)]:_0x4dd193['p_'][_0x415de1(0x5ab)],'mipLevelCount':_0x275ad0?_0x3718ba['R']['ILog2'](Math[_0x415de1(0xbe7)](_0xe778fe,_0xfbb2a5))+0x1:0x1,'baseArrayLayer':0x0,'baseMipLevel':0x0,'arrayLayerCount':_0x161f91?0x6:0x1,'aspect':_0x4dd193['H7'][_0x415de1(0x1d6)]});}['createView'](_0x33262b,_0xcc078c=!0x1){var _0x3702f5=_0x1c2fd3;this[_0x3702f5(0x1be)]=this[_0x3702f5(0xc64)]['createView'](_0x33262b),_0xcc078c&&_0x33262b&&(_0xcc078c=_0x33262b['mipLevelCount'],_0x33262b[_0x3702f5(0xb3b)]=0x1,this[_0x3702f5(0x263)]=this[_0x3702f5(0xc64)]['createView'](_0x33262b),_0x33262b[_0x3702f5(0xb3b)]=_0xcc078c);}[_0x1c2fd3(0xbf4)](){var _0x377f19=_0x1c2fd3;this[_0x377f19(0xc64)]=null,this['_webgpuMSAATexture']=null,this['view']=null,this[_0x377f19(0x263)]=null;}[_0x1c2fd3(0x87e)](){var _0x56f9bd=_0x1c2fd3,_0xe60a90;null!=(_0xe60a90=this['_webgpuTexture'])&&_0xe60a90[_0x56f9bd(0xaf7)](),this['releaseMSAATexture'](),null!=(_0xe60a90=this[_0x56f9bd(0x8d3)])&&_0xe60a90['destroy'](),this[_0x56f9bd(0xbf4)]();}}},0x134b1:(_0x418d0d,_0x315f73,_0x22ecd)=>{var _0x9d3ca0=a7_0x51ebec;_0x22ecd['d'](_0x315f73,{'D':()=>_0x597dd4});var _0x149380=_0x22ecd(0x6537),_0x531310=_0x22ecd(0x1610),_0x35187d=_0x22ecd(0xa332);class _0x597dd4{constructor(){var _0x59e928=a7_0x4956;this[_0x59e928(0x5bb)]=_0x597dd4[_0x59e928(0x25a)]++,this[_0x59e928(0x92c)]=0x0,this[_0x59e928(0xbf4)]();}get[_0x9d3ca0(0xb6a)](){var _0x5b87d4=_0x9d3ca0;return 0x0<this[_0x5b87d4(0x979)];}get['hasFloatTextures'](){var _0x34861c=_0x9d3ca0;return 0x0<this[_0x34861c(0x90e)];}[_0x9d3ca0(0xbf4)](){var _0x501588=_0x9d3ca0;this[_0x501588(0xafa)]={},this['textures']={},this[_0x501588(0x23b)]=!0x0,this[_0x501588(0x90e)]=0x0,this['_numExternalTextures']=0x0;}[_0x9d3ca0(0x50f)](_0x259a61,_0xe98c0d){var _0x48260d=_0x9d3ca0;let _0x24653d=this[_0x48260d(0xafa)][_0x259a61],_0xdef7ae=-0x1;_0x24653d?_0xdef7ae=_0x24653d[_0x48260d(0x62c)]:this['samplers'][_0x259a61]=_0x24653d={'sampler':_0xe98c0d,'hashCode':0x0},_0x24653d[_0x48260d(0x901)]=_0xe98c0d,_0x24653d[_0x48260d(0x62c)]=_0xe98c0d?_0x35187d['W']['GetSamplerHashCode'](_0xe98c0d):0x0,_0x259a61=_0xdef7ae!==_0x24653d[_0x48260d(0x62c)],(_0x259a61&&this[_0x48260d(0x92c)]++,this[_0x48260d(0x23b)]||(this[_0x48260d(0x23b)]=_0x259a61));}[_0x9d3ca0(0x353)](_0x3c5dc5,_0x4ec507){var _0x455ced=_0x9d3ca0,_0x29c6d0;let _0xd2c3a9=this[_0x455ced(0xb2e)][_0x3c5dc5],_0x3670e5=-0x1;_0xd2c3a9?_0x3670e5=null!=(_0x29c6d0=null==(_0x29c6d0=_0xd2c3a9[_0x455ced(0x823)])?void 0x0:_0x29c6d0[_0x455ced(0x5bb)])?_0x29c6d0:-0x1:this[_0x455ced(0xb2e)][_0x3c5dc5]=_0xd2c3a9={'texture':_0x4ec507,'isFloatTexture':!0x1,'isExternalTexture':!0x1},_0xd2c3a9[_0x455ced(0x267)]&&this['_numExternalTextures']--,_0xd2c3a9[_0x455ced(0xd4b)]&&this[_0x455ced(0x90e)]--,_0x4ec507?(_0xd2c3a9[_0x455ced(0xd4b)]=_0x4ec507['type']===_0x531310['g'][_0x455ced(0x8ef)],_0xd2c3a9[_0x455ced(0x267)]=_0x149380['x'][_0x455ced(0x4ee)](_0x4ec507),_0xd2c3a9[_0x455ced(0xd4b)]&&this[_0x455ced(0x90e)]++,_0xd2c3a9[_0x455ced(0x267)]&&this[_0x455ced(0x979)]++):(_0xd2c3a9[_0x455ced(0xd4b)]=!0x1,_0xd2c3a9['isExternalTexture']=!0x1),_0xd2c3a9['texture']=_0x4ec507,_0x3c5dc5=_0x3670e5!==(null!=(_0x29c6d0=null==_0x4ec507?void 0x0:_0x4ec507[_0x455ced(0x5bb)])?_0x29c6d0:-0x1),(_0x3c5dc5&&this[_0x455ced(0x92c)]++,this[_0x455ced(0x23b)]||(this[_0x455ced(0x23b)]=_0x3c5dc5));}}_0x597dd4['_Counter']=0x0;},0x711d:(_0x4c1d35,_0x1f9926,_0x283662)=>{var _0x20c7f8=a7_0x51ebec;_0x283662['d'](_0x1f9926,{'D':()=>_0x4a9101});var _0xe088b7=_0x283662(0x177e8),_0x407ce5=_0x283662(0x13c77);class _0x4a9101{constructor(_0x14797c,_0x28dc06,_0x286f0e,_0x2eb228=0x32,_0x2bdd41=0x64){var _0xa44378=a7_0x4956;this[_0xa44378(0x21d)]=[],this['_engine']=_0x14797c,this[_0xa44378(0xc42)]=_0x28dc06,this['_bufferManager']=_0x286f0e,this[_0xa44378(0x7ac)]=-0x1,this[_0xa44378(0xc72)]=0x0,this['_countIncrement']=_0x2bdd41,this['_allocateNewIndices'](_0x2eb228);}get['querySet'](){var _0x55a019=a7_0x4956;return this[_0x55a019(0x63a)][_0x55a019(0x722)];}get['hasQueries'](){var _0x4cd4f4=a7_0x4956;return this[_0x4cd4f4(0xc72)]!==this[_0x4cd4f4(0x21d)][_0x4cd4f4(0x9ff)];}get[_0x20c7f8(0x42e)](){var _0x505c42=_0x20c7f8;switch(this[_0x505c42(0x8ba)][_0x505c42(0x1e5)]()){case 0x0:return void 0x0!==this[_0x505c42(0x8ba)][_0x505c42(0x7e2)][_0x505c42(0x536)][_0x505c42(0x42a)];case 0x1:return void 0x0!==this[_0x505c42(0x8ba)][_0x505c42(0x211)]['renderPassDescriptor'][_0x505c42(0x42a)];}return!0x1;}['createQuery'](){var _0x2a0b4c=_0x20c7f8;0x0===this[_0x2a0b4c(0x21d)][_0x2a0b4c(0x9ff)]&&this[_0x2a0b4c(0x537)]();var _0x353899=this[_0x2a0b4c(0x21d)][this['_availableIndices'][_0x2a0b4c(0x9ff)]-0x1];return this[_0x2a0b4c(0x21d)][_0x2a0b4c(0x9ff)]--,_0x353899;}[_0x20c7f8(0x9f4)](_0x25ece5){var _0x202f38=_0x20c7f8;this[_0x202f38(0x21d)][this[_0x202f38(0x21d)][_0x202f38(0x9ff)]-0x1]=_0x25ece5;}[_0x20c7f8(0xd2e)](_0x42d520){var _0x566c0b=_0x20c7f8;return this['_retrieveQueryBuffer'](),!!this[_0x566c0b(0xd0d)]&&_0x42d520<this['_lastBuffer'][_0x566c0b(0x9ff)];}[_0x20c7f8(0xacc)](_0x16e578){var _0x678e49=_0x20c7f8,_0x352cbc;return Number(null!=(_0x352cbc=null==(_0x352cbc=this[_0x678e49(0xd0d)])?void 0x0:_0x352cbc[_0x16e578])?_0x352cbc:-0x1);}[_0x20c7f8(0x347)](){var _0x52ad9c=_0x20c7f8;this[_0x52ad9c(0xd0d)]&&this['_frameLastBuffer']===this['_engine'][_0x52ad9c(0x51e)]||this['_frameLastBuffer']!==this[_0x52ad9c(0x8ba)][_0x52ad9c(0x51e)]&&(this[_0x52ad9c(0x7ac)]=this[_0x52ad9c(0x8ba)][_0x52ad9c(0x51e)],this[_0x52ad9c(0x63a)][_0x52ad9c(0x6ab)](0x0,this['_currentTotalIndices'])['then'](_0x46bc61=>{this['_lastBuffer']=_0x46bc61;}));}[_0x20c7f8(0x537)](_0x400797){var _0x2445bc=_0x20c7f8;_0x400797=null!=_0x400797?_0x400797:this[_0x2445bc(0x68f)],this['_delayQuerySetDispose']();for(let _0x31a4af=0x0;_0x31a4af<_0x400797;++_0x31a4af)this[_0x2445bc(0x21d)][_0x2445bc(0x2f7)](this[_0x2445bc(0xc72)]+_0x31a4af);this[_0x2445bc(0xc72)]+=_0x400797,this['_querySet']=new _0x407ce5['t'](this['_currentTotalIndices'],_0xe088b7['xL'][_0x2445bc(0xab5)],this[_0x2445bc(0xc42)],this['_bufferManager'],!0x1);}[_0x20c7f8(0x464)](){var _0x19f8ea=_0x20c7f8;const _0x432c23=this[_0x19f8ea(0x63a)];_0x432c23&&setTimeout(()=>_0x432c23['dispose'],0x3e8);}[_0x20c7f8(0x38b)](){var _0x410885=_0x20c7f8,_0x3c71a7;null!=(_0x3c71a7=this['_querySet'])&&_0x3c71a7[_0x410885(0x38b)](),this['_availableIndices'][_0x410885(0x9ff)]=0x0;}}},0x10bb9:(_0x308b55,_0x4b6f0e,_0x238fd7)=>{var _0x4902b8=a7_0x51ebec;_0x238fd7['d'](_0x4b6f0e,{'$':()=>_0x2c8ad4});var _0x4fd052=_0x238fd7(0x181f4),_0x9f3fa4=_0x238fd7(0xa242);class _0x2c8ad4{constructor(_0x2eeff9,_0x292131){var _0x103590=a7_0x4956;this[_0x103590(0xc2f)]=_0x103590(0x66a),this[_0x103590(0x3d2)]=_0x2eeff9,this[_0x103590(0x30d)]={},this[_0x103590(0xbe3)]=_0x292131;}get['isAsync'](){return!0x1;}get[_0x4902b8(0x834)](){var _0xabdc91=_0x4902b8;return!!this[_0xabdc91(0xabc)];}[_0x4902b8(0xc63)](){}[_0x4902b8(0x240)](_0x568b0c,_0xde61fc,_0xb69046,_0x3b7108,_0x18c290,_0x501ac8,_0x470c09,_0x5170da){var _0x132fdf=_0x4902b8;const _0x24a0ba=this[_0x132fdf(0xbe3)];_0x568b0c[_0x132fdf(0xa45)]='',_0x568b0c['_vertexSourceCode']='';var _0x2d5dba=this[_0x132fdf(0x3d2)]['availableTextures'];let _0x149fb1;for(_0x149fb1=0x0;_0x149fb1<_0x18c290[_0x132fdf(0x9ff)];_0x149fb1++){var _0x59c96d=_0x18c290[_0x149fb1];null==_0x2d5dba[_0x18c290[_0x149fb1]]?(_0x18c290[_0x132fdf(0x913)](_0x149fb1,0x1),_0x149fb1--):_0x501ac8[_0x59c96d]=_0x149fb1;}for(const _0x2fc0fa of _0x24a0ba[_0x132fdf(0x82a)](this,_0x470c09))_0x5170da[_0x132fdf(0x2f7)](_0x2fc0fa);this['buildUniformLayout']();const _0x4d669b=[],_0xc505f3=[];for(_0x149fb1=0x0;_0x149fb1<_0x470c09[_0x132fdf(0x9ff)];_0x149fb1++){var _0x3e2c68=_0x5170da[_0x149fb1];0x0<=_0x3e2c68&&(_0x4d669b[_0x132fdf(0x2f7)](_0x470c09[_0x149fb1]),_0xc505f3[_0x132fdf(0x2f7)](_0x3e2c68));}this[_0x132fdf(0x3d2)][_0x132fdf(0xbe5)]=_0x4d669b,this[_0x132fdf(0x3d2)][_0x132fdf(0x3bb)]=_0xc505f3;}[_0x4902b8(0x9ea)](){var _0x7ff258=_0x4902b8;if(this[_0x7ff258(0x3d2)][_0x7ff258(0x462)]['length']){this[_0x7ff258(0x3ff)]=new _0x4fd052['M'](this[_0x7ff258(0xbe3)],void 0x0,void 0x0,'leftOver-'+this['_name']);for(const _0xa3a9eb of this['shaderProcessingContext'][_0x7ff258(0x462)]){var _0x2bec36=_0xa3a9eb[_0x7ff258(0x844)]['replace'](/^(.*?)(<.*>)?$/,'$1'),_0x2bec36=_0x9f3fa4['e'][_0x7ff258(0x937)][_0x2bec36];this['uniformBuffer'][_0x7ff258(0xad8)](_0xa3a9eb[_0x7ff258(0x587)],_0x2bec36,_0xa3a9eb['length']),this[_0x7ff258(0x30d)][_0xa3a9eb[_0x7ff258(0x587)]]=_0xa3a9eb[_0x7ff258(0x844)];}this[_0x7ff258(0x3ff)][_0x7ff258(0x1e7)]();}}['dispose'](){var _0x45c86c=_0x4902b8;this[_0x45c86c(0x3ff)]&&this['uniformBuffer'][_0x45c86c(0x38b)]();}[_0x4902b8(0x4ad)](_0x5c1d90,_0x95c6bb){var _0x430975=_0x4902b8;this[_0x430975(0x3ff)]&&this[_0x430975(0x30d)][_0x5c1d90]&&this[_0x430975(0x3ff)][_0x430975(0x5b3)](_0x5c1d90,_0x95c6bb);}[_0x4902b8(0x906)](_0xf9527e,_0x79879e,_0xabbaa5){var _0x3b3d8f=_0x4902b8;this['uniformBuffer']&&this[_0x3b3d8f(0x30d)][_0xf9527e]&&this[_0x3b3d8f(0x3ff)][_0x3b3d8f(0xca3)](_0xf9527e,_0x79879e,_0xabbaa5);}[_0x4902b8(0x56d)](_0x397cbb,_0x42899a,_0x4bf0cc,_0x520ff5){var _0x3933f2=_0x4902b8;this['uniformBuffer']&&this[_0x3933f2(0x30d)][_0x397cbb]&&this[_0x3933f2(0x3ff)][_0x3933f2(0x409)](_0x397cbb,_0x42899a,_0x4bf0cc,_0x520ff5);}[_0x4902b8(0xd0b)](_0x26c1ab,_0x52f907,_0x1e8816,_0x2af6d7,_0x13fde9){var _0x3183f3=_0x4902b8;this[_0x3183f3(0x3ff)]&&this[_0x3183f3(0x30d)][_0x26c1ab]&&this[_0x3183f3(0x3ff)][_0x3183f3(0x65e)](_0x26c1ab,_0x52f907,_0x1e8816,_0x2af6d7,_0x13fde9);}[_0x4902b8(0x8b4)](_0x2b7e95,_0x518e80){var _0x145260=_0x4902b8;this['uniformBuffer']&&this['_leftOverUniformsByName'][_0x2b7e95]&&this[_0x145260(0x3ff)][_0x145260(0x243)](_0x2b7e95,_0x518e80);}['setIntArray2'](_0x24e2c2,_0x4b6b0a){var _0x1f8a27=_0x4902b8;this[_0x1f8a27(0x8b4)](_0x24e2c2,_0x4b6b0a);}[_0x4902b8(0xceb)](_0x485408,_0x2716c6){var _0xb7e0c3=_0x4902b8;this[_0xb7e0c3(0x8b4)](_0x485408,_0x2716c6);}[_0x4902b8(0x287)](_0x318879,_0x34efdb){var _0xc11dca=_0x4902b8;this[_0xc11dca(0x8b4)](_0x318879,_0x34efdb);}[_0x4902b8(0x77f)](_0xd85052,_0x426b6e){var _0x538316=_0x4902b8;this[_0x538316(0x3ff)]&&this[_0x538316(0x30d)][_0xd85052]&&this[_0x538316(0x3ff)]['updateUInt'](_0xd85052,_0x426b6e);}[_0x4902b8(0x698)](_0x143fe6,_0x1642aa,_0x576e27){var _0xdc09de=_0x4902b8;this[_0xdc09de(0x3ff)]&&this['_leftOverUniformsByName'][_0x143fe6]&&this[_0xdc09de(0x3ff)][_0xdc09de(0x679)](_0x143fe6,_0x1642aa,_0x576e27);}[_0x4902b8(0x1c6)](_0x31195d,_0x738cfa,_0x21acf4,_0x2a6151){var _0xfcd93e=_0x4902b8;this['uniformBuffer']&&this['_leftOverUniformsByName'][_0x31195d]&&this[_0xfcd93e(0x3ff)][_0xfcd93e(0x6ec)](_0x31195d,_0x738cfa,_0x21acf4,_0x2a6151);}[_0x4902b8(0x23d)](_0x148639,_0x194269,_0x2bc7cd,_0x11a21d,_0x18f527){var _0x503778=_0x4902b8;this['uniformBuffer']&&this[_0x503778(0x30d)][_0x148639]&&this[_0x503778(0x3ff)][_0x503778(0x925)](_0x148639,_0x194269,_0x2bc7cd,_0x11a21d,_0x18f527);}['setUIntArray'](_0x5b2249,_0x30c40a){var _0x33f028=_0x4902b8;this[_0x33f028(0x3ff)]&&this[_0x33f028(0x30d)][_0x5b2249]&&this['uniformBuffer'][_0x33f028(0x188)](_0x5b2249,_0x30c40a);}['setUIntArray2'](_0x479cf4,_0x347043){var _0x5afcaf=_0x4902b8;this[_0x5afcaf(0x2ca)](_0x479cf4,_0x347043);}[_0x4902b8(0x483)](_0x5de4b1,_0x226df4){var _0x589c7b=_0x4902b8;this[_0x589c7b(0x2ca)](_0x5de4b1,_0x226df4);}[_0x4902b8(0x1dc)](_0x4175ec,_0x5f8e5b){this['setUIntArray'](_0x4175ec,_0x5f8e5b);}[_0x4902b8(0xa25)](_0x3580d1,_0x42ea2a){var _0x4797d3=_0x4902b8;this[_0x4797d3(0x3ff)]&&this['_leftOverUniformsByName'][_0x3580d1]&&this['uniformBuffer']['updateArray'](_0x3580d1,_0x42ea2a);}[_0x4902b8(0x744)](_0xcbdb88,_0x1a530c){this['setArray'](_0xcbdb88,_0x1a530c);}[_0x4902b8(0x9ce)](_0x1f6865,_0x5f3a41){var _0x7b547c=_0x4902b8;this[_0x7b547c(0xa25)](_0x1f6865,_0x5f3a41);}[_0x4902b8(0x646)](_0x5e56e6,_0x5612f3){var _0x37c934=_0x4902b8;this[_0x37c934(0xa25)](_0x5e56e6,_0x5612f3);}[_0x4902b8(0xc67)](_0x467a9d,_0x2f5677){var _0x2f40ba=_0x4902b8;this['uniformBuffer']&&this['_leftOverUniformsByName'][_0x467a9d]&&this['uniformBuffer'][_0x2f40ba(0xb6e)](_0x467a9d,_0x2f5677);}[_0x4902b8(0x20f)](_0xf8e524,_0x31ee19){var _0x18ea43=_0x4902b8;this[_0x18ea43(0x3ff)]&&this[_0x18ea43(0x30d)][_0xf8e524]&&this[_0x18ea43(0x3ff)]['updateMatrix'](_0xf8e524,_0x31ee19);}[_0x4902b8(0x339)](_0x4e47f8,_0x28077e){var _0x49b37a=_0x4902b8;this['uniformBuffer']&&this['_leftOverUniformsByName'][_0x4e47f8]&&this['uniformBuffer'][_0x49b37a(0xbff)](_0x4e47f8,_0x28077e);}[_0x4902b8(0x7c6)](_0x110d32,_0x5d3d6a){var _0x4f12a1=_0x4902b8;this[_0x4f12a1(0x3ff)]&&this['_leftOverUniformsByName'][_0x110d32]&&this[_0x4f12a1(0x3ff)][_0x4f12a1(0x6fb)](_0x110d32,_0x5d3d6a);}['setFloat'](_0x12bca3,_0x3b2d96){var _0x4aa8f5=_0x4902b8;this[_0x4aa8f5(0x3ff)]&&this['_leftOverUniformsByName'][_0x12bca3]&&this[_0x4aa8f5(0x3ff)][_0x4aa8f5(0xbbc)](_0x12bca3,_0x3b2d96);}[_0x4902b8(0x6a2)](_0x1f0af3,_0x2a6d34){this['setFloat2'](_0x1f0af3,_0x2a6d34['x'],_0x2a6d34['y']);}[_0x4902b8(0x351)](_0xf1b62f,_0x22b078,_0x5d4d4e){var _0x4a6c71=_0x4902b8;this[_0x4a6c71(0x3ff)]&&this['_leftOverUniformsByName'][_0xf1b62f]&&this[_0x4a6c71(0x3ff)]['updateFloat2'](_0xf1b62f,_0x22b078,_0x5d4d4e);}['setVector3'](_0xdfc437,_0x9f48bc){var _0x5c80bb=_0x4902b8;this[_0x5c80bb(0x909)](_0xdfc437,_0x9f48bc['x'],_0x9f48bc['y'],_0x9f48bc['z']);}[_0x4902b8(0x909)](_0x441a91,_0x4412e8,_0x2f19e7,_0x5adba5){var _0x10206b=_0x4902b8;this[_0x10206b(0x3ff)]&&this[_0x10206b(0x30d)][_0x441a91]&&this[_0x10206b(0x3ff)][_0x10206b(0x371)](_0x441a91,_0x4412e8,_0x2f19e7,_0x5adba5);}[_0x4902b8(0x25d)](_0x5ac87f,_0x4a068f){var _0x531744=_0x4902b8;this[_0x531744(0xd3f)](_0x5ac87f,_0x4a068f['x'],_0x4a068f['y'],_0x4a068f['z'],_0x4a068f['w']);}[_0x4902b8(0x449)](_0x2ae1d1,_0x5508e1){var _0x504f71=_0x4902b8;this[_0x504f71(0xd3f)](_0x2ae1d1,_0x5508e1['x'],_0x5508e1['y'],_0x5508e1['z'],_0x5508e1['w']);}[_0x4902b8(0xd3f)](_0x2018ce,_0x10886e,_0x303689,_0x3cbc8f,_0x2b3c19){var _0x2050ba=_0x4902b8;this[_0x2050ba(0x3ff)]&&this[_0x2050ba(0x30d)][_0x2018ce]&&this[_0x2050ba(0x3ff)][_0x2050ba(0x53c)](_0x2018ce,_0x10886e,_0x303689,_0x3cbc8f,_0x2b3c19);}['setColor3'](_0x3919eb,_0x33358a){var _0x3874b7=_0x4902b8;this[_0x3874b7(0x909)](_0x3919eb,_0x33358a['r'],_0x33358a['g'],_0x33358a['b']);}['setColor4'](_0x28a4bd,_0x385137,_0x12a6e4){var _0x56af3c=_0x4902b8;this[_0x56af3c(0xd3f)](_0x28a4bd,_0x385137['r'],_0x385137['g'],_0x385137['b'],_0x12a6e4);}[_0x4902b8(0x207)](_0x15bbff,_0xe152a8){var _0x1c2ba6=_0x4902b8;this[_0x1c2ba6(0xd3f)](_0x15bbff,_0xe152a8['r'],_0xe152a8['g'],_0xe152a8['b'],_0xe152a8['a']);}[_0x4902b8(0x969)](){var _0x27306c=_0x4902b8,_0xd119b2;return null==(_0xd119b2=this[_0x27306c(0x7af)])?void 0x0:_0xd119b2[_0x27306c(0x487)];}['_getFragmentShaderCode'](){var _0x46da87=_0x4902b8,_0x1c4484;return null==(_0x1c4484=this[_0x46da87(0x7af)])?void 0x0:_0x1c4484[_0x46da87(0x5d4)];}}},0x13c77:(_0xf3d36e,_0x499738,_0x30c650)=>{var _0x178487=a7_0x51ebec;_0x30c650['d'](_0x499738,{'t':()=>_0x2dfeb});function _0x368b3a(_0xa3f16f,_0x5e6895,_0x3e7e40,_0x12778f){return new(_0x3e7e40=_0x3e7e40||Promise)(function(_0x22db1d,_0x36b112){var _0x1c623b=a7_0x4956;function _0x45908c(_0x466fd1){try{_0x5eccd3(_0x12778f['next'](_0x466fd1));}catch(_0x361f2b){_0x36b112(_0x361f2b);}}function _0x53fb6f(_0x14b00e){try{_0x5eccd3(_0x12778f['throw'](_0x14b00e));}catch(_0x17e8de){_0x36b112(_0x17e8de);}}function _0x5eccd3(_0x298ecf){var _0x478bca=a7_0x4956,_0x26f656;_0x298ecf[_0x478bca(0x504)]?_0x22db1d(_0x298ecf[_0x478bca(0xc1d)]):((_0x26f656=_0x298ecf[_0x478bca(0xc1d)])instanceof _0x3e7e40?_0x26f656:new _0x3e7e40(function(_0x568eee){_0x568eee(_0x26f656);}))[_0x478bca(0x35f)](_0x45908c,_0x53fb6f);}_0x5eccd3((_0x12778f=_0x12778f[_0x1c623b(0x7d5)](_0xa3f16f,_0x5e6895||[]))[_0x1c623b(0x275)]());});}var _0x2fa122=_0x30c650(0x177e8);class _0x2dfeb{constructor(_0x35021a,_0x1abb62,_0x25ad25,_0x587bcb,_0x2cc545=!0x0){var _0x2a9c1f=a7_0x4956;this['_dstBuffers']=[],this['_device']=_0x25ad25,this['_bufferManager']=_0x587bcb,this[_0x2a9c1f(0x9c7)]=_0x35021a,this['_canUseMultipleBuffers']=_0x2cc545,this[_0x2a9c1f(0x63a)]=_0x25ad25[_0x2a9c1f(0x694)]({'type':_0x1abb62,'count':_0x35021a}),this[_0x2a9c1f(0x79e)]=_0x587bcb[_0x2a9c1f(0x44e)](0x8*_0x35021a,_0x2fa122['FB']['QueryResolve']|_0x2fa122['FB']['CopySrc']),_0x2cc545||this[_0x2a9c1f(0x7ad)][_0x2a9c1f(0x2f7)](this[_0x2a9c1f(0x195)]['createRawBuffer'](0x8*this[_0x2a9c1f(0x9c7)],_0x2fa122['FB'][_0x2a9c1f(0x4b3)]|_0x2fa122['FB']['CopyDst']));}get[_0x178487(0x722)](){var _0x3c33bb=_0x178487;return this[_0x3c33bb(0x63a)];}[_0x178487(0xca2)](_0x333fbf,_0x2fad6d){var _0xc1419f=_0x178487;if(!this[_0xc1419f(0xd49)]&&0x0===this[_0xc1419f(0x7ad)][_0xc1419f(0x9ff)])return null;const _0x52c5dc=this['_device']['createCommandEncoder']();let _0x1f97c3;return 0x0===this[_0xc1419f(0x7ad)][_0xc1419f(0x9ff)]?_0x1f97c3=this['_bufferManager'][_0xc1419f(0x44e)](0x8*this[_0xc1419f(0x9c7)],_0x2fa122['FB'][_0xc1419f(0x4b3)]|_0x2fa122['FB'][_0xc1419f(0x798)]):(_0x1f97c3=this[_0xc1419f(0x7ad)][this[_0xc1419f(0x7ad)][_0xc1419f(0x9ff)]-0x1],this[_0xc1419f(0x7ad)]['length']--),_0x52c5dc['resolveQuerySet'](this[_0xc1419f(0x63a)],_0x333fbf,_0x2fad6d,this[_0xc1419f(0x79e)],0x0),_0x52c5dc[_0xc1419f(0x80f)](this[_0xc1419f(0x79e)],0x0,_0x1f97c3,0x0,0x8*_0x2fad6d),this['_device'][_0xc1419f(0x28d)][_0xc1419f(0x56e)]([_0x52c5dc['finish']()]),_0x1f97c3;}[_0x178487(0x6ab)](_0xb889b9=0x0,_0x5a5f79=0x1){return _0x368b3a(this,void 0x0,void 0x0,function*(){var _0x1b9f6a=a7_0x4956;const _0x221746=this['_getBuffer'](_0xb889b9,_0x5a5f79);if(null===_0x221746)return null;yield _0x221746[_0x1b9f6a(0x845)](_0x2fa122['gc'][_0x1b9f6a(0xa3e)]);var _0x336d04=new BigUint64Array(_0x221746[_0x1b9f6a(0x57e)]())[_0x1b9f6a(0xbde)]();return _0x221746[_0x1b9f6a(0x910)](),this[_0x1b9f6a(0x7ad)][this[_0x1b9f6a(0x7ad)][_0x1b9f6a(0x9ff)]]=_0x221746,_0x336d04;});}[_0x178487(0x2aa)](_0xbd413e=0x0){return _0x368b3a(this,void 0x0,void 0x0,function*(){var _0x23bcf8=a7_0x4956;const _0x2039b8=this[_0x23bcf8(0xca2)](_0xbd413e,0x1);if(null===_0x2039b8)return null;yield _0x2039b8[_0x23bcf8(0x845)](_0x2fa122['gc'][_0x23bcf8(0xa3e)]);var _0x2bf564=new BigUint64Array(_0x2039b8['getMappedRange']()),_0x2bf564=Number(_0x2bf564[0x0]);return _0x2039b8[_0x23bcf8(0x910)](),this[_0x23bcf8(0x7ad)][this['_dstBuffers']['length']]=_0x2039b8,_0x2bf564;});}[_0x178487(0x58f)](_0x4c2fd0=0x0){return _0x368b3a(this,void 0x0,void 0x0,function*(){var _0x438fad=a7_0x4956;const _0x16ee78=this[_0x438fad(0xca2)](_0x4c2fd0,0x2);if(null===_0x16ee78)return null;yield _0x16ee78[_0x438fad(0x845)](_0x2fa122['gc'][_0x438fad(0xa3e)]);var _0x4422b9=new BigUint64Array(_0x16ee78[_0x438fad(0x57e)]()),_0x4422b9=Number(_0x4422b9[0x1]-_0x4422b9[0x0]);return _0x16ee78[_0x438fad(0x910)](),this[_0x438fad(0x7ad)][this[_0x438fad(0x7ad)][_0x438fad(0x9ff)]]=_0x16ee78,_0x4422b9;});}['dispose'](){var _0x696c56=_0x178487;this[_0x696c56(0x63a)]['destroy'](),this[_0x696c56(0x195)]['releaseBuffer'](this[_0x696c56(0x79e)]);for(let _0x1d88c5=0x0;_0x1d88c5<this[_0x696c56(0x7ad)][_0x696c56(0x9ff)];++_0x1d88c5)this[_0x696c56(0x195)][_0x696c56(0x8e1)](this[_0x696c56(0x7ad)][_0x1d88c5]);}}},0xb2b:(_0x4b94f3,_0x3e3a68,_0x5afa84)=>{var _0x3bde83=a7_0x51ebec;_0x5afa84['d'](_0x3e3a68,{'B':()=>_0x54d0d4});class _0x54d0d4{constructor(){var _0x2f9eed=a7_0x4956;this[_0x2f9eed(0xb60)]=[],this[_0x2f9eed(0xbf4)]();}[_0x3bde83(0xbf4)](_0x2748a6=!0x1){var _0x49401c=_0x3bde83;this[_0x49401c(0x8e8)]=null,_0x2748a6&&(this[_0x49401c(0x536)]=null,this['colorAttachmentViewDescriptor']=null,this[_0x49401c(0x37e)]=null,this[_0x49401c(0xb60)]=[],this[_0x49401c(0x40a)]=void 0x0);}}},0xcf70:(_0x52a4dc,_0x540bc4,_0x9290ce)=>{var _0x254f58=a7_0x51ebec;_0x9290ce['d'](_0x540bc4,{'d':()=>_0x27d249});const _0x4af14f={'mat2':0x2,'mat3':0x3,'mat4':0x4,'mat2x2':0x2,'mat3x3':0x3,'mat4x4':0x4};class _0x27d249{constructor(_0x35af2c){var _0x27f97c=a7_0x4956;this[_0x27f97c(0x279)]=_0x35af2c,this['_attributeNextLocation']=0x0,this[_0x27f97c(0xc51)]=0x0,this[_0x27f97c(0xcd6)]=0x0,this[_0x27f97c(0xabb)]=0x0,this[_0x27f97c(0xd39)]={},this[_0x27f97c(0x199)]={},this[_0x27f97c(0x40d)]={},this[_0x27f97c(0x843)]={},this[_0x27f97c(0x8a9)]={},this[_0x27f97c(0x8fc)]=[],this[_0x27f97c(0x7a5)]=[],this[_0x27f97c(0x69e)]=[],this['bindGroupEntries']=[],this[_0x27f97c(0xbb5)]=[],this[_0x27f97c(0xd73)]=[],this[_0x27f97c(0x80c)]=[],this[_0x27f97c(0x462)]=[],this[_0x27f97c(0xc84)]();}static get[_0x254f58(0x3aa)](){var _0xd7e7=_0x254f58;return _0x27d249['_SimplifiedKnownBindings']?_0x27d249[_0xd7e7(0x6be)]:_0x27d249['_KnownUBOs'];}[_0x254f58(0xc84)](){var _0x3f2e5b=_0x254f58,_0x4db0a8=_0x27d249[_0x3f2e5b(0x3aa)];const _0x5f2b94=[];for(const _0x403440 in _0x4db0a8){var _0x3830e7=_0x4db0a8[_0x403440]['binding'];-0x1!==_0x3830e7[_0x3f2e5b(0x2e1)]&&(void 0x0===_0x5f2b94[_0x3830e7[_0x3f2e5b(0x2e1)]]?_0x5f2b94[_0x3830e7[_0x3f2e5b(0x2e1)]]=_0x3830e7[_0x3f2e5b(0x55e)]:_0x5f2b94[_0x3830e7[_0x3f2e5b(0x2e1)]]=Math[_0x3f2e5b(0xbe7)](_0x5f2b94[_0x3830e7[_0x3f2e5b(0x2e1)]],_0x3830e7[_0x3f2e5b(0x55e)]));}this['freeGroupIndex']=_0x5f2b94[_0x3f2e5b(0x9ff)]-0x1,0x0===this['freeGroupIndex']?(this[_0x3f2e5b(0xcd6)]++,this['freeBindingIndex']=0x0):this[_0x3f2e5b(0xabb)]=_0x5f2b94[_0x5f2b94['length']-0x1]+0x1;}['getAttributeNextLocation'](_0x3dfd36,_0x31e797=0x0){var _0x19ddb0=_0x254f58,_0x5db423=this[_0x19ddb0(0x639)];return this[_0x19ddb0(0x639)]+=(null!=(_0x3dfd36=_0x4af14f[_0x3dfd36])?_0x3dfd36:0x1)*(_0x31e797||0x1),_0x5db423;}[_0x254f58(0x306)](_0x56ced4,_0x237ba3=0x0){var _0x22e2ef=_0x254f58,_0x222c46=this['_varyingNextLocation'];return this[_0x22e2ef(0xc51)]+=(null!=(_0x56ced4=_0x4af14f[_0x56ced4])?_0x56ced4:0x1)*(_0x237ba3||0x1),_0x222c46;}[_0x254f58(0x8b9)](){var _0x25ac94=_0x254f58;return this[_0x25ac94(0x9a9)](0x1);}[_0x254f58(0x9a9)](_0x500a76){var _0x445f09=_0x254f58;if(this[_0x445f09(0xabb)]>0x10000-_0x500a76&&(this[_0x445f09(0xcd6)]++,this[_0x445f09(0xabb)]=0x0),0x4===this[_0x445f09(0xcd6)])throw'Too\x20many\x20textures\x20or\x20UBOs\x20have\x20been\x20declared\x20and\x20it\x20is\x20not\x20supported\x20in\x20WebGPU.';var _0x5a88db={'groupIndex':this[_0x445f09(0xcd6)],'bindingIndex':this[_0x445f09(0xabb)]};return this[_0x445f09(0xabb)]+=_0x500a76,_0x5a88db;}}_0x27d249[_0x254f58(0x9d5)]=!0x0,_0x27d249['_SimplifiedKnownUBOs']={'Scene':{'binding':{'groupIndex':0x0,'bindingIndex':0x0}},'Light0':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light1':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light2':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light3':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light4':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light5':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light6':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light7':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light8':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light9':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light10':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light11':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light12':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light13':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light14':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light15':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light16':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light17':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light18':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light19':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light20':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light21':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light22':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light23':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light24':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light25':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light26':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light27':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light28':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light29':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light30':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light31':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Material':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Mesh':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Internals':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}}},_0x27d249[_0x254f58(0x5ff)]={'Scene':{'binding':{'groupIndex':0x0,'bindingIndex':0x0}},'Light0':{'binding':{'groupIndex':0x1,'bindingIndex':0x0}},'Light1':{'binding':{'groupIndex':0x1,'bindingIndex':0x1}},'Light2':{'binding':{'groupIndex':0x1,'bindingIndex':0x2}},'Light3':{'binding':{'groupIndex':0x1,'bindingIndex':0x3}},'Light4':{'binding':{'groupIndex':0x1,'bindingIndex':0x4}},'Light5':{'binding':{'groupIndex':0x1,'bindingIndex':0x5}},'Light6':{'binding':{'groupIndex':0x1,'bindingIndex':0x6}},'Light7':{'binding':{'groupIndex':0x1,'bindingIndex':0x7}},'Light8':{'binding':{'groupIndex':0x1,'bindingIndex':0x8}},'Light9':{'binding':{'groupIndex':0x1,'bindingIndex':0x9}},'Light10':{'binding':{'groupIndex':0x1,'bindingIndex':0xa}},'Light11':{'binding':{'groupIndex':0x1,'bindingIndex':0xb}},'Light12':{'binding':{'groupIndex':0x1,'bindingIndex':0xc}},'Light13':{'binding':{'groupIndex':0x1,'bindingIndex':0xd}},'Light14':{'binding':{'groupIndex':0x1,'bindingIndex':0xe}},'Light15':{'binding':{'groupIndex':0x1,'bindingIndex':0xf}},'Light16':{'binding':{'groupIndex':0x1,'bindingIndex':0x10}},'Light17':{'binding':{'groupIndex':0x1,'bindingIndex':0x11}},'Light18':{'binding':{'groupIndex':0x1,'bindingIndex':0x12}},'Light19':{'binding':{'groupIndex':0x1,'bindingIndex':0x13}},'Light20':{'binding':{'groupIndex':0x1,'bindingIndex':0x14}},'Light21':{'binding':{'groupIndex':0x1,'bindingIndex':0x15}},'Light22':{'binding':{'groupIndex':0x1,'bindingIndex':0x16}},'Light23':{'binding':{'groupIndex':0x1,'bindingIndex':0x17}},'Light24':{'binding':{'groupIndex':0x1,'bindingIndex':0x18}},'Light25':{'binding':{'groupIndex':0x1,'bindingIndex':0x19}},'Light26':{'binding':{'groupIndex':0x1,'bindingIndex':0x1a}},'Light27':{'binding':{'groupIndex':0x1,'bindingIndex':0x1b}},'Light28':{'binding':{'groupIndex':0x1,'bindingIndex':0x1c}},'Light29':{'binding':{'groupIndex':0x1,'bindingIndex':0x1d}},'Light30':{'binding':{'groupIndex':0x1,'bindingIndex':0x1e}},'Light31':{'binding':{'groupIndex':0x1,'bindingIndex':0x1f}},'Material':{'binding':{'groupIndex':0x2,'bindingIndex':0x0}},'Mesh':{'binding':{'groupIndex':0x2,'bindingIndex':0x1}},'Internals':{'binding':{'groupIndex':0x2,'bindingIndex':0x2}}};},0xa242:(_0x25b65b,_0x5a9c8c,_0x27abaf)=>{var _0x4ad90a=a7_0x51ebec;_0x27abaf['d'](_0x5a9c8c,{'e':()=>_0x358586});var _0x2c870a=_0x27abaf(0x12658),_0x18890e=_0x27abaf(0x177e8),_0x360086=_0x27abaf(0x6214);class _0x358586{constructor(){var _0x4a81fb=a7_0x4956;this['shaderLanguage']=_0x2c870a['x'][_0x4a81fb(0x2f1)];}[_0x4ad90a(0xb7a)](_0x502ffa,_0x1d9992,_0x28151b){var _0x339ed1=_0x4ad90a,_0x1230c9=0x0;[_0x502ffa,_0x1d9992,_0x1230c9]=this['_getArraySize'](_0x502ffa,_0x1d9992,_0x28151b);for(let _0x1c7494=0x0;_0x1c7494<this[_0x339ed1(0xb0a)][_0x339ed1(0x462)][_0x339ed1(0x9ff)];_0x1c7494++)if(this[_0x339ed1(0xb0a)][_0x339ed1(0x462)][_0x1c7494][_0x339ed1(0x587)]===_0x502ffa)return;this[_0x339ed1(0xb0a)][_0x339ed1(0x462)]['push']({'name':_0x502ffa,'type':_0x1d9992,'length':_0x1230c9});}[_0x4ad90a(0xb91)](){var _0x1a4e4e=_0x4ad90a;if(!this[_0x1a4e4e(0xb0a)][_0x1a4e4e(0x462)][_0x1a4e4e(0x9ff)])return'';var _0x400951=_0x358586[_0x1a4e4e(0x44f)];let _0x567762=this['_webgpuProcessingContext'][_0x1a4e4e(0x40d)][_0x400951];return _0x567762||(_0x567762={'binding':this[_0x1a4e4e(0xb0a)][_0x1a4e4e(0x8b9)]()},this[_0x1a4e4e(0xb0a)][_0x1a4e4e(0x40d)][_0x400951]=_0x567762,this['_addBufferBindingDescription'](_0x400951,_0x567762,_0x18890e['Rs']['Uniform'],!0x0),this[_0x1a4e4e(0x7a0)](_0x400951,_0x567762,_0x18890e['Rs'][_0x1a4e4e(0x1f3)],!0x1)),this['_generateLeftOverUBOCode'](_0x400951,_0x567762);}[_0x4ad90a(0xa9e)](){var _0x50baac=_0x4ad90a;for(let _0x3a4abf=0x0;_0x3a4abf<this[_0x50baac(0xb0a)]['bindGroupLayoutEntries'][_0x50baac(0x9ff)];_0x3a4abf++){var _0xebc907=this[_0x50baac(0xb0a)][_0x50baac(0x7a5)][_0x3a4abf];if(void 0x0===_0xebc907)this[_0x50baac(0xb0a)]['bindGroupLayoutEntries'][_0x3a4abf]=[];else for(let _0x373a3e=0x0;_0x373a3e<_0xebc907[_0x50baac(0x9ff)];_0x373a3e++){var _0x46bfee=this[_0x50baac(0xb0a)][_0x50baac(0x7a5)][_0x3a4abf][_0x373a3e],_0x3021dd=this[_0x50baac(0xb0a)]['bindGroupLayoutEntryInfo'][_0x3a4abf][_0x46bfee['binding']][_0x50baac(0x587)],_0x41c21d=this[_0x50baac(0xb0a)][_0x50baac(0x69e)][_0x3a4abf][_0x46bfee[_0x50baac(0xba7)]]['nameInArrayOfTexture'];_0x46bfee&&(_0x46bfee['texture']||_0x46bfee[_0x50baac(0x5eb)]||_0x46bfee['storageTexture']?this[_0x50baac(0xb0a)][_0x50baac(0xd73)][_0x50baac(0x2f7)](_0x41c21d):_0x46bfee[_0x50baac(0x901)]?this[_0x50baac(0xb0a)][_0x50baac(0x80c)][_0x50baac(0x2f7)](_0x3021dd):_0x46bfee[_0x50baac(0x500)]&&this['_webgpuProcessingContext'][_0x50baac(0xbb5)]['push'](_0x3021dd));}}}[_0x4ad90a(0x1d7)](){var _0xa5ba49=_0x4ad90a;const _0x518a41=this[_0xa5ba49(0xb0a)][_0xa5ba49(0xbef)];for(let _0x5213c4=0x0;_0x5213c4<this['_webgpuProcessingContext'][_0xa5ba49(0x7a5)][_0xa5ba49(0x9ff)];_0x5213c4++){var _0x333e21=this[_0xa5ba49(0xb0a)][_0xa5ba49(0x7a5)][_0x5213c4];const _0x129878=[];for(let _0x1e9c09=0x0;_0x1e9c09<_0x333e21['length'];_0x1e9c09++){var _0x3c6cfb=this[_0xa5ba49(0xb0a)]['bindGroupLayoutEntries'][_0x5213c4][_0x1e9c09];_0x3c6cfb[_0xa5ba49(0x901)]||_0x3c6cfb[_0xa5ba49(0x823)]||_0x3c6cfb[_0xa5ba49(0x4a0)]||_0x3c6cfb[_0xa5ba49(0x5eb)]?_0x129878['push']({'binding':_0x3c6cfb[_0xa5ba49(0xba7)],'resource':void 0x0}):_0x3c6cfb[_0xa5ba49(0x500)]&&_0x129878['push']({'binding':_0x3c6cfb[_0xa5ba49(0xba7)],'resource':{'buffer':void 0x0,'offset':0x0,'size':0x0}});}_0x518a41[_0x5213c4]=_0x129878;}}[_0x4ad90a(0x915)](_0x45b817,_0x253256,_0x326599,_0x189e05,_0x192a6b,_0x4502a1){var _0x4b5eee=_0x4ad90a;let {groupIndex:_0x112f55,bindingIndex:_0x2aa4d4}=_0x253256[_0x4b5eee(0xb2e)][_0x326599];this['_webgpuProcessingContext'][_0x4b5eee(0x7a5)][_0x112f55]||(this['_webgpuProcessingContext']['bindGroupLayoutEntries'][_0x112f55]=[],this[_0x4b5eee(0xb0a)]['bindGroupLayoutEntryInfo'][_0x112f55]=[]),this[_0x4b5eee(0xb0a)]['bindGroupLayoutEntryInfo'][_0x112f55][_0x2aa4d4]||(_0x192a6b=null===_0x189e05?this[_0x4b5eee(0xb0a)]['bindGroupLayoutEntries'][_0x112f55][_0x4b5eee(0x2f7)]({'binding':_0x2aa4d4,'visibility':0x0,'externalTexture':{}}):_0x192a6b?this[_0x4b5eee(0xb0a)]['bindGroupLayoutEntries'][_0x112f55][_0x4b5eee(0x2f7)]({'binding':_0x2aa4d4,'visibility':0x0,'storageTexture':{'access':_0x18890e['Gt'][_0x4b5eee(0xa93)],'format':_0x192a6b,'viewDimension':_0x189e05}}):this['_webgpuProcessingContext'][_0x4b5eee(0x7a5)][_0x112f55][_0x4b5eee(0x2f7)]({'binding':_0x2aa4d4,'visibility':0x0,'texture':{'sampleType':_0x253256[_0x4b5eee(0xab1)],'viewDimension':_0x189e05,'multisampled':!0x1}}),_0x189e05=_0x253256[_0x4b5eee(0xd74)]?_0x45b817+_0x326599:_0x45b817,this['_webgpuProcessingContext'][_0x4b5eee(0x69e)][_0x112f55][_0x2aa4d4]={'name':_0x45b817,'index':_0x192a6b-0x1,'nameInArrayOfTexture':_0x189e05}),_0x2aa4d4=this[_0x4b5eee(0xb0a)][_0x4b5eee(0x69e)][_0x112f55][_0x2aa4d4][_0x4b5eee(0x506)],this[_0x4b5eee(0xb0a)][_0x4b5eee(0x7a5)][_0x112f55][_0x2aa4d4]['visibility']|=_0x4502a1?_0x18890e['$X'][_0x4b5eee(0x35d)]:_0x18890e['$X'][_0x4b5eee(0x53a)];}[_0x4ad90a(0xb7e)](_0x1f2fab,_0x1c5b52,_0x15f957){var _0x27b110=_0x4ad90a;let {groupIndex:_0x429d7b,bindingIndex:_0x39f9a6}=_0x1c5b52[_0x27b110(0xba7)];this[_0x27b110(0xb0a)]['bindGroupLayoutEntries'][_0x429d7b]||(this['_webgpuProcessingContext']['bindGroupLayoutEntries'][_0x429d7b]=[],this[_0x27b110(0xb0a)][_0x27b110(0x69e)][_0x429d7b]=[]),this[_0x27b110(0xb0a)][_0x27b110(0x69e)][_0x429d7b][_0x39f9a6]||(_0x1c5b52=this[_0x27b110(0xb0a)]['bindGroupLayoutEntries'][_0x429d7b]['push']({'binding':_0x39f9a6,'visibility':0x0,'sampler':{'type':_0x1c5b52[_0x27b110(0x844)]}}),this['_webgpuProcessingContext'][_0x27b110(0x69e)][_0x429d7b][_0x39f9a6]={'name':_0x1f2fab,'index':_0x1c5b52-0x1}),_0x39f9a6=this['_webgpuProcessingContext']['bindGroupLayoutEntryInfo'][_0x429d7b][_0x39f9a6][_0x27b110(0x506)],this['_webgpuProcessingContext'][_0x27b110(0x7a5)][_0x429d7b][_0x39f9a6][_0x27b110(0xd21)]|=_0x15f957?_0x18890e['$X'][_0x27b110(0x35d)]:_0x18890e['$X'][_0x27b110(0x53a)];}['_addBufferBindingDescription'](_0x2ae649,_0x17e558,_0x85c827,_0x5723d8){var _0x4d8922=_0x4ad90a;let {groupIndex:_0x3cde86,bindingIndex:_0x273099}=_0x17e558[_0x4d8922(0xba7)];this[_0x4d8922(0xb0a)][_0x4d8922(0x7a5)][_0x3cde86]||(this[_0x4d8922(0xb0a)]['bindGroupLayoutEntries'][_0x3cde86]=[],this['_webgpuProcessingContext'][_0x4d8922(0x69e)][_0x3cde86]=[]),this['_webgpuProcessingContext'][_0x4d8922(0x69e)][_0x3cde86][_0x273099]||(_0x17e558=this[_0x4d8922(0xb0a)][_0x4d8922(0x7a5)][_0x3cde86][_0x4d8922(0x2f7)]({'binding':_0x273099,'visibility':0x0,'buffer':{'type':_0x85c827}}),this['_webgpuProcessingContext'][_0x4d8922(0x69e)][_0x3cde86][_0x273099]={'name':_0x2ae649,'index':_0x17e558-0x1}),_0x273099=this['_webgpuProcessingContext'][_0x4d8922(0x69e)][_0x3cde86][_0x273099][_0x4d8922(0x506)],this['_webgpuProcessingContext']['bindGroupLayoutEntries'][_0x3cde86][_0x273099]['visibility']|=_0x5723d8?_0x18890e['$X'][_0x4d8922(0x35d)]:_0x18890e['$X'][_0x4d8922(0x53a)];}[_0x4ad90a(0x8ad)](_0x176420,_0x50a4d1,_0x313b63,_0x22bbb8){var _0x1dc464=_0x4ad90a;let _0x44487b=_0x176420[_0x1dc464(0xaa4)](_0x50a4d1);if(_0x44487b<0x0)return _0x360086[_0x1dc464(0x989)](_0x1dc464(0x1b2)),_0x176420;if(_0x313b63){for(;_0x44487b++<_0x176420[_0x1dc464(0x9ff)]&&'{'!=_0x176420[_0x1dc464(0x3f6)](_0x44487b););_0x44487b<_0x176420[_0x1dc464(0x9ff)]&&(_0x176420=_0x176420[_0x1dc464(0x41c)](0x0,_0x44487b+0x1)+_0x313b63+_0x176420[_0x1dc464(0x41c)](_0x44487b+0x1));}return _0x22bbb8&&(_0x50a4d1=_0x176420[_0x1dc464(0x187)]('}'),_0x176420=_0x176420[_0x1dc464(0x41c)](0x0,_0x50a4d1),_0x176420+=_0x22bbb8+'\x0a}'),_0x176420;}}_0x358586['AutoSamplerSuffix']=_0x4ad90a(0xba9),_0x358586[_0x4ad90a(0x44f)]=_0x4ad90a(0xd1e),_0x358586[_0x4ad90a(0x8b5)]='Internals',_0x358586[_0x4ad90a(0x937)]={'bool':0x1,'int':0x1,'float':0x1,'vec2':0x2,'ivec2':0x2,'vec3':0x3,'ivec3':0x3,'vec4':0x4,'ivec4':0x4,'mat2':0x4,'mat3':0xc,'mat4':0x10,'i32':0x1,'u32':0x1,'f32':0x1,'mat2x2':0x4,'mat3x3':0xc,'mat4x4':0x10},_0x358586[_0x4ad90a(0x968)]={'sampler2D':_0x4ad90a(0x2c7),'sampler2DArray':'sampler2DArray','sampler2DShadow':_0x4ad90a(0x7c2),'sampler2DArrayShadow':_0x4ad90a(0x7fd),'samplerCube':_0x4ad90a(0xb83),'sampler3D':_0x4ad90a(0x604)},_0x358586[_0x4ad90a(0x9d7)]={'sampler2D':_0x4ad90a(0x804),'sampler2DArray':_0x4ad90a(0x50b),'sampler2DShadow':_0x4ad90a(0x804),'sampler2DArrayShadow':_0x4ad90a(0x50b),'samplerCube':_0x4ad90a(0x8cc),'samplerCubeArray':_0x4ad90a(0xb12),'sampler3D':_0x4ad90a(0x4a6)},_0x358586[_0x4ad90a(0xa48)]={'textureCube':_0x18890e['p_'][_0x4ad90a(0x9db)],'textureCubeArray':_0x18890e['p_'][_0x4ad90a(0x50a)],'texture2D':_0x18890e['p_'][_0x4ad90a(0x5ab)],'texture2DArray':_0x18890e['p_']['E2dArray'],'texture3D':_0x18890e['p_'][_0x4ad90a(0xc87)]},_0x358586['_SamplerTypeByWebGLSamplerType']={'sampler2DShadow':_0x4ad90a(0x28c),'sampler2DArrayShadow':_0x4ad90a(0x28c)},_0x358586[_0x4ad90a(0x438)]={'samplerShadow':!0x0,'samplerArrayShadow':!0x0,'sampler':!0x1};},0x7ccc:(_0xd67a18,_0x1af13f,_0x1fc557)=>{var _0x8270ac=a7_0x51ebec;_0x1fc557['d'](_0x1af13f,{'s':()=>_0x206571});var _0xee167f=_0x1fc557(0xcf70),_0x1fc8ef=_0x1fc557(0x177e8),_0x506616=_0x1fc557(0x9a70),_0x5d9a76=_0x1fc557(0xa242),_0x533432=_0x1fc557(0x12658);class _0x206571 extends _0x5d9a76['e']{constructor(){var _0x7216e4=a7_0x4956;super(...arguments),this[_0x7216e4(0x163)]=[],this[_0x7216e4(0x1bb)]=[],this[_0x7216e4(0xc98)]=!0x1,this[_0x7216e4(0x9ee)]=!0x1,this['shaderLanguage']=_0x533432['x']['GLSL'],this['parseGLES3']=!0x0;}['_getArraySize'](_0x54e944,_0x344504,_0x5d2d67){var _0xba0aaa=a7_0x4956;let _0x57d07c=0x0;var _0x29c350=_0x54e944['indexOf']('['),_0x3636bb=_0x54e944[_0xba0aaa(0xaa4)](']');if(0x0<_0x29c350&&0x0<_0x3636bb){const _0x3da5dd=_0x54e944[_0xba0aaa(0x41c)](_0x29c350+0x1,_0x3636bb);_0x57d07c=+_0x3da5dd,isNaN(_0x57d07c)&&(_0x57d07c=+_0x5d2d67[_0x3da5dd[_0xba0aaa(0x725)]()]),_0x54e944=_0x54e944['substr'](0x0,_0x29c350);}return[_0x54e944,_0x344504,_0x57d07c];}[_0x8270ac(0xa77)](_0x476228){var _0x524590=_0x8270ac;this['_webgpuProcessingContext']=_0x476228,this[_0x524590(0x163)][_0x524590(0x9ff)]=0x0,this['_textureArrayProcessing'][_0x524590(0x9ff)]=0x0,this[_0x524590(0x1d0)]=void 0x0,this[_0x524590(0x5a4)]=void 0x0,this[_0x524590(0x176)]=void 0x0;}[_0x8270ac(0x6f6)](_0x132368,_0x48de20){var _0x228c20=_0x8270ac,_0x2ff868='//\x20Internals\x20UBO\x0d\x0auniform\x20'+_0x5d9a76['e'][_0x228c20(0x8b5)]+_0x228c20(0x5c9),_0x49bc94=-0x1!==_0x132368[_0x228c20(0xaa4)](_0x228c20(0x82b));return _0x48de20?(this[_0x228c20(0x9ee)]=-0x1!==_0x132368['indexOf'](_0x228c20(0x1f8)),this[_0x228c20(0x9ee)]&&(this['varyingFragmentKeywordName']='in'),_0x49bc94?_0x132368:_0x2ff868+_0x228c20(0x4da)+_0x132368):(this[_0x228c20(0xc98)]=-0x1!==_0x132368[_0x228c20(0xaa4)](_0x228c20(0x1f8)),this[_0x228c20(0xc98)]&&(this[_0x228c20(0x1d0)]='in',this[_0x228c20(0x5a4)]=_0x228c20(0x550)),_0x49bc94?_0x132368:_0x2ff868+_0x132368);}[_0x8270ac(0x74a)](_0x431e39,_0x730df4,_0x29fa1a){var _0x10cb03=_0x8270ac;this[_0x10cb03(0xbcd)]=_0x29fa1a;const _0x4f6d26=_0x730df4&&this[_0x10cb03(0x9ee)]?/\s*in\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s+(\S+)\s*;/gm:!_0x730df4&&this[_0x10cb03(0xc98)]?/\s*out\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s+(\S+)\s*;/gm:/\s*varying\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s+(\S+)\s*;/gm;var _0xfbb0a=_0x4f6d26[_0x10cb03(0xb80)](_0x431e39);if(null!==_0xfbb0a){var _0x2c6ef0=_0xfbb0a[0x1],_0x459f43=_0xfbb0a[0x2];let _0x3b78c7;_0x730df4?(_0x3b78c7=this[_0x10cb03(0xb0a)][_0x10cb03(0xd39)][_0x459f43],this[_0x10cb03(0x163)][_0x3b78c7]='',void 0x0===_0x3b78c7&&_0x506616['Y'][_0x10cb03(0x555)](_0x10cb03(0x697)+_0x459f43+'\x22\x20is\x20not\x20declared\x20in\x20the\x20vertex\x20shader!\x20This\x20declaration\x20will\x20be\x20ignored.')):(_0x3b78c7=this[_0x10cb03(0xb0a)][_0x10cb03(0x306)](_0x2c6ef0,this[_0x10cb03(0x60a)](_0x459f43,_0x2c6ef0,_0x29fa1a)[0x2]),this[_0x10cb03(0xb0a)][_0x10cb03(0xd39)][_0x459f43]=_0x3b78c7,this[_0x10cb03(0x163)][_0x3b78c7]=_0x10cb03(0x817)+_0x3b78c7+_0x10cb03(0xca8)+_0x2c6ef0+'\x20'+_0x459f43+';'),_0x431e39=_0x431e39['replace'](_0xfbb0a[0x0],void 0x0===_0x3b78c7?'':_0x10cb03(0x817)+_0x3b78c7+')\x20'+(_0x730df4?'in':_0x10cb03(0x550))+'\x20'+_0x2c6ef0+'\x20'+_0x459f43+';');}return _0x431e39;}[_0x8270ac(0x69a)](_0xa4b21f,_0x16ae86){var _0x302677=_0x8270ac;this['_preProcessors']=_0x16ae86;const _0x40c31c=this[_0x302677(0xc98)]?/\s*in\s+(\S+)\s+(\S+)\s*;/gm:/\s*attribute\s+(\S+)\s+(\S+)\s*;/gm;var _0x2ee255,_0x5788a8,_0x25fe23=_0x40c31c[_0x302677(0xb80)](_0xa4b21f);return null!==_0x25fe23&&(_0x2ee255=_0x25fe23[0x1],_0x5788a8=_0x25fe23[0x2],_0x16ae86=this[_0x302677(0xb0a)]['getAttributeNextLocation'](_0x2ee255,this['_getArraySize'](_0x5788a8,_0x2ee255,_0x16ae86)[0x2]),this[_0x302677(0xb0a)]['availableAttributes'][_0x5788a8]=_0x16ae86,this['_webgpuProcessingContext'][_0x302677(0x8fc)][_0x16ae86]=_0x5788a8,_0xa4b21f=_0xa4b21f[_0x302677(0xa2d)](_0x25fe23[0x0],_0x302677(0x817)+_0x16ae86+')\x20in\x20'+_0x2ee255+'\x20'+_0x5788a8+';')),_0xa4b21f;}['uniformProcessor'](_0x4ece0a,_0x5225a8,_0x18e4e9){var _0x182282=_0x8270ac;this['_preProcessors']=_0x18e4e9;var _0x21934b=/\s*uniform\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s+(\S+)\s*;/gm['exec'](_0x4ece0a);if(null!==_0x21934b){let _0xd384bb=_0x21934b[0x1],_0x492a15=_0x21934b[0x2];if(0x0===_0xd384bb[_0x182282(0xaa4)](_0x182282(0x901))||0x1===_0xd384bb[_0x182282(0xaa4)]('sampler')){let _0x1cb71d=0x0,_0x324b68=([_0x492a15,_0xd384bb,_0x1cb71d]=this[_0x182282(0x60a)](_0x492a15,_0xd384bb,_0x18e4e9),this[_0x182282(0xb0a)][_0x182282(0x843)][_0x492a15]);if(!_0x324b68){_0x324b68={'autoBindSampler':!0x0,'isTextureArray':0x0<_0x1cb71d,'isStorageTexture':!0x1,'textures':[],'sampleType':_0x1fc8ef['oD'][_0x182282(0x3f5)]};for(let _0x2f1ec9=0x0;_0x2f1ec9<(_0x1cb71d||0x1);++_0x2f1ec9)_0x324b68[_0x182282(0xb2e)]['push'](this[_0x182282(0xb0a)][_0x182282(0x8b9)]());}var _0x21934b=null!=(_0x21934b=_0x5d9a76['e'][_0x182282(0xb97)][_0xd384bb])?_0x21934b:_0x182282(0x901),_0xc49962=!!_0x5d9a76['e'][_0x182282(0x438)][_0x21934b],_0x25f973=_0xc49962?_0x1fc8ef['dV']['Comparison']:_0x1fc8ef['dV'][_0x182282(0x38c)],_0x2c8e8a=_0x492a15+_0x5d9a76['e'][_0x182282(0x863)],_0x25f973=this['_webgpuProcessingContext']['availableSamplers'][_0x2c8e8a]||{'binding':this[_0x182282(0xb0a)][_0x182282(0x8b9)](),'type':_0x25f973},_0x27df78='u'===_0xd384bb['charAt'](0x0)?'u':'i'===_0xd384bb[_0x182282(0x3f6)](0x0)?'i':'',_0xc49962=(_0x27df78&&(_0xd384bb=_0xd384bb[_0x182282(0x7a3)](0x1)),_0xc49962?_0x1fc8ef['oD'][_0x182282(0x8c2)]:'u'==_0x27df78?_0x1fc8ef['oD']['Uint']:'i'==_0x27df78?_0x1fc8ef['oD']['Sint']:_0x1fc8ef['oD']['Float']),_0xc49962=(_0x324b68[_0x182282(0xab1)]=_0xc49962,0x0<_0x1cb71d),_0x11e333=_0x25f973[_0x182282(0xba7)][_0x182282(0x2e1)],_0x570898=_0x25f973[_0x182282(0xba7)][_0x182282(0x55e)],_0x2a32fd=_0x5d9a76['e'][_0x182282(0x968)][_0xd384bb],_0xbb76a3=_0x5d9a76['e']['_TextureTypeByWebGLSamplerType'][_0xd384bb],_0x25c574=_0x5d9a76['e'][_0x182282(0xa48)][_0xbb76a3];if(_0xc49962){const _0x18e8de=[];_0x18e8de[_0x182282(0x2f7)](_0x182282(0x30b)+_0x11e333+_0x182282(0x9ec)+_0x570898+_0x182282(0x4de)+_0x27df78+_0x21934b+'\x20'+_0x2c8e8a+';'),_0x4ece0a='\x0d\x0a';for(let _0x2980d9=0x0;_0x2980d9<_0x1cb71d;++_0x2980d9){var _0x5252b0=_0x324b68[_0x182282(0xb2e)][_0x2980d9][_0x182282(0x2e1)],_0x27713a=_0x324b68[_0x182282(0xb2e)][_0x2980d9][_0x182282(0x55e)];_0x18e8de[_0x182282(0x2f7)](_0x182282(0x30b)+_0x5252b0+',\x20binding\x20=\x20'+_0x27713a+')\x20uniform\x20'+_0xbb76a3+'\x20'+_0x492a15+'Texture'+_0x2980d9+';'),_0x4ece0a+=(0x0<_0x2980d9?'\x0d\x0a':'')+_0x182282(0x704)+_0x492a15+_0x2980d9+'\x20'+_0x27df78+_0x2a32fd+'('+_0x492a15+'Texture'+_0x2980d9+',\x20'+_0x2c8e8a+')';}_0x4ece0a=_0x18e8de['join']('\x0d\x0a')+_0x4ece0a,this[_0x182282(0x1bb)]['push'](_0x492a15);}else _0x1cb71d=0x1,_0x4ece0a='layout(set\x20=\x20'+_0x11e333+',\x20binding\x20=\x20'+_0x570898+_0x182282(0x4de)+_0x27df78+_0x21934b+'\x20'+_0x2c8e8a+_0x182282(0x268)+_0x324b68[_0x182282(0xb2e)][0x0]['groupIndex']+',\x20binding\x20=\x20'+_0x324b68[_0x182282(0xb2e)][0x0][_0x182282(0x55e)]+_0x182282(0x4de)+_0xbb76a3+'\x20'+_0x492a15+_0x182282(0x6fc)+_0x492a15+'\x20'+_0x27df78+_0x2a32fd+'('+_0x492a15+_0x182282(0x6e0)+_0x2c8e8a+')';this['_webgpuProcessingContext']['availableTextures'][_0x492a15]=_0x324b68,this['_webgpuProcessingContext'][_0x182282(0x8a9)][_0x2c8e8a]=_0x25f973,this[_0x182282(0xb7e)](_0x2c8e8a,_0x25f973,!_0x5225a8);for(let _0x1ff918=0x0;_0x1ff918<_0x1cb71d;++_0x1ff918)this[_0x182282(0x915)](_0x492a15,_0x324b68,_0x1ff918,_0x25c574,null,!_0x5225a8);}else this[_0x182282(0xb7a)](_0x492a15,_0xd384bb,_0x18e4e9),_0x4ece0a='';}return _0x4ece0a;}[_0x8270ac(0xadd)](_0x33f2d2,_0x14d0b0){var _0x393dde=_0x8270ac,_0x5de484=/uniform\s+(\w+)/gm['exec'](_0x33f2d2);if(null!==_0x5de484){var _0x217e9f,_0x5de484=_0x5de484[0x1];let _0x4257e5=this['_webgpuProcessingContext'][_0x393dde(0x40d)][_0x5de484];_0x4257e5||(_0x217e9f=(_0x217e9f=_0xee167f['d'][_0x393dde(0x3aa)][_0x5de484])&&-0x1!==_0x217e9f[_0x393dde(0xba7)][_0x393dde(0x2e1)]?_0x217e9f[_0x393dde(0xba7)]:this[_0x393dde(0xb0a)][_0x393dde(0x8b9)](),_0x4257e5={'binding':_0x217e9f},this['_webgpuProcessingContext'][_0x393dde(0x40d)][_0x5de484]=_0x4257e5),this['_addBufferBindingDescription'](_0x5de484,_0x4257e5,_0x1fc8ef['Rs']['Uniform'],!_0x14d0b0),_0x33f2d2=_0x33f2d2[_0x393dde(0xa2d)](_0x393dde(0xbca),_0x393dde(0x30b)+_0x4257e5[_0x393dde(0xba7)][_0x393dde(0x2e1)]+',\x20binding\x20=\x20'+_0x4257e5[_0x393dde(0xba7)][_0x393dde(0x55e)]+')\x20uniform');}return _0x33f2d2;}[_0x8270ac(0x2b9)](_0x5c3394,_0x3abfab,_0x12485f,_0x5371d,_0x5451f4){var _0x288d77=_0x8270ac,_0x4ce9fe=-0x1!==_0x5c3394['search'](/#extension.+GL_EXT_draw_buffers.+require/);if(_0x5c3394=(_0x5c3394=_0x5c3394[_0x288d77(0xa2d)](/#extension.+(GL_OVR_multiview2|GL_OES_standard_derivatives|GL_EXT_shader_texture_lod|GL_EXT_frag_depth|GL_EXT_draw_buffers).+(enable|require)/g,''))[_0x288d77(0xa2d)](/texture2D\s*\(/g,_0x288d77(0x5c5)),_0x12485f){var _0x1ef934,_0x203b9d=0x0<=_0x5c3394[_0x288d77(0xaa4)](_0x288d77(0xc89)),_0x2611a3=_0x203b9d?_0x288d77(0x70c):'';_0x5c3394=(_0x5c3394=(_0x5c3394=(_0x5c3394=(_0x5c3394=(_0x5c3394=(_0x5c3394=_0x5c3394[_0x288d77(0xa2d)](/texture2DLodEXT\s*\(/g,_0x288d77(0x86c)))[_0x288d77(0xa2d)](/textureCubeLodEXT\s*\(/g,_0x288d77(0x86c)))[_0x288d77(0xa2d)](/textureCube\s*\(/g,_0x288d77(0x5c5)))[_0x288d77(0xa2d)](/gl_FragDepthEXT/g,_0x288d77(0x603)))[_0x288d77(0xa2d)](/gl_FragColor/g,_0x288d77(0xb1e)))[_0x288d77(0xa2d)](/gl_FragData/g,_0x288d77(0xc2b)))[_0x288d77(0xa2d)](/gl_FragCoord/g,'glFragCoord_'),this[_0x288d77(0x9ee)]?null!==(_0x1ef934=/^\s*out\s+\S+\s+\S+\s*;/gm['exec'](_0x5c3394))&&(_0x5c3394=_0x5c3394['substring'](0x0,_0x1ef934['index'])+_0x288d77(0xc26)+_0x5c3394[_0x288d77(0x41c)](_0x1ef934[_0x288d77(0x506)])):_0x5c3394=_0x5c3394[_0x288d77(0xa2d)](/void\s+?main\s*\(/g,(_0x4ce9fe?'':'layout(location\x20=\x200)\x20out\x20vec4\x20glFragColor;\x0a')+_0x288d77(0x991)),_0x5c3394=(_0x5c3394=_0x5c3394[_0x288d77(0xa2d)](/dFdy/g,_0x288d77(0x2af)))[_0x288d77(0xa2d)](_0x288d77(0x186),_0x2611a3),_0x203b9d&&(_0x5c3394=this[_0x288d77(0x8ad)](_0x5c3394,_0x288d77(0x44d),_0x288d77(0x43e)));}else{if(_0x5c3394=(_0x5c3394=_0x5c3394[_0x288d77(0xa2d)](/gl_InstanceID/g,_0x288d77(0x557)))[_0x288d77(0xa2d)](/gl_VertexID/g,'gl_VertexIndex'),-0x1!==_0x3abfab[_0x288d77(0xaa4)](_0x288d77(0x414)))return _0x288d77(0x91c)+_0x5c3394;}return _0x12485f||(_0x1ef934=_0x5c3394[_0x288d77(0x187)]('}'),_0x5c3394=_0x5c3394['substring'](0x0,_0x1ef934),_0x5c3394+='gl_Position.y\x20*=\x20yFactor_;\x0a',_0x5451f4['isNDCHalfZRange']||(_0x5c3394+=_0x288d77(0xaaf)),_0x5c3394+='}'),_0x5c3394;}[_0x8270ac(0x6b2)](_0x3426e3,_0x299d4c){var _0x2e352f=_0x8270ac;const _0x484263=new RegExp(_0x299d4c+'\x5cs*\x5c[(.+)?\x5c]','gm');let _0x505806=_0x484263[_0x2e352f(0xb80)](_0x3426e3);for(;null!==_0x505806;){const _0x3a7fec=_0x505806[0x1];let _0x53eec8=+_0x3a7fec;this[_0x2e352f(0xbcd)]&&isNaN(_0x53eec8)&&(_0x53eec8=+this['_preProcessors'][_0x3a7fec[_0x2e352f(0x725)]()]),_0x3426e3=_0x3426e3[_0x2e352f(0xa2d)](_0x505806[0x0],_0x299d4c+_0x53eec8),_0x505806=_0x484263['exec'](_0x3426e3);}return _0x3426e3;}[_0x8270ac(0x5ac)](_0x2f0884,_0x5582f9){var _0x3a3ee0=_0x8270ac;let _0xfb032d=_0x3a3ee0(0x30b)+_0x5582f9[_0x3a3ee0(0xba7)]['groupIndex']+',\x20binding\x20=\x20'+_0x5582f9[_0x3a3ee0(0xba7)]['bindingIndex']+_0x3a3ee0(0x4de)+_0x2f0884+_0x3a3ee0(0x76d);for(const _0x59351b of this[_0x3a3ee0(0xb0a)][_0x3a3ee0(0x462)])0x0<_0x59351b[_0x3a3ee0(0x9ff)]?_0xfb032d+=_0x3a3ee0(0x9c0)+_0x59351b[_0x3a3ee0(0x844)]+'\x20'+_0x59351b[_0x3a3ee0(0x587)]+'['+_0x59351b[_0x3a3ee0(0x9ff)]+_0x3a3ee0(0x5c2):_0xfb032d+='\x20\x20\x20\x20'+_0x59351b[_0x3a3ee0(0x844)]+'\x20'+_0x59351b[_0x3a3ee0(0x587)]+';\x0a';return _0xfb032d+='};\x0a\x0a';}[_0x8270ac(0xa2c)](_0x3fc05c,_0x588fa2){var _0x110df0=_0x8270ac;for(let _0x15792a=0x0;_0x15792a<this['_textureArrayProcessing'][_0x110df0(0x9ff)];++_0x15792a){var _0x2421ad=this[_0x110df0(0x1bb)][_0x15792a];_0x3fc05c=this['_applyTextureArrayProcessing'](_0x3fc05c,_0x2421ad),_0x588fa2=this[_0x110df0(0x6b2)](_0x588fa2,_0x2421ad);}for(let _0x4e2b6c=0x0;_0x4e2b6c<this[_0x110df0(0x163)][_0x110df0(0x9ff)];++_0x4e2b6c){var _0x1578c7=this['_missingVaryings'][_0x4e2b6c];_0x1578c7&&0x0<_0x1578c7[_0x110df0(0x9ff)]&&(_0x588fa2=_0x1578c7+'\x0a'+_0x588fa2);}var _0x390076=this[_0x110df0(0xb91)]();return _0x3fc05c=_0x390076+_0x3fc05c,_0x588fa2=_0x390076+_0x588fa2,this[_0x110df0(0xa9e)](),this[_0x110df0(0x1d7)](),this[_0x110df0(0xbcd)]=null,{'vertexCode':_0x3fc05c,'fragmentCode':_0x588fa2};}}},0x1574b:(_0x3e0a69,_0x59766b,_0xfb31a3)=>{var _0x54aafa=a7_0x51ebec;_0xfb31a3['d'](_0x59766b,{'o':()=>_0x3d4477});var _0x1a8146=_0xfb31a3(0xcf70),_0x407a89=_0xfb31a3(0x177e8),_0xaefa76=_0xfb31a3(0x9a70),_0x3c8e45=_0xfb31a3(0xa242),_0x39d307=_0xfb31a3(0xeecb),_0x59766b=_0xfb31a3(0x26fa),_0x4e93ae=(_0x59766b['v']['IncludesShadersStoreWGSL'][_0x54aafa(0x56c)]=_0x54aafa(0x76c),_0x59766b['v'][_0x54aafa(0xcd8)]['bonesVertex']=_0x54aafa(0x830),_0x59766b['v'][_0x54aafa(0xcd8)][_0x54aafa(0xb09)]=_0x54aafa(0xc33),_0x59766b['v'][_0x54aafa(0xcd8)]['bakedVertexAnimation']=_0x54aafa(0x258),_0x59766b['v']['IncludesShadersStoreWGSL'][_0x54aafa(0xc91)]='#if\x20defined(CLIPPLANE)\x20||\x20defined(CLIPPLANE2)\x20||\x20defined(CLIPPLANE3)\x20||\x20defined(CLIPPLANE4)\x20||\x20defined(CLIPPLANE5)\x20||\x20defined(CLIPPLANE6)\x0aif\x20(false)\x20{}\x0a#endif\x0a#ifdef\x20CLIPPLANE\x0aelse\x20if\x20(fragmentInputs.fClipDistance>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0aelse\x20if\x20(fragmentInputs.fClipDistance2>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0aelse\x20if\x20(fragmentInputs.fClipDistance3>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0aelse\x20if\x20(fragmentInputs.fClipDistance4>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0aelse\x20if\x20(fragmentInputs.fClipDistance5>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0aelse\x20if\x20(fragmentInputs.fClipDistance6>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a',_0x59766b['v']['IncludesShadersStoreWGSL'][_0x54aafa(0xd02)]=_0x54aafa(0xd10),_0x59766b['v'][_0x54aafa(0xcd8)]['clipPlaneVertex']=_0x54aafa(0x261),_0x59766b['v'][_0x54aafa(0xcd8)][_0x54aafa(0x31b)]=_0x54aafa(0x534),_0x59766b['v'][_0x54aafa(0xcd8)][_0x54aafa(0xac0)]=_0x54aafa(0x3c4),_0x59766b['v'][_0x54aafa(0xcd8)][_0x54aafa(0x51c)]=_0x54aafa(0x454),_0x59766b['v'][_0x54aafa(0xcd8)][_0x54aafa(0xc79)]=_0x54aafa(0x745),_0x59766b['v'][_0x54aafa(0xcd8)][_0x54aafa(0x95e)]=_0x54aafa(0x2e6),_0x59766b['v'][_0x54aafa(0xcd8)][_0x54aafa(0x54b)]='#ifdef\x20MORPHTARGETS\x0a#ifndef\x20MORPHTARGETS_TEXTURE\x0aattribute\x20position{X}\x20:\x20vec3<f32>;\x0a#ifdef\x20MORPHTARGETS_NORMAL\x0aattribute\x20normal{X}\x20:\x20vec3<f32>;\x0a#endif\x0a#ifdef\x20MORPHTARGETS_TANGENT\x0aattribute\x20tangent{X}\x20:\x20vec3<f32>;\x0a#endif\x0a#ifdef\x20MORPHTARGETS_UV\x0aattribute\x20uv_{X}\x20:\x20vec2<f32>;\x0a#endif\x0a#endif\x0a#endif\x0a',_0x59766b['v'][_0x54aafa(0xcd8)]['morphTargetsVertexGlobal']=_0x54aafa(0xcdb),_0x59766b['v']['IncludesShadersStoreWGSL'][_0x54aafa(0x88e)]=_0x54aafa(0x2c6),_0x59766b['v'][_0x54aafa(0xcd8)]['sceneUboDeclaration']='struct\x20Scene\x20{\x0aviewProjection\x20:\x20mat4x4<f32>,\x0a#ifdef\x20MULTIVIEW\x0aviewProjectionR\x20:\x20mat4x4<f32>,\x0a#endif\x20\x0aview\x20:\x20mat4x4<f32>,\x0aprojection\x20:\x20mat4x4<f32>,\x0avEyePosition\x20:\x20vec4<f32>,\x0a};\x0avar<uniform>\x20scene\x20:\x20Scene;\x0a',_0xfb31a3(0x12658));const _0x48a900=_0x54aafa(0xa17),_0x59bfeb={'texture_1d':_0x407a89['p_'][_0x54aafa(0x3da)],'texture_2d':_0x407a89['p_'][_0x54aafa(0x5ab)],'texture_2d_array':_0x407a89['p_'][_0x54aafa(0x3b7)],'texture_3d':_0x407a89['p_'][_0x54aafa(0xc87)],'texture_cube':_0x407a89['p_']['Cube'],'texture_cube_array':_0x407a89['p_'][_0x54aafa(0x50a)],'texture_multisampled_2d':_0x407a89['p_'][_0x54aafa(0x5ab)],'texture_depth_2d':_0x407a89['p_']['E2d'],'texture_depth_2d_array':_0x407a89['p_']['E2dArray'],'texture_depth_cube':_0x407a89['p_'][_0x54aafa(0x9db)],'texture_depth_cube_array':_0x407a89['p_'][_0x54aafa(0x50a)],'texture_depth_multisampled_2d':_0x407a89['p_'][_0x54aafa(0x5ab)],'texture_storage_1d':_0x407a89['p_'][_0x54aafa(0x3da)],'texture_storage_2d':_0x407a89['p_']['E2d'],'texture_storage_2d_array':_0x407a89['p_'][_0x54aafa(0x3b7)],'texture_storage_3d':_0x407a89['p_'][_0x54aafa(0xc87)],'texture_external':null};class _0x3d4477 extends _0x3c8e45['e']{constructor(){var _0xadb78b=_0x54aafa;super(...arguments),this[_0xadb78b(0x279)]=_0x4e93ae['x'][_0xadb78b(0xbb4)],this['uniformRegexp']=/uniform\s+(\w+)\s*:\s*(.+)\s*;/,this['textureRegexp']=/var\s+(\w+)\s*:\s*((array<\s*)?(texture_\w+)\s*(<\s*(.+)\s*>)?\s*(,\s*\w+\s*>\s*)?);/,this[_0xadb78b(0x4dc)]=!0x0;}[_0x54aafa(0x60a)](_0x5799a5,_0xf0e060,_0x11de69){var _0x33e08c=_0x54aafa;let _0x5b3830=0x0;var _0x5cb159=_0xf0e060['lastIndexOf']('>');if(0x0<=_0xf0e060[_0x33e08c(0xaa4)](_0x33e08c(0x457))&&0x0<_0x5cb159){let _0x42fa25=_0x5cb159;for(;0x0<_0x42fa25&&'\x20'!==_0xf0e060[_0x33e08c(0x3f6)](_0x42fa25)&&','!==_0xf0e060[_0x33e08c(0x3f6)](_0x42fa25);)_0x42fa25--;const _0x485105=_0xf0e060[_0x33e08c(0x41c)](_0x42fa25+0x1,_0x5cb159);for(_0x5b3830=+_0x485105,isNaN(_0x5b3830)&&(_0x5b3830=+_0x11de69[_0x485105[_0x33e08c(0x725)]()]);0x0<_0x42fa25&&('\x20'===_0xf0e060['charAt'](_0x42fa25)||','===_0xf0e060[_0x33e08c(0x3f6)](_0x42fa25));)_0x42fa25--;_0xf0e060=_0xf0e060[_0x33e08c(0x41c)](_0xf0e060['indexOf']('<')+0x1,_0x42fa25+0x1);}return[_0x5799a5,_0xf0e060,_0x5b3830];}['initializeShaders'](_0x1cb9a1){var _0x4e84bb=_0x54aafa;this[_0x4e84bb(0xb0a)]=_0x1cb9a1,this[_0x4e84bb(0x1e4)]=[],this[_0x4e84bb(0xa08)]=[],this['_varyingNamesWGSL']=[],this[_0x4e84bb(0x260)]=[];}[_0x54aafa(0x6f6)](_0x21cc36){var _0x579807=_0x54aafa;return _0x579807(0x425)+_0x3c8e45['e'][_0x579807(0x8b5)]+_0x579807(0xc96)+_0x3c8e45['e'][_0x579807(0x8b5)]+';\x0a'+(0x0,_0x39d307['Kt'])(_0x21cc36);}[_0x54aafa(0x74a)](_0x4c7da6,_0x3ed07e,_0x16785f){var _0x52af02=_0x54aafa,_0x3d5833=/\s*varying\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s*:\s*(.+)\s*;/gm['exec'](_0x4c7da6);if(null!==_0x3d5833){var _0x11f9f2=_0x3d5833[0x2],_0x3d5833=_0x3d5833[0x1];let _0x374dd1;_0x3ed07e?void 0x0===(_0x374dd1=this['_webgpuProcessingContext']['availableVaryings'][_0x3d5833])&&_0xaefa76['Y'][_0x52af02(0x555)](_0x52af02(0x697)+_0x3d5833+'\x22\x20is\x20not\x20declared\x20in\x20the\x20vertex\x20shader!\x20This\x20declaration\x20will\x20be\x20ignored.'):(_0x374dd1=this['_webgpuProcessingContext'][_0x52af02(0x306)](_0x11f9f2,this[_0x52af02(0x60a)](_0x3d5833,_0x11f9f2,_0x16785f)[0x2]),this[_0x52af02(0xb0a)][_0x52af02(0xd39)][_0x3d5833]=_0x374dd1,this[_0x52af02(0xa08)][_0x52af02(0x2f7)](_0x52af02(0x66e)+_0x374dd1+')\x20'+_0x3d5833+_0x52af02(0xcda)+_0x11f9f2+','),this[_0x52af02(0x2d8)]['push'](_0x3d5833)),_0x4c7da6='';}return _0x4c7da6;}['attributeProcessor'](_0x56b20e,_0x3df773){var _0x4c23a1=_0x54aafa,_0x1d523c,_0x275ea8=/\s*attribute\s+(\S+)\s*:\s*(.+)\s*;/gm[_0x4c23a1(0xb80)](_0x56b20e);return null!==_0x275ea8&&(_0x1d523c=_0x275ea8[0x2],_0x275ea8=_0x275ea8[0x1],_0x3df773=this['_webgpuProcessingContext'][_0x4c23a1(0xb2b)](_0x1d523c,this[_0x4c23a1(0x60a)](_0x275ea8,_0x1d523c,_0x3df773)[0x2]),this['_webgpuProcessingContext'][_0x4c23a1(0x199)][_0x275ea8]=_0x3df773,this[_0x4c23a1(0xb0a)]['orderedAttributes'][_0x3df773]=_0x275ea8,this['_attributesWGSL'][_0x4c23a1(0x2f7)](_0x4c23a1(0xd11)+_0x3df773+')\x20'+_0x275ea8+_0x4c23a1(0xcda)+_0x1d523c+','),_0x56b20e=''),_0x56b20e;}[_0x54aafa(0x737)](_0x23494f,_0x295a33,_0xf5d8c2){var _0x4161a9=_0x54aafa,_0xe55c57,_0x4c415d=this['uniformRegexp'][_0x4161a9(0xb80)](_0x23494f);return null!==_0x4c415d&&(_0xe55c57=_0x4c415d[0x2],_0x4c415d=_0x4c415d[0x1],this[_0x4161a9(0xb7a)](_0x4c415d,_0xe55c57,_0xf5d8c2),_0x23494f=''),_0x23494f;}[_0x54aafa(0x3e9)](_0x3600cb,_0x4d1eba,_0x5a03ff){var _0x374730=_0x54aafa,_0x54d1c4=this[_0x374730(0x708)][_0x374730(0xb80)](_0x3600cb);if(null!==_0x54d1c4){var _0x235948=_0x54d1c4[0x1],_0x2e1189=_0x54d1c4[0x2],_0x5744ec=!!_0x54d1c4[0x3];const _0xefdb8=_0x54d1c4[0x4];var _0x47a2b1=0x0<_0xefdb8[_0x374730(0xaa4)]('storage');const _0x2f074b=_0x54d1c4[0x6];var _0x143f2f=_0x47a2b1?_0x2f074b[_0x374730(0x41c)](0x0,_0x2f074b[_0x374730(0xaa4)](','))[_0x374730(0x725)]():null;let _0x47b6bb=_0x5744ec?this[_0x374730(0x60a)](_0x235948,_0x2e1189,_0x5a03ff)[0x2]:0x0,_0x4ea485=this[_0x374730(0xb0a)]['availableTextures'][_0x235948];if(_0x4ea485)_0x47b6bb=_0x4ea485[_0x374730(0xb2e)]['length'];else{_0x4ea485={'isTextureArray':0x0<_0x47b6bb,'isStorageTexture':_0x47a2b1,'textures':[],'sampleType':_0x407a89['oD'][_0x374730(0x3f5)]},_0x47b6bb=_0x47b6bb||0x1;for(let _0x54e256=0x0;_0x54e256<_0x47b6bb;++_0x54e256)_0x4ea485['textures'][_0x374730(0x2f7)](this[_0x374730(0xb0a)]['getNextFreeUBOBinding']());}this[_0x374730(0xb0a)][_0x374730(0x843)][_0x235948]=_0x4ea485;var _0x54d1c4=0x0<_0xefdb8[_0x374730(0xaa4)](_0x374730(0x281)),_0x9ba321=_0x59bfeb[_0xefdb8],_0x5744ec=_0x54d1c4?_0x407a89['oD'][_0x374730(0x8c2)]:_0x374730(0x684)===_0x2f074b?_0x407a89['oD']['Uint']:_0x374730(0x1c7)===_0x2f074b?_0x407a89['oD'][_0x374730(0x693)]:_0x407a89['oD'][_0x374730(0x3f5)];if(_0x4ea485[_0x374730(0xab1)]=_0x5744ec,void 0x0===_0x9ba321)throw _0x374730(0x343)+_0xefdb8+'\x22!';for(let _0x1a822c=0x0;_0x1a822c<_0x47b6bb;++_0x1a822c){var {groupIndex:_0x4a3b00,bindingIndex:_0x3c06b}=_0x4ea485[_0x374730(0xb2e)][_0x1a822c];0x0===_0x1a822c&&(_0x3600cb=_0x374730(0x264)+_0x4a3b00+_0x374730(0x743)+_0x3c06b+')\x20'+_0x3600cb),this[_0x374730(0x915)](_0x235948,_0x4ea485,_0x1a822c,_0x9ba321,_0x143f2f,!_0x4d1eba);}}return _0x3600cb;}[_0x54aafa(0x2b9)](_0x2d2322){return _0x2d2322;}[_0x54aafa(0xa2c)](_0x556fa3,_0x39c09c){var _0x39b3e6=_0x54aafa,_0x595ed0=0x0<=_0x39c09c[_0x39b3e6(0xaa4)](_0x39b3e6(0x948))?_0x39b3e6(0x73c):'',_0x3026af=(_0x556fa3=this[_0x39b3e6(0x55f)](_0x556fa3,!0x0),_0x39c09c=this[_0x39b3e6(0x55f)](_0x39c09c,!0x1),_0x556fa3=this[_0x39b3e6(0x917)](_0x556fa3,!0x0),_0x39c09c=this[_0x39b3e6(0x917)](_0x39c09c,!0x1),this[_0x39b3e6(0xb91)]());_0x39c09c=_0x3026af+_0x39c09c,_0x556fa3=(_0x556fa3=_0x3026af+_0x556fa3)[_0x39b3e6(0xa2d)](/#define /g,'//#define\x20'),_0x556fa3=this[_0x39b3e6(0x8e5)](_0x556fa3);let _0x55102c=_0x39b3e6(0x62d),_0x252ff4=(0x0<this[_0x39b3e6(0x1e4)]['length']&&(_0x55102c+=this[_0x39b3e6(0x1e4)][_0x39b3e6(0x5cf)]('\x0a')),_0x55102c+='\x0a};\x0avar<private>\x20vertexInputs\x20:\x20VertexInputs;\x0a',_0x39b3e6(0xbd2)),_0xd41c3c=(0x0<this['_varyingsWGSL'][_0x39b3e6(0x9ff)]&&(_0x252ff4+=this[_0x39b3e6(0xa08)][_0x39b3e6(0x5cf)]('\x0a')),_0x252ff4+=_0x39b3e6(0xd04),_0x556fa3=_0x55102c+_0x252ff4+_0x556fa3,_0x556fa3=this['_injectStartingAndEndingCode'](_0x556fa3,'fn\x20main','\x0a\x20\x20vertexInputs\x20=\x20input;\x0a',_0x39b3e6(0x5fa)),_0x39c09c=_0x39c09c['replace'](/#define /g,_0x39b3e6(0x4f9)),_0x39c09c=(_0x39c09c=this[_0x39b3e6(0x8e5)](_0x39c09c))[_0x39b3e6(0xa2d)](/dpdy/g,_0x39b3e6(0x7d8)),_0x39b3e6(0x9d1)),_0x38d835=(0x0<this[_0x39b3e6(0xa08)][_0x39b3e6(0x9ff)]&&(_0xd41c3c+=this[_0x39b3e6(0xa08)][_0x39b3e6(0x5cf)]('\x0a')),_0xd41c3c+=_0x39b3e6(0x9bc),_0x39b3e6(0x5d5)),_0x26aa6d=!0x1,_0x5215d8=0x0;for(;!(_0x26aa6d||(_0x5215d8=_0x39c09c[_0x39b3e6(0xaa4)](_0x48a900,_0x5215d8))<0x0);){var _0x8fd2d3=_0x5215d8;for(_0x26aa6d=!0x0;0x1<_0x5215d8&&'\x0a'!==_0x39c09c[_0x39b3e6(0x3f6)](_0x5215d8);){if('/'===_0x39c09c[_0x39b3e6(0x3f6)](_0x5215d8)&&'/'===_0x39c09c[_0x39b3e6(0x3f6)](_0x5215d8-0x1)){_0x26aa6d=!0x1;break;}_0x5215d8--;}_0x5215d8=_0x8fd2d3+_0x48a900['length'];}return _0x26aa6d&&(_0x38d835+='\x20\x20@builtin(frag_depth)\x20fragDepth:\x20f32,\x0a'),_0x38d835+=_0x39b3e6(0x6d5),_0x39c09c=_0xd41c3c+_0x38d835+_0x39c09c,_0x39c09c=this['_injectStartingAndEndingCode'](_0x39c09c,_0x39b3e6(0x7fe),_0x39b3e6(0x927)+_0x595ed0,_0x39b3e6(0x680)),this[_0x39b3e6(0xa9e)](),this[_0x39b3e6(0x1d7)](),{'vertexCode':_0x556fa3,'fragmentCode':_0x39c09c};}['_generateLeftOverUBOCode'](_0x5b4916,_0x1597bf){var _0x17321e=_0x54aafa;let _0x5efac9='',_0x57fabe=_0x17321e(0x425)+_0x5b4916+_0x17321e(0x567);for(const _0xbfc2b9 of this[_0x17321e(0xb0a)]['leftOverUniforms']){var _0x39cee4=_0xbfc2b9[_0x17321e(0x844)]['replace'](/^(.*?)(<.*>)?$/,'$1'),_0x4cd66d=_0x3c8e45['e'][_0x17321e(0x937)][_0x39cee4];0x0<_0xbfc2b9[_0x17321e(0x9ff)]?_0x4cd66d<=0x2?(_0x4cd66d=_0x5b4916+'_'+this['_stridedUniformArrays'][_0x17321e(0x9ff)]+_0x17321e(0x34a),_0x5efac9+=_0x17321e(0x425)+_0x4cd66d+_0x17321e(0xb73)+_0x39cee4+_0x17321e(0x3dd),this[_0x17321e(0x260)][_0x17321e(0x2f7)](_0xbfc2b9[_0x17321e(0x587)]),_0x57fabe+=_0x17321e(0xb81)+_0xbfc2b9['name']+_0x17321e(0x621)+_0x4cd66d+',\x20'+_0xbfc2b9[_0x17321e(0x9ff)]+_0x17321e(0x385)):_0x57fabe+='\x20'+_0xbfc2b9[_0x17321e(0x587)]+_0x17321e(0x621)+_0xbfc2b9[_0x17321e(0x844)]+',\x20'+_0xbfc2b9[_0x17321e(0x9ff)]+'>,\x0a':_0x57fabe+='\x20\x20'+_0xbfc2b9['name']+_0x17321e(0xcda)+_0xbfc2b9[_0x17321e(0x844)]+',\x0a';}return _0x57fabe+='};\x0a',_0x57fabe=_0x5efac9+'\x0a'+_0x57fabe,_0x57fabe+=_0x17321e(0x264)+_0x1597bf['binding']['groupIndex']+_0x17321e(0x743)+_0x1597bf[_0x17321e(0xba7)]['bindingIndex']+')\x20var<uniform>\x20uniforms\x20:\x20'+_0x5b4916+';\x0a';}[_0x54aafa(0x55f)](_0x32f1cb,_0x1cdac7){var _0x45fca5=_0x54aafa;const _0x31742b=/var\s+(\w+Sampler)\s*:\s*(sampler|sampler_comparison)\s*;/gm;for(;;){var _0xfa4fbd=_0x31742b[_0x45fca5(0xb80)](_0x32f1cb);if(null===_0xfa4fbd)break;const _0x54e9eb=_0xfa4fbd[0x1];var _0x158398=_0xfa4fbd[0x2],_0x4b0d42=_0x54e9eb[_0x45fca5(0xaa4)](_0x3c8e45['e'][_0x45fca5(0x863)])===_0x54e9eb[_0x45fca5(0x9ff)]-_0x3c8e45['e'][_0x45fca5(0x863)][_0x45fca5(0x9ff)]?_0x54e9eb['substring'](0x0,_0x54e9eb['indexOf'](_0x3c8e45['e'][_0x45fca5(0x863)])):null,_0x158398='sampler_comparison'===_0x158398?_0x407a89['dV'][_0x45fca5(0x413)]:_0x407a89['dV'][_0x45fca5(0x38c)];if(_0x4b0d42){const _0x63f8ae=this[_0x45fca5(0xb0a)][_0x45fca5(0x843)][_0x4b0d42];_0x63f8ae&&(_0x63f8ae[_0x45fca5(0x17b)]=!0x0);}let _0x539e27=this['_webgpuProcessingContext'][_0x45fca5(0x8a9)][_0x54e9eb];_0x539e27||(_0x539e27={'binding':this[_0x45fca5(0xb0a)]['getNextFreeUBOBinding'](),'type':_0x158398},this[_0x45fca5(0xb0a)][_0x45fca5(0x8a9)][_0x54e9eb]=_0x539e27),this['_addSamplerBindingDescription'](_0x54e9eb,_0x539e27,_0x1cdac7),(_0x4b0d42=_0x32f1cb[_0x45fca5(0x41c)](0x0,_0xfa4fbd[_0x45fca5(0x506)]),_0x158398=_0x45fca5(0x264)+_0x539e27[_0x45fca5(0xba7)]['groupIndex']+')\x20@binding('+_0x539e27[_0x45fca5(0xba7)][_0x45fca5(0x55e)]+')\x20'),(_0x32f1cb=_0x4b0d42+_0x158398+_0x32f1cb[_0x45fca5(0x41c)](_0xfa4fbd['index']),_0x31742b[_0x45fca5(0x1c2)]+=_0x158398[_0x45fca5(0x9ff)]);}return _0x32f1cb;}['_processCustomBuffers'](_0x7e9fa,_0x35412d){var _0x232937=_0x54aafa;const _0x59a295=/var<\s*(uniform|storage)\s*(,\s*(read|read_write)\s*)?>\s+(\S+)\s*:\s*(\S+)\s*;/gm;for(;;){var _0xbdd54b=_0x59a295['exec'](_0x7e9fa);if(null===_0xbdd54b)break;var _0xf86dbb=_0xbdd54b[0x1],_0x7e6f1f=_0xbdd54b[0x3];let _0x41373d=_0xbdd54b[0x4];var _0x50b7b6=_0xbdd54b[0x5];let _0x5decbe=this[_0x232937(0xb0a)][_0x232937(0x40d)][_0x41373d];if(!_0x5decbe){var _0x5f5ac8=_0x232937(0xbca)===_0xf86dbb?_0x1a8146['d']['KnownUBOs'][_0x50b7b6]:null;let _0x5a5a0c;_0x5f5ac8?(_0x41373d=_0x50b7b6,-0x1===(_0x5a5a0c=_0x5f5ac8['binding'])[_0x232937(0x2e1)]&&(_0x5a5a0c=this[_0x232937(0xb0a)][_0x232937(0x8b9)]())):_0x5a5a0c=this['_webgpuProcessingContext'][_0x232937(0x8b9)](),_0x5decbe={'binding':_0x5a5a0c},this[_0x232937(0xb0a)][_0x232937(0x40d)][_0x41373d]=_0x5decbe;}this[_0x232937(0x7a0)](_0x41373d,this[_0x232937(0xb0a)][_0x232937(0x40d)][_0x41373d],_0x232937(0x628)===_0x7e6f1f?_0x407a89['Rs'][_0x232937(0xac9)]:'storage'===_0xf86dbb?_0x407a89['Rs'][_0x232937(0x617)]:_0x407a89['Rs'][_0x232937(0x1f3)],_0x35412d),_0x50b7b6='@group('+_0x5decbe[_0x232937(0xba7)][_0x232937(0x2e1)]+_0x232937(0x743)+_0x5decbe[_0x232937(0xba7)]['bindingIndex']+')\x20',(_0x7e9fa=_0x7e9fa[_0x232937(0x41c)](0x0,_0xbdd54b['index'])+_0x50b7b6+_0x7e9fa[_0x232937(0x41c)](_0xbdd54b[_0x232937(0x506)]),_0x59a295['lastIndex']+=_0x50b7b6[_0x232937(0x9ff)]);}return _0x7e9fa;}[_0x54aafa(0x8e5)](_0x566fe4){var _0x3fd836=_0x54aafa;for(const _0x5836c8 of this[_0x3fd836(0x260)])_0x566fe4=_0x566fe4['replace'](new RegExp(_0x5836c8+_0x3fd836(0xad3),'g'),_0x5836c8+_0x3fd836(0x5d1));return _0x566fe4;}}},0x11ad3:(_0x2ddabc,_0x5a9cb0,_0xb08499)=>{var _0xbbd299=a7_0x51ebec;_0xb08499['d'](_0x5a9cb0,{'w':()=>_0x1cd5ff});var _0x547c7a=_0xb08499(0x1610);class _0x1cd5ff{constructor(_0x8cd0e2,_0x23b0eb,_0x2e50eb,_0x367027){var _0x49db2a=a7_0x4956;this[_0x49db2a(0x9fa)]=!0x1,this[_0x49db2a(0x79b)]=!0x1,this['_mainPassBundleList']=[],this[_0x49db2a(0x93f)]=!0x1,this[_0x49db2a(0x8ba)]=_0x8cd0e2,this[_0x49db2a(0x4cd)]=_0x23b0eb,this['_bundleList']=_0x2e50eb,this[_0x49db2a(0x2a4)]=_0x367027;}get[_0xbbd299(0xb68)](){var _0x1ee9bb=_0xbbd299;return this[_0x1ee9bb(0x93f)];}get[_0xbbd299(0x892)](){var _0x28a628=_0xbbd299;return this[_0x28a628(0x79b)];}get['record'](){var _0x5731b9=_0xbbd299;return this[_0x5731b9(0x9fa)];}set[_0xbbd299(0xb68)](_0x34530a){var _0x5854ec=_0xbbd299;this[_0x5854ec(0x24b)]['length']=0x0,this[_0x5854ec(0x9fa)]=this[_0x5854ec(0x93f)]=_0x34530a,this[_0x5854ec(0x79b)]=!0x1,_0x34530a&&(this['_modeSaved']=this[_0x5854ec(0x4cd)],this[_0x5854ec(0x4cd)]=_0x547c7a['g'][_0x5854ec(0xc01)]);}get[_0xbbd299(0xb9e)](){var _0x1628db=_0xbbd299;return this[_0x1628db(0x4cd)];}set['mode'](_0x55ac65){var _0x58187a=_0xbbd299;this['_record']?this[_0x58187a(0xd3a)]=_0x55ac65:this[_0x58187a(0x4cd)]=_0x55ac65;}[_0xbbd299(0xd5c)](){var _0x406fc8=_0xbbd299;this[_0x406fc8(0x9fa)]&&this[_0x406fc8(0x24b)]['push'](this[_0x406fc8(0x757)]['clone']());}['endRenderTargetPass'](_0xa934be,_0x5a1d0c){var _0x150775=_0xbbd299,_0x1e0259;if(this['_play'])null!=(_0x1e0259=null==(_0x1e0259=_0x5a1d0c[_0x150775(0xc38)])?void 0x0:_0x1e0259[_0x5a1d0c[_0x150775(0x888)]])&&_0x1e0259[_0x150775(0x476)](_0xa934be),this[_0x150775(0x4cd)]===_0x547c7a['g'][_0x150775(0x73d)]&&this[_0x150775(0x8ba)][_0x150775(0xc55)](null==(_0x1e0259=null==(_0x1e0259=_0x5a1d0c[_0x150775(0xc38)])?void 0x0:_0x1e0259[_0x5a1d0c['_currentLayer']])?void 0x0:_0x1e0259[_0x150775(0x614)]);else{if(!this['_record'])return!0x1;_0x5a1d0c[_0x150775(0xc38)]||(_0x5a1d0c[_0x150775(0xc38)]=[]),_0x5a1d0c[_0x150775(0xc38)][_0x5a1d0c[_0x150775(0x888)]]=this[_0x150775(0x2a4)][_0x150775(0x669)](),_0x5a1d0c[_0x150775(0xc38)][_0x5a1d0c[_0x150775(0x888)]][_0x150775(0x476)](_0xa934be),this['_bundleListRenderTarget'][_0x150775(0xbf4)]();}return!0x0;}[_0xbbd299(0x6bc)](_0x4688fe){var _0xe09422=_0xbbd299;if(this[_0xe09422(0x9fa)]&&(this[_0xe09422(0x24b)][_0xe09422(0x2f7)](this[_0xe09422(0x757)][_0xe09422(0x669)]()),this[_0xe09422(0x9fa)]=!0x1,this['_play']=!0x0,this['_mode']=this[_0xe09422(0xd3a)]),null!==_0x4688fe&&this[_0xe09422(0x79b)]){for(let _0xdecb99=0x0;_0xdecb99<this['_mainPassBundleList'][_0xe09422(0x9ff)];++_0xdecb99)this['_mainPassBundleList'][_0xdecb99][_0xe09422(0x476)](_0x4688fe),this[_0xe09422(0x4cd)]===_0x547c7a['g']['SNAPSHOTRENDERING_FAST']&&this['_engine'][_0xe09422(0xc55)](this[_0xe09422(0x24b)][_0xdecb99][_0xe09422(0x614)]);}}[_0xbbd299(0xbf4)](){var _0x1c27c9=_0xbbd299;this[_0x1c27c9(0xb68)]=!0x1,this['enabled']=!0x0;}}},0xa482:(_0x35d268,_0x496811,_0x4688b8)=>{var _0xcdd7e3=a7_0x51ebec;_0x4688b8['d'](_0x496811,{'F':()=>_0xed933e});class _0xed933e extends _0x4688b8(0x14e41)['C']{constructor(_0x586cb0){var _0x4f3891=a7_0x4956;super(!0x1),this[_0x4f3891(0xba3)]=_0x586cb0,this[_0x4f3891(0xbf4)]();}get['func'](){return this['_func'];}set[_0xcdd7e3(0x40e)](_0x57a3f7){var _0x2ffdad=_0xcdd7e3;this['_func']!==_0x57a3f7&&(this[_0x2ffdad(0x673)]=_0x57a3f7,this[_0x2ffdad(0xba3)][_0x2ffdad(0x91a)](_0x57a3f7));}get[_0xcdd7e3(0x795)](){return this['_funcMask'];}set[_0xcdd7e3(0x795)](_0x2c3f7e){var _0x58c546=_0xcdd7e3;this[_0x58c546(0x349)]!==_0x2c3f7e&&(this[_0x58c546(0x349)]=_0x2c3f7e,this[_0x58c546(0xba3)][_0x58c546(0x439)](_0x2c3f7e));}get[_0xcdd7e3(0x771)](){var _0x3d6dcb=_0xcdd7e3;return this[_0x3d6dcb(0xb9b)];}set['opStencilFail'](_0x624f57){var _0x14f760=_0xcdd7e3;this['_opStencilFail']!==_0x624f57&&(this['_opStencilFail']=_0x624f57,this[_0x14f760(0xba3)]['setStencilFailOp'](_0x624f57));}get[_0xcdd7e3(0x6e9)](){return this['_opDepthFail'];}set[_0xcdd7e3(0x6e9)](_0x4c89b4){var _0xbfa578=_0xcdd7e3;this[_0xbfa578(0xbc5)]!==_0x4c89b4&&(this[_0xbfa578(0xbc5)]=_0x4c89b4,this['_cache']['setStencilDepthFailOp'](_0x4c89b4));}get[_0xcdd7e3(0x4bc)](){var _0x4ca46d=_0xcdd7e3;return this[_0x4ca46d(0x726)];}set[_0xcdd7e3(0x4bc)](_0x4bf30b){var _0x913f5b=_0xcdd7e3;this[_0x913f5b(0x726)]!==_0x4bf30b&&(this[_0x913f5b(0x726)]=_0x4bf30b,this[_0x913f5b(0xba3)][_0x913f5b(0x29a)](_0x4bf30b));}get[_0xcdd7e3(0x21f)](){var _0x36b988=_0xcdd7e3;return this[_0x36b988(0xcb6)];}set[_0xcdd7e3(0x21f)](_0xbb698){var _0x36bc59=_0xcdd7e3;this['_mask']!==_0xbb698&&(this[_0x36bc59(0xcb6)]=_0xbb698,this[_0x36bc59(0xba3)][_0x36bc59(0x571)](_0xbb698));}get[_0xcdd7e3(0xb68)](){var _0x1ae0d1=_0xcdd7e3;return this[_0x1ae0d1(0x93f)];}set['enabled'](_0x24a47c){var _0x32233c=_0xcdd7e3;this['_enabled']!==_0x24a47c&&(this[_0x32233c(0x93f)]=_0x24a47c,this[_0x32233c(0xba3)][_0x32233c(0x74e)](_0x24a47c));}[_0xcdd7e3(0xbf4)](){var _0x3f4ee8=_0xcdd7e3;super[_0x3f4ee8(0xbf4)](),this[_0x3f4ee8(0xba3)]['resetStencilState']();}[_0xcdd7e3(0x7d5)](){var _0x1a4bd0=_0xcdd7e3,_0x40b639=null==(_0x40b639=this[_0x1a4bd0(0x381)])?void 0x0:_0x40b639['enabled'];this[_0x1a4bd0(0xb68)]=(_0x40b639?this[_0x1a4bd0(0x381)]:this[_0x1a4bd0(0x4f3)])[_0x1a4bd0(0xb68)],this[_0x1a4bd0(0xb68)]&&(this[_0x1a4bd0(0x40e)]=(_0x40b639?this[_0x1a4bd0(0x381)]:this[_0x1a4bd0(0x4f3)])[_0x1a4bd0(0x40e)],this['funcRef']=(_0x40b639?this[_0x1a4bd0(0x381)]:this[_0x1a4bd0(0x4f3)])[_0x1a4bd0(0x242)],this[_0x1a4bd0(0x795)]=(_0x40b639?this['stencilMaterial']:this[_0x1a4bd0(0x4f3)])[_0x1a4bd0(0x795)],this['opStencilFail']=(_0x40b639?this[_0x1a4bd0(0x381)]:this['stencilGlobal'])['opStencilFail'],this['opDepthFail']=(_0x40b639?this[_0x1a4bd0(0x381)]:this['stencilGlobal'])[_0x1a4bd0(0x6e9)],this[_0x1a4bd0(0x4bc)]=(_0x40b639?this[_0x1a4bd0(0x381)]:this['stencilGlobal'])[_0x1a4bd0(0x4bc)],this[_0x1a4bd0(0x21f)]=(_0x40b639?this[_0x1a4bd0(0x381)]:this[_0x1a4bd0(0x4f3)])['mask']);}}},0xfeca:(_0x29613d,_0xc94d71,_0x3d13a9)=>{var _0x1b4d96=a7_0x51ebec;_0x3d13a9['d'](_0xc94d71,{'D':()=>_0x102107,'U':()=>_0x4ae7b2});var _0x28c9c1,_0x583c35,_0x3c479d=_0x3d13a9(0x177e8),_0x332350=_0x3d13a9(0x17372),_0x42f372=_0x3d13a9(0x1610),_0x41d953=_0x3d13a9(0x138df),_0xfc846b=_0x3d13a9(0xa9c);_0x28c9c1={'MipMap':0x0,0x0:'MipMap','InvertYPremultiplyAlpha':0x1,0x1:_0x1b4d96(0x493),'Clear':0x2,0x2:_0x1b4d96(0xa3b),'InvertYPremultiplyAlphaWithOfst':0x3,0x3:_0x1b4d96(0x61a)},_0x583c35={'DontInvertY':0x0,0x0:_0x1b4d96(0xc62),'InvertY':0x1,0x1:_0x1b4d96(0x891)};const _0x1539e9=[{'vertex':_0x1b4d96(0xa1f),'fragment':_0x1b4d96(0x908)},{'vertex':_0x1b4d96(0x2e2),'fragment':_0x1b4d96(0x9dc)},{'vertex':_0x1b4d96(0xd5e),'fragment':'\x0a\x20\x20\x20\x20layout(set\x20=\x200,\x20binding\x20=\x200)\x20uniform\x20Uniforms\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20vec4\x20color;\x0a\x20\x20\x20\x20};\x0a\x0a\x20\x20\x20\x20layout(location\x20=\x200)\x20out\x20vec4\x20outColor;\x0a\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20outColor\x20=\x20color;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20'},{'vertex':_0x1b4d96(0x2e2),'fragment':_0x1b4d96(0x608)}],_0x4ae7b2={'':0x0,'r8unorm':0x1,'r8uint':0x2,'r8sint':0x3,'r16uint':0x4,'r16sint':0x5,'r16float':0x6,'rg8unorm':0x7,'rg8uint':0x8,'rg8sint':0x9,'r32uint':0xa,'r32sint':0xb,'r32float':0xc,'rg16uint':0xd,'rg16sint':0xe,'rg16float':0xf,'rgba8unorm':0x10,'rgba8unorm-srgb':0x11,'rgba8uint':0x12,'rgba8sint':0x13,'bgra8unorm':0x14,'bgra8unorm-srgb':0x15,'rgb10a2unorm':0x16,'rg32uint':0x17,'rg32sint':0x18,'rg32float':0x19,'rgba16uint':0x1a,'rgba16sint':0x1b,'rgba16float':0x1c,'rgba32uint':0x1d,'rgba32sint':0x1e,'rgba32float':0x1f,'stencil8':0x20,'depth16unorm':0x21,'depth24plus':0x22,'depth24plus-stencil8':0x23,'depth32float':0x24,'depth24unorm-stencil8':0x25,'depth32float-stencil8':0x26};class _0x102107{constructor(_0x3acd12,_0x5a8fc0,_0x37816b,_0x2fa79f){var _0x507046=_0x1b4d96;this[_0x507046(0x994)]={},this[_0x507046(0xc14)]=[],this['_videoPipelines']={},this[_0x507046(0xc22)]=[],this[_0x507046(0x59f)]=[],this[_0x507046(0xc42)]=_0x3acd12,this[_0x507046(0xa78)]=_0x5a8fc0,this[_0x507046(0xbe2)]=_0x37816b,this['_bufferManager']=_0x2fa79f,this['_mipmapSampler']=_0x3acd12[_0x507046(0x9b7)]({'minFilter':_0x3c479d['X9'][_0x507046(0xc99)]}),this[_0x507046(0xba8)]=_0x3acd12[_0x507046(0x9b7)]({'minFilter':_0x3c479d['X9'][_0x507046(0xc99)]}),this[_0x507046(0x541)]=this['_bufferManager'][_0x507046(0x326)](0x10,_0x3c479d['FB'][_0x507046(0x1f3)]|_0x3c479d['FB'][_0x507046(0x798)])[_0x507046(0x597)],this['_getPipeline'](_0x3c479d['EV'][_0x507046(0x7da)]),this[_0x507046(0x668)](_0x3c479d['EV'][_0x507046(0x7da)]);}static[_0x1b4d96(0x759)](_0x21c0f7,_0x12df15){var _0x5b891b=_0x1b4d96;return _0x332350['R'][_0x5b891b(0x77e)](Math[_0x5b891b(0xbe7)](_0x21c0f7,_0x12df15))+0x1;}[_0x1b4d96(0x289)](_0x11effc,_0x47d481=_0x28c9c1[_0x1b4d96(0x4f4)],_0x4cdec9){var _0x4f7178=_0x1b4d96,_0x42ebbd=_0x47d481===_0x28c9c1[_0x4f7178(0x4f4)]?0x1:_0x47d481===_0x28c9c1['InvertYPremultiplyAlpha']?((_0x4cdec9[_0x4f7178(0x6c4)]?0x1:0x0)<<0x1)+((_0x4cdec9[_0x4f7178(0x9c2)]?0x1:0x0)<<0x2):_0x47d481===_0x28c9c1[_0x4f7178(0xa3b)]?0x8:_0x47d481===_0x28c9c1[_0x4f7178(0x61a)]?((_0x4cdec9[_0x4f7178(0x6c4)]?0x1:0x0)<<0x4)+((_0x4cdec9['premultiplyAlpha']?0x1:0x0)<<0x5):0x0;this[_0x4f7178(0x994)][_0x11effc]||(this[_0x4f7178(0x994)][_0x11effc]=[]);let _0x460d26=this[_0x4f7178(0x994)][_0x11effc][_0x42ebbd];if(!_0x460d26){let _0x1dfd74='#version\x20450\x0d\x0a',_0x33027e=(_0x47d481!==_0x28c9c1[_0x4f7178(0x493)]&&_0x47d481!==_0x28c9c1[_0x4f7178(0x61a)]||(_0x4cdec9[_0x4f7178(0x6c4)]&&(_0x1dfd74+=_0x4f7178(0x8e4)),_0x4cdec9[_0x4f7178(0x9c2)]&&(_0x1dfd74+=_0x4f7178(0x437))),this['_compiledShaders'][_0x42ebbd]);if(!_0x33027e){let _0x24f569=this[_0x4f7178(0xa78)]['compileGLSL'](_0x1dfd74+_0x1539e9[_0x47d481][_0x4f7178(0x487)],_0x4f7178(0x487)),_0x47cac6=this['_glslang'][_0x4f7178(0x7ff)](_0x1dfd74+_0x1539e9[_0x47d481][_0x4f7178(0x5d4)],_0x4f7178(0x5d4));this[_0x4f7178(0xbe2)]&&(_0x24f569=this[_0x4f7178(0xbe2)][_0x4f7178(0xc17)](_0x24f569),_0x47cac6=this[_0x4f7178(0xbe2)][_0x4f7178(0xc17)](_0x47cac6)),(_0x4cdec9=this['_device'][_0x4f7178(0xbfb)]({'code':_0x24f569}),_0x47d481=this[_0x4f7178(0xc42)][_0x4f7178(0xbfb)]({'code':_0x47cac6})),_0x33027e=this[_0x4f7178(0xc14)][_0x42ebbd]=[_0x4cdec9,_0x47d481];}const _0x26cab1=this[_0x4f7178(0xc42)]['createRenderPipeline']({'layout':_0x3c479d['fu'][_0x4f7178(0x171)],'vertex':{'module':_0x33027e[0x0],'entryPoint':_0x4f7178(0x542)},'fragment':{'module':_0x33027e[0x1],'entryPoint':'main','targets':[{'format':_0x11effc}]},'primitive':{'topology':_0x3c479d['YV'][_0x4f7178(0x923)],'stripIndexFormat':_0x3c479d['iD']['Uint16']}});_0x460d26=this[_0x4f7178(0x994)][_0x11effc][_0x42ebbd]=[_0x26cab1,_0x26cab1['getBindGroupLayout'](0x0)];}return _0x460d26;}['_getVideoPipeline'](_0x2b3fd7,_0xb57286=_0x583c35[_0x1b4d96(0xc62)]){var _0x16dd10=_0x1b4d96,_0x3f3050,_0x1a78b6,_0xb57286=_0xb57286===_0x583c35[_0x16dd10(0x891)]?0x1:0x0;this['_videoPipelines'][_0x2b3fd7]||(this[_0x16dd10(0x80b)][_0x2b3fd7]=[]);let _0x2cfe6a=this[_0x16dd10(0x80b)][_0x2b3fd7][_0xb57286];if(!_0x2cfe6a){let _0x11b968=this[_0x16dd10(0xc22)][_0xb57286];_0x11b968||(_0x3f3050=this['_device']['createShaderModule']({'code':'\x0a\x20\x20\x20\x20struct\x20VertexOutput\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20@builtin(position)\x20Position\x20:\x20vec4<f32>,\x0a\x20\x20\x20\x20\x20\x20\x20\x20@location(0)\x20fragUV\x20:\x20vec2<f32>\x0a\x20\x20\x20\x20}\x0a\x20\x20\x0a\x20\x20\x20\x20@vertex\x0a\x20\x20\x20\x20fn\x20main(\x0a\x20\x20\x20\x20\x20\x20\x20\x20@builtin(vertex_index)\x20VertexIndex\x20:\x20u32\x0a\x20\x20\x20\x20)\x20->\x20VertexOutput\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20pos\x20=\x20array<vec2<f32>,\x204>(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(-1.0,\x20\x201.0),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(\x201.0,\x20\x201.0),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(-1.0,\x20-1.0),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(\x201.0,\x20-1.0)\x0a\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20tex\x20=\x20array<vec2<f32>,\x204>(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(0.0,\x200.0),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(1.0,\x200.0),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(0.0,\x201.0),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(1.0,\x201.0)\x0a\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20output:\x20VertexOutput;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20output.Position\x20=\x20vec4<f32>(pos[VertexIndex],\x200.0,\x201.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20output.fragUV\x20=\x20tex[VertexIndex];\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20output;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20'}),_0x1a78b6=this['_device'][_0x16dd10(0xbfb)]({'code':0x0==_0xb57286?_0x16dd10(0xa1a):_0x16dd10(0xb0f)}),_0x11b968=this['_videoCompiledShaders'][_0xb57286]=[_0x3f3050,_0x1a78b6]);const _0x58fa62=this[_0x16dd10(0xc42)]['createRenderPipeline']({'label':'CopyVideoToTexture_'+_0x2b3fd7+'_'+(0x0==_0xb57286?_0x16dd10(0xc62):'InvertY'),'layout':_0x3c479d['fu']['Auto'],'vertex':{'module':_0x11b968[0x0],'entryPoint':_0x16dd10(0x542)},'fragment':{'module':_0x11b968[0x1],'entryPoint':_0x16dd10(0x542),'targets':[{'format':_0x2b3fd7}]},'primitive':{'topology':_0x3c479d['YV']['TriangleStrip'],'stripIndexFormat':_0x3c479d['iD'][_0x16dd10(0x1fe)]}});_0x2cfe6a=this[_0x16dd10(0x80b)][_0x2b3fd7][_0xb57286]=[_0x58fa62,_0x58fa62[_0x16dd10(0xa67)](0x0)];}return _0x2cfe6a;}static[_0x1b4d96(0x4a2)](_0x141040){var _0x22ed0a=_0x1b4d96;switch(_0x141040){case _0x3c479d['EV']['R8Unorm']:case _0x3c479d['EV'][_0x22ed0a(0x30c)]:case _0x3c479d['EV']['R8Uint']:case _0x3c479d['EV'][_0x22ed0a(0x601)]:case _0x3c479d['EV'][_0x22ed0a(0x2ef)]:case _0x3c479d['EV']['RG8Snorm']:case _0x3c479d['EV'][_0x22ed0a(0x245)]:case _0x3c479d['EV'][_0x22ed0a(0xd03)]:case _0x3c479d['EV'][_0x22ed0a(0x7da)]:case _0x3c479d['EV'][_0x22ed0a(0x46c)]:case _0x3c479d['EV'][_0x22ed0a(0x9f2)]:case _0x3c479d['EV'][_0x22ed0a(0x502)]:case _0x3c479d['EV'][_0x22ed0a(0x860)]:case _0x3c479d['EV'][_0x22ed0a(0xaf9)]:case _0x3c479d['EV']['BGRA8UnormSRGB']:case _0x3c479d['EV'][_0x22ed0a(0x67c)]:case _0x3c479d['EV'][_0x22ed0a(0x735)]:case _0x3c479d['EV'][_0x22ed0a(0x1c8)]:case _0x3c479d['EV'][_0x22ed0a(0x85c)]:case _0x3c479d['EV'][_0x22ed0a(0x4e9)]:case _0x3c479d['EV']['BC7RGBAUnorm']:case _0x3c479d['EV'][_0x22ed0a(0x472)]:case _0x3c479d['EV'][_0x22ed0a(0xcbe)]:case _0x3c479d['EV']['BC6HRGBFloat']:case _0x3c479d['EV']['BC5RGUnorm']:case _0x3c479d['EV'][_0x22ed0a(0xb40)]:case _0x3c479d['EV']['BC3RGBAUnorm']:case _0x3c479d['EV'][_0x22ed0a(0x348)]:case _0x3c479d['EV'][_0x22ed0a(0x9af)]:case _0x3c479d['EV'][_0x22ed0a(0x5c1)]:case _0x3c479d['EV']['BC4RUnorm']:case _0x3c479d['EV']['BC4RSnorm']:case _0x3c479d['EV'][_0x22ed0a(0xd25)]:case _0x3c479d['EV'][_0x22ed0a(0x5e5)]:case _0x3c479d['EV'][_0x22ed0a(0x6d0)]:case _0x3c479d['EV'][_0x22ed0a(0x516)]:case _0x3c479d['EV'][_0x22ed0a(0x682)]:case _0x3c479d['EV'][_0x22ed0a(0x2ed)]:case _0x3c479d['EV']['ETC2RGBA8Unorm']:case _0x3c479d['EV'][_0x22ed0a(0xa26)]:case _0x3c479d['EV'][_0x22ed0a(0x7d7)]:case _0x3c479d['EV'][_0x22ed0a(0x5ca)]:case _0x3c479d['EV']['EACRG11Unorm']:case _0x3c479d['EV']['EACRG11Snorm']:case _0x3c479d['EV'][_0x22ed0a(0x796)]:case _0x3c479d['EV'][_0x22ed0a(0x59e)]:case _0x3c479d['EV'][_0x22ed0a(0x154)]:case _0x3c479d['EV']['ASTC5x4UnormSRGB']:case _0x3c479d['EV'][_0x22ed0a(0xc20)]:case _0x3c479d['EV'][_0x22ed0a(0x7e7)]:case _0x3c479d['EV'][_0x22ed0a(0x791)]:case _0x3c479d['EV'][_0x22ed0a(0x212)]:case _0x3c479d['EV'][_0x22ed0a(0x5ee)]:case _0x3c479d['EV'][_0x22ed0a(0xca0)]:case _0x3c479d['EV'][_0x22ed0a(0x1f7)]:case _0x3c479d['EV'][_0x22ed0a(0xb13)]:case _0x3c479d['EV'][_0x22ed0a(0x9f8)]:case _0x3c479d['EV'][_0x22ed0a(0x858)]:case _0x3c479d['EV'][_0x22ed0a(0x572)]:case _0x3c479d['EV'][_0x22ed0a(0x7f3)]:case _0x3c479d['EV']['ASTC10x5Unorm']:case _0x3c479d['EV']['ASTC10x5UnormSRGB']:case _0x3c479d['EV'][_0x22ed0a(0xc2e)]:case _0x3c479d['EV'][_0x22ed0a(0xa92)]:case _0x3c479d['EV'][_0x22ed0a(0x27f)]:case _0x3c479d['EV'][_0x22ed0a(0x753)]:case _0x3c479d['EV'][_0x22ed0a(0x217)]:case _0x3c479d['EV']['ASTC10x10UnormSRGB']:case _0x3c479d['EV'][_0x22ed0a(0x254)]:case _0x3c479d['EV']['ASTC12x10UnormSRGB']:case _0x3c479d['EV']['ASTC12x12Unorm']:case _0x3c479d['EV'][_0x22ed0a(0x3b3)]:return _0x42f372['g'][_0x22ed0a(0xa07)];case _0x3c479d['EV'][_0x22ed0a(0x65a)]:case _0x3c479d['EV'][_0x22ed0a(0x7d0)]:case _0x3c479d['EV']['RG16Uint']:case _0x3c479d['EV'][_0x22ed0a(0x81c)]:case _0x3c479d['EV']['RGBA16Uint']:case _0x3c479d['EV']['RGBA16Sint']:case _0x3c479d['EV']['Depth16Unorm']:return _0x42f372['g'][_0x22ed0a(0xc7d)];case _0x3c479d['EV'][_0x22ed0a(0x76e)]:case _0x3c479d['EV'][_0x22ed0a(0x943)]:case _0x3c479d['EV'][_0x22ed0a(0x7c5)]:return _0x42f372['g'][_0x22ed0a(0xc7c)];case _0x3c479d['EV'][_0x22ed0a(0x387)]:case _0x3c479d['EV']['R32Sint']:case _0x3c479d['EV'][_0x22ed0a(0x653)]:case _0x3c479d['EV'][_0x22ed0a(0x764)]:case _0x3c479d['EV'][_0x22ed0a(0x959)]:case _0x3c479d['EV'][_0x22ed0a(0xd63)]:return _0x42f372['g'][_0x22ed0a(0x24f)];case _0x3c479d['EV'][_0x22ed0a(0x716)]:case _0x3c479d['EV']['RG32Float']:case _0x3c479d['EV']['RGBA32Float']:case _0x3c479d['EV'][_0x22ed0a(0xcf9)]:return _0x42f372['g'][_0x22ed0a(0x8ef)];case _0x3c479d['EV'][_0x22ed0a(0x30f)]:throw _0x22ed0a(0xcac);case _0x3c479d['EV'][_0x22ed0a(0xa36)]:throw _0x22ed0a(0x227);case _0x3c479d['EV'][_0x22ed0a(0x619)]:throw _0x22ed0a(0x9e2);}return _0x42f372['g'][_0x22ed0a(0xa07)];}static[_0x1b4d96(0xd12)](_0x1dcb89){var _0x25feef=_0x1b4d96;switch(_0x1dcb89){case _0x3c479d['EV'][_0x25feef(0xaee)]:case _0x3c479d['EV']['R8Snorm']:case _0x3c479d['EV'][_0x25feef(0x416)]:case _0x3c479d['EV']['R8Sint']:return{'width':0x1,'height':0x1,'length':0x1};case _0x3c479d['EV'][_0x25feef(0x65a)]:case _0x3c479d['EV'][_0x25feef(0x7d0)]:case _0x3c479d['EV'][_0x25feef(0x76e)]:case _0x3c479d['EV'][_0x25feef(0x2ef)]:case _0x3c479d['EV'][_0x25feef(0xbc6)]:case _0x3c479d['EV']['RG8Uint']:case _0x3c479d['EV']['RG8Sint']:return{'width':0x1,'height':0x1,'length':0x2};case _0x3c479d['EV']['R32Uint']:case _0x3c479d['EV']['R32Sint']:case _0x3c479d['EV'][_0x25feef(0x716)]:case _0x3c479d['EV'][_0x25feef(0xb08)]:case _0x3c479d['EV']['RG16Sint']:case _0x3c479d['EV'][_0x25feef(0x943)]:case _0x3c479d['EV'][_0x25feef(0x7da)]:case _0x3c479d['EV'][_0x25feef(0x46c)]:case _0x3c479d['EV'][_0x25feef(0x9f2)]:case _0x3c479d['EV'][_0x25feef(0x502)]:case _0x3c479d['EV']['RGBA8Sint']:case _0x3c479d['EV'][_0x25feef(0xaf9)]:case _0x3c479d['EV']['BGRA8UnormSRGB']:case _0x3c479d['EV'][_0x25feef(0x735)]:case _0x3c479d['EV']['RGB10A2Unorm']:case _0x3c479d['EV'][_0x25feef(0x1c8)]:return{'width':0x1,'height':0x1,'length':0x4};case _0x3c479d['EV']['RG32Uint']:case _0x3c479d['EV'][_0x25feef(0x764)]:case _0x3c479d['EV'][_0x25feef(0x4cc)]:case _0x3c479d['EV'][_0x25feef(0x399)]:case _0x3c479d['EV'][_0x25feef(0x9a3)]:case _0x3c479d['EV'][_0x25feef(0x7c5)]:return{'width':0x1,'height':0x1,'length':0x8};case _0x3c479d['EV']['RGBA32Uint']:case _0x3c479d['EV'][_0x25feef(0xd63)]:case _0x3c479d['EV']['RGBA32Float']:return{'width':0x1,'height':0x1,'length':0x10};case _0x3c479d['EV'][_0x25feef(0x30f)]:throw _0x25feef(0xcac);case _0x3c479d['EV'][_0x25feef(0x39b)]:return{'width':0x1,'height':0x1,'length':0x2};case _0x3c479d['EV'][_0x25feef(0xa36)]:throw'No\x20fixed\x20size\x20for\x20Depth24Plus\x20format!';case _0x3c479d['EV'][_0x25feef(0x619)]:throw'No\x20fixed\x20size\x20for\x20Depth24PlusStencil8\x20format!';case _0x3c479d['EV'][_0x25feef(0xcf9)]:case _0x3c479d['EV']['Depth24UnormStencil8']:return{'width':0x1,'height':0x1,'length':0x4};case _0x3c479d['EV'][_0x25feef(0x4e9)]:return{'width':0x1,'height':0x1,'length':0x5};case _0x3c479d['EV'][_0x25feef(0x962)]:case _0x3c479d['EV']['BC7RGBAUnormSRGB']:case _0x3c479d['EV'][_0x25feef(0xcbe)]:case _0x3c479d['EV'][_0x25feef(0x38a)]:case _0x3c479d['EV'][_0x25feef(0x95a)]:case _0x3c479d['EV'][_0x25feef(0xb40)]:case _0x3c479d['EV'][_0x25feef(0x7dd)]:case _0x3c479d['EV'][_0x25feef(0x348)]:case _0x3c479d['EV'][_0x25feef(0x9af)]:case _0x3c479d['EV'][_0x25feef(0x5c1)]:return{'width':0x4,'height':0x4,'length':0x10};case _0x3c479d['EV'][_0x25feef(0x832)]:case _0x3c479d['EV'][_0x25feef(0x83d)]:case _0x3c479d['EV'][_0x25feef(0xd25)]:case _0x3c479d['EV'][_0x25feef(0x5e5)]:return{'width':0x4,'height':0x4,'length':0x8};case _0x3c479d['EV'][_0x25feef(0x6d0)]:case _0x3c479d['EV'][_0x25feef(0x516)]:case _0x3c479d['EV'][_0x25feef(0x682)]:case _0x3c479d['EV'][_0x25feef(0x2ed)]:case _0x3c479d['EV'][_0x25feef(0x7d7)]:case _0x3c479d['EV'][_0x25feef(0x5ca)]:return{'width':0x4,'height':0x4,'length':0x8};case _0x3c479d['EV'][_0x25feef(0x39c)]:case _0x3c479d['EV']['ETC2RGBA8UnormSRGB']:case _0x3c479d['EV']['EACRG11Unorm']:case _0x3c479d['EV'][_0x25feef(0x179)]:return{'width':0x4,'height':0x4,'length':0x10};case _0x3c479d['EV'][_0x25feef(0x796)]:case _0x3c479d['EV'][_0x25feef(0x59e)]:return{'width':0x4,'height':0x4,'length':0x10};case _0x3c479d['EV'][_0x25feef(0x154)]:case _0x3c479d['EV'][_0x25feef(0x7e1)]:return{'width':0x5,'height':0x4,'length':0x10};case _0x3c479d['EV'][_0x25feef(0xc20)]:case _0x3c479d['EV']['ASTC5x5UnormSRGB']:return{'width':0x5,'height':0x5,'length':0x10};case _0x3c479d['EV']['ASTC6x5Unorm']:case _0x3c479d['EV'][_0x25feef(0x212)]:return{'width':0x6,'height':0x5,'length':0x10};case _0x3c479d['EV']['ASTC6x6Unorm']:case _0x3c479d['EV'][_0x25feef(0xca0)]:return{'width':0x6,'height':0x6,'length':0x10};case _0x3c479d['EV'][_0x25feef(0x1f7)]:case _0x3c479d['EV']['ASTC8x5UnormSRGB']:return{'width':0x8,'height':0x5,'length':0x10};case _0x3c479d['EV'][_0x25feef(0x9f8)]:case _0x3c479d['EV'][_0x25feef(0x858)]:return{'width':0x8,'height':0x6,'length':0x10};case _0x3c479d['EV'][_0x25feef(0x572)]:case _0x3c479d['EV'][_0x25feef(0x7f3)]:return{'width':0x8,'height':0x8,'length':0x10};case _0x3c479d['EV'][_0x25feef(0x7de)]:case _0x3c479d['EV'][_0x25feef(0xc59)]:return{'width':0xa,'height':0x5,'length':0x10};case _0x3c479d['EV'][_0x25feef(0xc2e)]:case _0x3c479d['EV']['ASTC10x6UnormSRGB']:return{'width':0xa,'height':0x6,'length':0x10};case _0x3c479d['EV'][_0x25feef(0x27f)]:case _0x3c479d['EV'][_0x25feef(0x753)]:return{'width':0xa,'height':0x8,'length':0x10};case _0x3c479d['EV']['ASTC10x10Unorm']:case _0x3c479d['EV']['ASTC10x10UnormSRGB']:return{'width':0xa,'height':0xa,'length':0x10};case _0x3c479d['EV'][_0x25feef(0x254)]:case _0x3c479d['EV'][_0x25feef(0x1b7)]:return{'width':0xc,'height':0xa,'length':0x10};case _0x3c479d['EV'][_0x25feef(0x88a)]:case _0x3c479d['EV']['ASTC12x12UnormSRGB']:return{'width':0xc,'height':0xc,'length':0x10};}return{'width':0x1,'height':0x1,'length':0x4};}static[_0x1b4d96(0x19b)](_0x1b7b3a){var _0x57e16a=_0x1b4d96;return!!_0x1b7b3a[_0x57e16a(0x87e)];}static['_IsInternalTexture'](_0x4d26cf){var _0x27b57b=_0x1b4d96;return!!_0x4d26cf[_0x27b57b(0x38b)];}static[_0x1b4d96(0xd28)](_0xd68b98){return void 0x0!==_0xd68b98['close'];}static[_0x1b4d96(0xaf2)](_0x28b81c){var _0x748890=_0x1b4d96;return Array[_0x748890(0x59c)](_0x28b81c)&&void 0x0!==_0x28b81c[0x0]['close'];}[_0x1b4d96(0x4d3)](_0x1f4652){var _0x4c1dd9=_0x1b4d96;this[_0x4c1dd9(0xa52)]=_0x1f4652;}static['IsCompressedFormat'](_0x5db01b){var _0x57ef31=_0x1b4d96;switch(_0x5db01b){case _0x3c479d['EV'][_0x57ef31(0x472)]:case _0x3c479d['EV']['BC7RGBAUnorm']:case _0x3c479d['EV']['BC6HRGBFloat']:case _0x3c479d['EV'][_0x57ef31(0xcbe)]:case _0x3c479d['EV'][_0x57ef31(0xb40)]:case _0x3c479d['EV'][_0x57ef31(0x95a)]:case _0x3c479d['EV'][_0x57ef31(0x83d)]:case _0x3c479d['EV'][_0x57ef31(0x832)]:case _0x3c479d['EV']['BC3RGBAUnormSRGB']:case _0x3c479d['EV'][_0x57ef31(0x7dd)]:case _0x3c479d['EV'][_0x57ef31(0x5c1)]:case _0x3c479d['EV'][_0x57ef31(0x9af)]:case _0x3c479d['EV'][_0x57ef31(0x5e5)]:case _0x3c479d['EV'][_0x57ef31(0xd25)]:case _0x3c479d['EV'][_0x57ef31(0x6d0)]:case _0x3c479d['EV'][_0x57ef31(0x516)]:case _0x3c479d['EV'][_0x57ef31(0x682)]:case _0x3c479d['EV'][_0x57ef31(0x2ed)]:case _0x3c479d['EV'][_0x57ef31(0x39c)]:case _0x3c479d['EV']['ETC2RGBA8UnormSRGB']:case _0x3c479d['EV'][_0x57ef31(0x7d7)]:case _0x3c479d['EV'][_0x57ef31(0x5ca)]:case _0x3c479d['EV'][_0x57ef31(0x3cc)]:case _0x3c479d['EV'][_0x57ef31(0x179)]:case _0x3c479d['EV'][_0x57ef31(0x796)]:case _0x3c479d['EV']['ASTC4x4UnormSRGB']:case _0x3c479d['EV']['ASTC5x4Unorm']:case _0x3c479d['EV']['ASTC5x4UnormSRGB']:case _0x3c479d['EV'][_0x57ef31(0xc20)]:case _0x3c479d['EV']['ASTC5x5UnormSRGB']:case _0x3c479d['EV']['ASTC6x5Unorm']:case _0x3c479d['EV'][_0x57ef31(0x212)]:case _0x3c479d['EV'][_0x57ef31(0x5ee)]:case _0x3c479d['EV'][_0x57ef31(0xca0)]:case _0x3c479d['EV'][_0x57ef31(0x1f7)]:case _0x3c479d['EV'][_0x57ef31(0xb13)]:case _0x3c479d['EV'][_0x57ef31(0x9f8)]:case _0x3c479d['EV'][_0x57ef31(0x858)]:case _0x3c479d['EV']['ASTC8x8Unorm']:case _0x3c479d['EV'][_0x57ef31(0x7f3)]:case _0x3c479d['EV'][_0x57ef31(0x7de)]:case _0x3c479d['EV'][_0x57ef31(0xc59)]:case _0x3c479d['EV']['ASTC10x6Unorm']:case _0x3c479d['EV'][_0x57ef31(0xa92)]:case _0x3c479d['EV'][_0x57ef31(0x27f)]:case _0x3c479d['EV']['ASTC10x8UnormSRGB']:case _0x3c479d['EV']['ASTC10x10Unorm']:case _0x3c479d['EV'][_0x57ef31(0xc5b)]:case _0x3c479d['EV'][_0x57ef31(0x254)]:case _0x3c479d['EV'][_0x57ef31(0x1b7)]:case _0x3c479d['EV']['ASTC12x12Unorm']:case _0x3c479d['EV'][_0x57ef31(0x3b3)]:return!0x0;}return!0x1;}static[_0x1b4d96(0xcdd)](_0x558365,_0x78ad6,_0x12c1d1=!0x1){var _0x36f372=_0x1b4d96;switch(_0x78ad6){case _0x42f372['g'][_0x36f372(0x5f5)]:return _0x3c479d['EV'][_0x36f372(0x39b)];case _0x42f372['g'][_0x36f372(0x990)]:return _0x3c479d['EV'][_0x36f372(0xa36)];case _0x42f372['g'][_0x36f372(0xcee)]:return _0x3c479d['EV']['Depth24PlusStencil8'];case _0x42f372['g'][_0x36f372(0xb52)]:return _0x3c479d['EV'][_0x36f372(0xcf9)];case _0x42f372['g'][_0x36f372(0x8cb)]:return _0x3c479d['EV']['Depth24UnormStencil8'];case _0x42f372['g']['TEXTUREFORMAT_DEPTH32FLOAT_STENCIL8']:return _0x3c479d['EV'][_0x36f372(0x4e9)];case _0x42f372['g'][_0x36f372(0x49f)]:return _0x3c479d['EV'][_0x36f372(0x30f)];case _0x42f372['g'][_0x36f372(0x4b9)]:return _0x12c1d1?_0x3c479d['EV']['BC7RGBAUnormSRGB']:_0x3c479d['EV']['BC7RGBAUnorm'];case _0x42f372['g'][_0x36f372(0x48f)]:return _0x3c479d['EV'][_0x36f372(0xcbe)];case _0x42f372['g'][_0x36f372(0x3d8)]:return _0x3c479d['EV'][_0x36f372(0x38a)];case _0x42f372['g'][_0x36f372(0xb35)]:return _0x12c1d1?_0x3c479d['EV'][_0x36f372(0x348)]:_0x3c479d['EV']['BC3RGBAUnorm'];case _0x42f372['g']['TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT3']:return _0x12c1d1?_0x3c479d['EV'][_0x36f372(0x5c1)]:_0x3c479d['EV'][_0x36f372(0x9af)];case _0x42f372['g'][_0x36f372(0x466)]:case _0x42f372['g'][_0x36f372(0x1c3)]:return _0x12c1d1?_0x3c479d['EV'][_0x36f372(0x5e5)]:_0x3c479d['EV'][_0x36f372(0xd25)];case _0x42f372['g'][_0x36f372(0x719)]:return _0x12c1d1?_0x3c479d['EV'][_0x36f372(0x59e)]:_0x3c479d['EV']['ASTC4x4Unorm'];case _0x42f372['g']['TEXTUREFORMAT_COMPRESSED_RGB_ETC1_WEBGL']:case _0x42f372['g'][_0x36f372(0x22b)]:return _0x12c1d1?_0x3c479d['EV']['ETC2RGB8UnormSRGB']:_0x3c479d['EV'][_0x36f372(0x6d0)];case _0x42f372['g'][_0x36f372(0x95c)]:return _0x12c1d1?_0x3c479d['EV'][_0x36f372(0xa26)]:_0x3c479d['EV']['ETC2RGBA8Unorm'];}switch(_0x558365){case _0x42f372['g']['TEXTURETYPE_BYTE']:switch(_0x78ad6){case _0x42f372['g']['TEXTUREFORMAT_RED']:return _0x3c479d['EV'][_0x36f372(0x30c)];case _0x42f372['g']['TEXTUREFORMAT_RG']:return _0x3c479d['EV'][_0x36f372(0xbc6)];case _0x42f372['g']['TEXTUREFORMAT_RGB']:throw'RGB\x20format\x20not\x20supported\x20in\x20WebGPU';case _0x42f372['g'][_0x36f372(0x731)]:return _0x3c479d['EV'][_0x36f372(0x601)];case _0x42f372['g'][_0x36f372(0xd76)]:return _0x3c479d['EV'][_0x36f372(0xd03)];case _0x42f372['g']['TEXTUREFORMAT_RGB_INTEGER']:throw _0x36f372(0xbee);case _0x42f372['g']['TEXTUREFORMAT_RGBA_INTEGER']:return _0x3c479d['EV'][_0x36f372(0x860)];default:return _0x3c479d['EV'][_0x36f372(0x9f2)];}case _0x42f372['g'][_0x36f372(0xa07)]:switch(_0x78ad6){case _0x42f372['g'][_0x36f372(0x998)]:return _0x3c479d['EV'][_0x36f372(0xaee)];case _0x42f372['g'][_0x36f372(0x71a)]:return _0x3c479d['EV']['RG8Unorm'];case _0x42f372['g'][_0x36f372(0x4e4)]:throw _0x36f372(0x445);case _0x42f372['g'][_0x36f372(0x1f2)]:return _0x12c1d1?_0x3c479d['EV'][_0x36f372(0x46c)]:_0x3c479d['EV'][_0x36f372(0x7da)];case _0x42f372['g'][_0x36f372(0xb23)]:return _0x12c1d1?_0x3c479d['EV']['BGRA8UnormSRGB']:_0x3c479d['EV']['BGRA8Unorm'];case _0x42f372['g']['TEXTUREFORMAT_RED_INTEGER']:return _0x3c479d['EV'][_0x36f372(0x416)];case _0x42f372['g'][_0x36f372(0xd76)]:return _0x3c479d['EV'][_0x36f372(0x245)];case _0x42f372['g'][_0x36f372(0xaf6)]:throw _0x36f372(0xbee);case _0x42f372['g'][_0x36f372(0x93d)]:return _0x3c479d['EV'][_0x36f372(0x502)];case _0x42f372['g']['TEXTUREFORMAT_ALPHA']:throw _0x36f372(0x586);case _0x42f372['g'][_0x36f372(0xa38)]:throw'TEXTUREFORMAT_LUMINANCE\x20format\x20not\x20supported\x20in\x20WebGPU';case _0x42f372['g'][_0x36f372(0xbd4)]:throw _0x36f372(0xc4f);default:return _0x3c479d['EV'][_0x36f372(0x7da)];}case _0x42f372['g'][_0x36f372(0x8ce)]:switch(_0x78ad6){case _0x42f372['g'][_0x36f372(0x731)]:return _0x3c479d['EV'][_0x36f372(0x7d0)];case _0x42f372['g']['TEXTUREFORMAT_RG_INTEGER']:return _0x3c479d['EV'][_0x36f372(0x81c)];case _0x42f372['g']['TEXTUREFORMAT_RGB_INTEGER']:throw _0x36f372(0xbf3);default:return _0x42f372['g'][_0x36f372(0x93d)],_0x3c479d['EV'][_0x36f372(0x9a3)];}case _0x42f372['g']['TEXTURETYPE_UNSIGNED_SHORT']:switch(_0x78ad6){case _0x42f372['g'][_0x36f372(0x731)]:return _0x3c479d['EV'][_0x36f372(0x65a)];case _0x42f372['g'][_0x36f372(0xd76)]:return _0x3c479d['EV'][_0x36f372(0xb08)];case _0x42f372['g'][_0x36f372(0xaf6)]:throw _0x36f372(0xbf3);default:return _0x42f372['g'][_0x36f372(0x93d)],_0x3c479d['EV'][_0x36f372(0x399)];}case _0x42f372['g'][_0x36f372(0x53d)]:switch(_0x78ad6){case _0x42f372['g'][_0x36f372(0x731)]:return _0x3c479d['EV'][_0x36f372(0x8e3)];case _0x42f372['g'][_0x36f372(0xd76)]:return _0x3c479d['EV'][_0x36f372(0x764)];case _0x42f372['g'][_0x36f372(0xaf6)]:throw'TEXTUREFORMAT_RGB_INTEGER\x20format\x20not\x20supported\x20in\x20WebGPU';default:return _0x42f372['g'][_0x36f372(0x93d)],_0x3c479d['EV'][_0x36f372(0xd63)];}case _0x42f372['g'][_0x36f372(0x24f)]:switch(_0x78ad6){case _0x42f372['g'][_0x36f372(0x731)]:return _0x3c479d['EV'][_0x36f372(0x387)];case _0x42f372['g']['TEXTUREFORMAT_RG_INTEGER']:return _0x3c479d['EV'][_0x36f372(0x653)];case _0x42f372['g'][_0x36f372(0xaf6)]:throw _0x36f372(0xbf3);default:return _0x42f372['g'][_0x36f372(0x93d)],_0x3c479d['EV'][_0x36f372(0x959)];}case _0x42f372['g']['TEXTURETYPE_FLOAT']:switch(_0x78ad6){case _0x42f372['g'][_0x36f372(0x998)]:return _0x3c479d['EV'][_0x36f372(0x716)];case _0x42f372['g']['TEXTUREFORMAT_RG']:return _0x3c479d['EV']['RG32Float'];case _0x42f372['g'][_0x36f372(0x4e4)]:throw _0x36f372(0x445);default:return _0x42f372['g'][_0x36f372(0x1f2)],_0x3c479d['EV'][_0x36f372(0xb49)];}case _0x42f372['g'][_0x36f372(0xc7c)]:switch(_0x78ad6){case _0x42f372['g'][_0x36f372(0x998)]:return _0x3c479d['EV'][_0x36f372(0x76e)];case _0x42f372['g'][_0x36f372(0x71a)]:return _0x3c479d['EV'][_0x36f372(0x943)];case _0x42f372['g'][_0x36f372(0x4e4)]:throw'TEXTUREFORMAT_RGB\x20format\x20not\x20supported\x20in\x20WebGPU';default:return _0x42f372['g'][_0x36f372(0x1f2)],_0x3c479d['EV']['RGBA16Float'];}case _0x42f372['g'][_0x36f372(0xa9a)]:throw'TEXTURETYPE_UNSIGNED_SHORT_5_6_5\x20format\x20not\x20supported\x20in\x20WebGPU';case _0x42f372['g']['TEXTURETYPE_UNSIGNED_INT_10F_11F_11F_REV']:throw _0x36f372(0x7ab);case _0x42f372['g'][_0x36f372(0x3bf)]:throw _0x36f372(0xaf5);case _0x42f372['g'][_0x36f372(0x869)]:throw _0x36f372(0x5b9);case _0x42f372['g'][_0x36f372(0xd0c)]:throw _0x36f372(0xb44);case _0x42f372['g'][_0x36f372(0xcb5)]:switch(_0x78ad6){case _0x42f372['g'][_0x36f372(0x1f2)]:return _0x3c479d['EV'][_0x36f372(0x67c)];case _0x42f372['g'][_0x36f372(0x93d)]:throw _0x36f372(0x6b1);default:return _0x3c479d['EV'][_0x36f372(0x67c)];}}return _0x12c1d1?_0x3c479d['EV'][_0x36f372(0x46c)]:_0x3c479d['EV']['RGBA8Unorm'];}static[_0x1b4d96(0x6f0)](_0x44412c){var _0x22e9c6=_0x1b4d96;switch(_0x44412c){case _0x3c479d['EV'][_0x22e9c6(0xaee)]:case _0x3c479d['EV']['R8Snorm']:case _0x3c479d['EV'][_0x22e9c6(0x416)]:case _0x3c479d['EV'][_0x22e9c6(0x601)]:case _0x3c479d['EV'][_0x22e9c6(0x832)]:case _0x3c479d['EV'][_0x22e9c6(0x83d)]:case _0x3c479d['EV'][_0x22e9c6(0x65a)]:case _0x3c479d['EV'][_0x22e9c6(0x7d0)]:case _0x3c479d['EV']['Depth16Unorm']:case _0x3c479d['EV'][_0x22e9c6(0x76e)]:case _0x3c479d['EV'][_0x22e9c6(0x387)]:case _0x3c479d['EV'][_0x22e9c6(0x8e3)]:case _0x3c479d['EV']['R32Float']:case _0x3c479d['EV'][_0x22e9c6(0xcf9)]:case _0x3c479d['EV'][_0x22e9c6(0x30f)]:case _0x3c479d['EV']['Depth24Plus']:case _0x3c479d['EV'][_0x22e9c6(0x7d7)]:case _0x3c479d['EV'][_0x22e9c6(0x5ca)]:return 0x1;case _0x3c479d['EV'][_0x22e9c6(0x2ef)]:case _0x3c479d['EV'][_0x22e9c6(0xbc6)]:case _0x3c479d['EV'][_0x22e9c6(0x245)]:case _0x3c479d['EV'][_0x22e9c6(0xd03)]:case _0x3c479d['EV'][_0x22e9c6(0x85c)]:case _0x3c479d['EV'][_0x22e9c6(0x4e9)]:case _0x3c479d['EV'][_0x22e9c6(0x95a)]:case _0x3c479d['EV'][_0x22e9c6(0xb40)]:case _0x3c479d['EV'][_0x22e9c6(0xb08)]:case _0x3c479d['EV'][_0x22e9c6(0x81c)]:case _0x3c479d['EV'][_0x22e9c6(0x943)]:case _0x3c479d['EV'][_0x22e9c6(0x653)]:case _0x3c479d['EV'][_0x22e9c6(0x764)]:case _0x3c479d['EV'][_0x22e9c6(0x4cc)]:case _0x3c479d['EV']['Depth24PlusStencil8']:case _0x3c479d['EV']['EACRG11Unorm']:case _0x3c479d['EV'][_0x22e9c6(0x179)]:return 0x2;case _0x3c479d['EV'][_0x22e9c6(0x735)]:case _0x3c479d['EV']['RG11B10UFloat']:case _0x3c479d['EV']['BC6HRGBUFloat']:case _0x3c479d['EV'][_0x22e9c6(0x38a)]:case _0x3c479d['EV'][_0x22e9c6(0x6d0)]:case _0x3c479d['EV'][_0x22e9c6(0x516)]:return 0x3;case _0x3c479d['EV']['RGBA8Unorm']:case _0x3c479d['EV']['RGBA8UnormSRGB']:case _0x3c479d['EV'][_0x22e9c6(0x9f2)]:case _0x3c479d['EV'][_0x22e9c6(0x502)]:case _0x3c479d['EV'][_0x22e9c6(0x860)]:case _0x3c479d['EV'][_0x22e9c6(0xaf9)]:case _0x3c479d['EV'][_0x22e9c6(0xaaa)]:case _0x3c479d['EV'][_0x22e9c6(0x67c)]:case _0x3c479d['EV'][_0x22e9c6(0x962)]:case _0x3c479d['EV'][_0x22e9c6(0x472)]:case _0x3c479d['EV'][_0x22e9c6(0x7dd)]:case _0x3c479d['EV']['BC3RGBAUnormSRGB']:case _0x3c479d['EV']['BC2RGBAUnorm']:case _0x3c479d['EV']['BC2RGBAUnormSRGB']:case _0x3c479d['EV']['BC1RGBAUnorm']:case _0x3c479d['EV']['BC1RGBAUnormSRGB']:case _0x3c479d['EV'][_0x22e9c6(0x399)]:case _0x3c479d['EV'][_0x22e9c6(0x9a3)]:case _0x3c479d['EV'][_0x22e9c6(0x7c5)]:case _0x3c479d['EV']['RGBA32Uint']:case _0x3c479d['EV'][_0x22e9c6(0xd63)]:case _0x3c479d['EV'][_0x22e9c6(0xb49)]:case _0x3c479d['EV'][_0x22e9c6(0x682)]:case _0x3c479d['EV']['ETC2RGB8A1UnormSRGB']:case _0x3c479d['EV'][_0x22e9c6(0x39c)]:case _0x3c479d['EV'][_0x22e9c6(0xa26)]:case _0x3c479d['EV']['ASTC4x4Unorm']:case _0x3c479d['EV'][_0x22e9c6(0x59e)]:case _0x3c479d['EV'][_0x22e9c6(0x154)]:case _0x3c479d['EV']['ASTC5x4UnormSRGB']:case _0x3c479d['EV'][_0x22e9c6(0xc20)]:case _0x3c479d['EV'][_0x22e9c6(0x7e7)]:case _0x3c479d['EV'][_0x22e9c6(0x791)]:case _0x3c479d['EV'][_0x22e9c6(0x212)]:case _0x3c479d['EV'][_0x22e9c6(0x5ee)]:case _0x3c479d['EV'][_0x22e9c6(0xca0)]:case _0x3c479d['EV'][_0x22e9c6(0x1f7)]:case _0x3c479d['EV'][_0x22e9c6(0xb13)]:case _0x3c479d['EV'][_0x22e9c6(0x9f8)]:case _0x3c479d['EV']['ASTC8x6UnormSRGB']:case _0x3c479d['EV']['ASTC8x8Unorm']:case _0x3c479d['EV'][_0x22e9c6(0x7f3)]:case _0x3c479d['EV']['ASTC10x5Unorm']:case _0x3c479d['EV']['ASTC10x5UnormSRGB']:case _0x3c479d['EV'][_0x22e9c6(0xc2e)]:case _0x3c479d['EV'][_0x22e9c6(0xa92)]:case _0x3c479d['EV'][_0x22e9c6(0x27f)]:case _0x3c479d['EV']['ASTC10x8UnormSRGB']:case _0x3c479d['EV'][_0x22e9c6(0x217)]:case _0x3c479d['EV'][_0x22e9c6(0xc5b)]:case _0x3c479d['EV'][_0x22e9c6(0x254)]:case _0x3c479d['EV'][_0x22e9c6(0x1b7)]:case _0x3c479d['EV']['ASTC12x12Unorm']:case _0x3c479d['EV'][_0x22e9c6(0x3b3)]:return 0x4;}throw'Unknown\x20format\x20'+_0x44412c+'!';}static['HasStencilAspect'](_0x379c31){var _0x93a78b=_0x1b4d96;switch(_0x379c31){case _0x3c479d['EV'][_0x93a78b(0x30f)]:case _0x3c479d['EV'][_0x93a78b(0x85c)]:case _0x3c479d['EV']['Depth32FloatStencil8']:case _0x3c479d['EV'][_0x93a78b(0x619)]:return!0x0;}return!0x1;}static[_0x1b4d96(0x29d)](_0x392673){var _0x2fd89e=_0x1b4d96;switch(_0x392673){case _0x3c479d['EV'][_0x2fd89e(0x85c)]:case _0x3c479d['EV']['Depth32FloatStencil8']:case _0x3c479d['EV']['Depth24PlusStencil8']:return!0x0;}return!0x1;}static['GetDepthFormatOnly'](_0x3e6cdf){var _0x5ca4df=_0x1b4d96;switch(_0x3e6cdf){case _0x3c479d['EV']['Depth16Unorm']:return _0x3c479d['EV'][_0x5ca4df(0x39b)];case _0x3c479d['EV'][_0x5ca4df(0xa36)]:case _0x3c479d['EV'][_0x5ca4df(0x619)]:case _0x3c479d['EV'][_0x5ca4df(0x85c)]:return _0x3c479d['EV'][_0x5ca4df(0xa36)];case _0x3c479d['EV'][_0x5ca4df(0xcf9)]:case _0x3c479d['EV'][_0x5ca4df(0x4e9)]:return _0x3c479d['EV']['Depth32Float'];}return _0x3e6cdf;}[_0x1b4d96(0x1e9)](_0x52a062,_0x763450,_0x56af92,_0x336f35=!0x1,_0x4e35cb){var _0x3b63d3=_0x1b4d96,_0xa2b481=void 0x0===_0x4e35cb,[_0x427bb2,_0x48cd32]=this[_0x3b63d3(0x668)](_0x56af92,_0x336f35?_0x583c35['InvertY']:_0x583c35['DontInvertY']);null!=(_0x1362cf=(_0x4f2a39=_0x4e35cb=_0xa2b481?this[_0x3b63d3(0xc42)][_0x3b63d3(0x522)]({}):_0x4e35cb)[_0x3b63d3(0x5a7)])&&_0x1362cf[_0x3b63d3(0x9d3)](_0x4f2a39,_0x3b63d3(0x238)+_0x336f35);const _0x386983=_0x763450['_hardwareTexture'];var _0x1362cf={'colorAttachments':[{'view':_0x386983[_0x3b63d3(0x597)][_0x3b63d3(0x194)]({'format':_0x56af92,'dimension':_0x3c479d['p_'][_0x3b63d3(0x5ab)],'mipLevelCount':0x1,'baseArrayLayer':0x0,'baseMipLevel':0x0,'arrayLayerCount':0x1,'aspect':_0x3c479d['H7'][_0x3b63d3(0x1d6)]}),'loadOp':_0x3c479d['Ws'][_0x3b63d3(0xbc8)],'storeOp':_0x3c479d['EG'][_0x3b63d3(0xd20)]}]};const _0x59c559=_0x4e35cb[_0x3b63d3(0x58c)](_0x1362cf);var _0x4f2a39={'layout':_0x48cd32,'entries':[{'binding':0x0,'resource':this[_0x3b63d3(0xba8)]},{'binding':0x1,'resource':this['_device'][_0x3b63d3(0x866)]({'source':_0x52a062[_0x3b63d3(0x597)]})}]},_0x336f35=this[_0x3b63d3(0xc42)][_0x3b63d3(0x611)](_0x4f2a39);_0x59c559[_0x3b63d3(0x89e)](_0x427bb2),_0x59c559['setBindGroup'](0x0,_0x336f35),_0x59c559[_0x3b63d3(0xd6c)](0x4,0x1,0x0,0x0),_0x59c559[_0x3b63d3(0x35c)](),null!=(_0x56af92=(_0x763450=_0x4e35cb)[_0x3b63d3(0x7b0)])&&_0x56af92[_0x3b63d3(0x9d3)](_0x763450),_0xa2b481&&this[_0x3b63d3(0xc42)][_0x3b63d3(0x28d)][_0x3b63d3(0x56e)]([_0x4e35cb['finish']()]);}[_0x1b4d96(0x19a)](_0x1fb19d,_0x45df95,_0x58a30b,_0x461cb9,_0x27d7c1=!0x1,_0x3169ab=!0x1,_0x5da0f8=0x0,_0x1626cc=0x0,_0x37ec89=0x1,_0x21498e=0x0,_0x8da6ca=0x0,_0x495798=0x0,_0xdc15c9=0x0,_0x4999d9,_0x4b7598){var _0x2d22f4=_0x1b4d96,_0x2143c2,_0xf4349e,_0x29120c=0x0!==_0x495798,_0x130161=void 0x0===_0x4999d9,[_0x582c8e,_0x773621]=this[_0x2d22f4(0x289)](_0x461cb9,_0x29120c?_0x28c9c1[_0x2d22f4(0x61a)]:_0x28c9c1[_0x2d22f4(0x493)],{'invertY':_0x27d7c1,'premultiplyAlpha':_0x3169ab});_0x5da0f8=Math['max'](_0x5da0f8,0x0),null!=(_0x2143c2=(_0xf4349e=_0x4999d9=_0x130161?this[_0x2d22f4(0xc42)][_0x2d22f4(0x522)]({}):_0x4999d9)[_0x2d22f4(0x5a7)])&&_0x2143c2[_0x2d22f4(0x9d3)](_0xf4349e,_0x2d22f4(0x157)+_0x27d7c1+_0x2d22f4(0x898)+_0x3169ab);let _0x184ef5;if(_0x102107[_0x2d22f4(0x19b)](_0x1fb19d)?(_0x184ef5=_0x1fb19d[_0x2d22f4(0x597)],_0x27d7c1&&!_0x3169ab&&0x1===_0x37ec89&&0x0===_0x5da0f8||(_0x1fb19d=void 0x0)):(_0x184ef5=_0x1fb19d,_0x1fb19d=void 0x0),_0x184ef5){_0x29120c&&this[_0x2d22f4(0x195)][_0x2d22f4(0x8c0)](this[_0x2d22f4(0x541)],0x0,new Float32Array([_0x21498e,_0x8da6ca,_0x495798,_0xdc15c9]),0x0,0x10);const _0x1dfbb9=_0x1fb19d,_0x4fa0e6=null!=(_0x2143c2=null===_0x1dfbb9||void 0x0===_0x1dfbb9?void 0x0:_0x1dfbb9[_0x2d22f4(0x8d3)])?_0x2143c2:this[_0x2d22f4(0x1ea)]({'width':_0x45df95,'height':_0x58a30b,'layers':0x1},!0x1,!0x1,!0x1,!0x1,!0x1,_0x461cb9,0x1,_0x4999d9,_0x3c479d['v2']['CopySrc']|_0x3c479d['v2'][_0x2d22f4(0x37f)]|_0x3c479d['v2'][_0x2d22f4(0x419)],void 0x0,_0x2d22f4(0x33e));_0x27d7c1=null!=(_0xf4349e=null===_0x1dfbb9||void 0x0===_0x1dfbb9?void 0x0:_0x1dfbb9[_0x2d22f4(0x6d4)])?_0xf4349e:{'colorAttachments':[{'view':_0x4fa0e6[_0x2d22f4(0x194)]({'format':_0x461cb9,'dimension':_0x3c479d['p_']['E2d'],'baseMipLevel':0x0,'mipLevelCount':0x1,'arrayLayerCount':0x1,'baseArrayLayer':0x0}),'loadOp':_0x3c479d['Ws'][_0x2d22f4(0xbc8)],'storeOp':_0x3c479d['EG'][_0x2d22f4(0xd20)]}]};const _0x3a0402=_0x4999d9[_0x2d22f4(0x58c)](_0x27d7c1);let _0x532398=_0x29120c?null===_0x1dfbb9||void 0x0===_0x1dfbb9?void 0x0:_0x1dfbb9[_0x2d22f4(0xc27)]:null===_0x1dfbb9||void 0x0===_0x1dfbb9?void 0x0:_0x1dfbb9[_0x2d22f4(0x9e1)];if(!_0x532398){const _0x4800e9={'layout':_0x773621,'entries':[{'binding':0x0,'resource':_0x184ef5['createView']({'format':_0x461cb9,'dimension':_0x3c479d['p_'][_0x2d22f4(0x5ab)],'baseMipLevel':_0x1626cc,'mipLevelCount':0x1,'arrayLayerCount':_0x37ec89,'baseArrayLayer':_0x5da0f8})}]};_0x29120c&&_0x4800e9[_0x2d22f4(0x87d)][_0x2d22f4(0x2f7)]({'binding':0x1,'resource':{'buffer':this[_0x2d22f4(0x541)]}}),_0x532398=this[_0x2d22f4(0xc42)]['createBindGroup'](_0x4800e9);}_0x3a0402[_0x2d22f4(0x89e)](_0x582c8e),_0x3a0402[_0x2d22f4(0x9c3)](0x0,_0x532398),_0x3a0402[_0x2d22f4(0xd6c)](0x4,0x1,0x0,0x0),_0x3a0402[_0x2d22f4(0x35c)](),_0x4999d9[_0x2d22f4(0xcd9)]({'texture':_0x4fa0e6},{'texture':_0x184ef5,'mipLevel':_0x1626cc,'origin':{'x':0x0,'y':0x0,'z':_0x5da0f8}},{'width':_0x45df95,'height':_0x58a30b,'depthOrArrayLayers':0x1}),_0x1dfbb9?(_0x1dfbb9[_0x2d22f4(0x8d3)]=_0x4fa0e6,_0x1dfbb9[_0x2d22f4(0x6d4)]=_0x27d7c1,_0x29120c?_0x1dfbb9[_0x2d22f4(0xc27)]=_0x532398:_0x1dfbb9[_0x2d22f4(0x9e1)]=_0x532398):this[_0x2d22f4(0x59f)][_0x2d22f4(0x2f7)]([_0x4fa0e6,null]),null!=(_0x21498e=(_0x3169ab=_0x4999d9)[_0x2d22f4(0x7b0)])&&_0x21498e[_0x2d22f4(0x9d3)](_0x3169ab),_0x130161&&this[_0x2d22f4(0xc42)][_0x2d22f4(0x28d)][_0x2d22f4(0x56e)]([_0x4999d9[_0x2d22f4(0x256)]()]);}}[_0x1b4d96(0x9ae)](_0x3f91eb,_0x9b9ee9,_0x26407c,_0x1e6b02){var _0x127481=_0x1b4d96,_0x5738b8,_0x357fd5=void 0x0===_0x1e6b02,[_0x9b9ee9,_0x1229ae]=this[_0x127481(0x289)](_0x9b9ee9,_0x28c9c1[_0x127481(0x493)],{'invertY':!0x0,'premultiplyAlpha':!0x1});null!=(_0x216a8a=(_0x5738b8=_0x1e6b02=_0x357fd5?this[_0x127481(0xc42)][_0x127481(0x522)]({}):_0x1e6b02)[_0x127481(0x5a7)])&&_0x216a8a[_0x127481(0x9d3)](_0x5738b8,_0x127481(0x401));const _0x446618=_0x1e6b02[_0x127481(0x58c)](_0x26407c);var _0x216a8a=this[_0x127481(0xc42)][_0x127481(0x611)]({'layout':_0x1229ae,'entries':[{'binding':0x0,'resource':_0x3f91eb}]});_0x446618[_0x127481(0x89e)](_0x9b9ee9),_0x446618[_0x127481(0x9c3)](0x0,_0x216a8a),_0x446618['draw'](0x4,0x1,0x0,0x0),_0x446618[_0x127481(0x35c)](),null!=(_0x26407c=(_0x5738b8=_0x1e6b02)[_0x127481(0x7b0)])&&_0x26407c['call'](_0x5738b8),_0x357fd5&&this['_device'][_0x127481(0x28d)][_0x127481(0x56e)]([_0x1e6b02[_0x127481(0x256)]()]);}[_0x1b4d96(0x1ea)](_0x47cdc9,_0x35b38a=!0x1,_0x51d0a5=!0x1,_0x3114de=!0x1,_0x119151=!0x1,_0x242a49=!0x1,_0x4ba861=_0x3c479d['EV'][_0x1b4d96(0x7da)],_0x3161b2=0x1,_0x4c4ede,_0x3e3b0e=-0x1,_0x27d70d=0x0,_0x235846){var _0x559408=_0x1b4d96;0x1<_0x3161b2&&(_0x3161b2=0x4);var _0x4a7cc6=_0x47cdc9[_0x559408(0xd60)]||0x1,_0x13e8a9={'width':_0x47cdc9[_0x559408(0x503)],'height':_0x47cdc9[_0x559408(0x7f5)],'depthOrArrayLayers':_0x4a7cc6},_0x39ae58=_0x102107[_0x559408(0x98c)](_0x4ba861),_0x5dd42c=_0x35b38a?_0x102107[_0x559408(0x759)](_0x47cdc9[_0x559408(0x503)],_0x47cdc9[_0x559408(0x7f5)]):0x1,_0x3e3b0e=0x0<=_0x3e3b0e?_0x3e3b0e:_0x3c479d['v2']['CopySrc']|_0x3c479d['v2'][_0x559408(0x798)]|_0x3c479d['v2'][_0x559408(0x419)],_0x39ae58=(_0x27d70d|=_0x35b38a&&!_0x39ae58?_0x3c479d['v2'][_0x559408(0x7bf)]|_0x3c479d['v2'][_0x559408(0x37f)]:0x0,_0x39ae58||_0x242a49||(_0x27d70d|=_0x3c479d['v2'][_0x559408(0x37f)]|_0x3c479d['v2']['CopyDst']),this['_device'][_0x559408(0x1ea)]({'label':_0x559408(0x75b)+(_0x242a49?'3D':'2D')+'_'+(_0x235846?_0x235846+'_':'')+_0x13e8a9[_0x559408(0x503)]+'x'+_0x13e8a9[_0x559408(0x7f5)]+'x'+_0x13e8a9[_0x559408(0xa60)]+'_'+(_0x35b38a?_0x559408(0xa0a):_0x559408(0xc44))+'_'+_0x4ba861+_0x559408(0x66d)+_0x3161b2,'size':_0x13e8a9,'dimension':_0x242a49?_0x3c479d['kd'][_0x559408(0xc87)]:_0x3c479d['kd']['E2d'],'format':_0x4ba861,'usage':_0x3e3b0e|_0x27d70d,'sampleCount':_0x3161b2,'mipLevelCount':_0x5dd42c}));return _0x102107['IsImageBitmap'](_0x47cdc9)&&(this[_0x559408(0xbe4)](_0x47cdc9,_0x39ae58,_0x47cdc9[_0x559408(0x503)],_0x47cdc9[_0x559408(0x7f5)],_0x4a7cc6,_0x4ba861,0x0,0x0,_0x3114de,_0x119151,0x0,0x0),_0x35b38a&&_0x51d0a5&&this[_0x559408(0xb63)](_0x39ae58,_0x4ba861,_0x5dd42c,0x0,_0x4c4ede)),_0x39ae58;}[_0x1b4d96(0xc25)](_0x101d07,_0x3045e2=!0x1,_0x51fa8f=!0x1,_0x729ea=!0x1,_0x2528e1=!0x1,_0x1cec34=_0x3c479d['EV'][_0x1b4d96(0x7da)],_0x2fb627=0x1,_0x2e8fb4,_0x58e9eb=-0x1,_0x1a5be8=0x0,_0x1702f7){var _0xe2c042=_0x1b4d96;0x1<_0x2fb627&&(_0x2fb627=0x4);var _0x34c550=(_0x102107[_0xe2c042(0xaf2)](_0x101d07)?_0x101d07[0x0]:_0x101d07)[_0xe2c042(0x503)],_0x3cbade=(_0x102107[_0xe2c042(0xaf2)](_0x101d07)?_0x101d07[0x0]:_0x101d07)[_0xe2c042(0x7f5)],_0x2f4e1f=_0x102107[_0xe2c042(0x98c)](_0x1cec34),_0x13523b=_0x3045e2?_0x102107['ComputeNumMipmapLevels'](_0x34c550,_0x3cbade):0x1,_0x58e9eb=0x0<=_0x58e9eb?_0x58e9eb:_0x3c479d['v2'][_0xe2c042(0x7bf)]|_0x3c479d['v2'][_0xe2c042(0x798)]|_0x3c479d['v2'][_0xe2c042(0x419)],_0x2f4e1f=(_0x1a5be8|=_0x3045e2&&!_0x2f4e1f?_0x3c479d['v2'][_0xe2c042(0x7bf)]|_0x3c479d['v2']['RenderAttachment']:0x0,_0x2f4e1f||(_0x1a5be8|=_0x3c479d['v2']['RenderAttachment']|_0x3c479d['v2'][_0xe2c042(0x798)]),this[_0xe2c042(0xc42)][_0xe2c042(0x1ea)]({'label':'TextureCube_'+(_0x1702f7?_0x1702f7+'_':'')+_0x34c550+'x'+_0x3cbade+_0xe2c042(0x7b5)+(_0x3045e2?_0xe2c042(0xa0a):_0xe2c042(0xc44))+'_'+_0x1cec34+_0xe2c042(0x66d)+_0x2fb627,'size':{'width':_0x34c550,'height':_0x3cbade,'depthOrArrayLayers':0x6},'dimension':_0x3c479d['kd'][_0xe2c042(0x5ab)],'format':_0x1cec34,'usage':_0x58e9eb|_0x1a5be8,'sampleCount':_0x2fb627,'mipLevelCount':_0x13523b}));return _0x102107[_0xe2c042(0xaf2)](_0x101d07)&&(this[_0xe2c042(0x4ef)](_0x101d07,_0x2f4e1f,_0x34c550,_0x3cbade,_0x1cec34,_0x729ea,_0x2528e1,0x0,0x0),_0x3045e2&&_0x51fa8f&&this[_0xe2c042(0xb0c)](_0x2f4e1f,_0x1cec34,_0x13523b,_0x2e8fb4)),_0x2f4e1f;}[_0x1b4d96(0xb0c)](_0x28544e,_0xf428a3,_0x4f8ad,_0x4e6cbc){var _0x4ebd2b=_0x1b4d96,_0x4c7d88,_0x307958,_0x49b848=void 0x0===_0x4e6cbc;null!=(_0x4c7d88=(_0x307958=_0x4e6cbc=_0x49b848?this[_0x4ebd2b(0xc42)][_0x4ebd2b(0x522)]({}):_0x4e6cbc)[_0x4ebd2b(0x5a7)])&&_0x4c7d88[_0x4ebd2b(0x9d3)](_0x307958,_0x4ebd2b(0x7a9)+_0x4f8ad+_0x4ebd2b(0x6bb));for(let _0x3c4b98=0x0;_0x3c4b98<0x6;++_0x3c4b98)this['generateMipmaps'](_0x28544e,_0xf428a3,_0x4f8ad,_0x3c4b98,_0x4e6cbc);null!=(_0x307958=(_0x4c7d88=_0x4e6cbc)[_0x4ebd2b(0x7b0)])&&_0x307958['call'](_0x4c7d88),_0x49b848&&this[_0x4ebd2b(0xc42)][_0x4ebd2b(0x28d)]['submit']([_0x4e6cbc[_0x4ebd2b(0x256)]()]);}['generateMipmaps'](_0x23ea6d,_0x13c0f9,_0x879643,_0x5baa5d=0x0,_0x346524){var _0x49ec25=_0x1b4d96,_0x3e2093,_0x448e40,_0x215131=void 0x0===_0x346524,[_0x1bf0f0,_0xe3d5e5]=this['_getPipeline'](_0x13c0f9);_0x5baa5d=Math[_0x49ec25(0xbe7)](_0x5baa5d,0x0),null!=(_0x3e2093=(_0x448e40=_0x346524=_0x215131?this[_0x49ec25(0xc42)][_0x49ec25(0x522)]({}):_0x346524)[_0x49ec25(0x5a7)])&&_0x3e2093[_0x49ec25(0x9d3)](_0x448e40,_0x49ec25(0xad2)+_0x5baa5d+_0x49ec25(0x827)+_0x879643+_0x49ec25(0x6bb));let _0x8980b1;if(_0x102107[_0x49ec25(0x19b)](_0x23ea6d)?(_0x8980b1=_0x23ea6d[_0x49ec25(0x597)],_0x23ea6d[_0x49ec25(0x6e3)]=_0x23ea6d[_0x49ec25(0x6e3)]||[],_0x23ea6d[_0x49ec25(0x5a3)]=_0x23ea6d['_mipmapGenBindGroup']||[]):(_0x8980b1=_0x23ea6d,_0x23ea6d=void 0x0),_0x8980b1){const _0x3e2018=_0x23ea6d;for(let _0x39e5b8=0x1;_0x39e5b8<_0x879643;++_0x39e5b8){var _0x5222c5=null!=(_0x5222c5=null==(_0x5222c5=null===_0x3e2018||void 0x0===_0x3e2018?void 0x0:_0x3e2018[_0x49ec25(0x6e3)][_0x5baa5d])?void 0x0:_0x5222c5[_0x39e5b8-0x1])?_0x5222c5:{'colorAttachments':[{'view':_0x8980b1['createView']({'format':_0x13c0f9,'dimension':_0x3c479d['p_'][_0x49ec25(0x5ab)],'baseMipLevel':_0x39e5b8,'mipLevelCount':0x1,'arrayLayerCount':0x1,'baseArrayLayer':_0x5baa5d}),'loadOp':_0x3c479d['Ws']['Load'],'storeOp':_0x3c479d['EG'][_0x49ec25(0xd20)]}]};_0x3e2018&&(_0x3e2018[_0x49ec25(0x6e3)][_0x5baa5d]=_0x3e2018['_mipmapGenRenderPassDescr'][_0x5baa5d]||[],_0x3e2018[_0x49ec25(0x6e3)][_0x5baa5d][_0x39e5b8-0x1]=_0x5222c5);const _0x1c0206=_0x346524['beginRenderPass'](_0x5222c5);_0x5222c5=null!=(_0x5222c5=null==(_0x5222c5=null===_0x3e2018||void 0x0===_0x3e2018?void 0x0:_0x3e2018[_0x49ec25(0x5a3)][_0x5baa5d])?void 0x0:_0x5222c5[_0x39e5b8-0x1])?_0x5222c5:this[_0x49ec25(0xc42)][_0x49ec25(0x611)]({'layout':_0xe3d5e5,'entries':[{'binding':0x0,'resource':this[_0x49ec25(0x5ec)]},{'binding':0x1,'resource':_0x8980b1[_0x49ec25(0x194)]({'format':_0x13c0f9,'dimension':_0x3c479d['p_']['E2d'],'baseMipLevel':_0x39e5b8-0x1,'mipLevelCount':0x1,'arrayLayerCount':0x1,'baseArrayLayer':_0x5baa5d})}]}),(_0x3e2018&&(_0x3e2018['_mipmapGenBindGroup'][_0x5baa5d]=_0x3e2018['_mipmapGenBindGroup'][_0x5baa5d]||[],_0x3e2018[_0x49ec25(0x5a3)][_0x5baa5d][_0x39e5b8-0x1]=_0x5222c5),_0x1c0206[_0x49ec25(0x89e)](_0x1bf0f0),_0x1c0206['setBindGroup'](0x0,_0x5222c5),_0x1c0206[_0x49ec25(0xd6c)](0x4,0x1,0x0,0x0),_0x1c0206[_0x49ec25(0x35c)]());}null!=(_0x448e40=(_0x3e2093=_0x346524)['popDebugGroup'])&&_0x448e40[_0x49ec25(0x9d3)](_0x3e2093),_0x215131&&this[_0x49ec25(0xc42)][_0x49ec25(0x28d)][_0x49ec25(0x56e)]([_0x346524[_0x49ec25(0x256)]()]);}}[_0x1b4d96(0x8b3)](_0x535f22,_0x271e61,_0x4996a3,_0x114d20,_0x229df0){var _0x2b7483=_0x1b4d96;_0x535f22[_0x2b7483(0x835)]||(_0x535f22['_hardwareTexture']=new _0xfc846b['Z']()),void 0x0===_0x271e61&&(_0x271e61=_0x535f22[_0x2b7483(0x503)]),void 0x0===_0x4996a3&&(_0x4996a3=_0x535f22[_0x2b7483(0x7f5)]),void 0x0===_0x114d20&&(_0x114d20=_0x535f22[_0x2b7483(0x281)]);const _0x1bf1d4=_0x535f22[_0x2b7483(0x835)];var _0x41d856,_0x229df0=0x0!=((null!=_0x229df0?_0x229df0:0x0)&_0x42f372['g']['TEXTURE_CREATIONFLAG_STORAGE']),_0x128159=(_0x1bf1d4[_0x2b7483(0x22f)]=_0x102107['GetWebGPUTextureFormat'](_0x535f22['type'],_0x535f22[_0x2b7483(0x22f)],_0x535f22['_useSRGBBuffer']),_0x1bf1d4['textureUsages']=_0x535f22[_0x2b7483(0xca9)]===_0x41d953['S'][_0x2b7483(0x9ad)]||_0x535f22['source']===_0x41d953['S']['MultiRenderTarget']?_0x3c479d['v2'][_0x2b7483(0x419)]|_0x3c479d['v2'][_0x2b7483(0x7bf)]|_0x3c479d['v2'][_0x2b7483(0x37f)]:_0x535f22[_0x2b7483(0xca9)]===_0x41d953['S'][_0x2b7483(0x9d6)]?_0x3c479d['v2'][_0x2b7483(0x419)]|_0x3c479d['v2'][_0x2b7483(0x37f)]:-0x1,_0x1bf1d4[_0x2b7483(0x2f3)]=_0x229df0?_0x3c479d['v2'][_0x2b7483(0xc5a)]:0x0,_0x535f22[_0x2b7483(0x5d6)]),_0x551828=_0x114d20||0x1,_0x128159=null!==_0x535f22['_maxLodLevel']?_0x535f22[_0x2b7483(0x430)]:_0x128159?_0x102107[_0x2b7483(0x759)](_0x271e61,_0x4996a3):0x1;return _0x535f22[_0x2b7483(0xaac)]?(_0x41d856=this[_0x2b7483(0xc25)]({'width':_0x271e61,'height':_0x4996a3},_0x535f22['generateMipMaps'],_0x535f22[_0x2b7483(0x5d6)],_0x535f22[_0x2b7483(0x6c4)],!0x1,_0x1bf1d4[_0x2b7483(0x22f)],0x1,this[_0x2b7483(0xa52)],_0x1bf1d4[_0x2b7483(0xa71)],_0x1bf1d4['textureAdditionalUsages'],_0x535f22[_0x2b7483(0x525)]),_0x1bf1d4[_0x2b7483(0x82e)](_0x41d856),_0x1bf1d4[_0x2b7483(0x194)]({'format':_0x102107[_0x2b7483(0x5c7)](_0x1bf1d4[_0x2b7483(0x22f)]),'dimension':_0x3c479d['p_'][_0x2b7483(0x9db)],'mipLevelCount':_0x128159,'baseArrayLayer':0x0,'baseMipLevel':0x0,'arrayLayerCount':0x6,'aspect':_0x102107['HasDepthAndStencilAspects'](_0x1bf1d4['format'])?_0x3c479d['H7'][_0x2b7483(0x485)]:_0x3c479d['H7'][_0x2b7483(0x1d6)]},_0x229df0)):(_0x41d856=this['createTexture']({'width':_0x271e61,'height':_0x4996a3,'layers':_0x551828},_0x535f22['generateMipMaps'],_0x535f22[_0x2b7483(0x5d6)],_0x535f22[_0x2b7483(0x6c4)],!0x1,_0x535f22[_0x2b7483(0xa7c)],_0x1bf1d4[_0x2b7483(0x22f)],0x1,this[_0x2b7483(0xa52)],_0x1bf1d4[_0x2b7483(0xa71)],_0x1bf1d4[_0x2b7483(0x2f3)],_0x535f22[_0x2b7483(0x525)]),_0x1bf1d4['set'](_0x41d856),_0x1bf1d4[_0x2b7483(0x194)]({'format':_0x102107['GetDepthFormatOnly'](_0x1bf1d4['format']),'dimension':_0x535f22[_0x2b7483(0x545)]?_0x3c479d['p_'][_0x2b7483(0x3b7)]:_0x535f22[_0x2b7483(0xa7c)]?_0x3c479d['kd'][_0x2b7483(0xc87)]:_0x3c479d['p_'][_0x2b7483(0x5ab)],'mipLevelCount':_0x128159,'baseArrayLayer':0x0,'baseMipLevel':0x0,'arrayLayerCount':_0x535f22[_0x2b7483(0xa7c)]?0x1:_0x551828,'aspect':_0x102107[_0x2b7483(0x29d)](_0x1bf1d4[_0x2b7483(0x22f)])?_0x3c479d['H7']['DepthOnly']:_0x3c479d['H7'][_0x2b7483(0x1d6)]},_0x229df0)),_0x535f22[_0x2b7483(0x503)]=_0x535f22[_0x2b7483(0x7ea)]=_0x271e61,_0x535f22[_0x2b7483(0x7f5)]=_0x535f22[_0x2b7483(0x644)]=_0x4996a3,_0x535f22[_0x2b7483(0x281)]=_0x535f22[_0x2b7483(0x733)]=_0x114d20,this[_0x2b7483(0x73a)](_0x535f22,_0x535f22[_0x2b7483(0x2d6)]),_0x1bf1d4;}['createMSAATexture'](_0x1115e9,_0x9db975,_0x345d1d=!0x0,_0x3f0d59=-0x1){var _0x330520=_0x1b4d96;const _0x5e21ce=_0x1115e9[_0x330520(0x835)];var _0x2581ea;_0x345d1d&&null!==_0x5e21ce&&void 0x0!==_0x5e21ce&&_0x5e21ce['releaseMSAATexture'](),!_0x5e21ce||(null!=_0x9db975?_0x9db975:0x1)<=0x1||(_0x345d1d=_0x1115e9[_0x330520(0x503)],_0x2581ea=_0x1115e9[_0x330520(0x7f5)],_0x345d1d=this[_0x330520(0x1ea)]({'width':_0x345d1d,'height':_0x2581ea,'layers':0x1},!0x1,!0x1,!0x1,!0x1,!0x1,_0x5e21ce['format'],_0x9db975,this[_0x330520(0xa52)],_0x3c479d['v2'][_0x330520(0x37f)],0x0,_0x1115e9['label']?_0x330520(0xa1b)+_0x1115e9[_0x330520(0x525)]:void 0x0),_0x5e21ce[_0x330520(0x741)](_0x345d1d,_0x3f0d59));}[_0x1b4d96(0x4ef)](_0x5d276d,_0x417842,_0x5d7932,_0x47876d,_0x2991e1,_0x343302=!0x1,_0x3c19fc=!0x1,_0x543bbb=0x0,_0x2cf162=0x0){var _0x18e0a3=_0x1b4d96,_0x42613c=[0x0,0x3,0x1,0x4,0x2,0x5];for(let _0x42e4ee=0x0;_0x42e4ee<_0x42613c[_0x18e0a3(0x9ff)];++_0x42e4ee){var _0x7e56a=_0x5d276d[_0x42613c[_0x42e4ee]];this['updateTexture'](_0x7e56a,_0x417842,_0x5d7932,_0x47876d,0x1,_0x2991e1,_0x42e4ee,0x0,_0x343302,_0x3c19fc,_0x543bbb,_0x2cf162);}}[_0x1b4d96(0xbe4)](_0x1a8e0a,_0x587f60,_0x29573e,_0xa24bf8,_0x59b0c4,_0x7a1fea,_0x3c074a=0x0,_0x129913=0x0,_0x3d7e32=!0x1,_0x349234=!0x1,_0x408411=0x0,_0x56ccd8=0x0,_0xcfecf2){var _0x3ac110=_0x1b4d96,_0x56e1b1=_0x102107[_0x3ac110(0x867)](_0x587f60)?_0x587f60[_0x3ac110(0x835)][_0x3ac110(0x597)]:_0x587f60,_0x695f86=_0x102107[_0x3ac110(0xd12)](_0x7a1fea),_0x29fcb1=_0x102107[_0x3ac110(0x867)](_0x587f60)?_0x587f60[_0x3ac110(0x835)]:_0x587f60;const _0x3e65a6={'texture':_0x56e1b1,'origin':{'x':_0x408411,'y':_0x56ccd8,'z':Math[_0x3ac110(0xbe7)](_0x3c074a,0x0)},'mipLevel':_0x129913,'premultipliedAlpha':_0x349234},_0x1e6481={'width':Math[_0x3ac110(0x7eb)](_0x29573e/_0x695f86[_0x3ac110(0x503)])*_0x695f86[_0x3ac110(0x503)],'height':Math['ceil'](_0xa24bf8/_0x695f86[_0x3ac110(0x7f5)])*_0x695f86['height'],'depthOrArrayLayers':_0x59b0c4||0x1};if(void 0x0!==_0x1a8e0a[_0x3ac110(0x247)]){_0x56e1b1=Math[_0x3ac110(0x7eb)](_0x29573e/_0x695f86['width'])*_0x695f86['length'];if(0x100*Math[_0x3ac110(0x7eb)](_0x56e1b1/0x100)==_0x56e1b1){const _0x1816b3=this[_0x3ac110(0xc42)]['createCommandEncoder']({}),_0x3276a8=this[_0x3ac110(0x195)][_0x3ac110(0x44e)](_0x1a8e0a['byteLength'],_0x3c479d['FB'][_0x3ac110(0x393)]|_0x3c479d['FB']['CopySrc'],!0x0);_0x695f86=_0x3276a8['getMappedRange'](),(new Uint8Array(_0x695f86)[_0x3ac110(0x82e)](_0x1a8e0a),_0x3276a8[_0x3ac110(0x910)](),_0x1816b3[_0x3ac110(0x85f)]({'buffer':_0x3276a8,'offset':0x0,'bytesPerRow':_0x56e1b1,'rowsPerImage':_0xa24bf8},_0x3e65a6,_0x1e6481),this[_0x3ac110(0xc42)]['queue']['submit']([_0x1816b3[_0x3ac110(0x256)]()]),this[_0x3ac110(0x195)]['releaseBuffer'](_0x3276a8));}else this['_device'][_0x3ac110(0x28d)][_0x3ac110(0x432)](_0x3e65a6,_0x1a8e0a,{'offset':0x0,'bytesPerRow':_0x56e1b1,'rowsPerImage':_0xa24bf8},_0x1e6481);if(_0x3d7e32||_0x349234){if(!_0x102107[_0x3ac110(0x867)](_0x587f60))throw'updateTexture:\x20Can\x27t\x20process\x20the\x20texture\x20data\x20because\x20a\x20GPUTexture\x20was\x20provided\x20instead\x20of\x20an\x20InternalTexture!';_0x695f86=0x0===_0x408411&&0x0===_0x56ccd8&&_0x29573e===_0x587f60['width']&&_0xa24bf8===_0x587f60[_0x3ac110(0x7f5)],this[_0x3ac110(0x19a)](_0x29fcb1,_0x587f60[_0x3ac110(0x503)],_0x587f60[_0x3ac110(0x7f5)],_0x7a1fea,_0x3d7e32,_0x349234,_0x3c074a,_0x129913,_0x59b0c4||0x1,_0x408411,_0x56ccd8,_0x695f86?0x0:_0x29573e,_0x695f86?0x0:_0xa24bf8,void 0x0,_0xcfecf2);}}else{if(_0x3d7e32){if(_0x3e65a6[_0x3ac110(0x999)]=!0x1,_0x102107[_0x3ac110(0x867)](_0x587f60)&&0x0===_0x408411&&0x0===_0x56ccd8&&_0x29573e===_0x587f60['width']&&_0xa24bf8===_0x587f60['height'])this['_device']['queue'][_0x3ac110(0x829)]({'source':_0x1a8e0a},_0x3e65a6,_0x1e6481),this[_0x3ac110(0x19a)](_0x29fcb1,_0x29573e,_0xa24bf8,_0x7a1fea,_0x3d7e32,_0x349234,_0x3c074a,_0x129913,_0x59b0c4||0x1,0x0,0x0,0x0,0x0,void 0x0,_0xcfecf2);else{const _0x2543d8=this['_device'][_0x3ac110(0x522)]({});_0x56e1b1=this['createTexture']({'width':_0x29573e,'height':_0xa24bf8,'layers':0x1},!0x1,!0x1,!0x1,!0x1,!0x1,_0x7a1fea,0x1,_0x2543d8,_0x3c479d['v2'][_0x3ac110(0x7bf)]|_0x3c479d['v2'][_0x3ac110(0x419)],void 0x0,_0x3ac110(0xd13)),(this['_deferredReleaseTextures'][_0x3ac110(0x2f7)]([_0x56e1b1,null]),_0x1e6481[_0x3ac110(0xa60)]=0x1,this['_device'][_0x3ac110(0x28d)][_0x3ac110(0x829)]({'source':_0x1a8e0a},{'texture':_0x56e1b1},_0x1e6481),_0x1e6481[_0x3ac110(0xa60)]=_0x59b0c4||0x1,this[_0x3ac110(0x19a)](_0x56e1b1,_0x29573e,_0xa24bf8,_0x7a1fea,_0x3d7e32,_0x349234,_0x3c074a,_0x129913,_0x59b0c4||0x1,0x0,0x0,0x0,0x0,_0x2543d8,_0xcfecf2),_0x2543d8[_0x3ac110(0xcd9)]({'texture':_0x56e1b1},_0x3e65a6,_0x1e6481),this[_0x3ac110(0xc42)]['queue']['submit']([_0x2543d8[_0x3ac110(0x256)]()]));}}else this[_0x3ac110(0xc42)][_0x3ac110(0x28d)][_0x3ac110(0x829)]({'source':_0x1a8e0a},_0x3e65a6,_0x1e6481);}}[_0x1b4d96(0x8ac)](_0x10dc86,_0xe289c3,_0x596c2a,_0x9c7157,_0x1d60fd,_0x3df244,_0x2a652e=0x0,_0x3b9152=0x0,_0x4a5e2a=null,_0x30045a=!0x1){var _0x591488=_0x1b4d96,_0x1c6bfd=_0x102107['_GetBlockInformationFromFormat'](_0x3df244),_0x1c6bfd=Math['ceil'](_0x9c7157/_0x1c6bfd[_0x591488(0x503)])*_0x1c6bfd[_0x591488(0x9ff)],_0x5e2f4a=0x100*Math[_0x591488(0x7eb)](_0x1c6bfd/0x100),_0x45fb49=_0x5e2f4a*_0x1d60fd,_0x50181d=this[_0x591488(0x195)][_0x591488(0x44e)](_0x45fb49,_0x3c479d['FB'][_0x591488(0x4b3)]|_0x3c479d['FB'][_0x591488(0x798)]);const _0x247d50=this[_0x591488(0xc42)][_0x591488(0x522)]({});return _0x247d50[_0x591488(0x172)]({'texture':_0x10dc86,'mipLevel':_0x3b9152,'origin':{'x':_0xe289c3,'y':_0x596c2a,'z':Math[_0x591488(0xbe7)](_0x2a652e,0x0)}},{'buffer':_0x50181d,'offset':0x0,'bytesPerRow':_0x5e2f4a},{'width':_0x9c7157,'height':_0x1d60fd,'depthOrArrayLayers':0x1}),this[_0x591488(0xc42)][_0x591488(0x28d)]['submit']([_0x247d50[_0x591488(0x256)]()]),this[_0x591488(0x195)][_0x591488(0xa55)](_0x50181d,_0x45fb49,_0x9c7157,_0x1d60fd,_0x1c6bfd,_0x5e2f4a,_0x102107[_0x591488(0x4a2)](_0x3df244),0x0,_0x4a5e2a,!0x0,_0x30045a);}[_0x1b4d96(0x32d)](_0x2d5360){var _0x4ea3a1=_0x1b4d96,_0x5afd3e,_0x4e63;_0x102107[_0x4ea3a1(0x867)](_0x2d5360)?(_0x5afd3e=_0x2d5360[_0x4ea3a1(0x835)],_0x4e63=_0x2d5360[_0x4ea3a1(0xa0b)],this[_0x4ea3a1(0x59f)]['push']([_0x5afd3e,_0x4e63])):this['_deferredReleaseTextures'][_0x4ea3a1(0x2f7)]([_0x2d5360,null]);}['destroyDeferredTextures'](){var _0x243913=_0x1b4d96;for(let _0x55d637=0x0;_0x55d637<this[_0x243913(0x59f)][_0x243913(0x9ff)];++_0x55d637){const [_0x3559c7,_0x40f26a]=this[_0x243913(0x59f)][_0x55d637];_0x3559c7&&(_0x102107[_0x243913(0x19b)](_0x3559c7)?_0x3559c7[_0x243913(0x87e)]():_0x3559c7[_0x243913(0xaf7)]()),null!==_0x40f26a&&void 0x0!==_0x40f26a&&_0x40f26a[_0x243913(0x38b)]();}this[_0x243913(0x59f)]['length']=0x0;}}},0x1666f:(_0x391207,_0x2ae4da,_0x433370)=>{var _0x6a8e9d=a7_0x51ebec;_0x433370['d'](_0x2ae4da,{'b':()=>_0x5d9bca});var _0x2c78e9=_0x433370(0x177e8),_0x40cbb4=_0x433370(0x13697),_0x307f95=_0x433370(0x13c77);class _0x5d9bca{constructor(_0x4b27ae,_0x46701a){var _0x43b6d0=a7_0x4956;this[_0x43b6d0(0x93f)]=!0x1,this['_gpuFrameTimeCounter']=new _0x40cbb4['z'](),this[_0x43b6d0(0xc71)]=0x0,this[_0x43b6d0(0xc42)]=_0x4b27ae,this[_0x43b6d0(0x195)]=_0x46701a;}get['gpuFrameTimeCounter'](){var _0x5d63a4=a7_0x4956;return this[_0x5d63a4(0xc4b)];}get[_0x6a8e9d(0x4d2)](){return this['_enabled'];}set[_0x6a8e9d(0x4d2)](_0xaa8c64){var _0x3c87e4=_0x6a8e9d;this['_enabled']!==_0xaa8c64&&(this['_enabled']=_0xaa8c64,this[_0x3c87e4(0xc71)]=0x0,_0xaa8c64?this[_0x3c87e4(0xa72)]=new _0x49cc4d(this[_0x3c87e4(0xc42)],this['_bufferManager']):this['_measureDuration'][_0x3c87e4(0x38b)]());}[_0x6a8e9d(0x6c8)](_0x51908d){var _0x211a5f=_0x6a8e9d;this[_0x211a5f(0x93f)]&&0x0===this[_0x211a5f(0xc71)]&&(this['_measureDuration'][_0x211a5f(0x914)](_0x51908d),this[_0x211a5f(0xc71)]=0x1);}[_0x6a8e9d(0x6bc)](_0x134ede){var _0x369acc=_0x6a8e9d;0x1===this[_0x369acc(0xc71)]&&(this[_0x369acc(0xc71)]=0x2,this[_0x369acc(0xa72)][_0x369acc(0xc92)](_0x134ede)['then'](_0x13ddde=>{var _0x1d608c=_0x369acc;null!==_0x13ddde&&0x0<=_0x13ddde&&(this[_0x1d608c(0xc4b)][_0x1d608c(0x465)](),this['_gpuFrameTimeCounter'][_0x1d608c(0x3c8)](_0x13ddde,!0x0)),this['_measureDurationState']=0x0;}));}}class _0x49cc4d{constructor(_0x4d772c,_0x3752b4){var _0x49ff6a=_0x6a8e9d;this[_0x49ff6a(0x63a)]=new _0x307f95['t'](0x2,_0x2c78e9['xL'][_0x49ff6a(0x35a)],_0x4d772c,_0x3752b4);}[_0x6a8e9d(0x914)](_0x8cabe3){var _0x8d8a12=_0x6a8e9d;_0x8cabe3['writeTimestamp'](this[_0x8d8a12(0x63a)][_0x8d8a12(0x722)],0x0);}[_0x6a8e9d(0xc92)](_0x2b83b2){return _0x39dccc=this,_0x21bae3=function*(){var _0x429a0e=a7_0x4956;return _0x2b83b2['writeTimestamp'](this[_0x429a0e(0x63a)][_0x429a0e(0x722)],0x1),this['_querySet']['readTwoValuesAndSubtract'](0x0);},new(_0xbe493f=(_0xbe493f=_0xc8ae7e=void 0x0)||Promise)(function(_0x359f18,_0xbfbed4){var _0x2e6a0d=a7_0x4956;function _0x3517fb(_0x59baeb){var _0x5217ed=a7_0x4956;try{_0x593b9d(_0x21bae3[_0x5217ed(0x275)](_0x59baeb));}catch(_0x723263){_0xbfbed4(_0x723263);}}function _0x175d05(_0x51581f){var _0x1693e3=a7_0x4956;try{_0x593b9d(_0x21bae3[_0x1693e3(0x7e3)](_0x51581f));}catch(_0x1c7966){_0xbfbed4(_0x1c7966);}}function _0x593b9d(_0x149d4d){var _0x1e4225=a7_0x4956,_0x3ef4ef;_0x149d4d['done']?_0x359f18(_0x149d4d[_0x1e4225(0xc1d)]):((_0x3ef4ef=_0x149d4d[_0x1e4225(0xc1d)])instanceof _0xbe493f?_0x3ef4ef:new _0xbe493f(function(_0xa7ece0){_0xa7ece0(_0x3ef4ef);}))[_0x1e4225(0x35f)](_0x3517fb,_0x175d05);}_0x593b9d((_0x21bae3=_0x21bae3[_0x2e6a0d(0x7d5)](_0x39dccc,_0xc8ae7e||[]))[_0x2e6a0d(0x275)]());});var _0x39dccc,_0xc8ae7e,_0xbe493f,_0x21bae3;}[_0x6a8e9d(0x38b)](){var _0x17f99a=_0x6a8e9d;this['_querySet'][_0x17f99a(0x38b)]();}}},0x9bb2:(_0x459e1e,_0x5c80b2,_0x528eae)=>{var _0x3488b2=a7_0x51ebec;_0x528eae['d'](_0x5c80b2,{'o':()=>_0x2b313a});var _0x5c80b2=_0x528eae(0x13b02),_0x47979d=_0x528eae(0x94e3),_0x1a5a99=_0x528eae(0x12cad),_0x50b1e9=_0x528eae(0x5ad0),_0x13506c=_0x528eae(0x16a94),_0x479566=_0x528eae(0xa896),_0x14d537=_0x528eae(0xd53f),_0x4077b1=_0x528eae(0xd079);class _0x2b313a extends _0x5c80b2['Y']{constructor(_0x3ab579,_0x36537c,_0xd36c67,_0x1d065e,_0x503533=null){var _0x52b3f8=a7_0x4956;super(_0x3ab579,_0x1d065e),this[_0x52b3f8(0x2d4)]=_0x503533,this['_halfDome']=!0x1,this[_0x52b3f8(0x774)]=!0x1,this[_0x52b3f8(0x712)]=!0x1,this['_textureMode']=_0x2b313a[_0x52b3f8(0x98f)],this[_0x52b3f8(0x650)]=null,this[_0x52b3f8(0x59d)]=new _0x479566['y$'](),this[_0x52b3f8(0x415)]=new _0x479566['y$'](),_0x1d065e=this[_0x52b3f8(0x31a)](),_0x3ab579=_0x3ab579||_0x52b3f8(0x3fd),_0xd36c67[_0x52b3f8(0xc4e)]=0x0|Math[_0x52b3f8(0x2d7)](_0xd36c67['resolution'])||0x20,_0xd36c67['clickToPlay']=Boolean(_0xd36c67[_0x52b3f8(0xd08)]),_0xd36c67[_0x52b3f8(0xd6a)]=void 0x0===_0xd36c67[_0x52b3f8(0xd6a)]||Boolean(_0xd36c67[_0x52b3f8(0xd6a)]),_0xd36c67[_0x52b3f8(0xb4e)]=void 0x0===_0xd36c67['loop']||Boolean(_0xd36c67[_0x52b3f8(0xb4e)]),_0xd36c67[_0x52b3f8(0x868)]=Math[_0x52b3f8(0x2d7)](_0xd36c67[_0x52b3f8(0x868)])||(_0x1d065e[_0x52b3f8(0x1ab)]?0.48*_0x1d065e[_0x52b3f8(0x1ab)][_0x52b3f8(0xc3c)]:0x3e8),void 0x0===_0xd36c67[_0x52b3f8(0x872)]?this[_0x52b3f8(0x712)]=!0x0:this['_useDirectMapping']=_0xd36c67[_0x52b3f8(0x872)],void 0x0===_0xd36c67[_0x52b3f8(0xb67)]&&(_0xd36c67[_0x52b3f8(0xb67)]=!0x0),this[_0x52b3f8(0x5af)](!0x1),_0xd36c67['mesh']?this[_0x52b3f8(0x57c)]=_0xd36c67['mesh']:this[_0x52b3f8(0x57c)]=(0x0,_0x13506c['Qk'])(_0x3ab579+_0x52b3f8(0x57c),{'segments':_0xd36c67['resolution'],'diameter':_0xd36c67[_0x52b3f8(0x868)],'updatable':!0x1,'sideOrientation':_0x47979d['Kj']['BACKSIDE']},_0x1d065e);const _0x27362f=this[_0x52b3f8(0x882)]=new _0x50b1e9['I'](_0x3ab579+_0x52b3f8(0x882),_0x1d065e);_0x27362f[_0x52b3f8(0x204)]=!0x0,_0x27362f['fovMultiplier']=0x1,_0x27362f[_0x52b3f8(0x45b)]=!0x1,_0x503533=this['_initTexture'](_0x36537c,_0x1d065e,_0xd36c67);if(this[_0x52b3f8(0x823)]=_0x503533,this['_mesh'][_0x52b3f8(0x6aa)]=_0x27362f,(this[_0x52b3f8(0x57c)][_0x52b3f8(0x553)]=this)['_halfDomeMask']=(0x0,_0x13506c['Qk'])('',{'slice':0.5,'diameter':0.98*_0xd36c67['size'],'segments':0x2*_0xd36c67[_0x52b3f8(0xc4e)],'sideOrientation':_0x47979d['Kj'][_0x52b3f8(0x5bc)]},_0x1d065e),this[_0x52b3f8(0x1d8)][_0x52b3f8(0x807)](_0x4077b1['RD']['X'],-Math['PI']/0x2),this[_0x52b3f8(0x1d8)][_0x52b3f8(0x553)]=this[_0x52b3f8(0x57c)],this[_0x52b3f8(0x228)]=!!_0xd36c67[_0x52b3f8(0x686)],this['_halfDomeMask'][_0x52b3f8(0x665)](this[_0x52b3f8(0x228)]),this[_0x52b3f8(0x774)]=!!_0xd36c67[_0x52b3f8(0x854)],this[_0x52b3f8(0x67e)][_0x52b3f8(0x527)]=0x1,this[_0x52b3f8(0x67e)][_0x52b3f8(0x415)]['addOnce'](()=>{var _0x30baf2=_0x52b3f8;this[_0x30baf2(0x5af)](!0x0);}),_0xd36c67['faceForward']&&_0x1d065e[_0x52b3f8(0x1ab)]){const _0x2ffcc9=_0x1d065e[_0x52b3f8(0x1ab)];_0x3ab579=_0x14d537['P'][_0x52b3f8(0x6c1)]();const _0x184551=_0x14d537['P']['TransformNormal'](_0x3ab579,_0x2ffcc9[_0x52b3f8(0x7e0)]());_0x184551[_0x52b3f8(0xd3e)](),this[_0x52b3f8(0x972)]['y']=Math[_0x52b3f8(0x3a9)](_0x14d537['P']['Dot'](_0x3ab579,_0x184551));}this['_changeTextureMode'](this[_0x52b3f8(0x84d)]);}get[_0x3488b2(0x823)](){var _0x5b4593=_0x3488b2;return this[_0x5b4593(0x67e)];}set[_0x3488b2(0x823)](_0x2d7170){var _0x38b7f4=_0x3488b2;this[_0x38b7f4(0x67e)]!==_0x2d7170&&(this[_0x38b7f4(0x67e)]=_0x2d7170,this[_0x38b7f4(0x712)]?(this[_0x38b7f4(0x67e)][_0x38b7f4(0x2c0)]=_0x1a5a99['x'][_0x38b7f4(0x7c9)],this[_0x38b7f4(0x67e)][_0x38b7f4(0xb5f)]=_0x1a5a99['x'][_0x38b7f4(0x7c9)],this[_0x38b7f4(0x882)]['diffuseTexture']=this[_0x38b7f4(0x67e)]):(this['_texture'][_0x38b7f4(0x96b)]=_0x1a5a99['x'][_0x38b7f4(0x5a6)],this[_0x38b7f4(0x67e)][_0x38b7f4(0xb5f)]=_0x1a5a99['x'][_0x38b7f4(0x7c9)],this[_0x38b7f4(0x882)]['reflectionTexture']=this['_texture']),this['_changeTextureMode'](this[_0x38b7f4(0x84d)]));}get[_0x3488b2(0x688)](){return this['_mesh'];}get[_0x3488b2(0x6c5)](){var _0x380788=_0x3488b2;return this[_0x380788(0x882)][_0x380788(0x6c5)];}set['fovMultiplier'](_0x3df158){var _0x2f4b7b=_0x3488b2;this[_0x2f4b7b(0x882)]['fovMultiplier']=_0x3df158;}get[_0x3488b2(0x765)](){return this['_textureMode'];}set[_0x3488b2(0x765)](_0xe29717){var _0x459abd=_0x3488b2;this[_0x459abd(0x84d)]!==_0xe29717&&this[_0x459abd(0x578)](_0xe29717);}get[_0x3488b2(0x9fd)](){return this['_halfDome'];}set[_0x3488b2(0x9fd)](_0x5d607c){var _0x467273=_0x3488b2;this[_0x467273(0x228)]=_0x5d607c,this['_halfDomeMask']['setEnabled'](_0x5d607c),this['_changeTextureMode'](this[_0x467273(0x84d)]);}set['crossEye'](_0x4ce486){var _0x660638=_0x3488b2;this[_0x660638(0x774)]=_0x4ce486,this['_changeTextureMode'](this[_0x660638(0x84d)]);}get[_0x3488b2(0xcbb)](){var _0x25e868=_0x3488b2;return this[_0x25e868(0x774)];}get[_0x3488b2(0x6aa)](){var _0x42e73c=_0x3488b2;return this[_0x42e73c(0x882)];}['_changeTextureMode'](_0xebd7ca){var _0x152983=_0x3488b2;switch(this[_0x152983(0xba4)][_0x152983(0x362)][_0x152983(0x7a1)](this[_0x152983(0x650)]),this['_textureMode']=_0xebd7ca,this['_texture']['uScale']=0x1,this[_0x152983(0x67e)][_0x152983(0x2f9)]=0x1,this[_0x152983(0x67e)]['uOffset']=0x0,this[_0x152983(0x67e)][_0x152983(0x9be)]=0x0,this[_0x152983(0x67e)][_0x152983(0xbd3)]=0x0,_0xebd7ca){case _0x2b313a['MODE_MONOSCOPIC']:this[_0x152983(0x228)]&&(this[_0x152983(0x67e)][_0x152983(0x441)]=0x2,this['_texture'][_0x152983(0x96d)]=-0x1);break;case _0x2b313a[_0x152983(0x5e0)]:{this[_0x152983(0x67e)][_0x152983(0x441)]=this[_0x152983(0x228)]?0.99999:0.5;const _0x3d69e6=this[_0x152983(0x228)]?0x0:0.5,_0x564678=this[_0x152983(0x228)]?-0.5:0x0;this[_0x152983(0x650)]=this[_0x152983(0xba4)]['onBeforeCameraRenderObservable'][_0x152983(0x840)](_0xb240f4=>{var _0x2bf864=_0x152983;let _0x4e075f=_0xb240f4[_0x2bf864(0x423)];(_0x4e075f=this[_0x2bf864(0x774)]?!_0x4e075f:_0x4e075f)?this[_0x2bf864(0x67e)]['uOffset']=_0x3d69e6:this[_0x2bf864(0x67e)][_0x2bf864(0x96d)]=_0x564678;});break;}case _0x2b313a[_0x152983(0xa85)]:this[_0x152983(0x67e)][_0x152983(0x2f9)]=this[_0x152983(0x228)]?0.99999:0.5,this['_onBeforeCameraRenderObserver']=this[_0x152983(0xba4)][_0x152983(0x362)][_0x152983(0x840)](_0x6d1b5c=>{var _0x1c2601=_0x152983;let _0x1b4479=_0x6d1b5c['isRightCamera'];this[_0x1c2601(0x774)]&&(_0x1b4479=!_0x1b4479),this['_texture']['vOffset']=_0x1b4479?0.5:0x0;});}}[_0x3488b2(0x38b)](_0x475f43,_0x2043ae=!0x1){var _0x521c92=_0x3488b2;this['_texture'][_0x521c92(0x38b)](),this[_0x521c92(0x57c)][_0x521c92(0x38b)](),this['_material']['dispose'](),this['_scene'][_0x521c92(0x362)][_0x521c92(0x7a1)](this['_onBeforeCameraRenderObserver']),this[_0x521c92(0x59d)][_0x521c92(0x36e)](),this[_0x521c92(0x415)]['clear'](),super['dispose'](_0x475f43,_0x2043ae);}}_0x2b313a[_0x3488b2(0x98f)]=0x0,_0x2b313a[_0x3488b2(0xa85)]=0x1,_0x2b313a[_0x3488b2(0x5e0)]=0x2;},0xf50e:(_0x51a7ab,_0x52c171,_0x45cb07)=>{var _0x5d2b82=a7_0x51ebec;_0x45cb07['d'](_0x52c171,{'$':()=>_0x204c59});var _0x31448a=_0x45cb07(0x9390),_0x5318d6=_0x45cb07(0x8cbf),_0x2f6979=_0x45cb07(0xfcd4),_0x86095=_0x45cb07(0xd53f),_0x1daa8f=_0x45cb07(0x1610),_0x3069d3=_0x45cb07(0x166fc),_0x49ad1f=_0x45cb07(0xce2f),_0xb3593=_0x45cb07(0x37c9),_0x335d0a=_0x45cb07(0x5a3f),_0x3c5241=_0x45cb07(0x11096);class _0x3e9cd7{constructor(){var _0x1683f2=a7_0x4956;this['_singleClick']=!0x1,this['_doubleClick']=!0x1,this[_0x1683f2(0x9f1)]=!0x1,this[_0x1683f2(0x799)]=!0x1;}get[_0x5d2b82(0x350)](){return this['_singleClick'];}get['doubleClick'](){var _0x9a1f8d=_0x5d2b82;return this[_0x9a1f8d(0xc9a)];}get['hasSwiped'](){var _0x53024b=_0x5d2b82;return this[_0x53024b(0x9f1)];}get[_0x5d2b82(0x52e)](){var _0x5126a8=_0x5d2b82;return this[_0x5126a8(0x799)];}set[_0x5d2b82(0x350)](_0x3ea7c5){var _0x2e647f=_0x5d2b82;this[_0x2e647f(0xc7e)]=_0x3ea7c5;}set[_0x5d2b82(0x904)](_0x6acda4){var _0x24af2f=_0x5d2b82;this[_0x24af2f(0xc9a)]=_0x6acda4;}set['hasSwiped'](_0xa3dfcc){this['_hasSwiped']=_0xa3dfcc;}set['ignore'](_0x59b446){this['_ignore']=_0x59b446;}}class _0x204c59{constructor(_0x43862a){var _0xb18105=_0x5d2b82;this['_alreadyAttached']=!0x1,this[_0xb18105(0x870)]=!0x1,this['_currentPickResult']=null,this[_0xb18105(0x637)]=null,this['_totalPointersPressed']=0x0,this[_0xb18105(0x8a3)]=!0x1,this[_0xb18105(0xb41)]=!0x1,this[_0xb18105(0x323)]=-0x1,this[_0xb18105(0xb1a)]=!0x1,this['_isMultiTouchGesture']=!0x1,this[_0xb18105(0x30a)]=0x0,this['_pointerY']=0x0,this[_0xb18105(0xb00)]=new _0x86095['FM'](0x0,0x0),this[_0xb18105(0x8f8)]=new _0x86095['FM'](0x0,0x0),this[_0xb18105(0xb57)]=0x0,this[_0xb18105(0x711)]=0x0,this[_0xb18105(0xb9c)]={},this['_meshUnderPointerId']={},this[_0xb18105(0x8a5)]=null,this[_0xb18105(0x662)]=0x0,this[_0xb18105(0xae3)]=[null,null,null,null,null],this['_deviceSourceManager']=null,this[_0xb18105(0xba4)]=_0x43862a||_0x3c5241['l'][_0xb18105(0x178)],this[_0xb18105(0xba4)];}get[_0x5d2b82(0x3ac)](){var _0xdcfca6=_0x5d2b82;return this['_movePointerInfo']&&(this[_0xdcfca6(0x8a5)]['_generatePickInfo'](),this[_0xdcfca6(0x8a5)]=null),this[_0xdcfca6(0xb0e)];}['getMeshUnderPointerByPointerId'](_0x5769ee){var _0x2cabde=_0x5d2b82;return this[_0x2cabde(0x9c1)][_0x5769ee]||null;}get['unTranslatedPointer'](){var _0x2fc5ba=_0x5d2b82;return new _0x86095['FM'](this[_0x2fc5ba(0x7c1)],this[_0x2fc5ba(0x79f)]);}get['pointerX'](){var _0x1bb617=_0x5d2b82;return this[_0x1bb617(0x30a)];}set['pointerX'](_0x259a4b){var _0x13716b=_0x5d2b82;this[_0x13716b(0x30a)]=_0x259a4b;}get[_0x5d2b82(0x301)](){var _0x5ab4e8=_0x5d2b82;return this[_0x5ab4e8(0x695)];}set[_0x5d2b82(0x301)](_0x34af37){var _0x4c0ec7=_0x5d2b82;this[_0x4c0ec7(0x695)]=_0x34af37;}['_updatePointerPosition'](_0x27730c){var _0x29a3c9=_0x5d2b82,_0x34232d=this[_0x29a3c9(0xba4)]['getEngine']()[_0x29a3c9(0x253)]();_0x34232d&&(this[_0x29a3c9(0x30a)]=_0x27730c['clientX']-_0x34232d[_0x29a3c9(0xbdc)],this[_0x29a3c9(0x695)]=_0x27730c[_0x29a3c9(0xa96)]-_0x34232d['top'],this[_0x29a3c9(0x7c1)]=this[_0x29a3c9(0x30a)],this[_0x29a3c9(0x79f)]=this['_pointerY']);}[_0x5d2b82(0x7d9)](_0x59e326,_0x5195d5){var _0x1bc91a=_0x5d2b82;const _0x3e4923=this[_0x1bc91a(0xba4)],_0xa4463d=_0x3e4923[_0x1bc91a(0x975)](),_0x4507f4=_0xa4463d[_0x1bc91a(0xa8d)]();_0x4507f4&&(_0x4507f4[_0x1bc91a(0xb62)]=_0xa4463d[_0x1bc91a(0x79a)],_0x3e4923[_0x1bc91a(0x225)]||(_0x4507f4['style'][_0x1bc91a(0x80d)]=_0x3e4923[_0x1bc91a(0xb90)])),this[_0x1bc91a(0x1bd)](_0x59e326,_0x5195d5,_0x3e4923);for(const _0x14359c of _0x3e4923['_pointerMoveStage']){var _0xb14109=!(null==_0x59e326||!_0x59e326[_0x1bc91a(0x7d1)]);_0x59e326=_0x14359c[_0x1bc91a(0x215)](this['_unTranslatedPointerX'],this[_0x1bc91a(0x79f)],_0x59e326,_0xb14109,_0x4507f4);}var _0x1e3497=_0x5195d5[_0x1bc91a(0x244)]>=_0xb3593['Fz'][_0x1bc91a(0x389)]&&_0x5195d5['inputIndex']<=_0xb3593['Fz'][_0x1bc91a(0x942)]?_0x31448a['kD'][_0x1bc91a(0x50c)]:_0x31448a['kD'][_0x1bc91a(0x20a)];_0x3e4923['onPointerMove']&&(_0x59e326=_0x59e326||this[_0x1bc91a(0x8fe)](_0x5195d5),_0x3e4923['onPointerMove'](_0x5195d5,_0x59e326,_0x1e3497));let _0x3f13f7;_0x59e326?(_0x3f13f7=new _0x31448a['R5'](_0x1e3497,_0x5195d5,_0x59e326),this['_setRayOnPointerInfo'](_0x59e326,_0x5195d5)):(_0x3f13f7=new _0x31448a['R5'](_0x1e3497,_0x5195d5,null,this),this[_0x1bc91a(0x8a5)]=_0x3f13f7),_0x3e4923[_0x1bc91a(0xa0c)][_0x1bc91a(0xc19)]()&&_0x3e4923[_0x1bc91a(0xa0c)][_0x1bc91a(0x4a4)](_0x3f13f7,_0x1e3497);}[_0x5d2b82(0xace)](_0x209159,_0x5787d4){var _0x2b47e9=_0x5d2b82;const _0x2c2a48=this['_scene'];_0x209159&&_0x2c2a48[_0x2b47e9(0x9e3)]&&(_0x209159[_0x2b47e9(0x8c3)]||(_0x209159['ray']=_0x2c2a48[_0x2b47e9(0x331)](_0x5787d4[_0x2b47e9(0x463)],_0x5787d4[_0x2b47e9(0xc30)],_0x86095['y3']['Identity'](),_0x2c2a48[_0x2b47e9(0x1ab)])));}['_addCameraPointerObserver'](_0x242e5b,_0x56f5a4){var _0x11629a=_0x5d2b82;return this[_0x11629a(0x662)]++,this['_scene']['onPointerObservable'][_0x11629a(0x840)](_0x242e5b,_0x56f5a4);}[_0x5d2b82(0x671)](_0x5bb0cb){var _0x5be1bf=_0x5d2b82;return this['_cameraObserverCount']--,this['_scene'][_0x5be1bf(0xa0c)]['remove'](_0x5bb0cb);}['_checkForPicking'](){var _0x473d94=_0x5d2b82;return!!(this['_scene'][_0x473d94(0xa0c)][_0x473d94(0x1de)][_0x473d94(0x9ff)]>this[_0x473d94(0x662)]||this[_0x473d94(0xba4)][_0x473d94(0xc61)]);}['_checkPrePointerObservable'](_0x3162f6,_0x2f66f9,_0xc43809){var _0x5020e0=_0x5d2b82;const _0x3b31a2=this[_0x5020e0(0xba4)],_0x2dd33b=new _0x31448a['FV'](_0xc43809,_0x2f66f9,this['_unTranslatedPointerX'],this[_0x5020e0(0x79f)]);return _0x3162f6&&(_0x2dd33b[_0x5020e0(0xb07)]=_0x3162f6,_0x2dd33b['ray']=_0x3162f6[_0x5020e0(0x8c3)],_0x3162f6[_0x5020e0(0x5de)]&&(_0x2dd33b[_0x5020e0(0x328)]=_0x3162f6)),_0x3b31a2[_0x5020e0(0x5e8)][_0x5020e0(0x4a4)](_0x2dd33b,_0xc43809),!!_0x2dd33b['skipOnPointerObservable'];}[_0x5d2b82(0x8fe)](_0x1e41a4){var _0x3423d4=_0x5d2b82;const _0x3f14df=this[_0x3423d4(0xba4)];var _0x21ec89=_0x3f14df[_0x3423d4(0x583)](this[_0x3423d4(0x7c1)],this['_unTranslatedPointerY'],_0x3f14df[_0x3423d4(0xaba)],!0x1,_0x3f14df[_0x3423d4(0xc5c)],_0x3f14df[_0x3423d4(0xcd5)]);return this[_0x3423d4(0x1bd)](_0x21ec89,_0x1e41a4,_0x3f14df),_0x21ec89;}[_0x5d2b82(0x1bd)](_0x1d3a5c,_0x18a4f7,_0xb109a4){var _0x4a543d=_0x5d2b82;const _0xef2a28=_0xb109a4[_0x4a543d(0x975)](),_0x5b4475=_0xef2a28['getInputElement']();var _0x2b68f0;null!=_0x1d3a5c&&_0x1d3a5c[_0x4a543d(0x7d1)]?(this[_0x4a543d(0x330)](_0x1d3a5c[_0x4a543d(0x7d1)],_0x18a4f7[_0x4a543d(0xcfd)],_0x1d3a5c,_0x18a4f7),!_0xb109a4[_0x4a543d(0x225)]&&_0x5b4475&&this[_0x4a543d(0xb0e)]&&(_0x2b68f0=this[_0x4a543d(0xb0e)][_0x4a543d(0x165)]())&&_0x2b68f0[_0x4a543d(0x64b)]&&(_0x5b4475[_0x4a543d(0x659)][_0x4a543d(0x80d)]=_0x2b68f0[_0x4a543d(0x2c8)]||_0xb109a4[_0x4a543d(0x2c8)])):this['setPointerOverMesh'](null,_0x18a4f7[_0x4a543d(0xcfd)],_0x1d3a5c,_0x18a4f7);}['simulatePointerMove'](_0x2c6a64,_0x223d77){var _0x29cb64=_0x5d2b82;const _0x2fbf93=new PointerEvent(_0x29cb64(0xcf8),_0x223d77);_0x2fbf93[_0x29cb64(0x244)]=_0xb3593['Fz'][_0x29cb64(0xd71)],this[_0x29cb64(0x36f)](_0x2c6a64,_0x2fbf93,_0x31448a['kD'][_0x29cb64(0x20a)])||this[_0x29cb64(0x7d9)](_0x2c6a64,_0x2fbf93);}[_0x5d2b82(0x7c7)](_0x4dcf63,_0x22f52c){var _0x8cf2df=_0x5d2b82;const _0x110ed0=new PointerEvent(_0x8cf2df(0x4ab),_0x22f52c);_0x110ed0[_0x8cf2df(0x244)]=_0x110ed0[_0x8cf2df(0x618)]+0x2,this[_0x8cf2df(0x36f)](_0x4dcf63,_0x110ed0,_0x31448a['kD'][_0x8cf2df(0x856)])||this[_0x8cf2df(0x556)](_0x4dcf63,_0x110ed0);}['_processPointerDown'](_0x3ca7a4,_0xee7802){var _0x1acb69=_0x5d2b82;const _0x5d87ae=this[_0x1acb69(0xba4)];if(null!=_0x3ca7a4&&_0x3ca7a4[_0x1acb69(0x7d1)]){this['_pickedDownMesh']=_0x3ca7a4[_0x1acb69(0x7d1)];const _0x7d50c2=_0x3ca7a4[_0x1acb69(0x7d1)][_0x1acb69(0x165)]();if(_0x7d50c2){if(_0x7d50c2[_0x1acb69(0xc68)])switch(_0x7d50c2[_0x1acb69(0x850)](_0x1daa8f['g'][_0x1acb69(0x27d)],_0x3069d3['V']['CreateNew'](_0x3ca7a4[_0x1acb69(0x7d1)],_0xee7802)),_0xee7802[_0x1acb69(0x618)]){case 0x0:_0x7d50c2[_0x1acb69(0x850)](_0x1daa8f['g'][_0x1acb69(0x3dc)],_0x3069d3['V']['CreateNew'](_0x3ca7a4['pickedMesh'],_0xee7802));break;case 0x1:_0x7d50c2['processTrigger'](_0x1daa8f['g'][_0x1acb69(0x47d)],_0x3069d3['V'][_0x1acb69(0xc66)](_0x3ca7a4['pickedMesh'],_0xee7802));break;case 0x2:_0x7d50c2[_0x1acb69(0x850)](_0x1daa8f['g'][_0x1acb69(0x9c5)],_0x3069d3['V'][_0x1acb69(0xc66)](_0x3ca7a4[_0x1acb69(0x7d1)],_0xee7802));}_0x7d50c2[_0x1acb69(0x53f)](_0x1daa8f['g'][_0x1acb69(0xb16)])&&window[_0x1acb69(0x29c)](()=>{var _0x9ce362=_0x1acb69,_0x4d5dd8=_0x5d87ae['pick'](this[_0x9ce362(0x7c1)],this[_0x9ce362(0x79f)],_0x2e68ff=>_0x2e68ff['isPickable']&&_0x2e68ff[_0x9ce362(0xcd0)]&&_0x2e68ff['isReady']()&&_0x2e68ff[_0x9ce362(0x92d)]&&_0x2e68ff[_0x9ce362(0x92d)][_0x9ce362(0x53f)](_0x1daa8f['g']['ACTION_OnLongPressTrigger'])&&_0x2e68ff===this[_0x9ce362(0x6ba)],!0x1,_0x5d87ae[_0x9ce362(0xc5c)]);null!=_0x4d5dd8&&_0x4d5dd8[_0x9ce362(0x7d1)]&&_0x7d50c2&&0x0!==this[_0x9ce362(0xd57)]&&Date[_0x9ce362(0x788)]()-this[_0x9ce362(0xb57)]>_0x204c59[_0x9ce362(0x2b1)]&&!this[_0x9ce362(0xbdd)]()&&(this[_0x9ce362(0xb57)]=0x0,_0x7d50c2[_0x9ce362(0x850)](_0x1daa8f['g'][_0x9ce362(0xb16)],_0x3069d3['V'][_0x9ce362(0xc66)](_0x4d5dd8[_0x9ce362(0x7d1)],_0xee7802)));},_0x204c59[_0x1acb69(0x2b1)]);}}else{for(const _0x484253 of _0x5d87ae[_0x1acb69(0x38f)])_0x3ca7a4=_0x484253[_0x1acb69(0x215)](this['_unTranslatedPointerX'],this[_0x1acb69(0x79f)],_0x3ca7a4,_0xee7802,!0x1);}let _0x5d709e;var _0x49bae9=_0x31448a['kD'][_0x1acb69(0x856)];_0x3ca7a4?(_0x5d87ae[_0x1acb69(0x72f)]&&_0x5d87ae[_0x1acb69(0x72f)](_0xee7802,_0x3ca7a4,_0x49bae9),_0x5d709e=new _0x31448a['R5'](_0x49bae9,_0xee7802,_0x3ca7a4),this['_setRayOnPointerInfo'](_0x3ca7a4,_0xee7802)):_0x5d709e=new _0x31448a['R5'](_0x49bae9,_0xee7802,null,this),_0x5d87ae['onPointerObservable'][_0x1acb69(0xc19)]()&&_0x5d87ae[_0x1acb69(0xa0c)][_0x1acb69(0x4a4)](_0x5d709e,_0x49bae9);}[_0x5d2b82(0xbdd)](){var _0x3d5a04=_0x5d2b82;return this[_0x3d5a04(0xb41)];}[_0x5d2b82(0x65c)](_0x46f4d7,_0x5ea55e,_0x5c45d2){var _0x33d89a=_0x5d2b82;const _0x12c9bd=new PointerEvent('pointerup',_0x5ea55e),_0x40550d=(_0x12c9bd[_0x33d89a(0x244)]=_0xb3593['Fz'][_0x33d89a(0xd71)],new _0x3e9cd7());_0x5c45d2?_0x40550d['doubleClick']=!0x0:_0x40550d[_0x33d89a(0x350)]=!0x0,this[_0x33d89a(0x36f)](_0x46f4d7,_0x12c9bd,_0x31448a['kD'][_0x33d89a(0xa97)])||this[_0x33d89a(0x3ef)](_0x46f4d7,_0x12c9bd,_0x40550d);}[_0x5d2b82(0x3ef)](_0x4982aa,_0x15938c,_0x5e4cb8){var _0x4ad7c7=_0x5d2b82;const _0x15e512=this[_0x4ad7c7(0xba4)];if(null!=_0x4982aa&&_0x4982aa[_0x4ad7c7(0x7d1)]){this['_pickedUpMesh']=_0x4982aa[_0x4ad7c7(0x7d1)],this[_0x4ad7c7(0x6ba)]===this[_0x4ad7c7(0x327)]&&(_0x15e512['onPointerPick']&&_0x15e512[_0x4ad7c7(0xc61)](_0x15938c,_0x4982aa),_0x5e4cb8[_0x4ad7c7(0x350)]&&!_0x5e4cb8[_0x4ad7c7(0x52e)]&&_0x15e512[_0x4ad7c7(0xa0c)][_0x4ad7c7(0x1de)][_0x4ad7c7(0x9ff)]>this['_cameraObserverCount']&&(_0x2ab2ea=_0x31448a['kD']['POINTERPICK'],_0xc5e787=new _0x31448a['R5'](_0x2ab2ea,_0x15938c,_0x4982aa),this[_0x4ad7c7(0xace)](_0x4982aa,_0x15938c),_0x15e512[_0x4ad7c7(0xa0c)][_0x4ad7c7(0x4a4)](_0xc5e787,_0x2ab2ea)));const _0x3f2bb5=_0x4982aa[_0x4ad7c7(0x7d1)][_0x4ad7c7(0x165)]();if(_0x3f2bb5&&!_0x5e4cb8[_0x4ad7c7(0x52e)]){_0x3f2bb5[_0x4ad7c7(0x850)](_0x1daa8f['g']['ACTION_OnPickUpTrigger'],_0x3069d3['V'][_0x4ad7c7(0xc66)](_0x4982aa[_0x4ad7c7(0x7d1)],_0x15938c,_0x4982aa)),!_0x5e4cb8[_0x4ad7c7(0x21a)]&&_0x5e4cb8[_0x4ad7c7(0x350)]&&_0x3f2bb5['processTrigger'](_0x1daa8f['g']['ACTION_OnPickTrigger'],_0x3069d3['V'][_0x4ad7c7(0xc66)](_0x4982aa[_0x4ad7c7(0x7d1)],_0x15938c,_0x4982aa));const _0x3f22d6=_0x4982aa['pickedMesh']['_getActionManagerForTrigger'](_0x1daa8f['g'][_0x4ad7c7(0xc6d)]);_0x5e4cb8['doubleClick']&&_0x3f22d6&&_0x3f22d6['processTrigger'](_0x1daa8f['g'][_0x4ad7c7(0xc6d)],_0x3069d3['V'][_0x4ad7c7(0xc66)](_0x4982aa[_0x4ad7c7(0x7d1)],_0x15938c,_0x4982aa));}}else{if(!_0x5e4cb8['ignore']){for(const _0x67765e of _0x15e512[_0x4ad7c7(0xa23)])_0x4982aa=_0x67765e[_0x4ad7c7(0x215)](this[_0x4ad7c7(0x7c1)],this[_0x4ad7c7(0x79f)],_0x4982aa,_0x15938c,_0x5e4cb8[_0x4ad7c7(0x904)]);}}if(this['_pickedDownMesh']&&this[_0x4ad7c7(0x6ba)]!==this[_0x4ad7c7(0x327)]){const _0x18ffa1=this[_0x4ad7c7(0x6ba)][_0x4ad7c7(0x165)](_0x1daa8f['g'][_0x4ad7c7(0xb89)]);_0x18ffa1&&_0x18ffa1[_0x4ad7c7(0x850)](_0x1daa8f['g']['ACTION_OnPickOutTrigger'],_0x3069d3['V'][_0x4ad7c7(0xc66)](this['_pickedDownMesh'],_0x15938c));}if(!_0x5e4cb8['ignore']){var _0x2ab2ea,_0xc5e787=new _0x31448a['R5'](_0x31448a['kD'][_0x4ad7c7(0xa97)],_0x15938c,_0x4982aa);if(this[_0x4ad7c7(0xace)](_0x4982aa,_0x15938c),_0x15e512[_0x4ad7c7(0xa0c)][_0x4ad7c7(0x4a4)](_0xc5e787,_0x31448a['kD'][_0x4ad7c7(0xa97)]),_0x15e512[_0x4ad7c7(0x873)]&&_0x15e512[_0x4ad7c7(0x873)](_0x15938c,_0x4982aa,_0x31448a['kD']['POINTERUP']),!_0x5e4cb8[_0x4ad7c7(0x21a)]&&!this[_0x4ad7c7(0xb1a)]&&!this[_0x4ad7c7(0x249)]){let _0x3b38f8=0x0;_0x5e4cb8['singleClick']?_0x3b38f8=_0x31448a['kD'][_0x4ad7c7(0x4c9)]:_0x5e4cb8[_0x4ad7c7(0x904)]&&(_0x3b38f8=_0x31448a['kD'][_0x4ad7c7(0x609)]),_0x3b38f8&&(_0x2ab2ea=new _0x31448a['R5'](_0x3b38f8,_0x15938c,_0x4982aa),_0x15e512['onPointerObservable'][_0x4ad7c7(0xc19)]()&&_0x15e512[_0x4ad7c7(0xa0c)][_0x4ad7c7(0xcab)](_0x3b38f8)&&_0x15e512[_0x4ad7c7(0xa0c)]['notifyObservers'](_0x2ab2ea,_0x3b38f8));}}}[_0x5d2b82(0xba6)](_0x533a8d=0x0){var _0x2b92f8=_0x5d2b82;return this[_0x2b92f8(0xb9c)][_0x533a8d];}[_0x5d2b82(0x5f8)](_0x3afbca=!0x0,_0x3ade98=!0x0,_0x473dfc=!0x0,_0x110886=null){var _0x265853=_0x5d2b82;const _0x3877a2=this['_scene'],_0x5bdb38=_0x3877a2['getEngine']();_0x110886=_0x110886||_0x5bdb38[_0x265853(0xa8d)](),this[_0x265853(0x620)]&&this[_0x265853(0xbf8)](),_0x110886&&(this[_0x265853(0x678)]=_0x110886),this['_deviceSourceManager']=new _0x335d0a['U'](_0x5bdb38),this['_initActionManager']=_0x5d25e1=>{var _0x620daf=_0x265853;if(!this[_0x620daf(0x870)]){const _0x338aca=_0x3877a2['skipPointerUpPicking']||0x0===_0x3877a2[_0x620daf(0x5cb)]&&!this[_0x620daf(0x1df)]()&&!_0x3877a2[_0x620daf(0x873)]?null:_0x3877a2[_0x620daf(0x583)](this[_0x620daf(0x7c1)],this[_0x620daf(0x79f)],_0x3877a2[_0x620daf(0x246)],!0x1,_0x3877a2[_0x620daf(0xc5c)]);(this[_0x620daf(0x6d3)]=_0x338aca)&&(_0x5d25e1=_0x338aca[_0x620daf(0x377)]&&_0x338aca[_0x620daf(0x7d1)]?_0x338aca[_0x620daf(0x7d1)]['_getActionManagerForTrigger']():null),this['_meshPickProceed']=!0x0;}return _0x5d25e1;},this[_0x265853(0xb29)]=(_0x3fb86c,_0x170e12,_0x1ad1fd)=>{var _0x316d40=_0x265853,_0x4bc9f4;(Date[_0x316d40(0x788)]()-this[_0x316d40(0x711)]>_0x204c59['DoubleClickDelay']&&!this[_0x316d40(0x8a3)]||_0x3fb86c!==this[_0x316d40(0x1d5)])&&(this['_doubleClickOccured']=!0x1,_0x170e12[_0x316d40(0x350)]=!0x0,_0x170e12[_0x316d40(0x52e)]=!0x1,this[_0x316d40(0xae3)][_0x3fb86c]&&(_0x170e12=this['_delayedClicks'][_0x3fb86c]['evt'],_0x4bc9f4=_0x31448a['kD'][_0x316d40(0x4c9)],_0x170e12=new _0x31448a['R5'](_0x4bc9f4,_0x170e12,this['_currentPickResult']),_0x3877a2[_0x316d40(0xa0c)][_0x316d40(0xc19)]()&&_0x3877a2[_0x316d40(0xa0c)]['hasSpecificMask'](_0x4bc9f4)&&_0x3877a2[_0x316d40(0xa0c)][_0x316d40(0x4a4)](_0x170e12,_0x4bc9f4),this[_0x316d40(0xae3)][_0x3fb86c]=null));},this[_0x265853(0x3ca)]=(_0x48febe,_0x454228,_0x352da8,_0xab346e)=>{var _0x24656b=_0x265853;const _0x47c693=new _0x3e9cd7();let _0x270b5a=this[_0x24656b(0x6d3)]=null,_0x31cfe1=_0x48febe[_0x24656b(0xcab)](_0x31448a['kD'][_0x24656b(0x49d)])||_0x454228[_0x24656b(0xcab)](_0x31448a['kD']['POINTERPICK'])||_0x48febe[_0x24656b(0xcab)](_0x31448a['kD'][_0x24656b(0x4c9)])||_0x454228[_0x24656b(0xcab)](_0x31448a['kD']['POINTERTAP'])||_0x48febe[_0x24656b(0xcab)](_0x31448a['kD'][_0x24656b(0x609)])||_0x454228[_0x24656b(0xcab)](_0x31448a['kD'][_0x24656b(0x609)]),_0x1a6750=!0x1;if(_0x31cfe1=!_0x31cfe1&&_0x5318d6['O']&&(_0x270b5a=this[_0x24656b(0x1af)](_0x270b5a,_0x47c693))?_0x270b5a['hasPickTriggers']:_0x31cfe1){var _0x22476e=_0x352da8[_0x24656b(0x618)];if(_0x47c693['hasSwiped']=this['_isPointerSwiping'](),!_0x47c693[_0x24656b(0x21a)]){let _0x223108=!_0x204c59['ExclusiveDoubleClickMode'],_0x2919cc=(_0x223108||(_0x223108=!_0x48febe[_0x24656b(0xcab)](_0x31448a['kD']['POINTERDOUBLETAP'])&&!_0x454228[_0x24656b(0xcab)](_0x31448a['kD'][_0x24656b(0x609)]))&&!_0x5318d6['O'][_0x24656b(0x3af)](_0x1daa8f['g'][_0x24656b(0xc6d)])&&(_0x270b5a=this['_initActionManager'](_0x270b5a,_0x47c693))&&(_0x223108=!_0x270b5a[_0x24656b(0x53f)](_0x1daa8f['g'][_0x24656b(0xc6d)])),_0x223108?(Date[_0x24656b(0x788)]()-this['_previousStartingPointerTime']>_0x204c59[_0x24656b(0xc4a)]||_0x22476e!==this['_previousButtonPressed'])&&(_0x47c693[_0x24656b(0x350)]=!0x0,_0xab346e(_0x47c693,this[_0x24656b(0x6d3)]),_0x1a6750=!0x0):(_0x352da8={'evt':_0x352da8,'clickInfo':_0x47c693,'timeoutId':window[_0x24656b(0x29c)](this[_0x24656b(0xb29)]['bind'](this,_0x22476e,_0x47c693,_0xab346e),_0x204c59[_0x24656b(0xc4a)])},this[_0x24656b(0xae3)][_0x22476e]=_0x352da8),_0x48febe[_0x24656b(0xcab)](_0x31448a['kD'][_0x24656b(0x609)])||_0x454228['hasSpecificMask'](_0x31448a['kD'][_0x24656b(0x609)]));(_0x2919cc=!_0x2919cc&&_0x5318d6['O'][_0x24656b(0x3af)](_0x1daa8f['g']['ACTION_OnDoublePickTrigger'])&&(_0x270b5a=this[_0x24656b(0x1af)](_0x270b5a,_0x47c693))?_0x270b5a['hasSpecificTrigger'](_0x1daa8f['g'][_0x24656b(0xc6d)]):_0x2919cc)&&(_0x22476e===this[_0x24656b(0x1d5)]&&Date[_0x24656b(0x788)]()-this['_previousStartingPointerTime']<_0x204c59[_0x24656b(0xc4a)]&&!this[_0x24656b(0x8a3)]?(_0x47c693[_0x24656b(0x21a)]||this[_0x24656b(0xbdd)]()?(this[_0x24656b(0x8a3)]=!0x1,this[_0x24656b(0x711)]=this[_0x24656b(0xb57)],this[_0x24656b(0x8f8)]['x']=this[_0x24656b(0xb00)]['x'],this[_0x24656b(0x8f8)]['y']=this[_0x24656b(0xb00)]['y'],this[_0x24656b(0x1d5)]=_0x22476e,_0x204c59['ExclusiveDoubleClickMode']?(this[_0x24656b(0xae3)][_0x22476e]&&(clearTimeout(null==(_0x352da8=this[_0x24656b(0xae3)][_0x22476e])?void 0x0:_0x352da8[_0x24656b(0x622)]),this[_0x24656b(0xae3)][_0x22476e]=null),_0xab346e(_0x47c693,this['_previousPickResult'])):_0xab346e(_0x47c693,this[_0x24656b(0x6d3)])):(this['_previousStartingPointerTime']=0x0,this['_doubleClickOccured']=!0x0,_0x47c693[_0x24656b(0x904)]=!0x0,_0x47c693[_0x24656b(0x52e)]=!0x1,_0x204c59[_0x24656b(0xc7a)]&&this[_0x24656b(0xae3)][_0x22476e]&&(clearTimeout(null==(_0x48febe=this[_0x24656b(0xae3)][_0x22476e])?void 0x0:_0x48febe['timeoutId']),this[_0x24656b(0xae3)][_0x22476e]=null),_0xab346e(_0x47c693,this[_0x24656b(0x6d3)])),_0x1a6750=!0x0):(this[_0x24656b(0x8a3)]=!0x1,this[_0x24656b(0x711)]=this['_startingPointerTime'],this[_0x24656b(0x8f8)]['x']=this[_0x24656b(0xb00)]['x'],this[_0x24656b(0x8f8)]['y']=this[_0x24656b(0xb00)]['y'],this[_0x24656b(0x1d5)]=_0x22476e));}}_0x1a6750||_0xab346e(_0x47c693,this['_currentPickResult']);},this['_onPointerMove']=_0x31947c=>{var _0x38e0b0=_0x265853,_0x3812a3;this['_updatePointerPosition'](_0x31947c),this[_0x38e0b0(0xb41)]||-0x1===this['_swipeButtonPressed']||(this[_0x38e0b0(0xb41)]=Math['abs'](this[_0x38e0b0(0xb00)]['x']-this[_0x38e0b0(0x30a)])>_0x204c59[_0x38e0b0(0x4a5)]||Math[_0x38e0b0(0x2d7)](this[_0x38e0b0(0xb00)]['y']-this[_0x38e0b0(0x695)])>_0x204c59['DragMovementThreshold']),_0x5bdb38[_0x38e0b0(0xa1e)]&&_0x5bdb38[_0x38e0b0(0x384)](),this[_0x38e0b0(0x36f)](null,_0x31947c,_0x31947c[_0x38e0b0(0x244)]>=_0xb3593['Fz']['MouseWheelX']&&_0x31947c['inputIndex']<=_0xb3593['Fz']['MouseWheelZ']?_0x31448a['kD'][_0x38e0b0(0x50c)]:_0x31448a['kD'][_0x38e0b0(0x20a)])||(_0x3877a2[_0x38e0b0(0xc5c)]||_0x3877a2[_0x38e0b0(0x1ab)])&&(_0x3877a2['skipPointerMovePicking']?this[_0x38e0b0(0x7d9)](new _0x2f6979['p'](),_0x31947c):(_0x3877a2[_0x38e0b0(0xaba)]||(_0x3877a2[_0x38e0b0(0xaba)]=_0x271f16=>_0x271f16[_0x38e0b0(0x849)]&&_0x271f16[_0x38e0b0(0xcd0)]&&_0x271f16[_0x38e0b0(0x834)]()&&_0x271f16[_0x38e0b0(0xb96)]()&&(_0x271f16[_0x38e0b0(0x32f)]||_0x3877a2[_0x38e0b0(0xa7b)]||null!==_0x271f16[_0x38e0b0(0x165)]())&&(!_0x3877a2['cameraToUseForPointers']||0x0!=(_0x3877a2[_0x38e0b0(0xc5c)][_0x38e0b0(0x2c1)]&_0x271f16[_0x38e0b0(0x2c1)]))),_0x3812a3=0x0<_0x3877a2['_registeredActions']?this[_0x38e0b0(0x8fe)](_0x31947c):null,this['_processPointerMove'](_0x3812a3,_0x31947c)));},this[_0x265853(0x6ad)]=_0x26ed4a=>{var _0x242bb1=_0x265853,_0x3bc7a8;if(this['_totalPointersPressed']++,this[_0x242bb1(0x6ba)]=null,this[_0x242bb1(0x870)]=!0x1,_0x204c59['ExclusiveDoubleClickMode']){for(let _0x3e8997=0x0;_0x3e8997<this['_delayedClicks'][_0x242bb1(0x9ff)];_0x3e8997++)if(this[_0x242bb1(0xae3)][_0x3e8997]){if(_0x26ed4a[_0x242bb1(0x618)]===_0x3e8997)clearTimeout(null==(_0x27f4d0=this['_delayedClicks'][_0x3e8997])?void 0x0:_0x27f4d0[_0x242bb1(0x622)]);else{const _0x2daea2=this[_0x242bb1(0xae3)][_0x3e8997][_0x242bb1(0xba0)];this[_0x242bb1(0x8a3)]=!0x1,_0x2daea2['singleClick']=!0x0,_0x2daea2[_0x242bb1(0x52e)]=!0x1;var _0x27f4d0=this['_delayedClicks'][_0x3e8997][_0x242bb1(0x79c)],_0x267535=_0x31448a['kD'][_0x242bb1(0x4c9)],_0x408f16=new _0x31448a['R5'](_0x267535,_0x27f4d0,this[_0x242bb1(0x6d3)]);_0x3877a2[_0x242bb1(0xa0c)][_0x242bb1(0xc19)]()&&_0x3877a2[_0x242bb1(0xa0c)][_0x242bb1(0xcab)](_0x267535)&&_0x3877a2[_0x242bb1(0xa0c)][_0x242bb1(0x4a4)](_0x408f16,_0x267535),this[_0x242bb1(0xae3)][_0x3e8997]=null;}}}this[_0x242bb1(0x5bd)](_0x26ed4a),-0x1===this['_swipeButtonPressed']&&(this[_0x242bb1(0x323)]=_0x26ed4a['button']),_0x3877a2[_0x242bb1(0x92b)]&&_0x110886&&(_0x26ed4a[_0x242bb1(0x4b1)](),_0x110886[_0x242bb1(0x218)]()),this[_0x242bb1(0xb00)]['x']=this['_pointerX'],this[_0x242bb1(0xb00)]['y']=this['_pointerY'],this[_0x242bb1(0xb57)]=Date[_0x242bb1(0x788)](),this['_checkPrePointerObservable'](null,_0x26ed4a,_0x31448a['kD'][_0x242bb1(0x856)])||!_0x3877a2[_0x242bb1(0xc5c)]&&!_0x3877a2[_0x242bb1(0x1ab)]||(this[_0x242bb1(0xb9c)][_0x26ed4a['pointerId']]=!0x0,_0x3877a2['pointerDownPredicate']||(_0x3877a2[_0x242bb1(0x7cb)]=_0x404627=>_0x404627[_0x242bb1(0x849)]&&_0x404627[_0x242bb1(0xcd0)]&&_0x404627[_0x242bb1(0x834)]()&&_0x404627[_0x242bb1(0xb96)]()&&(!_0x3877a2['cameraToUseForPointers']||0x0!=(_0x3877a2['cameraToUseForPointers'][_0x242bb1(0x2c1)]&_0x404627[_0x242bb1(0x2c1)]))),this[_0x242bb1(0x6ba)]=null,_0x3bc7a8=_0x3877a2[_0x242bb1(0x706)]||0x0===_0x3877a2[_0x242bb1(0x5cb)]&&!this['_checkForPicking']()&&!_0x3877a2['onPointerDown']?new _0x2f6979['p']():_0x3877a2[_0x242bb1(0x583)](this[_0x242bb1(0x7c1)],this['_unTranslatedPointerY'],_0x3877a2[_0x242bb1(0x7cb)],!0x1,_0x3877a2[_0x242bb1(0xc5c)]),this[_0x242bb1(0x556)](_0x3bc7a8,_0x26ed4a));},this[_0x265853(0x329)]=_0x50e5f8=>{var _0x469b9e=_0x265853;0x0!==this[_0x469b9e(0xd57)]&&(this[_0x469b9e(0xd57)]--,this[_0x469b9e(0x327)]=null,this['_meshPickProceed']=!0x1,this[_0x469b9e(0x5bd)](_0x50e5f8),_0x3877a2[_0x469b9e(0xa8b)]&&_0x110886&&(_0x50e5f8[_0x469b9e(0x4b1)](),_0x110886['focus']()),this[_0x469b9e(0x3ca)](_0x3877a2[_0x469b9e(0x5e8)],_0x3877a2[_0x469b9e(0xa0c)],_0x50e5f8,(_0x21eb3b,_0x154da6)=>{var _0x40fd1f=_0x469b9e;if(_0x3877a2[_0x40fd1f(0x5e8)][_0x40fd1f(0xc19)]()&&(this[_0x40fd1f(0xb1a)]=!0x1,!_0x21eb3b[_0x40fd1f(0x52e)])){if(this['_checkPrePointerObservable'](null,_0x50e5f8,_0x31448a['kD'][_0x40fd1f(0xa97)]))return void(this[_0x40fd1f(0x323)]===_0x50e5f8[_0x40fd1f(0x618)]&&(this[_0x40fd1f(0xb41)]=!0x1,this[_0x40fd1f(0x323)]=-0x1));_0x21eb3b['hasSwiped']||(_0x21eb3b[_0x40fd1f(0x350)]&&_0x3877a2[_0x40fd1f(0x5e8)][_0x40fd1f(0xcab)](_0x31448a['kD']['POINTERTAP'])&&this['_checkPrePointerObservable'](null,_0x50e5f8,_0x31448a['kD'][_0x40fd1f(0x4c9)])&&(this['_skipPointerTap']=!0x0),_0x21eb3b[_0x40fd1f(0x904)]&&_0x3877a2[_0x40fd1f(0x5e8)][_0x40fd1f(0xcab)](_0x31448a['kD']['POINTERDOUBLETAP'])&&this['_checkPrePointerObservable'](null,_0x50e5f8,_0x31448a['kD'][_0x40fd1f(0x609)])&&(this['_skipPointerTap']=!0x0));}this['_pointerCaptures'][_0x50e5f8[_0x40fd1f(0xcfd)]]?(0x0===_0x50e5f8[_0x40fd1f(0x2cb)]&&(this[_0x40fd1f(0xb9c)][_0x50e5f8[_0x40fd1f(0xcfd)]]=!0x1),(_0x3877a2[_0x40fd1f(0xc5c)]||_0x3877a2['activeCamera'])&&(_0x3877a2[_0x40fd1f(0x246)]||(_0x3877a2[_0x40fd1f(0x246)]=_0x3e37ce=>_0x3e37ce[_0x40fd1f(0x849)]&&_0x3e37ce['isVisible']&&_0x3e37ce[_0x40fd1f(0x834)]()&&_0x3e37ce[_0x40fd1f(0xb96)]()&&(!_0x3877a2[_0x40fd1f(0xc5c)]||0x0!=(_0x3877a2[_0x40fd1f(0xc5c)][_0x40fd1f(0x2c1)]&_0x3e37ce['layerMask']))),!this[_0x40fd1f(0x870)]&&(_0x5318d6['O']&&_0x5318d6['O'][_0x40fd1f(0x6fa)]||this[_0x40fd1f(0x1df)]()||_0x3877a2[_0x40fd1f(0x873)])&&this[_0x40fd1f(0x1af)](null,_0x21eb3b),_0x154da6=_0x154da6||this['_currentPickResult'],this[_0x40fd1f(0x3ef)](_0x154da6,_0x50e5f8,_0x21eb3b),this['_previousPickResult']=this[_0x40fd1f(0x6d3)],this[_0x40fd1f(0x323)]===_0x50e5f8[_0x40fd1f(0x618)]&&(this[_0x40fd1f(0xb41)]=!0x1,this[_0x40fd1f(0x323)]=-0x1))):this[_0x40fd1f(0x323)]===_0x50e5f8[_0x40fd1f(0x618)]&&(this[_0x40fd1f(0xb41)]=!0x1,this[_0x40fd1f(0x323)]=-0x1);}));},this['_onKeyDown']=_0x1331ad=>{var _0x3c6feb=_0x265853,_0xebbdba=_0x49ad1f['OG'][_0x3c6feb(0x5a5)];if(_0x3877a2[_0x3c6feb(0x9f5)]['hasObservers']()){var _0x5173e8=new _0x49ad1f['WZ'](_0xebbdba,_0x1331ad);if(_0x3877a2['onPreKeyboardObservable'][_0x3c6feb(0x4a4)](_0x5173e8,_0xebbdba),_0x5173e8[_0x3c6feb(0x9e5)])return;}_0x3877a2[_0x3c6feb(0xb30)][_0x3c6feb(0xc19)]()&&(_0x5173e8=new _0x49ad1f['NG'](_0xebbdba,_0x1331ad),_0x3877a2[_0x3c6feb(0xb30)][_0x3c6feb(0x4a4)](_0x5173e8,_0xebbdba)),_0x3877a2['actionManager']&&_0x3877a2['actionManager'][_0x3c6feb(0x850)](_0x1daa8f['g']['ACTION_OnKeyDownTrigger'],_0x3069d3['V']['CreateNewFromScene'](_0x3877a2,_0x1331ad));},this[_0x265853(0xcca)]=_0x25fc18=>{var _0xae3d6c=_0x265853,_0x8d001a=_0x49ad1f['OG'][_0xae3d6c(0x4d7)];if(_0x3877a2[_0xae3d6c(0x9f5)]['hasObservers']()){var _0x45c69a=new _0x49ad1f['WZ'](_0x8d001a,_0x25fc18);if(_0x3877a2[_0xae3d6c(0x9f5)][_0xae3d6c(0x4a4)](_0x45c69a,_0x8d001a),_0x45c69a[_0xae3d6c(0x9e5)])return;}_0x3877a2[_0xae3d6c(0xb30)][_0xae3d6c(0xc19)]()&&(_0x45c69a=new _0x49ad1f['NG'](_0x8d001a,_0x25fc18),_0x3877a2[_0xae3d6c(0xb30)]['notifyObservers'](_0x45c69a,_0x8d001a)),_0x3877a2[_0xae3d6c(0x92d)]&&_0x3877a2[_0xae3d6c(0x92d)][_0xae3d6c(0x850)](_0x1daa8f['g'][_0xae3d6c(0x3e7)],_0x3069d3['V']['CreateNewFromScene'](_0x3877a2,_0x25fc18));},this['_deviceSourceManager'][_0x265853(0x1b9)][_0x265853(0x840)](_0x228a61=>{var _0x59ea0f=_0x265853;_0x228a61[_0x59ea0f(0x82c)]===_0xb3593['Yi'][_0x59ea0f(0x66c)]?_0x228a61[_0x59ea0f(0xc24)]['add'](_0x5c512b=>{var _0x390b36=_0x59ea0f;_0x5c512b[_0x390b36(0x244)]===_0xb3593['Fz']['LeftClick']||_0x5c512b[_0x390b36(0x244)]===_0xb3593['Fz']['MiddleClick']||_0x5c512b[_0x390b36(0x244)]===_0xb3593['Fz'][_0x390b36(0x663)]||_0x5c512b['inputIndex']===_0xb3593['Fz'][_0x390b36(0x26c)]||_0x5c512b[_0x390b36(0x244)]===_0xb3593['Fz'][_0x390b36(0x325)]?_0x3ade98&&0x1===_0x228a61[_0x390b36(0xa56)](_0x5c512b[_0x390b36(0x244)])?this[_0x390b36(0x6ad)](_0x5c512b):_0x3afbca&&0x0===_0x228a61[_0x390b36(0xa56)](_0x5c512b[_0x390b36(0x244)])&&this[_0x390b36(0x329)](_0x5c512b):!_0x473dfc||_0x5c512b[_0x390b36(0x244)]!==_0xb3593['Fz'][_0x390b36(0xd71)]&&_0x5c512b[_0x390b36(0x244)]!==_0xb3593['Fz'][_0x390b36(0x389)]&&_0x5c512b[_0x390b36(0x244)]!==_0xb3593['Fz'][_0x390b36(0x42d)]&&_0x5c512b[_0x390b36(0x244)]!==_0xb3593['Fz'][_0x390b36(0x942)]||this['_onPointerMove'](_0x5c512b);}):_0x228a61[_0x59ea0f(0x82c)]===_0xb3593['Yi'][_0x59ea0f(0x75a)]?_0x228a61['onInputChangedObservable'][_0x59ea0f(0x840)](_0x16b693=>{var _0xf85bfc=_0x59ea0f;_0x16b693[_0xf85bfc(0x244)]===_0xb3593['Fz']['LeftClick']&&(_0x3ade98&&0x1===_0x228a61[_0xf85bfc(0xa56)](_0x16b693[_0xf85bfc(0x244)])?(this[_0xf85bfc(0x6ad)](_0x16b693),0x1<this['_totalPointersPressed']&&(this[_0xf85bfc(0x249)]=!0x0)):_0x3afbca&&0x0===_0x228a61[_0xf85bfc(0xa56)](_0x16b693['inputIndex'])&&(this['_onPointerUp'](_0x16b693),0x0===this[_0xf85bfc(0xd57)]&&(this['_isMultiTouchGesture']=!0x1))),_0x473dfc&&_0x16b693[_0xf85bfc(0x244)]===_0xb3593['Fz'][_0xf85bfc(0xd71)]&&this[_0xf85bfc(0xbc7)](_0x16b693);}):_0x228a61[_0x59ea0f(0x82c)]===_0xb3593['Yi'][_0x59ea0f(0x196)]&&_0x228a61['onInputChangedObservable'][_0x59ea0f(0x840)](_0x55c363=>{var _0xcde2fc=_0x59ea0f;_0xcde2fc(0x46a)===_0x55c363['type']?this[_0xcde2fc(0x2ea)](_0x55c363):_0xcde2fc(0xc2a)===_0x55c363[_0xcde2fc(0x844)]&&this['_onKeyUp'](_0x55c363);});}),this[_0x265853(0x620)]=!0x0;}[_0x5d2b82(0xbf8)](){var _0x379163=_0x5d2b82;this[_0x379163(0x620)]&&(this[_0x379163(0x6b0)][_0x379163(0x38b)](),this[_0x379163(0x6b0)]=null,this[_0x379163(0x678)]&&!this[_0x379163(0xba4)][_0x379163(0x225)]&&(this[_0x379163(0x678)]['style'][_0x379163(0x80d)]=this[_0x379163(0xba4)]['defaultCursor']),this['_alreadyAttached']=!0x1,this[_0x379163(0x678)]=null);}[_0x5d2b82(0x330)](_0x5517bf,_0x99dd6e=0x0,_0x5f36d4,_0x10a820){var _0x2619d8=_0x5d2b82;if(this[_0x2619d8(0x9c1)][_0x99dd6e]!==_0x5517bf||_0x5517bf&&_0x5517bf[_0x2619d8(0x864)][_0x2619d8(0x6f1)]){const _0x5c3890=this['_meshUnderPointerId'][_0x99dd6e];let _0x3a1e62;_0x5c3890&&(_0x3a1e62=_0x5c3890[_0x2619d8(0x165)](_0x1daa8f['g'][_0x2619d8(0x970)]))&&_0x3a1e62['processTrigger'](_0x1daa8f['g']['ACTION_OnPointerOutTrigger'],_0x3069d3['V'][_0x2619d8(0xc66)](_0x5c3890,_0x10a820,{'pointerId':_0x99dd6e})),_0x5517bf?(this[_0x2619d8(0x9c1)][_0x99dd6e]=_0x5517bf,this[_0x2619d8(0xb0e)]=_0x5517bf,(_0x3a1e62=_0x5517bf[_0x2619d8(0x165)](_0x1daa8f['g']['ACTION_OnPointerOverTrigger']))&&_0x3a1e62[_0x2619d8(0x850)](_0x1daa8f['g'][_0x2619d8(0xc31)],_0x3069d3['V'][_0x2619d8(0xc66)](_0x5517bf,_0x10a820,{'pointerId':_0x99dd6e,'pickResult':_0x5f36d4}))):(delete this['_meshUnderPointerId'][_0x99dd6e],this[_0x2619d8(0xb0e)]=null);}}[_0x5d2b82(0x789)](){var _0x23cd31=_0x5d2b82;return this[_0x23cd31(0x3ac)];}['_invalidateMesh'](_0x423134){var _0x4f355f=_0x5d2b82;this[_0x4f355f(0xb0e)]===_0x423134&&(this['_pointerOverMesh']=null),this[_0x4f355f(0x6ba)]===_0x423134&&(this[_0x4f355f(0x6ba)]=null),this[_0x4f355f(0x327)]===_0x423134&&(this[_0x4f355f(0x327)]=null);for(const _0x52445c in this[_0x4f355f(0x9c1)])this[_0x4f355f(0x9c1)][_0x52445c]===_0x423134&&delete this[_0x4f355f(0x9c1)][_0x52445c];}}_0x204c59[_0x5d2b82(0x4a5)]=0xa,_0x204c59[_0x5d2b82(0x2b1)]=0x1f4,_0x204c59[_0x5d2b82(0xc4a)]=0x12c,_0x204c59[_0x5d2b82(0xc7a)]=!0x1;},0x14b3a:(_0x3dad68,_0x984402,_0x3778f1)=>{_0x3778f1['d'](_0x984402,{'W':()=>_0x12c1cb});class _0x12c1cb{constructor(){var _0x13993d=a7_0x4956;this[_0x13993d(0x23f)]=!0x1;}}},0x2e6f:(_0x17dfc4,_0x5e76bd,_0x15171f)=>{var _0x211b4b=a7_0x51ebec;_0x15171f['d'](_0x5e76bd,{'m':()=>_0x376d2c});class _0x376d2c{static[_0x211b4b(0xad6)](_0x406e1c,_0x2bf783){var _0x211a32=_0x211b4b;return _0x406e1c[_0x211a32(0x354)]!==_0x2bf783[_0x211a32(0x354)]?(_0x2bf783[_0x211a32(0x354)]?0x1:0x0)-(_0x406e1c['shadowEnabled']?0x1:0x0):_0x2bf783['renderPriority']-_0x406e1c['renderPriority'];}}_0x376d2c[_0x211b4b(0xc8f)]=0x0,_0x376d2c[_0x211b4b(0x720)]=0x1,_0x376d2c[_0x211b4b(0xd62)]=0x2,_0x376d2c[_0x211b4b(0x410)]=0x3,_0x376d2c[_0x211b4b(0x879)]=0x0,_0x376d2c[_0x211b4b(0x474)]=0x1,_0x376d2c[_0x211b4b(0x169)]=0x2,_0x376d2c[_0x211b4b(0x887)]=0x0,_0x376d2c[_0x211b4b(0xa5d)]=0x1,_0x376d2c[_0x211b4b(0x4b4)]=0x2,_0x376d2c[_0x211b4b(0x67d)]=0x3,_0x376d2c['INTENSITYMODE_LUMINANCE']=0x4,_0x376d2c['LIGHTTYPEID_POINTLIGHT']=0x0,_0x376d2c[_0x211b4b(0xa76)]=0x1,_0x376d2c[_0x211b4b(0x559)]=0x2,_0x376d2c[_0x211b4b(0x87a)]=0x3;},0x16d29:(_0x1d29ab,_0x5877cc,_0x259a47)=>{var _0x41d14e=a7_0x51ebec,_0x177481=_0x259a47(0x26fa);_0x259a47(0x8cd3),_0x259a47(0x15cb9),_0x259a47(0xf0d3),_0x259a47(0x10bc4),_0x259a47(0x1817f),_0x259a47(0x13fa8),_0x259a47(0x17b64),_0x259a47(0x10716),_0x259a47(0xace7),_0x259a47(0x2144),_0x259a47(0xf45c),_0x259a47(0xa9cf),_0x177481['v'][_0x41d14e(0x52c)][_0x41d14e(0x366)]=_0x41d14e(0x1db);},0xe465:(_0x5707d1,_0x58d35f,_0x3cf28f)=>{var _0x4167ae=a7_0x51ebec,_0x3cc3cf=_0x3cf28f(0x26fa);_0x3cf28f(0x11c69),_0x3cf28f(0x2648),_0x3cf28f(0xe7da),_0x3cf28f(0xd4f3),_0x3cf28f(0x1162f),_0x3cf28f(0x15cb9),_0x3cf28f(0xf0d3),_0x3cf28f(0x16c62),_0x3cf28f(0x9e45),_0x3cf28f(0x1396d),_0x3cf28f(0xc24a),_0x3cf28f(0xeda3),_0x3cf28f(0xf1cf),_0x3cf28f(0x4730),_0x3cc3cf['v'][_0x4167ae(0x52c)]['cellVertexShader']=_0x4167ae(0x3e0);},0x11bd4:(_0x33631d,_0x2770e7,_0x344947)=>{var _0xa797d7=a7_0x51ebec,_0x128c95=_0x344947(0x26fa);_0x344947(0x13fa8),_0x344947(0x17b64),_0x344947(0x10716),_0x344947(0xace7),_0x344947(0xf45c),_0x344947(0xa9cf),_0x128c95['v'][_0xa797d7(0x52c)]['firePixelShader']=_0xa797d7(0x4cf);},0xe800:(_0x2822df,_0x485a32,_0x15b623)=>{var _0x5560a8=a7_0x51ebec,_0x247ace=_0x15b623(0x26fa);_0x15b623(0x11c69),_0x15b623(0x2648),_0x15b623(0xe7da),_0x15b623(0xd4f3),_0x15b623(0x1162f),_0x15b623(0x16c62),_0x15b623(0x9e45),_0x15b623(0x1396d),_0x15b623(0xc24a),_0x15b623(0xeda3),_0x15b623(0x4730),_0x247ace['v']['ShadersStore'][_0x5560a8(0x8ab)]=_0x5560a8(0x3e4);},0x16b6d:(_0x14d53f,_0xf29416,_0x974555)=>{var _0x569c45=a7_0x51ebec,_0xb3f7ce=_0x974555(0x26fa);_0x974555(0x8cd3),_0x974555(0x15cb9),_0x974555(0xf0d3),_0x974555(0x10bc4),_0x974555(0x1817f),_0x974555(0x17b64),_0x974555(0x13fa8),_0x974555(0x10716),_0x974555(0xace7),_0x974555(0x2144),_0x974555(0xf45c),_0x974555(0xa9cf),_0xb3f7ce['v'][_0x569c45(0x52c)][_0x569c45(0xc85)]=_0x569c45(0x805);},0x5b1:(_0x5421b9,_0x507a91,_0x347b21)=>{var _0x5170e7=a7_0x51ebec,_0x49c5fe=_0x347b21(0x26fa);_0x347b21(0x11c69),_0x347b21(0x2648),_0x347b21(0xe7da),_0x347b21(0xd4f3),_0x347b21(0x1162f),_0x347b21(0x15cb9),_0x347b21(0xf0d3),_0x347b21(0x16c62),_0x347b21(0x9e45),_0x347b21(0x1396d),_0x347b21(0xc24a),_0x347b21(0xeda3),_0x347b21(0xf1cf),_0x347b21(0x4730),_0x49c5fe['v'][_0x5170e7(0x52c)][_0x5170e7(0xbaa)]=_0x5170e7(0x484);},0x73f:(_0x2f3b2d,_0x45375c,_0x213593)=>{var _0x20ba97=a7_0x51ebec,_0x2b734f=_0x213593(0x26fa);_0x213593(0x8cd3),_0x213593(0x15cb9),_0x213593(0xf0d3),_0x213593(0x10bc4),_0x213593(0x1817f),_0x213593(0x13fa8),_0x213593(0x17b64),_0x213593(0x10716),_0x213593(0xace7),_0x213593(0x2144),_0x213593(0xf45c),_0x213593(0xa9cf),_0x2b734f['v'][_0x20ba97(0x52c)]['gradientPixelShader']='precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20topColor;\x0auniform\x20vec4\x20bottomColor;\x0auniform\x20float\x20offset;\x0auniform\x20float\x20scale;\x0auniform\x20float\x20smoothness;\x0avarying\x20vec3\x20vPositionW;\x0avarying\x20vec3\x20vPosition;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0]\x0a#include<__decl__lightFragment>[1]\x0a#include<__decl__lightFragment>[2]\x0a#include<__decl__lightFragment>[3]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0afloat\x20h=vPosition.y*scale+offset;\x0afloat\x20mysmoothness=clamp(smoothness,0.01,max(smoothness,10.));\x0avec4\x20baseColor=mix(bottomColor,topColor,max(pow(max(h,0.0),mysmoothness),0.0));\x0avec3\x20diffuseColor=baseColor.rgb;\x0afloat\x20alpha=baseColor.a;\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include<depthPrePass>\x0a#ifdef\x20VERTEXCOLOR\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0a#ifdef\x20EMISSIVE\x0avec3\x20diffuseBase=baseColor.rgb;\x0a#else\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0a#endif\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0afloat\x20glossiness=0.;\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\x0avec4\x20color=vec4(finalDiffuse,alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a';},0xc5d7:(_0x57ee6f,_0x4d0c14,_0x4f9773)=>{var _0x56c933=a7_0x51ebec,_0x1cbeec=_0x4f9773(0x26fa);_0x4f9773(0x11c69),_0x4f9773(0x2648),_0x4f9773(0xe7da),_0x4f9773(0xd4f3),_0x4f9773(0x1162f),_0x4f9773(0x15cb9),_0x4f9773(0xf0d3),_0x4f9773(0x16c62),_0x4f9773(0x9e45),_0x4f9773(0x1396d),_0x4f9773(0xc24a),_0x4f9773(0xeda3),_0x4f9773(0xf1cf),_0x4f9773(0x4730),_0x1cbeec['v'][_0x56c933(0x52c)][_0x56c933(0x847)]=_0x56c933(0xcb0);},0x141c3:(_0x500f87,_0x4c300c,_0x3944f8)=>{var _0x366600=a7_0x51ebec,_0x57665d=_0x3944f8(0x26fa);_0x3944f8(0x17b64),_0x3944f8(0xf45c),_0x3944f8(0xa9cf),_0x57665d['v']['ShadersStore'][_0x366600(0x57f)]=_0x366600(0x986);},0xdc32:(_0x14c2a4,_0x3ee767,_0x41f90b)=>{var _0x127a17=a7_0x51ebec,_0x5dc45a=_0x41f90b(0x26fa);_0x41f90b(0xe7da),_0x41f90b(0x1162f),_0x41f90b(0x16c62),_0x41f90b(0xeda3),_0x5dc45a['v'][_0x127a17(0x52c)][_0x127a17(0xc0f)]=_0x127a17(0x405);},0x8827:(_0x145edd,_0x2af66b,_0x2a9278)=>{var _0x540c4c=a7_0x51ebec,_0x4f8082=_0x2a9278(0x26fa);_0x2a9278(0x8cd3),_0x2a9278(0x15cb9),_0x2a9278(0xf0d3),_0x2a9278(0x10bc4),_0x2a9278(0x1817f),_0x2a9278(0x13fa8),_0x2a9278(0x17b64),_0x2a9278(0x10716),_0x2a9278(0xace7),_0x2a9278(0x2144),_0x2a9278(0xf45c),_0x2a9278(0xa9cf),_0x4f8082['v']['ShadersStore'][_0x540c4c(0x3a0)]=_0x540c4c(0xbd1);},0x15b46:(_0x1ff941,_0x1b4aa0,_0x5be7b8)=>{var _0xec2392=a7_0x51ebec,_0x4ae9a7=_0x5be7b8(0x26fa);_0x5be7b8(0x11c69),_0x5be7b8(0x2648),_0x5be7b8(0xe7da),_0x5be7b8(0xd4f3),_0x5be7b8(0x1162f),_0x5be7b8(0x15cb9),_0x5be7b8(0xf0d3),_0x5be7b8(0x16c62),_0x5be7b8(0x9e45),_0x5be7b8(0x1396d),_0x5be7b8(0xc24a),_0x5be7b8(0xeda3),_0x5be7b8(0xf1cf),_0x5be7b8(0x4730),_0x4ae9a7['v']['ShadersStore'][_0xec2392(0x429)]=_0xec2392(0x97e);},0x166ac:(_0x10e8cd,_0x5e573b,_0x55888a)=>{var _0x2abbf1=a7_0x51ebec,_0x58ea46=_0x55888a(0x26fa);_0x55888a(0x8cd3),_0x55888a(0x15cb9),_0x55888a(0xf0d3),_0x55888a(0x10bc4),_0x55888a(0x1817f),_0x55888a(0x13fa8),_0x55888a(0x17b64),_0x55888a(0x10716),_0x55888a(0xace7),_0x55888a(0x2144),_0x55888a(0xf45c),_0x55888a(0xa9cf),_0x58ea46['v'][_0x2abbf1(0x52c)][_0x2abbf1(0xc52)]=_0x2abbf1(0x8d5);},0x12bcc:(_0x506aa1,_0x15f587,_0x5298a4)=>{var _0xae9e04=a7_0x51ebec,_0x54e3ef=_0x5298a4(0x26fa);_0x5298a4(0x11c69),_0x5298a4(0x2648),_0x5298a4(0xe7da),_0x5298a4(0xd4f3),_0x5298a4(0x1162f),_0x5298a4(0x15cb9),_0x5298a4(0xf0d3),_0x5298a4(0x16c62),_0x5298a4(0x9e45),_0x5298a4(0x1396d),_0x5298a4(0xc24a),_0x5298a4(0xeda3),_0x5298a4(0xf1cf),_0x5298a4(0x4730),_0x54e3ef['v'][_0xae9e04(0x52c)][_0xae9e04(0xd4f)]=_0xae9e04(0x5fd);},0x2dfd:(_0x23e0d7,_0x36e288,_0x202a50)=>{var _0x4f5e0b=a7_0x51ebec,_0x277e64=_0x202a50(0x26fa);_0x202a50(0x8cd3),_0x202a50(0x15cb9),_0x202a50(0xf0d3),_0x202a50(0x10bc4),_0x202a50(0x1817f),_0x202a50(0x13fa8),_0x202a50(0x17b64),_0x202a50(0x10716),_0x202a50(0xace7),_0x202a50(0x2144),_0x202a50(0xf45c),_0x202a50(0xa9cf),_0x277e64['v']['ShadersStore'][_0x4f5e0b(0x71d)]='precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20LIGHTING\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0]\x0a#include<__decl__lightFragment>[1]\x0a#include<__decl__lightFragment>[2]\x0a#include<__decl__lightFragment>[3]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#endif\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20baseColor=vec4(1.,1.,1.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20DIFFUSE\x0abaseColor=texture2D(diffuseSampler,vDiffuseUV);\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include<depthPrePass>\x0abaseColor.rgb*=vDiffuseInfos.y;\x0a#endif\x0a#ifdef\x20NORMAL\x0abaseColor=mix(baseColor,vec4(vNormalW,1.0),0.5);\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0a#ifdef\x20LIGHTING\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0afloat\x20glossiness=0.;\x0a#include<lightFragment>[0]\x0a#include<lightFragment>[1]\x0a#include<lightFragment>[2]\x0a#include<lightFragment>[3]\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\x0a#else\x0avec3\x20finalDiffuse=\x20baseColor.rgb;\x0a#endif\x0avec4\x20color=vec4(finalDiffuse,alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}';},0xe551:(_0x186941,_0x10b2cd,_0x180d4c)=>{var _0x2b6645=a7_0x51ebec,_0x5577cf=_0x180d4c(0x26fa);_0x180d4c(0x11c69),_0x180d4c(0x2648),_0x180d4c(0xe7da),_0x180d4c(0xd4f3),_0x180d4c(0x1162f),_0x180d4c(0x15cb9),_0x180d4c(0xf0d3),_0x180d4c(0x16c62),_0x180d4c(0x9e45),_0x180d4c(0x1396d),_0x180d4c(0xc24a),_0x180d4c(0xeda3),_0x180d4c(0xf1cf),_0x5577cf['v']['ShadersStore']['normalVertexShader']=_0x2b6645(0x9d8);},0x17e5:(_0x487f7e,_0x3eb805,_0x15b166)=>{var _0x5103e6=a7_0x51ebec,_0x3270dc=_0x15b166(0x26fa);_0x15b166(0x8cd3),_0x15b166(0x15cb9),_0x15b166(0xf0d3),_0x15b166(0x10bc4),_0x15b166(0x1817f),_0x15b166(0x13fa8),_0x15b166(0x17b64),_0x15b166(0x10716),_0x15b166(0x2144),_0x15b166(0xf45c),_0x15b166(0xa9cf),_0x3270dc['v'][_0x5103e6(0x52c)]['shadowOnlyPixelShader']=_0x5103e6(0x772);},0x118c2:(_0x4a5bc8,_0x1d393a,_0x3a6e9f)=>{var _0x4be960=a7_0x51ebec,_0x1f95b9=_0x3a6e9f(0x26fa);_0x3a6e9f(0x11c69),_0x3a6e9f(0x2648),_0x3a6e9f(0xe7da),_0x3a6e9f(0xd4f3),_0x3a6e9f(0x1162f),_0x3a6e9f(0x15cb9),_0x3a6e9f(0xf0d3),_0x3a6e9f(0x16c62),_0x3a6e9f(0x9e45),_0x3a6e9f(0x1396d),_0x3a6e9f(0xc24a),_0x3a6e9f(0xeda3),_0x3a6e9f(0xf1cf),_0x1f95b9['v']['ShadersStore']['shadowOnlyVertexShader']=_0x4be960(0x779);},0x7e6a:(_0x56546b,_0x2d0051,_0x3f80ca)=>{var _0x4479a7=a7_0x51ebec,_0x3abf5a=_0x3f80ca(0x26fa);_0x3f80ca(0x8cd3),_0x3f80ca(0x15cb9),_0x3f80ca(0xf0d3),_0x3f80ca(0x10bc4),_0x3f80ca(0x1817f),_0x3f80ca(0x13fa8),_0x3f80ca(0x17b64),_0x3f80ca(0x10716),_0x3f80ca(0xace7),_0x3f80ca(0x2144),_0x3f80ca(0xf45c),_0x3f80ca(0xa9cf),_0x3abf5a['v'][_0x4479a7(0x52c)][_0x4479a7(0xd47)]='precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20baseColor=vec4(1.,1.,1.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20DIFFUSE\x0abaseColor=texture2D(diffuseSampler,vDiffuseUV);\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include<depthPrePass>\x0abaseColor.rgb*=vDiffuseInfos.y;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0afloat\x20glossiness=0.;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0a#endif\x20\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\x0avec4\x20color=vec4(finalDiffuse,alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}';},0x29cf:(_0x5b2f96,_0x51d32d,_0x195263)=>{var _0x404217=a7_0x51ebec,_0x1b0029=_0x195263(0x26fa);_0x195263(0x11c69),_0x195263(0x2648),_0x195263(0xe7da),_0x195263(0xd4f3),_0x195263(0x1162f),_0x195263(0x15cb9),_0x195263(0xf0d3),_0x195263(0x16c62),_0x195263(0x9e45),_0x195263(0x1396d),_0x195263(0xc24a),_0x195263(0xeda3),_0x195263(0xf1cf),_0x195263(0x4730),_0x1b0029['v'][_0x404217(0x52c)][_0x404217(0xbd7)]=_0x404217(0x85d);},0xf2a3:(_0x42653c,_0x5d1cfa,_0x48955d)=>{var _0x4f99ea=a7_0x51ebec,_0x281d1c=_0x48955d(0x26fa);_0x48955d(0x13fa8),_0x48955d(0x17b64),_0x48955d(0x8cd3),_0x48955d(0x10716),_0x48955d(0xf45c),_0x48955d(0xa9cf),_0x281d1c['v']['ShadersStore'][_0x4f99ea(0x1fd)]='precision\x20highp\x20float;\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0auniform\x20vec3\x20cameraPosition;\x0auniform\x20vec3\x20cameraOffset;\x0auniform\x20vec3\x20up;\x0auniform\x20float\x20luminance;\x0auniform\x20float\x20turbidity;\x0auniform\x20float\x20rayleigh;\x0auniform\x20float\x20mieCoefficient;\x0auniform\x20float\x20mieDirectionalG;\x0auniform\x20vec3\x20sunPosition;\x0a#include<fogFragmentDeclaration>\x0aconst\x20float\x20e=2.71828182845904523536028747135266249775724709369995957;\x0aconst\x20float\x20pi=3.141592653589793238462643383279502884197169;\x0aconst\x20float\x20n=1.0003;\x0aconst\x20float\x20N=2.545E25;\x0aconst\x20float\x20pn=0.035;\x0aconst\x20vec3\x20lambda=vec3(680E-9,550E-9,450E-9);\x0aconst\x20vec3\x20K=vec3(0.686,0.678,0.666);\x0aconst\x20float\x20v=4.0;\x0aconst\x20float\x20rayleighZenithLength=8.4E3;\x0aconst\x20float\x20mieZenithLength=1.25E3;\x0aconst\x20float\x20EE=1000.0;\x0aconst\x20float\x20sunAngularDiameterCos=0.999956676946448443553574619906976478926848692873900859324;\x0aconst\x20float\x20cutoffAngle=pi/1.95;\x0aconst\x20float\x20steepness=1.5;\x0avec3\x20totalRayleigh(vec3\x20lambda)\x0a{\x0areturn\x20(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));\x0a}\x0avec3\x20simplifiedRayleigh()\x0a{\x0areturn\x200.0005/vec3(94,40,18);\x0a}\x0afloat\x20rayleighPhase(float\x20cosTheta)\x0a{\x20\x0areturn\x20(3.0/(16.0*pi))*(1.0+pow(cosTheta,2.0));\x0a}\x0avec3\x20totalMie(vec3\x20lambda,vec3\x20K,float\x20T)\x0a{\x0afloat\x20c=(0.2*T\x20)*10E-18;\x0areturn\x200.434*c*pi*pow((2.0*pi)/lambda,vec3(v-2.0))*K;\x0a}\x0afloat\x20hgPhase(float\x20cosTheta,float\x20g)\x0a{\x0areturn\x20(1.0/(4.0*pi))*((1.0-pow(g,2.0))/pow(1.0-2.0*g*cosTheta+pow(g,2.0),1.5));\x0a}\x0afloat\x20sunIntensity(float\x20zenithAngleCos)\x0a{\x0areturn\x20EE*max(0.0,1.0-exp((-(cutoffAngle-acos(zenithAngleCos))/steepness)));\x0a}\x0afloat\x20A=0.15;\x0afloat\x20B=0.50;\x0afloat\x20C=0.10;\x0afloat\x20D=0.20;\x0afloat\x20EEE=0.02;\x0afloat\x20F=0.30;\x0afloat\x20W=1000.0;\x0avec3\x20Uncharted2Tonemap(vec3\x20x)\x0a{\x0areturn\x20((x*(A*x+C*B)+D*EEE)/(x*(A*x+B)+D*F))-EEE/F;\x0a}\x0a#if\x20DITHER\x0a#include<helperFunctions>\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0a/**\x0a*--------------------------------------------------------------------------------------------------\x0a*\x20Sky\x20Color\x0a*--------------------------------------------------------------------------------------------------\x0a*/\x0afloat\x20sunfade=1.0-clamp(1.0-exp((sunPosition.y/450000.0)),0.0,1.0);\x0afloat\x20rayleighCoefficient=rayleigh-(1.0*(1.0-sunfade));\x0avec3\x20sunDirection=normalize(sunPosition);\x0afloat\x20sunE=sunIntensity(dot(sunDirection,up));\x0avec3\x20betaR=simplifiedRayleigh()*rayleighCoefficient;\x0avec3\x20betaM=totalMie(lambda,K,turbidity)*mieCoefficient;\x0afloat\x20zenithAngle=acos(max(0.0,dot(up,normalize(vPositionW-cameraPosition+cameraOffset))));\x0afloat\x20sR=rayleighZenithLength/(cos(zenithAngle)+0.15*pow(93.885-((zenithAngle*180.0)/pi),-1.253));\x0afloat\x20sM=mieZenithLength/(cos(zenithAngle)+0.15*pow(93.885-((zenithAngle*180.0)/pi),-1.253));\x0avec3\x20Fex=exp(-(betaR*sR+betaM*sM));\x0afloat\x20cosTheta=dot(normalize(vPositionW-cameraPosition),sunDirection);\x0afloat\x20rPhase=rayleighPhase(cosTheta*0.5+0.5);\x0avec3\x20betaRTheta=betaR*rPhase;\x0afloat\x20mPhase=hgPhase(cosTheta,mieDirectionalG);\x0avec3\x20betaMTheta=betaM*mPhase;\x0avec3\x20Lin=pow(sunE*((betaRTheta+betaMTheta)/(betaR+betaM))*(1.0-Fex),vec3(1.5));\x0aLin*=mix(vec3(1.0),pow(sunE*((betaRTheta+betaMTheta)/(betaR+betaM))*Fex,vec3(1.0/2.0)),clamp(pow(1.0-dot(up,sunDirection),5.0),0.0,1.0));\x0avec3\x20direction=normalize(vPositionW-cameraPosition);\x0afloat\x20theta=acos(direction.y);\x0afloat\x20phi=atan(direction.z,direction.x);\x0avec2\x20uv=vec2(phi,theta)/vec2(2.0*pi,pi)+vec2(0.5,0.0);\x0avec3\x20L0=vec3(0.1)*Fex;\x0afloat\x20sundisk=smoothstep(sunAngularDiameterCos,sunAngularDiameterCos+0.00002,cosTheta);\x0aL0+=(sunE*19000.0*Fex)*sundisk;\x0avec3\x20whiteScale=1.0/Uncharted2Tonemap(vec3(W));\x0avec3\x20texColor=(Lin+L0);\x0atexColor*=0.04\x20;\x0atexColor+=vec3(0.0,0.001,0.0025)*0.3;\x0afloat\x20g_fMaxLuminance=1.0;\x0afloat\x20fLumScaled=0.1/luminance;\x20\x0afloat\x20fLumCompressed=(fLumScaled*(1.0+(fLumScaled/(g_fMaxLuminance*g_fMaxLuminance))))/(1.0+fLumScaled);\x20\x0afloat\x20ExposureBias=fLumCompressed;\x0avec3\x20curr=Uncharted2Tonemap((log2(2.0/pow(luminance,4.0)))*texColor);\x0avec3\x20retColor=curr*whiteScale;\x0a/**\x0a*--------------------------------------------------------------------------------------------------\x0a*\x20Sky\x20Color\x0a*--------------------------------------------------------------------------------------------------\x0a*/\x0afloat\x20alpha=1.0;\x0a#ifdef\x20VERTEXCOLOR\x0aretColor.rgb*=vColor.rgb;\x0a#endif\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#if\x20DITHER\x0aretColor.rgb+=dither(gl_FragCoord.xy,0.5);\x0a#endif\x0avec4\x20color=clamp(vec4(retColor.rgb,alpha),0.0,1.0);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a';},0xaa88:(_0x379c6,_0x384ef4,_0x2d22f0)=>{var _0x10a547=a7_0x51ebec,_0x3f17b1=_0x2d22f0(0x26fa);_0x2d22f0(0xd4f3),_0x2d22f0(0x1162f),_0x2d22f0(0xc24a),_0x2d22f0(0xeda3),_0x3f17b1['v'][_0x10a547(0x52c)][_0x10a547(0x292)]=_0x10a547(0x766);},0x3314:(_0x420b84,_0x2a6cdd,_0x579e28)=>{var _0x42a0e3=a7_0x51ebec,_0x4a0a30=_0x579e28(0x26fa);_0x579e28(0x8cd3),_0x579e28(0x15cb9),_0x579e28(0xf0d3),_0x579e28(0x10bc4),_0x579e28(0x1817f),_0x579e28(0x13fa8),_0x579e28(0x17b64),_0x579e28(0x10716),_0x579e28(0xace7),_0x579e28(0x2144),_0x579e28(0xf45c),_0x579e28(0xa9cf),_0x4a0a30['v'][_0x42a0e3(0x52c)][_0x42a0e3(0xb3c)]=_0x42a0e3(0xa99);},0x16d8:(_0x4b242a,_0x187546,_0x413214)=>{var _0x1ed24c=a7_0x51ebec,_0x1a94de=_0x413214(0x26fa);_0x413214(0x11c69),_0x413214(0x2648),_0x413214(0xe7da),_0x413214(0xd4f3),_0x413214(0x1162f),_0x413214(0x15cb9),_0x413214(0xf0d3),_0x413214(0x16c62),_0x413214(0x9e45),_0x413214(0x1396d),_0x413214(0xc24a),_0x413214(0xeda3),_0x413214(0xf1cf),_0x413214(0x4730),_0x1a94de['v']['ShadersStore'][_0x1ed24c(0x5df)]='precision\x20highp\x20float;attribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;uniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vTextureUV;uniform\x20mat4\x20textureMatrix;uniform\x20vec2\x20vTextureInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);gl_Position=viewProjection*worldPos;vPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0aif\x20(vTextureInfos.x==0.)\x0a{vTextureUV=vec2(textureMatrix*vec4(uv,1.0,0.0));}\x0aelse\x0a{vTextureUV=vec2(textureMatrix*vec4(uv2,1.0,0.0));}\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a';},0x10a45:(_0x5c5358,_0x3117d5,_0x3b8fae)=>{var _0x37f979=a7_0x51ebec,_0xafab94=_0x3b8fae(0x26fa);_0x3b8fae(0x8cd3),_0x3b8fae(0x15cb9),_0x3b8fae(0xf0d3),_0x3b8fae(0x10bc4),_0x3b8fae(0x1817f),_0x3b8fae(0x13fa8),_0x3b8fae(0x17b64),_0x3b8fae(0x10716),_0x3b8fae(0xace7),_0x3b8fae(0x2144),_0x3b8fae(0xf45c),_0x3b8fae(0xa9cf),_0xafab94['v']['ShadersStore'][_0x37f979(0x7fc)]=_0x37f979(0x9b2);},0x16847:(_0xeeed7d,_0x58347e,_0x26b2dd)=>{var _0x36c504=a7_0x51ebec,_0x6c90e0=_0x26b2dd(0x26fa);_0x26b2dd(0x11c69),_0x26b2dd(0x2648),_0x26b2dd(0xe7da),_0x26b2dd(0xd4f3),_0x26b2dd(0x1162f),_0x26b2dd(0x15cb9),_0x26b2dd(0xf0d3),_0x26b2dd(0x16c62),_0x26b2dd(0x9e45),_0x26b2dd(0x1396d),_0x26b2dd(0xc24a),_0x26b2dd(0xeda3),_0x26b2dd(0xf1cf),_0x26b2dd(0x4730),_0x6c90e0['v'][_0x36c504(0x52c)][_0x36c504(0x252)]=_0x36c504(0x32b);},0x7b01:(_0x49e7bd,_0x2497b4,_0x1f8316)=>{var _0x217a0c=a7_0x51ebec,_0x3e49f9=_0x1f8316(0x26fa);_0x1f8316(0x8cd3),_0x1f8316(0x12f21),_0x1f8316(0x171c4),_0x1f8316(0x15cb9),_0x1f8316(0xf0d3),_0x1f8316(0x10bc4),_0x1f8316(0x1817f),_0x1f8316(0x13fa8),_0x1f8316(0x14b01),_0x1f8316(0x17b64),_0x1f8316(0x10716),_0x1f8316(0x2144),_0x1f8316(0x614f),_0x1f8316(0xf45c),_0x3e49f9['v'][_0x217a0c(0x52c)]['waterPixelShader']=_0x217a0c(0x9f3);},0x859a:(_0x5bb404,_0xecded0,_0x5ce140)=>{var _0x1fb450=a7_0x51ebec,_0x33e2d9=_0x5ce140(0x26fa);_0x5ce140(0x11c69),_0x5ce140(0x2648),_0x5ce140(0xe7da),_0x5ce140(0xd4f3),_0x5ce140(0x1162f),_0x5ce140(0x15cb9),_0x5ce140(0xf0d3),_0x5ce140(0x14b01),_0x5ce140(0x16c62),_0x5ce140(0x9e45),_0x5ce140(0x1396d),_0x5ce140(0xc24a),_0x5ce140(0xeda3),_0x5ce140(0xf1cf),_0x5ce140(0x4730),_0x5ce140(0x8641),_0x33e2d9['v'][_0x1fb450(0x52c)][_0x1fb450(0xcfc)]=_0x1fb450(0x90a);},0x12e48:(_0x27a003,_0x241556,_0x49cbb8)=>{var _0x1288b2=a7_0x51ebec;_0x49cbb8['d'](_0x241556,{'W':()=>_0x5742e2});var _0x241556=_0x49cbb8(0x10b7b),_0x32f689=_0x49cbb8(0xf582),_0x1b7d10=_0x49cbb8(0x533),_0x2e95b3=_0x49cbb8(0x4158),_0x15c20e=_0x49cbb8(0x97e6),_0x39d5da=_0x49cbb8(0x9acf),_0x169e47=_0x49cbb8(0x1610),_0x196a52=(_0x49cbb8(0x13827),_0x49cbb8(0xabf3)),_0x176212=_0x49cbb8(0x12cad),_0x3ef983=_0x49cbb8(0x11096),_0x49cbb8=_0x49cbb8(0xca26);class _0x5742e2 extends _0x241556['k']{constructor(_0x4d61a7){var _0x580ac1=a7_0x4956;super(_0x4d61a7,_0x32f689['u'][_0x580ac1(0x760)]),this[_0x580ac1(0x444)]=!0x1;}get[_0x1288b2(0x823)](){var _0x57009c=_0x1288b2;return this[_0x57009c(0x67e)];}set[_0x1288b2(0x823)](_0x584436){var _0x29a9a2=_0x1288b2,_0x3052a2;if(this['_texture']!==_0x584436){const _0x5ad258=null!=(_0x3052a2=null==_0x584436?void 0x0:_0x584436[_0x29a9a2(0x31a)]())?_0x3052a2:_0x3ef983['l'][_0x29a9a2(0x178)];!_0x584436&&_0x5ad258&&_0x5ad258[_0x29a9a2(0x95b)](_0x169e47['g'][_0x29a9a2(0x78b)],_0x15105d=>_0x15105d[_0x29a9a2(0x2dd)](this[_0x29a9a2(0x67e)])),(this[_0x29a9a2(0x67e)]=_0x584436)&&_0x5ad258&&_0x5ad258[_0x29a9a2(0x95b)](_0x169e47['g'][_0x29a9a2(0x78b)],_0x401e77=>_0x401e77['hasTexture'](_0x584436));}}static[_0x1288b2(0x42c)](_0x53d6a7,_0x5893f1){var _0x2a7728=_0x1288b2;const _0x2d29ec=_0x53d6a7;return _0x2d29ec[_0x2a7728(0x606)]();}[_0x1288b2(0x606)](){var _0x16168f=_0x1288b2;return this[_0x16168f(0x6b9)](),!0x0;}[_0x1288b2(0x6b9)](){var _0x4a9f99=_0x1288b2;this[_0x4a9f99(0x594)](this[_0x4a9f99(0x444)]?_0x32f689['u'][_0x4a9f99(0x53a)]:_0x32f689['u']['VertexAndFragment']);}[_0x1288b2(0x875)](){var _0x90d0e8=_0x1288b2;return _0x90d0e8(0x427);}[_0x1288b2(0xc43)](){var _0x2093c1=_0x1288b2;return this[_0x2093c1(0x823)];}[_0x1288b2(0x8f7)](_0x20d835){var _0x15aecc=_0x1288b2;if(!this[_0x15aecc(0xd1d)]['isConnected']){let _0x5e49d0=_0x20d835['getInputBlockByPredicate'](_0x52d650=>_0x52d650[_0x15aecc(0x9f0)]&&_0x15aecc(0xd1d)===_0x52d650[_0x15aecc(0x587)]);_0x5e49d0||(_0x5e49d0=new _0x15c20e['S'](_0x15aecc(0xd1d)))[_0x15aecc(0x2a0)](),_0x5e49d0[_0x15aecc(0xbbf)][_0x15aecc(0xc3d)](this[_0x15aecc(0xd1d)]);}if(!this['world'][_0x15aecc(0x297)]){let _0x2dcd36=_0x20d835['getInputBlockByPredicate'](_0xbacf87=>_0xbacf87[_0x15aecc(0x68e)]===_0x39d5da['$'][_0x15aecc(0x95f)]);_0x2dcd36||(_0x2dcd36=new _0x15c20e['S'](_0x15aecc(0x5ad)))[_0x15aecc(0x946)](_0x39d5da['$'][_0x15aecc(0x95f)]),_0x2dcd36[_0x15aecc(0xbbf)]['connectTo'](this['world']);}if(this[_0x15aecc(0x1be)]&&!this[_0x15aecc(0x1be)][_0x15aecc(0x297)]){let _0x39acb9=_0x20d835[_0x15aecc(0x296)](_0x37fd63=>_0x37fd63[_0x15aecc(0x68e)]===_0x39d5da['$'][_0x15aecc(0xb8d)]);_0x39acb9||(_0x39acb9=new _0x15c20e['S'](_0x15aecc(0x1be)))[_0x15aecc(0x946)](_0x39d5da['$'][_0x15aecc(0xb8d)]),_0x39acb9[_0x15aecc(0xbbf)][_0x15aecc(0xc3d)](this[_0x15aecc(0x1be)]);}}[_0x1288b2(0x8a8)](_0x175e2f,_0x3b606a,_0x15252e){var _0x31a878=_0x1288b2,_0xa06cdc;_0x15252e[_0x31a878(0xa59)]&&(_0xa06cdc=this[_0x31a878(0xc43)]())&&_0xa06cdc['getTextureMatrix']&&(_0x15252e[_0x31a878(0xd33)](this[_0x31a878(0x6b6)],_0xa06cdc['isCube'],!0x0),_0x15252e[_0x31a878(0xd33)](this['_defineLocalCubicName'],!!_0xa06cdc[_0x31a878(0x61f)],!0x0),_0x15252e[_0x31a878(0xd33)](this[_0x31a878(0x539)],_0xa06cdc[_0x31a878(0x96b)]===_0x169e47['g'][_0x31a878(0xb8b)],!0x0),_0x15252e[_0x31a878(0xd33)](this[_0x31a878(0x5e6)],_0xa06cdc[_0x31a878(0x96b)]===_0x169e47['g'][_0x31a878(0x1a8)],!0x0),_0x15252e[_0x31a878(0xd33)](this[_0x31a878(0x8b2)],_0xa06cdc[_0x31a878(0x96b)]===_0x169e47['g'][_0x31a878(0xa00)]||_0xa06cdc[_0x31a878(0x96b)]===_0x169e47['g'][_0x31a878(0xa61)],!0x0),_0x15252e[_0x31a878(0xd33)](_0x31a878(0x84f),_0xa06cdc[_0x31a878(0x96b)]===_0x169e47['g'][_0x31a878(0xa61)],!0x0),_0x15252e[_0x31a878(0xd33)](this[_0x31a878(0x6dc)],_0xa06cdc[_0x31a878(0x96b)]===_0x169e47['g'][_0x31a878(0x9ca)],!0x0),_0x15252e['setValue'](this['_definePlanarName'],_0xa06cdc[_0x31a878(0x96b)]===_0x169e47['g'][_0x31a878(0x8a4)],!0x0),_0x15252e['setValue'](this[_0x31a878(0x2b8)],_0xa06cdc[_0x31a878(0x96b)]===_0x169e47['g'][_0x31a878(0xb39)],!0x0),_0x15252e[_0x31a878(0xd33)](this[_0x31a878(0x94a)],_0xa06cdc['coordinatesMode']===_0x169e47['g'][_0x31a878(0x298)],!0x0),_0x15252e[_0x31a878(0xd33)](this['_defineEquirectangularFixedName'],_0xa06cdc[_0x31a878(0x96b)]===_0x169e47['g'][_0x31a878(0x732)],!0x0),_0x15252e[_0x31a878(0xd33)](this[_0x31a878(0x291)],_0xa06cdc[_0x31a878(0x96b)]===_0x169e47['g'][_0x31a878(0xad5)],!0x0));}[_0x1288b2(0x834)](){var _0x1743f5=_0x1288b2;const _0x347267=this[_0x1743f5(0xc43)]();return!(_0x347267&&!_0x347267[_0x1743f5(0x3e3)]());}[_0x1288b2(0x373)](_0x557dd1,_0x4b6f18,_0x59a389){var _0x13d671=_0x1288b2;const _0x7af492=this[_0x13d671(0xc43)]();_0x59a389&&_0x7af492&&(_0x557dd1['setMatrix'](this[_0x13d671(0x813)],_0x7af492['getReflectionTextureMatrix']()),_0x7af492['isCube']?_0x557dd1[_0x13d671(0x353)](this['_cubeSamplerName'],_0x7af492):_0x557dd1[_0x13d671(0x353)](this[_0x13d671(0x29e)],_0x7af492),_0x7af492['boundingBoxSize']&&(_0x59a389=_0x7af492,_0x557dd1[_0x13d671(0x23c)](this['_reflectionPositionName'],_0x59a389[_0x13d671(0x8af)]),_0x557dd1[_0x13d671(0x23c)](this[_0x13d671(0x581)],_0x59a389['boundingBoxSize'])));}[_0x1288b2(0x776)](_0x14ccfb){var _0x2636bb=_0x1288b2;if(this['generateOnlyFragmentCode']&&_0x14ccfb[_0x2636bb(0x6a5)]===_0x32f689['u'][_0x2636bb(0x35d)])return'';this[_0x2636bb(0x6b6)]=_0x14ccfb[_0x2636bb(0xd6d)](_0x2636bb(0xbf2)),this[_0x2636bb(0x8b2)]=_0x14ccfb[_0x2636bb(0xd6d)]('REFLECTIONMAP_CUBIC'),this[_0x2636bb(0x6dc)]=_0x14ccfb[_0x2636bb(0xd6d)](_0x2636bb(0x158)),this['_definePlanarName']=_0x14ccfb[_0x2636bb(0xd6d)](_0x2636bb(0x9f7)),this[_0x2636bb(0x2b8)]=_0x14ccfb[_0x2636bb(0xd6d)](_0x2636bb(0x672)),this[_0x2636bb(0x539)]=_0x14ccfb[_0x2636bb(0xd6d)](_0x2636bb(0xc46)),this['_defineEquirectangularName']=_0x14ccfb['_getFreeDefineName'](_0x2636bb(0x5b7)),this[_0x2636bb(0xcc6)]=_0x14ccfb[_0x2636bb(0xd6d)]('USE_LOCAL_REFLECTIONMAP_CUBIC'),this[_0x2636bb(0x291)]=_0x14ccfb[_0x2636bb(0xd6d)](_0x2636bb(0xcc1)),this[_0x2636bb(0xb11)]=_0x14ccfb[_0x2636bb(0xd6d)](_0x2636bb(0xa81)),this['_defineSkyboxName']=_0x14ccfb['_getFreeDefineName']('REFLECTIONMAP_SKYBOX'),this['_defineOppositeZ']=_0x14ccfb[_0x2636bb(0xd6d)]('REFLECTIONMAP_OPPOSITEZ'),this['_reflectionMatrixName']=_0x14ccfb[_0x2636bb(0x6ea)](_0x2636bb(0x612)),_0x14ccfb['_emitUniformFromString'](this['_reflectionMatrixName'],_0x2636bb(0xbad));let _0x5868a1='';this[_0x2636bb(0xb36)]=_0x14ccfb[_0x2636bb(0x6ea)](_0x2636bb(0x189));var _0x11b8b8=this[_0x2636bb(0x444)]?this[_0x2636bb(0xb36)]:'v_'+this[_0x2636bb(0x189)][_0x2636bb(0x6d8)];return(this['generateOnlyFragmentCode']||_0x14ccfb[_0x2636bb(0x4d0)](_0x11b8b8,'vec4'))&&(_0x5868a1+=(this['generateOnlyFragmentCode']?_0x2636bb(0x77c):'')+_0x11b8b8+(_0x2636bb(0xbb2)+this[_0x2636bb(0x189)][_0x2636bb(0x6d8)]+_0x2636bb(0x1f4))),this['_positionUVWName']=_0x14ccfb[_0x2636bb(0x6ea)]('positionUVW'),this[_0x2636bb(0x1ee)]=_0x14ccfb[_0x2636bb(0x6ea)]('directionW'),(this['generateOnlyFragmentCode']||_0x14ccfb[_0x2636bb(0x4d0)](this[_0x2636bb(0x35e)],_0x2636bb(0xbf5),this['_defineSkyboxName']))&&(_0x5868a1=(_0x5868a1+=_0x2636bb(0x8cf)+this[_0x2636bb(0x5e6)]+'\x0d\x0a')+(this[_0x2636bb(0x444)]?_0x2636bb(0x200):'')+this[_0x2636bb(0x35e)]+(_0x2636bb(0xbb2)+this[_0x2636bb(0xd1d)]['associatedVariableName']+'.xyz;\x0d\x0a')+_0x2636bb(0xb1b)),_0x5868a1=this['generateOnlyFragmentCode']||_0x14ccfb[_0x2636bb(0x4d0)](this[_0x2636bb(0x1ee)],_0x2636bb(0xbf5),_0x2636bb(0x271)+this[_0x2636bb(0xb11)]+')\x20||\x20defined('+this[_0x2636bb(0x291)]+')')?(_0x5868a1+=_0x2636bb(0x987)+this[_0x2636bb(0xb11)]+_0x2636bb(0x20b)+this[_0x2636bb(0x291)]+_0x2636bb(0xaf4))+(this[_0x2636bb(0x444)]?'vec3\x20':'')+this[_0x2636bb(0x1ee)]+('\x20=\x20normalize(vec3('+this[_0x2636bb(0x5ad)][_0x2636bb(0x6d8)]+_0x2636bb(0xc65)+this[_0x2636bb(0xd1d)][_0x2636bb(0x6d8)]+_0x2636bb(0x784))+'#endif\x0d\x0a':_0x5868a1;}[_0x1288b2(0x565)](_0x8bd3cd){var _0x52d085=_0x1288b2;_0x8bd3cd[_0x52d085(0x528)]['blockingBlocks']['push'](this),_0x8bd3cd[_0x52d085(0x528)][_0x52d085(0x162)][_0x52d085(0x2f7)](this),this[_0x52d085(0xbc0)]=_0x8bd3cd['_getFreeVariableName'](this[_0x52d085(0x587)]+_0x52d085(0xd01)),_0x8bd3cd['samplers'][_0x52d085(0x2f7)](this[_0x52d085(0xbc0)]),this[_0x52d085(0x29e)]=_0x8bd3cd[_0x52d085(0x6ea)](this[_0x52d085(0x587)]+_0x52d085(0x8d2)),_0x8bd3cd[_0x52d085(0xafa)][_0x52d085(0x2f7)](this[_0x52d085(0x29e)]),_0x8bd3cd['_samplerDeclaration']+=_0x52d085(0x8cf)+this[_0x52d085(0x6b6)]+'\x0d\x0a',_0x8bd3cd[_0x52d085(0xa4d)]+=_0x52d085(0x451)+this['_cubeSamplerName']+_0x52d085(0x1f4),_0x8bd3cd['_samplerDeclaration']+=_0x52d085(0x926),_0x8bd3cd[_0x52d085(0xa4d)]+=_0x52d085(0x5ae)+this[_0x52d085(0x29e)]+_0x52d085(0x1f4),_0x8bd3cd['_samplerDeclaration']+=_0x52d085(0xb1b),_0x8bd3cd[_0x52d085(0x528)][_0x52d085(0x201)][_0x52d085(0x2f7)](this),_0x8bd3cd['sharedData']['bindableBlocks']['push'](this);var _0x2c8005='//'+this[_0x52d085(0x587)];_0x8bd3cd['_emitFunction'](_0x52d085(0x809),'#define\x20RECIPROCAL_PI2\x200.15915494',''),_0x8bd3cd['_emitFunctionFromInclude']('helperFunctions',_0x2c8005),_0x8bd3cd['_emitFunctionFromInclude'](_0x52d085(0x33f),_0x2c8005,{'replaceStrings':[{'search':/vec3 computeReflectionCoords/g,'replace':_0x52d085(0x9e9)}]}),this['_reflectionColorName']=_0x8bd3cd[_0x52d085(0x6ea)](_0x52d085(0xbbb)),this['_reflectionVectorName']=_0x8bd3cd[_0x52d085(0x6ea)](_0x52d085(0x45a)),this['_reflectionCoordsName']=_0x8bd3cd[_0x52d085(0x6ea)](_0x52d085(0x34d)),this[_0x52d085(0x3eb)]=_0x8bd3cd[_0x52d085(0x6ea)](_0x52d085(0x334)),_0x8bd3cd[_0x52d085(0x6c9)](this[_0x52d085(0x3eb)],_0x52d085(0xbf5)),this[_0x52d085(0x581)]=_0x8bd3cd[_0x52d085(0x6ea)]('vReflectionPosition'),_0x8bd3cd['_emitUniformFromString'](this['_reflectionSizeName'],_0x52d085(0xbf5));}['handleFragmentSideCodeReflectionCoords'](_0x1c109c,_0x4fe10f,_0x1a0c28=!0x1,_0x51de54=!0x1){var _0x5d0d3d=_0x1288b2;_0x4fe10f=_0x4fe10f||(this[_0x5d0d3d(0x444)]?this['_worldPositionNameInFragmentOnlyMode']:'v_'+this[_0x5d0d3d(0x189)][_0x5d0d3d(0x6d8)]);var _0x4597f0=this['_reflectionMatrixName'],_0x5aa364=_0x5d0d3d(0x53b)+this[_0x5d0d3d(0x1ee)]+')',_0x5dcc5f=''+this[_0x5d0d3d(0x35e)],_0x3d6ff9=''+this['cameraPosition']['associatedVariableName'],_0x17d42c=''+this['view'][_0x5d0d3d(0x6d8)];let _0x272f43=_0x5d0d3d(0x58b)+this['_defineMirroredEquirectangularFixedName']+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20'+this['_reflectionVectorName']+_0x5d0d3d(0x4d5)+_0x4fe10f+',\x20'+(_0x1c109c+=_0x5d0d3d(0x540))+',\x20'+_0x5aa364+_0x5d0d3d(0x666)+this['_defineEquirectangularFixedName']+_0x5d0d3d(0x404)+this[_0x5d0d3d(0x92f)]+_0x5d0d3d(0xcc9)+_0x4fe10f+',\x20'+_0x1c109c+',\x20'+_0x5aa364+_0x5d0d3d(0x666)+this[_0x5d0d3d(0x94a)]+_0x5d0d3d(0x404)+this[_0x5d0d3d(0x92f)]+'\x20=\x20computeEquirectangularCoords('+_0x4fe10f+',\x20'+_0x1c109c+',\x20'+_0x3d6ff9+_0x5d0d3d(0x6d1)+_0x4597f0+_0x5d0d3d(0x666)+this[_0x5d0d3d(0x6dc)]+_0x5d0d3d(0x404)+this['_reflectionVectorName']+'\x20=\x20computeSphericalCoords('+_0x4fe10f+',\x20'+_0x1c109c+',\x20'+_0x17d42c+',\x20'+_0x4597f0+_0x5d0d3d(0x666)+this[_0x5d0d3d(0x6ce)]+_0x5d0d3d(0x404)+this[_0x5d0d3d(0x92f)]+_0x5d0d3d(0x341)+_0x4fe10f+',\x20'+_0x1c109c+',\x20'+_0x3d6ff9+_0x5d0d3d(0x6d1)+_0x4597f0+_0x5d0d3d(0x666)+this[_0x5d0d3d(0x8b2)]+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20'+this[_0x5d0d3d(0xcc6)]+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20'+this[_0x5d0d3d(0x92f)]+'\x20=\x20computeCubicLocalCoords('+_0x4fe10f+',\x20'+_0x1c109c+',\x20'+_0x3d6ff9+_0x5d0d3d(0x6d1)+_0x4597f0+',\x20'+this[_0x5d0d3d(0x581)]+',\x20'+this[_0x5d0d3d(0x3eb)]+_0x5d0d3d(0xabd)+this['_reflectionVectorName']+'\x20=\x20computeCubicCoords('+_0x4fe10f+',\x20'+_0x1c109c+',\x20'+_0x3d6ff9+_0x5d0d3d(0x6d1)+_0x4597f0+');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20'+this[_0x5d0d3d(0x2b8)]+_0x5d0d3d(0x404)+this[_0x5d0d3d(0x92f)]+_0x5d0d3d(0xb76)+_0x4fe10f+',\x20'+_0x17d42c+',\x20'+_0x4597f0+_0x5d0d3d(0x666)+this['_defineSkyboxName']+_0x5d0d3d(0x404)+this[_0x5d0d3d(0x92f)]+_0x5d0d3d(0x1ca)+_0x5dcc5f+',\x20'+_0x4597f0+_0x5d0d3d(0x666)+this[_0x5d0d3d(0x539)]+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20'+this[_0x5d0d3d(0x92f)]+_0x5d0d3d(0x512);return _0x51de54||(_0x272f43+=_0x5d0d3d(0x8cf)+this['_defineOppositeZ']+_0x5d0d3d(0x220)+this['_reflectionVectorName']+'.z\x20*=\x20-1.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0d\x0a'),_0x1a0c28||(_0x272f43+='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20'+this[_0x5d0d3d(0x6b6)]+_0x5d0d3d(0x890)+this[_0x5d0d3d(0x67b)]+_0x5d0d3d(0xbb2)+this[_0x5d0d3d(0x92f)]+_0x5d0d3d(0xa0f)+this['_reflectionCoordsName']+_0x5d0d3d(0xbb2)+this[_0x5d0d3d(0x92f)]+'.xy;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20'+this[_0x5d0d3d(0x2b8)]+_0x5d0d3d(0xd4d)+this[_0x5d0d3d(0x67b)]+_0x5d0d3d(0x8f4)+this['_reflectionVectorName']+'.z;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+this['_reflectionCoordsName']+_0x5d0d3d(0x575)+this[_0x5d0d3d(0x67b)]+_0x5d0d3d(0x6dd)),_0x272f43;}['handleFragmentSideCodeReflectionColor'](_0x50c4ea,_0x4e599b=_0x1288b2(0x93a)){var _0x4f8397=_0x1288b2,_0x7a1c39=_0x4f8397(0x691)+(0x0===_0x4e599b[_0x4f8397(0x9ff)]?'4':_0x4e599b['length']-0x1)+('\x20'+this['_reflectionColorName']+_0x4f8397(0x60d)+this[_0x4f8397(0x6b6)]+'\x0d\x0a');return(_0x7a1c39=_0x7a1c39+(_0x50c4ea?this[_0x4f8397(0x846)]+_0x4f8397(0xc11)+this[_0x4f8397(0xbc0)]+',\x20'+this['_reflectionVectorName']+',\x20'+_0x50c4ea+')'+_0x4e599b+';\x0d\x0a':this[_0x4f8397(0x846)]+_0x4f8397(0xc13)+this['_cubeSamplerName']+',\x20'+this[_0x4f8397(0x92f)]+')'+_0x4e599b+_0x4f8397(0x1f4))+_0x4f8397(0xa4e))+(_0x50c4ea?this[_0x4f8397(0x846)]+'\x20=\x20texture2DLodEXT('+this[_0x4f8397(0x29e)]+',\x20'+this['_reflectionCoordsName']+',\x20'+_0x50c4ea+')'+_0x4e599b+_0x4f8397(0x1f4):this[_0x4f8397(0x846)]+'\x20=\x20texture2D('+this[_0x4f8397(0x29e)]+',\x20'+this[_0x4f8397(0x67b)]+')'+_0x4e599b+';\x0d\x0a')+_0x4f8397(0xb1b);}['writeOutputs'](_0x583fe6,_0x422a3c){var _0x5f3d81=_0x1288b2;let _0x34c6c4='';if(_0x583fe6[_0x5f3d81(0x6a5)]===_0x32f689['u'][_0x5f3d81(0x53a)]){for(const _0x28a3eb of this['_outputs'])_0x28a3eb[_0x5f3d81(0x690)]&&(_0x34c6c4+=this[_0x5f3d81(0x1a7)](_0x28a3eb,_0x583fe6)+_0x5f3d81(0xbb2)+_0x422a3c+'.'+_0x28a3eb['name']+_0x5f3d81(0x1f4));}return _0x34c6c4;}[_0x1288b2(0x51a)](_0x15e444){return super['_buildBlock'](_0x15e444),this;}[_0x1288b2(0x193)](){var _0x269510=_0x1288b2;let _0x2bff03=super[_0x269510(0x193)]();return this['texture']?(this['texture'][_0x269510(0xaac)]?(_0xa860d7=this[_0x269510(0x823)]['forcedExtension'],_0x2bff03+=this[_0x269510(0x489)]+_0x269510(0x8b7)+this[_0x269510(0x823)]['name']+_0x269510(0x391)+this[_0x269510(0x823)][_0x269510(0x77b)]+_0x269510(0x652)+this[_0x269510(0x823)]['_prefiltered']+',\x20'+(_0xa860d7?'\x22'+_0xa860d7+'\x22':'null')+');\x0d\x0a'):_0x2bff03+=this[_0x269510(0x489)]+'.texture\x20=\x20new\x20BABYLON.Texture(\x22'+this[_0x269510(0x823)][_0x269510(0x587)]+'\x22,\x20null);\x0d\x0a',_0x2bff03+=this[_0x269510(0x489)]+'.texture.coordinatesMode\x20=\x20'+this['texture'][_0x269510(0x96b)]+';\x0d\x0a'):_0x2bff03;var _0xa860d7;}[_0x1288b2(0x78e)](){var _0x4e4bb6=_0x1288b2;const _0x1fb603=super['serialize']();return this[_0x4e4bb6(0x823)]&&!this[_0x4e4bb6(0x823)]['isRenderTarget']&&(_0x1fb603['texture']=this[_0x4e4bb6(0x823)]['serialize']()),_0x1fb603[_0x4e4bb6(0x444)]=this[_0x4e4bb6(0x444)],_0x1fb603;}[_0x1288b2(0x538)](_0x3bcb74,_0x152a04,_0x28bcc2){var _0x45e085=_0x1288b2;super['_deserialize'](_0x3bcb74,_0x152a04,_0x28bcc2),_0x3bcb74[_0x45e085(0x823)]&&!_0x1b7d10['O'][_0x45e085(0x724)]&&(_0x28bcc2=0x0===_0x3bcb74['texture'][_0x45e085(0x509)]['indexOf'](_0x45e085(0x55d))?'':_0x28bcc2,_0x3bcb74['texture']['isCube']?this[_0x45e085(0x823)]=_0x196a52['B'][_0x45e085(0x777)](_0x3bcb74[_0x45e085(0x823)],_0x152a04,_0x28bcc2):this['texture']=_0x176212['x'][_0x45e085(0x777)](_0x3bcb74[_0x45e085(0x823)],_0x152a04,_0x28bcc2)),this[_0x45e085(0x444)]=_0x3bcb74[_0x45e085(0x444)],this[_0x45e085(0x6b9)]();}}(function(_0x36400f,_0x50e25c,_0x3e5d73,_0x251735){var _0x2b6aad=_0x1288b2,_0x36d669,_0x32df0c=arguments[_0x2b6aad(0x9ff)],_0x575163=_0x32df0c<0x3?_0x50e25c:null===_0x251735?_0x251735=Object[_0x2b6aad(0x793)](_0x50e25c,_0x3e5d73):_0x251735;if(_0x2b6aad(0x18b)==typeof Reflect&&_0x2b6aad(0xd43)==typeof Reflect[_0x2b6aad(0xd64)])_0x575163=Reflect[_0x2b6aad(0xd64)](_0x36400f,_0x50e25c,_0x3e5d73,_0x251735);else{for(var _0x268f38=_0x36400f[_0x2b6aad(0x9ff)]-0x1;0x0<=_0x268f38;_0x268f38--)(_0x36d669=_0x36400f[_0x268f38])&&(_0x575163=(_0x32df0c<0x3?_0x36d669(_0x575163):0x3<_0x32df0c?_0x36d669(_0x50e25c,_0x3e5d73,_0x575163):_0x36d669(_0x50e25c,_0x3e5d73))||_0x575163);}0x3<_0x32df0c&&_0x575163&&Object['defineProperty'](_0x50e25c,_0x3e5d73,_0x575163);}([(0x0,_0x49cbb8['p'])('Generate\x20only\x20fragment\x20code',_0x49cbb8['U'][_0x1288b2(0x314)],'ADVANCED',{'notifiers':{'rebuild':!0x0,'update':!0x0,'onValidation':_0x5742e2[_0x1288b2(0x42c)]}})],_0x5742e2[_0x1288b2(0x21e)],'generateOnlyFragmentCode',void 0x0),(0x0,_0x2e95b3['H'])(_0x1288b2(0xbbd),_0x5742e2));},0x7a1d:(_0x8ca6c4,_0x33ce54,_0x4c4e22)=>{var _0x238139=a7_0x51ebec;_0x4c4e22['d'](_0x33ce54,{'$':()=>_0x192328});var _0x33ce54=_0x4c4e22(0x10b7b),_0x4c675d=_0x4c4e22(0x17eee),_0x591867=_0x4c4e22(0x17368),_0x3a3d55=_0x4c4e22(0xf582),_0x1445e7=_0x4c4e22(0x4158),_0x54e098=_0x4c4e22(0x97e6),_0x3fb772=_0x4c4e22(0x9bf9),_0x23c015=_0x4c4e22(0x2923);class _0x192328 extends _0x33ce54['k']{constructor(_0x4ebed9){var _0x484baa=a7_0x4956;super(_0x4ebed9,_0x3a3d55['u'][_0x484baa(0x53a)]),this[_0x484baa(0x6d2)]=!0x0,this[_0x484baa(0x72b)](_0x484baa(0x658),_0x4c675d['E'][_0x484baa(0x3f5)],!0x0,_0x3a3d55['u'][_0x484baa(0x53a)]),this[_0x484baa(0x72b)]('indexOfRefraction',_0x4c675d['E'][_0x484baa(0x3f5)],!0x0,_0x3a3d55['u'][_0x484baa(0x53a)]),this[_0x484baa(0x72b)](_0x484baa(0x7b6),_0x4c675d['E']['Float'],!0x0,_0x3a3d55['u'][_0x484baa(0x53a)]),this[_0x484baa(0x479)](_0x484baa(0xa12),_0x4c675d['E'][_0x484baa(0x402)],_0x3a3d55['u'][_0x484baa(0x53a)],new _0x3fb772['C']('iridescence',this,_0x591867['Ab'][_0x484baa(0xad9)],_0x192328,_0x484baa(0xb17)));}[_0x238139(0xc37)](_0x3942dc){var _0x3c8146=_0x238139;_0x3942dc[_0x3c8146(0x1cc)](_0x3c8146(0x6e4)),_0x3942dc[_0x3c8146(0x1cc)](_0x3c8146(0x71f));}['getClassName'](){var _0x1f56d2=_0x238139;return _0x1f56d2(0xb17);}get[_0x238139(0x658)](){var _0x43b6e=_0x238139;return this[_0x43b6e(0xc7b)][0x0];}get['indexOfRefraction'](){var _0x5992c7=_0x238139;return this[_0x5992c7(0xc7b)][0x1];}get['thickness'](){var _0x5bf202=_0x238139;return this[_0x5bf202(0xc7b)][0x2];}get[_0x238139(0xa12)](){var _0x575ec1=_0x238139;return this[_0x575ec1(0xb1d)][0x0];}[_0x238139(0x8f7)](){var _0x1eb1da=_0x238139;if(!this['intensity'][_0x1eb1da(0x297)]){const _0x135a7f=new _0x54e098['S'](_0x1eb1da(0x9d0),_0x3a3d55['u'][_0x1eb1da(0x53a)],_0x4c675d['E'][_0x1eb1da(0x3f5)]),_0x498c38=(_0x135a7f[_0x1eb1da(0xc1d)]=0x1,_0x135a7f[_0x1eb1da(0xbbf)][_0x1eb1da(0xc3d)](this['intensity']),new _0x54e098['S']('Iridescence\x20ior',_0x3a3d55['u']['Fragment'],_0x4c675d['E'][_0x1eb1da(0x3f5)])),_0x1ddfe0=(_0x498c38[_0x1eb1da(0xc1d)]=1.3,_0x498c38[_0x1eb1da(0xbbf)][_0x1eb1da(0xc3d)](this[_0x1eb1da(0x9e7)]),new _0x54e098['S'](_0x1eb1da(0x1ef),_0x3a3d55['u'][_0x1eb1da(0x53a)],_0x4c675d['E'][_0x1eb1da(0x3f5)]));_0x1ddfe0[_0x1eb1da(0xc1d)]=0x190,_0x1ddfe0[_0x1eb1da(0xbbf)][_0x1eb1da(0xc3d)](this[_0x1eb1da(0x7b6)]);}}['prepareDefines'](_0x1598fb,_0x583e65,_0x7e6720){var _0x44bc82=_0x238139;super[_0x44bc82(0x8a8)](_0x1598fb,_0x583e65,_0x7e6720),_0x7e6720[_0x44bc82(0xd33)](_0x44bc82(0x499),!0x0,!0x0),_0x7e6720[_0x44bc82(0xd33)](_0x44bc82(0x9f6),!0x1,!0x0),_0x7e6720[_0x44bc82(0xd33)](_0x44bc82(0x1cd),!0x1,!0x0);}static[_0x238139(0x365)](_0x2d6d3e){var _0x4d344e=_0x238139;return''+(_0x4d344e(0x524)+(null!=_0x2d6d3e&&_0x2d6d3e[_0x4d344e(0x658)][_0x4d344e(0x297)]?_0x2d6d3e[_0x4d344e(0x658)]['associatedVariableName']:'1.')+',\x20'+(null!=_0x2d6d3e&&_0x2d6d3e['indexOfRefraction'][_0x4d344e(0x297)]?_0x2d6d3e[_0x4d344e(0x9e7)][_0x4d344e(0x6d8)]:_0x23c015['B']['_DefaultIndexOfRefraction'])+',\x201.,\x20'+(null!=_0x2d6d3e&&_0x2d6d3e[_0x4d344e(0x7b6)][_0x4d344e(0x297)]?_0x2d6d3e[_0x4d344e(0x7b6)][_0x4d344e(0x6d8)]:_0x23c015['B'][_0x4d344e(0x782)])+_0x4d344e(0x2e7));}['_buildBlock'](_0xd5a161){var _0x3d0a17=_0x238139;return _0xd5a161[_0x3d0a17(0x6a5)]===_0x3a3d55['u'][_0x3d0a17(0x53a)]&&(_0xd5a161[_0x3d0a17(0x528)][_0x3d0a17(0x7a4)]['push'](this),_0xd5a161[_0x3d0a17(0x528)]['blocksWithDefines']['push'](this)),this;}[_0x238139(0x78e)](){var _0x5dca57=_0x238139;return super[_0x5dca57(0x78e)]();}[_0x238139(0x538)](_0x4b341a,_0x557e9c,_0x4544cb){var _0xc57f63=_0x238139;super[_0xc57f63(0x538)](_0x4b341a,_0x557e9c,_0x4544cb);}}(0x0,_0x1445e7['H'])(_0x238139(0xc1a),_0x192328);},0xcccf:(_0x275822,_0x521b26,_0x412be5)=>{var _0x2108be=a7_0x51ebec;_0x412be5['d'](_0x521b26,{'u':()=>_0x43c097});var _0x4e257f=_0x412be5(0x17eee),_0x3e1a62=_0x412be5(0xf582),_0x430f14=_0x412be5(0x1533d);class _0x43c097{constructor(){var _0x4c396e=a7_0x4956;this[_0x4c396e(0xb2a)]=!0x1,this[_0x4c396e(0xd2c)]=new Array(),this['uniforms']=new Array(),this['constants']=new Array(),this[_0x4c396e(0xafa)]=new Array(),this['functions']={},this[_0x4c396e(0x27c)]={},this['counters']={},this[_0x4c396e(0xc57)]='',this[_0x4c396e(0xcc7)]='',this[_0x4c396e(0x8fb)]='',this[_0x4c396e(0xa4d)]='',this[_0x4c396e(0xb86)]='',this[_0x4c396e(0xd38)]='',this['_repeatableContentAnchorIndex']=0x0,this[_0x4c396e(0x566)]='',this[_0x4c396e(0xd4a)]='';}[_0x2108be(0x65d)](_0xa02e90){var _0x2e21a5=_0x2108be,_0xa02e90=_0xa02e90[_0x2e21a5(0x528)][_0x2e21a5(0x214)],_0x232bcb=this[_0x2e21a5(0x6a5)]===_0x3e1a62['u'][_0x2e21a5(0x53a)];this[_0x2e21a5(0xd4a)]='\x0d\x0a'+(_0xa02e90?_0x2e21a5(0x6a6):'')+_0x2e21a5(0xa30)+this[_0x2e21a5(0xd4a)],this[_0x2e21a5(0x8fb)]&&(this[_0x2e21a5(0xd4a)]='\x0d\x0a'+(_0xa02e90?'//Constants\x0d\x0a':'')+this[_0x2e21a5(0x8fb)]+'\x0d\x0a'+this[_0x2e21a5(0xd4a)]);let _0x1672da='';for(const _0x1cf276 in this[_0x2e21a5(0x83b)])_0x1672da+=this[_0x2e21a5(0x83b)][_0x1cf276]+'\x0d\x0a';this['compilationString']='\x0d\x0a'+_0x1672da+'\x0d\x0a'+this['compilationString'],!_0x232bcb&&this[_0x2e21a5(0xb86)]&&(this[_0x2e21a5(0xd4a)]=this[_0x2e21a5(0xd4a)]+'\x0d\x0a'+this[_0x2e21a5(0xb86)]),this[_0x2e21a5(0xd38)]&&(this[_0x2e21a5(0xd4a)]=this['compilationString']+'\x0d\x0a'+this[_0x2e21a5(0xd38)]),this[_0x2e21a5(0xd4a)]=this[_0x2e21a5(0xd4a)]+_0x2e21a5(0x7dc),this['sharedData']['varyingDeclaration']&&(this[_0x2e21a5(0xd4a)]='\x0d\x0a'+(_0xa02e90?_0x2e21a5(0xc28):'')+this[_0x2e21a5(0x528)][_0x2e21a5(0xa11)]+'\x0d\x0a'+this[_0x2e21a5(0xd4a)]),this[_0x2e21a5(0xa4d)]&&(this[_0x2e21a5(0xd4a)]='\x0d\x0a'+(_0xa02e90?'//Samplers\x0d\x0a':'')+this['_samplerDeclaration']+'\x0d\x0a'+this[_0x2e21a5(0xd4a)]),this[_0x2e21a5(0xcc7)]&&(this['compilationString']='\x0d\x0a'+(_0xa02e90?_0x2e21a5(0x685):'')+this[_0x2e21a5(0xcc7)]+'\x0d\x0a'+this[_0x2e21a5(0xd4a)]),this[_0x2e21a5(0xc57)]&&!_0x232bcb&&(this[_0x2e21a5(0xd4a)]='\x0d\x0a'+(_0xa02e90?_0x2e21a5(0xb6c):'')+this['_attributeDeclaration']+'\x0d\x0a'+this[_0x2e21a5(0xd4a)]),this['compilationString']=_0x2e21a5(0xa79)+this['compilationString'],this[_0x2e21a5(0xd4a)]=_0x2e21a5(0x32a)+this['compilationString'];for(const _0x32e7d8 in this[_0x2e21a5(0x27c)]){var _0x18e9b8=this[_0x2e21a5(0x27c)][_0x32e7d8];this['compilationString']='\x0d\x0a'+_0x18e9b8+'\x0d\x0a'+this['compilationString'];}this[_0x2e21a5(0x566)]=this['compilationString'];}get['_repeatableContentAnchor'](){var _0x3b1786=_0x2108be;return _0x3b1786(0xc9e)+this[_0x3b1786(0xbae)]++ +'___###';}[_0x2108be(0x6ea)](_0x43c9b5){var _0x3c4ec7=_0x2108be;return _0x43c9b5=_0x43c9b5[_0x3c4ec7(0xa2d)](/[^a-zA-Z_]+/g,''),void 0x0===this['sharedData'][_0x3c4ec7(0x70e)][_0x43c9b5]?(this[_0x3c4ec7(0x528)][_0x3c4ec7(0x70e)][_0x43c9b5]=0x0,'output'===_0x43c9b5||_0x3c4ec7(0x823)===_0x43c9b5?_0x43c9b5+this['sharedData'][_0x3c4ec7(0x70e)][_0x43c9b5]:_0x43c9b5):(this[_0x3c4ec7(0x528)][_0x3c4ec7(0x70e)][_0x43c9b5]++,_0x43c9b5+this[_0x3c4ec7(0x528)][_0x3c4ec7(0x70e)][_0x43c9b5]);}[_0x2108be(0xd6d)](_0x508055){var _0x314d30=_0x2108be;return void 0x0===this['sharedData']['defineNames'][_0x508055]?this[_0x314d30(0x528)][_0x314d30(0x21b)][_0x508055]=0x0:this['sharedData'][_0x314d30(0x21b)][_0x508055]++,_0x508055+this['sharedData'][_0x314d30(0x21b)][_0x508055];}['_excludeVariableName'](_0x3042ad){var _0x5a8a2f=_0x2108be;this[_0x5a8a2f(0x528)]['variableNames'][_0x3042ad]=0x0;}['_emit2DSampler'](_0x2d040e){var _0x4da257=_0x2108be;this[_0x4da257(0xafa)]['indexOf'](_0x2d040e)<0x0&&(this[_0x4da257(0xa4d)]+='uniform\x20sampler2D\x20'+_0x2d040e+_0x4da257(0x1f4),this[_0x4da257(0xafa)][_0x4da257(0x2f7)](_0x2d040e));}[_0x2108be(0x232)](_0xc85340){var _0x33c35d=_0x2108be;this[_0x33c35d(0xafa)][_0x33c35d(0xaa4)](_0xc85340)<0x0&&(this[_0x33c35d(0xa4d)]+=_0x33c35d(0x93c)+_0xc85340+_0x33c35d(0x1f4),this[_0x33c35d(0xafa)][_0x33c35d(0x2f7)](_0xc85340));}[_0x2108be(0x848)](_0x174a3f){var _0x16178e=_0x2108be;switch(_0x174a3f){case _0x4e257f['E']['Float']:return _0x16178e(0xd48);case _0x4e257f['E'][_0x16178e(0x8dc)]:return _0x16178e(0x83c);case _0x4e257f['E'][_0x16178e(0xd66)]:return _0x16178e(0x180);case _0x4e257f['E'][_0x16178e(0x4f6)]:case _0x4e257f['E'][_0x16178e(0xce2)]:return'vec3';case _0x4e257f['E'][_0x16178e(0x8a7)]:case _0x4e257f['E'][_0x16178e(0xa8c)]:return'vec4';case _0x4e257f['E'][_0x16178e(0x851)]:return _0x16178e(0xbad);}return'';}[_0x2108be(0x1b1)](_0x19a484,_0x2a2e44,_0x229554=''){var _0x5d9985=_0x2108be;this[_0x5d9985(0x27c)][_0x19a484]||(this['extensions'][_0x19a484]=_0x2a2e44=_0x229554?'#if\x20'+_0x229554+'\x0d\x0a'+_0x2a2e44+_0x5d9985(0x5f2):_0x2a2e44);}[_0x2108be(0xa53)](_0x4b87c3,_0xa59170,_0x54ec7f){var _0x3ebfd1=_0x2108be;this['functions'][_0x4b87c3]||(this[_0x3ebfd1(0x528)]['emitComments']&&(_0xa59170=_0x54ec7f+'\x0d\x0a'+_0xa59170),this[_0x3ebfd1(0x83b)][_0x4b87c3]=_0xa59170);}[_0x2108be(0x2df)](_0x1af9b9,_0x37b21e,_0x35c149){var _0x34e1b1=_0x2108be;if(_0x35c149&&_0x35c149[_0x34e1b1(0x480)])return _0x34e1b1(0x7ce)+_0x1af9b9+'>'+(_0x35c149[_0x34e1b1(0x308)]?'('+_0x35c149[_0x34e1b1(0x308)]+')':'')+_0x34e1b1(0xa39)+_0x35c149[_0x34e1b1(0x480)]+']\x0d\x0a';let _0x466ab6=_0x430f14['Q'][_0x34e1b1(0x96f)][_0x1af9b9]+'\x0d\x0a';if(this[_0x34e1b1(0x528)][_0x34e1b1(0x214)]&&(_0x466ab6=_0x37b21e+'\x0d\x0a'+_0x466ab6),!_0x35c149)return _0x466ab6;if(_0x35c149['replaceStrings'])for(let _0x1d4ec7=0x0;_0x1d4ec7<_0x35c149[_0x34e1b1(0x60c)][_0x34e1b1(0x9ff)];_0x1d4ec7++){var _0x573f22=_0x35c149[_0x34e1b1(0x60c)][_0x1d4ec7];_0x466ab6=_0x466ab6[_0x34e1b1(0xa2d)](_0x573f22[_0x34e1b1(0xa35)],_0x573f22[_0x34e1b1(0xa2d)]);}return _0x466ab6;}[_0x2108be(0x4c6)](_0x5686ef,_0x5213e1,_0xf94f5f,_0x33c9e9=''){var _0x3b9af1=_0x2108be,_0xfe2762=_0x5686ef+_0x33c9e9;if(!this[_0x3b9af1(0x83b)][_0xfe2762]){if(!_0xf94f5f||!(_0xf94f5f['removeAttributes']||_0xf94f5f[_0x3b9af1(0xab8)]||_0xf94f5f[_0x3b9af1(0xa68)]||_0xf94f5f[_0x3b9af1(0xca5)]||_0xf94f5f[_0x3b9af1(0x60c)]))return _0xf94f5f&&_0xf94f5f[_0x3b9af1(0x480)]?this['functions'][_0xfe2762]='#include<'+_0x5686ef+'>'+(_0xf94f5f['substitutionVars']?'('+_0xf94f5f[_0x3b9af1(0x308)]+')':'')+'[0..'+_0xf94f5f[_0x3b9af1(0x480)]+']\x0d\x0a':this[_0x3b9af1(0x83b)][_0xfe2762]=_0x3b9af1(0x7ce)+_0x5686ef+'>'+(null!=_0xf94f5f&&_0xf94f5f['substitutionVars']?'('+(null==_0xf94f5f?void 0x0:_0xf94f5f[_0x3b9af1(0x308)])+')':'')+'\x0d\x0a',void(this[_0x3b9af1(0x528)][_0x3b9af1(0x214)]&&(this[_0x3b9af1(0x83b)][_0xfe2762]=_0x5213e1+'\x0d\x0a'+this[_0x3b9af1(0x83b)][_0xfe2762]));if(this[_0x3b9af1(0x83b)][_0xfe2762]=_0x430f14['Q'][_0x3b9af1(0x96f)][_0x5686ef],this[_0x3b9af1(0x528)]['emitComments']&&(this[_0x3b9af1(0x83b)][_0xfe2762]=_0x5213e1+'\x0d\x0a'+this[_0x3b9af1(0x83b)][_0xfe2762]),_0xf94f5f['removeIfDef']&&(this[_0x3b9af1(0x83b)][_0xfe2762]=this[_0x3b9af1(0x83b)][_0xfe2762]['replace'](/^\s*?#ifdef.+$/gm,''),this[_0x3b9af1(0x83b)][_0xfe2762]=this[_0x3b9af1(0x83b)][_0xfe2762][_0x3b9af1(0xa2d)](/^\s*?#endif.*$/gm,''),this[_0x3b9af1(0x83b)][_0xfe2762]=this['functions'][_0xfe2762][_0x3b9af1(0xa2d)](/^\s*?#else.*$/gm,''),this[_0x3b9af1(0x83b)][_0xfe2762]=this['functions'][_0xfe2762]['replace'](/^\s*?#elif.*$/gm,'')),_0xf94f5f[_0x3b9af1(0x5e9)]&&(this[_0x3b9af1(0x83b)][_0xfe2762]=this['functions'][_0xfe2762][_0x3b9af1(0xa2d)](/^\s*?attribute.+$/gm,'')),_0xf94f5f[_0x3b9af1(0xab8)]&&(this['functions'][_0xfe2762]=this[_0x3b9af1(0x83b)][_0xfe2762]['replace'](/^\s*?uniform.+$/gm,'')),_0xf94f5f[_0x3b9af1(0xa68)]&&(this[_0x3b9af1(0x83b)][_0xfe2762]=this[_0x3b9af1(0x83b)][_0xfe2762]['replace'](/^\s*?varying.+$/gm,'')),_0xf94f5f['replaceStrings'])for(let _0x4e9d69=0x0;_0x4e9d69<_0xf94f5f[_0x3b9af1(0x60c)][_0x3b9af1(0x9ff)];_0x4e9d69++){var _0x2c374c=_0xf94f5f[_0x3b9af1(0x60c)][_0x4e9d69];this[_0x3b9af1(0x83b)][_0xfe2762]=this['functions'][_0xfe2762]['replace'](_0x2c374c['search'],_0x2c374c['replace']);}}}[_0x2108be(0xb65)](_0x2afb68){var _0x30c1e3=_0x2108be;return-0x1===this['sharedData']['temps'][_0x30c1e3(0xaa4)](_0x2afb68)&&(this[_0x30c1e3(0x528)]['temps']['push'](_0x2afb68),!0x0);}[_0x2108be(0x4d0)](_0x51476e,_0x942a0f,_0x179270='',_0x545df9=!0x1){var _0x212671=_0x2108be;return-0x1===this[_0x212671(0x528)][_0x212671(0xa27)]['indexOf'](_0x51476e)&&(this[_0x212671(0x528)]['varyings'][_0x212671(0x2f7)](_0x51476e),_0x179270&&(_0x179270[_0x212671(0x84b)]('defined(')?this[_0x212671(0x528)]['varyingDeclaration']+=_0x212671(0x16f)+_0x179270+'\x0d\x0a':this[_0x212671(0x528)]['varyingDeclaration']+=(_0x545df9?_0x212671(0xd52):_0x212671(0xc04))+('\x20'+_0x179270+'\x0d\x0a')),this[_0x212671(0x528)][_0x212671(0xa11)]+='varying\x20'+_0x942a0f+'\x20'+_0x51476e+';\x0d\x0a',_0x179270&&(this[_0x212671(0x528)][_0x212671(0xa11)]+='#endif\x0d\x0a'),!0x0);}[_0x2108be(0x6c9)](_0x20d087,_0x3c0a64,_0x3cd87b='',_0x5d091c=!0x1){var _0xbd0f8f=_0x2108be;-0x1===this[_0xbd0f8f(0xd51)][_0xbd0f8f(0xaa4)](_0x20d087)&&(this['uniforms']['push'](_0x20d087),_0x3cd87b&&(_0x3cd87b[_0xbd0f8f(0x84b)]('defined(')?this[_0xbd0f8f(0xcc7)]+='#if\x20'+_0x3cd87b+'\x0d\x0a':this[_0xbd0f8f(0xcc7)]+=(_0x5d091c?_0xbd0f8f(0xd52):_0xbd0f8f(0xc04))+('\x20'+_0x3cd87b+'\x0d\x0a')),this[_0xbd0f8f(0xcc7)]+='uniform\x20'+_0x3c0a64+'\x20'+_0x20d087+_0xbd0f8f(0x1f4),_0x3cd87b&&(this['_uniformDeclaration']+='#endif\x0d\x0a'));}[_0x2108be(0x9aa)](_0x290a2a){var _0xb47b42=_0x2108be;return _0x290a2a[_0xb47b42(0x288)]()===_0x290a2a[_0xb47b42(0x941)](0x0)?_0x290a2a+'.0':_0x290a2a[_0xb47b42(0x288)]();}}},0xce69:(_0x592df5,_0x235dd3,_0x5deb37)=>{var _0x45fc42=a7_0x51ebec;_0x5deb37['d'](_0x235dd3,{'U':()=>_0x23e6f4});class _0x23e6f4{constructor(){var _0x5166a4=a7_0x4956;this[_0x5166a4(0x70d)]=new Array(),this[_0x5166a4(0xa27)]=new Array(),this['varyingDeclaration']='',this[_0x5166a4(0x25f)]=new Array(),this[_0x5166a4(0x162)]=new Array(),this[_0x5166a4(0x7a4)]=new Array(),this['forcedBindableBlocks']=new Array(),this[_0x5166a4(0x899)]=new Array(),this[_0x5166a4(0x201)]=new Array(),this['repeatableContentBlocks']=new Array(),this['dynamicUniformBlocks']=new Array(),this[_0x5166a4(0x2ad)]=new Array(),this[_0x5166a4(0xc9f)]=new Array(),this[_0x5166a4(0x70e)]={},this[_0x5166a4(0x21b)]={},this[_0x5166a4(0x31d)]={'needWorldViewMatrix':!0x1,'needWorldViewProjectionMatrix':!0x1,'needAlphaBlending':!0x1,'needAlphaTesting':!0x1},this[_0x5166a4(0xcb8)]={'emitVertex':!0x1,'emitFragment':!0x1,'notConnectedNonOptionalInputs':new Array()},this[_0x5166a4(0x90f)]=!0x1,this[_0x5166a4(0x70e)][_0x5166a4(0xd1d)]=0x0,this[_0x5166a4(0x70e)][_0x5166a4(0xac8)]=0x0,this['variableNames']['tangent']=0x0,this['variableNames']['uv']=0x0,this[_0x5166a4(0x70e)][_0x5166a4(0x9b6)]=0x0,this['variableNames'][_0x5166a4(0xc90)]=0x0,this['variableNames'][_0x5166a4(0x3ea)]=0x0,this[_0x5166a4(0x70e)]['uv5']=0x0,this[_0x5166a4(0x70e)][_0x5166a4(0x84e)]=0x0,this[_0x5166a4(0x70e)]['color']=0x0,this[_0x5166a4(0x70e)][_0x5166a4(0xa02)]=0x0,this[_0x5166a4(0x70e)][_0x5166a4(0xbda)]=0x0,this[_0x5166a4(0x70e)]['matricesIndicesExtra']=0x0,this[_0x5166a4(0x70e)][_0x5166a4(0x939)]=0x0,this['variableNames'][_0x5166a4(0xcf3)]=0x0,this[_0x5166a4(0x70e)]['specularBase']=0x0,this['variableNames'][_0x5166a4(0x2bb)]=0x0,this[_0x5166a4(0x70e)][_0x5166a4(0x9ab)]=0x0,this[_0x5166a4(0x70e)][_0x5166a4(0x1be)]=0x0,this['variableNames'][_0x5166a4(0x496)]=0x0,this[_0x5166a4(0x21b)]['MAINUV0']=0x0,this[_0x5166a4(0x21b)][_0x5166a4(0x954)]=0x0,this['defineNames']['MAINUV2']=0x0,this[_0x5166a4(0x21b)][_0x5166a4(0x69b)]=0x0,this[_0x5166a4(0x21b)][_0x5166a4(0xaec)]=0x0,this[_0x5166a4(0x21b)][_0x5166a4(0x3b8)]=0x0,this[_0x5166a4(0x21b)]['MAINUV6']=0x0,this[_0x5166a4(0x21b)][_0x5166a4(0xa5a)]=0x0;}[_0x45fc42(0xb99)](){var _0x1e829d=_0x45fc42;let _0x34a0da='';this[_0x1e829d(0xcb8)]['emitVertex']||this[_0x1e829d(0x90f)]||(_0x34a0da+='NodeMaterial\x20does\x20not\x20have\x20a\x20vertex\x20output.\x20You\x20need\x20to\x20at\x20least\x20add\x20a\x20block\x20that\x20generates\x20a\x20glPosition\x20value.\x0d\x0a'),this[_0x1e829d(0xcb8)][_0x1e829d(0x885)]||(_0x34a0da+='NodeMaterial\x20does\x20not\x20have\x20a\x20fragment\x20output.\x20You\x20need\x20to\x20at\x20least\x20add\x20a\x20block\x20that\x20generates\x20a\x20glFragColor\x20value.\x0d\x0a');for(const _0x474e21 of this[_0x1e829d(0xcb8)]['notConnectedNonOptionalInputs'])_0x34a0da+=_0x1e829d(0xce4)+_0x474e21[_0x1e829d(0x587)]+_0x1e829d(0xc1f)+_0x474e21['ownerBlock'][_0x1e829d(0x587)]+'['+_0x474e21[_0x1e829d(0x7f1)][_0x1e829d(0x875)]()+']\x20is\x20not\x20connected\x20and\x20is\x20not\x20optional.\x0d\x0a';if(_0x34a0da)throw _0x1e829d(0xd16)+_0x34a0da;}}},0x1515e:(_0x695b65,_0x1fd5bb,_0x134efa)=>{var _0x4de1aa=a7_0x51ebec;_0x134efa['d'](_0x1fd5bb,{'x':()=>_0x1465e0});var _0x1fd5bb=_0x134efa(0xcde8),_0x23205a=_0x134efa(0x1610);class _0x1465e0 extends _0x1fd5bb['_']{set['samples'](_0x9d62e7){var _0x2591cf=a7_0x4956;this[_0x2591cf(0x66d)]=_0x9d62e7;}get[_0x4de1aa(0x2d6)](){var _0x51ba18=_0x4de1aa;return this[_0x51ba18(0x66d)];}constructor(_0x44df8f,_0x4b16c6=0x200){var _0x51a7f9=_0x4de1aa;super('multiview\x20rtt',_0x4b16c6,_0x44df8f,!0x1,!0x0,_0x23205a['g'][_0x51a7f9(0xb46)],!0x1,void 0x0,!0x1,!0x1,!0x0,void 0x0,!0x0),this['_renderTarget']=this[_0x51a7f9(0x31a)]()['getEngine']()[_0x51a7f9(0x822)](this[_0x51a7f9(0xb4a)](),this[_0x51a7f9(0x6f7)]()),this['_texture']=this[_0x51a7f9(0x5f0)][_0x51a7f9(0x823)],this[_0x51a7f9(0x67e)][_0x51a7f9(0x1ec)]=!0x0,this['_texture'][_0x51a7f9(0x22f)]=_0x23205a['g'][_0x51a7f9(0x1f2)],this[_0x51a7f9(0x2d6)]=this[_0x51a7f9(0x54d)]()['getCaps']()[_0x51a7f9(0x5cc)]||this[_0x51a7f9(0x2d6)],this[_0x51a7f9(0x67e)][_0x51a7f9(0x2d6)]=this[_0x51a7f9(0x66d)];}[_0x4de1aa(0x29f)](){var _0x20b71a=_0x4de1aa;this['_renderTarget']&&this[_0x20b71a(0x31a)]()['getEngine']()[_0x20b71a(0x73e)](this[_0x20b71a(0x5f0)]);}[_0x4de1aa(0x6f2)](){return 0x2;}}},0x8645:(_0x495690,_0x19484d,_0x3da9b7)=>{_0x3da9b7['d'](_0x19484d,{'p':()=>_0x203790});class _0x203790{constructor(_0x529347,_0x179424,_0x4199a0){var _0xf3e634=a7_0x4956;this['id']=_0x529347,this[_0xf3e634(0x961)]=_0x179424,this[_0xf3e634(0x1d3)]=_0x4199a0;}}},0x53e8:(_0x177c64,_0x44c795,_0x578e96)=>{var _0x4f798a=a7_0x51ebec,_0x32598c=_0x578e96(0xc338),_0x578e96=_0x578e96(0xd74a);_0x578e96['V']['prototype'][_0x4f798a(0x7d3)]=function(){var _0x6cc070=_0x4f798a;this[_0x6cc070(0x67e)]&&(this[_0x6cc070(0x67e)][_0x6cc070(0xac7)]=null,this[_0x6cc070(0x67e)][_0x6cc070(0xa15)]=null,this[_0x6cc070(0x67e)][_0x6cc070(0x49a)]=!0x1);},Object[_0x4f798a(0xd34)](_0x578e96['V'][_0x4f798a(0x21e)],_0x4f798a(0x518),{'get':function(){var _0x4d6b3e=_0x4f798a;if(this[_0x4d6b3e(0x67e)]){if(this['_texture'][_0x4d6b3e(0xac7)]||this[_0x4d6b3e(0x67e)][_0x4d6b3e(0x49a)])return this[_0x4d6b3e(0x67e)][_0x4d6b3e(0xac7)];if(this[_0x4d6b3e(0x67e)]['isReady'])return this['_texture'][_0x4d6b3e(0xa15)]||(this[_0x4d6b3e(0x67e)][_0x4d6b3e(0xa15)]=_0x32598c['$'][_0x4d6b3e(0x9c8)](this),null===this[_0x4d6b3e(0x67e)][_0x4d6b3e(0xa15)]?this[_0x4d6b3e(0x67e)]['_sphericalPolynomialComputed']=!0x0:this[_0x4d6b3e(0x67e)]['_sphericalPolynomialPromise'][_0x4d6b3e(0x35f)](_0x291151=>{var _0x4f0d73=_0x4d6b3e;this['_texture'][_0x4f0d73(0xac7)]=_0x291151,this[_0x4f0d73(0x67e)][_0x4f0d73(0x49a)]=!0x0;})),null;}return null;},'set':function(_0x355503){var _0x36cd66=_0x4f798a;this['_texture']&&(this[_0x36cd66(0x67e)]['_sphericalPolynomial']=_0x355503);},'enumerable':!0x0,'configurable':!0x0});},0xf659:(_0x2bd3c7,_0x309dc6,_0x190540)=>{var _0x298f26=a7_0x51ebec;_0x190540['d'](_0x309dc6,{'N':()=>_0x4a8beb});var _0x309dc6=_0x190540(0x22be),_0x1f9f7b=_0x190540(0x4f99);class _0x4a8beb extends _0x309dc6['K']{constructor(_0x4670b9,_0x4629ab,_0x39bdcb,_0x1c39ff,_0x585867,_0x13bf13){var _0x9d2d17=a7_0x4956;super(_0x4670b9,_0x39bdcb,_0x1c39ff,_0x585867,_0x13bf13),this['_beforeCompositionPostProcesses']=[],this[_0x9d2d17(0x61b)]=!0x1,this['enabled']=!0x1,this[_0x9d2d17(0x478)]=null,this['renderTargetTexture']=_0x4629ab;}[_0x298f26(0xd30)](){var _0x1f8654=_0x298f26;this[_0x1f8654(0xb5d)]=new _0x1f9f7b['z'](_0x1f8654(0x6b8),0x1,null,void 0x0,this[_0x1f8654(0x8ba)]),this[_0x1f8654(0xb5d)]['_updateParameters']();}[_0x298f26(0x156)](){var _0x435678=_0x298f26,_0x5ef030=this[_0x435678(0x8ba)][_0x435678(0xb4a)](!0x0),_0x47cb92=this[_0x435678(0x8ba)][_0x435678(0x6f7)](!0x0),_0xde69b1=this[_0x435678(0xb4a)](),_0x32971d=this[_0x435678(0x6f7)]();_0xde69b1===_0x5ef030&&_0x32971d===_0x47cb92||(this[_0x435678(0xa0d)]({'width':_0x5ef030,'height':_0x47cb92}),this[_0x435678(0x61b)]=!0x0);}['updateCount'](_0x5c8ca9,_0x4fa340,_0x32d452){var _0x1b45fd=_0x298f26;super['updateCount'](_0x5c8ca9,_0x4fa340,_0x32d452),this[_0x1b45fd(0x61b)]=!0x0;}[_0x298f26(0xa9c)](){var _0x59f8b1=_0x298f26;this[_0x59f8b1(0x865)][_0x59f8b1(0x9ff)]=0x0;}[_0x298f26(0x38b)](){var _0x2928f0=_0x298f26;const _0x3f2f01=this[_0x2928f0(0xba4)];var _0x52e7ac;super['dispose'](),_0x3f2f01&&_0x3f2f01[_0x2928f0(0x318)]&&-0x1!==(_0x52e7ac=_0x3f2f01[_0x2928f0(0x318)][_0x2928f0(0xc5e)]['indexOf'](this))&&_0x3f2f01[_0x2928f0(0x318)][_0x2928f0(0xc5e)][_0x2928f0(0x913)](_0x52e7ac,0x1),this['imageProcessingPostProcess']&&this[_0x2928f0(0xb5d)][_0x2928f0(0x38b)](),this[_0x2928f0(0x478)]&&(this[_0x2928f0(0x478)]['_prePassRenderTarget']=null),this[_0x2928f0(0x41e)]&&(this['_outputPostProcess'][_0x2928f0(0xbab)]=!0x0,this['_outputPostProcess'][_0x2928f0(0x563)]());}}},0x15ec7:(_0x321690,_0x1c8a97,_0x45b81c)=>{function _0x5a0fb2(_0x1f7cff,_0x3af80a,_0x1241dd){var _0x10ab90=a7_0x4956;_0x1241dd&&_0x1f7cff[_0x10ab90(0xd3f)](_0x3af80a,_0x1241dd[_0x10ab90(0xac8)]['x'],_0x1241dd[_0x10ab90(0xac8)]['y'],_0x1241dd['normal']['z'],_0x1241dd['d']);}_0x45b81c['d'](_0x1c8a97,{'AN':()=>function(_0x136689,_0x43c78d,_0x2ae58c){var _0x258707=a7_0x4956;let _0x1594e0=!0x1;var _0x5ecc42=!!(null!=(_0x5ecc42=_0x136689['clipPlane'])?_0x5ecc42:_0x43c78d['clipPlane']),_0x435214=!!(null!=(_0x435214=_0x136689[_0x258707(0x2a5)])?_0x435214:_0x43c78d[_0x258707(0x2a5)]),_0x5c563b=!!(null!=(_0x5c563b=_0x136689[_0x258707(0x8b0)])?_0x5c563b:_0x43c78d[_0x258707(0x8b0)]),_0x1b0319=!!(null!=(_0x1b0319=_0x136689[_0x258707(0xb5c)])?_0x1b0319:_0x43c78d[_0x258707(0xb5c)]),_0x4ebaa9=!!(null!=(_0x4ebaa9=_0x136689[_0x258707(0x340)])?_0x4ebaa9:_0x43c78d[_0x258707(0x340)]),_0x136689=!!(null!=(_0x136689=_0x136689[_0x258707(0x175)])?_0x136689:_0x43c78d[_0x258707(0x175)]);return _0x2ae58c['CLIPPLANE']!==_0x5ecc42&&(_0x2ae58c[_0x258707(0x750)]=_0x5ecc42,_0x1594e0=!0x0),_0x2ae58c[_0x258707(0x32c)]!==_0x435214&&(_0x2ae58c[_0x258707(0x32c)]=_0x435214,_0x1594e0=!0x0),_0x2ae58c['CLIPPLANE3']!==_0x5c563b&&(_0x2ae58c[_0x258707(0x42f)]=_0x5c563b,_0x1594e0=!0x0),_0x2ae58c[_0x258707(0x223)]!==_0x1b0319&&(_0x2ae58c['CLIPPLANE4']=_0x1b0319,_0x1594e0=!0x0),_0x2ae58c[_0x258707(0x8c5)]!==_0x4ebaa9&&(_0x2ae58c[_0x258707(0x8c5)]=_0x4ebaa9,_0x1594e0=!0x0),_0x2ae58c[_0x258707(0xad1)]!==_0x136689&&(_0x2ae58c[_0x258707(0xad1)]=_0x136689,_0x1594e0=!0x0),_0x1594e0;},'an':()=>function(_0x531c5b,_0x336ca0,_0x2984a2){var _0x15b01b=a7_0x4956,_0xfffaf2;_0x5a0fb2(_0x531c5b,'vClipPlane',null!=(_0xfffaf2=_0x336ca0['clipPlane'])?_0xfffaf2:_0x2984a2['clipPlane']),_0x5a0fb2(_0x531c5b,_0x15b01b(0x740),null!=(_0xfffaf2=_0x336ca0[_0x15b01b(0x2a5)])?_0xfffaf2:_0x2984a2[_0x15b01b(0x2a5)]),_0x5a0fb2(_0x531c5b,_0x15b01b(0x392),null!=(_0xfffaf2=_0x336ca0['clipPlane3'])?_0xfffaf2:_0x2984a2[_0x15b01b(0x8b0)]),_0x5a0fb2(_0x531c5b,'vClipPlane4',null!=(_0xfffaf2=_0x336ca0[_0x15b01b(0xb5c)])?_0xfffaf2:_0x2984a2[_0x15b01b(0xb5c)]),_0x5a0fb2(_0x531c5b,_0x15b01b(0x977),null!=(_0xfffaf2=_0x336ca0['clipPlane5'])?_0xfffaf2:_0x2984a2['clipPlane5']),_0x5a0fb2(_0x531c5b,_0x15b01b(0xa6a),null!=(_0xfffaf2=_0x336ca0['clipPlane6'])?_0xfffaf2:_0x2984a2[_0x15b01b(0x175)]);},'lK':()=>function(_0x1dac34,_0x1fdeac,_0x3133b5){var _0x58afa0=a7_0x4956,_0x3273a8=!!(null!=(_0x3273a8=_0x1dac34[_0x58afa0(0xb59)])?_0x3273a8:_0x1fdeac[_0x58afa0(0xb59)]),_0x3be573=!!(null!=(_0x3be573=_0x1dac34[_0x58afa0(0x2a5)])?_0x3be573:_0x1fdeac[_0x58afa0(0x2a5)]),_0x1cdb7f=!!(null!=(_0x1cdb7f=_0x1dac34['clipPlane3'])?_0x1cdb7f:_0x1fdeac[_0x58afa0(0x8b0)]),_0x47cd2d=!!(null!=(_0x47cd2d=_0x1dac34['clipPlane4'])?_0x47cd2d:_0x1fdeac['clipPlane4']),_0x95a47=!!(null!=(_0x95a47=_0x1dac34[_0x58afa0(0x340)])?_0x95a47:_0x1fdeac['clipPlane5']),_0x1dac34=!!(null!=(_0x1dac34=_0x1dac34[_0x58afa0(0x175)])?_0x1dac34:_0x1fdeac[_0x58afa0(0x175)]);_0x3273a8&&_0x3133b5[_0x58afa0(0x2f7)](_0x58afa0(0xd75)),_0x3be573&&_0x3133b5[_0x58afa0(0x2f7)](_0x58afa0(0xb85)),_0x1cdb7f&&_0x3133b5['push'](_0x58afa0(0xb4f)),_0x47cd2d&&_0x3133b5[_0x58afa0(0x2f7)](_0x58afa0(0x3a8)),_0x95a47&&_0x3133b5['push'](_0x58afa0(0x976)),_0x1dac34&&_0x3133b5[_0x58afa0(0x2f7)]('#define\x20CLIPPLANE6');},'qx':()=>function(_0x5bcf57){var _0x572088=a7_0x4956;-0x1===_0x5bcf57['indexOf'](_0x572088(0xb74))&&_0x5bcf57[_0x572088(0x2f7)](_0x572088(0xb74)),-0x1===_0x5bcf57['indexOf']('vClipPlane2')&&_0x5bcf57['push'](_0x572088(0x740)),-0x1===_0x5bcf57[_0x572088(0xaa4)](_0x572088(0x392))&&_0x5bcf57[_0x572088(0x2f7)](_0x572088(0x392)),-0x1===_0x5bcf57['indexOf'](_0x572088(0x44c))&&_0x5bcf57[_0x572088(0x2f7)](_0x572088(0x44c)),-0x1===_0x5bcf57[_0x572088(0xaa4)]('vClipPlane5')&&_0x5bcf57['push'](_0x572088(0x977)),-0x1===_0x5bcf57['indexOf'](_0x572088(0xa6a))&&_0x5bcf57[_0x572088(0x2f7)](_0x572088(0xa6a));}});},0xe59d:(_0x5f193b,_0x4dc066,_0x12f38a)=>{var _0x424672=a7_0x51ebec;_0x12f38a['d'](_0x4dc066,{'q':()=>_0x231a79});class _0x231a79{constructor(_0x13a86a,_0x4cb76d=!0x0){var _0x4761d7=a7_0x4956;this['effect']=null,this['defines']=null,this[_0x4761d7(0x8d6)]=_0x13a86a[_0x4761d7(0x803)](),_0x4cb76d&&(this['materialContext']=_0x13a86a[_0x4761d7(0x55b)]());}static['IsWrapper'](_0x2b33c5){var _0x554634=a7_0x4956;return void 0x0===_0x2b33c5[_0x554634(0xc4d)];}static[_0x424672(0x198)](_0xd1f69a){var _0x59ad6f=_0x424672;return void 0x0===_0xd1f69a[_0x59ad6f(0xc4d)]?_0xd1f69a['effect']:_0xd1f69a;}['setEffect'](_0x548f39,_0x593592,_0xfd4248=!0x0){var _0x1e634e=_0x424672;this[_0x1e634e(0xc09)]=_0x548f39,void 0x0!==_0x593592&&(this[_0x1e634e(0x635)]=_0x593592),_0xfd4248&&null!=(_0x548f39=this[_0x1e634e(0x8d6)])&&_0x548f39['reset']();}['dispose'](){var _0x402ca0=_0x424672,_0x3893da;null!=(_0x3893da=this[_0x402ca0(0x8d6)])&&_0x3893da[_0x402ca0(0x38b)]();}}},0x1419a:(_0x5deec6,_0x1b83ef,_0x410b7f)=>{var _0x327fd0=a7_0x51ebec;_0x410b7f['d'](_0x1b83ef,{'L':()=>_0x237a65});class _0x237a65{constructor(){var _0x5be072=a7_0x4956;this['_defines']={},this[_0x5be072(0xca4)]=0x20,this[_0x5be072(0xc8d)]=-0x1,this['_mesh']=null;}['unBindMesh'](){var _0x3c244b=a7_0x4956;this[_0x3c244b(0x57c)]=null;}[_0x327fd0(0x182)](_0xd69cfb,_0x2f5a90){var _0x2e1d20=_0x327fd0;this[_0x2e1d20(0xb69)][_0xd69cfb]||(_0xd69cfb<this['_currentRank']&&(this[_0x2e1d20(0xca4)]=_0xd69cfb),_0xd69cfb>this[_0x2e1d20(0xc8d)]&&(this[_0x2e1d20(0xc8d)]=_0xd69cfb),this['_defines'][_0xd69cfb]=new Array()),this[_0x2e1d20(0xb69)][_0xd69cfb][_0x2e1d20(0x2f7)](_0x2f5a90);}[_0x327fd0(0xce8)](_0x49fc90,_0x4d9b8e){var _0x15211b=_0x327fd0;this[_0x15211b(0x57c)]=_0x4d9b8e,_0x49fc90<this[_0x15211b(0xca4)]&&(this['_currentRank']=_0x49fc90),_0x49fc90>this[_0x15211b(0xc8d)]&&(this['_maxRank']=_0x49fc90);}get[_0x327fd0(0x72e)](){var _0x430d5b=_0x327fd0;return this[_0x430d5b(0xca4)]<=this[_0x430d5b(0xc8d)];}[_0x327fd0(0x90b)](_0x3cd98d,_0x262500){var _0x4944e3=_0x327fd0;if(this[_0x4944e3(0x57c)]&&this['_mesh'][_0x4944e3(0x808)]&&0x0<this[_0x4944e3(0x57c)][_0x4944e3(0x625)]){this['_mesh'][_0x4944e3(0x808)]=!0x1,_0x3cd98d=_0x3cd98d[_0x4944e3(0xa2d)](_0x4944e3(0x160)+this[_0x4944e3(0x57c)][_0x4944e3(0x625)],_0x4944e3(0x569)),_0x262500[_0x4944e3(0x9ef)]=!0x0;var _0x4cdb55=this[_0x4944e3(0x57c)][_0x4944e3(0x31a)]();for(let _0x52164e=0x0;_0x52164e<_0x4cdb55['meshes'][_0x4944e3(0x9ff)];_0x52164e++){const _0x3b176e=_0x4cdb55[_0x4944e3(0x78d)][_0x52164e];if(_0x3b176e[_0x4944e3(0x6aa)]){if(_0x3b176e['computeBonesUsingShaders']&&0x0!==_0x3b176e['numBoneInfluencers']){if(_0x3b176e[_0x4944e3(0x6aa)][_0x4944e3(0xb3a)]()===_0x262500)_0x3b176e[_0x4944e3(0x808)]=!0x1;else{if(_0x3b176e[_0x4944e3(0x532)]){for(const _0x40165a of _0x3b176e['subMeshes'])if(_0x40165a[_0x4944e3(0xc09)]===_0x262500){_0x3b176e[_0x4944e3(0x808)]=!0x1;break;}}}}}else!this['_mesh'][_0x4944e3(0x6aa)]&&_0x3b176e['computeBonesUsingShaders']&&0x0<_0x3b176e['numBoneInfluencers']&&(_0x3b176e[_0x4944e3(0x808)]=!0x1);}}else{var _0x593dd0=this['_defines'][this[_0x4944e3(0xca4)]];if(_0x593dd0){for(let _0x16d24d=0x0;_0x16d24d<_0x593dd0[_0x4944e3(0x9ff)];_0x16d24d++)_0x3cd98d=_0x3cd98d[_0x4944e3(0xa2d)](_0x4944e3(0x704)+_0x593dd0[_0x16d24d],'');}this['_currentRank']++;}return _0x3cd98d;}}},0x366c:(_0x19c942,_0x2c5b04,_0x316589)=>{var _0x39c0d6=a7_0x51ebec,_0xcdad8a=_0x316589(0x11da1),_0x143585=_0x316589(0x14d70),_0x143585=(Object[_0x39c0d6(0xd34)](_0x143585['K'][_0x39c0d6(0x21e)],'decalMap',{'get':function(){var _0x1257f5=_0x39c0d6;if(!this[_0x1257f5(0x1f6)]){if(this[_0x1257f5(0xb50)])return null;this[_0x1257f5(0x1f6)]=new _0xcdad8a['E'](this);}return this[_0x1257f5(0x1f6)];},'enumerable':!0x0,'configurable':!0x0}),_0x316589(0x556a));Object[_0x39c0d6(0xd34)](_0x143585['m'][_0x39c0d6(0x21e)],'decalMap',{'get':function(){var _0x199548=_0x39c0d6;if(!this[_0x199548(0x1f6)]){if(this[_0x199548(0xb50)])return null;this[_0x199548(0x1f6)]=new _0xcdad8a['E'](this);}return this[_0x199548(0x1f6)];},'enumerable':!0x0,'configurable':!0x0}),_0x316589(0x10313);},0x5645:(_0x3740ff,_0x35e904,_0x232120)=>{var _0x23c5b8=a7_0x51ebec;_0x232120['d'](_0x35e904,{'H':()=>_0x59b1b3});class _0x59b1b3{constructor(_0x4e555b){var _0x2d9397=a7_0x4956;if(this[_0x2d9397(0xd41)]=[],this[_0x2d9397(0xae2)]=!0x0,this[_0x2d9397(0x5b1)]=!0x0,this['_areLightsDisposed']=!0x1,this[_0x2d9397(0xa6e)]=!0x0,this[_0x2d9397(0xa59)]=!0x0,this['_areFresnelDirty']=!0x0,this[_0x2d9397(0x69d)]=!0x0,this['_arePrePassDirty']=!0x0,this['_areImageProcessingDirty']=!0x0,this[_0x2d9397(0xaef)]=!0x1,this[_0x2d9397(0xd70)]=!0x1,this[_0x2d9397(0x9df)]=!0x1,this[_0x2d9397(0x99c)]=!0x1,this[_0x2d9397(0xcba)]=_0x4e555b){for(const _0x5cc15c in _0x4e555b)Object[_0x2d9397(0x21e)][_0x2d9397(0xb92)][_0x2d9397(0x9d3)](_0x4e555b,_0x5cc15c)&&this['_setDefaultValue'](_0x5cc15c);}}get[_0x23c5b8(0x23b)](){return this['_isDirty'];}[_0x23c5b8(0x59a)](){var _0x1024da=_0x23c5b8;this[_0x1024da(0xae2)]=!0x1,this[_0x1024da(0xa6e)]=!0x1,this[_0x1024da(0xa59)]=!0x1,this[_0x1024da(0x2fe)]=!0x1,this[_0x1024da(0x5b1)]=!0x1,this['_areLightsDisposed']=!0x1,this[_0x1024da(0x69d)]=!0x1,this['_arePrePassDirty']=!0x1,this[_0x1024da(0x907)]=!0x1;}[_0x23c5b8(0x18c)](){this['_isDirty']=!0x0;}[_0x23c5b8(0x459)](){var _0x2a84ae=_0x23c5b8;this['_areTexturesDirty']=!0x0,this[_0x2a84ae(0xa6e)]=!0x0,this['_areLightsDirty']=!0x0,this[_0x2a84ae(0x2fe)]=!0x0,this[_0x2a84ae(0x69d)]=!0x0,this[_0x2a84ae(0x907)]=!0x0,this[_0x2a84ae(0xae2)]=!0x0;}[_0x23c5b8(0x422)](){var _0x5095e5=_0x23c5b8;this[_0x5095e5(0x907)]=!0x0,this['_isDirty']=!0x0;}[_0x23c5b8(0x515)](_0x5e7eee=!0x1){var _0x367a0b=_0x23c5b8;this[_0x367a0b(0x5b1)]=!0x0,this[_0x367a0b(0x2e5)]=this[_0x367a0b(0x2e5)]||_0x5e7eee,this[_0x367a0b(0xae2)]=!0x0;}['markAsAttributesDirty'](){var _0x3f25ce=_0x23c5b8;this[_0x3f25ce(0xa6e)]=!0x0,this[_0x3f25ce(0xae2)]=!0x0;}[_0x23c5b8(0x8c8)](){var _0x3d4ba1=_0x23c5b8;this['_areTexturesDirty']=!0x0,this[_0x3d4ba1(0xae2)]=!0x0;}['markAsFresnelDirty'](){var _0x5a8493=_0x23c5b8;this[_0x5a8493(0x2fe)]=!0x0,this['_isDirty']=!0x0;}[_0x23c5b8(0x944)](){var _0x3c5ff3=_0x23c5b8;this[_0x3c5ff3(0x69d)]=!0x0,this['_isDirty']=!0x0;}[_0x23c5b8(0x984)](){var _0x5106f3=_0x23c5b8;this[_0x5106f3(0xbcb)]=!0x0,this['_isDirty']=!0x0;}['rebuild'](){var _0x2a2d50=_0x23c5b8;this[_0x2a2d50(0xd41)][_0x2a2d50(0x9ff)]=0x0;for(const _0x137511 of Object['keys'](this))'_'!==_0x137511[0x0]&&this[_0x2a2d50(0xd41)][_0x2a2d50(0x2f7)](_0x137511);if(this[_0x2a2d50(0xcba)]){for(const _0x2691f8 in this[_0x2a2d50(0xcba)])-0x1===this['_keys'][_0x2a2d50(0xaa4)](_0x2691f8)&&this[_0x2a2d50(0xd41)][_0x2a2d50(0x2f7)](_0x2691f8);}}[_0x23c5b8(0x7b2)](_0x138c49){var _0x566999=_0x23c5b8;if(this['_keys'][_0x566999(0x9ff)]!==_0x138c49[_0x566999(0xd41)]['length'])return!0x1;for(let _0x3be5b0=0x0;_0x3be5b0<this[_0x566999(0xd41)][_0x566999(0x9ff)];_0x3be5b0++){var _0x52b3c4=this['_keys'][_0x3be5b0];if(this[_0x52b3c4]!==_0x138c49[_0x52b3c4])return!0x1;}return!0x0;}['cloneTo'](_0x49d8ca){var _0xd75b4e=_0x23c5b8;this[_0xd75b4e(0xd41)][_0xd75b4e(0x9ff)]!==_0x49d8ca[_0xd75b4e(0xd41)]['length']&&(_0x49d8ca['_keys']=this['_keys']['slice'](0x0));for(let _0x5e43f=0x0;_0x5e43f<this[_0xd75b4e(0xd41)][_0xd75b4e(0x9ff)];_0x5e43f++){var _0x34449a=this['_keys'][_0x5e43f];_0x49d8ca[_0x34449a]=this[_0x34449a];}}['reset'](){var _0x33ca63=_0x23c5b8;this[_0x33ca63(0xd41)][_0x33ca63(0x544)](_0x351ea6=>this[_0x33ca63(0x7a2)](_0x351ea6));}['_setDefaultValue'](_0x1e7b50){var _0x2a14fc=_0x23c5b8,_0x3d688e,_0x19e446=null!=(_0x19e446=null==(_0x19e446=null==(_0x19e446=this[_0x2a14fc(0xcba)])?void 0x0:_0x19e446[_0x1e7b50])?void 0x0:_0x19e446['type'])?_0x19e446:typeof this[_0x1e7b50],_0x55b8b2=null==(_0x3d688e=null==(_0x3d688e=this[_0x2a14fc(0xcba)])?void 0x0:_0x3d688e[_0x1e7b50])?void 0x0:_0x3d688e[_0x2a14fc(0xaf1)];switch(_0x19e446){case _0x2a14fc(0x93e):this[_0x1e7b50]=null!=_0x55b8b2?_0x55b8b2:0x0;break;case _0x2a14fc(0xa73):this[_0x1e7b50]=null!=_0x55b8b2?_0x55b8b2:'';break;default:this[_0x1e7b50]=null!=_0x55b8b2&&_0x55b8b2;}}['toString'](){var _0x407825=_0x23c5b8;let _0x56d0df='';for(let _0x57bac8=0x0;_0x57bac8<this[_0x407825(0xd41)][_0x407825(0x9ff)];_0x57bac8++){var _0x109837=this['_keys'][_0x57bac8],_0x7b99a=this[_0x109837];switch(typeof _0x7b99a){case _0x407825(0x93e):case _0x407825(0xa73):_0x56d0df+=_0x407825(0x704)+_0x109837+'\x20'+_0x7b99a+'\x0a';break;default:_0x7b99a&&(_0x56d0df+=_0x407825(0x704)+_0x109837+'\x0a');}}return _0x56d0df;}}},0x2fbf:(_0x348f7c,_0x1b8c47,_0x9e5561)=>{var _0x51ebc3=a7_0x51ebec;_0x9e5561['d'](_0x1b8c47,{'S':()=>_0x456037});function _0x13b2a7(_0x31e17f,_0x4fb15d,_0x2e8790,_0x1dac98){var _0x4a3086=a7_0x4956,_0x32a48c,_0x59127e=arguments['length'],_0x32081b=_0x59127e<0x3?_0x4fb15d:null===_0x1dac98?_0x1dac98=Object[_0x4a3086(0x793)](_0x4fb15d,_0x2e8790):_0x1dac98;if('object'==typeof Reflect&&_0x4a3086(0xd43)==typeof Reflect[_0x4a3086(0xd64)])_0x32081b=Reflect[_0x4a3086(0xd64)](_0x31e17f,_0x4fb15d,_0x2e8790,_0x1dac98);else{for(var _0x5d51b8=_0x31e17f[_0x4a3086(0x9ff)]-0x1;0x0<=_0x5d51b8;_0x5d51b8--)(_0x32a48c=_0x31e17f[_0x5d51b8])&&(_0x32081b=(_0x59127e<0x3?_0x32a48c(_0x32081b):0x3<_0x59127e?_0x32a48c(_0x4fb15d,_0x2e8790,_0x32081b):_0x32a48c(_0x4fb15d,_0x2e8790))||_0x32081b);}0x3<_0x59127e&&_0x32081b&&Object[_0x4a3086(0xd34)](_0x4fb15d,_0x2e8790,_0x32081b);}var _0x3349a0=_0x9e5561(0x1610),_0x4b8610=_0x9e5561(0x10435);class _0x456037{constructor(){var _0x2dc698=a7_0x4956;this[_0x2dc698(0xbf4)]();}[_0x51ebc3(0xbf4)](){var _0x5a291e=_0x51ebc3;this[_0x5a291e(0xb68)]=!0x1,this[_0x5a291e(0x21f)]=0xff,this[_0x5a291e(0x40e)]=_0x3349a0['g'][_0x5a291e(0x738)],this[_0x5a291e(0x242)]=0x1,this[_0x5a291e(0x795)]=0xff,this[_0x5a291e(0x771)]=_0x3349a0['g'][_0x5a291e(0x3e6)],this[_0x5a291e(0x6e9)]=_0x3349a0['g'][_0x5a291e(0x3e6)],this[_0x5a291e(0x4bc)]=_0x3349a0['g'][_0x5a291e(0x819)];}get[_0x51ebc3(0x40e)](){var _0x364f20=_0x51ebc3;return this[_0x364f20(0x673)];}set[_0x51ebc3(0x40e)](_0x6cd4b5){this['_func']=_0x6cd4b5;}get[_0x51ebc3(0x242)](){var _0x51ca80=_0x51ebc3;return this[_0x51ca80(0x9ed)];}set[_0x51ebc3(0x242)](_0x1fd330){this['_funcRef']=_0x1fd330;}get[_0x51ebc3(0x795)](){var _0x324344=_0x51ebc3;return this[_0x324344(0x349)];}set['funcMask'](_0x6643a9){var _0x4d4ac8=_0x51ebc3;this[_0x4d4ac8(0x349)]=_0x6643a9;}get[_0x51ebc3(0x771)](){var _0x57c7bc=_0x51ebc3;return this[_0x57c7bc(0xb9b)];}set[_0x51ebc3(0x771)](_0x153a35){this['_opStencilFail']=_0x153a35;}get[_0x51ebc3(0x6e9)](){return this['_opDepthFail'];}set[_0x51ebc3(0x6e9)](_0x2fe120){var _0x5297b5=_0x51ebc3;this[_0x5297b5(0xbc5)]=_0x2fe120;}get[_0x51ebc3(0x4bc)](){var _0x3c8fbf=_0x51ebc3;return this[_0x3c8fbf(0x726)];}set[_0x51ebc3(0x4bc)](_0x57d8a1){var _0x367520=_0x51ebc3;this[_0x367520(0x726)]=_0x57d8a1;}get['mask'](){var _0x39d4bf=_0x51ebc3;return this[_0x39d4bf(0xcb6)];}set[_0x51ebc3(0x21f)](_0x24a728){var _0x552b7c=_0x51ebc3;this[_0x552b7c(0xcb6)]=_0x24a728;}get['enabled'](){var _0x22845=_0x51ebc3;return this[_0x22845(0x93f)];}set[_0x51ebc3(0xb68)](_0x501e27){this['_enabled']=_0x501e27;}[_0x51ebc3(0x875)](){var _0x19a8f1=_0x51ebc3;return _0x19a8f1(0x294);}[_0x51ebc3(0xbfe)](_0x3ae9d1){_0x4b8610['p4']['Clone'](()=>_0x3ae9d1,this);}[_0x51ebc3(0x78e)](){return _0x4b8610['p4']['Serialize'](this);}[_0x51ebc3(0x831)](_0x232df1,_0x16dbb5,_0x23fccb){var _0x489800=_0x51ebc3;_0x4b8610['p4'][_0x489800(0x777)](()=>this,_0x232df1,_0x16dbb5,_0x23fccb);}}_0x13b2a7([(0x0,_0x4b8610['qC'])()],_0x456037[_0x51ebc3(0x21e)],_0x51ebc3(0x40e),null),_0x13b2a7([(0x0,_0x4b8610['qC'])()],_0x456037[_0x51ebc3(0x21e)],'funcRef',null),_0x13b2a7([(0x0,_0x4b8610['qC'])()],_0x456037['prototype'],'funcMask',null),_0x13b2a7([(0x0,_0x4b8610['qC'])()],_0x456037[_0x51ebc3(0x21e)],_0x51ebc3(0x771),null),_0x13b2a7([(0x0,_0x4b8610['qC'])()],_0x456037[_0x51ebc3(0x21e)],_0x51ebc3(0x6e9),null),_0x13b2a7([(0x0,_0x4b8610['qC'])()],_0x456037[_0x51ebc3(0x21e)],_0x51ebc3(0x4bc),null),_0x13b2a7([(0x0,_0x4b8610['qC'])()],_0x456037[_0x51ebc3(0x21e)],_0x51ebc3(0x21f),null),_0x13b2a7([(0x0,_0x4b8610['qC'])()],_0x456037['prototype'],_0x51ebc3(0xb68),null);},0xf1ad:(_0x300895,_0x4ea298,_0x406b79)=>{var _0x2ac400=a7_0x51ebec;_0x406b79['d'](_0x4ea298,{'o':()=>_0x1ea228});var _0x480b93=_0x406b79(0x1610);class _0x1ea228{constructor(){var _0x3b8dd9=a7_0x4956;this[_0x3b8dd9(0x547)]={},this[_0x3b8dd9(0xca1)]={};}static['AddUniforms'](_0x1e985a){var _0x210825=a7_0x4956;_0x1e985a[_0x210825(0x2f7)](_0x210825(0x5b6),_0x210825(0xc77),_0x210825(0x4d9));}static[_0x2ac400(0x197)](_0x1fb160){}[_0x2ac400(0x312)](_0x24f54f,_0x22ade9,_0x3c9a23,_0x24096f,_0x4b3c67){var _0x1cdb31=_0x2ac400,_0x18fd2a;_0x22ade9['prePassRenderer']&&_0x22ade9[_0x1cdb31(0x318)][_0x1cdb31(0xb68)]&&_0x22ade9['prePassRenderer'][_0x1cdb31(0x3b9)]&&-0x1!==_0x22ade9['prePassRenderer'][_0x1cdb31(0x481)](_0x480b93['g'][_0x1cdb31(0x25c)])&&(this['previousWorldMatrices'][_0x3c9a23[_0x1cdb31(0x5bb)]]||(this[_0x1cdb31(0x547)][_0x3c9a23[_0x1cdb31(0x5bb)]]=_0x24096f[_0x1cdb31(0x669)]()),this[_0x1cdb31(0xc77)]||(this[_0x1cdb31(0xc77)]=_0x22ade9[_0x1cdb31(0x52a)]()[_0x1cdb31(0x669)](),this[_0x1cdb31(0xa1c)]=_0x22ade9[_0x1cdb31(0x52a)]()['clone']()),_0x18fd2a=_0x22ade9[_0x1cdb31(0x975)](),this[_0x1cdb31(0xa1c)][_0x1cdb31(0xb8c)]!==_0x22ade9[_0x1cdb31(0x52a)]()[_0x1cdb31(0xb8c)]?(this[_0x1cdb31(0x964)]=_0x18fd2a['frameId'],this['previousViewProjection'][_0x1cdb31(0x1e0)](this['currentViewProjection']),this[_0x1cdb31(0xa1c)][_0x1cdb31(0x1e0)](_0x22ade9[_0x1cdb31(0x52a)]())):this['_lastUpdateFrameId']!==_0x18fd2a[_0x1cdb31(0x51e)]&&(this[_0x1cdb31(0x964)]=_0x18fd2a[_0x1cdb31(0x51e)],this['previousViewProjection'][_0x1cdb31(0x1e0)](this[_0x1cdb31(0xa1c)])),_0x24f54f[_0x1cdb31(0x20f)](_0x1cdb31(0x5b6),this['previousWorldMatrices'][_0x3c9a23[_0x1cdb31(0x5bb)]]),_0x24f54f[_0x1cdb31(0x20f)](_0x1cdb31(0xc77),this['previousViewProjection']),this[_0x1cdb31(0x547)][_0x3c9a23[_0x1cdb31(0x5bb)]]=_0x24096f[_0x1cdb31(0x669)]());}}},0xead:(_0x2005ad,_0x298776,_0x3d611d)=>{var _0x33bf28=a7_0x51ebec;_0x3d611d['d'](_0x298776,{'c':()=>_0x16daec});class _0x16daec{constructor(_0x3fc0a7){var _0x4ba1e4=a7_0x4956;this['_isUbo'](_0x3fc0a7)?(this[_0x4ba1e4(0x339)]=_0x3fc0a7[_0x4ba1e4(0xbff)][_0x4ba1e4(0x373)](_0x3fc0a7),this[_0x4ba1e4(0x7c6)]=_0x3fc0a7[_0x4ba1e4(0x6fb)][_0x4ba1e4(0x373)](_0x3fc0a7),this[_0x4ba1e4(0x7cf)]=_0x3fc0a7[_0x4ba1e4(0xbbc)]['bind'](_0x3fc0a7),this['setFloat2']=_0x3fc0a7['updateFloat2'][_0x4ba1e4(0x373)](_0x3fc0a7),this['setFloat3']=_0x3fc0a7['updateFloat3']['bind'](_0x3fc0a7),this[_0x4ba1e4(0xd3f)]=_0x3fc0a7[_0x4ba1e4(0x53c)][_0x4ba1e4(0x373)](_0x3fc0a7),this[_0x4ba1e4(0x173)]=_0x3fc0a7['updateFloatArray'][_0x4ba1e4(0x373)](_0x3fc0a7),this[_0x4ba1e4(0xa25)]=_0x3fc0a7[_0x4ba1e4(0xab9)][_0x4ba1e4(0x373)](_0x3fc0a7),this[_0x4ba1e4(0x8b4)]=_0x3fc0a7[_0x4ba1e4(0x243)][_0x4ba1e4(0x373)](_0x3fc0a7),this[_0x4ba1e4(0x20f)]=_0x3fc0a7[_0x4ba1e4(0x21c)][_0x4ba1e4(0x373)](_0x3fc0a7),this[_0x4ba1e4(0xc67)]=_0x3fc0a7['updateMatrices'][_0x4ba1e4(0x373)](_0x3fc0a7),this[_0x4ba1e4(0x23c)]=_0x3fc0a7[_0x4ba1e4(0x549)][_0x4ba1e4(0x373)](_0x3fc0a7),this[_0x4ba1e4(0x25d)]=_0x3fc0a7[_0x4ba1e4(0x7fb)][_0x4ba1e4(0x373)](_0x3fc0a7),this[_0x4ba1e4(0x8a0)]=_0x3fc0a7[_0x4ba1e4(0x49e)][_0x4ba1e4(0x373)](_0x3fc0a7),this[_0x4ba1e4(0xa29)]=_0x3fc0a7[_0x4ba1e4(0x531)][_0x4ba1e4(0x373)](_0x3fc0a7),this[_0x4ba1e4(0x207)]=_0x3fc0a7[_0x4ba1e4(0xb6f)][_0x4ba1e4(0x373)](_0x3fc0a7),this[_0x4ba1e4(0x4ad)]=_0x3fc0a7[_0x4ba1e4(0x5b3)][_0x4ba1e4(0x373)](_0x3fc0a7),this['setInt2']=_0x3fc0a7['updateInt2'][_0x4ba1e4(0x373)](_0x3fc0a7),this[_0x4ba1e4(0x56d)]=_0x3fc0a7[_0x4ba1e4(0x409)][_0x4ba1e4(0x373)](_0x3fc0a7),this['setInt4']=_0x3fc0a7[_0x4ba1e4(0x65e)][_0x4ba1e4(0x373)](_0x3fc0a7)):(this[_0x4ba1e4(0x339)]=_0x3fc0a7[_0x4ba1e4(0x339)][_0x4ba1e4(0x373)](_0x3fc0a7),this[_0x4ba1e4(0x7c6)]=_0x3fc0a7[_0x4ba1e4(0x7c6)][_0x4ba1e4(0x373)](_0x3fc0a7),this[_0x4ba1e4(0x7cf)]=_0x3fc0a7[_0x4ba1e4(0x7cf)][_0x4ba1e4(0x373)](_0x3fc0a7),this['setFloat2']=_0x3fc0a7[_0x4ba1e4(0x351)][_0x4ba1e4(0x373)](_0x3fc0a7),this['setFloat3']=_0x3fc0a7[_0x4ba1e4(0x909)]['bind'](_0x3fc0a7),this[_0x4ba1e4(0xd3f)]=_0x3fc0a7[_0x4ba1e4(0xd3f)][_0x4ba1e4(0x373)](_0x3fc0a7),this['setFloatArray']=_0x3fc0a7[_0x4ba1e4(0x173)][_0x4ba1e4(0x373)](_0x3fc0a7),this[_0x4ba1e4(0xa25)]=_0x3fc0a7[_0x4ba1e4(0xa25)][_0x4ba1e4(0x373)](_0x3fc0a7),this[_0x4ba1e4(0x8b4)]=_0x3fc0a7[_0x4ba1e4(0x8b4)][_0x4ba1e4(0x373)](_0x3fc0a7),this[_0x4ba1e4(0x20f)]=_0x3fc0a7[_0x4ba1e4(0x20f)][_0x4ba1e4(0x373)](_0x3fc0a7),this[_0x4ba1e4(0xc67)]=_0x3fc0a7[_0x4ba1e4(0xc67)][_0x4ba1e4(0x373)](_0x3fc0a7),this[_0x4ba1e4(0x23c)]=_0x3fc0a7[_0x4ba1e4(0x23c)][_0x4ba1e4(0x373)](_0x3fc0a7),this[_0x4ba1e4(0x25d)]=_0x3fc0a7['setVector4'][_0x4ba1e4(0x373)](_0x3fc0a7),this['setColor3']=_0x3fc0a7[_0x4ba1e4(0x8a0)]['bind'](_0x3fc0a7),this[_0x4ba1e4(0xa29)]=_0x3fc0a7[_0x4ba1e4(0xa29)][_0x4ba1e4(0x373)](_0x3fc0a7),this[_0x4ba1e4(0x207)]=_0x3fc0a7[_0x4ba1e4(0x207)][_0x4ba1e4(0x373)](_0x3fc0a7),this[_0x4ba1e4(0x4ad)]=_0x3fc0a7[_0x4ba1e4(0x4ad)][_0x4ba1e4(0x373)](_0x3fc0a7),this[_0x4ba1e4(0x906)]=_0x3fc0a7['setInt2'][_0x4ba1e4(0x373)](_0x3fc0a7),this['setInt3']=_0x3fc0a7['setInt3'][_0x4ba1e4(0x373)](_0x3fc0a7),this[_0x4ba1e4(0xd0b)]=_0x3fc0a7[_0x4ba1e4(0xd0b)]['bind'](_0x3fc0a7));}[_0x33bf28(0xa10)](_0x1b6248){return void 0x0!==_0x1b6248['addUniform'];}}},0x17194:(_0x16531c,_0x16e378,_0x138184)=>{var _0x104a77=a7_0x51ebec;_0x138184['d'](_0x16e378,{'$':()=>_0x12ddca});class _0x12ddca{constructor(_0x367e5f,_0x585a31){var _0x421cb3=a7_0x4956;this['width']=_0x367e5f,this[_0x421cb3(0x7f5)]=_0x585a31;}['toString'](){var _0x36cdb5=a7_0x4956;return'{W:\x20'+this[_0x36cdb5(0x503)]+',\x20H:\x20'+this[_0x36cdb5(0x7f5)]+'}';}[_0x104a77(0x875)](){var _0x532580=_0x104a77;return _0x532580(0x85a);}[_0x104a77(0x857)](){var _0x3e0a22=_0x104a77;return 0x18d*(0x0|this[_0x3e0a22(0x503)])^(0x0|this['height']);}['copyFrom'](_0x1f6125){var _0x4a40de=_0x104a77;this[_0x4a40de(0x503)]=_0x1f6125[_0x4a40de(0x503)],this['height']=_0x1f6125['height'];}[_0x104a77(0xb34)](_0x152447,_0x218e0f){var _0x1c5693=_0x104a77;return this[_0x1c5693(0x503)]=_0x152447,this[_0x1c5693(0x7f5)]=_0x218e0f,this;}[_0x104a77(0x82e)](_0x1cc9a6,_0x21eb43){var _0x4c29c4=_0x104a77;return this[_0x4c29c4(0xb34)](_0x1cc9a6,_0x21eb43);}[_0x104a77(0x1b8)](_0x1556df,_0x41eeed){var _0x4fb3fc=_0x104a77;return new _0x12ddca(this[_0x4fb3fc(0x503)]*_0x1556df,this[_0x4fb3fc(0x7f5)]*_0x41eeed);}[_0x104a77(0x669)](){var _0x21982a=_0x104a77;return new _0x12ddca(this[_0x21982a(0x503)],this[_0x21982a(0x7f5)]);}[_0x104a77(0x492)](_0x5b8ecc){var _0x3c800f=_0x104a77;return!!_0x5b8ecc&&this[_0x3c800f(0x503)]===_0x5b8ecc['width']&&this[_0x3c800f(0x7f5)]===_0x5b8ecc[_0x3c800f(0x7f5)];}get['surface'](){var _0x27bdf7=_0x104a77;return this[_0x27bdf7(0x503)]*this[_0x27bdf7(0x7f5)];}static[_0x104a77(0x8bd)](){return new _0x12ddca(0x0,0x0);}[_0x104a77(0x840)](_0x457054){var _0x58e55c=_0x104a77;return new _0x12ddca(this[_0x58e55c(0x503)]+_0x457054[_0x58e55c(0x503)],this[_0x58e55c(0x7f5)]+_0x457054['height']);}['subtract'](_0x551ede){var _0x4c74d7=_0x104a77;return new _0x12ddca(this[_0x4c74d7(0x503)]-_0x551ede[_0x4c74d7(0x503)],this[_0x4c74d7(0x7f5)]-_0x551ede[_0x4c74d7(0x7f5)]);}static[_0x104a77(0x2cc)](_0x550530,_0x1f3cd2,_0x2826d9){var _0x28cd6d=_0x104a77,_0x22fcce=_0x550530[_0x28cd6d(0x503)]+(_0x1f3cd2[_0x28cd6d(0x503)]-_0x550530[_0x28cd6d(0x503)])*_0x2826d9,_0x1f3cd2=_0x550530[_0x28cd6d(0x7f5)]+(_0x1f3cd2[_0x28cd6d(0x7f5)]-_0x550530[_0x28cd6d(0x7f5)])*_0x2826d9;return new _0x12ddca(_0x22fcce,_0x1f3cd2);}}},0x1f13:(_0x5daa80,_0x1cb7fd,_0x2a3062)=>{var _0x2f0e93=a7_0x51ebec;_0x2a3062['d'](_0x1cb7fd,{'l':()=>_0x49ea86});class _0x49ea86{constructor(_0x52d584,_0x34aba3,_0x1bf771,_0x48191a){var _0x4b6326=a7_0x4956;this['x']=_0x52d584,this['y']=_0x34aba3,this[_0x4b6326(0x503)]=_0x1bf771,this[_0x4b6326(0x7f5)]=_0x48191a;}[_0x2f0e93(0x7ed)](_0x397124,_0x5c7f78){var _0x17c15d=_0x2f0e93;return new _0x49ea86(this['x']*_0x397124,this['y']*_0x5c7f78,this[_0x17c15d(0x503)]*_0x397124,this[_0x17c15d(0x7f5)]*_0x5c7f78);}[_0x2f0e93(0x394)](_0x33be5b,_0x5c3865,_0x1a8c77){var _0x24023f=_0x2f0e93;return _0x1a8c77['x']=this['x']*_0x33be5b,_0x1a8c77['y']=this['y']*_0x5c3865,_0x1a8c77[_0x24023f(0x503)]=this[_0x24023f(0x503)]*_0x33be5b,_0x1a8c77[_0x24023f(0x7f5)]=this[_0x24023f(0x7f5)]*_0x5c3865,this;}[_0x2f0e93(0x669)](){var _0x3a2b81=_0x2f0e93;return new _0x49ea86(this['x'],this['y'],this[_0x3a2b81(0x503)],this[_0x3a2b81(0x7f5)]);}}},0x10313:(_0x3da24f,_0x3e1156,_0x123ab0)=>{var _0x56fddf=a7_0x51ebec;_0x123ab0=_0x123ab0(0x349f),Object['defineProperty'](_0x123ab0['x'][_0x56fddf(0x21e)],_0x56fddf(0x9ba),{'get':function(){return this['_decalMap'];},'set':function(_0x5d4ce8){var _0x500c57=_0x56fddf;this[_0x500c57(0x1f6)]=_0x5d4ce8;},'enumerable':!0x0,'configurable':!0x0});},0x92e2:(_0x142557,_0x404d48,_0x46d981)=>{_0x46d981['d'](_0x404d48,{'g':()=>_0x49fa55});class _0x49fa55{constructor(_0x5c6378,_0x489883){var _0x3e493c=a7_0x4956;this[_0x3e493c(0x7e4)]=_0x5c6378,this[_0x3e493c(0x688)]=_0x489883;}}},0x8f50:(_0xcd44dc,_0x46ce26,_0x4fbc74)=>{var _0x4bf04a=a7_0x51ebec,_0x4b5e81=_0x4fbc74(0x1610),_0x946030=_0x4fbc74(0xd53f),_0x4fbc74=_0x4fbc74(0x9607);_0x4fbc74['P'][_0x4bf04a(0x21e)][_0x4bf04a(0x88b)]=function(_0x3864bf,_0x1d2847,_0x56bf2b,_0x166572,_0x487b79,_0x5a0b67){var _0x2d471c=_0x4bf04a;const _0x4c8e32=_0x946030['jp']['Vector3'][0x0];var _0x140a84=_0x946030['jp'][_0x2d471c(0xce2)][0x1];let _0x35c45c=Infinity;for(let _0x32a903=this[_0x2d471c(0x9b0)];_0x32a903<this[_0x2d471c(0x9b0)]+this[_0x2d471c(0x714)]-(0x3-_0x166572);_0x32a903+=_0x166572){var _0x104f2b=_0x56bf2b[_0x32a903],_0xcee30e=_0x56bf2b[_0x32a903+0x1],_0x365f87=_0x56bf2b[_0x32a903+0x2];_0x487b79&&0xffffffff===_0x365f87?_0x32a903+=0x2:(_0x104f2b=_0x1d2847[_0x104f2b],_0xcee30e=_0x1d2847[_0xcee30e],_0x365f87=_0x1d2847[_0x365f87],_0x104f2b&&_0xcee30e&&_0x365f87&&(_0x104f2b=_0x946030['P'][_0x2d471c(0x980)](_0x3864bf,_0x104f2b,_0xcee30e,_0x365f87,_0x140a84))<_0x35c45c&&(_0x4c8e32['copyFrom'](_0x140a84),_0x35c45c=_0x104f2b));}return _0x5a0b67[_0x2d471c(0x1e0)](_0x4c8e32),_0x35c45c;},_0x4fbc74['P'][_0x4bf04a(0x21e)][_0x4bf04a(0x580)]=function(_0x2dd340,_0x1a14b5,_0x3ea720,_0xe62e0e){var _0x19bf64=_0x4bf04a;const _0x3b0155=_0x946030['jp'][_0x19bf64(0xce2)][0x0];var _0x1c0fc6=_0x946030['jp'][_0x19bf64(0xce2)][0x1];let _0x1a8eca=Infinity;for(let _0xff4779=this['verticesStart'];_0xff4779<this['verticesStart']+this[_0x19bf64(0xa5f)];_0xff4779+=0x3){var _0x45e6d4=_0x1a14b5[_0xff4779],_0x451f2a=_0x1a14b5[_0xff4779+0x1],_0x21fc36=_0x1a14b5[_0xff4779+0x2],_0x45e6d4=_0x946030['P'][_0x19bf64(0x980)](_0x2dd340,_0x45e6d4,_0x451f2a,_0x21fc36,_0x1c0fc6);_0x45e6d4<_0x1a8eca&&(_0x3b0155['copyFrom'](_0x1c0fc6),_0x1a8eca=_0x45e6d4);}return _0xe62e0e[_0x19bf64(0x1e0)](_0x3b0155),_0x1a8eca;},_0x4fbc74['P']['prototype']['projectToRef']=function(_0x112b7c,_0x4712fd,_0x4edf71,_0x34dfc1){var _0x26f9af=_0x4bf04a,_0x1b9391=this[_0x26f9af(0x2a1)]();if(!_0x1b9391)return-0x1;let _0x15e848=0x3,_0x571525=!0x1;switch(_0x1b9391[_0x26f9af(0xcef)]){case _0x4b5e81['g'][_0x26f9af(0x734)]:case _0x4b5e81['g'][_0x26f9af(0x1c5)]:case _0x4b5e81['g'][_0x26f9af(0x6c7)]:case _0x4b5e81['g'][_0x26f9af(0x6cd)]:return-0x1;case _0x4b5e81['g'][_0x26f9af(0xaf8)]:_0x15e848=0x1,_0x571525=!0x0;}return _0x1b9391[_0x26f9af(0xcef)]===_0x4b5e81['g']['MATERIAL_LineListDrawMode']?-0x1:!_0x4edf71[_0x26f9af(0x9ff)]&&this[_0x26f9af(0x57c)][_0x26f9af(0x32e)]?this[_0x26f9af(0x580)](_0x112b7c,_0x4712fd,_0x4edf71,_0x34dfc1):this['_projectOnTrianglesToRef'](_0x112b7c,_0x4712fd,_0x4edf71,_0x15e848,_0x571525,_0x34dfc1);};},0xe02:(_0x69e87f,_0x1b8a8b,_0x5aa186)=>{var _0x37fea6=a7_0x51ebec,_0x1d1e10=_0x5aa186(0x94e3),_0x23cf9a=_0x5aa186(0x1679c),_0x411534=_0x5aa186(0xd53f),_0x1fe9fd=_0x5aa186(0x9a70),_0x505419=_0x5aa186(0x454e);_0x1d1e10['Kj'][_0x37fea6(0x21e)]['thinInstanceAdd']=function(_0x18ba10,_0x29b0d9=!0x0){var _0x13def7=_0x37fea6;if(!this[_0x13def7(0x31a)]()[_0x13def7(0x975)]()[_0x13def7(0x61c)]()[_0x13def7(0xa63)])return _0x1fe9fd['Y'][_0x13def7(0x1ce)]('Thin\x20Instances\x20are\x20not\x20supported\x20on\x20this\x20device\x20as\x20Instanced\x20Array\x20extension\x20not\x20supported'),-0x1;this[_0x13def7(0x4c4)](_0x13def7(0x574),Array[_0x13def7(0x59c)](_0x18ba10)?_0x18ba10[_0x13def7(0x9ff)]:0x1);var _0x3c6f54=this['_thinInstanceDataStorage']['instancesCount'];if(Array[_0x13def7(0x59c)](_0x18ba10)){for(let _0x5076c0=0x0;_0x5076c0<_0x18ba10[_0x13def7(0x9ff)];++_0x5076c0)this[_0x13def7(0xb06)](this[_0x13def7(0x7ef)][_0x13def7(0x2a8)]++,_0x18ba10[_0x5076c0],_0x5076c0===_0x18ba10[_0x13def7(0x9ff)]-0x1&&_0x29b0d9);}else this[_0x13def7(0xb06)](this[_0x13def7(0x7ef)][_0x13def7(0x2a8)]++,_0x18ba10,_0x29b0d9);return _0x3c6f54;},_0x1d1e10['Kj'][_0x37fea6(0x21e)][_0x37fea6(0x8c9)]=function(_0x200b9f=!0x0){var _0x5bce72=_0x37fea6;return this[_0x5bce72(0x2ac)](_0x411534['y3'][_0x5bce72(0xb3e)],_0x200b9f);},_0x1d1e10['Kj']['prototype'][_0x37fea6(0x75d)]=function(_0x5c1144,_0x3b5d22){var _0x4767a6=_0x37fea6;_0x5c1144===_0x23cf9a['o'][_0x4767a6(0x651)]&&(_0x5c1144=_0x23cf9a['o'][_0x4767a6(0x7f2)]),this[_0x4767a6(0x44a)](_0x5c1144),this[_0x4767a6(0x6ef)](),this[_0x4767a6(0x99b)][_0x4767a6(0x661)][_0x5c1144]=_0x3b5d22,this[_0x4767a6(0x99b)][_0x4767a6(0x2b2)][_0x5c1144]=_0x3b5d22*Math['max'](0x20,this[_0x4767a6(0x7ef)][_0x4767a6(0x2a8)]),this[_0x4767a6(0x99b)][_0x4767a6(0x687)][_0x5c1144]=new Float32Array(this[_0x4767a6(0x99b)][_0x4767a6(0x2b2)][_0x5c1144]),this[_0x4767a6(0x99b)]['vertexBuffers'][_0x5c1144]=new _0x23cf9a['o'](this['getEngine'](),this[_0x4767a6(0x99b)][_0x4767a6(0x687)][_0x5c1144],_0x5c1144,!0x0,!0x1,_0x3b5d22,!0x0),this[_0x4767a6(0x89a)](this[_0x4767a6(0x99b)][_0x4767a6(0xc93)][_0x5c1144]);},_0x1d1e10['Kj'][_0x37fea6(0x21e)]['thinInstanceSetMatrixAt']=function(_0xc1d3f6,_0x23215f,_0x2f7ac8=!0x0){var _0x3887f8=_0x37fea6;if(!this[_0x3887f8(0x7ef)]['matrixData']||_0xc1d3f6>=this[_0x3887f8(0x7ef)]['instancesCount'])return!0x1;var _0x4e05ef=this[_0x3887f8(0x7ef)]['matrixData'];return _0x23215f['copyToArray'](_0x4e05ef,0x10*_0xc1d3f6),this[_0x3887f8(0x7ef)]['worldMatrices']&&(this[_0x3887f8(0x7ef)][_0x3887f8(0x579)][_0xc1d3f6]=_0x23215f),_0x2f7ac8&&(this[_0x3887f8(0x5d3)]('matrix'),this[_0x3887f8(0x636)]||this[_0x3887f8(0x98e)](!0x1)),!0x0;},_0x1d1e10['Kj'][_0x37fea6(0x21e)]['thinInstanceSetAttributeAt']=function(_0xbd05aa,_0x2fca75,_0x54649c,_0x45167a=!0x0){var _0x296192=_0x37fea6;return _0xbd05aa===_0x23cf9a['o'][_0x296192(0x651)]&&(_0xbd05aa=_0x23cf9a['o'][_0x296192(0x7f2)]),!(!this[_0x296192(0x99b)]||!this[_0x296192(0x99b)][_0x296192(0x687)][_0xbd05aa]||_0x2fca75>=this['_thinInstanceDataStorage']['instancesCount']||(this[_0x296192(0x4c4)](_0xbd05aa,0x0),this[_0x296192(0x99b)]['data'][_0xbd05aa]['set'](_0x54649c,_0x2fca75*this['_userThinInstanceBuffersStorage']['strides'][_0xbd05aa]),_0x45167a&&this['thinInstanceBufferUpdated'](_0xbd05aa),0x0));},Object[_0x37fea6(0xd34)](_0x1d1e10['Kj'][_0x37fea6(0x21e)],_0x37fea6(0x8c4),{'get':function(){var _0x53dbe9=_0x37fea6;return this[_0x53dbe9(0x7ef)][_0x53dbe9(0x2a8)];},'set':function(_0x44133d){var _0x48404a=_0x37fea6,_0x49dae2=null!=(_0x49dae2=this['_thinInstanceDataStorage'][_0x48404a(0x4a1)])?_0x49dae2:null==(_0x49dae2=this[_0x48404a(0xcbc)])?void 0x0:_0x49dae2[_0x48404a(0x7ef)][_0x48404a(0x4a1)];_0x44133d<=(_0x49dae2?_0x49dae2['length']/0x10:0x0)&&(this[_0x48404a(0x7ef)]['instancesCount']=_0x44133d);},'enumerable':!0x0,'configurable':!0x0}),_0x1d1e10['Kj'][_0x37fea6(0x21e)][_0x37fea6(0x9b9)]=function(_0x51b12f,_0x168a08,_0x445073=!0x1){var _0x29cef8=_0x37fea6;_0x51b12f===_0x23cf9a['o'][_0x29cef8(0x651)]&&(_0x51b12f=_0x23cf9a['o'][_0x29cef8(0x7f2)]);const _0xbdc1e1=new _0x23cf9a['l'](this[_0x29cef8(0x975)](),_0x168a08,!_0x445073,0x10,!0x1,!0x0);for(let _0x1c0954=0x0;_0x1c0954<0x4;_0x1c0954++)this[_0x29cef8(0x89a)](_0xbdc1e1[_0x29cef8(0x66f)](_0x51b12f+_0x1c0954,0x4*_0x1c0954,0x4));return _0xbdc1e1;},_0x1d1e10['Kj'][_0x37fea6(0x21e)][_0x37fea6(0x523)]=function(_0x4a178d,_0x237418,_0x48d41c=0x0,_0x4dda6f=!0x1){var _0x303f22=_0x37fea6,_0x57ca4d;_0x48d41c=_0x48d41c||0x10,_0x303f22(0x574)===_0x4a178d?(null!=(_0x57ca4d=this[_0x303f22(0x7ef)][_0x303f22(0x305)])&&_0x57ca4d[_0x303f22(0x38b)](),this[_0x303f22(0x7ef)]['matrixBuffer']=null,this['_thinInstanceDataStorage']['matrixBufferSize']=_0x237418?_0x237418['length']:0x20*_0x48d41c,this[_0x303f22(0x7ef)][_0x303f22(0x4a1)]=_0x237418,(this[_0x303f22(0x7ef)][_0x303f22(0x579)]=null)!==_0x237418?(this[_0x303f22(0x7ef)][_0x303f22(0x2a8)]=_0x237418[_0x303f22(0x9ff)]/_0x48d41c,this[_0x303f22(0x7ef)][_0x303f22(0x305)]=this[_0x303f22(0x9b9)](_0x303f22(0x5ad),_0x237418,_0x4dda6f),this[_0x303f22(0x636)]||this[_0x303f22(0x98e)](!0x1)):(this[_0x303f22(0x7ef)][_0x303f22(0x2a8)]=0x0,this[_0x303f22(0x636)]||this['refreshBoundingInfo']())):_0x303f22(0x34f)===_0x4a178d?(null!=(_0x57ca4d=this['_thinInstanceDataStorage'][_0x303f22(0x45e)])&&_0x57ca4d[_0x303f22(0x38b)](),(this[_0x303f22(0x7ef)][_0x303f22(0x45e)]=null)!==(this[_0x303f22(0x7ef)]['previousMatrixData']=_0x237418)&&(this[_0x303f22(0x7ef)]['previousMatrixBuffer']=this[_0x303f22(0x9b9)](_0x303f22(0x5b6),_0x237418,_0x4dda6f))):(_0x4a178d===_0x23cf9a['o'][_0x303f22(0x651)]&&(_0x4a178d=_0x23cf9a['o'][_0x303f22(0x7f2)]),null===_0x237418?null!=(_0x57ca4d=this[_0x303f22(0x99b)])&&_0x57ca4d['data'][_0x4a178d]&&(this[_0x303f22(0x44a)](_0x4a178d),delete this[_0x303f22(0x99b)][_0x303f22(0x687)][_0x4a178d],delete this['_userThinInstanceBuffersStorage'][_0x303f22(0x661)][_0x4a178d],delete this['_userThinInstanceBuffersStorage'][_0x303f22(0x2b2)][_0x4a178d],delete this[_0x303f22(0x99b)][_0x303f22(0xc93)][_0x4a178d]):(this[_0x303f22(0x6ef)](),this[_0x303f22(0x99b)][_0x303f22(0x687)][_0x4a178d]=_0x237418,this[_0x303f22(0x99b)][_0x303f22(0x661)][_0x4a178d]=_0x48d41c,this[_0x303f22(0x99b)]['sizes'][_0x4a178d]=_0x237418[_0x303f22(0x9ff)],this[_0x303f22(0x99b)][_0x303f22(0xc93)][_0x4a178d]=new _0x23cf9a['o'](this[_0x303f22(0x975)](),_0x237418,_0x4a178d,!_0x4dda6f,!0x1,_0x48d41c,!0x0),this[_0x303f22(0x89a)](this['_userThinInstanceBuffersStorage'][_0x303f22(0xc93)][_0x4a178d])));},_0x1d1e10['Kj'][_0x37fea6(0x21e)][_0x37fea6(0x5d3)]=function(_0x4f01c2){var _0x2a83e1=_0x37fea6,_0x43b5d0;_0x2a83e1(0x574)===_0x4f01c2?null!=(_0x43b5d0=this[_0x2a83e1(0x7ef)][_0x2a83e1(0x305)])&&_0x43b5d0[_0x2a83e1(0x8d4)](this[_0x2a83e1(0x7ef)]['matrixData'],0x0,this[_0x2a83e1(0x7ef)]['instancesCount']):_0x2a83e1(0x34f)===_0x4f01c2?null!=(_0x43b5d0=this[_0x2a83e1(0x7ef)][_0x2a83e1(0x45e)])&&_0x43b5d0[_0x2a83e1(0x8d4)](this[_0x2a83e1(0x7ef)][_0x2a83e1(0x689)],0x0,this[_0x2a83e1(0x7ef)][_0x2a83e1(0x2a8)]):(_0x4f01c2===_0x23cf9a['o'][_0x2a83e1(0x651)]&&(_0x4f01c2=_0x23cf9a['o'][_0x2a83e1(0x7f2)]),null!=(_0x43b5d0=this['_userThinInstanceBuffersStorage'])&&_0x43b5d0[_0x2a83e1(0xc93)][_0x4f01c2]&&this['_userThinInstanceBuffersStorage']['vertexBuffers'][_0x4f01c2][_0x2a83e1(0x8d4)](this[_0x2a83e1(0x99b)][_0x2a83e1(0x687)][_0x4f01c2],0x0));},_0x1d1e10['Kj']['prototype'][_0x37fea6(0xd45)]=function(_0x354533,_0x4971c2,_0x1520d3){var _0x2b8ff8=_0x37fea6,_0x48a5a2;'matrix'===_0x354533?this[_0x2b8ff8(0x7ef)]['matrixBuffer']&&this[_0x2b8ff8(0x7ef)][_0x2b8ff8(0x305)]['updateDirectly'](_0x4971c2,_0x1520d3):(_0x354533===_0x23cf9a['o'][_0x2b8ff8(0x651)]&&(_0x354533=_0x23cf9a['o'][_0x2b8ff8(0x7f2)]),null!=(_0x48a5a2=this[_0x2b8ff8(0x99b)])&&_0x48a5a2[_0x2b8ff8(0xc93)][_0x354533]&&this['_userThinInstanceBuffersStorage'][_0x2b8ff8(0xc93)][_0x354533][_0x2b8ff8(0x8d4)](_0x4971c2,_0x1520d3));},_0x1d1e10['Kj'][_0x37fea6(0x21e)]['thinInstanceGetWorldMatrices']=function(){var _0x1daeef=_0x37fea6;if(!this[_0x1daeef(0x7ef)]['matrixData']||!this[_0x1daeef(0x7ef)]['matrixBuffer'])return[];var _0x5b18aa=this[_0x1daeef(0x7ef)][_0x1daeef(0x4a1)];if(!this[_0x1daeef(0x7ef)][_0x1daeef(0x579)]){this[_0x1daeef(0x7ef)]['worldMatrices']=new Array();for(let _0x3032c8=0x0;_0x3032c8<this['_thinInstanceDataStorage'][_0x1daeef(0x2a8)];++_0x3032c8)this[_0x1daeef(0x7ef)][_0x1daeef(0x579)][_0x3032c8]=_0x411534['y3'][_0x1daeef(0x8ee)](_0x5b18aa,0x10*_0x3032c8);}return this[_0x1daeef(0x7ef)][_0x1daeef(0x579)];},_0x1d1e10['Kj'][_0x37fea6(0x21e)][_0x37fea6(0x98e)]=function(_0x30f185=!0x1,_0x6d2cbd=!0x1,_0x27f6b5=!0x1){var _0x1a0418=_0x37fea6;if(this[_0x1a0418(0x7ef)][_0x1a0418(0x4a1)]&&this[_0x1a0418(0x7ef)][_0x1a0418(0x305)]){const _0x567e99=this[_0x1a0418(0x7ef)][_0x1a0418(0x1d1)];if(_0x30f185||!this[_0x1a0418(0x841)]){_0x567e99[_0x1a0418(0x9ff)]=0x0,this[_0x1a0418(0xc3a)](_0x6d2cbd,_0x27f6b5);const _0x684a8c=this[_0x1a0418(0x16d)]();this[_0x1a0418(0x841)]=new _0x505419['j'](_0x684a8c['minimum'],_0x684a8c[_0x1a0418(0xc6c)]);}const _0x137c5b=this['getBoundingInfo']();var _0xa6517a=this[_0x1a0418(0x7ef)][_0x1a0418(0x4a1)];if(0x0===_0x567e99['length']){for(let _0x303537=0x0;_0x303537<_0x137c5b[_0x1a0418(0x3c2)][_0x1a0418(0x310)][_0x1a0418(0x9ff)];++_0x303537)_0x567e99[_0x1a0418(0x2f7)](_0x137c5b[_0x1a0418(0x3c2)][_0x1a0418(0x310)][_0x303537][_0x1a0418(0x669)]());}_0x411534['jp'][_0x1a0418(0xce2)][0x0][_0x1a0418(0x930)](Number[_0x1a0418(0xbac)]),_0x411534['jp'][_0x1a0418(0xce2)][0x1]['setAll'](Number[_0x1a0418(0xa83)]);for(let _0x40c695=0x0;_0x40c695<this['_thinInstanceDataStorage']['instancesCount'];++_0x40c695){_0x411534['y3'][_0x1a0418(0x8df)](_0xa6517a,0x10*_0x40c695,_0x411534['jp']['Matrix'][0x0]);for(let _0x427e69=0x0;_0x427e69<_0x567e99[_0x1a0418(0x9ff)];++_0x427e69)_0x411534['P'][_0x1a0418(0x3d1)](_0x567e99[_0x427e69],_0x411534['jp'][_0x1a0418(0x851)][0x0],_0x411534['jp'][_0x1a0418(0xce2)][0x2]),_0x411534['jp']['Vector3'][0x0][_0x1a0418(0x5da)](_0x411534['jp'][_0x1a0418(0xce2)][0x2]),_0x411534['jp'][_0x1a0418(0xce2)][0x1][_0x1a0418(0xb27)](_0x411534['jp'][_0x1a0418(0xce2)][0x2]);}_0x137c5b[_0x1a0418(0x390)](_0x411534['jp'][_0x1a0418(0xce2)][0x0],_0x411534['jp']['Vector3'][0x1]),this[_0x1a0418(0xd68)]();}},_0x1d1e10['Kj'][_0x37fea6(0x21e)][_0x37fea6(0x4c4)]=function(_0x324ff5,_0x4c8806=0x1){var _0xa82caa=_0x37fea6,_0x39f609=_0xa82caa(0x574)===(_0x324ff5=_0x324ff5===_0x23cf9a['o'][_0xa82caa(0x651)]?_0x23cf9a['o'][_0xa82caa(0x7f2)]:_0x324ff5);if(_0x39f609||this[_0xa82caa(0x99b)]&&this[_0xa82caa(0x99b)][_0xa82caa(0x661)][_0x324ff5]){var _0x5dccf6=_0x39f609?0x10:this[_0xa82caa(0x99b)][_0xa82caa(0x661)][_0x324ff5],_0x556cd3=_0x39f609?this[_0xa82caa(0x7ef)][_0xa82caa(0xb4b)]:this[_0xa82caa(0x99b)]['sizes'][_0x324ff5];let _0x2d856a=_0x39f609?this['_thinInstanceDataStorage'][_0xa82caa(0x4a1)]:this['_userThinInstanceBuffersStorage'][_0xa82caa(0x687)][_0x324ff5];var _0x1b09ed=(this[_0xa82caa(0x7ef)]['instancesCount']+_0x4c8806)*_0x5dccf6;let _0x5dcfd4=_0x556cd3;for(;_0x5dcfd4<_0x1b09ed;)_0x5dcfd4*=0x2;if(!_0x2d856a||_0x556cd3!=_0x5dcfd4){if(_0x2d856a){const _0x3086a9=new Float32Array(_0x5dcfd4);_0x3086a9[_0xa82caa(0x82e)](_0x2d856a,0x0),_0x2d856a=_0x3086a9;}else _0x2d856a=new Float32Array(_0x5dcfd4);_0x39f609?(null!=(_0x4c8806=this[_0xa82caa(0x7ef)][_0xa82caa(0x305)])&&_0x4c8806[_0xa82caa(0x38b)](),this[_0xa82caa(0x7ef)][_0xa82caa(0x305)]=this[_0xa82caa(0x9b9)](_0xa82caa(0x5ad),_0x2d856a,!0x1),this[_0xa82caa(0x7ef)]['matrixData']=_0x2d856a,this[_0xa82caa(0x7ef)][_0xa82caa(0xb4b)]=_0x5dcfd4,this['_scene']['needsPreviousWorldMatrices']&&!this[_0xa82caa(0x7ef)][_0xa82caa(0x689)]&&(null!=(_0x556cd3=this[_0xa82caa(0x7ef)][_0xa82caa(0x45e)])&&_0x556cd3[_0xa82caa(0x38b)](),this[_0xa82caa(0x7ef)]['previousMatrixBuffer']=this[_0xa82caa(0x9b9)](_0xa82caa(0x5b6),_0x2d856a,!0x1))):(null!=(_0x39f609=this[_0xa82caa(0x99b)][_0xa82caa(0xc93)][_0x324ff5])&&_0x39f609[_0xa82caa(0x38b)](),this[_0xa82caa(0x99b)][_0xa82caa(0x687)][_0x324ff5]=_0x2d856a,this['_userThinInstanceBuffersStorage'][_0xa82caa(0x2b2)][_0x324ff5]=_0x5dcfd4,this[_0xa82caa(0x99b)][_0xa82caa(0xc93)][_0x324ff5]=new _0x23cf9a['o'](this[_0xa82caa(0x975)](),_0x2d856a,_0x324ff5,!0x0,!0x1,_0x5dccf6,!0x0),this['setVerticesBuffer'](this[_0xa82caa(0x99b)][_0xa82caa(0xc93)][_0x324ff5]));}}},_0x1d1e10['Kj']['prototype'][_0x37fea6(0x6ef)]=function(){var _0x55180d=_0x37fea6;this[_0x55180d(0x99b)]||(this['_userThinInstanceBuffersStorage']={'data':{},'sizes':{},'vertexBuffers':{},'strides':{}});},_0x1d1e10['Kj'][_0x37fea6(0x21e)]['_disposeThinInstanceSpecificData']=function(){var _0x16d194=_0x37fea6,_0x6b63d6;null!=(_0x6b63d6=this[_0x16d194(0x7ef)])&&_0x6b63d6[_0x16d194(0x305)]&&(this[_0x16d194(0x7ef)]['matrixBuffer']['dispose'](),this[_0x16d194(0x7ef)][_0x16d194(0x305)]=null);};},0xa127:(_0x1fd0b5,_0x2299d7,_0xe8704d)=>{var _0x2860fc=a7_0x51ebec;_0xe8704d['d'](_0x2299d7,{'s':()=>_0x5c0229});class _0x5c0229{constructor(_0x3d6b14){var _0x2ae508=a7_0x4956;this[_0x2ae508(0xb53)]=new Float32Array(_0x3d6b14),this[_0x2ae508(0x1b6)]=0x0;}get['itemLength'](){var _0x5d59c2=a7_0x4956;return this[_0x5d59c2(0x1b6)];}['at'](_0x53e03e){var _0x5eaaa7=a7_0x4956;return _0x53e03e<0x0||_0x53e03e>=this[_0x5eaaa7(0x1b6)]?NaN:this[_0x5eaaa7(0xb53)][_0x53e03e];}['subarray'](_0x330f15,_0x1455b4){var _0x312be0=a7_0x4956;return _0x1455b4<=_0x330f15||_0x330f15<0x0?new Float32Array(0x0):(_0x1455b4>this[_0x312be0(0x1b6)]&&(_0x1455b4=this[_0x312be0(0x1b6)]),this[_0x312be0(0xb53)]['subarray'](_0x330f15,_0x1455b4));}[_0x2860fc(0x2f7)](_0x47f40a){var _0x4c4c8c=_0x2860fc;this[_0x4c4c8c(0xb53)][this[_0x4c4c8c(0x1b6)]]=_0x47f40a,this[_0x4c4c8c(0x1b6)]++,this[_0x4c4c8c(0x1b6)]>=this[_0x4c4c8c(0xb53)]['length']&&this['_growArray']();}[_0x2860fc(0x6ee)](){var _0x56478a=_0x2860fc,_0x4787cc=Math[_0x56478a(0x4e3)](1.5*this[_0x56478a(0xb53)][_0x56478a(0x9ff)]);const _0x458ddd=new Float32Array(_0x4787cc);_0x458ddd[_0x56478a(0x82e)](this[_0x56478a(0xb53)]),this['_view']=_0x458ddd;}}},0x2ec7:(_0x2abefc,_0xaebe8c,_0x218f16)=>{var _0x38020b=a7_0x51ebec,_0x1bdbf7=_0x218f16(0xd537),_0x71e0af=_0x218f16(0x5294);_0x1bdbf7['x'][_0x38020b(0x21e)][_0x38020b(0x1aa)]=function(){var _0x315657=_0x38020b;return this[_0x315657(0x1da)]||(this[_0x315657(0x1da)]=new _0x71e0af['P'](this)),this[_0x315657(0x1da)];};},0x544c:(_0x43a190,_0x15bc4b,_0x2503bc)=>{var _0x1ea548=a7_0x51ebec;_0x2503bc['d'](_0x15bc4b,{'q':()=>_0xe6bb01});class _0xe6bb01{static[_0x1ea548(0x98d)](_0x1684b3,_0x1d88c7){var _0x3c3ca0=_0x1ea548;return _0x3c3ca0(0x7c8)===(_0x1684b3=_0x1684b3[_0x3c3ca0(0x96c)](/\([^()]*\)/g)?_0x1684b3[_0x3c3ca0(0xa2d)](/\([^()]*\)/g,_0x4789f6=>(_0x4789f6=_0x4789f6[_0x3c3ca0(0xbde)](0x1,_0x4789f6[_0x3c3ca0(0x9ff)]-0x1),_0xe6bb01[_0x3c3ca0(0x9a6)](_0x4789f6,_0x1d88c7))):_0xe6bb01[_0x3c3ca0(0x9a6)](_0x1684b3,_0x1d88c7))||_0x3c3ca0(0x3c1)!==_0x1684b3&&_0xe6bb01['Eval'](_0x1684b3,_0x1d88c7);}static[_0x1ea548(0x9a6)](_0x69533e,_0x645524){var _0x174bf8=_0x1ea548;_0x645524=_0x645524||(_0x2ad21e=>'true'===_0x2ad21e);let _0xaf4bfd;const _0x5c4588=_0x69533e['split']('||');for(const _0x5a46de in _0x5c4588)if(Object[_0x174bf8(0x21e)][_0x174bf8(0xb92)]['call'](_0x5c4588,_0x5a46de)){let _0x1144b7=_0xe6bb01[_0x174bf8(0x4f1)](_0x5c4588[_0x5a46de][_0x174bf8(0x725)]());const _0x504113=_0x1144b7[_0x174bf8(0xac5)]('&&');if(0x1<_0x504113[_0x174bf8(0x9ff)])for(let _0xaa46bf=0x0;_0xaa46bf<_0x504113[_0x174bf8(0x9ff)];++_0xaa46bf){const _0x239d75=_0xe6bb01[_0x174bf8(0x4f1)](_0x504113[_0xaa46bf][_0x174bf8(0x725)]());if(!(_0xaf4bfd=_0x174bf8(0x7c8)!==_0x239d75&&'false'!==_0x239d75?'!'===_0x239d75[0x0]?!_0x645524(_0x239d75[_0x174bf8(0x41c)](0x1)):_0x645524(_0x239d75):'true'===_0x239d75)){_0x1144b7=_0x174bf8(0x3c1);break;}}if(_0xaf4bfd||_0x174bf8(0x7c8)===_0x1144b7){_0xaf4bfd=!0x0;break;}_0xaf4bfd=_0x174bf8(0x7c8)!==_0x1144b7&&_0x174bf8(0x3c1)!==_0x1144b7?'!'===_0x1144b7[0x0]?!_0x645524(_0x1144b7[_0x174bf8(0x41c)](0x1)):_0x645524(_0x1144b7):_0x174bf8(0x7c8)===_0x1144b7;}return _0xaf4bfd?_0x174bf8(0x7c8):'false';}static['_SimplifyNegation'](_0x32d50e){var _0x1c0937=_0x1ea548;return'!true'===(_0x32d50e=(_0x32d50e=_0x32d50e[_0x1c0937(0xa2d)](/^[\s!]+/,_0x523713=>(_0x523713=_0x523713[_0x1c0937(0xa2d)](/[\s]/g,()=>''))[_0x1c0937(0x9ff)]%0x2?'!':''))['trim']())?_0x32d50e=_0x1c0937(0x3c1):'!false'===_0x32d50e&&(_0x32d50e=_0x1c0937(0x7c8)),_0x32d50e;}}},0x5397:(_0x2c4ac6,_0x411475,_0x14bcd6)=>{var _0x5bbf8c=a7_0x51ebec;_0x14bcd6['d'](_0x411475,{'B':()=>_0x115d5b,'M':()=>function(_0x5b8c96,_0x44d064){var _0x3dd37d=a7_0x4956;const _0x1c191a=_0x4d5afd[_0x3dd37d(0xd2a)](_0x2f5721=>{var _0x48de23=_0x3dd37d;{var _0x4d207b=_0x5b8c96,_0x548e9c=_0x2f5721,_0x4ef8d6=_0x44d064;const _0x482e3e=_0x4d207b[_0x548e9c];return'function'!=typeof _0x482e3e?null:((_0x482e3e[_0x48de23(0x275)]=_0xac9654)[_0x48de23(0x91e)]=_0x482e3e,_0x4d207b[_0x548e9c]=_0xac9654,()=>{var _0x3a460e=_0x48de23;const _0x22674b=_0xac9654[_0x3a460e(0x91e)];if(_0x22674b){const _0x466825=_0xac9654[_0x3a460e(0x275)];_0x466825?(_0x22674b[_0x3a460e(0x275)]=_0x466825)[_0x3a460e(0x91e)]=_0x22674b:(_0x22674b[_0x3a460e(0x275)]=void 0x0,_0x4d207b[_0x548e9c]=_0x22674b),_0xac9654[_0x3a460e(0x275)]=void 0x0,_0xac9654['previous']=void 0x0;}});function _0xac9654(){var _0x54892e=_0x48de23,_0x37e06c=_0x4d207b[_0x54892e(0x9ff)],_0x5d0d66=_0xac9654['previous'][_0x54892e(0x7d5)](_0x4d207b,arguments);return _0x4ef8d6(_0x548e9c,_0x37e06c),_0x5d0d66;}}});return()=>{var _0x1d3b93=_0x3dd37d;_0x1c191a[_0x1d3b93(0x544)](_0x29825d=>{null!=_0x29825d&&_0x29825d();});};}});class _0x115d5b{static[_0x5bbf8c(0xd67)](_0x20ec9a,_0x3c31ff){var _0x4abca8=_0x5bbf8c;const _0x245993=[];for(let _0x1d2ddc=0x0;_0x1d2ddc<_0x20ec9a;++_0x1d2ddc)_0x245993[_0x4abca8(0x2f7)](_0x3c31ff());return _0x245993;}static[_0x5bbf8c(0xb8f)](_0x22d589,_0x3d5259){var _0x39f5d4=_0x5bbf8c;return _0x115d5b[_0x39f5d4(0xd67)](_0x22d589,_0x3d5259);}}const _0x4d5afd=[_0x5bbf8c(0x2f7),_0x5bbf8c(0x913),_0x5bbf8c(0x60b),'shift',_0x5bbf8c(0x627)];},0xeecb:(_0x589951,_0x593510,_0x1197b4)=>{_0x1197b4['d'](_0x593510,{'AW':()=>function(_0x1b21fe){var _0x5f0b98=a7_0x4956;return _0x1b21fe['replace'](/[.*+?^${}()|[\]\\]/g,_0x5f0b98(0x60f));},'Kt':()=>function(_0x15c519){var _0x4555bd=a7_0x4956;let _0x14e0f0=0x0,_0x3a9b77='',_0x2e3dfc=!0x1;const _0x2b0823=[];for(;_0x14e0f0<_0x15c519[_0x4555bd(0x9ff)];){var _0x56a8b3,_0x36421a=_0x15c519['charAt'](_0x14e0f0);if(_0x3a9b77)_0x36421a===_0x3a9b77?'\x22'===_0x3a9b77||'\x27'===_0x3a9b77?('\x5c'!==_0x15c519['charAt'](_0x14e0f0-0x1)&&(_0x3a9b77=''),_0x2b0823[_0x4555bd(0x2f7)](_0x36421a)):(_0x3a9b77='',_0x2e3dfc=!0x1):'*/'===_0x3a9b77&&'*'===_0x36421a&&_0x14e0f0+0x1<_0x15c519[_0x4555bd(0x9ff)]?''===(_0x3a9b77='/'===_0x15c519[_0x4555bd(0x3f6)](_0x14e0f0+0x1)?'':_0x3a9b77)&&(_0x2e3dfc=!0x1,_0x14e0f0++):_0x2e3dfc||_0x2b0823[_0x4555bd(0x2f7)](_0x36421a);else{switch(_0x36421a){case'\x22':case'\x27':case'`':_0x3a9b77=_0x36421a;break;case'/':_0x14e0f0+0x1<_0x15c519[_0x4555bd(0x9ff)]&&('/'===(_0x56a8b3=_0x15c519['charAt'](_0x14e0f0+0x1))?(_0x3a9b77='\x0a',_0x2e3dfc=!0x0):'*'===_0x56a8b3&&(_0x3a9b77='*/',_0x2e3dfc=!0x0));}_0x2e3dfc||_0x2b0823['push'](_0x36421a);}_0x14e0f0++;}return _0x2b0823[_0x4555bd(0x5cf)]('');},'Pm':()=>function(_0x1b09bd,_0xde4e18){var _0xc6bf64=a7_0x4956;for(;_0xde4e18<_0x1b09bd[_0xc6bf64(0x9ff)];){var _0xab2a73=_0x1b09bd[_0xde4e18];if('\x20'!==_0xab2a73&&'\x0a'!==_0xab2a73&&'\x0d'!==_0xab2a73&&'\x09'!==_0xab2a73&&'\x0a'!==_0xab2a73&&'\u00a0'!==_0xab2a73)break;_0xde4e18++;}return _0xde4e18;},'uA':()=>function(_0xb402c7){var _0x31762e=a7_0x4956;return _0xb402c7=_0xb402c7[_0x31762e(0x3a1)](0x0),0x30<=_0xb402c7&&_0xb402c7<=0x39||0x41<=_0xb402c7&&_0xb402c7<=0x5a||0x61<=_0xb402c7&&_0xb402c7<=0x7a||0x5f==_0xb402c7;},'vt':()=>function(_0x2b2467,_0x1f3e40,_0x45e70f,_0x4030a3){var _0x412a50=a7_0x4956;let _0x59a0f1=_0x4030a3,_0x572c61=0x0,_0x5e81d2='';for(;_0x59a0f1<_0x45e70f['length'];){var _0x4d103b,_0x34b981=_0x45e70f['charAt'](_0x59a0f1);if(_0x5e81d2)_0x34b981===_0x5e81d2?('\x22'!==_0x5e81d2&&'\x27'!==_0x5e81d2||'\x5c'!==_0x45e70f[_0x412a50(0x3f6)](_0x59a0f1-0x1))&&(_0x5e81d2=''):'*/'===_0x5e81d2&&'*'===_0x34b981&&_0x59a0f1+0x1<_0x45e70f['length']&&''===(_0x5e81d2='/'===_0x45e70f[_0x412a50(0x3f6)](_0x59a0f1+0x1)?'':_0x5e81d2)&&_0x59a0f1++;else switch(_0x34b981){case _0x2b2467:_0x572c61++;break;case _0x1f3e40:_0x572c61--;break;case'\x22':case'\x27':case'`':_0x5e81d2=_0x34b981;break;case'/':_0x59a0f1+0x1<_0x45e70f['length']&&('/'===(_0x4d103b=_0x45e70f['charAt'](_0x59a0f1+0x1))?_0x5e81d2='\x0a':'*'===_0x4d103b&&(_0x5e81d2='*/'));}if(_0x59a0f1++,0x0===_0x572c61)break;}return 0x0===_0x572c61?_0x59a0f1-0x1:-0x1;},'wm':()=>function(_0x4458d2,_0x2a6bb9,_0x563806){var _0x4c385d=a7_0x4956;for(;0x0<=_0x2a6bb9&&_0x4458d2[_0x4c385d(0x3f6)](_0x2a6bb9)!==_0x563806;)_0x2a6bb9--;return _0x2a6bb9;}});},0x8baf:(_0x373ffb,_0x4d81aa,_0x1dd679)=>{_0x1dd679['d'](_0x4d81aa,{'S':()=>function(_0x152dbf){return _0x152dbf+'\x20needs\x20to\x20be\x20imported\x20before\x20as\x20it\x20contains\x20a\x20side-effect\x20required\x20by\x20your\x20code.';}});},0xfa63:(_0x10aee9,_0x195843,_0x402fef)=>{var _0x2b8a7f=a7_0x51ebec;_0x402fef['d'](_0x195843,{'K':()=>_0x507f21});var _0x150c17=_0x402fef(0x9a70),_0x1e463b=_0x402fef(0x4158);class _0x507f21{static['Instantiate'](_0x46300f){var _0x32c317=a7_0x4956;if(this[_0x32c317(0x40f)]&&this[_0x32c317(0x40f)][_0x46300f])return this[_0x32c317(0x40f)][_0x46300f];var _0x1c780f=(0x0,_0x1e463b['q'])(_0x46300f);if(_0x1c780f)return _0x1c780f;_0x150c17['Y'][_0x32c317(0x555)](_0x46300f+_0x32c317(0xac3));var _0x5eecfe=_0x46300f[_0x32c317(0xac5)]('.');let _0x33da60=window||this;for(let _0x27a8f7=0x0,_0xbbf14b=_0x5eecfe[_0x32c317(0x9ff)];_0x27a8f7<_0xbbf14b;_0x27a8f7++)_0x33da60=_0x33da60[_0x5eecfe[_0x27a8f7]];return'function'!=typeof _0x33da60?null:_0x33da60;}}_0x507f21[_0x2b8a7f(0x40f)]={};},0x89c8:(_0x18ea59,_0x2c7ecd,_0x4935d6)=>{var _0x4a827d=a7_0x51ebec,_0x15e88d=_0x4935d6(0xa896),_0x2b8712=_0x4935d6(0x12a73);_0x15e88d['y$'][_0x4a827d(0x21e)][_0x4a827d(0x219)]=function(_0x27ec7c){var _0x1772e4=_0x4a827d,_0x34592c;return this[_0x1772e4(0x880)]||(_0x34592c=function(_0x5aaad2){var _0x545ec8=_0x1772e4;const _0x5b1f24=new Array(),_0xc31372=new Array(),_0x7e8f79=new Array(),_0x349a20=_0x5aaad2[_0x545ec8(0x840)](()=>{var _0x31167c=_0x545ec8,_0x332194=_0x5b1f24['length'];for(let _0x4b40c5=0x0;_0x4b40c5<_0x332194;_0x4b40c5++)(0x0,_0x2b8712['WP'])(_0x5b1f24[_0x31167c(0x259)](),_0xc31372['shift'](),_0x7e8f79[_0x31167c(0x259)]());});return{'scheduler':(_0x91eea8,_0x9301c6,_0xd19f35)=>{var _0x4aafa7=_0x545ec8;_0x5b1f24[_0x4aafa7(0x2f7)](_0x91eea8),_0xc31372[_0x4aafa7(0x2f7)](_0x9301c6),_0x7e8f79[_0x4aafa7(0x2f7)](_0xd19f35);},'dispose':()=>{_0x5aaad2['remove'](_0x349a20);}};}(this),this[_0x1772e4(0x880)]=_0x34592c[_0x1772e4(0x2d1)],this[_0x1772e4(0x2bf)]=_0x34592c['dispose']),(0x0,_0x2b8712['sM'])(_0x27ec7c,this[_0x1772e4(0x880)]);},_0x15e88d['y$']['prototype'][_0x4a827d(0x667)]=function(){var _0x2ac516=_0x4a827d;this[_0x2ac516(0x2bf)]&&this[_0x2ac516(0x2bf)](),this[_0x2ac516(0x880)]=void 0x0,this['_coroutineSchedulerDispose']=void 0x0;};},0xa2bf:(_0x40665b,_0x18a996,_0x596da1)=>{var _0x334fba=a7_0x51ebec;_0x596da1['d'](_0x18a996,{'b':()=>_0x2b805e});class _0x2b805e{static[_0x334fba(0x89b)](_0x23e518=0x3,_0x4e8687=0x1f4){var _0x5307c3=_0x334fba;return(_0x468147,_0x227c98,_0x49227f)=>0x0!==_0x227c98[_0x5307c3(0xc1e)]||_0x23e518<=_0x49227f||-0x1!==_0x468147[_0x5307c3(0xaa4)](_0x5307c3(0x49c))?-0x1:Math[_0x5307c3(0x376)](0x2,_0x49227f)*_0x4e8687;}}},0x6661:(_0x202ab0,_0x7956c,_0x3903ba)=>{var _0x508984=a7_0x51ebec;_0x3903ba['d'](_0x7956c,{'x':()=>_0x6bcb83});class _0x6bcb83{constructor(){var _0x41c774=a7_0x4956;this[_0x41c774(0x9c7)]=0x0,this[_0x41c774(0x19d)]={};}['copyFrom'](_0x17c7e7){var _0x58982b=a7_0x4956;this[_0x58982b(0x36e)](),_0x17c7e7[_0x58982b(0x544)]((_0x156735,_0x4f9e5e)=>this['add'](_0x156735,_0x4f9e5e));}[_0x508984(0x345)](_0x8b6af3){var _0x407d80=_0x508984;_0x8b6af3=this[_0x407d80(0x19d)][_0x8b6af3];if(void 0x0!==_0x8b6af3)return _0x8b6af3;}[_0x508984(0x3f4)](_0x4db61f,_0xf48244){var _0x41ee12=_0x508984;let _0x595f62=this[_0x41ee12(0x345)](_0x4db61f);return void 0x0===_0x595f62&&(_0x595f62=_0xf48244(_0x4db61f))&&this['add'](_0x4db61f,_0x595f62),_0x595f62;}[_0x508984(0xc82)](_0x435693,_0xf2022f){var _0x25a5d1=_0x508984,_0x31d534=this['get'](_0x435693);return void 0x0!==_0x31d534?_0x31d534:(this[_0x25a5d1(0x840)](_0x435693,_0xf2022f),_0xf2022f);}[_0x508984(0x98a)](_0x48771e){var _0xdd598e=_0x508984;return void 0x0!==this[_0xdd598e(0x19d)][_0x48771e];}[_0x508984(0x840)](_0x35affb,_0x22bffe){var _0x193a0d=_0x508984;return void 0x0===this[_0x193a0d(0x19d)][_0x35affb]&&(this['_data'][_0x35affb]=_0x22bffe,++this[_0x193a0d(0x9c7)],!0x0);}[_0x508984(0x82e)](_0x4b2073,_0x51f642){var _0x4d7275=_0x508984;return void 0x0!==this['_data'][_0x4b2073]&&(this[_0x4d7275(0x19d)][_0x4b2073]=_0x51f642,!0x0);}[_0x508984(0x700)](_0x8735d9){var _0x349fb9=_0x508984,_0x2a6957=this['get'](_0x8735d9);return void 0x0!==_0x2a6957?(delete this['_data'][_0x8735d9],--this[_0x349fb9(0x9c7)],_0x2a6957):null;}[_0x508984(0x7a1)](_0x348136){var _0x22ef78=_0x508984;return!!this['contains'](_0x348136)&&(delete this[_0x22ef78(0x19d)][_0x348136],--this['_count'],!0x0);}[_0x508984(0x36e)](){var _0x399b54=_0x508984;this[_0x399b54(0x19d)]={},this['_count']=0x0;}get[_0x508984(0x25e)](){return this['_count'];}[_0x508984(0x544)](_0x141e1e){var _0x595365=_0x508984;for(const _0x46bd83 in this[_0x595365(0x19d)]){var _0x4c2a38=this['_data'][_0x46bd83];_0x141e1e(_0x46bd83,_0x4c2a38);}}[_0x508984(0x92a)](_0x59adff){for(const _0x41c4bb in this['_data']){var _0x5d969e=this['_data'][_0x41c4bb],_0x5d969e=_0x59adff(_0x41c4bb,_0x5d969e);if(_0x5d969e)return _0x5d969e;}return null;}}},0xff4d:(_0x4d9294,_0x9901b7,_0x18ca8a)=>{var _0x349f2d=a7_0x51ebec;_0x18ca8a['d'](_0x9901b7,{'$':()=>_0x4a811f});var _0x267b92=_0x18ca8a(0x544c);class _0x4a811f{static[_0x349f2d(0xc12)](_0x3c90a5){var _0x407ac5=_0x349f2d;_0x3c90a5[_0x407ac5(0xd35)]=_0x3c90a5[_0x407ac5(0xd35)]||{},_0x3c90a5[_0x407ac5(0x748)]=()=>_0x4a811f[_0x407ac5(0xae7)](_0x3c90a5),_0x3c90a5[_0x407ac5(0x33c)]=_0x3525d0=>_0x4a811f['AddTagsTo'](_0x3c90a5,_0x3525d0),_0x3c90a5[_0x407ac5(0xa54)]=_0x3e2d09=>_0x4a811f['RemoveTagsFrom'](_0x3c90a5,_0x3e2d09),_0x3c90a5[_0x407ac5(0x34e)]=_0x33d0f0=>_0x4a811f[_0x407ac5(0xabf)](_0x3c90a5,_0x33d0f0);}static[_0x349f2d(0x235)](_0x21f680){var _0x11e41e=_0x349f2d;delete _0x21f680[_0x11e41e(0xd35)],delete _0x21f680['hasTags'],delete _0x21f680[_0x11e41e(0x33c)],delete _0x21f680[_0x11e41e(0xa54)],delete _0x21f680['matchesTagsQuery'];}static[_0x349f2d(0xae7)](_0x5127ec){var _0x3ff573=_0x349f2d;if(!_0x5127ec[_0x3ff573(0xd35)])return!0x1;var _0x28bce6=_0x5127ec[_0x3ff573(0xd35)];for(const _0x216e3b in _0x28bce6)if(Object['prototype'][_0x3ff573(0xb92)][_0x3ff573(0x9d3)](_0x28bce6,_0x216e3b))return!0x0;return!0x1;}static[_0x349f2d(0x778)](_0x3d7ca8,_0x3354b0=!0x0){var _0x21b2a7=_0x349f2d;if(!_0x3d7ca8['_tags'])return null;if(_0x3354b0){const _0x1d7fb4=[];for(const _0x5025cb in _0x3d7ca8['_tags'])Object['prototype']['hasOwnProperty'][_0x21b2a7(0x9d3)](_0x3d7ca8[_0x21b2a7(0xd35)],_0x5025cb)&&!0x0===_0x3d7ca8[_0x21b2a7(0xd35)][_0x5025cb]&&_0x1d7fb4[_0x21b2a7(0x2f7)](_0x5025cb);return _0x1d7fb4[_0x21b2a7(0x5cf)]('\x20');}return _0x3d7ca8[_0x21b2a7(0xd35)];}static[_0x349f2d(0x876)](_0x30e2bd,_0x4faef9){var _0x4b7f80=_0x349f2d;if(_0x4faef9&&_0x4b7f80(0xa73)==typeof _0x4faef9){const _0x1cbb40=_0x4faef9[_0x4b7f80(0xac5)]('\x20');_0x1cbb40[_0x4b7f80(0x544)](function(_0x162dd3){_0x4a811f['_AddTagTo'](_0x30e2bd,_0x162dd3);});}}static['_AddTagTo'](_0x3b0607,_0x198c49){var _0x5a7fb0=_0x349f2d;''===(_0x198c49=_0x198c49['trim']())||'true'===_0x198c49||_0x5a7fb0(0x3c1)===_0x198c49||_0x198c49['match'](/[\s]/)||_0x198c49[_0x5a7fb0(0x96c)](/^([!]|([|]|[&]){2})/)||(_0x4a811f[_0x5a7fb0(0xc12)](_0x3b0607),_0x3b0607[_0x5a7fb0(0xd35)][_0x198c49]=!0x0);}static['RemoveTagsFrom'](_0x399411,_0x2168b6){var _0x55b162=_0x349f2d;if(_0x4a811f[_0x55b162(0xae7)](_0x399411)){var _0x47af34=_0x2168b6[_0x55b162(0xac5)]('\x20');for(const _0xc2aaa2 in _0x47af34)_0x4a811f[_0x55b162(0x6f5)](_0x399411,_0x47af34[_0xc2aaa2]);}}static[_0x349f2d(0x6f5)](_0x589121,_0x208888){var _0x3336f6=_0x349f2d;delete _0x589121[_0x3336f6(0xd35)][_0x208888];}static[_0x349f2d(0xabf)](_0x31952f,_0x5e8197){var _0x28773c=_0x349f2d;return void 0x0===_0x5e8197||(''===_0x5e8197?_0x4a811f['HasTags'](_0x31952f):_0x267b92['q'][_0x28773c(0x98d)](_0x5e8197,_0x55ec9b=>_0x4a811f[_0x28773c(0xae7)](_0x31952f)&&_0x31952f['_tags'][_0x55ec9b]));}}},0x7f8c:(_0x4247f5,_0x410768,_0x40ab2b)=>{var _0x123368=a7_0x51ebec;_0x40ab2b['d'](_0x410768,{'Q':()=>_0x35e2bd});var _0xd5f0ba=_0x40ab2b(0x7205);class _0x35e2bd{static[_0x123368(0x584)](_0xdc2fdc){var _0x18cbdc=_0x123368;(0x0,_0xd5f0ba['CG'])()&&window[_0x18cbdc(0xb32)]?window[_0x18cbdc(0xb32)](_0xdc2fdc):setTimeout(_0xdc2fdc,0x1);}}},0x16ed:(_0x264335,_0x22950e,_0xe3098)=>{var _0x192508=a7_0x51ebec;_0xe3098['d'](_0x22950e,{'L':()=>_0x10bcf9});var _0x19c2aa=_0xe3098(0x15146),_0x533b7a=_0xe3098(0xd53f),_0x1b0006=_0xe3098(0x17372);class _0x10bcf9{constructor(_0x102f87=0x1,_0x437c95=Math['PI'],_0x4d5695=0x0){var _0x30e73e=a7_0x4956;this['directionRandomizer']=_0x4d5695,this[_0x30e73e(0x185)]=0x1,this[_0x30e73e(0x2e0)]=0x1,this[_0x30e73e(0x610)]=!0x1,this[_0x30e73e(0xcae)]=_0x437c95,this[_0x30e73e(0x3e1)]=_0x102f87;}get[_0x192508(0x3e1)](){return this['_radius'];}set[_0x192508(0x3e1)](_0x1223ee){var _0x106118=_0x192508;this[_0x106118(0xb22)]=_0x1223ee,this[_0x106118(0x981)]();}get[_0x192508(0xcae)](){var _0x236e72=_0x192508;return this[_0x236e72(0x4fa)];}set[_0x192508(0xcae)](_0x5a9831){var _0x74b41b=_0x192508;this['_angle']=_0x5a9831,this[_0x74b41b(0x981)]();}[_0x192508(0x981)](){var _0x3a7245=_0x192508;0x0!==this[_0x3a7245(0x4fa)]?this[_0x3a7245(0x20c)]=this[_0x3a7245(0xb22)]/Math[_0x3a7245(0xaca)](this[_0x3a7245(0x4fa)]/0x2):this[_0x3a7245(0x20c)]=0x1;}[_0x192508(0x7b3)](_0xb94f31,_0x285a08,_0x5bccad,_0x4e0d1f){var _0x4d99c0=_0x192508;(_0x4e0d1f?_0x533b7a['jp']['Vector3'][0x0]['copyFrom'](_0x5bccad['_localPosition']):_0x5bccad['position']['subtractToRef'](_0xb94f31[_0x4d99c0(0x3ba)](),_0x533b7a['jp'][_0x4d99c0(0xce2)][0x0]))[_0x4d99c0(0xd3e)](),(_0x4e0d1f=_0x1b0006['R'][_0x4d99c0(0xa66)](0x0,this[_0x4d99c0(0xbcc)]),_0x5bccad=_0x1b0006['R'][_0x4d99c0(0xa66)](0x0,this[_0x4d99c0(0xbcc)]),_0xb94f31=_0x1b0006['R']['RandomRange'](0x0,this['directionRandomizer'])),(_0x285a08['x']=_0x533b7a['jp']['Vector3'][0x0]['x']+_0x4e0d1f,_0x285a08['y']=_0x533b7a['jp'][_0x4d99c0(0xce2)][0x0]['y']+_0x5bccad,_0x285a08['z']=_0x533b7a['jp'][_0x4d99c0(0xce2)][0x0]['z']+_0xb94f31,_0x285a08[_0x4d99c0(0xd3e)]());}[_0x192508(0x921)](_0x293cb8,_0x765f75,_0x17b36d,_0x191154){var _0x88ae1f=_0x192508,_0xf46e24=_0x1b0006['R'][_0x88ae1f(0xa66)](0x0,0x2*Math['PI']);let _0x2dc747;_0x2dc747=this[_0x88ae1f(0x610)]?0.0001:0x1-(_0x2dc747=_0x1b0006['R']['RandomRange'](0x0,this['heightRange']))*_0x2dc747;var _0x1293b9=this['_radius']-_0x1b0006['R']['RandomRange'](0x0,this['_radius']*this['radiusRange']),_0x355146=(_0x1293b9*=_0x2dc747)*Math['sin'](_0xf46e24),_0x1293b9=_0x1293b9*Math[_0x88ae1f(0x486)](_0xf46e24),_0xf46e24=_0x2dc747*this[_0x88ae1f(0x20c)];if(_0x191154)return _0x765f75['x']=_0x355146,_0x765f75['y']=_0xf46e24,void(_0x765f75['z']=_0x1293b9);_0x533b7a['P']['TransformCoordinatesFromFloatsToRef'](_0x355146,_0xf46e24,_0x1293b9,_0x293cb8,_0x765f75);}[_0x192508(0x669)](){var _0x2294f5=_0x192508,_0x352584=new _0x10bcf9(this[_0x2294f5(0xb22)],this[_0x2294f5(0x4fa)],this['directionRandomizer']);return _0x19c2aa['j'][_0x2294f5(0x974)](this,_0x352584),_0x352584;}[_0x192508(0x71e)](_0x1c315e){var _0x719c6a=_0x192508;_0x1c315e['setFloat2'](_0x719c6a(0x3e1),this[_0x719c6a(0xb22)],this[_0x719c6a(0x185)]),_0x1c315e[_0x719c6a(0x7cf)](_0x719c6a(0x48e),this[_0x719c6a(0x4fa)]),_0x1c315e[_0x719c6a(0x351)](_0x719c6a(0x7f5),this[_0x719c6a(0x20c)],this[_0x719c6a(0x2e0)]),_0x1c315e['setFloat'](_0x719c6a(0xbcc),this[_0x719c6a(0xbcc)]);}[_0x192508(0x9ea)](_0x34dd6f){var _0x284b74=_0x192508;_0x34dd6f[_0x284b74(0xad8)](_0x284b74(0x3e1),0x2),_0x34dd6f['addUniform'](_0x284b74(0x48e),0x1),_0x34dd6f['addUniform']('height',0x2),_0x34dd6f[_0x284b74(0xad8)](_0x284b74(0xbcc),0x1);}[_0x192508(0x368)](){var _0x1bc059=_0x192508;let _0x324087=_0x1bc059(0xac1);return this[_0x1bc059(0x610)]&&(_0x324087+='\x0a#define\x20CONEEMITTERSPAWNPOINT'),_0x324087;}[_0x192508(0x875)](){var _0x35797c=_0x192508;return _0x35797c(0xa64);}['serialize'](){var _0x385ce8=_0x192508;const _0x5122ab={};return _0x5122ab[_0x385ce8(0x844)]=this[_0x385ce8(0x875)](),_0x5122ab[_0x385ce8(0x3e1)]=this['_radius'],_0x5122ab[_0x385ce8(0xcae)]=this[_0x385ce8(0x4fa)],_0x5122ab[_0x385ce8(0xbcc)]=this[_0x385ce8(0xbcc)],_0x5122ab[_0x385ce8(0x185)]=this[_0x385ce8(0x185)],_0x5122ab[_0x385ce8(0x2e0)]=this[_0x385ce8(0x2e0)],_0x5122ab[_0x385ce8(0x610)]=this[_0x385ce8(0x610)],_0x5122ab;}[_0x192508(0x831)](_0x307f30){var _0x2c636f=_0x192508;this[_0x2c636f(0x3e1)]=_0x307f30['radius'],this[_0x2c636f(0xcae)]=_0x307f30[_0x2c636f(0xcae)],this['directionRandomizer']=_0x307f30['directionRandomizer'],this[_0x2c636f(0x185)]=void 0x0!==_0x307f30[_0x2c636f(0x185)]?_0x307f30[_0x2c636f(0x185)]:0x1,this[_0x2c636f(0x2e0)]=void 0x0!==_0x307f30['radiusRange']?_0x307f30['heightRange']:0x1,this[_0x2c636f(0x610)]=void 0x0!==_0x307f30[_0x2c636f(0x610)]&&_0x307f30['emitFromSpawnPointOnly'];}}},0x11b85:(_0x593a9f,_0x462ca5,_0x921824)=>{var _0x1f45da=a7_0x51ebec;_0x921824['d'](_0x462ca5,{'k':()=>_0x5007e9,'z':()=>_0x30fb73});var _0x44c493=_0x921824(0xd53f),_0x47f0fb=_0x921824(0x17372),_0x12b99e=_0x921824(0x15146);class _0x5007e9{constructor(_0x5f1c4e=0x1,_0x57d182=0x1,_0x152194=0x1,_0x1dc97d=0x0){var _0xfc931b=a7_0x4956;this[_0xfc931b(0x3e1)]=_0x5f1c4e,this[_0xfc931b(0x7f5)]=_0x57d182,this[_0xfc931b(0x185)]=_0x152194,this[_0xfc931b(0xbcc)]=_0x1dc97d,this[_0xfc931b(0x933)]=_0x44c493['P'][_0xfc931b(0x8bd)]();}[_0x1f45da(0x7b3)](_0x35fdce,_0xd0f117,_0x196b9b,_0x20d19a,_0x84d32e){var _0x3e840b=_0x1f45da;_0x196b9b[_0x3e840b(0xd1d)]['subtractToRef'](_0x35fdce[_0x3e840b(0x3ba)](),this[_0x3e840b(0x933)]),this['_tempVector'][_0x3e840b(0xd3e)](),_0x44c493['P'][_0x3e840b(0xb3f)](this[_0x3e840b(0x933)],_0x84d32e,this[_0x3e840b(0x933)]),(_0x196b9b=_0x47f0fb['R'][_0x3e840b(0xa66)](-this['directionRandomizer']/0x2,this[_0x3e840b(0xbcc)]/0x2),_0x84d32e=Math['atan2'](this['_tempVector']['x'],this[_0x3e840b(0x933)]['z'])),(_0x84d32e+=_0x47f0fb['R'][_0x3e840b(0xa66)](-Math['PI']/0x2,Math['PI']/0x2)*this[_0x3e840b(0xbcc)],this[_0x3e840b(0x933)]['y']=_0x196b9b,this[_0x3e840b(0x933)]['x']=Math['sin'](_0x84d32e),this[_0x3e840b(0x933)]['z']=Math[_0x3e840b(0x486)](_0x84d32e),this[_0x3e840b(0x933)][_0x3e840b(0xd3e)](),_0x20d19a?_0xd0f117[_0x3e840b(0x1e0)](this['_tempVector']):_0x44c493['P']['TransformNormalFromFloatsToRef'](this[_0x3e840b(0x933)]['x'],this[_0x3e840b(0x933)]['y'],this[_0x3e840b(0x933)]['z'],_0x35fdce,_0xd0f117));}[_0x1f45da(0x921)](_0x58d515,_0x5e3f51,_0x1c8ad1,_0x34f9b4){var _0x2ff83c=_0x1f45da,_0x114dcd=_0x47f0fb['R'][_0x2ff83c(0xa66)](-this[_0x2ff83c(0x7f5)]/0x2,this[_0x2ff83c(0x7f5)]/0x2),_0xcc8340=_0x47f0fb['R'][_0x2ff83c(0xa66)](0x0,0x2*Math['PI']),_0x1aad62=_0x47f0fb['R']['RandomRange']((0x1-this[_0x2ff83c(0x185)])*(0x1-this['radiusRange']),0x1),_0x1aad62=Math[_0x2ff83c(0x589)](_0x1aad62)*this[_0x2ff83c(0x3e1)],_0x40e7c5=_0x1aad62*Math[_0x2ff83c(0x486)](_0xcc8340),_0x1aad62=_0x1aad62*Math[_0x2ff83c(0x763)](_0xcc8340);_0x34f9b4?_0x5e3f51[_0x2ff83c(0xb34)](_0x40e7c5,_0x114dcd,_0x1aad62):_0x44c493['P'][_0x2ff83c(0xb9d)](_0x40e7c5,_0x114dcd,_0x1aad62,_0x58d515,_0x5e3f51);}[_0x1f45da(0x669)](){var _0x597a07=_0x1f45da,_0xf83385=new _0x5007e9(this[_0x597a07(0x3e1)],this[_0x597a07(0xbcc)]);return _0x12b99e['j']['DeepCopy'](this,_0xf83385),_0xf83385;}['applyToShader'](_0x9c324d){var _0x18a59e=_0x1f45da;_0x9c324d[_0x18a59e(0x7cf)]('radius',this[_0x18a59e(0x3e1)]),_0x9c324d[_0x18a59e(0x7cf)](_0x18a59e(0x7f5),this['height']),_0x9c324d[_0x18a59e(0x7cf)](_0x18a59e(0x185),this[_0x18a59e(0x185)]),_0x9c324d[_0x18a59e(0x7cf)]('directionRandomizer',this['directionRandomizer']);}[_0x1f45da(0x9ea)](_0x28a320){var _0x1162a7=_0x1f45da;_0x28a320[_0x1162a7(0xad8)](_0x1162a7(0x3e1),0x1),_0x28a320[_0x1162a7(0xad8)]('height',0x1),_0x28a320[_0x1162a7(0xad8)](_0x1162a7(0x185),0x1),_0x28a320[_0x1162a7(0xad8)](_0x1162a7(0xbcc),0x1);}[_0x1f45da(0x368)](){var _0x3cbcc6=_0x1f45da;return _0x3cbcc6(0xa94);}[_0x1f45da(0x875)](){var _0x350235=_0x1f45da;return _0x350235(0x762);}[_0x1f45da(0x78e)](){var _0x18b323=_0x1f45da;const _0x407253={};return _0x407253[_0x18b323(0x844)]=this['getClassName'](),_0x407253['radius']=this[_0x18b323(0x3e1)],_0x407253[_0x18b323(0x7f5)]=this[_0x18b323(0x7f5)],_0x407253[_0x18b323(0x185)]=this['radiusRange'],_0x407253[_0x18b323(0xbcc)]=this[_0x18b323(0xbcc)],_0x407253;}[_0x1f45da(0x831)](_0x1615f3){var _0x1981b8=_0x1f45da;this[_0x1981b8(0x3e1)]=_0x1615f3[_0x1981b8(0x3e1)],this[_0x1981b8(0x7f5)]=_0x1615f3[_0x1981b8(0x7f5)],this[_0x1981b8(0x185)]=_0x1615f3['radiusRange'],this['directionRandomizer']=_0x1615f3['directionRandomizer'];}}class _0x30fb73 extends _0x5007e9{constructor(_0x54912c=0x1,_0x51c561=0x1,_0x1f6b67=0x1,_0x185c57=new _0x44c493['P'](0x0,0x1,0x0),_0x237bc6=new _0x44c493['P'](0x0,0x1,0x0)){var _0x51dda6=_0x1f45da;super(_0x54912c,_0x51c561,_0x1f6b67),this['direction1']=_0x185c57,this[_0x51dda6(0xb3d)]=_0x237bc6;}['startDirectionFunction'](_0x5cc275,_0x411abf){var _0x17caa2=_0x1f45da,_0x32579b=_0x47f0fb['R'][_0x17caa2(0xa66)](this[_0x17caa2(0x585)]['x'],this[_0x17caa2(0xb3d)]['x']),_0x22ece7=_0x47f0fb['R'][_0x17caa2(0xa66)](this[_0x17caa2(0x585)]['y'],this[_0x17caa2(0xb3d)]['y']),_0x5e13b5=_0x47f0fb['R'][_0x17caa2(0xa66)](this[_0x17caa2(0x585)]['z'],this['direction2']['z']);_0x44c493['P'][_0x17caa2(0xccc)](_0x32579b,_0x22ece7,_0x5e13b5,_0x5cc275,_0x411abf);}['clone'](){var _0x282c59=_0x1f45da,_0x19c117=new _0x30fb73(this[_0x282c59(0x3e1)],this[_0x282c59(0x7f5)],this[_0x282c59(0x185)],this['direction1'],this[_0x282c59(0xb3d)]);return _0x12b99e['j'][_0x282c59(0x974)](this,_0x19c117),_0x19c117;}[_0x1f45da(0x71e)](_0x587b77){var _0x53ca48=_0x1f45da;_0x587b77[_0x53ca48(0x7cf)](_0x53ca48(0x3e1),this['radius']),_0x587b77[_0x53ca48(0x7cf)](_0x53ca48(0x7f5),this[_0x53ca48(0x7f5)]),_0x587b77[_0x53ca48(0x7cf)](_0x53ca48(0x185),this[_0x53ca48(0x185)]),_0x587b77[_0x53ca48(0x23c)](_0x53ca48(0x585),this[_0x53ca48(0x585)]),_0x587b77[_0x53ca48(0x23c)]('direction2',this['direction2']);}[_0x1f45da(0x9ea)](_0x43f405){var _0x328974=_0x1f45da;_0x43f405[_0x328974(0xad8)](_0x328974(0x3e1),0x1),_0x43f405[_0x328974(0xad8)]('height',0x1),_0x43f405['addUniform'](_0x328974(0x185),0x1),_0x43f405[_0x328974(0xad8)](_0x328974(0x585),0x3),_0x43f405[_0x328974(0xad8)](_0x328974(0xb3d),0x3);}[_0x1f45da(0x368)](){var _0x14a3a0=_0x1f45da;return _0x14a3a0(0x728);}[_0x1f45da(0x875)](){var _0x4929fd=_0x1f45da;return _0x4929fd(0xcd4);}[_0x1f45da(0x78e)](){var _0xd86cd6=_0x1f45da;const _0x1e1c72=super[_0xd86cd6(0x78e)]();return _0x1e1c72['direction1']=this[_0xd86cd6(0x585)][_0xd86cd6(0x7c0)](),_0x1e1c72['direction2']=this[_0xd86cd6(0xb3d)][_0xd86cd6(0x7c0)](),_0x1e1c72;}[_0x1f45da(0x831)](_0x2dcd62){var _0x4fdeeb=_0x1f45da;super[_0x4fdeeb(0x831)](_0x2dcd62),this[_0x4fdeeb(0x585)][_0x4fdeeb(0x1e0)](_0x2dcd62[_0x4fdeeb(0x585)]),this[_0x4fdeeb(0xb3d)][_0x4fdeeb(0x1e0)](_0x2dcd62[_0x4fdeeb(0xb3d)]);}}},0xe907:(_0x5b3102,_0x549408,_0x6d069f)=>{var _0x422c15=a7_0x51ebec;_0x6d069f['d'](_0x549408,{'V':()=>_0x5759fa});var _0x8d30dc=_0x6d069f(0x15146),_0x2fa3fe=_0x6d069f(0xd53f),_0x949902=_0x6d069f(0x17372);class _0x5759fa{constructor(_0x16d7d9=0x1,_0x5df7f9=0x1,_0x33b73d=0x0){var _0x329a06=a7_0x4956;this[_0x329a06(0x3e1)]=_0x16d7d9,this[_0x329a06(0x185)]=_0x5df7f9,this[_0x329a06(0xbcc)]=_0x33b73d;}[_0x422c15(0x7b3)](_0x2a694e,_0x2f0335,_0x3f2c47,_0x40f1be){var _0x1ec2c9=_0x422c15;const _0x2fdd28=_0x3f2c47[_0x1ec2c9(0xd1d)][_0x1ec2c9(0x702)](_0x2a694e[_0x1ec2c9(0x3ba)]())[_0x1ec2c9(0xd3e)]();var _0x3f2c47=_0x949902['R'][_0x1ec2c9(0xa66)](0x0,this[_0x1ec2c9(0xbcc)]),_0x53d673=_0x949902['R'][_0x1ec2c9(0xa66)](0x0,this[_0x1ec2c9(0xbcc)]),_0x244e44=_0x949902['R'][_0x1ec2c9(0xa66)](0x0,this[_0x1ec2c9(0xbcc)]);_0x2fdd28['x']+=_0x3f2c47,_0x2fdd28['y']+=_0x53d673,_0x2fdd28['z']+=_0x244e44,_0x2fdd28[_0x1ec2c9(0xd3e)](),_0x40f1be?_0x2f0335[_0x1ec2c9(0x1e0)](_0x2fdd28):_0x2fa3fe['P'][_0x1ec2c9(0xccc)](_0x2fdd28['x'],_0x2fdd28['y'],_0x2fdd28['z'],_0x2a694e,_0x2f0335);}[_0x422c15(0x921)](_0x370cc2,_0x4f072d,_0x581a31,_0x258998){var _0x30e58d=_0x422c15,_0x1ce982=this[_0x30e58d(0x3e1)]-_0x949902['R'][_0x30e58d(0xa66)](0x0,this[_0x30e58d(0x3e1)]*this[_0x30e58d(0x185)]),_0x48f903=_0x949902['R'][_0x30e58d(0xa66)](0x0,0x1),_0x3dcdd4=_0x949902['R'][_0x30e58d(0xa66)](0x0,0x2*Math['PI']),_0x48f903=Math[_0x30e58d(0x3a9)](0x2*_0x48f903-0x1),_0x3b17f7=_0x1ce982*Math[_0x30e58d(0x486)](_0x3dcdd4)*Math['sin'](_0x48f903),_0x1816f5=_0x1ce982*Math[_0x30e58d(0x486)](_0x48f903),_0x1ce982=_0x1ce982*Math[_0x30e58d(0x763)](_0x3dcdd4)*Math['sin'](_0x48f903);_0x258998?_0x4f072d[_0x30e58d(0xb34)](_0x3b17f7,Math[_0x30e58d(0x2d7)](_0x1816f5),_0x1ce982):_0x2fa3fe['P']['TransformCoordinatesFromFloatsToRef'](_0x3b17f7,Math['abs'](_0x1816f5),_0x1ce982,_0x370cc2,_0x4f072d);}[_0x422c15(0x669)](){var _0x435962=_0x422c15,_0x2bc407=new _0x5759fa(this[_0x435962(0x3e1)],this[_0x435962(0xbcc)]);return _0x8d30dc['j']['DeepCopy'](this,_0x2bc407),_0x2bc407;}[_0x422c15(0x71e)](_0x51517c){var _0x419912=_0x422c15;_0x51517c[_0x419912(0x7cf)](_0x419912(0x3e1),this['radius']),_0x51517c['setFloat']('radiusRange',this['radiusRange']),_0x51517c[_0x419912(0x7cf)](_0x419912(0xbcc),this[_0x419912(0xbcc)]);}[_0x422c15(0x9ea)](_0x4246c7){var _0x3b72ab=_0x422c15;_0x4246c7[_0x3b72ab(0xad8)]('radius',0x1),_0x4246c7['addUniform'](_0x3b72ab(0x185),0x1),_0x4246c7[_0x3b72ab(0xad8)](_0x3b72ab(0xbcc),0x1);}[_0x422c15(0x368)](){var _0x55d2e1=_0x422c15;return _0x55d2e1(0x9cb);}[_0x422c15(0x875)](){var _0x5c7a57=_0x422c15;return _0x5c7a57(0xb5b);}[_0x422c15(0x78e)](){var _0x576f34=_0x422c15;const _0x49d49b={};return _0x49d49b[_0x576f34(0x844)]=this[_0x576f34(0x875)](),_0x49d49b['radius']=this[_0x576f34(0x3e1)],_0x49d49b[_0x576f34(0x185)]=this[_0x576f34(0x185)],_0x49d49b[_0x576f34(0xbcc)]=this[_0x576f34(0xbcc)],_0x49d49b;}[_0x422c15(0x831)](_0x5a3762){var _0x4738b1=_0x422c15;this[_0x4738b1(0x3e1)]=_0x5a3762[_0x4738b1(0x3e1)],this['radiusRange']=_0x5a3762[_0x4738b1(0x185)],this[_0x4738b1(0xbcc)]=_0x5a3762['directionRandomizer'];}}},0xedb9:(_0x111fe0,_0x43212a,_0x4a9d59)=>{var _0x3cd130=a7_0x51ebec;_0x4a9d59['d'](_0x43212a,{'c':()=>_0xc4fccc});var _0x1aedf2=_0x4a9d59(0x15146),_0x439be1=_0x4a9d59(0xd53f),_0x5aa19e=_0x4a9d59(0x17372);class _0xc4fccc{constructor(){var _0x3fd76f=a7_0x4956;this['direction1']=new _0x439be1['P'](0x0,0x1,0x0),this[_0x3fd76f(0xb3d)]=new _0x439be1['P'](0x0,0x1,0x0);}[_0x3cd130(0x7b3)](_0x993fc1,_0x87755c,_0x3380f6,_0x268c34){var _0x3030b3=_0x3cd130,_0x3aa31e=_0x5aa19e['R'][_0x3030b3(0xa66)](this[_0x3030b3(0x585)]['x'],this[_0x3030b3(0xb3d)]['x']),_0x151083=_0x5aa19e['R'][_0x3030b3(0xa66)](this['direction1']['y'],this[_0x3030b3(0xb3d)]['y']),_0x316bd2=_0x5aa19e['R']['RandomRange'](this['direction1']['z'],this[_0x3030b3(0xb3d)]['z']);_0x268c34?_0x87755c[_0x3030b3(0xb34)](_0x3aa31e,_0x151083,_0x316bd2):_0x439be1['P'][_0x3030b3(0xccc)](_0x3aa31e,_0x151083,_0x316bd2,_0x993fc1,_0x87755c);}['startPositionFunction'](_0x32fd1b,_0x4e611f,_0x4c5830,_0x125b62){var _0xa75c69=_0x3cd130;_0x125b62?_0x4e611f[_0xa75c69(0xb34)](0x0,0x0,0x0):_0x439be1['P'][_0xa75c69(0xb9d)](0x0,0x0,0x0,_0x32fd1b,_0x4e611f);}[_0x3cd130(0x669)](){var _0x505fb2=_0x3cd130,_0x219622=new _0xc4fccc();return _0x1aedf2['j'][_0x505fb2(0x974)](this,_0x219622),_0x219622;}[_0x3cd130(0x71e)](_0x41cf05){var _0x33fe6b=_0x3cd130;_0x41cf05['setVector3'](_0x33fe6b(0x585),this[_0x33fe6b(0x585)]),_0x41cf05[_0x33fe6b(0x23c)]('direction2',this[_0x33fe6b(0xb3d)]);}[_0x3cd130(0x9ea)](_0x362953){var _0x392826=_0x3cd130;_0x362953[_0x392826(0xad8)]('direction1',0x3),_0x362953['addUniform']('direction2',0x3);}[_0x3cd130(0x368)](){var _0x56b9ea=_0x3cd130;return _0x56b9ea(0x9e4);}[_0x3cd130(0x875)](){var _0x435e3d=_0x3cd130;return _0x435e3d(0xa6d);}[_0x3cd130(0x78e)](){var _0x57b6f8=_0x3cd130;const _0x2aa752={};return _0x2aa752[_0x57b6f8(0x844)]=this[_0x57b6f8(0x875)](),_0x2aa752['direction1']=this[_0x57b6f8(0x585)][_0x57b6f8(0x7c0)](),_0x2aa752['direction2']=this[_0x57b6f8(0xb3d)][_0x57b6f8(0x7c0)](),_0x2aa752;}[_0x3cd130(0x831)](_0xd23446){var _0x5ba971=_0x3cd130;_0x439be1['P'][_0x5ba971(0x8df)](_0xd23446['direction1'],0x0,this[_0x5ba971(0x585)]),_0x439be1['P']['FromArrayToRef'](_0xd23446[_0x5ba971(0xb3d)],0x0,this[_0x5ba971(0xb3d)]);}}},0xa546:(_0x59a1,_0x31726b,_0x45dd5e)=>{var _0x32f4cf=a7_0x51ebec;_0x45dd5e['d'](_0x31726b,{'A':()=>_0x3f1197,'c':()=>_0x51b149});var _0x16f4e0=_0x45dd5e(0xd53f),_0x5b81af=_0x45dd5e(0x17372),_0x711962=_0x45dd5e(0x15146);class _0x3f1197{constructor(_0x51b232=0x1,_0x5d897d=0x1,_0x6b017d=0x0){var _0x541d52=a7_0x4956;this[_0x541d52(0x3e1)]=_0x51b232,this[_0x541d52(0x185)]=_0x5d897d,this[_0x541d52(0xbcc)]=_0x6b017d;}[_0x32f4cf(0x7b3)](_0x499590,_0x3861cb,_0x1c65a4,_0x23130b){var _0xcd18d4=_0x32f4cf;const _0x3bc3da=_0x1c65a4['position'][_0xcd18d4(0x702)](_0x499590[_0xcd18d4(0x3ba)]())[_0xcd18d4(0xd3e)]();var _0x1c65a4=_0x5b81af['R'][_0xcd18d4(0xa66)](0x0,this[_0xcd18d4(0xbcc)]),_0x2887f1=_0x5b81af['R'][_0xcd18d4(0xa66)](0x0,this['directionRandomizer']),_0x5dc955=_0x5b81af['R'][_0xcd18d4(0xa66)](0x0,this['directionRandomizer']);_0x3bc3da['x']+=_0x1c65a4,_0x3bc3da['y']+=_0x2887f1,_0x3bc3da['z']+=_0x5dc955,_0x3bc3da[_0xcd18d4(0xd3e)](),_0x23130b?_0x3861cb[_0xcd18d4(0x1e0)](_0x3bc3da):_0x16f4e0['P']['TransformNormalFromFloatsToRef'](_0x3bc3da['x'],_0x3bc3da['y'],_0x3bc3da['z'],_0x499590,_0x3861cb);}[_0x32f4cf(0x921)](_0x12d37e,_0x257698,_0x441fc,_0x95476b){var _0x469872=_0x32f4cf,_0x429e36=this[_0x469872(0x3e1)]-_0x5b81af['R'][_0x469872(0xa66)](0x0,this[_0x469872(0x3e1)]*this[_0x469872(0x185)]),_0x3799b6=_0x5b81af['R'][_0x469872(0xa66)](0x0,0x1),_0x319bcc=_0x5b81af['R'][_0x469872(0xa66)](0x0,0x2*Math['PI']),_0x3799b6=Math[_0x469872(0x3a9)](0x2*_0x3799b6-0x1),_0x4dfde7=_0x429e36*Math[_0x469872(0x486)](_0x319bcc)*Math['sin'](_0x3799b6),_0x1d36c3=_0x429e36*Math[_0x469872(0x486)](_0x3799b6),_0x429e36=_0x429e36*Math[_0x469872(0x763)](_0x319bcc)*Math[_0x469872(0x763)](_0x3799b6);_0x95476b?_0x257698[_0x469872(0xb34)](_0x4dfde7,_0x1d36c3,_0x429e36):_0x16f4e0['P'][_0x469872(0xb9d)](_0x4dfde7,_0x1d36c3,_0x429e36,_0x12d37e,_0x257698);}['clone'](){var _0xde13a6=_0x32f4cf,_0x23056c=new _0x3f1197(this[_0xde13a6(0x3e1)],this[_0xde13a6(0xbcc)]);return _0x711962['j']['DeepCopy'](this,_0x23056c),_0x23056c;}[_0x32f4cf(0x71e)](_0x1bc299){var _0x15a847=_0x32f4cf;_0x1bc299[_0x15a847(0x7cf)](_0x15a847(0x3e1),this[_0x15a847(0x3e1)]),_0x1bc299['setFloat'](_0x15a847(0x185),this[_0x15a847(0x185)]),_0x1bc299[_0x15a847(0x7cf)](_0x15a847(0xbcc),this[_0x15a847(0xbcc)]);}[_0x32f4cf(0x9ea)](_0x48836f){var _0x34d0cb=_0x32f4cf;_0x48836f[_0x34d0cb(0xad8)]('radius',0x1),_0x48836f[_0x34d0cb(0xad8)](_0x34d0cb(0x185),0x1),_0x48836f[_0x34d0cb(0xad8)]('directionRandomizer',0x1);}[_0x32f4cf(0x368)](){var _0x13998c=_0x32f4cf;return _0x13998c(0x713);}[_0x32f4cf(0x875)](){return'SphereParticleEmitter';}[_0x32f4cf(0x78e)](){var _0x4daa50=_0x32f4cf;const _0x3d2b47={};return _0x3d2b47['type']=this[_0x4daa50(0x875)](),_0x3d2b47[_0x4daa50(0x3e1)]=this['radius'],_0x3d2b47['radiusRange']=this[_0x4daa50(0x185)],_0x3d2b47[_0x4daa50(0xbcc)]=this['directionRandomizer'],_0x3d2b47;}[_0x32f4cf(0x831)](_0x115b74){var _0x409d40=_0x32f4cf;this[_0x409d40(0x3e1)]=_0x115b74[_0x409d40(0x3e1)],this[_0x409d40(0x185)]=_0x115b74[_0x409d40(0x185)],this['directionRandomizer']=_0x115b74[_0x409d40(0xbcc)];}}class _0x51b149 extends _0x3f1197{constructor(_0x5849a4=0x1,_0xb9de28=new _0x16f4e0['P'](0x0,0x1,0x0),_0x578712=new _0x16f4e0['P'](0x0,0x1,0x0)){var _0x1c6749=_0x32f4cf;super(_0x5849a4),this['direction1']=_0xb9de28,this[_0x1c6749(0xb3d)]=_0x578712;}['startDirectionFunction'](_0x32017b,_0x457295){var _0x5939cc=_0x32f4cf,_0x1853f9=_0x5b81af['R'][_0x5939cc(0xa66)](this[_0x5939cc(0x585)]['x'],this[_0x5939cc(0xb3d)]['x']),_0x47ae02=_0x5b81af['R'][_0x5939cc(0xa66)](this['direction1']['y'],this[_0x5939cc(0xb3d)]['y']),_0x2ab089=_0x5b81af['R'][_0x5939cc(0xa66)](this[_0x5939cc(0x585)]['z'],this[_0x5939cc(0xb3d)]['z']);_0x16f4e0['P']['TransformNormalFromFloatsToRef'](_0x1853f9,_0x47ae02,_0x2ab089,_0x32017b,_0x457295);}[_0x32f4cf(0x669)](){var _0x533372=_0x32f4cf,_0x44b0a7=new _0x51b149(this[_0x533372(0x3e1)],this['direction1'],this[_0x533372(0xb3d)]);return _0x711962['j'][_0x533372(0x974)](this,_0x44b0a7),_0x44b0a7;}[_0x32f4cf(0x71e)](_0x28b94b){var _0x35b95d=_0x32f4cf;_0x28b94b['setFloat'](_0x35b95d(0x3e1),this[_0x35b95d(0x3e1)]),_0x28b94b[_0x35b95d(0x7cf)](_0x35b95d(0x185),this[_0x35b95d(0x185)]),_0x28b94b[_0x35b95d(0x23c)]('direction1',this[_0x35b95d(0x585)]),_0x28b94b[_0x35b95d(0x23c)](_0x35b95d(0xb3d),this[_0x35b95d(0xb3d)]);}[_0x32f4cf(0x9ea)](_0x320912){var _0x444055=_0x32f4cf;_0x320912[_0x444055(0xad8)](_0x444055(0x3e1),0x1),_0x320912[_0x444055(0xad8)](_0x444055(0x185),0x1),_0x320912[_0x444055(0xad8)](_0x444055(0x585),0x3),_0x320912[_0x444055(0xad8)](_0x444055(0xb3d),0x3);}[_0x32f4cf(0x368)](){return'#define\x20SPHEREEMITTER\x0a#define\x20DIRECTEDSPHEREEMITTER';}['getClassName'](){return'SphereDirectedParticleEmitter';}[_0x32f4cf(0x78e)](){var _0x135efd=_0x32f4cf;const _0x184573=super[_0x135efd(0x78e)]();return _0x184573[_0x135efd(0x585)]=this[_0x135efd(0x585)][_0x135efd(0x7c0)](),_0x184573[_0x135efd(0xb3d)]=this[_0x135efd(0xb3d)]['asArray'](),_0x184573;}[_0x32f4cf(0x831)](_0x4b5619){var _0x5c66b2=_0x32f4cf;super[_0x5c66b2(0x831)](_0x4b5619),this[_0x5c66b2(0x585)][_0x5c66b2(0x1e0)](_0x4b5619[_0x5c66b2(0x585)]),this[_0x5c66b2(0xb3d)][_0x5c66b2(0x1e0)](_0x4b5619['direction2']);}}},0xa73b:(_0x185804,_0x30463b,_0x371d0f)=>{var _0x1f2793=a7_0x51ebec,_0x5b6c06=_0x371d0f(0x94e3),_0x33ce9c=_0x371d0f(0x57f3),_0x57abac=_0x371d0f(0x700f),_0x4de43b=_0x371d0f(0x14232),_0x99beaf=_0x371d0f(0x18457),_0x4c0ee0=_0x371d0f(0x67a3);_0x371d0f(0xa90d),_0x57abac['p']['AddParser'](_0x4c0ee0['l'][_0x1f2793(0x9cd)],(_0xc4a6af,_0x37df6e,_0x4468f9,_0x415815)=>{var _0x11134f=_0x1f2793;const _0x1e13d3=_0x57abac['p'][_0x11134f(0x810)](_0x4c0ee0['l'][_0x11134f(0x9cd)]);if(_0x1e13d3&&void 0x0!==_0xc4a6af[_0x11134f(0x634)]&&null!==_0xc4a6af['particleSystems'])for(let _0x11c691=0x0,_0x297a1a=_0xc4a6af['particleSystems'][_0x11134f(0x9ff)];_0x11c691<_0x297a1a;_0x11c691++){var _0x2720c0=_0xc4a6af[_0x11134f(0x634)][_0x11c691];_0x4468f9[_0x11134f(0x634)]['push'](_0x1e13d3(_0x2720c0,_0x37df6e,_0x415815));}}),_0x57abac['p']['AddIndividualParser'](_0x4c0ee0['l'][_0x1f2793(0x9cd)],(_0x555e45,_0x4e2f88,_0x21a43e)=>(_0x555e45[_0x1f2793(0xc35)]?_0x33ce9c['h']:_0x99beaf['p'])[_0x1f2793(0x777)](_0x555e45,_0x4e2f88,_0x21a43e)),_0x4de43b['D'][_0x1f2793(0x21e)][_0x1f2793(0xb70)]=function(_0x20b53e,_0x39ebba=[],_0x27c213=[],_0x12da23='',_0x34be31,_0x522028,_0x5a05f3,_0x5be6ff){var _0x5eb941=_0x1f2793;let _0x31fc88=[],_0x35a2b7=[];const _0x915612=[];return _0x5be6ff?_0x5be6ff[_0x5eb941(0x2dc)](_0x35a2b7,_0x31fc88,_0x915612):(_0x31fc88=_0x99beaf['p'][_0x5eb941(0x403)](),_0x35a2b7=_0x99beaf['p']['_GetEffectCreationOptions']()),-0x1===_0x12da23[_0x5eb941(0xaa4)]('\x20BILLBOARD')&&(_0x12da23+=_0x5eb941(0xb2c)),null!=_0x5be6ff&&_0x5be6ff[_0x5eb941(0x558)]&&-0x1===_0x12da23[_0x5eb941(0xaa4)](_0x5eb941(0x3fb))&&(_0x12da23+=_0x5eb941(0x7b4)),-0x1===_0x27c213[_0x5eb941(0xaa4)](_0x5eb941(0x5db))&&_0x27c213[_0x5eb941(0x2f7)](_0x5eb941(0x5db)),this[_0x5eb941(0xc02)]({'vertex':null!=(_0x5be6ff=null==_0x5be6ff?void 0x0:_0x5be6ff['vertexShaderName'])?_0x5be6ff:'particles','fragmentElement':_0x20b53e},_0x31fc88,_0x35a2b7[_0x5eb941(0xaa8)](_0x39ebba),_0x915612['concat'](_0x27c213),_0x12da23,_0x34be31,_0x522028,_0x5a05f3);},_0x5b6c06['Kj']['prototype'][_0x1f2793(0xd09)]=function(){var _0x5d095d=_0x1f2793;const _0xf0c5ed=new Array();for(let _0x327c19=0x0;_0x327c19<this[_0x5d095d(0x31a)]()[_0x5d095d(0x634)][_0x5d095d(0x9ff)];_0x327c19++){var _0x237dfa=this[_0x5d095d(0x31a)]()[_0x5d095d(0x634)][_0x327c19];_0x237dfa[_0x5d095d(0xc81)]===this&&_0xf0c5ed['push'](_0x237dfa);}return _0xf0c5ed;},_0x5b6c06['Kj'][_0x1f2793(0x21e)][_0x1f2793(0x8f1)]=function(){var _0x1aa7fc=_0x1f2793;const _0x3f48fc=new Array(),_0xee6f29=this['getDescendants']();_0xee6f29[_0x1aa7fc(0x2f7)](this);for(let _0x2e455f=0x0;_0x2e455f<this[_0x1aa7fc(0x31a)]()[_0x1aa7fc(0x634)]['length'];_0x2e455f++){var _0x4247a9=this[_0x1aa7fc(0x31a)]()[_0x1aa7fc(0x634)][_0x2e455f],_0x3dcc8d=_0x4247a9['emitter'];_0x3dcc8d[_0x1aa7fc(0xd1d)]&&-0x1!==_0xee6f29['indexOf'](_0x3dcc8d)&&_0x3f48fc['push'](_0x4247a9);}return _0x3f48fc;};},0x6379:(_0x8104b5,_0x33c66b,_0x14347b)=>{var _0x45c406=a7_0x51ebec,_0x339c44=_0x14347b(0x9a70),_0x1a722d=_0x14347b(0xa896),_0x4a04e2=_0x14347b(0x67a3),_0x41ce7d=_0x14347b(0xd537),_0x33df88=_0x14347b(0x12c64),_0x15f3da=_0x14347b(0xb54f);_0x41ce7d['x'][_0x45c406(0x21e)][_0x45c406(0x6e2)]=function(){return this['_physicsEngine'];},_0x41ce7d['x']['prototype'][_0x45c406(0xb6b)]=function(_0x150b41=null,_0x291566){var _0x38a387=_0x45c406;if(this[_0x38a387(0xd6b)])return!0x0;var _0x5c3a89;this[_0x38a387(0x76f)](_0x4a04e2['l'][_0x38a387(0xb9f)])||(_0x5c3a89=new _0x26ec71(this),this[_0x38a387(0x22e)](_0x5c3a89));try{if(_0x291566&&0x1!==(null==_0x291566?void 0x0:_0x291566[_0x38a387(0x5b8)]())){if(0x2!==(null==_0x291566?void 0x0:_0x291566[_0x38a387(0x5b8)]()))throw new Error('Unsupported\x20Physics\x20plugin\x20version.');this['_physicsEngine']=new _0x15f3da['T'](_0x150b41,_0x291566);}else this['_physicsEngine']=new _0x33df88['T'](_0x150b41,_0x291566);return!(this[_0x38a387(0x255)]=0x0);}catch(_0xb84d06){return _0x339c44['Y']['Error'](_0xb84d06[_0x38a387(0x18d)]),!0x1;}},_0x41ce7d['x'][_0x45c406(0x21e)][_0x45c406(0x498)]=function(){var _0x3dd2ba=_0x45c406;this[_0x3dd2ba(0xd6b)]&&(this['_physicsEngine']['dispose'](),this[_0x3dd2ba(0xd6b)]=null);},_0x41ce7d['x'][_0x45c406(0x21e)]['isPhysicsEnabled']=function(){var _0x3eff8b=_0x45c406;return void 0x0!==this[_0x3eff8b(0xd6b)];},_0x41ce7d['x'][_0x45c406(0x21e)][_0x45c406(0xa31)]=function(_0x654329){var _0x572b05=_0x45c406;const _0x1fd59b=_0x654329[_0x572b05(0x64e)][0x0][_0x572b05(0x688)];_0x1fd59b['physicsImpostor']&&(_0x1fd59b[_0x572b05(0xc49)][_0x572b05(0x38b)](),_0x1fd59b[_0x572b05(0xc49)]=null);},_0x41ce7d['x'][_0x45c406(0x21e)]['_advancePhysicsEngineStep']=function(_0x164ecb){var _0x46abc4=_0x45c406;if(this[_0x46abc4(0xd6b)]){var _0x130ea3=this[_0x46abc4(0xd6b)][_0x46abc4(0xcf0)]();if(0x0<_0x130ea3){for(this['_physicsTimeAccumulator']+=_0x164ecb;this['_physicsTimeAccumulator']>_0x130ea3;)this[_0x46abc4(0x6df)][_0x46abc4(0x4a4)](this),this[_0x46abc4(0xd6b)][_0x46abc4(0x794)](_0x130ea3/0x3e8),this[_0x46abc4(0x75f)][_0x46abc4(0x4a4)](this),this[_0x46abc4(0x255)]-=_0x130ea3;}else this[_0x46abc4(0x6df)][_0x46abc4(0x4a4)](this),this[_0x46abc4(0xd6b)][_0x46abc4(0x794)](_0x164ecb/0x3e8),this[_0x46abc4(0x75f)][_0x46abc4(0x4a4)](this);}};class _0x26ec71{constructor(_0x1cc197){var _0x321216=_0x45c406;this[_0x321216(0x587)]=_0x4a04e2['l']['NAME_PHYSICSENGINE'],this[_0x321216(0xc03)]=_0x1cc197,this[_0x321216(0xc03)][_0x321216(0x6df)]=new _0x1a722d['y$'](),this[_0x321216(0xc03)][_0x321216(0x75f)]=new _0x1a722d['y$'](),this['scene'][_0x321216(0xb72)]=()=>this[_0x321216(0xc03)][_0x321216(0xd6b)]?0x3e8*this['scene']['_physicsEngine']['getTimeStep']():0x3e8/0x3c;}[_0x45c406(0x69f)](){}[_0x45c406(0xb02)](){}['dispose'](){var _0x2c6f05=_0x45c406;this[_0x2c6f05(0xc03)][_0x2c6f05(0x6df)]['clear'](),this[_0x2c6f05(0xc03)][_0x2c6f05(0x75f)][_0x2c6f05(0x36e)](),this[_0x2c6f05(0xc03)][_0x2c6f05(0xd6b)]&&this[_0x2c6f05(0xc03)]['disablePhysicsEngine']();}}_0x14347b(0x15d1f),_0x41ce7d=_0x14347b(0x13b02),(Object[_0x45c406(0xd34)](_0x41ce7d['Y'][_0x45c406(0x21e)],_0x45c406(0x5fe),{'get':function(){return this['_physicsBody'];},'set':function(_0xcef317){var _0x24b585=_0x45c406;this[_0x24b585(0x3a7)]!==_0xcef317&&(this[_0x24b585(0x386)]&&this[_0x24b585(0x932)][_0x24b585(0x7a1)](this[_0x24b585(0x386)]),(this[_0x24b585(0x3a7)]=_0xcef317)&&(this[_0x24b585(0x386)]=this[_0x24b585(0x932)][_0x24b585(0x840)](()=>{var _0x19ce6d=_0x24b585;this[_0x19ce6d(0x5fe)]&&(this['physicsBody'][_0x19ce6d(0x38b)](),this[_0x19ce6d(0x5fe)]=null);})));},'enumerable':!0x0,'configurable':!0x0}),_0x41ce7d['Y'][_0x45c406(0x21e)]['getPhysicsBody']=function(){var _0x39ab06=_0x45c406;return this[_0x39ab06(0x5fe)];},_0x41ce7d['Y'][_0x45c406(0x21e)][_0x45c406(0x955)]=function(_0x2460ff,_0x1f7619){var _0x4c9a22=_0x45c406;if(this[_0x4c9a22(0x5fe)])return this[_0x4c9a22(0x5fe)][_0x4c9a22(0x955)](_0x2460ff,_0x1f7619),this;throw new Error('No\x20Physics\x20Body\x20for\x20TransformNode');});},0x15d1f:(_0x389c7e,_0x584b1c,_0x18c86f)=>{var _0x18f216=a7_0x51ebec,_0x3fb8e0=_0x18c86f(0x349f),_0x19f0b3=_0x18c86f(0x95ac);Object['defineProperty'](_0x3fb8e0['x'][_0x18f216(0x21e)],_0x18f216(0xc49),{'get':function(){return this['_physicsImpostor'];},'set':function(_0x274b4a){var _0x40fbf2=_0x18f216;this[_0x40fbf2(0x647)]!==_0x274b4a&&(this['_disposePhysicsObserver']&&this[_0x40fbf2(0x932)][_0x40fbf2(0x7a1)](this[_0x40fbf2(0x386)]),(this[_0x40fbf2(0x647)]=_0x274b4a)&&(this[_0x40fbf2(0x386)]=this[_0x40fbf2(0x932)][_0x40fbf2(0x840)](()=>{var _0x148576=_0x40fbf2;this[_0x148576(0xc49)]&&(this[_0x148576(0xc49)][_0x148576(0x38b)](),this[_0x148576(0xc49)]=null);})));},'enumerable':!0x0,'configurable':!0x0}),_0x3fb8e0['x'][_0x18f216(0x21e)][_0x18f216(0x4fb)]=function(){var _0x2a568a=_0x18f216;return this[_0x2a568a(0xc49)];},_0x3fb8e0['x']['prototype']['applyImpulse']=function(_0x306348,_0x3c4f62){var _0x521996=_0x18f216;return this[_0x521996(0xc49)]&&this[_0x521996(0xc49)]['applyImpulse'](_0x306348,_0x3c4f62),this;},_0x3fb8e0['x'][_0x18f216(0x21e)][_0x18f216(0x3cd)]=function(_0x5671a4,_0x397ddc,_0x4c7269,_0x53857c){var _0x5e008d=_0x18f216;return this[_0x5e008d(0xc49)]&&_0x5671a4[_0x5e008d(0xc49)]&&this['physicsImpostor']['createJoint'](_0x5671a4[_0x5e008d(0xc49)],_0x19f0b3['q7'][_0x5e008d(0xa3c)],{'mainPivot':_0x397ddc,'connectedPivot':_0x4c7269,'nativeParams':_0x53857c}),this;};},0x1473a:(_0x3eaa3b,_0xcf50ea,_0x2ba2cf)=>{var _0x1a7f0d=a7_0x51ebec;_0x2ba2cf['d'](_0xcf50ea,{'a':()=>_0x7f3520});class _0x7f3520{constructor(){this['_renderPipelines']={};}get[_0x1a7f0d(0x321)](){var _0x3c685b=_0x1a7f0d;const _0x7b1a87=[];for(const _0x1cf10e in this[_0x3c685b(0x3b1)]){var _0x34f04f;Object[_0x3c685b(0x21e)][_0x3c685b(0xb92)][_0x3c685b(0x9d3)](this[_0x3c685b(0x3b1)],_0x1cf10e)&&(_0x34f04f=this[_0x3c685b(0x3b1)][_0x1cf10e])[_0x3c685b(0x916)]&&_0x7b1a87[_0x3c685b(0x2f7)](_0x34f04f);}return _0x7b1a87;}['addPipeline'](_0x5093aa){var _0x119f5e=_0x1a7f0d;this[_0x119f5e(0x3b1)][_0x5093aa[_0x119f5e(0xc2f)]]=_0x5093aa;}[_0x1a7f0d(0xbb3)](_0x1681f1){var _0x545e5a=_0x1a7f0d;delete this[_0x545e5a(0x3b1)][_0x1681f1];}['attachCamerasToRenderPipeline'](_0x129c2c,_0x209b9c,_0x2ca3eb=!0x1){var _0x45838a=_0x1a7f0d;const _0x82c9f1=this[_0x45838a(0x3b1)][_0x129c2c];_0x82c9f1&&_0x82c9f1[_0x45838a(0x276)](_0x209b9c,_0x2ca3eb);}[_0x1a7f0d(0x17f)](_0x39c29f,_0x2c3dd4){var _0x13a63e=_0x1a7f0d;const _0x4463e8=this[_0x13a63e(0x3b1)][_0x39c29f];_0x4463e8&&_0x4463e8[_0x13a63e(0xd00)](_0x2c3dd4);}['enableEffectInPipeline'](_0x21f330,_0x2e3b03,_0x1b33ec){const _0xc574e3=this['_renderPipelines'][_0x21f330];_0xc574e3&&_0xc574e3['_enableEffect'](_0x2e3b03,_0x1b33ec);}['disableEffectInPipeline'](_0x9ad987,_0x49a63b,_0x1f398c){var _0xb068fe=_0x1a7f0d;const _0x5029ca=this[_0xb068fe(0x3b1)][_0x9ad987];_0x5029ca&&_0x5029ca[_0xb068fe(0x62e)](_0x49a63b,_0x1f398c);}[_0x1a7f0d(0x842)](){var _0x5aab12=_0x1a7f0d;for(const _0x3c54fe in this[_0x5aab12(0x3b1)])if(Object[_0x5aab12(0x21e)][_0x5aab12(0xb92)][_0x5aab12(0x9d3)](this[_0x5aab12(0x3b1)],_0x3c54fe)){const _0x4c9712=this[_0x5aab12(0x3b1)][_0x3c54fe];_0x4c9712['isSupported']?_0x4c9712[_0x5aab12(0xc34)]():(_0x4c9712[_0x5aab12(0x38b)](),delete this['_renderPipelines'][_0x3c54fe]);}}[_0x1a7f0d(0x4ea)](){var _0x529bdc=_0x1a7f0d;for(const _0x58db78 in this[_0x529bdc(0x3b1)])if(Object['prototype'][_0x529bdc(0xb92)][_0x529bdc(0x9d3)](this[_0x529bdc(0x3b1)],_0x58db78)){const _0x4ce023=this[_0x529bdc(0x3b1)][_0x58db78];_0x4ce023[_0x529bdc(0x4ea)]();}}[_0x1a7f0d(0x38b)](){var _0x210843=_0x1a7f0d;for(const _0x59e087 in this[_0x210843(0x3b1)])if(Object[_0x210843(0x21e)][_0x210843(0xb92)]['call'](this['_renderPipelines'],_0x59e087)){const _0x4047e0=this[_0x210843(0x3b1)][_0x59e087];_0x4047e0['dispose']();}}}},0xbf0d:(_0x410b95,_0x43f1ca,_0x424f60)=>{var _0x4e14c6=a7_0x51ebec;_0x424f60['d'](_0x43f1ca,{'B':()=>_0x27a7a5});var _0x27bd2d=_0x424f60(0x1610),_0x41a066=_0x424f60(0xd3a2);class _0x27a7a5{constructor(_0x2ac7d0,_0x12f4ab,_0x4421fd,_0x74e825=0x1){var _0x461d70=a7_0x4956;this['_engine']=_0x2ac7d0,this[_0x461d70(0x4b6)]=new _0x41a066['p'](_0x2ac7d0,!0x0),this['_depthRTWrapper']=this['_engine']['createRenderTargetTexture']({'width':_0x12f4ab,'height':_0x4421fd},{'generateMipMaps':!0x1,'type':_0x27bd2d['g'][_0x461d70(0xa07)],'format':_0x27bd2d['g'][_0x461d70(0xbaf)],'samplingMode':_0x27bd2d['g'][_0x461d70(0xcfa)],'generateDepthBuffer':!0x0,'generateStencilBuffer':!0x1,'samples':_0x74e825,'noColorAttachment':!0x0,'label':_0x461d70(0x293)}),this['_depthRTWrapper'][_0x461d70(0x3ee)](0x0,!0x1,!0x1,0x1,void 0x0,_0x461d70(0x3a3));}get[_0x4e14c6(0x62f)](){var _0x244618=_0x4e14c6;return this[_0x244618(0xd32)];}['copy'](_0x59a38c){var _0x230bfe=_0x4e14c6;return this[_0x230bfe(0x4b6)][_0x230bfe(0xa8f)](_0x59a38c,this[_0x230bfe(0xd32)]);}[_0x4e14c6(0x38b)](){var _0x22b53e=_0x4e14c6;this[_0x22b53e(0xd32)][_0x22b53e(0x38b)](),this[_0x22b53e(0x4b6)]['dispose']();}}},0xafed:(_0x5f0a16,_0x3e7782,_0x39c0fc)=>{var _0x2661e1=a7_0x51ebec;_0x39c0fc['d'](_0x3e7782,{'a':()=>_0xd54d37});var _0x4b3770=_0x39c0fc(0x1610),_0x19ad2c=_0x39c0fc(0x12cad),_0x28ab13=_0x39c0fc(0xd53f),_0x17111e=_0x39c0fc(0x95d8),_0x298f92=_0x39c0fc(0xa896);class _0xd54d37{constructor(_0x1d464c,_0x829ff0,_0x4f3e0b,_0x45fc13,_0x4717ff,_0x3d41ef,_0x245ee9=_0x4b3770['g'][_0x2661e1(0x8ef)],_0x472448=_0x4b3770['g'][_0x2661e1(0xbaf)],_0x539767=_0x4b3770['g']['TEXTURETYPE_FLOAT'],_0x359f5f=_0x4b3770['g'][_0x2661e1(0xbaf)],_0x120d21=!0x1,_0x596835=null,_0x28111f=!0x0,_0x53d337=0x1){var _0x26b7a0=_0x2661e1;this[_0x26b7a0(0x99d)]=!0x0,this['blurSizeDivisor']=0x1,this[_0x26b7a0(0x2d9)]=0x7,this[_0x26b7a0(0x39e)]=0x3,this['blurMaxFilterSize']=0x64,this[_0x26b7a0(0x874)]=0xa,this['particleSize']=0.02,this[_0x26b7a0(0x932)]=new _0x298f92['y$'](),this[_0x26b7a0(0xc2f)]=_0x1d464c,this[_0x26b7a0(0xba4)]=_0x829ff0,this['_camera']=_0x596835,this[_0x26b7a0(0x8ba)]=_0x829ff0[_0x26b7a0(0x975)](),this[_0x26b7a0(0x8eb)]=_0x4f3e0b,this[_0x26b7a0(0x20c)]=_0x45fc13,this[_0x26b7a0(0x2d2)]=_0x4717ff,this[_0x26b7a0(0xb82)]=_0x3d41ef,this['_textureType']=_0x245ee9,this[_0x26b7a0(0xd5f)]=_0x472448,this[_0x26b7a0(0x78f)]=_0x539767,this['_blurTextureFormat']=_0x359f5f,this[_0x26b7a0(0x8bb)]=_0x120d21,this[_0x26b7a0(0x5a9)]=_0x28111f,this['_samples']=_0x53d337,this[_0x26b7a0(0xc2c)]=0x0,this[_0x26b7a0(0x99d)]=0x0!==_0x4717ff&&0x0!==_0x3d41ef,this[_0x26b7a0(0x18f)]=null,this[_0x26b7a0(0x67e)]=null,this['_rtBlur']=null,this[_0x26b7a0(0x357)]=null,this['_blurPostProcesses']=null;}get[_0x2661e1(0x5e2)](){var _0x35d93d=_0x2661e1;return this[_0x35d93d(0x39e)];}set[_0x2661e1(0x5e2)](_0x150371){var _0x5b1e93=_0x2661e1;if(this[_0x5b1e93(0x39e)]!==_0x150371&&(this[_0x5b1e93(0x39e)]=_0x150371,null!==this[_0x5b1e93(0x86e)])){var _0x74c35d=this['_blurPostProcesses'][0x0],_0x2064e0=this['_blurPostProcesses'][0x1];this[_0x5b1e93(0x86e)]=[];for(let _0x34803f=0x0;_0x34803f<0x2*this[_0x5b1e93(0x39e)];++_0x34803f)this[_0x5b1e93(0x86e)][_0x34803f]=0x1&_0x34803f?_0x2064e0:_0x74c35d;}}get[_0x2661e1(0xd0a)](){var _0xeb1fed=_0x2661e1;return this[_0xeb1fed(0x18f)];}get[_0x2661e1(0xcce)](){return this['_rtBlur'];}get[_0x2661e1(0x823)](){var _0x30726b=_0x2661e1;return this[_0x30726b(0x67e)];}get[_0x2661e1(0xcb1)](){return this['_textureBlurred'];}[_0x2661e1(0xc37)](){var _0x4b1845=_0x2661e1,_0x1b3a15,_0x421632,_0x1fb028;this[_0x4b1845(0x38b)](),this['_createRenderTarget'](),this['enableBlur']&&this[_0x4b1845(0x67e)]&&([_0x1b3a15,_0x421632,_0x1fb028]=this['_createBlurPostProcesses'](this[_0x4b1845(0x67e)],this['_blurTextureType'],this[_0x4b1845(0x893)],this[_0x4b1845(0x9e6)],this[_0x4b1845(0xc2f)],this[_0x4b1845(0x8bb)]),this['_rtBlur']=_0x1b3a15,this[_0x4b1845(0x357)]=_0x421632,this[_0x4b1845(0x86e)]=_0x1fb028);}[_0x2661e1(0x5f6)](){var _0x14ff26=_0x2661e1;this['enableBlur']&&this[_0x14ff26(0x86e)]&&(this[_0x14ff26(0xc2c)]=0x0,this[_0x14ff26(0xba4)][_0x14ff26(0x643)][_0x14ff26(0x1a4)](this['_blurPostProcesses'],this[_0x14ff26(0x649)],!0x0),this[_0x14ff26(0x8ba)][_0x14ff26(0xa49)](this['_rtBlur']));}[_0x2661e1(0x97d)](){var _0x3335b5=_0x2661e1;this[_0x3335b5(0x18f)]=this[_0x3335b5(0x8ba)][_0x3335b5(0xcf7)]({'width':this[_0x3335b5(0x8eb)],'height':this[_0x3335b5(0x20c)]},{'generateMipMaps':!0x1,'type':this[_0x3335b5(0x3d0)],'format':this['_textureFormat'],'samplingMode':_0x4b3770['g'][_0x3335b5(0xcfa)],'generateDepthBuffer':this[_0x3335b5(0x5a9)],'generateStencilBuffer':!0x1,'samples':this['_samples'],'label':_0x3335b5(0xab7)+this[_0x3335b5(0xc2f)]});const _0x2623c8=this[_0x3335b5(0x18f)]['texture'];_0x2623c8[_0x3335b5(0xaa5)](),this['_texture']=new _0x19ad2c['x'](null,this[_0x3335b5(0xba4)]),this['_texture']['name']='rtt'+this[_0x3335b5(0xc2f)],this[_0x3335b5(0x67e)]['_texture']=_0x2623c8,this[_0x3335b5(0x67e)][_0x3335b5(0x2c0)]=_0x19ad2c['x'][_0x3335b5(0x7c9)],this['_texture']['wrapV']=_0x19ad2c['x']['CLAMP_ADDRESSMODE'],this[_0x3335b5(0x67e)][_0x3335b5(0x527)]=0x1;}[_0x2661e1(0xc56)](_0x13612f,_0x32c6d9,_0x49c699,_0x5e1b3e,_0x4fc83a,_0x55ff66=!0x1){var _0x452487=_0x2661e1;const _0x9c8068=this[_0x452487(0xba4)]['getEngine']();var _0x5e1b3e=new _0x28ab13['FM'](Math[_0x452487(0x4e3)](this[_0x452487(0x2d2)]/_0x5e1b3e),Math[_0x452487(0x4e3)](this[_0x452487(0xb82)]/_0x5e1b3e)),_0x27c53c=_0x32c6d9===_0x4b3770['g'][_0x452487(0x8ef)]&&_0x9c8068[_0x452487(0x61c)]()['textureFloatLinearFiltering']||_0x32c6d9===_0x4b3770['g'][_0x452487(0xc7c)]&&_0x9c8068[_0x452487(0x61c)]()['textureHalfFloatLinearFiltering'],_0x5e1b3e=this['_engine'][_0x452487(0xcf7)]({'width':_0x5e1b3e['x'],'height':_0x5e1b3e['y']},{'generateMipMaps':!0x1,'type':_0x32c6d9,'format':_0x49c699,'samplingMode':_0x27c53c?_0x4b3770['g'][_0x452487(0x988)]:_0x4b3770['g']['TEXTURE_NEAREST_SAMPLINGMODE'],'generateDepthBuffer':!0x1,'generateStencilBuffer':!0x1,'samples':this[_0x452487(0x66d)],'label':'FluidRenderingRTTBlur-'+_0x4fc83a});const _0x3d22d8=_0x5e1b3e[_0x452487(0x823)],_0x540588=(_0x3d22d8['incrementReferences'](),new _0x19ad2c['x'](null,this[_0x452487(0xba4)]));if(_0x540588['name']='rttBlurred'+_0x4fc83a,_0x540588['_texture']=_0x3d22d8,_0x540588[_0x452487(0x2c0)]=_0x19ad2c['x']['CLAMP_ADDRESSMODE'],_0x540588[_0x452487(0xb5f)]=_0x19ad2c['x'][_0x452487(0x7c9)],_0x540588[_0x452487(0x527)]=0x1,_0x55ff66){const _0x3c4efe=new _0x17111e['D'](_0x452487(0x8aa),_0x452487(0x31f),[_0x452487(0xb7b),_0x452487(0xa0e)],null,0x1,null,_0x4b3770['g'][_0x452487(0xcfa)],_0x9c8068,!0x0,null,_0x32c6d9,void 0x0,void 0x0,void 0x0,_0x49c699),_0x5406e2=(_0x3c4efe[_0x452487(0x2d6)]=this[_0x452487(0x66d)],_0x3c4efe[_0x452487(0x6a7)]=!0x0,_0x3c4efe[_0x452487(0xbf9)][_0x452487(0x840)](_0x42515a=>{var _0x1119c2=_0x452487;0x0===this[_0x1119c2(0xc2c)]?_0x42515a[_0x1119c2(0x353)](_0x1119c2(0x6f3),_0x13612f):_0x42515a['_bindTexture'](_0x1119c2(0x6f3),_0x3c4efe[_0x1119c2(0x24a)][_0x1119c2(0x823)]),_0x42515a['setInt'](_0x1119c2(0xb7b),this['blurFilterSize']),_0x42515a['setFloat2'](_0x1119c2(0xa0e),0x1/this[_0x1119c2(0x2d2)],0x0),this[_0x1119c2(0xc2c)]++;}),_0x3c4efe[_0x452487(0xbb7)][_0x452487(0x840)](()=>{var _0x11903d=_0x452487;_0x3c4efe[_0x11903d(0x1bc)][_0x11903d(0x544)](_0x5e0003=>{var _0x1ad9a6=_0x11903d;_0x5e0003[_0x1ad9a6(0x823)][_0x1ad9a6(0x2c0)]=_0x19ad2c['x'][_0x1ad9a6(0x7c9)],_0x5e0003[_0x1ad9a6(0x823)][_0x1ad9a6(0xb5f)]=_0x19ad2c['x']['CLAMP_ADDRESSMODE'];});}),this[_0x452487(0x388)](_0x3c4efe),new _0x17111e['D'](_0x452487(0x94b),'fluidRenderingStandardBlur',['filterSize',_0x452487(0xa0e)],null,0x1,null,_0x4b3770['g']['TEXTURE_NEAREST_SAMPLINGMODE'],_0x9c8068,!0x0,null,_0x32c6d9,void 0x0,void 0x0,void 0x0,_0x49c699)),_0x26bb14=(_0x5406e2[_0x452487(0x2d6)]=this[_0x452487(0x66d)],_0x5406e2['onApplyObservable'][_0x452487(0x840)](_0x27ffba=>{var _0x5634ab=_0x452487;_0x27ffba[_0x5634ab(0x4ad)](_0x5634ab(0xb7b),this[_0x5634ab(0x2d9)]),_0x27ffba[_0x5634ab(0x351)]('blurDir',0x0,0x1/this[_0x5634ab(0xb82)]),this[_0x5634ab(0xc2c)]++;}),_0x5406e2[_0x452487(0xbb7)]['add'](()=>{var _0x29d5f2=_0x452487;_0x5406e2[_0x29d5f2(0x1bc)]['forEach'](_0x131fac=>{var _0x38883f=_0x29d5f2;_0x131fac[_0x38883f(0x823)][_0x38883f(0x2c0)]=_0x19ad2c['x'][_0x38883f(0x7c9)],_0x131fac[_0x38883f(0x823)][_0x38883f(0xb5f)]=_0x19ad2c['x'][_0x38883f(0x7c9)];});}),this['_fixReusablePostProcess'](_0x5406e2),_0x3c4efe['autoClear']=!0x1,_0x5406e2[_0x452487(0xbab)]=!0x1,[]);for(let _0xcf35d=0x0;_0xcf35d<0x2*this[_0x452487(0x39e)];++_0xcf35d)_0x26bb14[_0xcf35d]=0x1&_0xcf35d?_0x5406e2:_0x3c4efe;return[_0x5e1b3e,_0x540588,_0x26bb14];}{_0x27c53c=[_0x452487(0x9e8),_0x452487(0xa0e),_0x452487(0xcf6),'depthThreshold'];const _0x258e9b=new _0x17111e['D']('BilateralBlurX',_0x452487(0x837),_0x27c53c,null,0x1,null,_0x4b3770['g'][_0x452487(0xcfa)],_0x9c8068,!0x0,null,_0x32c6d9,void 0x0,void 0x0,void 0x0,_0x49c699),_0x212768=(_0x258e9b[_0x452487(0x2d6)]=this[_0x452487(0x66d)],_0x258e9b['externalTextureSamplerBinding']=!0x0,_0x258e9b[_0x452487(0xbf9)][_0x452487(0x840)](_0x53c7eb=>{var _0x4426cc=_0x452487;0x0===this['_postProcessRunningIndex']?_0x53c7eb[_0x4426cc(0x353)]('textureSampler',_0x13612f):_0x53c7eb[_0x4426cc(0x839)](_0x4426cc(0x6f3),_0x258e9b[_0x4426cc(0x24a)][_0x4426cc(0x823)]),_0x53c7eb[_0x4426cc(0x4ad)](_0x4426cc(0x9e8),this[_0x4426cc(0x30e)]),_0x53c7eb['setFloat2'](_0x4426cc(0xa0e),0x1/this['_blurTextureSizeX'],0x0),_0x53c7eb[_0x4426cc(0x7cf)](_0x4426cc(0xcf6),this['_getProjectedParticleConstant']()),_0x53c7eb['setFloat']('depthThreshold',this[_0x4426cc(0x8a6)]()),this[_0x4426cc(0xc2c)]++;}),_0x258e9b[_0x452487(0xbb7)][_0x452487(0x840)](()=>{var _0x1cfc21=_0x452487;_0x258e9b['_textures'][_0x1cfc21(0x544)](_0x528568=>{var _0x1e0219=_0x1cfc21;_0x528568[_0x1e0219(0x823)][_0x1e0219(0x2c0)]=_0x19ad2c['x']['CLAMP_ADDRESSMODE'],_0x528568['texture'][_0x1e0219(0xb5f)]=_0x19ad2c['x']['CLAMP_ADDRESSMODE'];});}),this[_0x452487(0x388)](_0x258e9b),new _0x17111e['D']('BilateralBlurY',_0x452487(0x837),_0x27c53c,null,0x1,null,_0x4b3770['g'][_0x452487(0xcfa)],_0x9c8068,!0x0,null,_0x32c6d9,void 0x0,void 0x0,void 0x0,_0x49c699)),_0xabe48e=(_0x212768['samples']=this[_0x452487(0x66d)],_0x212768['onApplyObservable']['add'](_0x626c6a=>{var _0x39e2d7=_0x452487;_0x626c6a['setInt']('maxFilterSize',this[_0x39e2d7(0x30e)]),_0x626c6a[_0x39e2d7(0x351)]('blurDir',0x0,0x1/this[_0x39e2d7(0xb82)]),_0x626c6a['setFloat'](_0x39e2d7(0xcf6),this[_0x39e2d7(0xcaf)]()),_0x626c6a['setFloat']('depthThreshold',this[_0x39e2d7(0x8a6)]()),this[_0x39e2d7(0xc2c)]++;}),_0x212768['onSizeChangedObservable']['add'](()=>{var _0x280ff0=_0x452487;_0x212768['_textures'][_0x280ff0(0x544)](_0x36d1b3=>{var _0x37978c=_0x280ff0;_0x36d1b3[_0x37978c(0x823)][_0x37978c(0x2c0)]=_0x19ad2c['x'][_0x37978c(0x7c9)],_0x36d1b3[_0x37978c(0x823)]['wrapV']=_0x19ad2c['x'][_0x37978c(0x7c9)];});}),this['_fixReusablePostProcess'](_0x212768),_0x258e9b['autoClear']=!0x1,_0x212768['autoClear']=!0x1,[]);for(let _0x23b230=0x0;_0x23b230<0x2*this['_blurNumIterations'];++_0x23b230)_0xabe48e[_0x23b230]=0x1&_0x23b230?_0x212768:_0x258e9b;return[_0x5e1b3e,_0x540588,_0xabe48e];}}[_0x2661e1(0x388)](_0x31d968){var _0x29a79e=_0x2661e1;_0x31d968[_0x29a79e(0x336)]()&&(_0x31d968['onActivateObservable'][_0x29a79e(0x840)](()=>{var _0x3878fa=_0x29a79e;_0x31d968[_0x3878fa(0xd53)]=(_0x31d968[_0x3878fa(0xd53)]+0x1)%0x2;}),_0x31d968[_0x29a79e(0xbf9)][_0x29a79e(0x840)](()=>{var _0x543786=_0x29a79e;_0x31d968[_0x543786(0xd53)]=(_0x31d968[_0x543786(0xd53)]+0x1)%0x2;}));}[_0x2661e1(0xcaf)](){var _0x16bce6=_0x2661e1,_0x10d919;return this['blurFilterSize']*this['particleSize']*0.05*(this[_0x16bce6(0x20c)]/0x2)/Math[_0x16bce6(0xaca)]((null!=(_0x10d919=null==(_0x10d919=this[_0x16bce6(0x871)])?void 0x0:_0x10d919[_0x16bce6(0x46b)])?_0x10d919:0x2d*Math['PI']/0xb4)/0x2);}['_getDepthThreshold'](){var _0x17dc88=_0x2661e1;return this['particleSize']/0x2*this[_0x17dc88(0x874)];}[_0x2661e1(0x38b)](){var _0x4ec2ad=_0x2661e1,_0x57c7ad;this[_0x4ec2ad(0x932)][_0x4ec2ad(0xc19)]()&&this[_0x4ec2ad(0x932)][_0x4ec2ad(0x4a4)](this),null!=(_0x57c7ad=this[_0x4ec2ad(0x18f)])&&_0x57c7ad[_0x4ec2ad(0x38b)](),(this['_rt']=null)!=(_0x57c7ad=this[_0x4ec2ad(0x67e)])&&_0x57c7ad['dispose'](),(this[_0x4ec2ad(0x67e)]=null)!=(_0x57c7ad=this[_0x4ec2ad(0x649)])&&_0x57c7ad[_0x4ec2ad(0x38b)](),(this[_0x4ec2ad(0x649)]=null)!=(_0x57c7ad=this[_0x4ec2ad(0x357)])&&_0x57c7ad[_0x4ec2ad(0x38b)](),this['_textureBlurred']=null,this[_0x4ec2ad(0x86e)]&&(this['_blurPostProcesses'][0x0][_0x4ec2ad(0x38b)](),this[_0x4ec2ad(0x86e)][0x1][_0x4ec2ad(0x38b)]()),this['_blurPostProcesses']=null;}}},0x17a5b:(_0x5bbb30,_0x110a84,_0x440156)=>{_0x440156['d'](_0x110a84,{'p':()=>_0x43ecda});var _0x5dcb1b=_0x440156(0x1610);class _0x43ecda{constructor(){var _0x162a66=a7_0x4956;this[_0x162a66(0xb68)]=!0x1,this[_0x162a66(0x587)]=_0x162a66(0xc0a),this[_0x162a66(0x6cb)]=[_0x5dcb1b['g'][_0x162a66(0x25c)]];}}},0x6bcb:(_0x8c1ba3,_0x1f5c6f,_0x47f954)=>{_0x47f954['d'](_0x1f5c6f,{'g':()=>_0x52461d});var _0x41cd25=_0x47f954(0x1610);class _0x52461d{constructor(){var _0xf4997d=a7_0x4956;this[_0xf4997d(0xb68)]=!0x1,this[_0xf4997d(0x587)]=_0xf4997d(0xb31),this[_0xf4997d(0x6cb)]=[_0x41cd25['g'][_0xf4997d(0xa57)],_0x41cd25['g'][_0xf4997d(0xd56)],_0x41cd25['g'][_0xf4997d(0x322)]];}}},0x1b1d:(_0x30a11e,_0x5c1184,_0x52b4d8)=>{_0x52b4d8['d'](_0x5c1184,{'y':()=>_0x320782});var _0x4d235d=_0x52b4d8(0x1610);class _0x320782{constructor(){var _0x322741=a7_0x4956;this[_0x322741(0xb68)]=!0x1,this['name']=_0x322741(0x5a1),this['texturesRequired']=[_0x4d235d['g'][_0x322741(0xa57)],_0x4d235d['g'][_0x322741(0xd56)],_0x4d235d['g'][_0x322741(0xa84)]];}}},0xd9fd:(_0x31ede3,_0x5eda7c,_0x1d041d)=>{_0x1d041d['d'](_0x5eda7c,{'M':()=>_0x5023c7});var _0x107547=_0x1d041d(0x1610);class _0x5023c7{constructor(){var _0x3c1a63=a7_0x4956;this[_0x3c1a63(0xb68)]=!0x1,this[_0x3c1a63(0x587)]='ssao2',this[_0x3c1a63(0x6cb)]=[_0x107547['g'][_0x3c1a63(0xa57)],_0x107547['g']['PREPASS_DEPTH_TEXTURE_TYPE']];}}},0x11c70:(_0x334adf,_0xd1ea00,_0x576dc8)=>{var _0x5bc76a=a7_0x51ebec;_0x576dc8['d'](_0xd1ea00,{'u':()=>_0x3efbd9});var _0x3f236d=_0x576dc8(0x9a70),_0xaf0523=_0x576dc8(0xbd53),_0x1b2647=_0x576dc8(0x12cad),_0xd1ea00=_0x576dc8(0x95d8),_0xbfc396=_0x576dc8(0x1610),_0x564768=(_0x576dc8(0x160aa),_0x576dc8(0x26fa));_0x564768['v'][_0x5bc76a(0x96f)][_0x5bc76a(0x68a)]=_0x5bc76a(0x26d),_0x576dc8(0x8cd3),_0x576dc8(0x766e),_0x564768['v'][_0x5bc76a(0x96f)][_0x5bc76a(0x346)]=_0x5bc76a(0x3c7),(_0x564768['v'][_0x5bc76a(0x52c)]['subSurfaceScatteringPixelShader']=_0x5bc76a(0x83f),_0x576dc8(0x3e84));class _0xb465cd extends _0xd1ea00['D']{['getClassName'](){return'SubSurfaceScatteringPostProcess';}constructor(_0xf40e35,_0x7ab446,_0x3d40e7,_0x3f1ad3=null,_0x131cf8,_0x3ba15d,_0x2e0880,_0x9f599f=_0xbfc396['g'][_0x5bc76a(0xb46)]){var _0x3e125b=_0x5bc76a;super(_0xf40e35,_0x3e125b(0x7e8),['texelSize',_0x3e125b(0x4bf),'metersPerUnit'],[_0x3e125b(0x820),'diffusionD','filterRadii',_0x3e125b(0xa2e),'depthSampler',_0x3e125b(0x9b4)],_0x3d40e7,_0x3f1ad3,_0x131cf8||_0x1b2647['x'][_0x3e125b(0x45c)],_0x3ba15d,_0x2e0880,null,_0x9f599f,_0x3e125b(0xb26),void 0x0,!0x0),this[_0x3e125b(0xba4)]=_0x7ab446,this[_0x3e125b(0x62a)](),this[_0x3e125b(0xbf9)][_0x3e125b(0x840)](_0x2f21a1=>{var _0x1c6494=_0x3e125b,_0x28ff93;_0x7ab446[_0x1c6494(0x318)]&&_0x7ab446['subSurfaceConfiguration']?(_0x28ff93=this[_0x1c6494(0x5b4)],_0x2f21a1['setFloat'](_0x1c6494(0x881),_0x7ab446['subSurfaceConfiguration']['metersPerUnit']),_0x2f21a1[_0x1c6494(0x351)](_0x1c6494(0x5b4),_0x28ff93['x'],_0x28ff93['y']),_0x2f21a1[_0x1c6494(0x353)](_0x1c6494(0xa2e),_0x7ab446[_0x1c6494(0x318)][_0x1c6494(0x530)]()[_0x1c6494(0xb2e)][_0x7ab446[_0x1c6494(0x318)][_0x1c6494(0x481)](_0xbfc396['g'][_0x1c6494(0x224)])]),_0x2f21a1[_0x1c6494(0x353)](_0x1c6494(0x7fa),_0x7ab446[_0x1c6494(0x318)][_0x1c6494(0x530)]()[_0x1c6494(0xb2e)][_0x7ab446[_0x1c6494(0x318)][_0x1c6494(0x481)](_0xbfc396['g']['PREPASS_DEPTH_TEXTURE_TYPE'])]),_0x2f21a1[_0x1c6494(0x353)](_0x1c6494(0x9b4),_0x7ab446[_0x1c6494(0x318)]['getRenderTarget']()['textures'][_0x7ab446['prePassRenderer'][_0x1c6494(0x481)](_0xbfc396['g']['PREPASS_ALBEDO_SQRT_TEXTURE_TYPE'])]),_0x2f21a1[_0x1c6494(0x351)](_0x1c6494(0x4bf),Math[_0x1c6494(0xaca)](_0x7ab446[_0x1c6494(0x1ab)][_0x1c6494(0x46b)]/0x2)*_0x7ab446['getEngine']()[_0x1c6494(0xbbe)](_0x7ab446[_0x1c6494(0x1ab)],!0x0),Math[_0x1c6494(0xaca)](_0x7ab446[_0x1c6494(0x1ab)][_0x1c6494(0x46b)]/0x2)),_0x2f21a1[_0x1c6494(0x9ce)](_0x1c6494(0x820),_0x7ab446[_0x1c6494(0x9da)]['ssDiffusionS']),_0x2f21a1[_0x1c6494(0xa25)](_0x1c6494(0xb8a),_0x7ab446[_0x1c6494(0x9da)][_0x1c6494(0x7f0)]),_0x2f21a1[_0x1c6494(0xa25)](_0x1c6494(0x221),_0x7ab446[_0x1c6494(0x9da)][_0x1c6494(0x4e6)])):_0x3f236d['Y'][_0x1c6494(0x1ce)]('PrePass\x20and\x20subsurface\x20configuration\x20needs\x20to\x20be\x20enabled\x20for\x20subsurface\x20scattering.');});}}var _0x2e312c=_0x576dc8(0x67a3),_0x10c94e=_0x576dc8(0x8baf);class _0x3efbd9{constructor(_0x508cb4){var _0x3ecedc=_0x5bc76a;this[_0x3ecedc(0x62b)]=[],this[_0x3ecedc(0x495)]=[],this[_0x3ecedc(0x551)]=[],this[_0x3ecedc(0xb68)]=!0x1,this[_0x3ecedc(0x877)]=!0x0,this[_0x3ecedc(0x587)]=_0x2e312c['l']['NAME_SUBSURFACE'],this[_0x3ecedc(0x80a)]=[],this[_0x3ecedc(0x881)]=0x1,this[_0x3ecedc(0x6cb)]=[_0xbfc396['g'][_0x3ecedc(0x322)],_0xbfc396['g']['PREPASS_ALBEDO_SQRT_TEXTURE_TYPE'],_0xbfc396['g'][_0x3ecedc(0x806)],_0xbfc396['g']['PREPASS_IRRADIANCE_TEXTURE_TYPE']],this[_0x3ecedc(0x8f5)](new _0xaf0523['Wo'](0x1,0x1,0x1)),this['_scene']=_0x508cb4,_0x3efbd9['_SceneComponentInitialization'](this[_0x3ecedc(0xba4)]);}get[_0x5bc76a(0x47c)](){var _0x200bca=_0x5bc76a;return this[_0x200bca(0x62b)];}get[_0x5bc76a(0x7f0)](){var _0x31d724=_0x5bc76a;return this[_0x31d724(0x551)];}get[_0x5bc76a(0x4e6)](){var _0x481021=_0x5bc76a;return this[_0x481021(0x495)];}[_0x5bc76a(0x8f5)](_0x34b096){var _0x48d7b5=_0x5bc76a;if(0x5<=this[_0x48d7b5(0x7f0)]['length'])return _0x3f236d['Y'][_0x48d7b5(0x1ce)](_0x48d7b5(0xce0)),0x0;for(let _0x4144de=0x0;_0x4144de<this[_0x48d7b5(0x62b)][_0x48d7b5(0x9ff)]/0x3;_0x4144de++)if(this[_0x48d7b5(0x62b)][0x3*_0x4144de]===_0x34b096['r']&&this['_ssDiffusionS'][0x3*_0x4144de+0x1]===_0x34b096['g']&&this[_0x48d7b5(0x62b)][0x3*_0x4144de+0x2]===_0x34b096['b'])return _0x4144de;return this['_ssDiffusionS'][_0x48d7b5(0x2f7)](_0x34b096['r'],_0x34b096['b'],_0x34b096['g']),this['_ssDiffusionD'][_0x48d7b5(0x2f7)](Math[_0x48d7b5(0xbe7)](Math[_0x48d7b5(0xbe7)](_0x34b096['r'],_0x34b096['b']),_0x34b096['g'])),this['_ssFilterRadii']['push'](this[_0x48d7b5(0x1d2)](_0x34b096)),this['ssDiffusionProfileColors'][_0x48d7b5(0x2f7)](_0x34b096),this[_0x48d7b5(0x551)][_0x48d7b5(0x9ff)]-0x1;}[_0x5bc76a(0xb93)](){var _0x54f107=_0x5bc76a;return this['postProcess']=new _0xb465cd(_0x54f107(0x7e8),this[_0x54f107(0xba4)],0x1,null,void 0x0,this[_0x54f107(0xba4)][_0x54f107(0x975)]()),this['postProcess'][_0x54f107(0xbab)]=!0x1,this[_0x54f107(0x307)];}[_0x5bc76a(0xc16)](){var _0x5e9f67=_0x5bc76a;this[_0x5e9f67(0x551)]=[],this['_ssDiffusionS']=[],this[_0x5e9f67(0x495)]=[],this[_0x5e9f67(0x80a)]=[];}[_0x5bc76a(0x38b)](){var _0x3063ce=_0x5bc76a;this[_0x3063ce(0xc16)](),this['postProcess']&&this['postProcess']['dispose']();}[_0x5bc76a(0x1d2)](_0x1d7abb){var _0x3eed80=_0x5bc76a;return _0x1d7abb=Math[_0x3eed80(0xbe7)](_0x1d7abb['r'],_0x1d7abb['g'],_0x1d7abb['b']),this[_0x3eed80(0x359)](0.997,_0x1d7abb);}[_0x5bc76a(0x359)](_0x32724a,_0x598421){var _0x443b73=_0x5bc76a,_0x329520=0x1+0x4*(_0x32724a=0x1-_0x32724a)*(0x2*_0x32724a+Math['sqrt'](0x1+0x4*_0x32724a*_0x32724a)),_0x4e5797=Math['pow'](_0x329520,-0x1/0x3);return 0x3*Math[_0x443b73(0x4d8)]((0x1+_0x329520*_0x4e5797*_0x4e5797+_0x4e5797)/(0x4*_0x32724a))*_0x598421;}}_0x3efbd9[_0x5bc76a(0xa2a)]=_0x509f4d=>{var _0xa0ba8e=_0x5bc76a;throw(0x0,_0x10c94e['S'])(_0xa0ba8e(0x6a1));};},0xe76d:(_0x47475a,_0x564e1a,_0x324aaf)=>{var _0x348f54=a7_0x51ebec;_0x324aaf(0x26fa)['v'][_0x348f54(0x2c3)][_0x348f54(0x39a)]=_0x348f54(0x72c);},0x540b:(_0x556db8,_0x12a721,_0x153318)=>{var _0x540690=a7_0x51ebec,_0x5abbf9=_0x153318(0x26fa);_0x153318(0xb1dc),_0x5abbf9['v']['IncludesShadersStore'][_0x540690(0x9cf)]=_0x540690(0x2bd);},0x1396d:(_0x2256cd,_0x129fc0,_0x53ff8c)=>{var _0x3825a9=a7_0x51ebec;_0x53ff8c(0x26fa)['v'][_0x3825a9(0x96f)][_0x3825a9(0x836)]=_0x3825a9(0x45f);},0x2648:(_0x30343a,_0x1c2a23,_0x55c70f)=>{var _0x503b50=a7_0x51ebec;_0x55c70f(0x26fa)['v'][_0x503b50(0x96f)][_0x503b50(0xb09)]=_0x503b50(0x6c6);},0x11c69:(_0x2ab97d,_0x548807,_0x15bff9)=>{var _0x407b7e=a7_0x51ebec;_0x15bff9(0x26fa)['v'][_0x407b7e(0x96f)]['bonesDeclaration']=_0x407b7e(0x2c4);},0x9e45:(_0x4d8f9d,_0x323793,_0x161e84)=>{var _0x12c94f=a7_0x51ebec;_0x161e84(0x26fa)['v'][_0x12c94f(0x96f)][_0x12c94f(0x67f)]=_0x12c94f(0x5f4);},0x5250:(_0x57ff21,_0x5d1b98,_0x1e1020)=>{_0x1e1020(0x26fa)['v']['IncludesShadersStore']['boundingBoxRendererUboDeclaration']='#ifdef\x20WEBGL2\x0auniform\x20vec4\x20color;\x0auniform\x20mat4\x20world;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20MULTIVIEW\x0auniform\x20mat4\x20viewProjectionR;\x0a#endif\x0a#else\x0alayout(std140,column_major)\x20uniform;\x0auniform\x20BoundingBoxRenderer\x20{\x0avec4\x20color;\x0amat4\x20world;\x0amat4\x20viewProjection;\x0amat4\x20viewProjectionR;\x0a};\x0a#endif\x0a';},0xdc9a:(_0x48f67b,_0x289b52,_0x2e9c83)=>{var _0x4ede2b=a7_0x51ebec;_0x2e9c83(0x26fa)['v']['IncludesShadersStore'][_0x4ede2b(0xb71)]='vec2\x20uvOffset=vec2(0.0,0.0);\x0a#if\x20defined(BUMP)\x20||\x20defined(PARALLAX)\x20||\x20defined(DETAIL)\x0a#ifdef\x20NORMALXYSCALE\x0afloat\x20normalScale=1.0;\x0a#elif\x20defined(BUMP)\x0afloat\x20normalScale=vBumpInfos.y;\x0a#else\x0afloat\x20normalScale=1.0;\x0a#endif\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x0amat3\x20TBN=vTBN;\x0a#elif\x20defined(BUMP)\x0avec2\x20TBNUV=gl_FrontFacing\x20?\x20vBumpUV\x20:\x20-vBumpUV;\x0amat3\x20TBN=cotangent_frame(normalW*normalScale,vPositionW,TBNUV,vTangentSpaceParams);\x0a#else\x0avec2\x20TBNUV=gl_FrontFacing\x20?\x20vDetailUV\x20:\x20-vDetailUV;\x0amat3\x20TBN=cotangent_frame(normalW*normalScale,vPositionW,TBNUV,vec2(1.,1.));\x0a#endif\x0a#elif\x20defined(ANISOTROPIC)\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x0amat3\x20TBN=vTBN;\x0a#else\x0avec2\x20TBNUV=gl_FrontFacing\x20?\x20vMainUV1\x20:\x20-vMainUV1;\x0amat3\x20TBN=cotangent_frame(normalW,vPositionW,TBNUV,vec2(1.,1.));\x0a#endif\x0a#endif\x0a#ifdef\x20PARALLAX\x0amat3\x20invTBN=transposeMat3(TBN);\x0a#ifdef\x20PARALLAXOCCLUSION\x0auvOffset=parallaxOcclusion(invTBN*-viewDirectionW,invTBN*normalW,vBumpUV,vBumpInfos.z);\x0a#else\x0auvOffset=parallaxOffset(invTBN*viewDirectionW,vBumpInfos.z);\x0a#endif\x0a#endif\x0a#ifdef\x20DETAIL\x0avec4\x20detailColor=texture2D(detailSampler,vDetailUV+uvOffset);\x0avec2\x20detailNormalRG=detailColor.wy*2.0-1.0;\x0afloat\x20detailNormalB=sqrt(1.-saturate(dot(detailNormalRG,detailNormalRG)));\x0avec3\x20detailNormal=vec3(detailNormalRG,detailNormalB);\x0a#endif\x0a#ifdef\x20BUMP\x0a#ifdef\x20OBJECTSPACE_NORMALMAP\x0a#define\x20CUSTOM_FRAGMENT_BUMP_FRAGMENT\x0anormalW=normalize(texture2D(bumpSampler,vBumpUV).xyz\x20*2.0-1.0);\x0anormalW=normalize(mat3(normalMatrix)*normalW);\x0a#elif\x20!defined(DETAIL)\x0anormalW=perturbNormal(TBN,texture2D(bumpSampler,vBumpUV+uvOffset).xyz,vBumpInfos.y);\x0a#else\x0avec3\x20bumpNormal=texture2D(bumpSampler,vBumpUV+uvOffset).xyz*2.0-1.0;\x0a#if\x20DETAIL_NORMALBLENDMETHOD==0\x20\x0adetailNormal.xy*=vDetailInfos.z;\x0avec3\x20blendedNormal=normalize(vec3(bumpNormal.xy+detailNormal.xy,bumpNormal.z*detailNormal.z));\x0a#elif\x20DETAIL_NORMALBLENDMETHOD==1\x20\x0adetailNormal.xy*=vDetailInfos.z;\x0abumpNormal+=vec3(0.0,0.0,1.0);\x0adetailNormal*=vec3(-1.0,-1.0,1.0);\x0avec3\x20blendedNormal=bumpNormal*dot(bumpNormal,detailNormal)/bumpNormal.z-detailNormal;\x0a#endif\x0anormalW=perturbNormalBase(TBN,blendedNormal,vBumpInfos.y);\x0a#endif\x0a#elif\x20defined(DETAIL)\x0adetailNormal.xy*=vDetailInfos.z;\x0anormalW=perturbNormalBase(TBN,detailNormal,vDetailInfos.z);\x0a#endif\x0a';},0x5a2d:(_0x2f2727,_0x5a1ab3,_0x17a637)=>{var _0x30d73b=a7_0x51ebec,_0x3f9001=_0x17a637(0x26fa);_0x17a637(0x19fd),_0x3f9001['v'][_0x30d73b(0x96f)][_0x30d73b(0xc8c)]=_0x30d73b(0x8b1);},0xc907:(_0xc6c7ab,_0x456173,_0x79a99b)=>{var _0x10a5b3=a7_0x51ebec;_0x79a99b(0x26fa)['v'][_0x10a5b3(0x96f)][_0x10a5b3(0xb19)]=_0x10a5b3(0x19e);},0xf72d:(_0x14a92d,_0x39bb33,_0x10162d)=>{var _0x483852=a7_0x51ebec;_0x10162d(0x26fa)['v'][_0x483852(0x96f)]['bumpVertex']=_0x483852(0x2de);},0x35c4:(_0x4c17d3,_0x4e853d,_0x5dd490)=>{var _0x5dc61c=a7_0x51ebec;_0x5dd490(0x26fa)['v'][_0x5dc61c(0x96f)]['bumpVertexDeclaration']=_0x5dc61c(0x629);},0x10716:(_0x2e9e14,_0x28576c,_0x65b61f)=>{var _0x52ccb2=a7_0x51ebec;_0x65b61f(0x26fa)['v'][_0x52ccb2(0x96f)][_0x52ccb2(0xc91)]='#if\x20defined(CLIPPLANE)\x20||\x20defined(CLIPPLANE2)\x20||\x20defined(CLIPPLANE3)\x20||\x20defined(CLIPPLANE4)\x20||\x20defined(CLIPPLANE5)\x20||\x20defined(CLIPPLANE6)\x0aif\x20(false)\x20{}\x0a#endif\x0a#ifdef\x20CLIPPLANE\x0aelse\x20if\x20(fClipDistance>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0aelse\x20if\x20(fClipDistance2>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0aelse\x20if\x20(fClipDistance3>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0aelse\x20if\x20(fClipDistance4>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0aelse\x20if\x20(fClipDistance5>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0aelse\x20if\x20(fClipDistance6>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a';},0x13fa8:(_0x3ad60d,_0x2339e5,_0x2c6b10)=>{var _0x3da05f=a7_0x51ebec;_0x2c6b10(0x26fa)['v'][_0x3da05f(0x96f)][_0x3da05f(0xd02)]=_0x3da05f(0xcd7);},0xc24a:(_0x4f485c,_0x1f1fea,_0x416949)=>{var _0x12b4ff=a7_0x51ebec;_0x416949(0x26fa)['v'][_0x12b4ff(0x96f)][_0x12b4ff(0x1c0)]=_0x12b4ff(0x749);},0xd4f3:(_0x29190f,_0x50df40,_0x14ca2c)=>{var _0xd1accc=a7_0x51ebec;_0x14ca2c(0x26fa)['v'][_0xd1accc(0x96f)]['clipPlaneVertexDeclaration']=_0xd1accc(0xcd1);},0xec4f:(_0x5d31f3,_0x508bb8,_0x460eb7)=>{var _0x4eee93=a7_0x51ebec;_0x460eb7(0x26fa)['v']['IncludesShadersStore'][_0x4eee93(0x4c8)]=_0x4eee93(0xd29);},0x9af1:(_0x3dfe68,_0x15770f,_0x89c299)=>{var _0x10c458=a7_0x51ebec;_0x89c299(0x26fa)['v'][_0x10c458(0x96f)]['decalFragmentDeclaration']=_0x10c458(0x316);},0x28cb:(_0x5d7509,_0x5cb146,_0xf0a85d)=>{var _0x529736=a7_0x51ebec;_0xf0a85d(0x26fa)['v']['IncludesShadersStore']['decalVertexDeclaration']=_0x529736(0x99e);},0x20cb:(_0x11444c,_0x1b8491,_0x89bdae)=>{var _0x2d778d=a7_0x51ebec,_0x1dcf65=_0x89bdae(0x26fa);_0x89bdae(0xb1dc),_0x89bdae(0x10150),_0x1dcf65['v']['IncludesShadersStore'][_0x2d778d(0x5fb)]='layout(std140,column_major)\x20uniform;\x0auniform\x20Material\x0a{\x0avec4\x20diffuseLeftColor;\x0avec4\x20diffuseRightColor;\x0avec4\x20opacityParts;\x0avec4\x20reflectionLeftColor;\x0avec4\x20reflectionRightColor;\x0avec4\x20refractionLeftColor;\x0avec4\x20refractionRightColor;\x0avec4\x20emissiveLeftColor;\x0avec4\x20emissiveRightColor;\x0avec2\x20vDiffuseInfos;\x0avec2\x20vAmbientInfos;\x0avec2\x20vOpacityInfos;\x0avec2\x20vReflectionInfos;\x0avec3\x20vReflectionPosition;\x0avec3\x20vReflectionSize;\x0avec2\x20vEmissiveInfos;\x0avec2\x20vLightmapInfos;\x0avec2\x20vSpecularInfos;\x0avec3\x20vBumpInfos;\x0amat4\x20diffuseMatrix;\x0amat4\x20ambientMatrix;\x0amat4\x20opacityMatrix;\x0amat4\x20reflectionMatrix;\x0amat4\x20emissiveMatrix;\x0amat4\x20lightmapMatrix;\x0amat4\x20specularMatrix;\x0amat4\x20bumpMatrix;\x0avec2\x20vTangentSpaceParams;\x0afloat\x20pointSize;\x0afloat\x20alphaCutOff;\x0amat4\x20refractionMatrix;\x0avec4\x20vRefractionInfos;\x0avec3\x20vRefractionPosition;\x0avec3\x20vRefractionSize;\x0avec4\x20vSpecularColor;\x0avec3\x20vEmissiveColor;\x0avec4\x20vDiffuseColor;\x0avec3\x20vAmbientColor;\x0a#define\x20ADDITIONAL_UBO_DECLARATION\x0a};\x0a#include<sceneUboDeclaration>\x0a#include<meshUboDeclaration>\x0a';},0xace7:(_0x164017,_0xad04a,_0x3d08f7)=>{var _0x380e8f=a7_0x51ebec;_0x3d08f7(0x26fa)['v'][_0x380e8f(0x96f)][_0x380e8f(0x233)]='#ifdef\x20DEPTHPREPASS\x0agl_FragColor=vec4(0.,0.,0.,1.0);\x0areturn;\x0a#endif\x0a';},0xf45c:(_0x24a42e,_0x3ae9f2,_0x27b370)=>{var _0x59944a=a7_0x51ebec;_0x27b370(0x26fa)['v'][_0x59944a(0x96f)][_0x59944a(0x4ba)]=_0x59944a(0xd0e);},0x17b64:(_0x31e723,_0xb16391,_0x1cbb61)=>{var _0x2b983f=a7_0x51ebec;_0x1cbb61(0x26fa)['v'][_0x2b983f(0x96f)]['fogFragmentDeclaration']=_0x2b983f(0xcb3);},0xeda3:(_0x39b80a,_0x1212ad,_0xffe89c)=>{var _0x410d92=a7_0x51ebec;_0xffe89c(0x26fa)['v'][_0x410d92(0x96f)][_0x410d92(0x284)]=_0x410d92(0x36d);},0x1162f:(_0x3f2db8,_0x148c3b,_0x52e3d4)=>{var _0x519305=a7_0x51ebec;_0x52e3d4(0x26fa)['v'][_0x519305(0x96f)][_0x519305(0x602)]='#ifdef\x20FOG\x0avarying\x20vec3\x20vFogDistance;\x0a#endif\x0a';},0x2eec:(_0x4429e2,_0x5e46ef,_0x102f11)=>{var _0x5f2ce6=a7_0x51ebec;_0x102f11(0x26fa)['v'][_0x5f2ce6(0x96f)][_0x5f2ce6(0x2d3)]=_0x5f2ce6(0x202);},0x11b66:(_0x208597,_0x349f41,_0x40fe08)=>{var _0x2ef717=a7_0x51ebec;_0x40fe08(0x26fa)['v'][_0x2ef717(0x96f)][_0x2ef717(0x2c2)]=_0x2ef717(0xd54);},0x1761a:(_0x57a6c1,_0x165d67,_0x386239)=>{var _0x54adf8=a7_0x51ebec;_0x386239(0x26fa)['v'][_0x54adf8(0x96f)]['hdrFilteringFunctions']=_0x54adf8(0x9c4);},0x8cd3:(_0x40451d,_0x395f92,_0x1b7446)=>{var _0x3c0aa1=a7_0x51ebec;_0x1b7446(0x26fa)['v']['IncludesShadersStore'][_0x3c0aa1(0xa16)]=_0x3c0aa1(0x7df);},0xa9cf:(_0x52b1ad,_0x86e24e,_0x34eb4d)=>{var _0x228cbf=a7_0x51ebec;_0x34eb4d(0x26fa)['v'][_0x228cbf(0x96f)][_0x228cbf(0x4e5)]=_0x228cbf(0xa3a);},0x12f21:(_0x20233e,_0x54f87c,_0x3f19ed)=>{var _0x2f2564=a7_0x51ebec;_0x3f19ed(0x26fa)['v'][_0x2f2564(0x96f)][_0x2f2564(0x773)]=_0x2f2564(0x375);},0x171c4:(_0x594f5d,_0x302f3d,_0x3867e2)=>{var _0x393462=a7_0x51ebec;_0x3867e2(0x26fa)['v'][_0x393462(0x96f)][_0x393462(0x469)]='#if\x20defined(COLORGRADING)\x20&&\x20!defined(COLORGRADING3D)\x0a/**\x20\x0a*\x20Polyfill\x20for\x20SAMPLE_TEXTURE_3D,which\x20is\x20unsupported\x20in\x20WebGL.\x0a*\x20sampler3dSetting.x=textureOffset\x20(0.5/textureSize).\x0a*\x20sampler3dSetting.y=textureSize.\x0a*/\x0a#define\x20inline\x0avec3\x20sampleTexture3D(sampler2D\x20colorTransform,vec3\x20color,vec2\x20sampler3dSetting)\x0a{\x0afloat\x20sliceSize=2.0*sampler3dSetting.x;\x20\x0a#ifdef\x20SAMPLER3DGREENDEPTH\x0afloat\x20sliceContinuous=(color.g-sampler3dSetting.x)*sampler3dSetting.y;\x0a#else\x0afloat\x20sliceContinuous=(color.b-sampler3dSetting.x)*sampler3dSetting.y;\x0a#endif\x0afloat\x20sliceInteger=floor(sliceContinuous);\x0afloat\x20sliceFraction=sliceContinuous-sliceInteger;\x0a#ifdef\x20SAMPLER3DGREENDEPTH\x0avec2\x20sliceUV=color.rb;\x0a#else\x0avec2\x20sliceUV=color.rg;\x0a#endif\x0asliceUV.x*=sliceSize;\x0asliceUV.x+=sliceInteger*sliceSize;\x0asliceUV=saturate(sliceUV);\x0avec4\x20slice0Color=texture2D(colorTransform,sliceUV);\x0asliceUV.x+=sliceSize;\x0asliceUV=saturate(sliceUV);\x0avec4\x20slice1Color=texture2D(colorTransform,sliceUV);\x0avec3\x20result=mix(slice0Color.rgb,slice1Color.rgb,sliceFraction);\x0a#ifdef\x20SAMPLER3DBGRMAP\x0acolor.rgb=result.rgb;\x0a#else\x0acolor.rgb=result.bgr;\x0a#endif\x0areturn\x20color;\x0a}\x0a#endif\x0a#ifdef\x20TONEMAPPING_ACES\x0aconst\x20mat3\x20ACESInputMat=mat3(\x0avec3(0.59719,0.07600,0.02840),\x0avec3(0.35458,0.90834,0.13383),\x0avec3(0.04823,0.01566,0.83777)\x0a);\x0aconst\x20mat3\x20ACESOutputMat=mat3(\x0avec3(\x201.60475,-0.10208,-0.00327),\x0avec3(-0.53108,\x201.10813,-0.07276),\x0avec3(-0.07367,-0.00605,\x201.07602)\x0a);\x0avec3\x20RRTAndODTFit(vec3\x20v)\x0a{\x0avec3\x20a=v*(v+0.0245786)-0.000090537;\x0avec3\x20b=v*(0.983729*v+0.4329510)+0.238081;\x0areturn\x20a/b;\x0a}\x0avec3\x20ACESFitted(vec3\x20color)\x0a{\x0acolor=ACESInputMat*color;\x0acolor=RRTAndODTFit(color);\x0acolor=ACESOutputMat*color;\x0acolor=saturate(color);\x0areturn\x20color;\x0a}\x0a#endif\x0a#define\x20CUSTOM_IMAGEPROCESSINGFUNCTIONS_DEFINITIONS\x0avec4\x20applyImageProcessing(vec4\x20result)\x20{\x0a#define\x20CUSTOM_IMAGEPROCESSINGFUNCTIONS_UPDATERESULT_ATSTART\x0a#ifdef\x20EXPOSURE\x0aresult.rgb*=exposureLinear;\x0a#endif\x0a#ifdef\x20VIGNETTE\x0avec2\x20viewportXY=gl_FragCoord.xy*vInverseScreenSize;\x0aviewportXY=viewportXY*2.0-1.0;\x0avec3\x20vignetteXY1=vec3(viewportXY*vignetteSettings1.xy+vignetteSettings1.zw,1.0);\x0afloat\x20vignetteTerm=dot(vignetteXY1,vignetteXY1);\x0afloat\x20vignette=pow(vignetteTerm,vignetteSettings2.w);\x0avec3\x20vignetteColor=vignetteSettings2.rgb;\x0a#ifdef\x20VIGNETTEBLENDMODEMULTIPLY\x0avec3\x20vignetteColorMultiplier=mix(vignetteColor,vec3(1,1,1),vignette);\x0aresult.rgb*=vignetteColorMultiplier;\x0a#endif\x0a#ifdef\x20VIGNETTEBLENDMODEOPAQUE\x0aresult.rgb=mix(vignetteColor,result.rgb,vignette);\x0a#endif\x0a#endif\x0a#ifdef\x20TONEMAPPING\x0a#ifdef\x20TONEMAPPING_ACES\x0aresult.rgb=ACESFitted(result.rgb);\x0a#else\x0aconst\x20float\x20tonemappingCalibration=1.590579;\x0aresult.rgb=1.0-exp2(-tonemappingCalibration*result.rgb);\x0a#endif\x0a#endif\x0aresult.rgb=toGammaSpace(result.rgb);\x0aresult.rgb=saturate(result.rgb);\x0a#ifdef\x20CONTRAST\x0avec3\x20resultHighContrast=result.rgb*result.rgb*(3.0-2.0*result.rgb);\x0aif\x20(contrast<1.0)\x20{\x0aresult.rgb=mix(vec3(0.5,0.5,0.5),result.rgb,contrast);\x0a}\x20else\x20{\x0aresult.rgb=mix(result.rgb,resultHighContrast,contrast-1.0);\x0a}\x0a#endif\x0a#ifdef\x20COLORGRADING\x0avec3\x20colorTransformInput=result.rgb*colorTransformSettings.xxx+colorTransformSettings.yyy;\x0a#ifdef\x20COLORGRADING3D\x0avec3\x20colorTransformOutput=texture(txColorTransform,colorTransformInput).rgb;\x0a#else\x0avec3\x20colorTransformOutput=sampleTexture3D(txColorTransform,colorTransformInput,colorTransformSettings.yz).rgb;\x0a#endif\x0aresult.rgb=mix(result.rgb,colorTransformOutput,colorTransformSettings.www);\x0a#endif\x0a#ifdef\x20COLORCURVES\x0afloat\x20luma=getLuminance(result.rgb);\x0avec2\x20curveMix=clamp(vec2(luma*3.0-1.5,luma*-3.0+1.5),vec2(0.0),vec2(1.0));\x0avec4\x20colorCurve=vCameraColorCurveNeutral+curveMix.x*vCameraColorCurvePositive-curveMix.y*vCameraColorCurveNegative;\x0aresult.rgb*=colorCurve.rgb;\x0aresult.rgb=mix(vec3(luma),result.rgb,colorCurve.a);\x0a#endif\x0a#ifdef\x20DITHER\x0afloat\x20rand=getRand(gl_FragCoord.xy*vInverseScreenSize);\x0afloat\x20dither=mix(-ditherIntensity,ditherIntensity,rand);\x0aresult.rgb=saturate(result.rgb+vec3(dither));\x0a#endif\x0a#define\x20CUSTOM_IMAGEPROCESSINGFUNCTIONS_UPDATERESULT_ATEND\x0areturn\x20result;\x0a}';},0x2d2b:(_0x2305b9,_0x521f19,_0xdd965c)=>{var _0x556934=a7_0x51ebec;_0xdd965c(0x26fa)['v'][_0x556934(0x96f)][_0x556934(0x8f0)]=_0x556934(0x83a);},0xe7da:(_0x4b00b9,_0x48ed56,_0x15a3f0)=>{var _0x5649ee=a7_0x51ebec;_0x15a3f0(0x26fa)['v']['IncludesShadersStore'][_0x5649ee(0xac0)]=_0x5649ee(0x6f8);},0x16c62:(_0x552250,_0x5ec740,_0x3c72b3)=>{var _0xfd5826=a7_0x51ebec;_0x3c72b3(0x26fa)['v'][_0xfd5826(0x96f)]['instancesVertex']='#ifdef\x20INSTANCES\x0amat4\x20finalWorld=mat4(world0,world1,world2,world3);\x0a#if\x20defined(PREPASS_VELOCITY)\x20||\x20defined(VELOCITY)\x0amat4\x20finalPreviousWorld=mat4(previousWorld0,previousWorld1,previousWorld2,previousWorld3);\x0a#endif\x0a#ifdef\x20THIN_INSTANCES\x0afinalWorld=world*finalWorld;\x0a#if\x20defined(PREPASS_VELOCITY)\x20||\x20defined(VELOCITY)\x0afinalPreviousWorld=previousWorld*finalPreviousWorld;\x0a#endif\x0a#endif\x0a#else\x0amat4\x20finalWorld=world;\x0a#if\x20defined(PREPASS_VELOCITY)\x20||\x20defined(VELOCITY)\x0amat4\x20finalPreviousWorld=previousWorld;\x0a#endif\x0a#endif\x0a';},0x2567:(_0x432362,_0xe3831,_0x451be1)=>{var _0xed84af=a7_0x51ebec;_0x451be1(0x26fa)['v'][_0xed84af(0x96f)][_0xed84af(0x797)]=_0xed84af(0x5e4);},0x2144:(_0x356dac,_0x5294cf,_0x36db31)=>{var _0x485418=a7_0x51ebec;_0x36db31(0x26fa)['v'][_0x485418(0x96f)][_0x485418(0x8ff)]=_0x485418(0x513);},0x15cb9:(_0x3de41c,_0x44606f,_0x36dd41)=>{var _0x430e91=a7_0x51ebec;_0x36dd41(0x26fa)['v']['IncludesShadersStore'][_0x430e91(0x730)]='#ifdef\x20LIGHT{X}\x0auniform\x20vec4\x20vLightData{X};\x0auniform\x20vec4\x20vLightDiffuse{X};\x0a#ifdef\x20SPECULARTERM\x0auniform\x20vec4\x20vLightSpecular{X};\x0a#else\x0avec4\x20vLightSpecular{X}=vec4(0.);\x0a#endif\x0a#ifdef\x20SHADOW{X}\x0a#ifdef\x20SHADOWCSM{X}\x0auniform\x20mat4\x20lightMatrix{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20viewFrustumZ{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20frustumLengths{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20cascadeBlendFactor{X};\x0avarying\x20vec4\x20vPositionFromLight{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20float\x20vDepthMetric{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20vec4\x20vPositionFromCamera{X};\x0a#if\x20defined(SHADOWPCSS{X})\x0auniform\x20highp\x20sampler2DArrayShadow\x20shadowSampler{X};\x0auniform\x20highp\x20sampler2DArray\x20depthSampler{X};\x0auniform\x20vec2\x20lightSizeUVCorrection{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20depthCorrection{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20penumbraDarkness{X};\x0a#elif\x20defined(SHADOWPCF{X})\x0auniform\x20highp\x20sampler2DArrayShadow\x20shadowSampler{X};\x0a#else\x0auniform\x20highp\x20sampler2DArray\x20shadowSampler{X};\x0a#endif\x0a#ifdef\x20SHADOWCSMDEBUG{X}\x0aconst\x20vec3\x20vCascadeColorsMultiplier{X}[8]=vec3[8]\x0a(\x0avec3\x20(\x201.5,0.0,0.0\x20),\x0avec3\x20(\x200.0,1.5,0.0\x20),\x0avec3\x20(\x200.0,0.0,5.5\x20),\x0avec3\x20(\x201.5,0.0,5.5\x20),\x0avec3\x20(\x201.5,1.5,0.0\x20),\x0avec3\x20(\x201.0,1.0,1.0\x20),\x0avec3\x20(\x200.0,1.0,5.5\x20),\x0avec3\x20(\x200.5,3.5,0.75\x20)\x0a);\x0avec3\x20shadowDebug{X};\x0a#endif\x0a#ifdef\x20SHADOWCSMUSESHADOWMAXZ{X}\x0aint\x20index{X}=-1;\x0a#else\x0aint\x20index{X}=SHADOWCSMNUM_CASCADES{X}-1;\x0a#endif\x0afloat\x20diff{X}=0.;\x0a#elif\x20defined(SHADOWCUBE{X})\x0auniform\x20samplerCube\x20shadowSampler{X};\x0a#else\x0avarying\x20vec4\x20vPositionFromLight{X};\x0avarying\x20float\x20vDepthMetric{X};\x0a#if\x20defined(SHADOWPCSS{X})\x0auniform\x20highp\x20sampler2DShadow\x20shadowSampler{X};\x0auniform\x20highp\x20sampler2D\x20depthSampler{X};\x0a#elif\x20defined(SHADOWPCF{X})\x0auniform\x20highp\x20sampler2DShadow\x20shadowSampler{X};\x0a#else\x0auniform\x20sampler2D\x20shadowSampler{X};\x0a#endif\x0auniform\x20mat4\x20lightMatrix{X};\x0a#endif\x0auniform\x20vec4\x20shadowsInfo{X};\x0auniform\x20vec2\x20depthValues{X};\x0a#endif\x0a#ifdef\x20SPOTLIGHT{X}\x0auniform\x20vec4\x20vLightDirection{X};\x0auniform\x20vec4\x20vLightFalloff{X};\x0a#elif\x20defined(POINTLIGHT{X})\x0auniform\x20vec4\x20vLightFalloff{X};\x0a#elif\x20defined(HEMILIGHT{X})\x0auniform\x20vec3\x20vLightGround{X};\x0a#endif\x0a#ifdef\x20PROJECTEDLIGHTTEXTURE{X}\x0auniform\x20mat4\x20textureProjectionMatrix{X};\x0auniform\x20sampler2D\x20projectionLightSampler{X};\x0a#endif\x0a#endif\x0a';},0xf0d3:(_0x158941,_0x2e967f,_0x260c28)=>{var _0x461ac1=a7_0x51ebec;_0x260c28(0x26fa)['v'][_0x461ac1(0x96f)][_0x461ac1(0x951)]='#ifdef\x20LIGHT{X}\x0auniform\x20Light{X}\x0a{\x0avec4\x20vLightData;\x0avec4\x20vLightDiffuse;\x0avec4\x20vLightSpecular;\x0a#ifdef\x20SPOTLIGHT{X}\x0avec4\x20vLightDirection;\x0avec4\x20vLightFalloff;\x0a#elif\x20defined(POINTLIGHT{X})\x0avec4\x20vLightFalloff;\x0a#elif\x20defined(HEMILIGHT{X})\x0avec3\x20vLightGround;\x0a#endif\x0avec4\x20shadowsInfo;\x0avec2\x20depthValues;\x0a}\x20light{X};\x0a#ifdef\x20PROJECTEDLIGHTTEXTURE{X}\x0auniform\x20mat4\x20textureProjectionMatrix{X};\x0auniform\x20sampler2D\x20projectionLightSampler{X};\x0a#endif\x0a#ifdef\x20SHADOW{X}\x0a#ifdef\x20SHADOWCSM{X}\x0auniform\x20mat4\x20lightMatrix{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20viewFrustumZ{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20frustumLengths{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20cascadeBlendFactor{X};\x0avarying\x20vec4\x20vPositionFromLight{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20float\x20vDepthMetric{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20vec4\x20vPositionFromCamera{X};\x0a#if\x20defined(SHADOWPCSS{X})\x0auniform\x20highp\x20sampler2DArrayShadow\x20shadowSampler{X};\x0auniform\x20highp\x20sampler2DArray\x20depthSampler{X};\x0auniform\x20vec2\x20lightSizeUVCorrection{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20depthCorrection{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20penumbraDarkness{X};\x0a#elif\x20defined(SHADOWPCF{X})\x0auniform\x20highp\x20sampler2DArrayShadow\x20shadowSampler{X};\x0a#else\x0auniform\x20highp\x20sampler2DArray\x20shadowSampler{X};\x0a#endif\x0a#ifdef\x20SHADOWCSMDEBUG{X}\x0aconst\x20vec3\x20vCascadeColorsMultiplier{X}[8]=vec3[8]\x0a(\x0avec3\x20(\x201.5,0.0,0.0\x20),\x0avec3\x20(\x200.0,1.5,0.0\x20),\x0avec3\x20(\x200.0,0.0,5.5\x20),\x0avec3\x20(\x201.5,0.0,5.5\x20),\x0avec3\x20(\x201.5,1.5,0.0\x20),\x0avec3\x20(\x201.0,1.0,1.0\x20),\x0avec3\x20(\x200.0,1.0,5.5\x20),\x0avec3\x20(\x200.5,3.5,0.75\x20)\x0a);\x0avec3\x20shadowDebug{X};\x0a#endif\x0a#ifdef\x20SHADOWCSMUSESHADOWMAXZ{X}\x0aint\x20index{X}=-1;\x0a#else\x0aint\x20index{X}=SHADOWCSMNUM_CASCADES{X}-1;\x0a#endif\x0afloat\x20diff{X}=0.;\x0a#elif\x20defined(SHADOWCUBE{X})\x0auniform\x20samplerCube\x20shadowSampler{X};\x20\x0a#else\x0avarying\x20vec4\x20vPositionFromLight{X};\x0avarying\x20float\x20vDepthMetric{X};\x0a#if\x20defined(SHADOWPCSS{X})\x0auniform\x20highp\x20sampler2DShadow\x20shadowSampler{X};\x0auniform\x20highp\x20sampler2D\x20depthSampler{X};\x0a#elif\x20defined(SHADOWPCF{X})\x0auniform\x20highp\x20sampler2DShadow\x20shadowSampler{X};\x0a#else\x0auniform\x20sampler2D\x20shadowSampler{X};\x0a#endif\x0auniform\x20mat4\x20lightMatrix{X};\x0a#endif\x0a#endif\x0a#endif\x0a';},0x17cfd:(_0x25f6d6,_0x3156c3,_0x3c185c)=>{var _0xb7f335=a7_0x51ebec;_0x3c185c(0x26fa)['v']['IncludesShadersStore'][_0xb7f335(0xa50)]=_0xb7f335(0x4c5);},0xd6d4:(_0x196896,_0x4930b1,_0x3eadd0)=>{var _0x4a8c61=a7_0x51ebec;_0x3eadd0(0x26fa)['v'][_0x4a8c61(0x96f)][_0x4a8c61(0xb7d)]=_0x4a8c61(0x51d);},0x10bc4:(_0x5559a2,_0x56631b,_0x1b74b7)=>{var _0x186cdb=a7_0x51ebec;_0x1b74b7(0x26fa)['v']['IncludesShadersStore']['lightsFragmentFunctions']=_0x186cdb(0x7aa);},0x14b01:(_0x1b3817,_0x3e2d0f,_0x51f5ab)=>{var _0x38d0fa=a7_0x51ebec;_0x51f5ab(0x26fa)['v'][_0x38d0fa(0x96f)][_0x38d0fa(0x352)]=_0x38d0fa(0xd22);},0x614f:(_0x5b346,_0x14c84e,_0x2f475f)=>{var _0x3efccd=a7_0x51ebec;_0x2f475f(0x26fa)['v'][_0x3efccd(0x96f)][_0x3efccd(0x78c)]=_0x3efccd(0xa03);},0x8641:(_0x4ac30d,_0x49d4a2,_0x3f5f33)=>{var _0x386cf3=a7_0x51ebec;_0x3f5f33(0x26fa)['v'][_0x386cf3(0x96f)][_0x386cf3(0x1e1)]=_0x386cf3(0x677);},0x13ff7:(_0x3548f5,_0x5d2f4d,_0x22c1a7)=>{var _0xdbadf9=a7_0x51ebec;_0x22c1a7(0x26fa)['v'][_0xdbadf9(0x96f)][_0xdbadf9(0x616)]=_0xdbadf9(0x89c);},0x10150:(_0x24ef3c,_0xf1b311,_0x1f8fbc)=>{var _0x4830fe=a7_0x51ebec;_0x1f8fbc(0x26fa)['v'][_0x4830fe(0x96f)]['meshUboDeclaration']=_0x4830fe(0x9fc);},0x1201e:(_0x323e28,_0x347e11,_0x3c9ff0)=>{var _0x256850=a7_0x51ebec;_0x3c9ff0(0x26fa)['v'][_0x256850(0x96f)][_0x256850(0x95e)]=_0x256850(0x46e);},0x12771:(_0x17d532,_0x349c2f,_0x3bebd5)=>{var _0x1e017a=a7_0x51ebec;_0x3bebd5(0x26fa)['v'][_0x1e017a(0x96f)][_0x1e017a(0x54b)]=_0x1e017a(0x36c);},0x13d7:(_0x4e2cf5,_0x2d9a8e,_0x1c682a)=>{var _0x10260e=a7_0x51ebec;_0x1c682a(0x26fa)['v'][_0x10260e(0x96f)][_0x10260e(0x7f4)]=_0x10260e(0x526);},0x11b65:(_0x224038,_0x295662,_0x38781c)=>{var _0x422c24=a7_0x51ebec;_0x38781c(0x26fa)['v'][_0x422c24(0x96f)]['morphTargetsVertexGlobalDeclaration']=_0x422c24(0xb95);},0x4df2:(_0x22068c,_0x484234,_0x23511d)=>{var _0x4f5420=a7_0x51ebec;_0x23511d(0x26fa)['v'][_0x4f5420(0x96f)]['oitDeclaration']=_0x4f5420(0x68d);},0x34d7:(_0x5d6237,_0x381ae9,_0x1aed91)=>{var _0x2bba7a=a7_0x51ebec;_0x1aed91(0x26fa)['v']['IncludesShadersStore'][_0x2bba7a(0xc83)]=_0x2bba7a(0x407);},0x4a11:(_0x559173,_0x19a5bb,_0x9c85c4)=>{var _0x2029c0=a7_0x51ebec;_0x9c85c4(0x26fa)['v'][_0x2029c0(0x96f)]['packingFunctions']=_0x2029c0(0x911);},0xe90b:(_0x99d5f0,_0x4c64bf,_0x1d8692)=>{var _0x1957c2=a7_0x51ebec;_0x1d8692(0x26fa)['v'][_0x1957c2(0x96f)][_0x1957c2(0x947)]=_0x1957c2(0xccd);},0x1398d:(_0x3b102f,_0x4ce028,_0x23f708)=>{var _0x4bd396=a7_0x51ebec,_0x11fef6=_0x23f708(0x26fa);_0x23f708(0xb1dc),_0x23f708(0x10150),_0x11fef6['v']['IncludesShadersStore'][_0x4bd396(0xb84)]=_0x4bd396(0x39f);},0x7051:(_0x4e6330,_0x28d76e,_0x4dca27)=>{var _0x1c56df=a7_0x51ebec;_0x4dca27(0x26fa)['v'][_0x1c56df(0x96f)]['prePassDeclaration']=_0x1c56df(0x9a2);},0x1963:(_0x102eca,_0x1249bf,_0x2c994f)=>{var _0x516272=a7_0x51ebec;_0x2c994f(0x26fa)['v']['IncludesShadersStore']['prePassVertex']=_0x516272(0x957);},0x124cc:(_0x345329,_0x21a0f7,_0x51169d)=>{var _0x5a57a2=a7_0x51ebec;_0x51169d(0x26fa)['v'][_0x5a57a2(0x96f)][_0x5a57a2(0x48c)]=_0x5a57a2(0x82d);},0x13827:(_0x5767f2,_0x3b9768,_0x44d7f1)=>{var _0x4fbd62=a7_0x51ebec;_0x44d7f1(0x26fa)['v'][_0x4fbd62(0x96f)][_0x4fbd62(0x33f)]=_0x4fbd62(0x369);},0x19fd:(_0x301666,_0x4cf2dc,_0x3b699b)=>{var _0x46b247=a7_0x51ebec;_0x3b699b(0x26fa)['v'][_0x46b247(0x96f)][_0x46b247(0x626)]=_0x46b247(0xd50);},0x12d29:(_0x2e8b3d,_0x255b16,_0x57caeb)=>{var _0x126f70=a7_0x51ebec;_0x57caeb(0x26fa)['v'][_0x126f70(0x96f)][_0x126f70(0xc21)]=_0x126f70(0xb54);},0x44ee:(_0x32f223,_0x320392,_0x3b364a)=>{var _0x5772cf=a7_0x51ebec;_0x3b364a(0x26fa)['v']['IncludesShadersStore'][_0x5772cf(0x945)]=_0x5772cf(0xc15);},0xb1dc:(_0x390d40,_0x58b818,_0xc7c6f8)=>{var _0x50f17d=a7_0x51ebec;_0xc7c6f8(0x26fa)['v'][_0x50f17d(0x96f)][_0x50f17d(0x6d6)]=_0x50f17d(0x564);},0x3c54:(_0x1e7a0f,_0x4bb10e,_0x14ae48)=>{var _0x3dc3a2=a7_0x51ebec;_0x14ae48(0x26fa)['v'][_0x3dc3a2(0x96f)]['shadowMapFragmentSoftTransparentShadow']=_0x3dc3a2(0xd37);},0x1817f:(_0x161cc9,_0x12f986,_0xd474e0)=>{var _0x53ab58=a7_0x51ebec;_0xd474e0(0x26fa)['v'][_0x53ab58(0x96f)][_0x53ab58(0x582)]=_0x53ab58(0x15b);},0xf1cf:(_0x393df1,_0xa92808,_0x205e06)=>{var _0x107ac3=a7_0x51ebec;_0x205e06(0x26fa)['v']['IncludesShadersStore'][_0x107ac3(0x280)]=_0x107ac3(0xae5);},0x766e:(_0x19c5be,_0x481340,_0x3b70cd)=>{var _0x2eafbc=a7_0x51ebec;_0x3b70cd(0x26fa)['v'][_0x2eafbc(0x96f)][_0x2eafbc(0x6c0)]=_0x2eafbc(0xbf0);},0x6f2f:(_0x1e672a,_0x8fffdc,_0x2c5919)=>{var _0x29cb37=a7_0x51ebec;_0x2c5919(0x26fa)['v'][_0x29cb37(0x96f)]['uvAttributeDeclaration']='#ifdef\x20UV{X}\x0aattribute\x20vec2\x20uv{X};\x0a#endif\x0a';},0x5c59:(_0x5d2550,_0x39729a,_0x528cb9)=>{var _0x1e8160=a7_0x51ebec;_0x528cb9(0x26fa)['v'][_0x1e8160(0x96f)][_0x1e8160(0x7c3)]=_0x1e8160(0x5b5);},0x4730:(_0x591460,_0x294052,_0x57b66c)=>{var _0x12256a=a7_0x51ebec;_0x57b66c(0x26fa)['v'][_0x12256a(0x96f)][_0x12256a(0x7bc)]=_0x12256a(0xca6);},0x179ab:(_0x19eaf2,_0x555d8a,_0x15c34c)=>{var _0x3a3c15=a7_0x51ebec;_0x15c34c(0x26fa)['v'][_0x3a3c15(0x52c)][_0x3a3c15(0xbc2)]=_0x3a3c15(0x562);},0x121a9:(_0x5ded38,_0x20dfe7,_0x51e940)=>{var _0x2b6b2e=a7_0x51ebec,_0x224d09=_0x51e940(0x26fa);_0x224d09['v']['IncludesShadersStore'][_0x2b6b2e(0x16b)]=_0x2b6b2e(0x1a0),_0x51e940(0x540b),_0x51e940(0x8cd3),_0x51e940(0x13827),_0x51e940(0x12f21),_0x51e940(0x15cb9),_0x51e940(0xf0d3),_0x51e940(0x10bc4),_0x51e940(0x1817f),_0x51e940(0x171c4),_0x51e940(0x13fa8),_0x51e940(0x17b64),_0x51e940(0x10716),_0x51e940(0x2144),_0x51e940(0xf45c),_0x224d09['v'][_0x2b6b2e(0x52c)]['backgroundPixelShader']=_0x2b6b2e(0x86b);},0x54d:(_0x24dcc5,_0x2fee9f,_0x22bd86)=>{var _0x1a0128=a7_0x51ebec,_0x1c2b39=_0x22bd86(0x26fa);_0x1c2b39['v'][_0x1a0128(0x96f)][_0x1a0128(0xbd9)]=_0x1a0128(0x5f1),_0x22bd86(0x540b),_0x22bd86(0x8cd3),_0x22bd86(0x11c69),_0x22bd86(0x2648),_0x22bd86(0xe7da),_0x22bd86(0xd4f3),_0x22bd86(0x1162f),_0x22bd86(0x17cfd),_0x22bd86(0xd6d4),_0x22bd86(0x16c62),_0x22bd86(0x9e45),_0x22bd86(0x1396d),_0x22bd86(0xc24a),_0x22bd86(0xeda3),_0x22bd86(0xf1cf),_0x1c2b39['v'][_0x1a0128(0x52c)][_0x1a0128(0x7ee)]=_0x1a0128(0x6d9);},0xa5a4:(_0x2203d6,_0x8ec1fa,_0x49f924)=>{var _0x299160=a7_0x51ebec;_0x49f924(0x26fa)['v'][_0x299160(0x52c)][_0x299160(0x313)]=_0x299160(0x3f8);},0x1142c:(_0x36fb51,_0x5e7681,_0x39cb57)=>{var _0x80dbfe=a7_0x51ebec;_0x39cb57(0x26fa)['v']['ShadersStore'][_0x80dbfe(0x752)]=_0x80dbfe(0x24d);},0x14bfe:(_0x3975d1,_0x3053e1,_0x54ec9e)=>{var _0x2dbd6b=a7_0x51ebec,_0x5d16a3=_0x54ec9e(0x26fa);_0x5d16a3['v'][_0x2dbd6b(0x96f)][_0x2dbd6b(0xa21)]=_0x2dbd6b(0x4ac),_0x54ec9e(0x5250),_0x5d16a3['v'][_0x2dbd6b(0x52c)][_0x2dbd6b(0x48a)]=_0x2dbd6b(0x675);},0xff3d:(_0x24ac1c,_0x10d78e,_0x4ab879)=>{var _0x2e4cb1=a7_0x51ebec,_0x2f96d9=_0x4ab879(0x26fa);_0x2f96d9['v'][_0x2e4cb1(0x96f)][_0x2e4cb1(0x309)]='uniform\x20mat4\x20world;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20MULTIVIEW\x0auniform\x20mat4\x20viewProjectionR;\x0a#endif\x0a',_0x4ab879(0x5250),_0x2f96d9['v'][_0x2e4cb1(0x52c)][_0x2e4cb1(0x96e)]=_0x2e4cb1(0xcc2);},0x184b0:(_0x269b1a,_0x93e19b,_0x37914d)=>{_0x37914d(0x26fa)['v']['ShadersStore']['chromaticAberrationPixelShader']='uniform\x20sampler2D\x20textureSampler;\x20\x0auniform\x20float\x20chromatic_aberration;\x0auniform\x20float\x20radialIntensity;\x0auniform\x20vec2\x20direction;\x0auniform\x20vec2\x20centerPosition;\x0auniform\x20float\x20screen_width;\x0auniform\x20float\x20screen_height;\x0avarying\x20vec2\x20vUV;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec2\x20centered_screen_pos=vec2(vUV.x-centerPosition.x,vUV.y-centerPosition.y);\x0avec2\x20directionOfEffect=direction;\x0aif(directionOfEffect.x==0.\x20&&\x20directionOfEffect.y==0.){\x0adirectionOfEffect=normalize(centered_screen_pos);\x0a}\x0afloat\x20radius2=centered_screen_pos.x*centered_screen_pos.x\x0a+\x20centered_screen_pos.y*centered_screen_pos.y;\x0afloat\x20radius=sqrt(radius2);\x0avec4\x20original=texture2D(textureSampler,vUV);\x0avec3\x20ref_indices=vec3(-0.3,0.0,0.3);\x0afloat\x20ref_shiftX=chromatic_aberration*pow(radius,radialIntensity)*directionOfEffect.x/screen_width;\x0afloat\x20ref_shiftY=chromatic_aberration*pow(radius,radialIntensity)*directionOfEffect.y/screen_height;\x0avec2\x20ref_coords_r=vec2(vUV.x+ref_indices.r*ref_shiftX,vUV.y+ref_indices.r*ref_shiftY*0.5);\x0avec2\x20ref_coords_g=vec2(vUV.x+ref_indices.g*ref_shiftX,vUV.y+ref_indices.g*ref_shiftY*0.5);\x0avec2\x20ref_coords_b=vec2(vUV.x+ref_indices.b*ref_shiftX,vUV.y+ref_indices.b*ref_shiftY*0.5);\x0aoriginal.r=texture2D(textureSampler,ref_coords_r).r;\x0aoriginal.g=texture2D(textureSampler,ref_coords_g).g;\x0aoriginal.b=texture2D(textureSampler,ref_coords_b).b;\x0aoriginal.a=clamp(texture2D(textureSampler,ref_coords_r).a+texture2D(textureSampler,ref_coords_g).a+texture2D(textureSampler,ref_coords_b).a,0.,1.);\x0agl_FragColor=original;\x0a}';},0x24b5:(_0x6093c3,_0x53faca,_0x9df2f5)=>{var _0x158756=a7_0x51ebec;_0x9df2f5(0x26fa)['v']['ShadersStore'][_0x158756(0x446)]=_0x158756(0xcde);},0xab6f:(_0x5f46f3,_0x5a2b63,_0x4aba96)=>{var _0x31d6e5=a7_0x51ebec,_0x1239b6=_0x4aba96(0x26fa);_0x4aba96(0x13fa8),_0x4aba96(0x10716),_0x1239b6['v']['ShadersStore'][_0x31d6e5(0x3ed)]=_0x31d6e5(0x6e1);},0xb3e6:(_0x293ce4,_0x38e5c0,_0x491cdd)=>{var _0x5f72e9=a7_0x51ebec,_0x5a07be=_0x491cdd(0x26fa);_0x491cdd(0x11c69),_0x491cdd(0x2648),_0x491cdd(0xd4f3),_0x491cdd(0xe7da),_0x491cdd(0x16c62),_0x491cdd(0x9e45),_0x491cdd(0x1396d),_0x491cdd(0xc24a),_0x491cdd(0x4730),_0x5a07be['v'][_0x5f72e9(0x52c)][_0x5f72e9(0x6e8)]=_0x5f72e9(0x696);},0x8547:(_0x4f4b3a,_0x2cacfc,_0xcd1065)=>{var _0x528218=a7_0x51ebec;_0xcd1065(0x26fa)['v'][_0x528218(0x52c)]['colorCorrectionPixelShader']=_0x528218(0x1ad);},0x3e36:(_0x450d82,_0x2b2994,_0x462592)=>{var _0x2a02b4=a7_0x51ebec;_0x462592(0x26fa)['v'][_0x2a02b4(0x52c)]['convolutionPixelShader']=_0x2a02b4(0x81b);},0x14df8:(_0x1d23ab,_0x40a7ca,_0x2a609f)=>{var _0x4537ec=a7_0x51ebec,_0x44fc88=_0x2a609f(0x26fa);_0x2a609f(0x8cd3),_0x44fc88['v'][_0x4537ec(0x52c)]['copyTextureToTexturePixelShader']=_0x4537ec(0x84a);},0x47f2:(_0x360abc,_0x30559e,_0x31a708)=>{var _0xfbfc18=a7_0x51ebec,_0x36239f=_0x31a708(0x26fa);_0x31a708(0x9af1),_0x36239f['v']['IncludesShadersStore'][_0xfbfc18(0x81a)]=_0xfbfc18(0x576),_0x31a708(0x20cb),_0x31a708(0x7051),_0x31a708(0x4df2),_0x31a708(0x13ff7),_0x31a708(0x8cd3),_0x31a708(0x15cb9),_0x31a708(0xf0d3),_0x31a708(0x10bc4),_0x31a708(0x1817f),_0x31a708(0x19fd),_0x31a708(0x2eec),_0x31a708(0x13827),_0x31a708(0x12f21),_0x31a708(0x171c4),_0x31a708(0xc907),_0x31a708(0x5a2d),_0x31a708(0x13fa8),_0x31a708(0x14b01),_0x31a708(0x17b64),_0x31a708(0x10716),_0x31a708(0xdc9a),_0x31a708(0xec4f),_0x31a708(0xace7),_0x31a708(0x2144),_0x31a708(0x614f),_0x31a708(0xf45c),_0x31a708(0x34d7),_0x36239f['v']['ShadersStore'][_0xfbfc18(0x9de)]=_0xfbfc18(0x57b);},0x1140:(_0x592988,_0x45f2b8,_0x28e6e5)=>{var _0x2dc686=a7_0x51ebec,_0x461864=_0x28e6e5(0x26fa);_0x28e6e5(0x28cb),_0x461864['v'][_0x2dc686(0x96f)]['defaultVertexDeclaration']=_0x2dc686(0x482),_0x28e6e5(0x20cb),_0x28e6e5(0x6f2f),_0x28e6e5(0x8cd3),_0x28e6e5(0x11c69),_0x28e6e5(0x2648),_0x28e6e5(0xe7da),_0x28e6e5(0x124cc),_0x28e6e5(0x13ff7),_0x28e6e5(0x12d29),_0x28e6e5(0x35c4),_0x28e6e5(0xd4f3),_0x28e6e5(0x1162f),_0x28e6e5(0x17cfd),_0x28e6e5(0xd6d4),_0x28e6e5(0x11b65),_0x28e6e5(0x12771),_0x28e6e5(0x14b01),_0x28e6e5(0x13d7),_0x28e6e5(0x1201e),_0x28e6e5(0x16c62),_0x28e6e5(0x9e45),_0x28e6e5(0x1396d),_0x28e6e5(0x1963),_0x28e6e5(0x5c59),_0x28e6e5(0x44ee),_0x28e6e5(0xf72d),_0x28e6e5(0xc24a),_0x28e6e5(0xeda3),_0x28e6e5(0xf1cf),_0x28e6e5(0x4730),_0x461864['v'][_0x2dc686(0x96f)]['pointCloudVertex']=_0x2dc686(0x3f2),_0x28e6e5(0x8641),_0x461864['v'][_0x2dc686(0x52c)][_0x2dc686(0x596)]=_0x2dc686(0x159);},0x9680:(_0x20befc,_0x2a7917,_0x121ab1)=>{var _0x2272a8=a7_0x51ebec,_0x33273f=_0x121ab1(0x26fa);_0x121ab1(0x13fa8),_0x121ab1(0x4a11),_0x121ab1(0x10716),_0x33273f['v'][_0x2272a8(0x52c)][_0x2272a8(0xc97)]=_0x2272a8(0x47f);},0x13d16:(_0x566a88,_0x1700f8,_0x50df39)=>{var _0x12b04c=a7_0x51ebec,_0x2cd3bf=_0x50df39(0x26fa);_0x50df39(0x11c69),_0x50df39(0x2648),_0x50df39(0x11b65),_0x50df39(0x12771),_0x50df39(0xd4f3),_0x50df39(0xe7da),_0x50df39(0x13d7),_0x50df39(0x1201e),_0x50df39(0x16c62),_0x50df39(0x9e45),_0x50df39(0x1396d),_0x50df39(0xc24a),_0x2cd3bf['v'][_0x12b04c(0x52c)][_0x12b04c(0x86d)]=_0x12b04c(0xcd2);},0x5386:(_0x571671,_0x1d57e2,_0x4eb6e2)=>{var _0xaaccc7=a7_0x51ebec;_0x4eb6e2(0x26fa)['v'][_0xaaccc7(0x52c)][_0xaaccc7(0x226)]=_0xaaccc7(0xc05);},0x1194c:(_0x3afb7c,_0x38e685,_0x5a6db6)=>{var _0x3559ca=a7_0x51ebec;_0x5a6db6(0x26fa)['v'][_0x3559ca(0x52c)][_0x3559ca(0x514)]=_0x3559ca(0xb48);},0x88d5:(_0x16972a,_0x4fbfde,_0x2a2b9b)=>{var _0x511d39=a7_0x51ebec;_0x2a2b9b(0x26fa)['v'][_0x511d39(0x52c)][_0x511d39(0x67a)]=_0x511d39(0xa40);},0x5e4b:(_0x35ab77,_0x2716ed,_0x48e90d)=>{var _0xef5784=a7_0x51ebec;_0x48e90d(0x26fa)['v']['ShadersStore']['displayPassPixelShader']=_0xef5784(0x1f9);},0x87ce:(_0x524162,_0x3a1b62,_0x2e81b0)=>{var _0xfe5fc4=a7_0x51ebec,_0x45f865=_0x2e81b0(0x26fa);_0x2e81b0(0x8cd3),_0x45f865['v'][_0xfe5fc4(0x52c)][_0xfe5fc4(0x48d)]=_0xfe5fc4(0x1b0);},0x63d8:(_0x432373,_0x309953,_0x30a9bd)=>{var _0x11de5f=a7_0x51ebec;_0x30a9bd(0x26fa)['v'][_0x11de5f(0x52c)][_0x11de5f(0x57d)]=_0x11de5f(0x90d);},0xfa31:(_0x303033,_0x929349,_0x4c9105)=>{var _0x1643d6=a7_0x51ebec;_0x4c9105(0x26fa)['v'][_0x1643d6(0x52c)][_0x1643d6(0x2b4)]=_0x1643d6(0xbc9);},0x13084:(_0x59955e,_0x287b64,_0x140c9e)=>{var _0x2ed38e=a7_0x51ebec;_0x140c9e(0x26fa)['v'][_0x2ed38e(0x52c)]['fluidRenderingParticleDepthPixelShader']=_0x2ed38e(0xc70);},0x4d56:(_0x4ba49a,_0x23f397,_0x4ece83)=>{var _0x1d14cb=a7_0x51ebec;_0x4ece83(0x26fa)['v'][_0x1d14cb(0x52c)][_0x1d14cb(0x9bb)]='attribute\x20vec3\x20position;\x0aattribute\x20vec2\x20offset;\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20vec2\x20size;\x0avarying\x20vec2\x20uv;\x0avarying\x20vec3\x20viewPos;\x0avarying\x20float\x20sphereRadius;\x0a#ifdef\x20FLUIDRENDERING_VELOCITY\x0aattribute\x20vec3\x20velocity;\x0avarying\x20float\x20velocityNorm;\x0a#endif\x0avoid\x20main(void)\x20{\x0avec3\x20cornerPos;\x0acornerPos.xy=vec2(offset.x-0.5,offset.y-0.5)*size;\x0acornerPos.z=0.0;\x0aviewPos=(view*vec4(position,1.0)).xyz;\x0agl_Position=projection*vec4(viewPos+cornerPos,1.0);\x0auv=offset;\x0asphereRadius=size.x/2.0;\x0a#ifdef\x20FLUIDRENDERING_VELOCITY\x0avelocityNorm=length(velocity);\x0a#endif\x0a}\x0a';},0xa147:(_0x359177,_0x49f500,_0xa9fcf0)=>{var _0x4faed4=a7_0x51ebec;_0xa9fcf0(0x26fa)['v'][_0x4faed4(0x52c)]['fluidRenderingParticleDiffusePixelShader']=_0x4faed4(0x2d0);},0x497e:(_0x2cfa39,_0x3093a0,_0x388548)=>{var _0x13113d=a7_0x51ebec;_0x388548(0x26fa)['v'][_0x13113d(0x52c)][_0x13113d(0x718)]=_0x13113d(0x8f3);},0x879b:(_0x579647,_0x2b3906,_0x2616d7)=>{var _0xbfd373=a7_0x51ebec;_0x2616d7(0x26fa)['v'][_0xbfd373(0x52c)][_0xbfd373(0xaab)]=_0xbfd373(0xa04);},0x17355:(_0x3d9ca0,_0x1ced71,_0xaab19d)=>{var _0x50999b=a7_0x51ebec;_0xaab19d(0x26fa)['v'][_0x50999b(0x52c)][_0x50999b(0x16a)]='attribute\x20vec3\x20position;\x0aattribute\x20vec2\x20offset;\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20vec2\x20size;\x0avarying\x20vec2\x20uv;\x0avoid\x20main(void)\x20{\x0avec3\x20cornerPos;\x0acornerPos.xy=vec2(offset.x-0.5,offset.y-0.5)*size;\x0acornerPos.z=0.0;\x0avec3\x20viewPos=(view*vec4(position,1.0)).xyz+cornerPos;\x0agl_Position=projection*vec4(viewPos,1.0);\x0auv=offset;\x0a}\x0a';},0x182d1:(_0x465115,_0x5ba125,_0x56cc09)=>{var _0x558fff=a7_0x51ebec;_0x56cc09(0x26fa)['v'][_0x558fff(0x52c)][_0x558fff(0x7ba)]=_0x558fff(0x632);},0x128a:(_0x317630,_0x473508,_0xa279ec)=>{var _0x5c6c6e=a7_0x51ebec;_0xa279ec(0x26fa)['v']['ShadersStore']['fluidRenderingStandardBlurPixelShader']=_0x5c6c6e(0x7f7);},0x79c3:(_0x3355cf,_0xbb8024,_0x293b9f)=>{var _0x2f98d5=a7_0x51ebec;_0x293b9f(0x26fa)['v']['ShadersStore'][_0x2f98d5(0x63d)]=_0x2f98d5(0x6ed);},0xe3ec:(_0x1c915c,_0x546bd9,_0x16610d)=>{var _0x5b95df=a7_0x51ebec;_0x16610d(0x26fa)['v'][_0x5b95df(0x52c)][_0x5b95df(0x7ca)]=_0x5b95df(0x3c0);},0x17ac4:(_0x4bd6c6,_0x22ca30,_0x446f65)=>{var _0x24de34=a7_0x51ebec,_0x55cc49=_0x446f65(0x26fa);_0x446f65(0x13fa8),_0x55cc49['v'][_0x24de34(0x96f)][_0x24de34(0x337)]=_0x24de34(0x4c7),_0x446f65(0xc907),_0x446f65(0x5a2d),_0x446f65(0x8cd3),_0x446f65(0x10716),_0x446f65(0xdc9a),_0x55cc49['v'][_0x24de34(0x52c)][_0x24de34(0x364)]=_0x24de34(0x8a1);},0x3783:(_0xa20ea7,_0x4e5ea8,_0x55122a)=>{var _0x44cee9=a7_0x51ebec,_0x1898dc=_0x55122a(0x26fa);_0x55122a(0x11c69),_0x55122a(0x2648),_0x55122a(0x11b65),_0x55122a(0x12771),_0x55122a(0xe7da),_0x1898dc['v'][_0x44cee9(0x96f)][_0x44cee9(0xd59)]=_0x44cee9(0x1a3),_0x55122a(0xb1dc),_0x1898dc['v'][_0x44cee9(0x96f)][_0x44cee9(0xd2f)]=_0x44cee9(0x4d6),_0x55122a(0xd4f3),_0x55122a(0x13d7),_0x55122a(0x1201e),_0x55122a(0x16c62),_0x55122a(0x9e45),_0x55122a(0x1396d),_0x55122a(0xc24a),_0x55122a(0xf72d),_0x1898dc['v'][_0x44cee9(0x52c)][_0x44cee9(0x3a2)]=_0x44cee9(0x517);},0xadae:(_0x1e26f9,_0x383a0a,_0x1288cc)=>{var _0x771520=a7_0x51ebec;_0x1288cc(0x26fa)['v']['ShadersStore']['glowBlurPostProcessPixelShader']=_0x771520(0x624);},0xf007:(_0x46202f,_0x531bd8,_0xcf21e8)=>{var _0x41de59=a7_0x51ebec,_0x4fb14e=_0xcf21e8(0x26fa);_0xcf21e8(0x8cd3),_0xcf21e8(0x13fa8),_0xcf21e8(0x10716),_0x4fb14e['v']['ShadersStore'][_0x41de59(0x660)]=_0x41de59(0x4d1);},0x7bc7:(_0x2f658c,_0xd52054,_0x115607)=>{var _0x235045=a7_0x51ebec,_0x2aed90=_0x115607(0x26fa);_0x115607(0x11c69),_0x115607(0x2648),_0x115607(0x11b65),_0x115607(0x12771),_0x115607(0xd4f3),_0x115607(0xe7da),_0x115607(0x13d7),_0x115607(0x1201e),_0x115607(0x16c62),_0x115607(0x9e45),_0x115607(0x1396d),_0x115607(0xc24a),_0x2aed90['v'][_0x235045(0x52c)]['glowMapGenerationVertexShader']=_0x235045(0xb4c);},0x13ee3:(_0xfd9461,_0x5a17c1,_0x346db2)=>{var _0x7fce48=a7_0x51ebec;_0x346db2(0x26fa)['v']['ShadersStore'][_0x7fce48(0xacd)]='varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0a#ifdef\x20EMISSIVE\x0auniform\x20sampler2D\x20textureSampler2;\x0a#endif\x0auniform\x20float\x20offset;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0avec4\x20baseColor=texture2D(textureSampler,vUV);\x0a#ifdef\x20EMISSIVE\x0abaseColor+=texture2D(textureSampler2,vUV);\x0abaseColor*=offset;\x0a#else\x0abaseColor.a=abs(offset-baseColor.a);\x0a#ifdef\x20STROKE\x0afloat\x20alpha=smoothstep(.0,.1,baseColor.a);\x0abaseColor.a=alpha;\x0abaseColor.rgb=baseColor.rgb*alpha;\x0a#endif\x0a#endif\x0a#if\x20LDR\x0abaseColor=clamp(baseColor,0.,1.0);\x0a#endif\x0agl_FragColor=baseColor;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}';},0x1323d:(_0x588b02,_0x330289,_0x3fed74)=>{var _0x1fe6c1=a7_0x51ebec;_0x3fed74(0x26fa)['v'][_0x1fe6c1(0x52c)][_0x1fe6c1(0x9bd)]=_0x1fe6c1(0x800);},0x7b37:(_0x267a35,_0x32f3bf,_0x2f033b)=>{var _0x384d65=a7_0x51ebec,_0x3dee33=_0x2f033b(0x26fa);_0x3dee33['v']['IncludesShadersStore'][_0x384d65(0xd15)]='#ifdef\x20CLIPPLANE\x0ain\x20float\x20fClipDistance;\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0ain\x20float\x20fClipDistance2;\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0ain\x20float\x20fClipDistance3;\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0ain\x20float\x20fClipDistance4;\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0ain\x20float\x20fClipDistance5;\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0ain\x20float\x20fClipDistance6;\x0a#endif\x0a',_0x2f033b(0x12f21),_0x2f033b(0x14b01),_0x2f033b(0x8cd3),_0x2f033b(0x171c4),_0x2f033b(0x10716),_0x2f033b(0x614f),_0x3dee33['v'][_0x384d65(0x52c)][_0x384d65(0x2f0)]=_0x384d65(0x87f);},0xcf07:(_0x58ab01,_0x3539a3,_0x9eb344)=>{var _0x5d1642=a7_0x51ebec,_0x236f2e=_0x9eb344(0x26fa);_0x236f2e['v'][_0x5d1642(0x96f)][_0x5d1642(0x599)]=_0x5d1642(0x65b),_0x9eb344(0x14b01),_0x9eb344(0xc24a),_0x9eb344(0x8641),_0x236f2e['v']['ShadersStore'][_0x5d1642(0x5e7)]=_0x5d1642(0xa22);},0x68d6:(_0x21f1c0,_0x3ddea2,_0x2a3074)=>{var _0x47198f=a7_0x51ebec;_0x2a3074(0x26fa)['v'][_0x47198f(0x52c)][_0x47198f(0xa8e)]=_0x47198f(0x48b);},0x79d2:(_0x35bd3c,_0x42c6fd,_0x561614)=>{var _0x453ab0=a7_0x51ebec;_0x561614(0x26fa)['v'][_0x453ab0(0x52c)][_0x453ab0(0x5d2)]=_0x453ab0(0xc0e);},0x44d6:(_0x21038f,_0x5c5a54,_0xf1f7c6)=>{var _0x1992cb=a7_0x51ebec,_0x237942=_0xf1f7c6(0x26fa);_0xf1f7c6(0x8cd3),_0x237942['v'][_0x1992cb(0x52c)][_0x1992cb(0x7e5)]=_0x1992cb(0x638);},0x3b79:(_0x437149,_0x4fd862,_0x39b6fa)=>{var _0x3dec72=a7_0x51ebec,_0x2f1269=_0x39b6fa(0x26fa);_0x39b6fa(0x8cd3),_0x39b6fa(0x2d2b),_0x39b6fa(0xe90b),_0x39b6fa(0x1761a),_0x2f1269['v'][_0x3dec72(0x52c)][_0x3dec72(0xa91)]=_0x3dec72(0xb5e);},0x14e90:(_0x3332e0,_0x42c587,_0x55721a)=>{var _0x2e63ec=a7_0x51ebec;_0x55721a(0x26fa)['v'][_0x2e63ec(0x52c)][_0x2e63ec(0x548)]='attribute\x20vec2\x20position;\x0avarying\x20vec3\x20direction;\x0auniform\x20vec3\x20up;\x0auniform\x20vec3\x20right;\x0auniform\x20vec3\x20front;\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0amat3\x20view=mat3(up,right,front);\x0adirection=view*vec3(position,1.0);\x0agl_Position=vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}';},0x8671:(_0x14d8bd,_0x4ab8f6,_0x2cb546)=>{var _0x33de5b=a7_0x51ebec;_0x2cb546(0x26fa)['v']['ShadersStore']['highlightsPixelShader']=_0x33de5b(0x966);},0x160aa:(_0x2de280,_0x1ec5ae,_0x315e38)=>{var _0xc2603d=a7_0x51ebec,_0x4be247=_0x315e38(0x26fa);_0x315e38(0x12f21),_0x315e38(0x8cd3),_0x315e38(0x171c4),_0x4be247['v'][_0xc2603d(0x52c)][_0xc2603d(0x3ec)]=_0xc2603d(0x72a);},0xe94b:(_0x10c1d5,_0x199600,_0x4ed69f)=>{var _0x5e7441=a7_0x51ebec,_0x44a49e=_0x4ed69f(0x26fa);_0x4ed69f(0x2567),_0x4ed69f(0x4a11),_0x44a49e['v']['IncludesShadersStore']['kernelBlurFragment']=_0x5e7441(0xa34),_0x44a49e['v'][_0x5e7441(0x96f)][_0x5e7441(0x190)]=_0x5e7441(0x533),_0x44a49e['v']['ShadersStore']['kernelBlurPixelShader']=_0x5e7441(0x80e);},0x78b2:(_0x6e8dc4,_0x34f7e1,_0x38825a)=>{var _0x2f8d46=a7_0x51ebec,_0x2f3bde=_0x38825a(0x26fa);_0x38825a(0x2567),_0x2f3bde['v']['IncludesShadersStore'][_0x2f8d46(0x3bc)]=_0x2f8d46(0xadc),_0x2f3bde['v']['ShadersStore'][_0x2f8d46(0x8b6)]=_0x2f8d46(0x811);},0xf009:(_0x225dc5,_0x4d399c,_0x720dfe)=>{var _0x227c6d=a7_0x51ebec,_0x1a2845=_0x720dfe(0x26fa);_0x720dfe(0x8cd3),_0x1a2845['v'][_0x227c6d(0x52c)][_0x227c6d(0x7b9)]=_0x227c6d(0xd1a);},0xbc19:(_0xc76c5b,_0x3261ea,_0x480314)=>{var _0x32ea78=a7_0x51ebec;_0x480314(0x26fa)['v'][_0x32ea78(0x52c)][_0x32ea78(0xa5e)]=_0x32ea78(0x28f);},0xa277:(_0x5edb91,_0xf0c653,_0x1709a6)=>{var _0x3090b7=a7_0x51ebec;_0x1709a6(0x26fa)['v'][_0x3090b7(0x52c)][_0x3090b7(0xc58)]=_0x3090b7(0x640);},0x14b96:(_0x54d963,_0x40e6b1,_0x45c467)=>{var _0x3af250=a7_0x51ebec;_0x45c467(0x26fa)['v'][_0x3af250(0x52c)][_0x3af250(0x903)]=_0x3af250(0x967);},0x14eb9:(_0x3a455a,_0x177d58,_0x31231d)=>{var _0x545068=a7_0x51ebec;_0x31231d(0x26fa)['v']['ShadersStore'][_0x545068(0x676)]=_0x545068(0x87c);},0xf3e4:(_0x4d8115,_0x5ce435,_0x484306)=>{var _0x372669=a7_0x51ebec,_0x30e30e=_0x484306(0x26fa);_0x484306(0x13fa8),_0x484306(0x10716),_0x30e30e['v'][_0x372669(0x52c)][_0x372669(0xb78)]='#include<clipPlaneFragmentDeclaration>\x0auniform\x20vec4\x20color;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0agl_FragColor=color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}';},0x418e:(_0x2288f0,_0x252a08,_0x393e36)=>{var _0x9d89cc=a7_0x51ebec,_0x37c0a4=_0x393e36(0x26fa);_0x393e36(0xe7da),_0x393e36(0xd4f3),_0x393e36(0x16c62),_0x393e36(0xc24a),_0x37c0a4['v'][_0x9d89cc(0x52c)][_0x9d89cc(0x302)]=_0x9d89cc(0xd3b);},0x965:(_0x4d4e99,_0x4278e1,_0x57c916)=>{var _0x439d7f=a7_0x51ebec;_0x57c916(0x26fa)['v'][_0x439d7f(0x52c)][_0x439d7f(0x8de)]=_0x439d7f(0xa7e);},0xdd57:(_0x471df1,_0x38a690,_0x2836c7)=>{var _0x4b9af8=a7_0x51ebec,_0x2c230a=_0x2836c7(0x26fa);_0x2836c7(0x11c69),_0x2836c7(0x2648),_0x2836c7(0x11b65),_0x2836c7(0x12771),_0x2836c7(0xe7da),_0x2836c7(0x13d7),_0x2836c7(0x1201e),_0x2836c7(0x16c62),_0x2836c7(0x9e45),_0x2836c7(0x1396d),_0x2c230a['v'][_0x4b9af8(0x52c)]['meshUVSpaceRendererVertexShader']=_0x4b9af8(0xbb8);},0x285d:(_0x3102ec,_0x187037,_0x46dc90)=>{var _0x115186=a7_0x51ebec;_0x46dc90(0x26fa)['v'][_0x115186(0x52c)][_0x115186(0x54e)]=_0x115186(0xc36);},0x17d14:(_0x2a6036,_0x42afa9,_0x42ae9a)=>{var _0xe2356=a7_0x51ebec;_0x42ae9a(0x26fa)['v'][_0xe2356(0x52c)][_0xe2356(0x475)]=_0xe2356(0x5ea);},0x12cdd:(_0x2108d8,_0x48e4c4,_0x4adf55)=>{var _0x1aed4d=a7_0x51ebec;_0x4adf55(0x26fa)['v'][_0x1aed4d(0x52c)][_0x1aed4d(0x213)]=_0x1aed4d(0x320);},0x7f01:(_0x5602de,_0x390e20,_0x12d1f3)=>{var _0x527973=a7_0x51ebec;_0x12d1f3(0x26fa)['v'][_0x527973(0x52c)]['oitBackBlendPixelShader']='precision\x20highp\x20float;\x0auniform\x20sampler2D\x20uBackColor;\x0avoid\x20main()\x20{\x0aglFragColor=texelFetch(uBackColor,ivec2(gl_FragCoord.xy),0);\x0aif\x20(glFragColor.a==0.0)\x20{\x20\x0adiscard;\x0a}\x0a}';},0x1522f:(_0x550ea6,_0x4da11c,_0x2b9741)=>{var _0xcded2=a7_0x51ebec;_0x2b9741(0x26fa)['v'][_0xcded2(0x52c)][_0xcded2(0x41b)]=_0xcded2(0x8ed);},0xa5a3:(_0x12550b,_0x5b87c0,_0x353ee0)=>{var _0x28de58=a7_0x51ebec,_0x239e22=_0x353ee0(0x26fa);_0x353ee0(0x13fa8),_0x353ee0(0x14b01),_0x353ee0(0x10716),_0x353ee0(0x614f),_0x239e22['v'][_0x28de58(0x52c)]['outlinePixelShader']='#ifdef\x20LOGARITHMICDEPTH\x0a#extension\x20GL_EXT_frag_depth\x20:\x20enable\x0a#endif\x0auniform\x20vec4\x20color;\x0a#ifdef\x20ALPHATEST\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<logDepthDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0a#ifdef\x20ALPHATEST\x0aif\x20(texture2D(diffuseSampler,vUV).a<0.4)\x0adiscard;\x0a#endif\x0a#include<logDepthFragment>\x0agl_FragColor=color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}';},0x14dbe:(_0x20f08d,_0x17d7af,_0x20be06)=>{var _0x5b6c29=a7_0x51ebec,_0x4b016a=_0x20be06(0x26fa);_0x20be06(0x11c69),_0x20be06(0x2648),_0x20be06(0x11b65),_0x20be06(0x12771),_0x20be06(0xd4f3),_0x20be06(0xe7da),_0x20be06(0x14b01),_0x20be06(0x13d7),_0x20be06(0x1201e),_0x20be06(0x16c62),_0x20be06(0x9e45),_0x20be06(0x1396d),_0x20be06(0xc24a),_0x20be06(0x8641),_0x4b016a['v']['ShadersStore'][_0x5b6c29(0x9b3)]=_0x5b6c29(0x64d);},0x7583:(_0x2f5fda,_0x1dbe10,_0x194a14)=>{var _0x5226f0=a7_0x51ebec,_0x55dbf9=_0x194a14(0x26fa);_0x194a14(0x13fa8),_0x194a14(0x12f21),_0x194a14(0x14b01),_0x194a14(0x8cd3),_0x194a14(0x171c4),_0x194a14(0x10716),_0x194a14(0x614f),_0x55dbf9['v'][_0x5226f0(0x52c)][_0x5226f0(0xa09)]=_0x5226f0(0x520);},0xa90d:(_0x2083fc,_0x4dc6a3,_0x1b784a)=>{var _0x2ed5df=a7_0x51ebec,_0x490a7f=_0x1b784a(0x26fa);_0x1b784a(0xd4f3),_0x1b784a(0x14b01),_0x1b784a(0xc24a),_0x1b784a(0x8641),_0x490a7f['v'][_0x2ed5df(0x52c)]['particlesVertexShader']='attribute\x20vec3\x20position;\x0aattribute\x20vec4\x20color;\x0aattribute\x20float\x20angle;\x0aattribute\x20vec2\x20size;\x0a#ifdef\x20ANIMATESHEET\x0aattribute\x20float\x20cellIndex;\x0a#endif\x0a#ifndef\x20BILLBOARD\x0aattribute\x20vec3\x20direction;\x0a#endif\x0a#ifdef\x20BILLBOARDSTRETCHED\x0aattribute\x20vec3\x20direction;\x0a#endif\x0a#ifdef\x20RAMPGRADIENT\x0aattribute\x20vec4\x20remapData;\x0a#endif\x0aattribute\x20vec2\x20offset;\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20vec2\x20translationPivot;\x0a#ifdef\x20ANIMATESHEET\x0auniform\x20vec3\x20particlesInfos;\x20\x0a#endif\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec4\x20vColor;\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20RAMPGRADIENT\x0avarying\x20vec4\x20remapRanges;\x0a#endif\x0a#if\x20defined(BILLBOARD)\x20&&\x20!defined(BILLBOARDY)\x20&&\x20!defined(BILLBOARDSTRETCHED)\x0auniform\x20mat4\x20invView;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<logDepthDeclaration>\x0a#ifdef\x20BILLBOARD\x0auniform\x20vec3\x20eyePosition;\x0a#endif\x0avec3\x20rotate(vec3\x20yaxis,vec3\x20rotatedCorner)\x20{\x0avec3\x20xaxis=normalize(cross(vec3(0.,1.0,0.),yaxis));\x0avec3\x20zaxis=normalize(cross(yaxis,xaxis));\x0avec3\x20row0=vec3(xaxis.x,xaxis.y,xaxis.z);\x0avec3\x20row1=vec3(yaxis.x,yaxis.y,yaxis.z);\x0avec3\x20row2=vec3(zaxis.x,zaxis.y,zaxis.z);\x0amat3\x20rotMatrix=\x20mat3(row0,row1,row2);\x0avec3\x20alignedCorner=rotMatrix*rotatedCorner;\x0areturn\x20position+alignedCorner;\x0a}\x0a#ifdef\x20BILLBOARDSTRETCHED\x0avec3\x20rotateAlign(vec3\x20toCamera,vec3\x20rotatedCorner)\x20{\x0avec3\x20normalizedToCamera=normalize(toCamera);\x0avec3\x20normalizedCrossDirToCamera=normalize(cross(normalize(direction),normalizedToCamera));\x0avec3\x20row0=vec3(normalizedCrossDirToCamera.x,normalizedCrossDirToCamera.y,normalizedCrossDirToCamera.z);\x0avec3\x20row2=vec3(normalizedToCamera.x,normalizedToCamera.y,normalizedToCamera.z);\x0a#ifdef\x20BILLBOARDSTRETCHED_LOCAL\x0avec3\x20row1=direction;\x0a#else\x0avec3\x20crossProduct=normalize(cross(normalizedToCamera,normalizedCrossDirToCamera));\x0avec3\x20row1=vec3(crossProduct.x,crossProduct.y,crossProduct.z);\x0a#endif\x0amat3\x20rotMatrix=\x20mat3(row0,row1,row2);\x0avec3\x20alignedCorner=rotMatrix*rotatedCorner;\x0areturn\x20position+alignedCorner;\x0a}\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avec2\x20cornerPos;\x0acornerPos=(vec2(offset.x-0.5,offset.y\x20-0.5)-translationPivot)*size+translationPivot;\x0a#ifdef\x20BILLBOARD\x0avec3\x20rotatedCorner;\x0a#ifdef\x20BILLBOARDY\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.z=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.y=0.;\x0avec3\x20yaxis=position-eyePosition;\x0ayaxis.y=0.;\x0avPositionW=rotate(normalize(yaxis),rotatedCorner);\x0avec3\x20viewPos=(view*vec4(vPositionW,1.0)).xyz;\x0a#elif\x20defined(BILLBOARDSTRETCHED)\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.y=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.z=0.;\x0avec3\x20toCamera=position-eyePosition;\x0avPositionW=rotateAlign(toCamera,rotatedCorner);\x0avec3\x20viewPos=(view*vec4(vPositionW,1.0)).xyz;\x0a#else\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.y=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.z=0.;\x0avec3\x20viewPos=(view*vec4(position,1.0)).xyz+rotatedCorner;\x0avPositionW=(invView*vec4(viewPos,1)).xyz;\x0a#endif\x0a#ifdef\x20RAMPGRADIENT\x0aremapRanges=remapData;\x0a#endif\x0agl_Position=projection*vec4(viewPos,1.0);\x0a#else\x0avec3\x20rotatedCorner;\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.z=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.y=0.;\x0avec3\x20yaxis=normalize(direction);\x0avPositionW=rotate(yaxis,rotatedCorner);\x0agl_Position=projection*view*vec4(vPositionW,1.0);\x0a#endif\x0avColor=color;\x0a#ifdef\x20ANIMATESHEET\x0afloat\x20rowOffset=floor(cellIndex*particlesInfos.z);\x0afloat\x20columnOffset=cellIndex-rowOffset/particlesInfos.z;\x0avec2\x20uvScale=particlesInfos.xy;\x0avec2\x20uvOffset=vec2(offset.x\x20,1.0-offset.y);\x0avUV=(uvOffset+vec2(columnOffset,rowOffset))*uvScale;\x0a#else\x0avUV=offset;\x0a#endif\x0a#if\x20defined(CLIPPLANE)\x20||\x20defined(CLIPPLANE2)\x20||\x20defined(CLIPPLANE3)\x20||\x20defined(CLIPPLANE4)\x20||\x20defined(CLIPPLANE5)\x20||\x20defined(CLIPPLANE6)\x0avec4\x20worldPos=vec4(vPositionW,1.0);\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<logDepthVertex>\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}';},0x109e7:(_0x14ee22,_0x27edae,_0x888673)=>{var _0x479ddf=a7_0x51ebec;_0x888673['d'](_0x27edae,{'T':()=>_0x249143}),_0x27edae=_0x479ddf(0x26a);const _0x249143={'name':_0x27edae,'shader':_0x888673(0x26fa)['v'][_0x479ddf(0x52c)][_0x27edae]='varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0agl_FragColor=texture2D(textureSampler,vUV);\x0a}'};},0x55cc:(_0x250d51,_0x5b3c06,_0x3e2b93)=>{var _0xc561af=a7_0x51ebec;_0x3e2b93(0x26fa)['v'][_0xc561af(0x52c)][_0xc561af(0x58e)]=_0xc561af(0x886);},0x431b:(_0x3be9b7,_0x59b414,_0x3fa0bb)=>{var _0x38f9e7=a7_0x51ebec,_0x573d48=_0x3fa0bb(0x26fa);_0x3fa0bb(0x7051),_0x3fa0bb(0x4df2),_0x3fa0bb(0x9af1),_0x573d48['v']['IncludesShadersStore'][_0x38f9e7(0x552)]='uniform\x20vec4\x20vEyePosition;\x0auniform\x20vec3\x20vReflectionColor;\x0auniform\x20vec4\x20vAlbedoColor;\x0auniform\x20vec4\x20vLightingIntensity;\x0auniform\x20vec4\x20vReflectivityColor;\x0auniform\x20vec4\x20vMetallicReflectanceFactors;\x0auniform\x20vec3\x20vEmissiveColor;\x0auniform\x20float\x20visibility;\x0auniform\x20vec3\x20vAmbientColor;\x0a#ifdef\x20ALBEDO\x0auniform\x20vec2\x20vAlbedoInfos;\x0a#endif\x0a#ifdef\x20AMBIENT\x0auniform\x20vec4\x20vAmbientInfos;\x0a#endif\x0a#ifdef\x20BUMP\x0auniform\x20vec3\x20vBumpInfos;\x0auniform\x20vec2\x20vTangentSpaceParams;\x0a#endif\x0a#ifdef\x20OPACITY\x0auniform\x20vec2\x20vOpacityInfos;\x0a#endif\x0a#ifdef\x20EMISSIVE\x0auniform\x20vec2\x20vEmissiveInfos;\x0a#endif\x0a#ifdef\x20LIGHTMAP\x0auniform\x20vec2\x20vLightmapInfos;\x0a#endif\x0a#ifdef\x20REFLECTIVITY\x0auniform\x20vec3\x20vReflectivityInfos;\x0a#endif\x0a#ifdef\x20MICROSURFACEMAP\x0auniform\x20vec2\x20vMicroSurfaceSamplerInfos;\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_SPHERICAL)\x20||\x20defined(REFLECTIONMAP_PROJECTION)\x20||\x20defined(SS_REFRACTION)\x20||\x20defined(PREPASS)\x0auniform\x20mat4\x20view;\x0a#endif\x0a#ifdef\x20REFLECTION\x0auniform\x20vec2\x20vReflectionInfos;\x0a#ifdef\x20REALTIME_FILTERING\x0auniform\x20vec2\x20vReflectionFilteringInfo;\x0a#endif\x0auniform\x20mat4\x20reflectionMatrix;\x0auniform\x20vec3\x20vReflectionMicrosurfaceInfos;\x0a#if\x20defined(USE_LOCAL_REFLECTIONMAP_CUBIC)\x20&&\x20defined(REFLECTIONMAP_CUBIC)\x0auniform\x20vec3\x20vReflectionPosition;\x0auniform\x20vec3\x20vReflectionSize;\x20\x0a#endif\x0a#endif\x0a#if\x20defined(SS_REFRACTION)\x20&&\x20defined(SS_USE_LOCAL_REFRACTIONMAP_CUBIC)\x0auniform\x20vec3\x20vRefractionPosition;\x0auniform\x20vec3\x20vRefractionSize;\x20\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0auniform\x20vec2\x20vClearCoatParams;\x0auniform\x20vec4\x20vClearCoatRefractionParams;\x0a#if\x20defined(CLEARCOAT_TEXTURE)\x20||\x20defined(CLEARCOAT_TEXTURE_ROUGHNESS)\x0auniform\x20vec4\x20vClearCoatInfos;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0auniform\x20mat4\x20clearCoatMatrix;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TEXTURE_ROUGHNESS\x0auniform\x20mat4\x20clearCoatRoughnessMatrix;\x0a#endif\x0a#ifdef\x20CLEARCOAT_BUMP\x0auniform\x20vec2\x20vClearCoatBumpInfos;\x0auniform\x20vec2\x20vClearCoatTangentSpaceParams;\x0auniform\x20mat4\x20clearCoatBumpMatrix;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TINT\x0auniform\x20vec4\x20vClearCoatTintParams;\x0auniform\x20float\x20clearCoatColorAtDistance;\x0a#ifdef\x20CLEARCOAT_TINT_TEXTURE\x0auniform\x20vec2\x20vClearCoatTintInfos;\x0auniform\x20mat4\x20clearCoatTintMatrix;\x0a#endif\x0a#endif\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0auniform\x20vec4\x20vIridescenceParams;\x0a#if\x20defined(IRIDESCENCE_TEXTURE)\x20||\x20defined(IRIDESCENCE_THICKNESS_TEXTURE)\x0auniform\x20vec4\x20vIridescenceInfos;\x0a#endif\x0a#ifdef\x20IRIDESCENCE_TEXTURE\x0auniform\x20mat4\x20iridescenceMatrix;\x0a#endif\x0a#ifdef\x20IRIDESCENCE_THICKNESS_TEXTURE\x0auniform\x20mat4\x20iridescenceThicknessMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0auniform\x20vec3\x20vAnisotropy;\x0a#ifdef\x20ANISOTROPIC_TEXTURE\x0auniform\x20vec2\x20vAnisotropyInfos;\x0auniform\x20mat4\x20anisotropyMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20SHEEN\x0auniform\x20vec4\x20vSheenColor;\x0a#ifdef\x20SHEEN_ROUGHNESS\x0auniform\x20float\x20vSheenRoughness;\x0a#endif\x0a#if\x20defined(SHEEN_TEXTURE)\x20||\x20defined(SHEEN_TEXTURE_ROUGHNESS)\x0auniform\x20vec4\x20vSheenInfos;\x0a#endif\x0a#ifdef\x20SHEEN_TEXTURE\x0auniform\x20mat4\x20sheenMatrix;\x0a#endif\x0a#ifdef\x20SHEEN_TEXTURE_ROUGHNESS\x0auniform\x20mat4\x20sheenRoughnessMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20SUBSURFACE\x0a#ifdef\x20SS_REFRACTION\x0auniform\x20vec4\x20vRefractionMicrosurfaceInfos;\x0auniform\x20vec4\x20vRefractionInfos;\x0auniform\x20mat4\x20refractionMatrix;\x0a#ifdef\x20REALTIME_FILTERING\x0auniform\x20vec2\x20vRefractionFilteringInfo;\x0a#endif\x0a#endif\x0a#ifdef\x20SS_THICKNESSANDMASK_TEXTURE\x0auniform\x20vec2\x20vThicknessInfos;\x0auniform\x20mat4\x20thicknessMatrix;\x0a#endif\x0a#ifdef\x20SS_REFRACTIONINTENSITY_TEXTURE\x0auniform\x20vec2\x20vRefractionIntensityInfos;\x0auniform\x20mat4\x20refractionIntensityMatrix;\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCYINTENSITY_TEXTURE\x0auniform\x20vec2\x20vTranslucencyIntensityInfos;\x0auniform\x20mat4\x20translucencyIntensityMatrix;\x0a#endif\x0auniform\x20vec2\x20vThicknessParam;\x0auniform\x20vec3\x20vDiffusionDistance;\x0auniform\x20vec4\x20vTintColor;\x0auniform\x20vec3\x20vSubSurfaceIntensity;\x0a#endif\x0a#ifdef\x20PREPASS\x0a#ifdef\x20SS_SCATTERING\x0auniform\x20float\x20scatteringDiffusionProfile;\x0a#endif\x0a#endif\x0a#if\x20DEBUGMODE>0\x0auniform\x20vec2\x20vDebugMode;\x0a#endif\x0a#ifdef\x20DETAIL\x0auniform\x20vec4\x20vDetailInfos;\x0a#endif\x0a#include<decalFragmentDeclaration>\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#ifdef\x20SPHERICAL_HARMONICS\x0auniform\x20vec3\x20vSphericalL00;\x0auniform\x20vec3\x20vSphericalL1_1;\x0auniform\x20vec3\x20vSphericalL10;\x0auniform\x20vec3\x20vSphericalL11;\x0auniform\x20vec3\x20vSphericalL2_2;\x0auniform\x20vec3\x20vSphericalL2_1;\x0auniform\x20vec3\x20vSphericalL20;\x0auniform\x20vec3\x20vSphericalL21;\x0auniform\x20vec3\x20vSphericalL22;\x0a#else\x0auniform\x20vec3\x20vSphericalX;\x0auniform\x20vec3\x20vSphericalY;\x0auniform\x20vec3\x20vSphericalZ;\x0auniform\x20vec3\x20vSphericalXX_ZZ;\x0auniform\x20vec3\x20vSphericalYY_ZZ;\x0auniform\x20vec3\x20vSphericalZZ;\x0auniform\x20vec3\x20vSphericalXY;\x0auniform\x20vec3\x20vSphericalYZ;\x0auniform\x20vec3\x20vSphericalZX;\x0a#endif\x0a#endif\x0a#define\x20ADDITIONAL_FRAGMENT_DECLARATION\x0a',_0x3fa0bb(0x1398d),_0x3fa0bb(0x13ff7),_0x573d48['v'][_0x38f9e7(0x96f)]['pbrFragmentExtraDeclaration']=_0x38f9e7(0x1d9),_0x3fa0bb(0x15cb9),_0x3fa0bb(0xf0d3),_0x3fa0bb(0x19fd),_0x573d48['v']['IncludesShadersStore'][_0x38f9e7(0xb20)]=_0x38f9e7(0x5c8),_0x573d48['v'][_0x38f9e7(0x96f)][_0x38f9e7(0xcc0)]='#include<samplerFragmentDeclaration>(_DEFINENAME_,ALBEDO,_VARYINGNAME_,Albedo,_SAMPLERNAME_,albedo)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient,_SAMPLERNAME_,ambient)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity,_SAMPLERNAME_,opacity)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive,_SAMPLERNAME_,emissive)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap,_SAMPLERNAME_,lightmap)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,REFLECTIVITY,_VARYINGNAME_,Reflectivity,_SAMPLERNAME_,reflectivity)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,MICROSURFACEMAP,_VARYINGNAME_,MicroSurfaceSampler,_SAMPLERNAME_,microSurface)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,METALLIC_REFLECTANCE,_VARYINGNAME_,MetallicReflectance,_SAMPLERNAME_,metallicReflectance)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,REFLECTANCE,_VARYINGNAME_,Reflectance,_SAMPLERNAME_,reflectance)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal,_SAMPLERNAME_,decal)\x0a#ifdef\x20CLEARCOAT\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,CLEARCOAT_TEXTURE,_VARYINGNAME_,ClearCoat,_SAMPLERNAME_,clearCoat)\x0a#include<samplerFragmentAlternateDeclaration>(_DEFINENAME_,CLEARCOAT_TEXTURE_ROUGHNESS,_VARYINGNAME_,ClearCoatRoughness)\x0a#if\x20defined(CLEARCOAT_TEXTURE_ROUGHNESS)\x20&&\x20!defined(CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL)\x0auniform\x20sampler2D\x20clearCoatRoughnessSampler;\x0a#endif\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,CLEARCOAT_BUMP,_VARYINGNAME_,ClearCoatBump,_SAMPLERNAME_,clearCoatBump)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,CLEARCOAT_TINT_TEXTURE,_VARYINGNAME_,ClearCoatTint,_SAMPLERNAME_,clearCoatTint)\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,IRIDESCENCE_TEXTURE,_VARYINGNAME_,Iridescence,_SAMPLERNAME_,iridescence)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,IRIDESCENCE_THICKNESS_TEXTURE,_VARYINGNAME_,IridescenceThickness,_SAMPLERNAME_,iridescenceThickness)\x0a#endif\x0a#ifdef\x20SHEEN\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,SHEEN_TEXTURE,_VARYINGNAME_,Sheen,_SAMPLERNAME_,sheen)\x0a#include<samplerFragmentAlternateDeclaration>(_DEFINENAME_,SHEEN_TEXTURE_ROUGHNESS,_VARYINGNAME_,SheenRoughness)\x0a#if\x20defined(SHEEN_ROUGHNESS)\x20&&\x20defined(SHEEN_TEXTURE_ROUGHNESS)\x20&&\x20!defined(SHEEN_TEXTURE_ROUGHNESS_IDENTICAL)\x0auniform\x20sampler2D\x20sheenRoughnessSampler;\x0a#endif\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,ANISOTROPIC_TEXTURE,_VARYINGNAME_,Anisotropy,_SAMPLERNAME_,anisotropy)\x0a#endif\x0a#ifdef\x20REFLECTION\x0a#ifdef\x20REFLECTIONMAP_3D\x0a#define\x20sampleReflection(s,c)\x20textureCube(s,c)\x0auniform\x20samplerCube\x20reflectionSampler;\x0a#ifdef\x20LODBASEDMICROSFURACE\x0a#define\x20sampleReflectionLod(s,c,l)\x20textureCubeLodEXT(s,c,l)\x0a#else\x0auniform\x20samplerCube\x20reflectionSamplerLow;\x0auniform\x20samplerCube\x20reflectionSamplerHigh;\x0a#endif\x0a#ifdef\x20USEIRRADIANCEMAP\x0auniform\x20samplerCube\x20irradianceSampler;\x0a#endif\x0a#else\x0a#define\x20sampleReflection(s,c)\x20texture2D(s,c)\x0auniform\x20sampler2D\x20reflectionSampler;\x0a#ifdef\x20LODBASEDMICROSFURACE\x0a#define\x20sampleReflectionLod(s,c,l)\x20texture2DLodEXT(s,c,l)\x0a#else\x0auniform\x20sampler2D\x20reflectionSamplerLow;\x0auniform\x20sampler2D\x20reflectionSamplerHigh;\x0a#endif\x0a#ifdef\x20USEIRRADIANCEMAP\x0auniform\x20sampler2D\x20irradianceSampler;\x0a#endif\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avarying\x20vec3\x20vPositionUVW;\x0a#else\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avarying\x20vec3\x20vDirectionW;\x0a#endif\x0a#endif\x0a#endif\x0a#ifdef\x20ENVIRONMENTBRDF\x0auniform\x20sampler2D\x20environmentBrdfSampler;\x0a#endif\x0a#ifdef\x20SUBSURFACE\x0a#ifdef\x20SS_REFRACTION\x0a#ifdef\x20SS_REFRACTIONMAP_3D\x0a#define\x20sampleRefraction(s,c)\x20textureCube(s,c)\x0auniform\x20samplerCube\x20refractionSampler;\x0a#ifdef\x20LODBASEDMICROSFURACE\x0a#define\x20sampleRefractionLod(s,c,l)\x20textureCubeLodEXT(s,c,l)\x0a#else\x0auniform\x20samplerCube\x20refractionSamplerLow;\x0auniform\x20samplerCube\x20refractionSamplerHigh;\x0a#endif\x0a#else\x0a#define\x20sampleRefraction(s,c)\x20texture2D(s,c)\x0auniform\x20sampler2D\x20refractionSampler;\x0a#ifdef\x20LODBASEDMICROSFURACE\x0a#define\x20sampleRefractionLod(s,c,l)\x20texture2DLodEXT(s,c,l)\x0a#else\x0auniform\x20sampler2D\x20refractionSamplerLow;\x0auniform\x20sampler2D\x20refractionSamplerHigh;\x0a#endif\x0a#endif\x0a#endif\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,SS_THICKNESSANDMASK_TEXTURE,_VARYINGNAME_,Thickness,_SAMPLERNAME_,thickness)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,SS_REFRACTIONINTENSITY_TEXTURE,_VARYINGNAME_,RefractionIntensity,_SAMPLERNAME_,refractionIntensity)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,SS_TRANSLUCENCYINTENSITY_TEXTURE,_VARYINGNAME_,TranslucencyIntensity,_SAMPLERNAME_,translucencyIntensity)\x0a#endif\x0a',_0x3fa0bb(0x12f21),_0x3fa0bb(0x13fa8),_0x3fa0bb(0x14b01),_0x3fa0bb(0x17b64),_0x3fa0bb(0x8cd3),_0x3fa0bb(0x766e),_0x3fa0bb(0x2d2b),_0x573d48['v'][_0x38f9e7(0x96f)][_0x38f9e7(0x4df)]=_0x38f9e7(0xcdf),_0x3fa0bb(0x171c4),_0x3fa0bb(0x1817f),_0x3fa0bb(0x11b66),_0x573d48['v'][_0x38f9e7(0x96f)][_0x38f9e7(0x27e)]='struct\x20preLightingInfo\x0a{\x0avec3\x20lightOffset;\x0afloat\x20lightDistanceSquared;\x0afloat\x20lightDistance;\x0afloat\x20attenuation;\x0avec3\x20L;\x0avec3\x20H;\x0afloat\x20NdotV;\x0afloat\x20NdotLUnclamped;\x0afloat\x20NdotL;\x0afloat\x20VdotH;\x0afloat\x20roughness;\x0a#ifdef\x20IRIDESCENCE\x0afloat\x20iridescenceIntensity;\x0a#endif\x0a};\x0apreLightingInfo\x20computePointAndSpotPreLightingInfo(vec4\x20lightData,vec3\x20V,vec3\x20N)\x20{\x0apreLightingInfo\x20result;\x0aresult.lightOffset=lightData.xyz-vPositionW;\x0aresult.lightDistanceSquared=dot(result.lightOffset,result.lightOffset);\x0aresult.lightDistance=sqrt(result.lightDistanceSquared);\x0aresult.L=normalize(result.lightOffset);\x0aresult.H=normalize(V+result.L);\x0aresult.VdotH=saturate(dot(V,result.H));\x0aresult.NdotLUnclamped=dot(N,result.L);\x0aresult.NdotL=saturateEps(result.NdotLUnclamped);\x0areturn\x20result;\x0a}\x0apreLightingInfo\x20computeDirectionalPreLightingInfo(vec4\x20lightData,vec3\x20V,vec3\x20N)\x20{\x0apreLightingInfo\x20result;\x0aresult.lightDistance=length(-lightData.xyz);\x0aresult.L=normalize(-lightData.xyz);\x0aresult.H=normalize(V+result.L);\x0aresult.VdotH=saturate(dot(V,result.H));\x0aresult.NdotLUnclamped=dot(N,result.L);\x0aresult.NdotL=saturateEps(result.NdotLUnclamped);\x0areturn\x20result;\x0a}\x0apreLightingInfo\x20computeHemisphericPreLightingInfo(vec4\x20lightData,vec3\x20V,vec3\x20N)\x20{\x0apreLightingInfo\x20result;\x0aresult.NdotL=dot(N,lightData.xyz)*0.5+0.5;\x0aresult.NdotL=saturateEps(result.NdotL);\x0aresult.NdotLUnclamped=result.NdotL;\x0a#ifdef\x20SPECULARTERM\x0aresult.L=normalize(lightData.xyz);\x0aresult.H=normalize(V+result.L);\x0aresult.VdotH=saturate(dot(V,result.H));\x0a#endif\x0areturn\x20result;\x0a}',_0x573d48['v']['IncludesShadersStore']['pbrDirectLightingFalloffFunctions']=_0x38f9e7(0xac6),_0x3fa0bb(0xe90b),_0x3fa0bb(0x1761a),_0x573d48['v'][_0x38f9e7(0x96f)][_0x38f9e7(0xc0b)]='#define\x20CLEARCOATREFLECTANCE90\x201.0\x0astruct\x20lightingInfo\x0a{\x0avec3\x20diffuse;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specular;\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0avec4\x20clearCoat;\x0a#endif\x0a#ifdef\x20SHEEN\x0avec3\x20sheen;\x0a#endif\x0a};\x0afloat\x20adjustRoughnessFromLightProperties(float\x20roughness,float\x20lightRadius,float\x20lightDistance)\x20{\x0a#if\x20defined(USEPHYSICALLIGHTFALLOFF)\x20||\x20defined(USEGLTFLIGHTFALLOFF)\x0afloat\x20lightRoughness=lightRadius/lightDistance;\x0afloat\x20totalRoughness=saturate(lightRoughness+roughness);\x0areturn\x20totalRoughness;\x0a#else\x0areturn\x20roughness;\x0a#endif\x0a}\x0avec3\x20computeHemisphericDiffuseLighting(preLightingInfo\x20info,vec3\x20lightColor,vec3\x20groundColor)\x20{\x0areturn\x20mix(groundColor,lightColor,info.NdotL);\x0a}\x0avec3\x20computeDiffuseLighting(preLightingInfo\x20info,vec3\x20lightColor)\x20{\x0afloat\x20diffuseTerm=diffuseBRDF_Burley(info.NdotL,info.NdotV,info.VdotH,info.roughness);\x0areturn\x20diffuseTerm*info.attenuation*info.NdotL*lightColor;\x0a}\x0a#define\x20inline\x0avec3\x20computeProjectionTextureDiffuseLighting(sampler2D\x20projectionLightSampler,mat4\x20textureProjectionMatrix){\x0avec4\x20strq=textureProjectionMatrix*vec4(vPositionW,1.0);\x0astrq/=strq.w;\x0avec3\x20textureColor=texture2D(projectionLightSampler,strq.xy).rgb;\x0areturn\x20toLinearSpace(textureColor);\x0a}\x0a#ifdef\x20SS_TRANSLUCENCY\x0avec3\x20computeDiffuseAndTransmittedLighting(preLightingInfo\x20info,vec3\x20lightColor,vec3\x20transmittance)\x20{\x0afloat\x20NdotL=absEps(info.NdotLUnclamped);\x0afloat\x20wrapNdotL=computeWrappedDiffuseNdotL(NdotL,0.02);\x0afloat\x20trAdapt=step(0.,info.NdotLUnclamped);\x0avec3\x20transmittanceNdotL=mix(transmittance*wrapNdotL,vec3(wrapNdotL),trAdapt);\x0afloat\x20diffuseTerm=diffuseBRDF_Burley(NdotL,info.NdotV,info.VdotH,info.roughness);\x0areturn\x20diffuseTerm*transmittanceNdotL*info.attenuation*lightColor;\x0a}\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20computeSpecularLighting(preLightingInfo\x20info,vec3\x20N,vec3\x20reflectance0,vec3\x20reflectance90,float\x20geometricRoughnessFactor,vec3\x20lightColor)\x20{\x0afloat\x20NdotH=saturateEps(dot(N,info.H));\x0afloat\x20roughness=max(info.roughness,geometricRoughnessFactor);\x0afloat\x20alphaG=convertRoughnessToAverageSlope(roughness);\x0avec3\x20fresnel=fresnelSchlickGGX(info.VdotH,reflectance0,reflectance90);\x0a#ifdef\x20IRIDESCENCE\x0afresnel=mix(fresnel,reflectance0,info.iridescenceIntensity);\x0a#endif\x0afloat\x20distribution=normalDistributionFunction_TrowbridgeReitzGGX(NdotH,alphaG);\x0a#ifdef\x20BRDF_V_HEIGHT_CORRELATED\x0afloat\x20smithVisibility=smithVisibility_GGXCorrelated(info.NdotL,info.NdotV,alphaG);\x0a#else\x0afloat\x20smithVisibility=smithVisibility_TrowbridgeReitzGGXFast(info.NdotL,info.NdotV,alphaG);\x0a#endif\x0avec3\x20specTerm=fresnel*distribution*smithVisibility;\x0areturn\x20specTerm*info.attenuation*info.NdotL*lightColor;\x0a}\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0avec3\x20computeAnisotropicSpecularLighting(preLightingInfo\x20info,vec3\x20V,vec3\x20N,vec3\x20T,vec3\x20B,float\x20anisotropy,vec3\x20reflectance0,vec3\x20reflectance90,float\x20geometricRoughnessFactor,vec3\x20lightColor)\x20{\x0afloat\x20NdotH=saturateEps(dot(N,info.H));\x0afloat\x20TdotH=dot(T,info.H);\x0afloat\x20BdotH=dot(B,info.H);\x0afloat\x20TdotV=dot(T,V);\x0afloat\x20BdotV=dot(B,V);\x0afloat\x20TdotL=dot(T,info.L);\x0afloat\x20BdotL=dot(B,info.L);\x0afloat\x20alphaG=convertRoughnessToAverageSlope(info.roughness);\x0avec2\x20alphaTB=getAnisotropicRoughness(alphaG,anisotropy);\x0aalphaTB=max(alphaTB,square(geometricRoughnessFactor));\x0avec3\x20fresnel=fresnelSchlickGGX(info.VdotH,reflectance0,reflectance90);\x0a#ifdef\x20IRIDESCENCE\x0afresnel=mix(fresnel,reflectance0,info.iridescenceIntensity);\x0a#endif\x0afloat\x20distribution=normalDistributionFunction_BurleyGGX_Anisotropic(NdotH,TdotH,BdotH,alphaTB);\x0afloat\x20smithVisibility=smithVisibility_GGXCorrelated_Anisotropic(info.NdotL,info.NdotV,TdotV,BdotV,TdotL,BdotL,alphaTB);\x0avec3\x20specTerm=fresnel*distribution*smithVisibility;\x0areturn\x20specTerm*info.attenuation*info.NdotL*lightColor;\x0a}\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0avec4\x20computeClearCoatLighting(preLightingInfo\x20info,vec3\x20Ncc,float\x20geometricRoughnessFactor,float\x20clearCoatIntensity,vec3\x20lightColor)\x20{\x0afloat\x20NccdotL=saturateEps(dot(Ncc,info.L));\x0afloat\x20NccdotH=saturateEps(dot(Ncc,info.H));\x0afloat\x20clearCoatRoughness=max(info.roughness,geometricRoughnessFactor);\x0afloat\x20alphaG=convertRoughnessToAverageSlope(clearCoatRoughness);\x0afloat\x20fresnel=fresnelSchlickGGX(info.VdotH,vClearCoatRefractionParams.x,CLEARCOATREFLECTANCE90);\x0afresnel*=clearCoatIntensity;\x0afloat\x20distribution=normalDistributionFunction_TrowbridgeReitzGGX(NccdotH,alphaG);\x0afloat\x20kelemenVisibility=visibility_Kelemen(info.VdotH);\x0afloat\x20clearCoatTerm=fresnel*distribution*kelemenVisibility;\x0areturn\x20vec4(\x0aclearCoatTerm*info.attenuation*NccdotL*lightColor,\x0a1.0-fresnel\x0a);\x0a}\x0avec3\x20computeClearCoatLightingAbsorption(float\x20NdotVRefract,vec3\x20L,vec3\x20Ncc,vec3\x20clearCoatColor,float\x20clearCoatThickness,float\x20clearCoatIntensity)\x20{\x0avec3\x20LRefract=-refract(L,Ncc,vClearCoatRefractionParams.y);\x0afloat\x20NdotLRefract=saturateEps(dot(Ncc,LRefract));\x0avec3\x20absorption=computeClearCoatAbsorption(NdotVRefract,NdotLRefract,clearCoatColor,clearCoatThickness,clearCoatIntensity);\x0areturn\x20absorption;\x0a}\x0a#endif\x0a#ifdef\x20SHEEN\x0avec3\x20computeSheenLighting(preLightingInfo\x20info,vec3\x20N,vec3\x20reflectance0,vec3\x20reflectance90,float\x20geometricRoughnessFactor,vec3\x20lightColor)\x20{\x0afloat\x20NdotH=saturateEps(dot(N,info.H));\x0afloat\x20roughness=max(info.roughness,geometricRoughnessFactor);\x0afloat\x20alphaG=convertRoughnessToAverageSlope(roughness);\x0afloat\x20fresnel=1.;\x0afloat\x20distribution=normalDistributionFunction_CharlieSheen(NdotH,alphaG);\x0a/*#ifdef\x20SHEEN_SOFTER\x0afloat\x20visibility=visibility_CharlieSheen(info.NdotL,info.NdotV,alphaG);\x0a#else\x20*/\x0afloat\x20visibility=visibility_Ashikhmin(info.NdotL,info.NdotV);\x0a/*\x20#endif\x20*/\x0afloat\x20sheenTerm=fresnel*distribution*visibility;\x0areturn\x20sheenTerm*info.attenuation*info.NdotL*lightColor;\x0a}\x0a#endif\x0a',_0x573d48['v']['IncludesShadersStore'][_0x38f9e7(0x170)]='#if\x20defined(REFLECTION)\x20||\x20defined(SS_REFRACTION)\x0afloat\x20getLodFromAlphaG(float\x20cubeMapDimensionPixels,float\x20microsurfaceAverageSlope)\x20{\x0afloat\x20microsurfaceAverageSlopeTexels=cubeMapDimensionPixels*microsurfaceAverageSlope;\x0afloat\x20lod=log2(microsurfaceAverageSlopeTexels);\x0areturn\x20lod;\x0a}\x0afloat\x20getLinearLodFromRoughness(float\x20cubeMapDimensionPixels,float\x20roughness)\x20{\x0afloat\x20lod=log2(cubeMapDimensionPixels)*roughness;\x0areturn\x20lod;\x0a}\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(RADIANCEOCCLUSION)\x0afloat\x20environmentRadianceOcclusion(float\x20ambientOcclusion,float\x20NdotVUnclamped)\x20{\x0afloat\x20temp=NdotVUnclamped+ambientOcclusion;\x0areturn\x20saturate(square(temp)-1.0+ambientOcclusion);\x0a}\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(HORIZONOCCLUSION)\x0afloat\x20environmentHorizonOcclusion(vec3\x20view,vec3\x20normal,vec3\x20geometricNormal)\x20{\x0avec3\x20reflection=reflect(view,normal);\x0afloat\x20temp=saturate(1.0+1.1*dot(reflection,geometricNormal));\x0areturn\x20square(temp);\x0a}\x0a#endif\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20||\x20defined(SS_LODINREFRACTIONALPHA)\x0a#define\x20UNPACK_LOD(x)\x20(1.0-x)*255.0\x0afloat\x20getLodFromAlphaG(float\x20cubeMapDimensionPixels,float\x20alphaG,float\x20NdotV)\x20{\x0afloat\x20microsurfaceAverageSlope=alphaG;\x0amicrosurfaceAverageSlope*=sqrt(abs(NdotV));\x0areturn\x20getLodFromAlphaG(cubeMapDimensionPixels,microsurfaceAverageSlope);\x0a}\x0a#endif\x0a',_0x3fa0bb(0xc907),_0x3fa0bb(0x5a2d),_0x3fa0bb(0x13827),_0x3fa0bb(0xec4f),_0x573d48['v'][_0x38f9e7(0x96f)][_0x38f9e7(0x99f)]='struct\x20albedoOpacityOutParams\x0a{\x0avec3\x20surfaceAlbedo;\x0afloat\x20alpha;\x0a};\x0a#define\x20pbr_inline\x0avoid\x20albedoOpacityBlock(\x0ain\x20vec4\x20vAlbedoColor,\x0a#ifdef\x20ALBEDO\x0ain\x20vec4\x20albedoTexture,\x0ain\x20vec2\x20albedoInfos,\x0a#endif\x0a#ifdef\x20OPACITY\x0ain\x20vec4\x20opacityMap,\x0ain\x20vec2\x20vOpacityInfos,\x0a#endif\x0a#ifdef\x20DETAIL\x0ain\x20vec4\x20detailColor,\x0ain\x20vec4\x20vDetailInfos,\x0a#endif\x0a#ifdef\x20DECAL\x0ain\x20vec4\x20decalColor,\x0ain\x20vec4\x20vDecalInfos,\x0a#endif\x0aout\x20albedoOpacityOutParams\x20outParams\x0a)\x0a{\x0avec3\x20surfaceAlbedo=vAlbedoColor.rgb;\x0afloat\x20alpha=vAlbedoColor.a;\x0a#ifdef\x20ALBEDO\x0a#if\x20defined(ALPHAFROMALBEDO)\x20||\x20defined(ALPHATEST)\x0aalpha*=albedoTexture.a;\x0a#endif\x0a#ifdef\x20GAMMAALBEDO\x0asurfaceAlbedo*=toLinearSpace(albedoTexture.rgb);\x0a#else\x0asurfaceAlbedo*=albedoTexture.rgb;\x0a#endif\x0asurfaceAlbedo*=albedoInfos.y;\x0a#endif\x0a#include<decalFragment>\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0asurfaceAlbedo*=vColor.rgb;\x0a#endif\x0a#ifdef\x20DETAIL\x0afloat\x20detailAlbedo=2.0*mix(0.5,detailColor.r,vDetailInfos.y);\x0asurfaceAlbedo.rgb=surfaceAlbedo.rgb*detailAlbedo*detailAlbedo;\x20\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_UPDATE_ALBEDO\x0a#ifdef\x20OPACITY\x0a#ifdef\x20OPACITYRGB\x0aalpha=getLuminance(opacityMap.rgb);\x0a#else\x0aalpha*=opacityMap.a;\x0a#endif\x0aalpha*=vOpacityInfos.y;\x0a#endif\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#if\x20!defined(SS_LINKREFRACTIONTOTRANSPARENCY)\x20&&\x20!defined(ALPHAFRESNEL)\x0a#ifdef\x20ALPHATEST\x0aif\x20(alpha<ALPHATESTVALUE)\x0adiscard;\x0a#ifndef\x20ALPHABLEND\x0aalpha=1.0;\x0a#endif\x0a#endif\x0a#endif\x0aoutParams.surfaceAlbedo=surfaceAlbedo;\x0aoutParams.alpha=alpha;\x0a}\x0a',_0x573d48['v'][_0x38f9e7(0x96f)][_0x38f9e7(0xab2)]=_0x38f9e7(0x938),_0x573d48['v'][_0x38f9e7(0x96f)][_0x38f9e7(0x191)]='struct\x20ambientOcclusionOutParams\x0a{\x0avec3\x20ambientOcclusionColor;\x0a#if\x20DEBUGMODE>0\x0avec3\x20ambientOcclusionColorMap;\x0a#endif\x0a};\x0a#define\x20pbr_inline\x0avoid\x20ambientOcclusionBlock(\x0a#ifdef\x20AMBIENT\x0ain\x20vec3\x20ambientOcclusionColorMap_,\x0ain\x20vec4\x20vAmbientInfos,\x0a#endif\x0aout\x20ambientOcclusionOutParams\x20outParams\x0a)\x0a{\x0avec3\x20ambientOcclusionColor=vec3(1.,1.,1.);\x0a#ifdef\x20AMBIENT\x0avec3\x20ambientOcclusionColorMap=ambientOcclusionColorMap_*vAmbientInfos.y;\x0a#ifdef\x20AMBIENTINGRAYSCALE\x0aambientOcclusionColorMap=vec3(ambientOcclusionColorMap.r,ambientOcclusionColorMap.r,ambientOcclusionColorMap.r);\x0a#endif\x0aambientOcclusionColor=mix(ambientOcclusionColor,ambientOcclusionColorMap,vAmbientInfos.z);\x0a#if\x20DEBUGMODE>0\x0aoutParams.ambientOcclusionColorMap=ambientOcclusionColorMap;\x0a#endif\x0a#endif\x0aoutParams.ambientOcclusionColor=ambientOcclusionColor;\x0a}\x0a',_0x573d48['v'][_0x38f9e7(0x96f)][_0x38f9e7(0x4b5)]=_0x38f9e7(0x494),_0x573d48['v']['IncludesShadersStore'][_0x38f9e7(0x780)]='#ifdef\x20ANISOTROPIC\x0astruct\x20anisotropicOutParams\x0a{\x0afloat\x20anisotropy;\x0avec3\x20anisotropicTangent;\x0avec3\x20anisotropicBitangent;\x0avec3\x20anisotropicNormal;\x0a#if\x20DEBUGMODE>0\x0avec3\x20anisotropyMapData;\x0a#endif\x0a};\x0a#define\x20pbr_inline\x0avoid\x20anisotropicBlock(\x0ain\x20vec3\x20vAnisotropy,\x0a#ifdef\x20ANISOTROPIC_TEXTURE\x0ain\x20vec3\x20anisotropyMapData,\x0a#endif\x0ain\x20mat3\x20TBN,\x0ain\x20vec3\x20normalW,\x0ain\x20vec3\x20viewDirectionW,\x0aout\x20anisotropicOutParams\x20outParams\x0a)\x0a{\x0afloat\x20anisotropy=vAnisotropy.b;\x0avec3\x20anisotropyDirection=vec3(vAnisotropy.xy,0.);\x0a#ifdef\x20ANISOTROPIC_TEXTURE\x0aanisotropy*=anisotropyMapData.b;\x0aanisotropyDirection.rg*=anisotropyMapData.rg*2.0-1.0;\x0a#if\x20DEBUGMODE>0\x0aoutParams.anisotropyMapData=anisotropyMapData;\x0a#endif\x0a#endif\x0amat3\x20anisoTBN=mat3(normalize(TBN[0]),normalize(TBN[1]),normalize(TBN[2]));\x0avec3\x20anisotropicTangent=normalize(anisoTBN*anisotropyDirection);\x0avec3\x20anisotropicBitangent=normalize(cross(anisoTBN[2],anisotropicTangent));\x0aoutParams.anisotropy=anisotropy;\x0aoutParams.anisotropicTangent=anisotropicTangent;\x0aoutParams.anisotropicBitangent=anisotropicBitangent;\x0aoutParams.anisotropicNormal=getAnisotropicBentNormals(anisotropicTangent,anisotropicBitangent,normalW,viewDirectionW,anisotropy);\x0a}\x0a#endif\x0a',_0x573d48['v'][_0x38f9e7(0x96f)][_0x38f9e7(0x16e)]=_0x38f9e7(0x460),_0x573d48['v'][_0x38f9e7(0x96f)][_0x38f9e7(0xa2f)]=_0x38f9e7(0x590),_0x573d48['v'][_0x38f9e7(0x96f)]['pbrBlockClearcoat']='struct\x20clearcoatOutParams\x0a{\x0avec3\x20specularEnvironmentR0;\x0afloat\x20conservationFactor;\x0avec3\x20clearCoatNormalW;\x0avec2\x20clearCoatAARoughnessFactors;\x0afloat\x20clearCoatIntensity;\x0afloat\x20clearCoatRoughness;\x0a#ifdef\x20REFLECTION\x0avec3\x20finalClearCoatRadianceScaled;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TINT\x0avec3\x20absorption;\x0afloat\x20clearCoatNdotVRefract;\x0avec3\x20clearCoatColor;\x0afloat\x20clearCoatThickness;\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(MS_BRDF_ENERGY_CONSERVATION)\x0avec3\x20energyConservationFactorClearCoat;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0amat3\x20TBNClearCoat;\x0avec2\x20clearCoatMapData;\x0avec4\x20clearCoatTintMapData;\x0avec4\x20environmentClearCoatRadiance;\x0afloat\x20clearCoatNdotV;\x0avec3\x20clearCoatEnvironmentReflectance;\x0a#endif\x0a};\x0a#ifdef\x20CLEARCOAT\x0a#define\x20pbr_inline\x0a#define\x20inline\x0avoid\x20clearcoatBlock(\x0ain\x20vec3\x20vPositionW,\x0ain\x20vec3\x20geometricNormalW,\x0ain\x20vec3\x20viewDirectionW,\x0ain\x20vec2\x20vClearCoatParams,\x0a#if\x20defined(CLEARCOAT_TEXTURE_ROUGHNESS)\x20&&\x20!defined(CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL)\x20&&\x20!defined(CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE)\x0ain\x20vec4\x20clearCoatMapRoughnessData,\x0a#endif\x0ain\x20vec3\x20specularEnvironmentR0,\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0ain\x20vec2\x20clearCoatMapData,\x0a#endif\x0a#ifdef\x20CLEARCOAT_TINT\x0ain\x20vec4\x20vClearCoatTintParams,\x0ain\x20float\x20clearCoatColorAtDistance,\x0ain\x20vec4\x20vClearCoatRefractionParams,\x0a#ifdef\x20CLEARCOAT_TINT_TEXTURE\x0ain\x20vec4\x20clearCoatTintMapData,\x0a#endif\x0a#endif\x0a#ifdef\x20CLEARCOAT_BUMP\x0ain\x20vec2\x20vClearCoatBumpInfos,\x0ain\x20vec4\x20clearCoatBumpMapData,\x0ain\x20vec2\x20vClearCoatBumpUV,\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x0ain\x20mat3\x20vTBN,\x0a#else\x0ain\x20vec2\x20vClearCoatTangentSpaceParams,\x0a#endif\x0a#ifdef\x20OBJECTSPACE_NORMALMAP\x0ain\x20mat4\x20normalMatrix,\x0a#endif\x0a#endif\x0a#if\x20defined(FORCENORMALFORWARD)\x20&&\x20defined(NORMAL)\x0ain\x20vec3\x20faceNormal,\x0a#endif\x0a#ifdef\x20REFLECTION\x0ain\x20vec3\x20vReflectionMicrosurfaceInfos,\x0ain\x20vec2\x20vReflectionInfos,\x0ain\x20vec3\x20vReflectionColor,\x0ain\x20vec4\x20vLightingIntensity,\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSampler,\x0a#else\x0ain\x20sampler2D\x20reflectionSampler,\x0a#endif\x0a#ifndef\x20LODBASEDMICROSFURACE\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSamplerLow,\x0ain\x20samplerCube\x20reflectionSamplerHigh,\x0a#else\x0ain\x20sampler2D\x20reflectionSamplerLow,\x0ain\x20sampler2D\x20reflectionSamplerHigh,\x0a#endif\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0ain\x20vec2\x20vReflectionFilteringInfo,\x0a#endif\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0a#ifdef\x20RADIANCEOCCLUSION\x0ain\x20float\x20ambientMonochrome,\x0a#endif\x0a#endif\x0a#if\x20defined(CLEARCOAT_BUMP)\x20||\x20defined(TWOSIDEDLIGHTING)\x0ain\x20float\x20frontFacingMultiplier,\x0a#endif\x0aout\x20clearcoatOutParams\x20outParams\x0a)\x0a{\x0afloat\x20clearCoatIntensity=vClearCoatParams.x;\x0afloat\x20clearCoatRoughness=vClearCoatParams.y;\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0aclearCoatIntensity*=clearCoatMapData.x;\x0a#ifdef\x20CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE\x0aclearCoatRoughness*=clearCoatMapData.y;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0aoutParams.clearCoatMapData=clearCoatMapData;\x0a#endif\x0a#endif\x0a#if\x20defined(CLEARCOAT_TEXTURE_ROUGHNESS)\x20&&\x20!defined(CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE)\x0a#ifdef\x20CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL\x0aclearCoatRoughness*=clearCoatMapData.y;\x0a#else\x0aclearCoatRoughness*=clearCoatMapRoughnessData.y;\x0a#endif\x0a#endif\x0aoutParams.clearCoatIntensity=clearCoatIntensity;\x0aoutParams.clearCoatRoughness=clearCoatRoughness;\x0a#ifdef\x20CLEARCOAT_TINT\x0avec3\x20clearCoatColor=vClearCoatTintParams.rgb;\x0afloat\x20clearCoatThickness=vClearCoatTintParams.a;\x0a#ifdef\x20CLEARCOAT_TINT_TEXTURE\x0a#ifdef\x20CLEARCOAT_TINT_GAMMATEXTURE\x0aclearCoatColor*=toLinearSpace(clearCoatTintMapData.rgb);\x0a#else\x0aclearCoatColor*=clearCoatTintMapData.rgb;\x0a#endif\x0aclearCoatThickness*=clearCoatTintMapData.a;\x0a#if\x20DEBUGMODE>0\x0aoutParams.clearCoatTintMapData=clearCoatTintMapData;\x0a#endif\x0a#endif\x0aoutParams.clearCoatColor=computeColorAtDistanceInMedia(clearCoatColor,clearCoatColorAtDistance);\x0aoutParams.clearCoatThickness=clearCoatThickness;\x0a#endif\x0a#ifdef\x20CLEARCOAT_REMAP_F0\x0avec3\x20specularEnvironmentR0Updated=getR0RemappedForClearCoat(specularEnvironmentR0);\x0a#else\x0avec3\x20specularEnvironmentR0Updated=specularEnvironmentR0;\x0a#endif\x0aoutParams.specularEnvironmentR0=mix(specularEnvironmentR0,specularEnvironmentR0Updated,clearCoatIntensity);\x0avec3\x20clearCoatNormalW=geometricNormalW;\x0a#ifdef\x20CLEARCOAT_BUMP\x0a#ifdef\x20NORMALXYSCALE\x0afloat\x20clearCoatNormalScale=1.0;\x0a#else\x0afloat\x20clearCoatNormalScale=vClearCoatBumpInfos.y;\x0a#endif\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x0amat3\x20TBNClearCoat=vTBN;\x0a#else\x0avec2\x20TBNClearCoatUV=vClearCoatBumpUV*frontFacingMultiplier;\x0amat3\x20TBNClearCoat=cotangent_frame(clearCoatNormalW*clearCoatNormalScale,vPositionW,TBNClearCoatUV,vClearCoatTangentSpaceParams);\x0a#endif\x0a#if\x20DEBUGMODE>0\x0aoutParams.TBNClearCoat=TBNClearCoat;\x0a#endif\x0a#ifdef\x20OBJECTSPACE_NORMALMAP\x0aclearCoatNormalW=normalize(clearCoatBumpMapData.xyz\x20*2.0-1.0);\x0aclearCoatNormalW=normalize(mat3(normalMatrix)*clearCoatNormalW);\x0a#else\x0aclearCoatNormalW=perturbNormal(TBNClearCoat,clearCoatBumpMapData.xyz,vClearCoatBumpInfos.y);\x0a#endif\x0a#endif\x0a#if\x20defined(FORCENORMALFORWARD)\x20&&\x20defined(NORMAL)\x0aclearCoatNormalW*=sign(dot(clearCoatNormalW,faceNormal));\x0a#endif\x0a#if\x20defined(TWOSIDEDLIGHTING)\x20&&\x20defined(NORMAL)\x0aclearCoatNormalW=clearCoatNormalW*frontFacingMultiplier;\x0a#endif\x0aoutParams.clearCoatNormalW=clearCoatNormalW;\x0aoutParams.clearCoatAARoughnessFactors=getAARoughnessFactors(clearCoatNormalW.xyz);\x0afloat\x20clearCoatNdotVUnclamped=dot(clearCoatNormalW,viewDirectionW);\x0afloat\x20clearCoatNdotV=absEps(clearCoatNdotVUnclamped);\x0a#if\x20DEBUGMODE>0\x0aoutParams.clearCoatNdotV=clearCoatNdotV;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TINT\x0avec3\x20clearCoatVRefract=refract(-viewDirectionW,clearCoatNormalW,vClearCoatRefractionParams.y);\x0aoutParams.clearCoatNdotVRefract=absEps(dot(clearCoatNormalW,clearCoatVRefract));\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20(!defined(REFLECTIONMAP_SKYBOX)\x20||\x20defined(MS_BRDF_ENERGY_CONSERVATION))\x0avec3\x20environmentClearCoatBrdf=getBRDFLookup(clearCoatNdotV,clearCoatRoughness);\x0a#endif\x0a#if\x20defined(REFLECTION)\x0afloat\x20clearCoatAlphaG=convertRoughnessToAverageSlope(clearCoatRoughness);\x0a#ifdef\x20SPECULARAA\x0aclearCoatAlphaG+=outParams.clearCoatAARoughnessFactors.y;\x0a#endif\x0avec4\x20environmentClearCoatRadiance=vec4(0.,0.,0.,0.);\x0avec3\x20clearCoatReflectionVector=computeReflectionCoords(vec4(vPositionW,1.0),clearCoatNormalW);\x0a#ifdef\x20REFLECTIONMAP_OPPOSITEZ\x0aclearCoatReflectionVector.z*=-1.0;\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0avec3\x20clearCoatReflectionCoords=clearCoatReflectionVector;\x0a#else\x0avec2\x20clearCoatReflectionCoords=clearCoatReflectionVector.xy;\x0a#ifdef\x20REFLECTIONMAP_PROJECTION\x0aclearCoatReflectionCoords/=clearCoatReflectionVector.z;\x0a#endif\x0aclearCoatReflectionCoords.y=1.0-clearCoatReflectionCoords.y;\x0a#endif\x0asampleReflectionTexture(\x0aclearCoatAlphaG,\x0avReflectionMicrosurfaceInfos,\x0avReflectionInfos,\x0avReflectionColor,\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0aclearCoatNdotVUnclamped,\x0a#endif\x0a#ifdef\x20LINEARSPECULARREFLECTION\x0aclearCoatRoughness,\x0a#endif\x0areflectionSampler,\x0aclearCoatReflectionCoords,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0areflectionSamplerLow,\x0areflectionSamplerHigh,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0avReflectionFilteringInfo,\x0a#endif\x0aenvironmentClearCoatRadiance\x0a);\x0a#if\x20DEBUGMODE>0\x0aoutParams.environmentClearCoatRadiance=environmentClearCoatRadiance;\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0avec3\x20clearCoatEnvironmentReflectance=getReflectanceFromBRDFLookup(vec3(vClearCoatRefractionParams.x),environmentClearCoatBrdf);\x0a#ifdef\x20HORIZONOCCLUSION\x0a#ifdef\x20BUMP\x0a#ifdef\x20REFLECTIONMAP_3D\x0afloat\x20clearCoatEho=environmentHorizonOcclusion(-viewDirectionW,clearCoatNormalW,geometricNormalW);\x0aclearCoatEnvironmentReflectance*=clearCoatEho;\x0a#endif\x0a#endif\x0a#endif\x0a#else\x0avec3\x20clearCoatEnvironmentReflectance=getReflectanceFromAnalyticalBRDFLookup_Jones(clearCoatNdotV,vec3(1.),vec3(1.),sqrt(1.-clearCoatRoughness));\x0a#endif\x0aclearCoatEnvironmentReflectance*=clearCoatIntensity;\x0a#if\x20DEBUGMODE>0\x0aoutParams.clearCoatEnvironmentReflectance=clearCoatEnvironmentReflectance;\x0a#endif\x0aoutParams.finalClearCoatRadianceScaled=\x0aenvironmentClearCoatRadiance.rgb\x20*\x0aclearCoatEnvironmentReflectance\x20*\x0avLightingIntensity.z;\x0a#endif\x0a#if\x20defined(CLEARCOAT_TINT)\x0aoutParams.absorption=computeClearCoatAbsorption(outParams.clearCoatNdotVRefract,outParams.clearCoatNdotVRefract,outParams.clearCoatColor,clearCoatThickness,clearCoatIntensity);\x0a#endif\x0afloat\x20fresnelIBLClearCoat=fresnelSchlickGGX(clearCoatNdotV,vClearCoatRefractionParams.x,CLEARCOATREFLECTANCE90);\x0afresnelIBLClearCoat*=clearCoatIntensity;\x0aoutParams.conservationFactor=(1.-fresnelIBLClearCoat);\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(MS_BRDF_ENERGY_CONSERVATION)\x0aoutParams.energyConservationFactorClearCoat=getEnergyConservationFactor(outParams.specularEnvironmentR0,environmentClearCoatBrdf);\x0a#endif\x0a}\x0a#endif\x0a',_0x573d48['v'][_0x38f9e7(0x96f)][_0x38f9e7(0xa4b)]='struct\x20iridescenceOutParams\x0a{\x0afloat\x20iridescenceIntensity;\x0afloat\x20iridescenceIOR;\x0afloat\x20iridescenceThickness;\x0avec3\x20specularEnvironmentR0;\x0a};\x0a#ifdef\x20IRIDESCENCE\x0a#define\x20pbr_inline\x0a#define\x20inline\x0avoid\x20iridescenceBlock(\x0ain\x20vec4\x20vIridescenceParams,\x0ain\x20float\x20viewAngle,\x0ain\x20vec3\x20specularEnvironmentR0,\x0a#ifdef\x20IRIDESCENCE_TEXTURE\x0ain\x20vec2\x20iridescenceMapData,\x0a#endif\x0a#ifdef\x20IRIDESCENCE_THICKNESS_TEXTURE\x0ain\x20vec2\x20iridescenceThicknessMapData,\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0ain\x20float\x20NdotVUnclamped,\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0ain\x20vec2\x20clearCoatMapData,\x0a#endif\x0a#endif\x0aout\x20iridescenceOutParams\x20outParams\x0a)\x0a{\x0afloat\x20iridescenceIntensity=vIridescenceParams.x;\x0afloat\x20iridescenceIOR=vIridescenceParams.y;\x0afloat\x20iridescenceThicknessMin=vIridescenceParams.z;\x0afloat\x20iridescenceThicknessMax=vIridescenceParams.w;\x0afloat\x20iridescenceThicknessWeight=1.;\x0a#ifdef\x20IRIDESCENCE_TEXTURE\x0airidescenceIntensity*=iridescenceMapData.x;\x0a#ifdef\x20IRIDESCENCE_USE_THICKNESS_FROM_MAINTEXTURE\x0airidescenceThicknessWeight=iridescenceMapData.g;\x0a#endif\x0a#endif\x0a#if\x20defined(IRIDESCENCE_THICKNESS_TEXTURE)\x0airidescenceThicknessWeight=iridescenceThicknessMapData.g;\x0a#endif\x0afloat\x20iridescenceThickness=mix(iridescenceThicknessMin,iridescenceThicknessMax,iridescenceThicknessWeight);\x0afloat\x20topIor=1.;\x20\x0a#ifdef\x20CLEARCOAT\x0afloat\x20clearCoatIntensity=vClearCoatParams.x;\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0aclearCoatIntensity*=clearCoatMapData.x;\x0a#endif\x0atopIor=mix(1.0,vClearCoatRefractionParams.w-1.,clearCoatIntensity);\x0aviewAngle=sqrt(1.0+square(1.0/topIor)*(square(NdotVUnclamped)-1.0));\x0a#endif\x0avec3\x20iridescenceFresnel=evalIridescence(topIor,iridescenceIOR,viewAngle,iridescenceThickness,specularEnvironmentR0);\x0aoutParams.specularEnvironmentR0=mix(specularEnvironmentR0,iridescenceFresnel,iridescenceIntensity);\x0aoutParams.iridescenceIntensity=iridescenceIntensity;\x0aoutParams.iridescenceThickness=iridescenceThickness;\x0aoutParams.iridescenceIOR=iridescenceIOR;\x0a}\x0a#endif\x0a',_0x573d48['v'][_0x38f9e7(0x96f)][_0x38f9e7(0x4db)]='struct\x20subSurfaceOutParams\x0a{\x0avec3\x20specularEnvironmentReflectance;\x0a#ifdef\x20SS_REFRACTION\x0avec3\x20finalRefraction;\x0avec3\x20surfaceAlbedo;\x0a#ifdef\x20SS_LINKREFRACTIONTOTRANSPARENCY\x0afloat\x20alpha;\x0a#endif\x0a#ifdef\x20REFLECTION\x0afloat\x20refractionFactorForIrradiance;\x0a#endif\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCY\x0avec3\x20transmittance;\x0afloat\x20translucencyIntensity;\x0a#ifdef\x20REFLECTION\x0avec3\x20refractionIrradiance;\x0a#endif\x0a#endif\x0a#if\x20DEBUGMODE>0\x0avec4\x20thicknessMap;\x0avec4\x20environmentRefraction;\x0avec3\x20refractionTransmittance;\x0a#endif\x0a};\x0a#ifdef\x20SUBSURFACE\x0a#define\x20pbr_inline\x0a#define\x20inline\x0avoid\x20subSurfaceBlock(\x0ain\x20vec3\x20vSubSurfaceIntensity,\x0ain\x20vec2\x20vThicknessParam,\x0ain\x20vec4\x20vTintColor,\x0ain\x20vec3\x20normalW,\x0ain\x20vec3\x20specularEnvironmentReflectance,\x0a#ifdef\x20SS_THICKNESSANDMASK_TEXTURE\x0ain\x20vec4\x20thicknessMap,\x0a#endif\x0a#ifdef\x20SS_REFRACTIONINTENSITY_TEXTURE\x0ain\x20vec4\x20refractionIntensityMap,\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCYINTENSITY_TEXTURE\x0ain\x20vec4\x20translucencyIntensityMap,\x0a#endif\x0a#ifdef\x20REFLECTION\x0a#ifdef\x20SS_TRANSLUCENCY\x0ain\x20mat4\x20reflectionMatrix,\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#if\x20!defined(NORMAL)\x20||\x20!defined(USESPHERICALINVERTEX)\x0ain\x20vec3\x20irradianceVector_,\x0a#endif\x0a#if\x20defined(REALTIME_FILTERING)\x0ain\x20samplerCube\x20reflectionSampler,\x0ain\x20vec2\x20vReflectionFilteringInfo,\x0a#endif\x0a#endif\x0a#ifdef\x20USEIRRADIANCEMAP\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20irradianceSampler,\x0a#else\x0ain\x20sampler2D\x20irradianceSampler,\x0a#endif\x0a#endif\x0a#endif\x0a#endif\x0a#if\x20defined(SS_REFRACTION)\x20||\x20defined(SS_TRANSLUCENCY)\x0ain\x20vec3\x20surfaceAlbedo,\x0a#endif\x0a#ifdef\x20SS_REFRACTION\x0ain\x20vec3\x20vPositionW,\x0ain\x20vec3\x20viewDirectionW,\x0ain\x20mat4\x20view,\x0ain\x20vec4\x20vRefractionInfos,\x0ain\x20mat4\x20refractionMatrix,\x0ain\x20vec4\x20vRefractionMicrosurfaceInfos,\x0ain\x20vec4\x20vLightingIntensity,\x0a#ifdef\x20SS_LINKREFRACTIONTOTRANSPARENCY\x0ain\x20float\x20alpha,\x0a#endif\x0a#ifdef\x20SS_LODINREFRACTIONALPHA\x0ain\x20float\x20NdotVUnclamped,\x0a#endif\x0a#ifdef\x20SS_LINEARSPECULARREFRACTION\x0ain\x20float\x20roughness,\x0a#endif\x0ain\x20float\x20alphaG,\x0a#ifdef\x20SS_REFRACTIONMAP_3D\x0ain\x20samplerCube\x20refractionSampler,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0ain\x20samplerCube\x20refractionSamplerLow,\x0ain\x20samplerCube\x20refractionSamplerHigh,\x0a#endif\x0a#else\x0ain\x20sampler2D\x20refractionSampler,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0ain\x20sampler2D\x20refractionSamplerLow,\x0ain\x20sampler2D\x20refractionSamplerHigh,\x0a#endif\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0ain\x20anisotropicOutParams\x20anisotropicOut,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0ain\x20vec2\x20vRefractionFilteringInfo,\x0a#endif\x0a#ifdef\x20SS_USE_LOCAL_REFRACTIONMAP_CUBIC\x0ain\x20vec3\x20refractionPosition,\x0ain\x20vec3\x20refractionSize,\x0a#endif\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCY\x0ain\x20vec3\x20vDiffusionDistance,\x0a#endif\x0aout\x20subSurfaceOutParams\x20outParams\x0a)\x0a{\x0aoutParams.specularEnvironmentReflectance=specularEnvironmentReflectance;\x0a#ifdef\x20SS_REFRACTION\x0afloat\x20refractionIntensity=vSubSurfaceIntensity.x;\x0a#ifdef\x20SS_LINKREFRACTIONTOTRANSPARENCY\x0arefractionIntensity*=(1.0-alpha);\x0aoutParams.alpha=1.0;\x0a#endif\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCY\x0afloat\x20translucencyIntensity=vSubSurfaceIntensity.y;\x0a#endif\x0a#ifdef\x20SS_THICKNESSANDMASK_TEXTURE\x0a#if\x20defined(SS_USE_GLTF_TEXTURES)\x0afloat\x20thickness=thicknessMap.g*vThicknessParam.y+vThicknessParam.x;\x0a#else\x0afloat\x20thickness=thicknessMap.r*vThicknessParam.y+vThicknessParam.x;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0aoutParams.thicknessMap=thicknessMap;\x0a#endif\x0a#ifdef\x20SS_MASK_FROM_THICKNESS_TEXTURE\x0a#if\x20defined(SS_REFRACTION)\x20&&\x20defined(SS_REFRACTION_USE_INTENSITY_FROM_TEXTURE)\x0a#if\x20defined(SS_USE_GLTF_TEXTURES)\x0arefractionIntensity*=thicknessMap.r;\x0a#else\x0arefractionIntensity*=thicknessMap.g;\x0a#endif\x0a#endif\x0a#if\x20defined(SS_TRANSLUCENCY)\x20&&\x20defined(SS_TRANSLUCENCY_USE_INTENSITY_FROM_TEXTURE)\x0atranslucencyIntensity*=thicknessMap.b;\x0a#endif\x0a#endif\x0a#else\x0afloat\x20thickness=vThicknessParam.y;\x0a#endif\x0a#ifdef\x20SS_REFRACTIONINTENSITY_TEXTURE\x0a#ifdef\x20SS_USE_GLTF_TEXTURES\x0arefractionIntensity*=refractionIntensityMap.r;\x0a#else\x0arefractionIntensity*=refractionIntensityMap.g;\x0a#endif\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCYINTENSITY_TEXTURE\x0atranslucencyIntensity*=translucencyIntensityMap.b;\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCY\x0athickness=maxEps(thickness);\x0avec3\x20transmittance=transmittanceBRDF_Burley(vTintColor.rgb,vDiffusionDistance,thickness);\x0atransmittance*=translucencyIntensity;\x0aoutParams.transmittance=transmittance;\x0aoutParams.translucencyIntensity=translucencyIntensity;\x0a#endif\x0a#ifdef\x20SS_REFRACTION\x0avec4\x20environmentRefraction=vec4(0.,0.,0.,0.);\x0a#ifdef\x20ANISOTROPIC\x0avec3\x20refractionVector=refract(-viewDirectionW,anisotropicOut.anisotropicNormal,vRefractionInfos.y);\x0a#else\x0avec3\x20refractionVector=refract(-viewDirectionW,normalW,vRefractionInfos.y);\x0a#endif\x0a#ifdef\x20SS_REFRACTIONMAP_OPPOSITEZ\x0arefractionVector.z*=-1.0;\x0a#endif\x0a#ifdef\x20SS_REFRACTIONMAP_3D\x0a#ifdef\x20SS_USE_LOCAL_REFRACTIONMAP_CUBIC\x0arefractionVector=parallaxCorrectNormal(vPositionW,refractionVector,refractionSize,refractionPosition);\x0a#endif\x0arefractionVector.y=refractionVector.y*vRefractionInfos.w;\x0avec3\x20refractionCoords=refractionVector;\x0arefractionCoords=vec3(refractionMatrix*vec4(refractionCoords,0));\x0a#else\x0a#ifdef\x20SS_USE_THICKNESS_AS_DEPTH\x0avec3\x20vRefractionUVW=vec3(refractionMatrix*(view*vec4(vPositionW+refractionVector*thickness,1.0)));\x0a#else\x0avec3\x20vRefractionUVW=vec3(refractionMatrix*(view*vec4(vPositionW+refractionVector*vRefractionInfos.z,1.0)));\x0a#endif\x0avec2\x20refractionCoords=vRefractionUVW.xy/vRefractionUVW.z;\x0arefractionCoords.y=1.0-refractionCoords.y;\x0a#endif\x0a#ifdef\x20SS_HAS_THICKNESS\x0afloat\x20ior=vRefractionInfos.y;\x0a#else\x0afloat\x20ior=vRefractionMicrosurfaceInfos.w;\x0a#endif\x0a#ifdef\x20SS_LODINREFRACTIONALPHA\x0afloat\x20refractionAlphaG=alphaG;\x0arefractionAlphaG=mix(alphaG,0.0,clamp(ior*3.0-2.0,0.0,1.0));\x0afloat\x20refractionLOD=getLodFromAlphaG(vRefractionMicrosurfaceInfos.x,refractionAlphaG,NdotVUnclamped);\x0a#elif\x20defined(SS_LINEARSPECULARREFRACTION)\x0afloat\x20refractionRoughness=alphaG;\x0arefractionRoughness=mix(alphaG,0.0,clamp(ior*3.0-2.0,0.0,1.0));\x0afloat\x20refractionLOD=getLinearLodFromRoughness(vRefractionMicrosurfaceInfos.x,refractionRoughness);\x0a#else\x0afloat\x20refractionAlphaG=alphaG;\x0arefractionAlphaG=mix(alphaG,0.0,clamp(ior*3.0-2.0,0.0,1.0));\x0afloat\x20refractionLOD=getLodFromAlphaG(vRefractionMicrosurfaceInfos.x,refractionAlphaG);\x0a#endif\x0a#ifdef\x20LODBASEDMICROSFURACE\x0arefractionLOD=refractionLOD*vRefractionMicrosurfaceInfos.y+vRefractionMicrosurfaceInfos.z;\x0a#ifdef\x20SS_LODINREFRACTIONALPHA\x0afloat\x20automaticRefractionLOD=UNPACK_LOD(sampleRefraction(refractionSampler,refractionCoords).a);\x0afloat\x20requestedRefractionLOD=max(automaticRefractionLOD,refractionLOD);\x0a#else\x0afloat\x20requestedRefractionLOD=refractionLOD;\x0a#endif\x0a#if\x20defined(REALTIME_FILTERING)\x20&&\x20defined(SS_REFRACTIONMAP_3D)\x0aenvironmentRefraction=vec4(radiance(alphaG,refractionSampler,refractionCoords,vRefractionFilteringInfo),1.0);\x0a#else\x0aenvironmentRefraction=sampleRefractionLod(refractionSampler,refractionCoords,requestedRefractionLOD);\x0a#endif\x0a#else\x0afloat\x20lodRefractionNormalized=saturate(refractionLOD/log2(vRefractionMicrosurfaceInfos.x));\x0afloat\x20lodRefractionNormalizedDoubled=lodRefractionNormalized*2.0;\x0avec4\x20environmentRefractionMid=sampleRefraction(refractionSampler,refractionCoords);\x0aif\x20(lodRefractionNormalizedDoubled<1.0){\x0aenvironmentRefraction=mix(\x0asampleRefraction(refractionSamplerHigh,refractionCoords),\x0aenvironmentRefractionMid,\x0alodRefractionNormalizedDoubled\x0a);\x0a}\x20else\x20{\x0aenvironmentRefraction=mix(\x0aenvironmentRefractionMid,\x0asampleRefraction(refractionSamplerLow,refractionCoords),\x0alodRefractionNormalizedDoubled-1.0\x0a);\x0a}\x0a#endif\x0a#ifdef\x20SS_RGBDREFRACTION\x0aenvironmentRefraction.rgb=fromRGBD(environmentRefraction);\x0a#endif\x0a#ifdef\x20SS_GAMMAREFRACTION\x0aenvironmentRefraction.rgb=toLinearSpace(environmentRefraction.rgb);\x0a#endif\x0aenvironmentRefraction.rgb*=vRefractionInfos.x;\x0a#endif\x0a#ifdef\x20SS_REFRACTION\x0avec3\x20refractionTransmittance=vec3(refractionIntensity);\x0a#ifdef\x20SS_THICKNESSANDMASK_TEXTURE\x0avec3\x20volumeAlbedo=computeColorAtDistanceInMedia(vTintColor.rgb,vTintColor.w);\x0arefractionTransmittance*=cocaLambert(volumeAlbedo,thickness);\x0a#elif\x20defined(SS_LINKREFRACTIONTOTRANSPARENCY)\x0afloat\x20maxChannel=max(max(surfaceAlbedo.r,surfaceAlbedo.g),surfaceAlbedo.b);\x0avec3\x20volumeAlbedo=saturate(maxChannel*surfaceAlbedo);\x0aenvironmentRefraction.rgb*=volumeAlbedo;\x0a#else\x0avec3\x20volumeAlbedo=computeColorAtDistanceInMedia(vTintColor.rgb,vTintColor.w);\x0arefractionTransmittance*=cocaLambert(volumeAlbedo,vThicknessParam.y);\x0a#endif\x0a#ifdef\x20SS_ALBEDOFORREFRACTIONTINT\x0aenvironmentRefraction.rgb*=surfaceAlbedo.rgb;\x0a#endif\x0aoutParams.surfaceAlbedo=surfaceAlbedo*(1.-refractionIntensity);\x0a#ifdef\x20REFLECTION\x0aoutParams.refractionFactorForIrradiance=(1.-refractionIntensity);\x0a#endif\x0a#ifdef\x20UNUSED_MULTIPLEBOUNCES\x0avec3\x20bounceSpecularEnvironmentReflectance=(2.0*specularEnvironmentReflectance)/(1.0+specularEnvironmentReflectance);\x0aoutParams.specularEnvironmentReflectance=mix(bounceSpecularEnvironmentReflectance,specularEnvironmentReflectance,refractionIntensity);\x0a#endif\x0arefractionTransmittance*=1.0-outParams.specularEnvironmentReflectance;\x0a#if\x20DEBUGMODE>0\x0aoutParams.refractionTransmittance=refractionTransmittance;\x0a#endif\x0aoutParams.finalRefraction=environmentRefraction.rgb*refractionTransmittance*vLightingIntensity.z;\x0a#if\x20DEBUGMODE>0\x0aoutParams.environmentRefraction=environmentRefraction;\x0a#endif\x0a#endif\x0a#if\x20defined(REFLECTION)\x20&&\x20defined(SS_TRANSLUCENCY)\x0a#if\x20defined(NORMAL)\x20&&\x20defined(USESPHERICALINVERTEX)\x20||\x20!defined(USESPHERICALFROMREFLECTIONMAP)\x0avec3\x20irradianceVector=vec3(reflectionMatrix*vec4(normalW,0)).xyz;\x0a#ifdef\x20REFLECTIONMAP_OPPOSITEZ\x0airradianceVector.z*=-1.0;\x0a#endif\x0a#ifdef\x20INVERTCUBICMAP\x0airradianceVector.y*=-1.0;\x0a#endif\x0a#else\x0avec3\x20irradianceVector=irradianceVector_;\x0a#endif\x0a#if\x20defined(USESPHERICALFROMREFLECTIONMAP)\x0a#if\x20defined(REALTIME_FILTERING)\x0avec3\x20refractionIrradiance=irradiance(reflectionSampler,-irradianceVector,vReflectionFilteringInfo);\x0a#else\x0avec3\x20refractionIrradiance=computeEnvironmentIrradiance(-irradianceVector);\x0a#endif\x0a#elif\x20defined(USEIRRADIANCEMAP)\x0a#ifdef\x20REFLECTIONMAP_3D\x0avec3\x20irradianceCoords=irradianceVector;\x0a#else\x0avec2\x20irradianceCoords=irradianceVector.xy;\x0a#ifdef\x20REFLECTIONMAP_PROJECTION\x0airradianceCoords/=irradianceVector.z;\x0a#endif\x0airradianceCoords.y=1.0-irradianceCoords.y;\x0a#endif\x0avec4\x20refractionIrradiance=sampleReflection(irradianceSampler,-irradianceCoords);\x0a#ifdef\x20RGBDREFLECTION\x0arefractionIrradiance.rgb=fromRGBD(refractionIrradiance);\x0a#endif\x0a#ifdef\x20GAMMAREFLECTION\x0arefractionIrradiance.rgb=toLinearSpace(refractionIrradiance.rgb);\x0a#endif\x0a#else\x0avec4\x20refractionIrradiance=vec4(0.);\x0a#endif\x0arefractionIrradiance.rgb*=transmittance;\x0a#ifdef\x20SS_ALBEDOFORTRANSLUCENCYTINT\x0arefractionIrradiance.rgb*=surfaceAlbedo.rgb;\x0a#endif\x0aoutParams.refractionIrradiance=refractionIrradiance.rgb;\x0a#endif\x0a}\x0a#endif\x0a',_0x3fa0bb(0x10716),_0x573d48['v']['IncludesShadersStore'][_0x38f9e7(0x8db)]=_0x38f9e7(0x2b6),_0x3fa0bb(0xdc9a),_0x573d48['v']['IncludesShadersStore'][_0x38f9e7(0x3ce)]=_0x38f9e7(0xb38),_0x3fa0bb(0xace7),_0x573d48['v'][_0x38f9e7(0x96f)][_0x38f9e7(0xbe0)]=_0x38f9e7(0xbe1),_0x573d48['v']['IncludesShadersStore'][_0x38f9e7(0x985)]='float\x20NdotVUnclamped=dot(normalW,viewDirectionW);\x0afloat\x20NdotV=absEps(NdotVUnclamped);\x0afloat\x20alphaG=convertRoughnessToAverageSlope(roughness);\x0avec2\x20AARoughnessFactors=getAARoughnessFactors(normalW.xyz);\x0a#ifdef\x20SPECULARAA\x0aalphaG+=AARoughnessFactors.y;\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x0avec3\x20environmentBrdf=getBRDFLookup(NdotV,roughness);\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0a#ifdef\x20RADIANCEOCCLUSION\x0a#ifdef\x20AMBIENTINGRAYSCALE\x0afloat\x20ambientMonochrome=aoOut.ambientOcclusionColor.r;\x0a#else\x0afloat\x20ambientMonochrome=getLuminance(aoOut.ambientOcclusionColor);\x0a#endif\x0afloat\x20seo=environmentRadianceOcclusion(ambientMonochrome,NdotVUnclamped);\x0a#endif\x0a#ifdef\x20HORIZONOCCLUSION\x0a#ifdef\x20BUMP\x0a#ifdef\x20REFLECTIONMAP_3D\x0afloat\x20eho=environmentHorizonOcclusion(-viewDirectionW,normalW,geometricNormalW);\x0a#endif\x0a#endif\x0a#endif\x0a#endif\x0a',_0x573d48['v'][_0x38f9e7(0x96f)][_0x38f9e7(0x39d)]=_0x38f9e7(0x786),_0x573d48['v'][_0x38f9e7(0x96f)][_0x38f9e7(0x3ab)]='#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0avec3\x20specularEnvironmentReflectance=getReflectanceFromBRDFLookup(clearcoatOut.specularEnvironmentR0,specularEnvironmentR90,environmentBrdf);\x0a#ifdef\x20RADIANCEOCCLUSION\x0aspecularEnvironmentReflectance*=seo;\x0a#endif\x0a#ifdef\x20HORIZONOCCLUSION\x0a#ifdef\x20BUMP\x0a#ifdef\x20REFLECTIONMAP_3D\x0aspecularEnvironmentReflectance*=eho;\x0a#endif\x0a#endif\x0a#endif\x0a#else\x0avec3\x20specularEnvironmentReflectance=getReflectanceFromAnalyticalBRDFLookup_Jones(NdotV,clearcoatOut.specularEnvironmentR0,specularEnvironmentR90,sqrt(microSurface));\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0aspecularEnvironmentReflectance*=clearcoatOut.conservationFactor;\x0a#if\x20defined(CLEARCOAT_TINT)\x0aspecularEnvironmentReflectance*=clearcoatOut.absorption;\x0a#endif\x0a#endif\x0a',_0x573d48['v'][_0x38f9e7(0x96f)]['pbrBlockDirectLighting']=_0x38f9e7(0xafb),_0x3fa0bb(0x2144),_0x573d48['v'][_0x38f9e7(0x96f)]['pbrBlockFinalLitComponents']=_0x38f9e7(0x358),_0x573d48['v'][_0x38f9e7(0x96f)][_0x38f9e7(0x6a9)]=_0x38f9e7(0xbfc),_0x573d48['v'][_0x38f9e7(0x96f)]['pbrBlockFinalColorComposition']=_0x38f9e7(0x43a),_0x3fa0bb(0x614f),_0x3fa0bb(0xf45c),_0x573d48['v'][_0x38f9e7(0x96f)][_0x38f9e7(0x2a6)]=_0x38f9e7(0xa95),_0x3fa0bb(0x34d7),_0x573d48['v']['IncludesShadersStore'][_0x38f9e7(0x9a4)]=_0x38f9e7(0xc54),_0x573d48['v']['ShadersStore']['pbrPixelShader']=_0x38f9e7(0x183);},0x69bc:(_0x1501c2,_0x95cb33,_0x2e4a54)=>{var _0x1aae67=a7_0x51ebec,_0x48b128=_0x2e4a54(0x26fa);_0x2e4a54(0x28cb),_0x48b128['v'][_0x1aae67(0x96f)][_0x1aae67(0x2db)]='uniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20ALBEDO\x0auniform\x20mat4\x20albedoMatrix;\x0auniform\x20vec2\x20vAlbedoInfos;\x0a#endif\x0a#ifdef\x20AMBIENT\x0auniform\x20mat4\x20ambientMatrix;\x0auniform\x20vec4\x20vAmbientInfos;\x0a#endif\x0a#ifdef\x20OPACITY\x0auniform\x20mat4\x20opacityMatrix;\x0auniform\x20vec2\x20vOpacityInfos;\x0a#endif\x0a#ifdef\x20EMISSIVE\x0auniform\x20vec2\x20vEmissiveInfos;\x0auniform\x20mat4\x20emissiveMatrix;\x0a#endif\x0a#ifdef\x20LIGHTMAP\x0auniform\x20vec2\x20vLightmapInfos;\x0auniform\x20mat4\x20lightmapMatrix;\x0a#endif\x0a#ifdef\x20REFLECTIVITY\x20\x0auniform\x20vec3\x20vReflectivityInfos;\x0auniform\x20mat4\x20reflectivityMatrix;\x0a#endif\x0a#ifdef\x20METALLIC_REFLECTANCE\x0auniform\x20vec2\x20vMetallicReflectanceInfos;\x0auniform\x20mat4\x20metallicReflectanceMatrix;\x0a#endif\x0a#ifdef\x20REFLECTANCE\x0auniform\x20vec2\x20vReflectanceInfos;\x0auniform\x20mat4\x20reflectanceMatrix;\x0a#endif\x0a#ifdef\x20MICROSURFACEMAP\x0auniform\x20vec2\x20vMicroSurfaceSamplerInfos;\x0auniform\x20mat4\x20microSurfaceSamplerMatrix;\x0a#endif\x0a#ifdef\x20BUMP\x0auniform\x20vec3\x20vBumpInfos;\x0auniform\x20mat4\x20bumpMatrix;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0a#ifdef\x20REFLECTION\x0auniform\x20vec2\x20vReflectionInfos;\x0auniform\x20mat4\x20reflectionMatrix;\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0a#if\x20defined(CLEARCOAT_TEXTURE)\x20||\x20defined(CLEARCOAT_TEXTURE_ROUGHNESS)\x0auniform\x20vec4\x20vClearCoatInfos;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0auniform\x20mat4\x20clearCoatMatrix;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TEXTURE_ROUGHNESS\x0auniform\x20mat4\x20clearCoatRoughnessMatrix;\x0a#endif\x0a#ifdef\x20CLEARCOAT_BUMP\x0auniform\x20vec2\x20vClearCoatBumpInfos;\x0auniform\x20mat4\x20clearCoatBumpMatrix;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TINT_TEXTURE\x0auniform\x20vec2\x20vClearCoatTintInfos;\x0auniform\x20mat4\x20clearCoatTintMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0a#if\x20defined(IRIDESCENCE_TEXTURE)\x20||\x20defined(IRIDESCENCE_THICKNESS_TEXTURE)\x0auniform\x20vec4\x20vIridescenceInfos;\x0a#endif\x0a#ifdef\x20IRIDESCENCE_TEXTURE\x0auniform\x20mat4\x20iridescenceMatrix;\x0a#endif\x0a#ifdef\x20IRIDESCENCE_THICKNESS_TEXTURE\x0auniform\x20mat4\x20iridescenceThicknessMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0a#ifdef\x20ANISOTROPIC_TEXTURE\x0auniform\x20vec2\x20vAnisotropyInfos;\x0auniform\x20mat4\x20anisotropyMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20SHEEN\x0a#if\x20defined(SHEEN_TEXTURE)\x20||\x20defined(SHEEN_TEXTURE_ROUGHNESS)\x0auniform\x20vec4\x20vSheenInfos;\x0a#endif\x0a#ifdef\x20SHEEN_TEXTURE\x0auniform\x20mat4\x20sheenMatrix;\x0a#endif\x0a#ifdef\x20SHEEN_TEXTURE_ROUGHNESS\x0auniform\x20mat4\x20sheenRoughnessMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20SUBSURFACE\x0a#ifdef\x20SS_REFRACTION\x0auniform\x20vec4\x20vRefractionInfos;\x0auniform\x20mat4\x20refractionMatrix;\x0a#endif\x0a#ifdef\x20SS_THICKNESSANDMASK_TEXTURE\x0auniform\x20vec2\x20vThicknessInfos;\x0auniform\x20mat4\x20thicknessMatrix;\x0a#endif\x0a#ifdef\x20SS_REFRACTIONINTENSITY_TEXTURE\x0auniform\x20vec2\x20vRefractionIntensityInfos;\x0auniform\x20mat4\x20refractionIntensityMatrix;\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCYINTENSITY_TEXTURE\x0auniform\x20vec2\x20vTranslucencyIntensityInfos;\x0auniform\x20mat4\x20translucencyIntensityMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20NORMAL\x0a#if\x20defined(USESPHERICALFROMREFLECTIONMAP)\x20&&\x20defined(USESPHERICALINVERTEX)\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#ifdef\x20SPHERICAL_HARMONICS\x0auniform\x20vec3\x20vSphericalL00;\x0auniform\x20vec3\x20vSphericalL1_1;\x0auniform\x20vec3\x20vSphericalL10;\x0auniform\x20vec3\x20vSphericalL11;\x0auniform\x20vec3\x20vSphericalL2_2;\x0auniform\x20vec3\x20vSphericalL2_1;\x0auniform\x20vec3\x20vSphericalL20;\x0auniform\x20vec3\x20vSphericalL21;\x0auniform\x20vec3\x20vSphericalL22;\x0a#else\x0auniform\x20vec3\x20vSphericalX;\x0auniform\x20vec3\x20vSphericalY;\x0auniform\x20vec3\x20vSphericalZ;\x0auniform\x20vec3\x20vSphericalXX_ZZ;\x0auniform\x20vec3\x20vSphericalYY_ZZ;\x0auniform\x20vec3\x20vSphericalZZ;\x0auniform\x20vec3\x20vSphericalXY;\x0auniform\x20vec3\x20vSphericalYZ;\x0auniform\x20vec3\x20vSphericalZX;\x0a#endif\x0a#endif\x0a#endif\x0a#endif\x0a#ifdef\x20DETAIL\x0auniform\x20vec4\x20vDetailInfos;\x0auniform\x20mat4\x20detailMatrix;\x0a#endif\x0a#include<decalVertexDeclaration>\x0a#define\x20ADDITIONAL_VERTEX_DECLARATION\x0a',_0x2e4a54(0x1398d),_0x2e4a54(0x6f2f),_0x2e4a54(0x13ff7),_0x2e4a54(0x8cd3),_0x2e4a54(0x11c69),_0x2e4a54(0x2648),_0x2e4a54(0xe7da),_0x2e4a54(0x124cc),_0x2e4a54(0x12d29),_0x2e4a54(0x11b66),_0x2e4a54(0x35c4),_0x2e4a54(0xd4f3),_0x2e4a54(0x1162f),_0x2e4a54(0x17cfd),_0x2e4a54(0xd6d4),_0x2e4a54(0x11b65),_0x2e4a54(0x12771),_0x2e4a54(0x14b01),_0x2e4a54(0x13d7),_0x2e4a54(0x1201e),_0x2e4a54(0x16c62),_0x2e4a54(0x9e45),_0x2e4a54(0x1396d),_0x2e4a54(0x1963),_0x2e4a54(0x5c59),_0x2e4a54(0x44ee),_0x2e4a54(0xf72d),_0x2e4a54(0xc24a),_0x2e4a54(0xeda3),_0x2e4a54(0xf1cf),_0x2e4a54(0x4730),_0x2e4a54(0x8641),_0x48b128['v'][_0x1aae67(0x52c)]['pbrVertexShader']=_0x1aae67(0xae8);},0x3e84:(_0x3238c1,_0x5c7607,_0x5cbe5d)=>{var _0x5a6f2f=a7_0x51ebec;_0x5cbe5d(0x26fa)['v']['ShadersStore'][_0x5a6f2f(0x15e)]='attribute\x20vec2\x20position;\x0auniform\x20vec2\x20scale;\x0avarying\x20vec2\x20vUV;\x0aconst\x20vec2\x20madd=vec2(0.5,0.5);\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avUV=(position*madd+madd)*scale;\x0agl_Position=vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}';},0x94a5:(_0x5da59c,_0xf0ae61,_0x4b9f44)=>{var _0xe627ea=a7_0x51ebec;_0x4b9f44(0x26fa)['v'][_0xe627ea(0x52c)][_0xe627ea(0xa87)]=_0xe627ea(0x45d);},0xffc7:(_0x50aa6e,_0x54b7fe,_0x4fbe38)=>{var _0x4b841d=a7_0x51ebec;_0x4fbe38(0x26fa)['v']['ShadersStore'][_0x4b841d(0x6da)]=_0x4b841d(0x4e7);},0x3c51:(_0x470a9e,_0x29ffe2,_0x3e3f28)=>{var _0x7e67cc=a7_0x51ebec,_0x574a7f=_0x3e3f28(0x26fa);_0x3e3f28(0x8cd3),_0x574a7f['v']['ShadersStore']['rgbdDecodePixelShader']=_0x7e67cc(0xacf);},0xe352:(_0x3b6c75,_0x5a5c5b,_0x2c84b2)=>{var _0x2dfca1=a7_0x51ebec,_0x37292c=_0x2c84b2(0x26fa);_0x2c84b2(0x8cd3),_0x37292c['v']['ShadersStore']['rgbdEncodePixelShader']=_0x2dfca1(0x36b);},0x47d3:(_0x3c1c43,_0x2adb38,_0x37d30f)=>{var _0x200ca9=a7_0x51ebec;_0x37d30f(0x26fa)['v'][_0x200ca9(0x52c)][_0x200ca9(0xb10)]=_0x200ca9(0xc73);},0x9ba9:(_0x18b50c,_0x103a7f,_0x176d5f)=>{var _0x15fbc9=a7_0x51ebec;_0x176d5f(0x26fa)['v']['ShadersStore'][_0x15fbc9(0x7c4)]=_0x15fbc9(0x4b8);},0x1198b:(_0x2cc2ec,_0x193651,_0x2782cb)=>{var _0xec547c=a7_0x51ebec,_0x325abc=_0x2782cb(0x26fa);_0x2782cb(0x8cd3),_0x325abc['v'][_0xec547c(0x96f)][_0xec547c(0x63c)]='float\x20distanceSquared(vec2\x20a,vec2\x20b)\x20{\x20a-=b;\x20return\x20dot(a,a);\x20}\x0a/**\x0aparam\x20csOrigin\x20Camera-space\x20ray\x20origin,which\x20must\x20be\x20\x0awithin\x20the\x20view\x20volume\x20and\x20must\x20have\x20z>0.01\x20and\x20project\x20within\x20the\x20valid\x20screen\x20rectangle\x0aparam\x20csDirection\x20Unit\x20length\x20camera-space\x20ray\x20direction\x0aparam\x20projectToPixelMatrix\x20A\x20projection\x20matrix\x20that\x20maps\x20to\x20**pixel**\x20coordinates\x20\x0a(**not**\x20[-1,+1]\x20normalized\x20device\x20coordinates).\x0aparam\x20csZBuffer\x20The\x20camera-space\x20Z\x20buffer\x0aparam\x20csZBufferSize\x20Dimensions\x20of\x20csZBuffer\x0aparam\x20csZThickness\x20Camera\x20space\x20csZThickness\x20to\x20ascribe\x20to\x20each\x20pixel\x20in\x20the\x20depth\x20buffer\x0aparam\x20nearPlaneZ\x20Positive\x20number.\x20Doesn\x27t\x20have\x20to\x20be\x20THE\x20actual\x20near\x20plane,just\x20a\x20reasonable\x20value\x0afor\x20clipping\x20rays\x20headed\x20towards\x20the\x20camera\x0aparam\x20stride\x20Step\x20in\x20horizontal\x20or\x20vertical\x20pixels\x20between\x20samples.\x20This\x20is\x20a\x20float\x0abecause\x20integer\x20math\x20is\x20slow\x20on\x20GPUs,but\x20should\x20be\x20set\x20to\x20an\x20integer>=1\x0aparam\x20jitterFraction\x20Number\x20between\x200\x20and\x201\x20for\x20how\x20far\x20to\x20bump\x20the\x20ray\x20in\x20stride\x20units\x0ato\x20conceal\x20banding\x20artifacts,plus\x20the\x20stride\x20ray\x20offset.\x0aparam\x20maxSteps\x20Maximum\x20number\x20of\x20iterations.\x20Higher\x20gives\x20better\x20images\x20but\x20may\x20be\x20slow\x0aparam\x20maxRayTraceDistance\x20Maximum\x20camera-space\x20distance\x20to\x20trace\x20before\x20returning\x20a\x20miss\x0aparam\x20selfCollisionNumSkip\x20Number\x20of\x20steps\x20to\x20skip\x20at\x20start\x20when\x20raytracing\x20to\x20avoid\x20self\x20collisions.\x0a1\x20is\x20a\x20reasonable\x20value,depending\x20on\x20the\x20scene\x20you\x20may\x20need\x20to\x20set\x20this\x20value\x20to\x202\x0aparam\x20hitPixel\x20Pixel\x20coordinates\x20of\x20the\x20first\x20intersection\x20with\x20the\x20scene\x0aparam\x20numIterations\x20number\x20of\x20iterations\x20performed\x0aparam\x20csHitPoint\x20Camera\x20space\x20location\x20of\x20the\x20ray\x20hit\x0a*/\x0a#define\x20inline\x0abool\x20traceScreenSpaceRay1(\x0avec3\x20csOrigin,\x0avec3\x20csDirection,\x0amat4\x20projectToPixelMatrix,\x0asampler2D\x20csZBuffer,\x0avec2\x20csZBufferSize,\x0a#ifdef\x20SSRAYTRACE_USE_BACK_DEPTHBUFFER\x0asampler2D\x20csZBackBuffer,\x0afloat\x20csZBackSizeFactor,\x0a#endif\x0afloat\x20csZThickness,\x0afloat\x20nearPlaneZ,\x0afloat\x20stride,\x0afloat\x20jitterFraction,\x0afloat\x20maxSteps,\x0afloat\x20maxRayTraceDistance,\x0afloat\x20selfCollisionNumSkip,\x0aout\x20vec2\x20startPixel,\x0aout\x20vec2\x20hitPixel,\x0aout\x20vec3\x20csHitPoint,\x0aout\x20float\x20numIterations\x0a#ifdef\x20SSRAYTRACE_DEBUG\x0a,out\x20vec3\x20debugColor\x0a#endif\x0a)\x0a{\x0a#ifdef\x20SSRAYTRACE_RIGHT_HANDED_SCENE\x0afloat\x20rayLength=(csOrigin.z+csDirection.z*maxRayTraceDistance)>-nearPlaneZ\x20?\x20(-nearPlaneZ-csOrigin.z)/csDirection.z\x20:\x20maxRayTraceDistance;\x0a#else\x0afloat\x20rayLength=(csOrigin.z+csDirection.z*maxRayTraceDistance)<nearPlaneZ\x20?\x20(nearPlaneZ-csOrigin.z)/csDirection.z\x20:\x20maxRayTraceDistance;\x0a#endif\x0avec3\x20csEndPoint=csOrigin+csDirection*rayLength;\x0ahitPixel=vec2(-1.0,-1.0);\x0avec4\x20H0=projectToPixelMatrix*vec4(csOrigin,1.0);\x0avec4\x20H1=projectToPixelMatrix*vec4(csEndPoint,1.0);\x0afloat\x20k0=1.0/H0.w;\x0afloat\x20k1=1.0/H1.w;\x0avec3\x20Q0=csOrigin*k0;\x0avec3\x20Q1=csEndPoint*k1;\x0avec2\x20P0=H0.xy*k0;\x0avec2\x20P1=H1.xy*k1;\x0a#ifdef\x20SSRAYTRACE_CLIP_TO_FRUSTUM\x0afloat\x20xMax=csZBufferSize.x-0.5,xMin=0.5,yMax=csZBufferSize.y-0.5,yMin=0.5;\x0afloat\x20alpha=0.0;\x0aif\x20((P1.y>yMax)\x20||\x20(P1.y<yMin))\x20{\x0aalpha=(P1.y-((P1.y>yMax)\x20?\x20yMax\x20:\x20yMin))/(P1.y-P0.y);\x0a}\x0aif\x20((P1.x>xMax)\x20||\x20(P1.x<xMin))\x20{\x0aalpha=max(alpha,(P1.x-((P1.x>xMax)\x20?\x20xMax\x20:\x20xMin))/(P1.x-P0.x));\x0a}\x0aP1=mix(P1,P0,alpha);\x20k1=mix(k1,k0,alpha);\x20Q1=mix(Q1,Q0,alpha);\x0a#endif\x0aP1+=vec2((distanceSquared(P0,P1)<0.0001)\x20?\x200.01\x20:\x200.0);\x0avec2\x20delta=P1-P0;\x0abool\x20permute=false;\x0aif\x20(abs(delta.x)<abs(delta.y))\x20{\x20\x0apermute=true;\x0adelta=delta.yx;\x0aP0=P0.yx;\x0aP1=P1.yx;\x20\x0a}\x0afloat\x20stepDirection=sign(delta.x);\x0afloat\x20invdx=stepDirection/delta.x;\x0avec2\x20dP=vec2(stepDirection,delta.y*invdx);\x0avec3\x20dQ=(Q1-Q0)*invdx;\x0afloat\x20dk=(k1-k0)*invdx;\x0afloat\x20zMin=min(csEndPoint.z,csOrigin.z);\x0afloat\x20zMax=max(csEndPoint.z,csOrigin.z);\x0adP*=stride;\x20dQ*=stride;\x20dk*=stride;\x0aP0+=dP*jitterFraction;\x20Q0+=dQ*jitterFraction;\x20k0+=dk*jitterFraction;\x0avec4\x20pqk=vec4(P0,Q0.z,k0);\x0avec4\x20dPQK=vec4(dP,dQ.z,dk);\x0astartPixel=permute\x20?\x20P0.yx\x20:\x20P0.xy;\x0afloat\x20prevZMaxEstimate=csOrigin.z;\x0afloat\x20rayZMin=prevZMaxEstimate,rayZMax=prevZMaxEstimate;\x0afloat\x20sceneZMax=rayZMax+1e4;\x0afloat\x20end=P1.x*stepDirection;\x0abool\x20hit=false;\x0afloat\x20stepCount;\x0afor\x20(stepCount=0.0;\x0astepCount<=selfCollisionNumSkip\x20||\x0a(pqk.x*stepDirection)<=end\x20&&\x0astepCount<maxSteps\x20&&\x0a!hit\x20&&\x0asceneZMax\x20!=\x200.0;\x20\x0apqk+=dPQK,++stepCount)\x0a{\x0ahitPixel=permute\x20?\x20pqk.yx\x20:\x20pqk.xy;\x0arayZMin=prevZMaxEstimate;\x0arayZMax=(dPQK.z*0.5+pqk.z)/(dPQK.w*0.5+pqk.w);\x0arayZMax=clamp(rayZMax,zMin,zMax);\x0aprevZMaxEstimate=rayZMax;\x0aif\x20(rayZMin>rayZMax)\x20{\x20\x0afloat\x20t=rayZMin;\x20rayZMin=rayZMax;\x20rayZMax=t;\x0a}\x0asceneZMax=texelFetch(csZBuffer,ivec2(hitPixel),0).r;\x0a#ifdef\x20SSRAYTRACE_RIGHT_HANDED_SCENE\x0a#ifdef\x20SSRAYTRACE_USE_BACK_DEPTHBUFFER\x0afloat\x20sceneBackZ=texelFetch(csZBackBuffer,ivec2(hitPixel/csZBackSizeFactor),0).r;\x0ahit=(rayZMax>=sceneBackZ-csZThickness)\x20&&\x20(rayZMin<=sceneZMax);\x0a#else\x0ahit=(rayZMax>=sceneZMax-csZThickness)\x20&&\x20(rayZMin<=sceneZMax);\x0a#endif\x0a#else\x0a#ifdef\x20SSRAYTRACE_USE_BACK_DEPTHBUFFER\x0afloat\x20sceneBackZ=texelFetch(csZBackBuffer,ivec2(hitPixel/csZBackSizeFactor),0).r;\x0ahit=(rayZMin<=sceneBackZ+csZThickness)\x20&&\x20(rayZMax>=sceneZMax)\x20&&\x20(sceneZMax\x20!=\x200.0);\x0a#else\x0ahit=(rayZMin<=sceneZMax+csZThickness)\x20&&\x20(rayZMax>=sceneZMax);\x0a#endif\x0a#endif\x0a}\x0apqk-=dPQK;\x0astepCount-=1.0;\x0aif\x20(((pqk.x+dPQK.x)*stepDirection)>end\x20||\x20(stepCount+1.0)>=maxSteps\x20||\x20sceneZMax==0.0)\x20{\x0ahit=false;\x0a}\x0a#ifdef\x20SSRAYTRACE_ENABLE_REFINEMENT\x0aif\x20(stride>1.0\x20&&\x20hit)\x20{\x0apqk-=dPQK;\x0astepCount-=1.0;\x0afloat\x20invStride=1.0/stride;\x0adPQK*=invStride;\x0afloat\x20refinementStepCount=0.0;\x0aprevZMaxEstimate=pqk.z/pqk.w;\x0arayZMax=prevZMaxEstimate;\x0asceneZMax=rayZMax+1e7;\x0afor\x20(;\x0arefinementStepCount<=1.0\x20||\x0a(refinementStepCount<=stride*1.4)\x20&&\x0a(rayZMax<sceneZMax)\x20&&\x20(sceneZMax\x20!=\x200.0);\x0apqk+=dPQK,refinementStepCount+=1.0)\x0a{\x0arayZMin=prevZMaxEstimate;\x0arayZMax=(dPQK.z*0.5+pqk.z)/(dPQK.w*0.5+pqk.w);\x0arayZMax=clamp(rayZMax,zMin,zMax);\x0aprevZMaxEstimate=rayZMax;\x0arayZMax=max(rayZMax,rayZMin);\x0ahitPixel=permute\x20?\x20pqk.yx\x20:\x20pqk.xy;\x0asceneZMax=texelFetch(csZBuffer,ivec2(hitPixel),0).r;\x0a}\x0apqk-=dPQK;\x0arefinementStepCount-=1.0;\x0astepCount+=refinementStepCount/stride;\x0a}\x0a#endif\x0aQ0.xy+=dQ.xy*stepCount;\x0aQ0.z=pqk.z;\x0acsHitPoint=Q0/pqk.w;\x0anumIterations=stepCount+1.0;\x0a#ifdef\x20SSRAYTRACE_DEBUG\x0aif\x20(((pqk.x+dPQK.x)*stepDirection)>end)\x20{\x0adebugColor=vec3(0,0,1);\x0a}\x20else\x20if\x20((stepCount+1.0)>=maxSteps)\x20{\x0adebugColor=vec3(1,0,0);\x0a}\x20else\x20if\x20(sceneZMax==0.0)\x20{\x0adebugColor=vec3(1,1,0);\x0a}\x20else\x20{\x0adebugColor=vec3(0,stepCount/maxSteps,0);\x0a}\x0a#endif\x0areturn\x20hit;\x0a}\x0a',_0x325abc['v'][_0xec547c(0x52c)][_0xec547c(0xbc3)]='#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20TEXTUREFUNC(s,c,lod)\x20texture2DLodEXT(s,c,lod)\x0a#define\x20TEXTURECUBEFUNC(s,c,lod)\x20textureLod(s,c,lod)\x0a#else\x0a#define\x20TEXTUREFUNC(s,c,bias)\x20texture2D(s,c,bias)\x0a#define\x20TEXTURECUBEFUNC(s,c,bias)\x20textureCube(s,c,bias)\x0a#endif\x0auniform\x20sampler2D\x20textureSampler;\x0avarying\x20vec2\x20vUV;\x0a#ifdef\x20SSR_SUPPORTED\x0auniform\x20sampler2D\x20reflectivitySampler;\x0auniform\x20sampler2D\x20normalSampler;\x0auniform\x20sampler2D\x20depthSampler;\x0a#ifdef\x20SSRAYTRACE_USE_BACK_DEPTHBUFFER\x0auniform\x20sampler2D\x20backDepthSampler;\x0auniform\x20float\x20backSizeFactor;\x0a#endif\x0a#ifdef\x20SSR_USE_ENVIRONMENT_CUBE\x0auniform\x20samplerCube\x20envCubeSampler;\x0a#ifdef\x20SSR_USE_LOCAL_REFLECTIONMAP_CUBIC\x0auniform\x20vec3\x20vReflectionPosition;\x0auniform\x20vec3\x20vReflectionSize;\x0a#endif\x0a#endif\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20invView;\x0auniform\x20mat4\x20projection;\x0auniform\x20mat4\x20invProjectionMatrix;\x0auniform\x20mat4\x20projectionPixel;\x0auniform\x20float\x20nearPlaneZ;\x0auniform\x20float\x20stepSize;\x0auniform\x20float\x20maxSteps;\x0auniform\x20float\x20strength;\x0auniform\x20float\x20thickness;\x0auniform\x20float\x20roughnessFactor;\x0auniform\x20float\x20reflectionSpecularFalloffExponent;\x0auniform\x20float\x20maxDistance;\x0auniform\x20float\x20selfCollisionNumSkip;\x0auniform\x20float\x20reflectivityThreshold;\x0a#include<helperFunctions>\x0a#include<screenSpaceRayTrace>\x0avec3\x20fresnelSchlick(float\x20cosTheta,vec3\x20F0)\x0a{\x0areturn\x20F0+(1.0-F0)*pow(1.0-cosTheta,5.0);\x0a}\x0avec3\x20hash(vec3\x20a)\x0a{\x0aa=fract(a*0.8);\x0aa+=dot(a,a.yxz+19.19);\x0areturn\x20fract((a.xxy+a.yxx)*a.zyx);\x0a}\x0avec3\x20computeViewPosFromUVDepth(vec2\x20texCoord,float\x20depth)\x20{\x0avec4\x20ndc;\x0andc.xy=texCoord*2.0-1.0;\x0a#ifdef\x20SSRAYTRACE_RIGHT_HANDED_SCENE\x0andc.z=-projection[2].z-projection[3].z/depth;\x0a#else\x0andc.z=projection[2].z+projection[3].z/depth;\x0a#endif\x0andc.w=1.0;\x0avec4\x20eyePos=invProjectionMatrix*ndc;\x0aeyePos.xyz/=eyePos.w;\x0areturn\x20eyePos.xyz;\x0a}\x0afloat\x20computeAttenuationForIntersection(ivec2\x20hitPixel,vec2\x20hitUV,vec3\x20vsRayOrigin,vec3\x20vsHitPoint,vec3\x20reflectionVector,float\x20maxRayDistance,float\x20numIterations)\x20{\x0afloat\x20attenuation=1.0;\x0a#ifdef\x20SSR_ATTENUATE_SCREEN_BORDERS\x0avec2\x20dCoords=smoothstep(0.2,0.6,abs(vec2(0.5,0.5)-hitUV.xy));\x0aattenuation*=clamp(1.0-(dCoords.x+dCoords.y),0.0,1.0);\x0a#endif\x0a#ifdef\x20SSR_ATTENUATE_INTERSECTION_DISTANCE\x0aattenuation*=1.0-clamp(distance(vsRayOrigin,vsHitPoint)/maxRayDistance,0.0,1.0);\x0a#endif\x0a#ifdef\x20SSR_ATTENUATE_INTERSECTION_NUMITERATIONS\x0aattenuation*=1.0-(numIterations/maxSteps);\x0a#endif\x0a#ifdef\x20SSR_ATTENUATE_BACKFACE_REFLECTION\x0avec3\x20reflectionNormal=texelFetch(normalSampler,hitPixel,0).xyz;\x0afloat\x20directionBasedAttenuation=smoothstep(-0.17,0.0,dot(reflectionNormal,-reflectionVector));\x0aattenuation*=directionBasedAttenuation;\x0a#endif\x0areturn\x20attenuation;\x0a}\x0a#endif\x0avoid\x20main()\x0a{\x0a#ifdef\x20SSR_SUPPORTED\x0avec4\x20colorFull=TEXTUREFUNC(textureSampler,vUV,0.0);\x0avec3\x20color=colorFull.rgb;\x0avec4\x20reflectivity=TEXTUREFUNC(reflectivitySampler,vUV,0.0);\x0aif\x20(max(reflectivity.r,max(reflectivity.g,reflectivity.b))<=reflectivityThreshold)\x20{\x0a#ifdef\x20SSR_USE_BLUR\x0agl_FragColor=vec4(0.);\x0a#else\x0agl_FragColor=colorFull;\x0a#endif\x0areturn;\x0a}\x0a#ifdef\x20SSR_INPUT_IS_GAMMA_SPACE\x0acolor=toLinearSpace(color);\x0a#endif\x0avec2\x20texSize=vec2(textureSize(depthSampler,0));\x0avec3\x20csNormal=texelFetch(normalSampler,ivec2(vUV*texSize),0).xyz;\x20\x0afloat\x20depth=texelFetch(depthSampler,ivec2(vUV*texSize),0).r;\x0avec3\x20csPosition=computeViewPosFromUVDepth(vUV,depth);\x0avec3\x20csViewDirection=normalize(csPosition);\x0avec3\x20csReflectedVector=reflect(csViewDirection,csNormal);\x0a#ifdef\x20SSR_USE_ENVIRONMENT_CUBE\x0avec3\x20wReflectedVector=vec3(invView*vec4(csReflectedVector,0.0));\x0a#ifdef\x20SSR_USE_LOCAL_REFLECTIONMAP_CUBIC\x0avec4\x20worldPos=invView*vec4(csPosition,1.0);\x0awReflectedVector=parallaxCorrectNormal(worldPos.xyz,normalize(wReflectedVector),vReflectionSize,vReflectionPosition);\x0a#endif\x0a#ifdef\x20SSR_INVERTCUBICMAP\x0awReflectedVector.y*=-1.0;\x0a#endif\x0a#ifdef\x20SSRAYTRACE_RIGHT_HANDED_SCENE\x0awReflectedVector.z*=-1.0;\x0a#endif\x0avec3\x20envColor=TEXTURECUBEFUNC(envCubeSampler,wReflectedVector,0.0).xyz;\x0a#ifdef\x20SSR_ENVIRONMENT_CUBE_IS_GAMMASPACE\x0aenvColor=toLinearSpace(envColor);\x0a#endif\x0a#else\x0avec3\x20envColor=color;\x0a#endif\x0afloat\x20reflectionAttenuation=1.0;\x0abool\x20rayHasHit=false;\x0avec2\x20startPixel;\x0avec2\x20hitPixel;\x0avec3\x20hitPoint;\x0afloat\x20numIterations;\x0a#ifdef\x20SSRAYTRACE_DEBUG\x0avec3\x20debugColor;\x0a#endif\x0a#ifdef\x20SSR_ATTENUATE_FACING_CAMERA\x0areflectionAttenuation*=1.0-smoothstep(0.25,0.5,dot(-csViewDirection,csReflectedVector));\x0a#endif\x0aif\x20(reflectionAttenuation>0.0)\x20{\x0a#ifdef\x20SSR_USE_BLUR\x0avec3\x20jitt=vec3(0.);\x0a#else\x0afloat\x20roughness=1.0-reflectivity.a;\x0avec3\x20jitt=mix(vec3(0.0),hash(csPosition),roughness)*roughnessFactor;\x20\x0a#endif\x0avec2\x20uv2=vUV*texSize;\x0afloat\x20c=(uv2.x+uv2.y)*0.25;\x0afloat\x20jitter=mod(c,1.0);\x20\x0arayHasHit=traceScreenSpaceRay1(\x0acsPosition,\x0anormalize(csReflectedVector+jitt),\x0aprojectionPixel,\x0adepthSampler,\x0atexSize,\x0a#ifdef\x20SSRAYTRACE_USE_BACK_DEPTHBUFFER\x0abackDepthSampler,\x0abackSizeFactor,\x0a#endif\x0athickness,\x0anearPlaneZ,\x0astepSize,\x0ajitter,\x0amaxSteps,\x0amaxDistance,\x0aselfCollisionNumSkip,\x0astartPixel,\x0ahitPixel,\x0ahitPoint,\x0anumIterations\x0a#ifdef\x20SSRAYTRACE_DEBUG\x0a,debugColor\x0a#endif\x0a);\x0a}\x0a#ifdef\x20SSRAYTRACE_DEBUG\x0agl_FragColor=vec4(debugColor,1.);\x0areturn;\x0a#endif\x0avec3\x20F0=reflectivity.rgb;\x0avec3\x20fresnel=fresnelSchlick(max(dot(csNormal,-csViewDirection),0.0),F0);\x0avec3\x20SSR=envColor;\x0aif\x20(rayHasHit)\x20{\x0avec3\x20reflectedColor=texelFetch(textureSampler,ivec2(hitPixel),0).rgb;\x0a#ifdef\x20SSR_INPUT_IS_GAMMA_SPACE\x0areflectedColor=toLinearSpace(reflectedColor);\x0a#endif\x0areflectionAttenuation*=computeAttenuationForIntersection(ivec2(hitPixel),hitPixel/texSize,csPosition,hitPoint,csReflectedVector,maxDistance,numIterations);\x0aSSR=reflectedColor*reflectionAttenuation+(1.0-reflectionAttenuation)*envColor;\x0a}\x0aSSR*=fresnel;\x0a#ifdef\x20SSR_USE_BLUR\x0afloat\x20blur_radius=0.0;\x0afloat\x20roughness=1.0-reflectivity.a*(1.0-roughnessFactor);\x0aif\x20(roughness>0.001)\x20{\x0afloat\x20cone_angle=min(roughness,0.999)*3.14159265*0.5;\x0afloat\x20cone_len=distance(startPixel,hitPixel);\x0afloat\x20op_len=2.0*tan(cone_angle)*cone_len;\x20\x0afloat\x20a=op_len;\x0afloat\x20h=cone_len;\x0afloat\x20a2=a*a;\x0afloat\x20fh2=4.0f*h*h;\x0ablur_radius=(a*(sqrt(a2+fh2)-a))/(4.0f*h);\x0a}\x0agl_FragColor=vec4(SSR,blur_radius/255.0);\x20\x0a#else\x0avec3\x20reflectionMultiplier=clamp(pow(reflectivity.rgb*strength,vec3(reflectionSpecularFalloffExponent)),0.0,1.0);\x0avec3\x20colorMultiplier=1.0-reflectionMultiplier;\x0avec3\x20finalColor=(color*colorMultiplier)+(SSR*reflectionMultiplier);\x0a#ifdef\x20SSR_OUTPUT_IS_GAMMA_SPACE\x0afinalColor=toGammaSpace(finalColor);\x0a#endif\x0agl_FragColor=vec4(finalColor,colorFull.a);\x0a#endif\x0a#else\x0agl_FragColor=TEXTUREFUNC(textureSampler,vUV,0.0);\x0a#endif\x0a}\x0a';},0xe884:(_0x51debb,_0x1908fb,_0x3b62d8)=>{var _0x4420ab=a7_0x51ebec;_0x3b62d8(0x26fa)['v'][_0x4420ab(0x52c)][_0x4420ab(0x87b)]=_0x4420ab(0x775);},0xa5df:(_0x2a701f,_0xcecf46,_0x5c16fb)=>{var _0x3d79f1=a7_0x51ebec,_0x531bbf=_0x5c16fb(0x26fa);_0x5c16fb(0x8cd3),_0x531bbf['v'][_0x3d79f1(0x52c)][_0x3d79f1(0x7bb)]='uniform\x20sampler2D\x20textureSampler;\x20\x0auniform\x20sampler2D\x20mainSampler;\x0auniform\x20sampler2D\x20reflectivitySampler;\x0auniform\x20float\x20strength;\x0auniform\x20float\x20reflectionSpecularFalloffExponent;\x0auniform\x20float\x20reflectivityThreshold;\x0avarying\x20vec2\x20vUV;\x0a#include<helperFunctions>\x0avoid\x20main()\x0a{\x0a#ifdef\x20SSRAYTRACE_DEBUG\x0agl_FragColor=texture2D(textureSampler,vUV);\x0a#else\x0avec3\x20SSR=texture2D(textureSampler,vUV).rgb;\x0avec4\x20color=texture2D(mainSampler,vUV);\x0avec4\x20reflectivity=texture2D(reflectivitySampler,vUV);\x0aif\x20(max(reflectivity.r,max(reflectivity.g,reflectivity.b))<=reflectivityThreshold)\x20{\x0agl_FragColor=color;\x0areturn;\x0a}\x0a#ifdef\x20SSR_INPUT_IS_GAMMA_SPACE\x0acolor=toLinearSpace(color);\x0a#endif\x0avec3\x20reflectionMultiplier=clamp(pow(reflectivity.rgb*strength,vec3(reflectionSpecularFalloffExponent)),0.0,1.0);\x0avec3\x20colorMultiplier=1.0-reflectionMultiplier;\x0avec3\x20finalColor=(color.rgb*colorMultiplier)+(SSR*reflectionMultiplier);\x0a#ifdef\x20SSR_OUTPUT_IS_GAMMA_SPACE\x0afinalColor=toGammaSpace(finalColor);\x0a#endif\x0agl_FragColor=vec4(finalColor,color.a);\x0a#endif\x0a}\x0a';},0x4f8e:(_0x33762e,_0x14c294,_0x5126b3)=>{var _0x2048c3=a7_0x51ebec,_0x38e109=_0x5126b3(0x26fa);_0x5126b3(0x4a11),_0x38e109['v'][_0x2048c3(0x96f)][_0x2048c3(0x4aa)]=_0x2048c3(0x184),_0x38e109['v'][_0x2048c3(0x96f)][_0x2048c3(0x4f5)]=_0x2048c3(0xd44),_0x5126b3(0x13fa8),_0x5126b3(0x10716),_0x38e109['v'][_0x2048c3(0x96f)]['shadowMapFragment']=_0x2048c3(0xbea),_0x38e109['v'][_0x2048c3(0x52c)][_0x2048c3(0x9bf)]='#include<shadowMapFragmentExtraDeclaration>\x0a#ifdef\x20ALPHATEXTURE\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#include<clipPlaneFragment>\x0a#ifdef\x20ALPHATEXTURE\x0afloat\x20alphaFromAlphaTexture=texture2D(diffuseSampler,vUV).a;\x0a#ifdef\x20ALPHATESTVALUE\x0aif\x20(alphaFromAlphaTexture<ALPHATESTVALUE)\x0adiscard;\x0a#endif\x0a#endif\x0a#if\x20SM_SOFTTRANSPARENTSHADOW==1\x0a#ifdef\x20ALPHATEXTURE\x0aif\x20((bayerDither8(floor(mod(gl_FragCoord.xy,8.0))))/64.0>=softTransparentShadowSM*alphaFromAlphaTexture)\x20discard;\x0a#else\x0aif\x20((bayerDither8(floor(mod(gl_FragCoord.xy,8.0))))/64.0>=softTransparentShadowSM)\x20discard;\x0a#endif\x0a#endif\x0a#include<shadowMapFragment>\x0a}';},0xea7f:(_0x13d953,_0x29fbcc,_0x3c6bd8)=>{var _0x3bf12d=a7_0x51ebec,_0x2ea6dd=_0x3c6bd8(0x26fa);_0x3c6bd8(0x11c69),_0x3c6bd8(0x2648),_0x3c6bd8(0x11b65),_0x3c6bd8(0x12771),_0x3c6bd8(0x8cd3),_0x2ea6dd['v']['IncludesShadersStore']['sceneVertexDeclaration']=_0x3bf12d(0x783),_0x2ea6dd['v'][_0x3bf12d(0x96f)][_0x3bf12d(0x9a0)]=_0x3bf12d(0x2cf),_0x2ea6dd['v'][_0x3bf12d(0x96f)]['shadowMapVertexDeclaration']='#include<sceneVertexDeclaration>\x0a#include<meshVertexDeclaration>\x0a',_0x3c6bd8(0xb1dc),_0x3c6bd8(0x10150),_0x2ea6dd['v'][_0x3bf12d(0x96f)][_0x3bf12d(0x613)]='layout(std140,column_major)\x20uniform;\x0a#include<sceneUboDeclaration>\x0a#include<meshUboDeclaration>\x0a',_0x2ea6dd['v'][_0x3bf12d(0x96f)][_0x3bf12d(0x17c)]=_0x3bf12d(0xcff),_0x3c6bd8(0xd4f3),_0x3c6bd8(0x13d7),_0x3c6bd8(0x1201e),_0x3c6bd8(0x16c62),_0x3c6bd8(0x9e45),_0x3c6bd8(0x1396d),_0x2ea6dd['v'][_0x3bf12d(0x96f)][_0x3bf12d(0x755)]=_0x3bf12d(0x431),_0x2ea6dd['v']['IncludesShadersStore'][_0x3bf12d(0xac4)]=_0x3bf12d(0x9b1),_0x3c6bd8(0xc24a),_0x2ea6dd['v'][_0x3bf12d(0x52c)][_0x3bf12d(0xd06)]=_0x3bf12d(0x72d);},0x5d33:(_0xeeed00,_0x28e258,_0x5fd877)=>{var _0x43e200=a7_0x51ebec;_0x5fd877(0x26fa)['v'][_0x43e200(0x52c)][_0x43e200(0x69c)]=_0x43e200(0xaeb);},0x15d0b:(_0x14a38b,_0x5ee553,_0x46585b)=>{var _0x157c79=a7_0x51ebec;_0x46585b(0x26fa)['v'][_0x157c79(0x52c)][_0x157c79(0xcdc)]='#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20TEXTUREFUNC(s,c,l)\x20texture2DLodEXT(s,c,l)\x0a#else\x0a#define\x20TEXTUREFUNC(s,c,b)\x20texture2D(s,c,b)\x0a#endif\x0aprecision\x20highp\x20float;\x0avarying\x20vec3\x20vPosition;\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec2\x20tUV;\x0auniform\x20float\x20time;\x0auniform\x20float\x20spriteCount;\x0auniform\x20sampler2D\x20spriteSheet;\x0auniform\x20vec2\x20spriteMapSize;\x0auniform\x20vec2\x20outputSize;\x0auniform\x20vec2\x20stageSize;\x0auniform\x20sampler2D\x20frameMap;\x0auniform\x20sampler2D\x20tileMaps[LAYERS];\x0auniform\x20sampler2D\x20animationMap;\x0auniform\x20vec3\x20colorMul;\x0afloat\x20mt;\x0aconst\x20float\x20fdStep=1./4.;\x0aconst\x20float\x20aFrameSteps=1./MAX_ANIMATION_FRAMES;\x0amat4\x20getFrameData(float\x20frameID){\x0afloat\x20fX=frameID/spriteCount;\x0areturn\x20mat4(\x0atexture2D(frameMap,vec2(fX,0.),0.),\x0atexture2D(frameMap,vec2(fX,fdStep*1.),0.),\x0atexture2D(frameMap,vec2(fX,fdStep*2.),0.),\x0avec4(0.)\x0a);\x0a}\x0avoid\x20main(){\x0avec4\x20color=vec4(0.);\x0avec2\x20tileUV=fract(tUV);\x0a#ifdef\x20FLIPU\x0atileUV.y=1.0-tileUV.y;\x0a#endif\x0avec2\x20tileID=floor(tUV);\x0avec2\x20sheetUnits=1./spriteMapSize;\x0afloat\x20spriteUnits=1./spriteCount;\x0avec2\x20stageUnits=1./stageSize;\x0afor(int\x20i=0;\x20i<LAYERS;\x20i++)\x20{\x0afloat\x20frameID;\x0a#define\x20LAYER_ID_SWITCH\x0avec4\x20animationData=TEXTUREFUNC(animationMap,vec2((frameID+0.5)/spriteCount,0.),0.);\x0aif(animationData.y>0.)\x20{\x0amt=mod(time*animationData.z,1.0);\x0afor(float\x20f=0.;\x20f<MAX_ANIMATION_FRAMES;\x20f++){\x0aif(animationData.y>mt){\x0aframeID=animationData.x;\x0abreak;\x0a}\x0aanimationData=TEXTUREFUNC(animationMap,vec2((frameID+0.5)/spriteCount,aFrameSteps*f),0.);\x0a}\x0a}\x0amat4\x20frameData=getFrameData(frameID+0.5);\x0avec2\x20frameSize=(frameData[0].zw)/spriteMapSize;\x0avec2\x20offset=frameData[0].xy*sheetUnits;\x0avec2\x20ratio=frameData[2].xy/frameData[0].zw;\x0aif\x20(frameData[2].z==1.){\x0atileUV.xy=tileUV.yx;\x0a}\x0avec4\x20nc=texture2D(spriteSheet,tileUV*frameSize+offset);\x0aif\x20(i==0){\x0acolor=nc;\x0a}\x20else\x20{\x0afloat\x20alpha=min(color.a+nc.a,1.0);\x0avec3\x20mixed=mix(color.xyz,nc.xyz,nc.a);\x0acolor=vec4(mixed,alpha);\x0a}\x0a}\x0acolor.xyz*=colorMul;\x0agl_FragColor=color;\x0a}';},0xfdf9:(_0x127c54,_0x116a45,_0xbbd58b)=>{var _0x2f5220=a7_0x51ebec;_0xbbd58b(0x26fa)['v'][_0x2f5220(0x52c)][_0x2f5220(0x664)]=_0x2f5220(0x192);},0x1546d:(_0x4df098,_0x5cd9eb,_0x2a7c73)=>{var _0x553c35=a7_0x51ebec;_0x2a7c73(0x26fa)['v'][_0x553c35(0x52c)][_0x553c35(0x94f)]=_0x553c35(0x4f8);},0x2d01:(_0x42c5e3,_0x2be810,_0x1cb4b6)=>{var _0x3a0f2c=a7_0x51ebec;_0x1cb4b6(0x26fa)['v'][_0x3a0f2c(0x52c)][_0x3a0f2c(0xa3f)]=_0x3a0f2c(0x4a9);},0xadd1:(_0x346bfb,_0x3efa25,_0x2b8329)=>{var _0x4688f8=a7_0x51ebec;_0x2b8329(0x26fa)['v'][_0x4688f8(0x52c)][_0x4688f8(0xb55)]=_0x4688f8(0x6ae);},0x834e:(_0x31b29e,_0xe9097f,_0xb94530)=>{var _0x280426=a7_0x51ebec,_0x1304aa=_0xb94530(0x26fa);_0xb94530(0x4a11),_0x1304aa['v'][_0x280426(0x52c)][_0x280426(0x928)]=_0x280426(0xd3d);},0x15edb:(_0x1d9513,_0x553c12,_0x614be7)=>{var _0x25f66a=a7_0x51ebec;_0x614be7(0x26fa)['v'][_0x25f66a(0x52c)][_0x25f66a(0x26b)]='const\x20vec3\x20TWO=vec3(2.0,2.0,2.0);\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20camASampler;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20stepSize;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0abool\x20useCamA;\x0abool\x20useCamB;\x0avec2\x20texCoord1;\x0avec2\x20texCoord2;\x0avec3\x20frag1;\x0avec3\x20frag2;\x0a#ifdef\x20IS_STEREOSCOPIC_HORIZ\x0auseCamB=vUV.x>0.5;\x0auseCamA=!useCamB;\x0atexCoord1=vec2(useCamB\x20?\x20(vUV.x-0.5)*2.0\x20:\x20vUV.x*2.0,vUV.y);\x0atexCoord2=vec2(texCoord1.x+stepSize.x,vUV.y);\x0a#else\x0a#ifdef\x20IS_STEREOSCOPIC_INTERLACED\x0afloat\x20rowNum=floor(vUV.y/stepSize.y);\x0auseCamA=mod(rowNum,2.0)==1.0;\x0auseCamB=mod(rowNum,2.0)==0.0;\x0atexCoord1=vec2(vUV.x,vUV.y);\x0atexCoord2=vec2(vUV.x,vUV.y);\x0a#else\x0auseCamB=vUV.y>0.5;\x0auseCamA=!useCamB;\x0atexCoord1=vec2(vUV.x,useCamB\x20?\x20(vUV.y-0.5)*2.0\x20:\x20vUV.y*2.0);\x0atexCoord2=vec2(vUV.x,texCoord1.y+stepSize.y);\x0a#endif\x0a#endif\x0aif\x20(useCamB){\x0afrag1=texture2D(textureSampler,texCoord1).rgb;\x0afrag2=texture2D(textureSampler,texCoord2).rgb;\x0a}else\x20if\x20(useCamA){\x0afrag1=texture2D(camASampler\x20,texCoord1).rgb;\x0afrag2=texture2D(camASampler\x20,texCoord2).rgb;\x0a}else\x20{\x0adiscard;\x0a}\x0agl_FragColor=vec4((frag1+frag2)/TWO,1.0);\x0a}\x0a';},0x933d:(_0x172d5f,_0x28d6b5,_0x3d4b49)=>{var _0x56fad9=a7_0x51ebec;_0x3d4b49(0x26fa)['v']['ShadersStore']['tonemapPixelShader']=_0x56fad9(0x8d7);},0xdd3b:(_0x571c6f,_0x15285e,_0x2ef41d)=>{var _0x4f41e2=a7_0x51ebec;_0x2ef41d(0x26fa)['v']['ShadersStore'][_0x4f41e2(0x272)]='uniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20lightScatteringSampler;\x0auniform\x20float\x20decay;\x0auniform\x20float\x20exposure;\x0auniform\x20float\x20weight;\x0auniform\x20float\x20density;\x0auniform\x20vec2\x20meshPositionOnScreen;\x0avarying\x20vec2\x20vUV;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0avec2\x20tc=vUV;\x0avec2\x20deltaTexCoord=(tc-meshPositionOnScreen.xy);\x0adeltaTexCoord*=1.0/float(NUM_SAMPLES)*density;\x0afloat\x20illuminationDecay=1.0;\x0avec4\x20color=texture2D(lightScatteringSampler,tc)*0.4;\x0afor(int\x20i=0;\x20i<NUM_SAMPLES;\x20i++)\x20{\x0atc-=deltaTexCoord;\x0avec4\x20dataSample=texture2D(lightScatteringSampler,tc)*0.4;\x0adataSample*=illuminationDecay*weight;\x0acolor+=dataSample;\x0ailluminationDecay*=decay;\x0a}\x0avec4\x20realColor=texture2D(textureSampler,vUV);\x0agl_FragColor=((vec4((vec3(color.r,color.g,color.b)*exposure),1))+(realColor*(1.5-0.4)));\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a';},0x5da2:(_0x326fb8,_0x50703a,_0x30892c)=>{var _0x279f5e=a7_0x51ebec;_0x30892c(0x26fa)['v'][_0x279f5e(0x52c)]['volumetricLightScatteringPassPixelShader']='#if\x20defined(ALPHATEST)\x20||\x20defined(NEED_UV)\x0avarying\x20vec2\x20vUV;\x0a#endif\x0a#if\x20defined(ALPHATEST)\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#if\x20defined(ALPHATEST)\x0avec4\x20diffuseColor=texture2D(diffuseSampler,vUV);\x0aif\x20(diffuseColor.a<0.4)\x0adiscard;\x0a#endif\x0agl_FragColor=vec4(0.0,0.0,0.0,1.0);\x0a}\x0a';},0xc8d8:(_0x45b669,_0x416038,_0x1450f2)=>{var _0x478025=a7_0x51ebec,_0x5f93f5=_0x1450f2(0x26fa);_0x1450f2(0x11c69),_0x1450f2(0x2648),_0x1450f2(0x11b65),_0x1450f2(0x12771),_0x1450f2(0xe7da),_0x1450f2(0x13d7),_0x1450f2(0x1201e),_0x1450f2(0x16c62),_0x1450f2(0x9e45),_0x1450f2(0x1396d),_0x5f93f5['v'][_0x478025(0x52c)]['volumetricLightScatteringPassVertexShader']='attribute\x20vec3\x20position;\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20viewProjection;\x0auniform\x20vec2\x20depthValues;\x0a#if\x20defined(ALPHATEST)\x20||\x20defined(NEED_UV)\x0avarying\x20vec2\x20vUV;\x0auniform\x20mat4\x20diffuseMatrix;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec3\x20positionUpdated=position;\x0a#if\x20(defined(ALPHATEST)\x20||\x20defined(NEED_UV))\x20&&\x20defined(UV1)\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#include<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0agl_Position=viewProjection*finalWorld*vec4(positionUpdated,1.0);\x0a#if\x20defined(ALPHATEST)\x20||\x20defined(BASIC_RENDER)\x0a#ifdef\x20UV1\x0avUV=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20UV2\x0avUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a}\x0a';},0x6c52:(_0x337565,_0x3309a7,_0x155866)=>{var _0x2b4980=a7_0x51ebec;_0x155866(0x26fa)['v']['ShadersStore'][_0x2b4980(0xb7c)]=_0x2b4980(0x5ef);},0xf063:(_0x17c9a7,_0x46ccbb,_0x3c41dc)=>{var _0x3e67e5=a7_0x51ebec;_0x3c41dc(0x26fa)['v']['ShadersStore'][_0x3e67e5(0x22a)]=_0x3e67e5(0x2a2);},0x9bc9:(_0x4beba1,_0x441676,_0x4a604c)=>{var _0x444d07=a7_0x51ebec;_0x4a604c['d'](_0x441676,{'T':()=>_0x21cacf});var _0x2a658e=_0x4a604c(0x1610),_0x14d481=_0x4a604c(0x1679c),_0x191635=_0x4a604c(0xe59d),_0x441676=(_0x4a604c(0xf5ea),_0x4a604c(0x9314),_0x4a604c(0x26fa));_0x4a604c(0x17b64),_0x4a604c(0xf45c),_0x4a604c(0xa9cf),_0x441676['v'][_0x444d07(0x52c)][_0x444d07(0x3d7)]=_0x444d07(0xcea),_0x4a604c(0x1162f),_0x441676['v']['ShadersStore'][_0x444d07(0x57a)]=_0x444d07(0xd0f);class _0x21cacf{constructor(_0xb6143f,_0x1f99cb,_0x265847=0.01,_0x3509e8=null){var _0x38c948=_0x444d07;this['blendMode']=_0x2a658e['g']['ALPHA_COMBINE'],this[_0x38c948(0x2ec)]=!0x0,this['disableDepthWrite']=!0x1,this[_0x38c948(0x739)]=!0x0,this[_0x38c948(0x6eb)]=!0x1,this['_useVAO']=!0x1,this[_0x38c948(0x54f)]=!0x1,this[_0x38c948(0x519)]={},this[_0x38c948(0xb18)]=_0x1f99cb,this[_0x38c948(0x52f)]=_0x265847,this[_0x38c948(0x8ba)]=_0xb6143f,this[_0x38c948(0x54f)]=_0xb6143f[_0x38c948(0x61c)]()[_0x38c948(0xa63)]&&_0xb6143f[_0x38c948(0x356)]['supportSpriteInstancing'],this[_0x38c948(0xb98)]=_0xb6143f[_0x38c948(0x61c)]()[_0x38c948(0xc18)]&&!_0xb6143f['disableVertexArrayObjects'],this['_scene']=_0x3509e8,this[_0x38c948(0x54f)]||this['_buildIndexBuffer'](),this[_0x38c948(0x2eb)]=this[_0x38c948(0x54f)]?0x10:0x12,this[_0x38c948(0x699)]=new Float32Array(_0x1f99cb*this[_0x38c948(0x2eb)]*(this['_useInstancing']?0x1:0x4)),this['_buffer']=new _0x14d481['l'](_0xb6143f,this['_vertexData'],!0x0,this[_0x38c948(0x2eb)]),(_0x265847=this[_0x38c948(0xd2b)][_0x38c948(0x66f)](_0x14d481['o'][_0x38c948(0xc6a)],0x0,0x4,this[_0x38c948(0x2eb)],this[_0x38c948(0x54f)]),_0x3509e8=this[_0x38c948(0xd2b)][_0x38c948(0x66f)](_0x38c948(0xa01),0x4,0x2,this[_0x38c948(0x2eb)],this[_0x38c948(0x54f)]));let _0x5adfda=0x6,_0x29bfde;this[_0x38c948(0x54f)]?(_0x1f99cb=new Float32Array([0x0,0x0,0x1,0x0,0x0,0x1,0x1,0x1]),this['_spriteBuffer']=new _0x14d481['l'](_0xb6143f,_0x1f99cb,!0x1,0x2),_0x29bfde=this[_0x38c948(0x299)]['createVertexBuffer']('offsets',0x0,0x2)):(_0x29bfde=this[_0x38c948(0xd2b)][_0x38c948(0x66f)]('offsets',_0x5adfda,0x2,this[_0x38c948(0x2eb)],this[_0x38c948(0x54f)]),_0x5adfda+=0x2);var _0xb6143f=this[_0x38c948(0xd2b)][_0x38c948(0x66f)]('inverts',_0x5adfda,0x2,this['_vertexBufferSize'],this[_0x38c948(0x54f)]),_0x1f99cb=this[_0x38c948(0xd2b)][_0x38c948(0x66f)](_0x38c948(0xb0d),_0x5adfda+0x2,0x4,this[_0x38c948(0x2eb)],this[_0x38c948(0x54f)]),_0x3f6786=this['_buffer'][_0x38c948(0x66f)](_0x14d481['o']['ColorKind'],_0x5adfda+0x6,0x4,this[_0x38c948(0x2eb)],this[_0x38c948(0x54f)]);this[_0x38c948(0x519)][_0x14d481['o']['PositionKind']]=_0x265847,this['_vertexBuffers']['options']=_0x3509e8,this[_0x38c948(0x519)][_0x38c948(0x3b6)]=_0x29bfde,this[_0x38c948(0x519)][_0x38c948(0x70f)]=_0xb6143f,this[_0x38c948(0x519)][_0x38c948(0xb0d)]=_0x1f99cb,this[_0x38c948(0x519)][_0x14d481['o'][_0x38c948(0x651)]]=_0x3f6786,this[_0x38c948(0x9c9)]();}get['capacity'](){var _0x48e094=_0x444d07;return this[_0x48e094(0xb18)];}get[_0x444d07(0x2f2)](){var _0x17a472=_0x444d07;return this[_0x17a472(0x6eb)];}set[_0x444d07(0x2f2)](_0x3da4af){var _0x13b3a5=_0x444d07;this[_0x13b3a5(0x6eb)]!==_0x3da4af&&(this[_0x13b3a5(0x6eb)]=_0x3da4af,this[_0x13b3a5(0x9c9)]());}['_createEffects'](){var _0x5a7b69=_0x444d07;null!=(_0x5a0eba=this['_drawWrapperBase'])&&_0x5a0eba[_0x5a7b69(0x38b)](),null!=(_0x5a0eba=this[_0x5a7b69(0x174)])&&_0x5a0eba[_0x5a7b69(0x38b)](),null!=(_0x5a0eba=this[_0x5a7b69(0x6bf)])&&_0x5a0eba['dispose'](),null!=(_0x5a0eba=this[_0x5a7b69(0x3e2)])&&_0x5a0eba['dispose'](),this[_0x5a7b69(0x435)]=new _0x191635['q'](this[_0x5a7b69(0x8ba)]),this[_0x5a7b69(0x174)]=new _0x191635['q'](this[_0x5a7b69(0x8ba)]),this[_0x5a7b69(0x6bf)]=new _0x191635['q'](this['_engine'],!0x1),this[_0x5a7b69(0x3e2)]=new _0x191635['q'](this[_0x5a7b69(0x8ba)],!0x1),this['_drawWrapperBase'][_0x5a7b69(0x8d6)]&&(this[_0x5a7b69(0x435)][_0x5a7b69(0x8d6)][_0x5a7b69(0xbd8)]=this[_0x5a7b69(0x54f)]),this[_0x5a7b69(0x174)][_0x5a7b69(0x8d6)]&&(this[_0x5a7b69(0x174)][_0x5a7b69(0x8d6)][_0x5a7b69(0xbd8)]=this[_0x5a7b69(0x54f)]),this['_drawWrapperDepth'][_0x5a7b69(0x8d6)]&&(this[_0x5a7b69(0x6bf)][_0x5a7b69(0x8d6)][_0x5a7b69(0xbd8)]=this['_useInstancing']),this['_drawWrapperFogDepth']['drawContext']&&(this[_0x5a7b69(0x3e2)]['drawContext']['useInstancing']=this['_useInstancing']);var _0x5a0eba=this['_pixelPerfect']?'#define\x20PIXEL_PERFECT\x0a':'';this[_0x5a7b69(0x435)][_0x5a7b69(0xc09)]=this[_0x5a7b69(0x8ba)]['createEffect']('sprites',[_0x14d481['o'][_0x5a7b69(0xc6a)],'options','offsets','inverts',_0x5a7b69(0xb0d),_0x14d481['o'][_0x5a7b69(0x651)]],[_0x5a7b69(0x1be),_0x5a7b69(0x262),_0x5a7b69(0xba5),_0x5a7b69(0x9fb)],['diffuseSampler'],_0x5a0eba),this['_drawWrapperDepth'][_0x5a7b69(0xc09)]=this[_0x5a7b69(0x435)][_0x5a7b69(0xc09)],this[_0x5a7b69(0x6bf)][_0x5a7b69(0x31e)]=this['_drawWrapperBase'][_0x5a7b69(0x31e)],this[_0x5a7b69(0xba4)]&&(this[_0x5a7b69(0x174)][_0x5a7b69(0xc09)]=this[_0x5a7b69(0xba4)][_0x5a7b69(0x975)]()['createEffect'](_0x5a7b69(0x4fc),[_0x14d481['o'][_0x5a7b69(0xc6a)],_0x5a7b69(0xa01),'offsets',_0x5a7b69(0x70f),_0x5a7b69(0xb0d),_0x14d481['o'][_0x5a7b69(0x651)]],[_0x5a7b69(0x1be),_0x5a7b69(0x262),_0x5a7b69(0xba5),_0x5a7b69(0x9fb),'vFogInfos',_0x5a7b69(0xb25)],[_0x5a7b69(0x5db)],_0x5a0eba+_0x5a7b69(0x623)),this[_0x5a7b69(0x3e2)][_0x5a7b69(0xc09)]=this[_0x5a7b69(0x174)][_0x5a7b69(0xc09)],this[_0x5a7b69(0x3e2)][_0x5a7b69(0x31e)]=this[_0x5a7b69(0x174)][_0x5a7b69(0x31e)]);}[_0x444d07(0x88f)](_0x5b5a84,_0x570bb0,_0x150d01,_0x380e08,_0xdbb845=null){var _0x351ff1=_0x444d07;if(this[_0x351ff1(0x823)]&&this['texture'][_0x351ff1(0x834)]()&&_0x5b5a84['length']){let _0x3eadd4=this[_0x351ff1(0x435)],_0x1f05ad=this[_0x351ff1(0x6bf)],_0x12766a=!0x1;this[_0x351ff1(0x739)]&&this[_0x351ff1(0xba4)]&&this[_0x351ff1(0xba4)][_0x351ff1(0x739)]&&0x0!==this[_0x351ff1(0xba4)]['fogMode']&&(_0x3eadd4=this[_0x351ff1(0x174)],_0x1f05ad=this[_0x351ff1(0x3e2)],_0x12766a=!0x0);const _0x179a37=_0x3eadd4[_0x351ff1(0xc09)];if(_0x179a37['isReady']()){const _0x37a438=this['_engine'];var _0x2bc6f0,_0x3a1c11,_0x5aeca6,_0x9f2f2e=!(!this[_0x351ff1(0xba4)]||!this[_0x351ff1(0xba4)][_0x351ff1(0xaae)]),_0x3b9b0a=this['texture'][_0x351ff1(0x54a)](),_0x48125d=Math[_0x351ff1(0x4fd)](this[_0x351ff1(0xb18)],_0x5b5a84[_0x351ff1(0x9ff)]);let _0x2d014a=0x0,_0x105820=!0x0;for(let _0x16a21b=0x0;_0x16a21b<_0x48125d;_0x16a21b++){const _0x207678=_0x5b5a84[_0x16a21b];_0x207678&&_0x207678[_0x351ff1(0xcd0)]&&(_0x105820=!0x1,_0x207678[_0x351ff1(0xb94)](_0x570bb0),this[_0x351ff1(0xb56)](_0x2d014a++,_0x207678,0x0,0x0,_0x3b9b0a,_0x9f2f2e,_0xdbb845),this[_0x351ff1(0x54f)]||(this[_0x351ff1(0xb56)](_0x2d014a++,_0x207678,0x1,0x0,_0x3b9b0a,_0x9f2f2e,_0xdbb845),this[_0x351ff1(0xb56)](_0x2d014a++,_0x207678,0x1,0x1,_0x3b9b0a,_0x9f2f2e,_0xdbb845),this[_0x351ff1(0xb56)](_0x2d014a++,_0x207678,0x0,0x1,_0x3b9b0a,_0x9f2f2e,_0xdbb845)));}_0x105820||(this[_0x351ff1(0xd2b)][_0x351ff1(0x842)](this[_0x351ff1(0x699)]),_0x2bc6f0=!!_0x37a438['depthCullingState'][_0x351ff1(0xd4e)],_0x3a1c11=_0x37a438[_0x351ff1(0x7cc)][_0x351ff1(0x3cf)],_0x5aeca6=_0x37a438[_0x351ff1(0x7cc)]['zOffsetUnits'],_0x37a438[_0x351ff1(0x3a5)](_0x2bc6f0,_0x3a1c11,!0x1,!0x1,void 0x0,void 0x0,_0x5aeca6),_0x37a438[_0x351ff1(0xa86)](_0x3eadd4),_0x179a37[_0x351ff1(0x353)](_0x351ff1(0x5db),this[_0x351ff1(0x823)]),_0x179a37['setMatrix']('view',_0x150d01),_0x179a37[_0x351ff1(0x20f)](_0x351ff1(0x262),_0x380e08),_0x12766a&&(_0x150d01=this[_0x351ff1(0xba4)],_0x179a37['setFloat4'](_0x351ff1(0xbf6),_0x150d01[_0x351ff1(0xc95)],_0x150d01[_0x351ff1(0x6b5)],_0x150d01[_0x351ff1(0x754)],_0x150d01[_0x351ff1(0x342)]),_0x179a37[_0x351ff1(0x8a0)](_0x351ff1(0xb25),_0x150d01[_0x351ff1(0x9d2)])),this[_0x351ff1(0xb98)]?(this['_vertexArrayObject']||(this['_vertexArrayObject']=_0x37a438['recordVertexArrayObject'](this[_0x351ff1(0x519)],this[_0x351ff1(0x710)],_0x179a37)),_0x37a438['bindVertexArrayObject'](this[_0x351ff1(0xbb9)],this[_0x351ff1(0x710)])):_0x37a438['bindBuffers'](this['_vertexBuffers'],this[_0x351ff1(0x710)],_0x179a37),_0x37a438[_0x351ff1(0x7cc)][_0x351ff1(0x15c)]=_0x37a438[_0x351ff1(0xc0d)]?_0x2a658e['g'][_0x351ff1(0x86a)]:_0x2a658e['g'][_0x351ff1(0x250)],this[_0x351ff1(0x6f4)]||(_0x179a37['setBool'](_0x351ff1(0x9fb),!0x0),_0x37a438[_0x351ff1(0x91d)](!0x1),_0x37a438[_0x351ff1(0xa86)](_0x1f05ad),this[_0x351ff1(0x54f)]?_0x37a438[_0x351ff1(0xbf1)](_0x2a658e['g']['MATERIAL_TriangleStripDrawMode'],0x0,0x4,_0x2d014a):_0x37a438[_0x351ff1(0x270)](_0x2a658e['g']['MATERIAL_TriangleFillMode'],0x0,_0x2d014a/0x4*0x6),_0x37a438[_0x351ff1(0xa86)](_0x3eadd4),_0x37a438['setColorWrite'](!0x0),_0x179a37['setBool']('alphaTest',!0x1)),_0x37a438['setAlphaMode'](this[_0x351ff1(0x68c)]),this[_0x351ff1(0x54f)]?_0x37a438[_0x351ff1(0xbf1)](_0x2a658e['g'][_0x351ff1(0xaf8)],0x0,0x4,_0x2d014a):_0x37a438['drawElementsType'](_0x2a658e['g']['MATERIAL_TriangleFillMode'],0x0,_0x2d014a/0x4*0x6),this[_0x351ff1(0x2ec)]&&_0x37a438[_0x351ff1(0x3c5)](_0x2a658e['g'][_0x351ff1(0xcbd)]),_0x9f2f2e&&this[_0x351ff1(0xba4)]['getEngine']()['setState'](_0x2bc6f0,_0x3a1c11,!0x1,!0x0,void 0x0,void 0x0,_0x5aeca6),_0x37a438[_0x351ff1(0x37d)]());}}}[_0x444d07(0xb56)](_0x303eea,_0x5e0989,_0x2c2056,_0x5794eb,_0x4f0f80,_0x30b3d2,_0x544228){var _0x29bf1c=_0x444d07;let _0x1442a2=_0x303eea*this[_0x29bf1c(0x2eb)];0x0===_0x2c2056?_0x2c2056=this[_0x29bf1c(0x52f)]:0x1===_0x2c2056&&(_0x2c2056=0x1-this[_0x29bf1c(0x52f)]),0x0===_0x5794eb?_0x5794eb=this['_epsilon']:0x1===_0x5794eb&&(_0x5794eb=0x1-this[_0x29bf1c(0x52f)]),_0x544228?_0x544228(_0x5e0989,_0x4f0f80):(_0x5e0989['cellIndex']||(_0x5e0989[_0x29bf1c(0x940)]=0x0),_0x303eea=_0x4f0f80[_0x29bf1c(0x503)]/this[_0x29bf1c(0xaea)],_0x544228=_0x5e0989[_0x29bf1c(0x940)]/_0x303eea>>0x0,_0x5e0989[_0x29bf1c(0x6bd)]=(_0x5e0989[_0x29bf1c(0x940)]-_0x544228*_0x303eea)*this[_0x29bf1c(0xaea)]/_0x4f0f80[_0x29bf1c(0x503)],_0x5e0989['_yOffset']=_0x544228*this[_0x29bf1c(0xd31)]/_0x4f0f80[_0x29bf1c(0x7f5)],_0x5e0989[_0x29bf1c(0xa06)]=this[_0x29bf1c(0xaea)],_0x5e0989[_0x29bf1c(0x648)]=this[_0x29bf1c(0xd31)]),this[_0x29bf1c(0x699)][_0x1442a2]=_0x5e0989[_0x29bf1c(0xd1d)]['x'],this['_vertexData'][_0x1442a2+0x1]=_0x5e0989[_0x29bf1c(0xd1d)]['y'],this[_0x29bf1c(0x699)][_0x1442a2+0x2]=_0x5e0989[_0x29bf1c(0xd1d)]['z'],this[_0x29bf1c(0x699)][_0x1442a2+0x3]=_0x5e0989[_0x29bf1c(0xcae)],this['_vertexData'][_0x1442a2+0x4]=_0x5e0989['width'],this[_0x29bf1c(0x699)][_0x1442a2+0x5]=_0x5e0989['height'],this['_useInstancing']?_0x1442a2-=0x2:(this[_0x29bf1c(0x699)][_0x1442a2+0x6]=_0x2c2056,this['_vertexData'][_0x1442a2+0x7]=_0x5794eb),this['_vertexData'][_0x1442a2+0x8]=_0x30b3d2?_0x5e0989[_0x29bf1c(0x657)]?0x0:0x1:_0x5e0989[_0x29bf1c(0x657)]?0x1:0x0,this[_0x29bf1c(0x699)][_0x1442a2+0x9]=_0x5e0989['invertV']?0x1:0x0,this[_0x29bf1c(0x699)][_0x1442a2+0xa]=_0x5e0989[_0x29bf1c(0x6bd)],this[_0x29bf1c(0x699)][_0x1442a2+0xb]=_0x5e0989[_0x29bf1c(0x3bd)],this[_0x29bf1c(0x699)][_0x1442a2+0xc]=_0x5e0989[_0x29bf1c(0xa06)]/_0x4f0f80[_0x29bf1c(0x503)],this[_0x29bf1c(0x699)][_0x1442a2+0xd]=_0x5e0989['_ySize']/_0x4f0f80[_0x29bf1c(0x7f5)],this[_0x29bf1c(0x699)][_0x1442a2+0xe]=_0x5e0989['color']['r'],this[_0x29bf1c(0x699)][_0x1442a2+0xf]=_0x5e0989['color']['g'],this['_vertexData'][_0x1442a2+0x10]=_0x5e0989[_0x29bf1c(0x3fe)]['b'],this['_vertexData'][_0x1442a2+0x11]=_0x5e0989['color']['a'];}[_0x444d07(0xc3f)](){var _0x2bf69e=_0x444d07;const _0x576de6=[];let _0xf1bc1a=0x0;for(let _0x43c7d1=0x0;_0x43c7d1<this[_0x2bf69e(0xb18)];_0x43c7d1++)_0x576de6[_0x2bf69e(0x2f7)](_0xf1bc1a),_0x576de6['push'](_0xf1bc1a+0x1),_0x576de6[_0x2bf69e(0x2f7)](_0xf1bc1a+0x2),_0x576de6['push'](_0xf1bc1a),_0x576de6[_0x2bf69e(0x2f7)](_0xf1bc1a+0x2),_0x576de6[_0x2bf69e(0x2f7)](_0xf1bc1a+0x3),_0xf1bc1a+=0x4;this[_0x2bf69e(0x710)]=this[_0x2bf69e(0x8ba)][_0x2bf69e(0xd58)](_0x576de6);}[_0x444d07(0xb02)](){var _0x5aaa0c=_0x444d07,_0x5eed21;this['_indexBuffer']&&this[_0x5aaa0c(0xc3f)](),this['_useVAO']&&(this[_0x5aaa0c(0xbb9)]=void 0x0),this[_0x5aaa0c(0xd2b)][_0x5aaa0c(0x4ea)]();for(const _0x2ad435 in this[_0x5aaa0c(0x519)]){const _0x1c34d0=this[_0x5aaa0c(0x519)][_0x2ad435];_0x1c34d0[_0x5aaa0c(0x4ea)]();}null!=(_0x5eed21=this[_0x5aaa0c(0x299)])&&_0x5eed21[_0x5aaa0c(0x4ea)]();}['dispose'](){var _0x43eb43=_0x444d07;this[_0x43eb43(0xd2b)]&&(this[_0x43eb43(0xd2b)][_0x43eb43(0x38b)](),this[_0x43eb43(0xd2b)]=null),this[_0x43eb43(0x299)]&&(this[_0x43eb43(0x299)][_0x43eb43(0x38b)](),this[_0x43eb43(0x299)]=null),this[_0x43eb43(0x710)]&&(this[_0x43eb43(0x8ba)][_0x43eb43(0x6e5)](this[_0x43eb43(0x710)]),this[_0x43eb43(0x710)]=null),this[_0x43eb43(0xbb9)]&&(this[_0x43eb43(0x8ba)][_0x43eb43(0x895)](this[_0x43eb43(0xbb9)]),this['_vertexArrayObject']=null),this[_0x43eb43(0x823)]&&(this[_0x43eb43(0x823)][_0x43eb43(0x38b)](),this[_0x43eb43(0x823)]=null),this['_drawWrapperBase']['dispose'](),this['_drawWrapperFog'][_0x43eb43(0x38b)](),this[_0x43eb43(0x6bf)]['dispose'](),this[_0x43eb43(0x3e2)][_0x43eb43(0x38b)]();}}},0xda7:(_0x200581,_0x21b6ed,_0x24cc7c)=>{var _0x26e1c9=a7_0x51ebec;_0x24cc7c['d'](_0x21b6ed,{'l':()=>_0x54f7ed});class _0x54f7ed{constructor(){var _0x3ad48a=a7_0x4956;this[_0x3ad48a(0x503)]=0x1,this[_0x3ad48a(0x7f5)]=0x1,this[_0x3ad48a(0xcae)]=0x0,this['invertU']=!0x1,this[_0x3ad48a(0x3d3)]=!0x1,this[_0x3ad48a(0xcd0)]=!0x0,this['_animationStarted']=!0x1,this[_0x3ad48a(0x35b)]=!0x1,this['_fromIndex']=0x0,this[_0x3ad48a(0x3f1)]=0x0,this[_0x3ad48a(0x9cc)]=0x0,this[_0x3ad48a(0x8dd)]=0x1,this['_time']=0x0,this['_onBaseAnimationEnd']=null,this[_0x3ad48a(0xd1d)]={'x':0x1,'y':0x1,'z':0x1},this['color']={'r':0x1,'g':0x1,'b':0x1,'a':0x1};}get[_0x26e1c9(0xce9)](){var _0x29dd87=_0x26e1c9;return this[_0x29dd87(0x935)];}get[_0x26e1c9(0x370)](){var _0x50b42f=_0x26e1c9;return this[_0x50b42f(0x7a6)];}get['toIndex'](){var _0xd0e4a8=_0x26e1c9;return this[_0xd0e4a8(0x3f1)];}get[_0x26e1c9(0x9a5)](){var _0x2b650e=_0x26e1c9;return this[_0x2b650e(0x35b)];}get[_0x26e1c9(0xb64)](){var _0x5301a1=_0x26e1c9;return Math[_0x5301a1(0xbe7)](this[_0x5301a1(0x9cc)],0x1);}[_0x26e1c9(0x229)](_0x77ff25,_0x44055c,_0x65bcdc,_0x4955d0,_0x12368a){var _0x17a80c=_0x26e1c9;this[_0x17a80c(0x7a6)]=_0x77ff25,this[_0x17a80c(0x3f1)]=_0x44055c,this[_0x17a80c(0x35b)]=_0x65bcdc,this['_delay']=_0x4955d0||0x1,this[_0x17a80c(0x935)]=!0x0,this[_0x17a80c(0x70b)]=_0x12368a,_0x77ff25<_0x44055c?this[_0x17a80c(0x8dd)]=0x1:(this[_0x17a80c(0x8dd)]=-0x1,this[_0x17a80c(0x3f1)]=_0x77ff25,this[_0x17a80c(0x7a6)]=_0x44055c),this['cellIndex']=_0x77ff25,this['_time']=0x0;}['stopAnimation'](){var _0x2d924f=_0x26e1c9;this[_0x2d924f(0x935)]=!0x1;}['_animate'](_0x221739){var _0x2f70de=_0x26e1c9;this['_animationStarted']&&(this[_0x2f70de(0x5a0)]+=_0x221739,this[_0x2f70de(0x5a0)]>this[_0x2f70de(0x9cc)]&&(this[_0x2f70de(0x5a0)]=this[_0x2f70de(0x5a0)]%this[_0x2f70de(0x9cc)],this[_0x2f70de(0x940)]+=this[_0x2f70de(0x8dd)],(0x0<this[_0x2f70de(0x8dd)]&&this['cellIndex']>this[_0x2f70de(0x3f1)]||this['_direction']<0x0&&this[_0x2f70de(0x940)]<this[_0x2f70de(0x7a6)])&&(this['_loopAnimation']?this[_0x2f70de(0x940)]=0x0<this[_0x2f70de(0x8dd)]?this[_0x2f70de(0x7a6)]:this[_0x2f70de(0x3f1)]:(this[_0x2f70de(0x940)]=this[_0x2f70de(0x3f1)],this[_0x2f70de(0x935)]=!0x1,this[_0x2f70de(0x70b)]&&this['_onBaseAnimationEnd']()))));}}},0x162ca:(_0x3fe600,_0x5ee772,_0x497dba)=>{var _0x5d7ba2=a7_0x51ebec;_0x497dba['d'](_0x5ee772,{'Q':()=>_0x256a1});class _0x256a1{constructor(){var _0x113d3e=a7_0x4956;this['_blendFunctionParameters']=new Array(0x4),this['_blendEquationParameters']=new Array(0x2),this[_0x113d3e(0xaed)]=new Array(0x4),this[_0x113d3e(0x210)]=!0x1,this[_0x113d3e(0xb24)]=!0x1,this[_0x113d3e(0x919)]=!0x1,this['_isBlendFunctionParametersDirty']=!0x1,this[_0x113d3e(0x237)]=!0x1,this[_0x113d3e(0xbf4)]();}get[_0x5d7ba2(0x23b)](){var _0x435395=_0x5d7ba2;return this['_isAlphaBlendDirty']||this[_0x435395(0x34c)]||this['_isBlendEquationParametersDirty'];}get[_0x5d7ba2(0x5be)](){var _0x47747a=_0x5d7ba2;return this[_0x47747a(0xb24)];}set['alphaBlend'](_0x29d44c){var _0x8a56e7=_0x5d7ba2;this[_0x8a56e7(0xb24)]!==_0x29d44c&&(this[_0x8a56e7(0xb24)]=_0x29d44c,this['_isAlphaBlendDirty']=!0x0);}[_0x5d7ba2(0x593)](_0x328261,_0x14d4ed,_0xa1a48,_0x3c1d8a){var _0x3111ac=_0x5d7ba2;this[_0x3111ac(0xaed)][0x0]===_0x328261&&this[_0x3111ac(0xaed)][0x1]===_0x14d4ed&&this[_0x3111ac(0xaed)][0x2]===_0xa1a48&&this[_0x3111ac(0xaed)][0x3]===_0x3c1d8a||(this[_0x3111ac(0xaed)][0x0]=_0x328261,this[_0x3111ac(0xaed)][0x1]=_0x14d4ed,this[_0x3111ac(0xaed)][0x2]=_0xa1a48,this[_0x3111ac(0xaed)][0x3]=_0x3c1d8a,this[_0x3111ac(0x210)]=!0x0);}['setAlphaBlendFunctionParameters'](_0x1cf92d,_0x4ef14c,_0x431dcf,_0x32bce8){var _0x4cd598=_0x5d7ba2;this[_0x4cd598(0x824)][0x0]===_0x1cf92d&&this[_0x4cd598(0x824)][0x1]===_0x4ef14c&&this[_0x4cd598(0x824)][0x2]===_0x431dcf&&this[_0x4cd598(0x824)][0x3]===_0x32bce8||(this[_0x4cd598(0x824)][0x0]=_0x1cf92d,this[_0x4cd598(0x824)][0x1]=_0x4ef14c,this[_0x4cd598(0x824)][0x2]=_0x431dcf,this['_blendFunctionParameters'][0x3]=_0x32bce8,this[_0x4cd598(0x34c)]=!0x0);}[_0x5d7ba2(0x43d)](_0x1eb562,_0x717362){var _0x2fc409=_0x5d7ba2;this[_0x2fc409(0xc86)][0x0]===_0x1eb562&&this['_blendEquationParameters'][0x1]===_0x717362||(this[_0x2fc409(0xc86)][0x0]=_0x1eb562,this[_0x2fc409(0xc86)][0x1]=_0x717362,this['_isBlendEquationParametersDirty']=!0x0);}[_0x5d7ba2(0xbf4)](){var _0x3dcb1d=_0x5d7ba2;this[_0x3dcb1d(0xb24)]=!0x1,this['_blendFunctionParameters'][0x0]=null,this[_0x3dcb1d(0x824)][0x1]=null,this['_blendFunctionParameters'][0x2]=null,this[_0x3dcb1d(0x824)][0x3]=null,this[_0x3dcb1d(0xc86)][0x0]=null,this[_0x3dcb1d(0xc86)][0x1]=null,this[_0x3dcb1d(0xaed)][0x0]=null,this['_blendConstants'][0x1]=null,this[_0x3dcb1d(0xaed)][0x2]=null,this[_0x3dcb1d(0xaed)][0x3]=null,this[_0x3dcb1d(0x919)]=!0x0,this['_isBlendFunctionParametersDirty']=!0x1,this['_isBlendEquationParametersDirty']=!0x1,this[_0x3dcb1d(0x210)]=!0x1;}[_0x5d7ba2(0x7d5)](_0x25a8e7){var _0xa3d2fd=_0x5d7ba2;this['isDirty']&&(this[_0xa3d2fd(0x919)]&&(this['_alphaBlend']?_0x25a8e7[_0xa3d2fd(0x4d2)](_0x25a8e7['BLEND']):_0x25a8e7[_0xa3d2fd(0x333)](_0x25a8e7[_0xa3d2fd(0x378)]),this[_0xa3d2fd(0x919)]=!0x1),this[_0xa3d2fd(0x34c)]&&(_0x25a8e7['blendFuncSeparate'](this['_blendFunctionParameters'][0x0],this[_0xa3d2fd(0x824)][0x1],this[_0xa3d2fd(0x824)][0x2],this[_0xa3d2fd(0x824)][0x3]),this['_isBlendFunctionParametersDirty']=!0x1),this[_0xa3d2fd(0x237)]&&(_0x25a8e7[_0xa3d2fd(0x4a7)](this[_0xa3d2fd(0xc86)][0x0],this[_0xa3d2fd(0xc86)][0x1]),this[_0xa3d2fd(0x237)]=!0x1),this[_0xa3d2fd(0x210)]&&(_0x25a8e7[_0xa3d2fd(0xbd0)](this[_0xa3d2fd(0xaed)][0x0],this[_0xa3d2fd(0xaed)][0x1],this['_blendConstants'][0x2],this[_0xa3d2fd(0xaed)][0x3]),this[_0xa3d2fd(0x210)]=!0x1));}}},0x6346:(_0x10f716,_0x289784,_0x33b6f5)=>{var _0x35ea3f=a7_0x51ebec;_0x33b6f5['d'](_0x289784,{'k':()=>_0x198587});class _0x198587{constructor(_0x5a7033=!0x0){var _0x92046c=a7_0x4956;this[_0x92046c(0x241)]=!0x1,this[_0x92046c(0x896)]=!0x1,this[_0x92046c(0x98b)]=!0x1,this[_0x92046c(0x421)]=!0x1,this[_0x92046c(0x4c3)]=!0x1,this[_0x92046c(0x8ca)]=!0x1,this[_0x92046c(0x76b)]=!0x1,_0x5a7033&&this[_0x92046c(0xbf4)]();}get[_0x35ea3f(0x23b)](){var _0x32bf21=_0x35ea3f;return this[_0x32bf21(0x98b)]||this[_0x32bf21(0x241)]||this[_0x32bf21(0x896)]||this[_0x32bf21(0x421)]||this['_isCullDirty']||this[_0x32bf21(0x8ca)]||this[_0x32bf21(0x76b)];}get[_0x35ea3f(0x3cf)](){var _0x4c591b=_0x35ea3f;return this[_0x4c591b(0x17e)];}set['zOffset'](_0x7ac217){var _0x4adbc4=_0x35ea3f;this[_0x4adbc4(0x17e)]!==_0x7ac217&&(this[_0x4adbc4(0x17e)]=_0x7ac217,this[_0x4adbc4(0x8ca)]=!0x0);}get[_0x35ea3f(0x50d)](){var _0x103819=_0x35ea3f;return this[_0x103819(0x8c7)];}set['zOffsetUnits'](_0x5d6b2f){var _0x5c8805=_0x35ea3f;this[_0x5c8805(0x8c7)]!==_0x5d6b2f&&(this[_0x5c8805(0x8c7)]=_0x5d6b2f,this['_isZOffsetDirty']=!0x0);}get['cullFace'](){var _0x2fd6df=_0x35ea3f;return this[_0x2fd6df(0x18e)];}set[_0x35ea3f(0x8da)](_0x70f44b){var _0x251fe8=_0x35ea3f;this[_0x251fe8(0x18e)]!==_0x70f44b&&(this['_cullFace']=_0x70f44b,this[_0x251fe8(0x421)]=!0x0);}get[_0x35ea3f(0xd4e)](){var _0x15ed79=_0x35ea3f;return this[_0x15ed79(0xadb)];}set[_0x35ea3f(0xd4e)](_0x4d8fc3){var _0xe40fcf=_0x35ea3f;this[_0xe40fcf(0xadb)]!==_0x4d8fc3&&(this['_cull']=_0x4d8fc3,this[_0xe40fcf(0x4c3)]=!0x0);}get[_0x35ea3f(0x15c)](){var _0xfa229d=_0x35ea3f;return this[_0xfa229d(0x982)];}set[_0x35ea3f(0x15c)](_0x4c987a){var _0x469fc3=_0x35ea3f;this['_depthFunc']!==_0x4c987a&&(this[_0x469fc3(0x982)]=_0x4c987a,this['_isDepthFuncDirty']=!0x0);}get[_0x35ea3f(0x74d)](){var _0x1b652c=_0x35ea3f;return this[_0x1b652c(0xc2d)];}set[_0x35ea3f(0x74d)](_0x220796){var _0x4cd0aa=_0x35ea3f;this[_0x4cd0aa(0xc2d)]!==_0x220796&&(this[_0x4cd0aa(0xc2d)]=_0x220796,this[_0x4cd0aa(0x896)]=!0x0);}get[_0x35ea3f(0xbce)](){var _0x329894=_0x35ea3f;return this[_0x329894(0x855)];}set[_0x35ea3f(0xbce)](_0x4a650d){var _0x5b6601=_0x35ea3f;this[_0x5b6601(0x855)]!==_0x4a650d&&(this[_0x5b6601(0x855)]=_0x4a650d,this[_0x5b6601(0x241)]=!0x0);}get[_0x35ea3f(0x654)](){return this['_frontFace'];}set[_0x35ea3f(0x654)](_0x4422df){var _0x11b339=_0x35ea3f;this[_0x11b339(0x1c4)]!==_0x4422df&&(this[_0x11b339(0x1c4)]=_0x4422df,this['_isFrontFaceDirty']=!0x0);}['reset'](){var _0x2833ca=_0x35ea3f;this[_0x2833ca(0xc2d)]=!0x0,this['_depthTest']=!0x0,this['_depthFunc']=null,this[_0x2833ca(0x18e)]=null,this['_cull']=null,this[_0x2833ca(0x17e)]=0x0,this[_0x2833ca(0x8c7)]=0x0,this[_0x2833ca(0x1c4)]=null,this[_0x2833ca(0x241)]=!0x0,this[_0x2833ca(0x896)]=!0x0,this['_isDepthFuncDirty']=!0x1,this[_0x2833ca(0x421)]=!0x1,this[_0x2833ca(0x4c3)]=!0x1,this[_0x2833ca(0x8ca)]=!0x0,this[_0x2833ca(0x76b)]=!0x1;}[_0x35ea3f(0x7d5)](_0xc566a2){var _0x34c8ad=_0x35ea3f;this['isDirty']&&(this['_isCullDirty']&&(this['cull']?_0xc566a2[_0x34c8ad(0x4d2)](_0xc566a2[_0x34c8ad(0x74f)]):_0xc566a2['disable'](_0xc566a2[_0x34c8ad(0x74f)]),this[_0x34c8ad(0x4c3)]=!0x1),this[_0x34c8ad(0x421)]&&(_0xc566a2[_0x34c8ad(0x8da)](this[_0x34c8ad(0x8da)]),this[_0x34c8ad(0x421)]=!0x1),this['_isDepthMaskDirty']&&(_0xc566a2[_0x34c8ad(0x74d)](this['depthMask']),this['_isDepthMaskDirty']=!0x1),this['_isDepthTestDirty']&&(this[_0x34c8ad(0xbce)]?_0xc566a2[_0x34c8ad(0x4d2)](_0xc566a2[_0x34c8ad(0x862)]):_0xc566a2[_0x34c8ad(0x333)](_0xc566a2[_0x34c8ad(0x862)]),this[_0x34c8ad(0x241)]=!0x1),this[_0x34c8ad(0x98b)]&&(_0xc566a2[_0x34c8ad(0x15c)](this[_0x34c8ad(0x15c)]),this[_0x34c8ad(0x98b)]=!0x1),this[_0x34c8ad(0x8ca)]&&(this['zOffset']||this['zOffsetUnits']?(_0xc566a2[_0x34c8ad(0x4d2)](_0xc566a2[_0x34c8ad(0x335)]),_0xc566a2[_0x34c8ad(0x408)](this[_0x34c8ad(0x3cf)],this[_0x34c8ad(0x50d)])):_0xc566a2[_0x34c8ad(0x333)](_0xc566a2['POLYGON_OFFSET_FILL']),this[_0x34c8ad(0x8ca)]=!0x1),this['_isFrontFaceDirty']&&(_0xc566a2['frontFace'](this[_0x34c8ad(0x654)]),this[_0x34c8ad(0x76b)]=!0x1));}}},0x14e41:(_0x53fed0,_0x3292d0,_0x4d5177)=>{var _0x301a3c=a7_0x51ebec;_0x4d5177['d'](_0x3292d0,{'C':()=>_0x18b175});class _0x18b175{constructor(_0x32e13a=!0x0){var _0x36a558=a7_0x4956;this[_0x36a558(0x816)]=!0x1,this[_0x36a558(0x43b)]=!0x1,this[_0x36a558(0x424)]=!0x1,this[_0x36a558(0xb2f)]=!0x1,this['useStencilGlobalOnly']=!0x1,_0x32e13a&&this[_0x36a558(0xbf4)]();}get['isDirty'](){var _0x386534=a7_0x4956;return this[_0x386534(0x816)]||this[_0x386534(0x43b)]||this[_0x386534(0x424)]||this[_0x386534(0xb2f)];}get[_0x301a3c(0x40e)](){var _0x1736b5=_0x301a3c;return this[_0x1736b5(0x673)];}set[_0x301a3c(0x40e)](_0x319b6c){var _0x2c68dd=_0x301a3c;this['_func']!==_0x319b6c&&(this[_0x2c68dd(0x673)]=_0x319b6c,this[_0x2c68dd(0x424)]=!0x0);}get[_0x301a3c(0x242)](){var _0x15d155=_0x301a3c;return this[_0x15d155(0x9ed)];}set[_0x301a3c(0x242)](_0x3f5d7f){var _0x585e3b=_0x301a3c;this[_0x585e3b(0x9ed)]!==_0x3f5d7f&&(this['_funcRef']=_0x3f5d7f,this[_0x585e3b(0x424)]=!0x0);}get[_0x301a3c(0x795)](){var _0x111ba8=_0x301a3c;return this[_0x111ba8(0x349)];}set['funcMask'](_0x5a7e40){var _0x522a43=_0x301a3c;this['_funcMask']!==_0x5a7e40&&(this[_0x522a43(0x349)]=_0x5a7e40,this[_0x522a43(0x424)]=!0x0);}get[_0x301a3c(0x771)](){var _0x4bc770=_0x301a3c;return this[_0x4bc770(0xb9b)];}set[_0x301a3c(0x771)](_0x4b669c){var _0x59879b=_0x301a3c;this[_0x59879b(0xb9b)]!==_0x4b669c&&(this[_0x59879b(0xb9b)]=_0x4b669c,this[_0x59879b(0xb2f)]=!0x0);}get[_0x301a3c(0x6e9)](){var _0x796889=_0x301a3c;return this[_0x796889(0xbc5)];}set[_0x301a3c(0x6e9)](_0x42e5dd){var _0x603139=_0x301a3c;this['_opDepthFail']!==_0x42e5dd&&(this[_0x603139(0xbc5)]=_0x42e5dd,this[_0x603139(0xb2f)]=!0x0);}get[_0x301a3c(0x4bc)](){var _0x71d137=_0x301a3c;return this[_0x71d137(0x726)];}set[_0x301a3c(0x4bc)](_0x33681c){var _0x34d4e5=_0x301a3c;this[_0x34d4e5(0x726)]!==_0x33681c&&(this[_0x34d4e5(0x726)]=_0x33681c,this[_0x34d4e5(0xb2f)]=!0x0);}get['mask'](){var _0x584901=_0x301a3c;return this[_0x584901(0xcb6)];}set[_0x301a3c(0x21f)](_0x11879f){var _0x3d8e8f=_0x301a3c;this['_mask']!==_0x11879f&&(this[_0x3d8e8f(0xcb6)]=_0x11879f,this[_0x3d8e8f(0x43b)]=!0x0);}get[_0x301a3c(0xb68)](){var _0x84d020=_0x301a3c;return this[_0x84d020(0x93f)];}set[_0x301a3c(0xb68)](_0x3eb4da){var _0x3ea14b=_0x301a3c;this[_0x3ea14b(0x93f)]!==_0x3eb4da&&(this[_0x3ea14b(0x93f)]=_0x3eb4da,this[_0x3ea14b(0x816)]=!0x0);}[_0x301a3c(0xbf4)](){var _0x2286ad=_0x301a3c,_0x4768cc;this[_0x2286ad(0x381)]=void 0x0,null!=(_0x4768cc=this[_0x2286ad(0x4f3)])&&_0x4768cc[_0x2286ad(0xbf4)](),this['_isStencilTestDirty']=!0x0,this['_isStencilMaskDirty']=!0x0,this['_isStencilFuncDirty']=!0x0,this[_0x2286ad(0xb2f)]=!0x0;}[_0x301a3c(0x7d5)](_0xadbbc3){var _0x51cda7=_0x301a3c,_0x31c571;_0xadbbc3&&(_0x31c571=!this[_0x51cda7(0x47e)]&&!(null==(_0x31c571=this[_0x51cda7(0x381)])||!_0x31c571[_0x51cda7(0xb68)]),this[_0x51cda7(0xb68)]=(_0x31c571?this['stencilMaterial']:this[_0x51cda7(0x4f3)])[_0x51cda7(0xb68)],this[_0x51cda7(0x40e)]=(_0x31c571?this['stencilMaterial']:this[_0x51cda7(0x4f3)])['func'],this['funcRef']=(_0x31c571?this[_0x51cda7(0x381)]:this[_0x51cda7(0x4f3)])[_0x51cda7(0x242)],this[_0x51cda7(0x795)]=(_0x31c571?this['stencilMaterial']:this[_0x51cda7(0x4f3)])[_0x51cda7(0x795)],this[_0x51cda7(0x771)]=(_0x31c571?this[_0x51cda7(0x381)]:this[_0x51cda7(0x4f3)])['opStencilFail'],this['opDepthFail']=(_0x31c571?this[_0x51cda7(0x381)]:this[_0x51cda7(0x4f3)])['opDepthFail'],this[_0x51cda7(0x4bc)]=(_0x31c571?this[_0x51cda7(0x381)]:this['stencilGlobal'])[_0x51cda7(0x4bc)],this[_0x51cda7(0x21f)]=(_0x31c571?this[_0x51cda7(0x381)]:this[_0x51cda7(0x4f3)])[_0x51cda7(0x21f)],this[_0x51cda7(0x23b)]&&(this[_0x51cda7(0x816)]&&(this[_0x51cda7(0xb68)]?_0xadbbc3['enable'](_0xadbbc3['STENCIL_TEST']):_0xadbbc3[_0x51cda7(0x333)](_0xadbbc3[_0x51cda7(0xd1f)]),this['_isStencilTestDirty']=!0x1),this['_isStencilMaskDirty']&&(_0xadbbc3[_0x51cda7(0x511)](this['mask']),this[_0x51cda7(0x43b)]=!0x1),this['_isStencilFuncDirty']&&(_0xadbbc3[_0x51cda7(0xaf3)](this[_0x51cda7(0x40e)],this[_0x51cda7(0x242)],this[_0x51cda7(0x795)]),this[_0x51cda7(0x424)]=!0x1),this[_0x51cda7(0xb2f)]&&(_0xadbbc3[_0x51cda7(0xc60)](this[_0x51cda7(0x771)],this[_0x51cda7(0x6e9)],this['opStencilDepthPass']),this[_0x51cda7(0xb2f)]=!0x1)));}}},0x14072:(_0x1f5faf,_0x55b609,_0x344f3e)=>{var _0x1d6a22=a7_0x51ebec;_0x344f3e['d'](_0x55b609,{'F':()=>_0x2cff74});class _0x2cff74{constructor(_0x313f8b){var _0xcdb7fa=a7_0x4956;this['_xrSessionManager']=_0x313f8b,this[_0xcdb7fa(0x400)]=!0x1,this[_0xcdb7fa(0xd46)]=[],this[_0xcdb7fa(0xcfb)]=!0x1,this[_0xcdb7fa(0x3b2)]=!0x1,this[_0xcdb7fa(0xcf4)]='';}get[_0x1d6a22(0xafd)](){var _0x1e9dca=_0x1d6a22;return this[_0x1e9dca(0x400)];}[_0x1d6a22(0x529)](_0x284cd4){var _0x28cf9e=_0x1d6a22;if(this['isDisposed'])return!0x1;if(_0x284cd4)this[_0x28cf9e(0xafd)]&&this[_0x28cf9e(0x2f8)]();else{if(this[_0x28cf9e(0xafd)])return!0x1;}return this['_attached']=!0x0,this[_0x28cf9e(0x73b)](this[_0x28cf9e(0xd42)][_0x28cf9e(0x6ff)],_0xce46b4=>this['_onXRFrame'](_0xce46b4)),!0x0;}[_0x1d6a22(0x2f8)](){var _0x3f69e9=_0x1d6a22;return this['_attached']?(this[_0x3f69e9(0x400)]=!0x1,this[_0x3f69e9(0xd46)][_0x3f69e9(0x544)](_0x1255b7=>{var _0x1e37e7=_0x3f69e9;_0x1255b7[_0x1e37e7(0x4ce)][_0x1e37e7(0x7a1)](_0x1255b7[_0x1e37e7(0xbeb)]);}),!0x0):!(this[_0x3f69e9(0x3b2)]=!0x0);}[_0x1d6a22(0x38b)](){var _0x191615=_0x1d6a22;this[_0x191615(0x2f8)](),this[_0x191615(0xcfb)]=!0x0;}['isCompatible'](){return!0x0;}['_addNewAttachObserver'](_0x2cbb89,_0x34a983){var _0x3f88e1=_0x1d6a22;this[_0x3f88e1(0xd46)][_0x3f88e1(0x2f7)]({'observable':_0x2cbb89,'observer':_0x2cbb89[_0x3f88e1(0x840)](_0x34a983)});}}},0x10dea:(_0x325c12,_0x2b662a,_0x2c484e)=>{var _0x10f253=a7_0x51ebec;_0x2c484e['d'](_0x2b662a,{'s':()=>_0x5e0f00});class _0x5e0f00{constructor(_0x2d8d23,_0x46d221,_0x1ec94f,_0x5cf69b,_0x557a20){var _0x39bbc8=a7_0x4956;this[_0x39bbc8(0x49b)]=_0x2d8d23,this['getHeight']=_0x46d221,this['layer']=_0x1ec94f,this['layerType']=_0x5cf69b,this[_0x39bbc8(0x19c)]=_0x557a20;}get[_0x10f253(0x7f8)](){var _0x40540d=_0x10f253;return'XRWebGLLayer'==this['layerType']&&_0x40540d(0x93e)==typeof this[_0x40540d(0x7e9)][_0x40540d(0xd61)];}get[_0x10f253(0xd61)](){var _0x4fd2d4=_0x10f253;return this[_0x4fd2d4(0x7f8)]?this['layer'][_0x4fd2d4(0xd61)]:null;}set['fixedFoveation'](_0x38a943){var _0x3da586=_0x10f253;this[_0x3da586(0x7f8)]&&(_0x38a943=Math[_0x3da586(0xbe7)](0x0,Math[_0x3da586(0x4fd)](0x1,_0x38a943||0x0)),this[_0x3da586(0x7e9)][_0x3da586(0xd61)]=_0x38a943);}}},0x34e4:(_0x19318a,_0x121484,_0x1fc3af)=>{var _0x3389ad=a7_0x51ebec;_0x1fc3af['d'](_0x121484,{'T':()=>_0x5203a8});var _0x3e13aa=_0x1fc3af(0x11029);class _0x5203a8{constructor(_0x3b77a1,_0x4b376c){var _0x2b8fff=a7_0x4956;this['modelTotalCount']=0x0,this[_0x2b8fff(0xc9d)]={},this[_0x2b8fff(0x55a)]=0x0,_0x3b77a1 instanceof SharedArrayBuffer?(this['modelArrayBuff']=_0x3b77a1,this[_0x2b8fff(0x674)]=_0x3b77a1[_0x2b8fff(0x247)]/(0x4*_0x5203a8[_0x2b8fff(0x63b)]),this[_0x2b8fff(0xc9d)]=_0x4b376c):(this['modelArrayBuff']=new SharedArrayBuffer(_0x3b77a1*(0x4*_0x5203a8['modelDataLength'])),this[_0x2b8fff(0x674)]=_0x3b77a1),this[_0x2b8fff(0x8ea)]=new TextEncoder(),this[_0x2b8fff(0x4af)]=new TextDecoder(),this[_0x2b8fff(0x64f)]=new Float32Array(this['modelArrayBuff']),this[_0x2b8fff(0x2ce)]=new Int32Array(this[_0x2b8fff(0x9d9)]),this[_0x2b8fff(0x47a)]=new Uint8Array(this[_0x2b8fff(0x9d9)]),this[_0x2b8fff(0x97a)]=new Uint8Array(0xc8);}[_0x3389ad(0x936)](_0x29c8bb){var _0x9a22fe=_0x3389ad;return _0x29c8bb=this['modelIndexOffsetStart'][_0x29c8bb],this[_0x9a22fe(0x64f)][_0x9a22fe(0x7bd)](_0x29c8bb,_0x29c8bb+0x3);}['boxMax'](_0x206e51){var _0x6235ae=_0x3389ad;return _0x206e51=this[_0x6235ae(0xc9d)][_0x206e51]+0x3,this[_0x6235ae(0x64f)][_0x6235ae(0x7bd)](_0x206e51,_0x206e51+0x3);}[_0x3389ad(0x488)](_0x411e1d){var _0x1bb281=_0x3389ad;return _0x411e1d=this['modelIndexOffsetStart'][_0x411e1d]+0x6,this[_0x1bb281(0x64f)][_0x1bb281(0x7bd)](_0x411e1d,_0x411e1d+0x10);}[_0x3389ad(0x5dd)](_0x568176){var _0x34aa6e=_0x3389ad;return _0x568176=this[_0x34aa6e(0xc9d)][_0x568176]+0x1d,this[_0x34aa6e(0x2ce)][_0x34aa6e(0x7bd)](_0x568176,_0x568176+0x1);}[_0x3389ad(0xc1e)](_0x5e91c9){var _0x3bc5aa=_0x3389ad;return _0x5e91c9=this[_0x3bc5aa(0xc9d)][_0x5e91c9]+0x1c,this['i32d'][_0x3bc5aa(0x7bd)](_0x5e91c9,_0x5e91c9+0x1);}[_0x3389ad(0x878)](_0x28809d){var _0x1b3253=_0x3389ad;return _0x28809d=this['modelIndexOffsetStart'][_0x28809d]+0x1b,this[_0x1b3253(0x2ce)]['subarray'](_0x28809d,_0x28809d+0x1);}['废弃'](_0x10e2c3){var _0xefeb54=_0x3389ad;return _0x10e2c3=this[_0xefeb54(0xc9d)][_0x10e2c3]+0x1a,this[_0xefeb54(0x2ce)][_0xefeb54(0x7bd)](_0x10e2c3,_0x10e2c3+0x1);}[_0x3389ad(0x81e)](_0xe9f788){var _0x2c2fe6=_0x3389ad;return _0xe9f788=this[_0x2c2fe6(0xc9d)][_0xe9f788]+0x19,this[_0x2c2fe6(0x2ce)][_0x2c2fe6(0x7bd)](_0xe9f788,_0xe9f788+0x1);}[_0x3389ad(0x4c0)](_0x50810e){var _0x1d80b9=_0x3389ad;return _0x50810e=this[_0x1d80b9(0xc9d)][_0x50810e]+0x18,this[_0x1d80b9(0x2ce)][_0x1d80b9(0x7bd)](_0x50810e,_0x50810e+0x1);}[_0x3389ad(0xbcf)](_0x580325){var _0x445acd=_0x3389ad;return _0x580325=this[_0x445acd(0xc9d)][_0x580325]+0x17,this[_0x445acd(0x2ce)][_0x445acd(0x7bd)](_0x580325,_0x580325+0x1);}[_0x3389ad(0xa37)](_0xda85b2){var _0x1cc578=_0x3389ad;return _0xda85b2=this['modelIndexOffsetStart'][_0xda85b2]+0x16,this[_0x1cc578(0x2ce)][_0x1cc578(0x7bd)](_0xda85b2,_0xda85b2+0x1);}[_0x3389ad(0x41d)](_0x2d8bd1){var _0x5a1d81=_0x3389ad;return _0x2d8bd1=0x4*this[_0x5a1d81(0xc9d)][_0x2d8bd1]+0x78,_0x2d8bd1=this[_0x5a1d81(0x47a)][_0x5a1d81(0x7bd)](_0x2d8bd1,0xc8+_0x2d8bd1),(this[_0x5a1d81(0x97a)][_0x5a1d81(0x82e)](_0x2d8bd1),this['textD'][_0x5a1d81(0xc78)](this[_0x5a1d81(0x97a)])[_0x5a1d81(0xa2d)](/\x00/g,''));}[_0x3389ad(0x828)](_0x32ad1f,_0x485e21){var _0x3265d8=_0x3389ad;if(_0x485e21){_0x32ad1f=0x4*this['modelIndexOffsetStart'][_0x32ad1f]+0x78;let _0x53c8e0=this[_0x3265d8(0x47a)]['subarray'](_0x32ad1f,0xc8+_0x32ad1f);_0x53c8e0[_0x3265d8(0x82e)](this[_0x3265d8(0x8ea)][_0x3265d8(0x8e7)](_0x485e21));}}[_0x3389ad(0x4ff)](_0x109575){var _0x1b743e=_0x3389ad;return _0x109575=0x4*this[_0x1b743e(0xc9d)][_0x109575]+0x140,_0x109575=this[_0x1b743e(0x47a)][_0x1b743e(0x7bd)](_0x109575,0x20+_0x109575),0x0!==_0x109575[0x0]?(this[_0x1b743e(0x97a)][_0x1b743e(0x82e)](_0x109575),this['textD'][_0x1b743e(0xc78)](this['textBuffer'][_0x1b743e(0x7bd)](0x0,0x20))):'';}['setUniqueId'](_0x5aa708,_0x1ae5d8){var _0x47e64f=_0x3389ad;if(_0x1ae5d8){_0x5aa708=0x4*this['modelIndexOffsetStart'][_0x5aa708]+0x140;let _0x3a7efb=this[_0x47e64f(0x47a)][_0x47e64f(0x7bd)](_0x5aa708,0x20+_0x5aa708);_0x3a7efb[_0x47e64f(0x82e)](this[_0x47e64f(0x8ea)]['encode'](_0x1ae5d8));}}[_0x3389ad(0x1ff)](_0x1112f6){var _0x554e9a=_0x3389ad;this[_0x554e9a(0xc9d)][_0x1112f6['id']]=this[_0x554e9a(0x55a)],this[_0x554e9a(0x55a)]+=_0x5203a8[_0x554e9a(0x63b)];var _0x52aecc=this[_0x554e9a(0xc9d)][_0x1112f6['id']];let _0x546ab9=this[_0x554e9a(0x64f)][_0x554e9a(0x7bd)](_0x52aecc,_0x52aecc+0x16),_0x55d605=[0x1,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x1];_0x1112f6[_0x554e9a(0x488)]&&(_0x55d605=(0x0,_0x3e13aa['ux'])(_0x1112f6['transform'][_0x554e9a(0xac5)]('\x20'))),_0x546ab9[_0x554e9a(0x82e)]([...(0x0,_0x3e13aa['ux'])(_0x1112f6[_0x554e9a(0x936)][_0x554e9a(0xac5)]('\x20')),...(0x0,_0x3e13aa['ux'])(_0x1112f6[_0x554e9a(0xcc5)][_0x554e9a(0xac5)]('\x20')),..._0x55d605]),_0x52aecc=this['modelIndexOffsetStart'][_0x1112f6['id']]+0x16;let _0xc988a8=this[_0x554e9a(0x2ce)][_0x554e9a(0x7bd)](_0x52aecc,_0x52aecc+0x7);_0xc988a8[_0x554e9a(0x82e)]([_0x1112f6[_0x554e9a(0xa37)],_0x1112f6[_0x554e9a(0xbcf)],_0x1112f6[_0x554e9a(0x4c0)],_0x1112f6['materialCount'],0x0,-0x1,_0x1112f6['status']||0x1]),this[_0x554e9a(0x828)](_0x1112f6['id'],_0x1112f6['fileName']),this[_0x554e9a(0x71b)](_0x1112f6['id'],_0x1112f6[_0x554e9a(0x5bb)]);}[_0x3389ad(0x2e3)](){var _0x274736=_0x3389ad;let _0x4abd6b={};for(var _0x1ba442 in this[_0x274736(0xc9d)]){var _0x1ba442=~~_0x1ba442,_0x35348d=this['modelIndexOffsetStart'][_0x1ba442];let _0x5bcb77=this[_0x274736(0x64f)][_0x274736(0x7bd)](_0x35348d,_0x35348d+0x16);_0x35348d=this['modelIndexOffsetStart'][_0x1ba442]+0x16,_0x35348d=this[_0x274736(0x2ce)][_0x274736(0x7bd)](_0x35348d,_0x35348d+0x7),_0x4abd6b[_0x1ba442]={'id':_0x1ba442,'boxMin':_0x5bcb77[_0x274736(0x7bd)](0x0,0x3),'boxMax':_0x5bcb77['subarray'](0x3,0x6),'transform':_0x5bcb77[_0x274736(0x7bd)](0x6,0x16),'componentCount':_0x35348d[0x0],'meshInstancesCount':_0x35348d[0x1],'meshCount':_0x35348d[0x2],'materialCount':_0x35348d[0x3],'fileName':this[_0x274736(0x41d)](_0x1ba442),'uniqueId':this['getUniqueId'](_0x1ba442),'status':_0x35348d[0x6]};}return _0x4abd6b;}[_0x3389ad(0x922)](_0x1c8beb){var _0x556b48=_0x3389ad,_0x557558=this['modelIndexOffsetStart'][_0x1c8beb];let _0x58f6aa=this[_0x556b48(0x64f)][_0x556b48(0x7bd)](_0x557558,_0x557558+0x16);return _0x557558=this[_0x556b48(0xc9d)][_0x1c8beb]+0x16,_0x557558=this['i32d'][_0x556b48(0x7bd)](_0x557558,_0x557558+0x7),{'id':_0x1c8beb,'boxMin':_0x58f6aa['subarray'](0x0,0x3),'boxMax':_0x58f6aa[_0x556b48(0x7bd)](0x3,0x6),'transform':_0x58f6aa['subarray'](0x6,0x16),'componentCount':_0x557558[0x0],'meshInstancesCount':_0x557558[0x1],'meshCount':_0x557558[0x2],'materialCount':_0x557558[0x3],'fileName':this['getFileName'](_0x1c8beb),'uniqueId':this[_0x556b48(0x4ff)](_0x1c8beb),'status':_0x557558[0x6]};}[_0x3389ad(0x85e)](_0x50adf8){var _0x4ba94b=_0x3389ad;return this[_0x4ba94b(0xc9d)][_0x4ba94b(0xb92)](_0x50adf8);}}_0x5203a8[_0x3389ad(0x63b)]=0x58;},0x15d06:(_0x4afb73,_0x31476c,_0x5698af)=>{var _0x1c4de7=a7_0x51ebec,_0x45aa1a;_0x5698af['d'](_0x31476c,{'p':()=>_0x2f366c}),_0x45aa1a={'cameraId':0x0,0x0:_0x1c4de7(0x4bd),'cameraWorldPosition':0x1,0x1:'cameraWorldPosition','worldDirection':0x2,0x2:'worldDirection','worldUp':0x3,0x3:_0x1c4de7(0x304),'viewMatrix':0x4,0x4:'viewMatrix','worldMatrix':0x5,0x5:_0x1c4de7(0x769),'projectionMatrix':0x6,0x6:_0x1c4de7(0x18a),'heartbeat':0x7,0x7:_0x1c4de7(0x3a4),'useCache':0x8,0x8:_0x1c4de7(0xd5a),'maxRenderTriangleCount':0x9,0x9:'maxRenderTriangleCount','frameMaxRenderMemoryLength':0xa,0xa:'frameMaxRenderMemoryLength','pickId':0xb,0xb:_0x1c4de7(0xc6b),'pickWorldPosition':0xc,0xc:_0x1c4de7(0x641),'pickWorldNormal':0xd,0xd:_0x1c4de7(0x266),'getBox':0xe,0xe:'getBox','maxTextureSize':0xf,0xf:_0x1c4de7(0x61d),'renderPageFocus':0x10,0x10:'renderPageFocus','renderWidthHeight':0x11,0x11:_0x1c4de7(0x1f5),'allowSingleMeshMaxTriangleFaceQuantity':0x12,0x12:'allowSingleMeshMaxTriangleFaceQuantity','visibleModelBox':0x13,0x13:'visibleModelBox','isMainRender':0x14,0x14:_0x1c4de7(0x953),'mousePosition':0x15,0x15:_0x1c4de7(0xd40),'sunDirection':0x16,0x16:_0x1c4de7(0x452),'startTime':0x17,0x17:'startTime','onlyShowShells':0x18,0x18:_0x1c4de7(0x8be),'enableMouseHover':0x19,0x19:'enableMouseHover'};class _0x2f366c{constructor(_0x433ec8,_0x3acd39){var _0x204b5e=_0x1c4de7;if(this[_0x204b5e(0x4ae)]={},this[_0x204b5e(0x801)]=0x0,this[_0x204b5e(0x4f2)]=0x0,this[_0x204b5e(0xa98)]=0x7fe00000,this[_0x204b5e(0xa42)]=0x0,this['dataType']=Float64Array,_0x433ec8||_0x3acd39){for(var _0x585cd3 in(this[_0x204b5e(0xc29)]=_0x3acd39,_0x433ec8))this[_0x204b5e(0xaa0)](_0x585cd3,_0x433ec8[_0x585cd3]['length']);}else{this[_0x204b5e(0xc29)]=[],_0x3acd39=0x6f*Float64Array[_0x204b5e(0x6a8)];if(this[_0x204b5e(0xa42)]=Math[_0x204b5e(0x4e3)](_0x3acd39/this[_0x204b5e(0xa98)]),0x0===this[_0x204b5e(0xa42)])this[_0x204b5e(0xc29)][_0x204b5e(0x2f7)](new SharedArrayBuffer(_0x3acd39));else{for(let _0x4348b1=0x0;_0x4348b1<this['arrayBufferBlockCount'];_0x4348b1++)this[_0x204b5e(0xc29)]['push'](new SharedArrayBuffer(this[_0x204b5e(0xa98)]));this[_0x204b5e(0xc29)][_0x204b5e(0x2f7)](new SharedArrayBuffer(_0x3acd39%this[_0x204b5e(0xa98)]));}this[_0x204b5e(0xaa0)](_0x45aa1a[_0x204b5e(0x4bd)],0x1),this[_0x204b5e(0xaa0)](_0x45aa1a[_0x204b5e(0x5d9)],0x3),this['AddStore'](_0x45aa1a[_0x204b5e(0x5cd)],0x3),this[_0x204b5e(0xaa0)](_0x45aa1a[_0x204b5e(0x304)],0x3),this[_0x204b5e(0xaa0)](_0x45aa1a['viewMatrix'],0x10),this['AddStore'](_0x45aa1a[_0x204b5e(0x769)],0x10),this[_0x204b5e(0xaa0)](_0x45aa1a[_0x204b5e(0x18a)],0x15),this[_0x204b5e(0xaa0)](_0x45aa1a[_0x204b5e(0x3a4)],0x1),this[_0x204b5e(0xaa0)](_0x45aa1a['useCache'],0x1),this['AddStore'](_0x45aa1a['maxRenderTriangleCount'],0x1),this[_0x204b5e(0xaa0)](_0x45aa1a[_0x204b5e(0x1f1)],0x1),this[_0x204b5e(0xaa0)](_0x45aa1a[_0x204b5e(0xc6b)],0x5),this['AddStore'](_0x45aa1a['pickWorldPosition'],0x4),this[_0x204b5e(0xaa0)](_0x45aa1a[_0x204b5e(0x266)],0x4),this['AddStore'](_0x45aa1a[_0x204b5e(0x4b0)],0x7),this[_0x204b5e(0xaa0)](_0x45aa1a[_0x204b5e(0x61d)],0x1),this[_0x204b5e(0xaa0)](_0x45aa1a[_0x204b5e(0xaff)],0x1),this[_0x204b5e(0xaa0)](_0x45aa1a['renderWidthHeight'],0x2),this[_0x204b5e(0xaa0)](_0x45aa1a[_0x204b5e(0x382)],0x1),this['AddStore'](_0x45aa1a['visibleModelBox'],0xa),this['AddStore'](_0x45aa1a[_0x204b5e(0x953)],0x1),this[_0x204b5e(0xaa0)](_0x45aa1a[_0x204b5e(0xd40)],0x2),this[_0x204b5e(0xaa0)](_0x45aa1a[_0x204b5e(0x452)],0x3),this[_0x204b5e(0xaa0)](_0x45aa1a[_0x204b5e(0x31c)],0x1),this[_0x204b5e(0xaa0)](_0x45aa1a[_0x204b5e(0x8be)],0x1),this[_0x204b5e(0xaa0)](_0x45aa1a['enableMouseHover'],0x1);}}get['enableMouseHover'](){var _0x5074aa=_0x1c4de7;return this[_0x5074aa(0x573)](_0x45aa1a[_0x5074aa(0x453)])[0x0];}set[_0x1c4de7(0x453)](_0x3ec61f){var _0x324955=_0x1c4de7;this[_0x324955(0x573)](_0x45aa1a['enableMouseHover'])[0x0]=_0x3ec61f;}get[_0x1c4de7(0x8be)](){var _0x4048a7=_0x1c4de7;return this[_0x4048a7(0x573)](_0x45aa1a[_0x4048a7(0x8be)])[0x0];}set['onlyShowShells'](_0x136ee9){var _0x43e61a=_0x1c4de7;this[_0x43e61a(0x573)](_0x45aa1a[_0x43e61a(0x8be)])[0x0]=_0x136ee9;}get['startTime'](){var _0xb86b04=_0x1c4de7;return this['GetData'](_0x45aa1a[_0xb86b04(0x31c)])[0x0];}set[_0x1c4de7(0x31c)](_0x2f146e){var _0x36d3a8=_0x1c4de7;this[_0x36d3a8(0x573)](_0x45aa1a[_0x36d3a8(0x31c)])[0x0]=_0x2f146e;}set[_0x1c4de7(0x452)](_0x3ac074){var _0x459fcd=_0x1c4de7;this['SetData'](_0x45aa1a[_0x459fcd(0x452)],_0x3ac074);}get[_0x1c4de7(0x452)](){var _0x1d0592=_0x1c4de7;return this[_0x1d0592(0x573)](_0x45aa1a[_0x1d0592(0x452)]);}set[_0x1c4de7(0xd40)](_0x335bd6){var _0x489714=_0x1c4de7;this['SetData'](_0x45aa1a[_0x489714(0xd40)],_0x335bd6);}get[_0x1c4de7(0xd40)](){var _0x1e1c47=_0x1c4de7;return this[_0x1e1c47(0x573)](_0x45aa1a[_0x1e1c47(0xd40)]);}get[_0x1c4de7(0x953)](){var _0x13d3e6=_0x1c4de7;return this[_0x13d3e6(0x573)](_0x45aa1a[_0x13d3e6(0x953)])[0x0];}set[_0x1c4de7(0x953)](_0x71e34){var _0xd2a2ba=_0x1c4de7;this[_0xd2a2ba(0x573)](_0x45aa1a[_0xd2a2ba(0x953)])[0x0]=_0x71e34;}get[_0x1c4de7(0x382)](){var _0x4d705e=_0x1c4de7;return this['GetData'](_0x45aa1a[_0x4d705e(0x382)])[0x0];}set[_0x1c4de7(0x382)](_0x3b92a7){var _0xc76eb7=_0x1c4de7;this[_0xc76eb7(0x573)](_0x45aa1a[_0xc76eb7(0x382)])[0x0]=_0x3b92a7;}get[_0x1c4de7(0xd72)](){var _0x1e95b7=_0x1c4de7;return this[_0x1e95b7(0x573)](_0x45aa1a['visibleModelBox']);}set[_0x1c4de7(0xd72)](_0x5b6439){var _0x5864d5=_0x1c4de7;this['SetData'](_0x45aa1a[_0x5864d5(0xd72)],_0x5b6439);}get[_0x1c4de7(0x1f5)](){var _0x50abf9=_0x1c4de7;return this['GetData'](_0x45aa1a[_0x50abf9(0x1f5)]);}set[_0x1c4de7(0x1f5)](_0xe10968){var _0xfa378e=_0x1c4de7;this[_0xfa378e(0xa51)](_0x45aa1a[_0xfa378e(0x1f5)],_0xe10968);}get[_0x1c4de7(0xaff)](){var _0x48b1cf=_0x1c4de7;return this[_0x48b1cf(0x573)](_0x45aa1a[_0x48b1cf(0xaff)])[0x0];}set[_0x1c4de7(0xaff)](_0x156f36){var _0x4dad85=_0x1c4de7;this[_0x4dad85(0x573)](_0x45aa1a[_0x4dad85(0xaff)])[0x0]=_0x156f36;}get[_0x1c4de7(0x61d)](){var _0x93fe56=_0x1c4de7;return this[_0x93fe56(0x573)](_0x45aa1a[_0x93fe56(0x61d)])[0x0];}set['maxTextureSize'](_0xda3d0b){var _0x1159a0=_0x1c4de7;this[_0x1159a0(0x573)](_0x45aa1a[_0x1159a0(0x61d)])[0x0]=_0xda3d0b;}get[_0x1c4de7(0x4b0)](){var _0x29c418=_0x1c4de7;return this[_0x29c418(0x573)](_0x45aa1a[_0x29c418(0x4b0)]);}set[_0x1c4de7(0x4b0)](_0xb6e8be){var _0x3c2b75=_0x1c4de7;this[_0x3c2b75(0xa51)](_0x45aa1a[_0x3c2b75(0x4b0)],_0xb6e8be);}get[_0x1c4de7(0x266)](){var _0x2399ae=_0x1c4de7;return this[_0x2399ae(0x573)](_0x45aa1a[_0x2399ae(0x266)]);}set[_0x1c4de7(0x266)](_0x31b0da){var _0x243b3e=_0x1c4de7;this[_0x243b3e(0xa51)](_0x45aa1a[_0x243b3e(0x266)],_0x31b0da);}get[_0x1c4de7(0x641)](){var _0x24d756=_0x1c4de7;return this[_0x24d756(0x573)](_0x45aa1a[_0x24d756(0x641)]);}set[_0x1c4de7(0x641)](_0x3dc139){var _0x28fdbd=_0x1c4de7;this[_0x28fdbd(0xa51)](_0x45aa1a[_0x28fdbd(0x641)],_0x3dc139);}get[_0x1c4de7(0xc6b)](){var _0x3d5d6d=_0x1c4de7;return this[_0x3d5d6d(0x573)](_0x45aa1a[_0x3d5d6d(0xc6b)]);}set['pickId'](_0x2c2dcb){var _0x1d955a=_0x1c4de7;this['SetData'](_0x45aa1a[_0x1d955a(0xc6b)],_0x2c2dcb);}get[_0x1c4de7(0x1f1)](){var _0x2cb1a5=_0x1c4de7;return this[_0x2cb1a5(0x573)](_0x45aa1a[_0x2cb1a5(0x1f1)])[0x0];}set[_0x1c4de7(0x1f1)](_0xb5d78b){var _0x5a1195=_0x1c4de7;this[_0x5a1195(0x573)](_0x45aa1a['frameMaxRenderMemoryLength'])[0x0]=_0xb5d78b;}get[_0x1c4de7(0x4e1)](){var _0x22cab6=_0x1c4de7;return this[_0x22cab6(0x573)](_0x45aa1a[_0x22cab6(0x4e1)])[0x0];}set['maxRenderTriangleCount'](_0x3e92ba){var _0x448c22=_0x1c4de7;this[_0x448c22(0x573)](_0x45aa1a[_0x448c22(0x4e1)])[0x0]=_0x3e92ba;}get[_0x1c4de7(0xd5a)](){var _0x461569=_0x1c4de7;return this[_0x461569(0x573)](_0x45aa1a[_0x461569(0xd5a)])[0x0];}set[_0x1c4de7(0xd5a)](_0x4a4603){var _0x764f81=_0x1c4de7;this[_0x764f81(0x573)](_0x45aa1a[_0x764f81(0xd5a)])[0x0]=_0x4a4603;}get[_0x1c4de7(0x4bd)](){var _0x525fee=_0x1c4de7;return this[_0x525fee(0x573)](_0x45aa1a['cameraId'])[0x0];}set['cameraId'](_0x15f555){var _0x1ece94=_0x1c4de7;this[_0x1ece94(0x573)](_0x45aa1a[_0x1ece94(0x4bd)])[0x0]=0xf423f<_0x15f555?0x2:_0x15f555;}get[_0x1c4de7(0x5d9)](){var _0x5d304e=_0x1c4de7;return this[_0x5d304e(0x573)](_0x45aa1a[_0x5d304e(0x5d9)]);}set[_0x1c4de7(0x5d9)](_0x5df298){var _0xf0ad22=_0x1c4de7;this[_0xf0ad22(0xa51)](_0x45aa1a['cameraWorldPosition'],_0x5df298);}get['worldDirection'](){var _0x536c16=_0x1c4de7;return this[_0x536c16(0x573)](_0x45aa1a['worldDirection']);}set[_0x1c4de7(0x5cd)](_0x594c3f){var _0x451df2=_0x1c4de7;this[_0x451df2(0xa51)](_0x45aa1a[_0x451df2(0x5cd)],_0x594c3f);}get['worldUp'](){var _0x1d49ad=_0x1c4de7;return this[_0x1d49ad(0x573)](_0x45aa1a[_0x1d49ad(0x304)]);}set[_0x1c4de7(0x304)](_0x5815a7){var _0x1f2c00=_0x1c4de7;this[_0x1f2c00(0xa51)](_0x45aa1a['worldUp'],_0x5815a7);}get['viewMatrix'](){var _0x383790=_0x1c4de7;return this[_0x383790(0x573)](_0x45aa1a[_0x383790(0xbc4)]);}set[_0x1c4de7(0xbc4)](_0x4967e8){var _0x1f57a3=_0x1c4de7;this[_0x1f57a3(0xa51)](_0x45aa1a['viewMatrix'],_0x4967e8);}get[_0x1c4de7(0x769)](){var _0x3c8747=_0x1c4de7;return this[_0x3c8747(0x573)](_0x45aa1a[_0x3c8747(0x769)]);}set[_0x1c4de7(0x769)](_0x1b3e80){var _0x46c08a=_0x1c4de7;this[_0x46c08a(0xa51)](_0x45aa1a[_0x46c08a(0x769)],_0x1b3e80);}get[_0x1c4de7(0x18a)](){var _0x25d78f=_0x1c4de7;return this[_0x25d78f(0x573)](_0x45aa1a['projectionMatrix']);}set[_0x1c4de7(0x18a)](_0x1136d5){var _0x1e31bf=_0x1c4de7;this['SetData'](_0x45aa1a[_0x1e31bf(0x18a)],_0x1136d5);}get[_0x1c4de7(0x3a4)](){var _0x4a1967=_0x1c4de7;return this[_0x4a1967(0x573)](_0x45aa1a['heartbeat'])[0x0];}set[_0x1c4de7(0x3a4)](_0x313b19){var _0x45fa96=_0x1c4de7;this[_0x45fa96(0x573)](_0x45aa1a[_0x45fa96(0x3a4)])[0x0]=_0x313b19;}[_0x1c4de7(0xaa0)](_0x929438,_0x3706f3){var _0x185a1e=_0x1c4de7;this[_0x185a1e(0x4ae)][_0x185a1e(0xb92)](_0x929438)||(this[_0x185a1e(0x4ae)][_0x929438]={},this[_0x185a1e(0x4ae)][_0x929438][_0x185a1e(0x9ff)]=_0x3706f3,this[_0x185a1e(0x4f2)]+_0x3706f3*this[_0x185a1e(0xd77)]['BYTES_PER_ELEMENT']>this['arrayBufferBlockMaxByteLength']&&(this[_0x185a1e(0x801)]++,this[_0x185a1e(0x4f2)]=0x0),this[_0x185a1e(0x4ae)][_0x929438]['view']=new this[(_0x185a1e(0xd77))](this[_0x185a1e(0xc29)][this[_0x185a1e(0x801)]],this[_0x185a1e(0x4f2)],this[_0x185a1e(0x4ae)][_0x929438][_0x185a1e(0x9ff)]),this[_0x185a1e(0x4ae)][_0x929438]['byteOffset']=this['dataStoreDataByteOffset'],this[_0x185a1e(0x4f2)]+=this['dataType'][_0x185a1e(0x6a8)]*this[_0x185a1e(0x4ae)][_0x929438][_0x185a1e(0x9ff)]);}[_0x1c4de7(0xa51)](_0x318a31,_0x35cd50){var _0x4db6a7=_0x1c4de7;_0x35cd50&&this[_0x4db6a7(0x4ae)][_0x318a31][_0x4db6a7(0x1be)][_0x4db6a7(0x82e)](_0x35cd50);}[_0x1c4de7(0x573)](_0x3b89e1){var _0x39bbf9=_0x1c4de7;return null==(_0x3b89e1=this[_0x39bbf9(0x4ae)][_0x3b89e1])?void 0x0:_0x3b89e1['view'];}}}}]);
|