mars3d-wind 3.1.16 → 3.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  <p align="center">
3
- <img src="https://mars3d.cn/logo.png" width="300px" />
3
+ <img src="https://cdn.jsdelivr.net/gh/muyao1987/cdn/mars3d.cn/logo.png" width="300px" />
4
4
  </p>
5
5
  <p align="center">一款免费的三维地球客户端开发平台 :Mars3D</p>
6
6
  <p align="center">
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Mars3D平台插件,支持气象 风向图 功能插件
3
- * 版本信息:v3.1.16
4
- * 编译日期:2021-12-11 17:06:11
3
+ * 版本信息:v3.1.18
4
+ * 编译日期:2021-12-26 15:10:27
5
5
  * 版权所有:Copyright by 火星科技 http://mars3d.cn
6
6
  */
7
7
  (function webpackUniversalModuleDefinition(window) {
@@ -27,7 +27,7 @@
27
27
  }
28
28
 
29
29
 
30
- var a0_0x151bf9=a0_0x3594;function a0_0x3594(_0x4bc3ac,_0x43fe8f){var _0x2aa09e=a0_0x2aa0();return a0_0x3594=function(_0x359434,_0x1d2aea){_0x359434=_0x359434-0x1b4;var _0x4ebe1d=_0x2aa09e[_0x359434];return _0x4ebe1d;},a0_0x3594(_0x4bc3ac,_0x43fe8f);}function a0_0x2aa0(){var _0x5df3e2=['Module','TextureMinificationFilter','2758405KnSzfI','vertexArray','randomParticle','particles','add','now','primitives','CanvasWindLayer','container','particlesRendering','Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined','uniform\x20sampler2D\x20trailsColorTexture;\x0d\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture2D(trailsColorTexture,\x20textureCoordinate);\x0d\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture2D(trailsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture2D(czm_globeDepthTexture,\x20textureCoordinate));\x0d\x0a\x0d\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20trailsColor;\x0d\x0a\x20\x20\x20\x20}\x20else\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0d\x0a\x20\x20\x20\x20}\x0d\x0a}','PrimitiveCollection','ALWAYS','object','attribute\x20vec3\x20position;\x0d\x0aattribute\x20vec2\x20st;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20textureCoordinate\x20=\x20st;\x0d\x0a\x20\x20\x20\x20gl_Position\x20=\x20vec4(position,\x201.0);\x0d\x0a}','particlesTextureSize','reverseY','createTexture','canrefresh','windTextures','clearFramebuffers','sqrt','Math','addPrimitives','register','uniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0auniform\x20sampler2D\x20particlesWind;\x0a\x0a//\x20used\x20to\x20calculate\x20the\x20wind\x20norm\x0auniform\x20vec2\x20uSpeedRange;\x20//\x20(min,\x20max);\x0auniform\x20vec2\x20vSpeedRange;\x0auniform\x20float\x20pixelSize;\x0auniform\x20float\x20speedFactor;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0afloat\x20calculateWindNorm(vec3\x20speed)\x20{\x0a\x20\x20\x20\x20vec3\x20percent\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20percent.x\x20=\x20(speed.x\x20-\x20uSpeedRange.x)\x20/\x20(uSpeedRange.y\x20-\x20uSpeedRange.x);\x0a\x20\x20\x20\x20percent.y\x20=\x20(speed.y\x20-\x20vSpeedRange.x)\x20/\x20(vSpeedRange.y\x20-\x20vSpeedRange.x);\x0a\x20\x20\x20\x20float\x20normalization\x20=\x20length(percent);\x0a\x0a\x20\x20\x20\x20return\x20normalization;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20currentSpeed\x20=\x20texture2D(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20texture2D(particlesWind,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20vec4(speedFactor\x20*\x20pixelSize\x20*\x20windVector,\x20calculateWindNorm(windVector));\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20nextSpeed;\x0a}','_onMapWhellEvent','windField','left','randomizeParticles','createSegmentsGeometry','width','fadeOpacity','_pointerEvents','scene','DEPTH_COMPONENT','none','round','getDirection','Cesium','fromGeometry','refreshTimer','atan2','0px','show','Cartesian2','fillRect','RGB','setData','destroyObject','all','BoundingSphere','userInput','createWindTextures','unbindEvent','getV','context','canvasContext','destination-in','defaultValue','ComputeCommand','globalAlpha','speedRate','isPointVisible','_createCanvas','78wPstgV','segmentsColor','hidden','SceneMode','uniform\x20sampler2D\x20colorTable;\x0a\x0avarying\x20float\x20speedNormalization;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20texture2D(colorTable,\x20vec2(speedNormalization,\x200.0));\x0a}','textures','_speedRate','getColorTexture','getPixelSize','_removedHook','getUserInput','vdata','grid','mouseUp','pow','random','latRange','__proto__','writable','autoClear','appendChild','speedFactor','Compute','Rectangle','east','globeBoundingSphere','getRandomLatLng','ClearCommand','currentParticlesPosition','_map','fragmentShaderSource','default','FLOAT','refreshParticles','framebuffer','toDegrees','fromDegrees','destroy','Cartesian3','16tLtFhF','clear','canvasWidth','wind','DISABLE_GL_POSITION_LOG_DEPTH','trails','LUMINANCE','mars3dWind','preRender','drawingBufferHeight','configurable','setOptions','_drawLines','applyViewerParameters','push','globalCompositeOperation','height','RGBA','uniform\x20sampler2D\x20segmentsColorTexture;\x0d\x0auniform\x20sampler2D\x20segmentsDepthTexture;\x0d\x0a\x0d\x0auniform\x20sampler2D\x20currentTrailsColor;\x0d\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0d\x0a\x0d\x0auniform\x20float\x20fadeOpacity;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20vec4\x20pointsColor\x20=\x20texture2D(segmentsColorTexture,\x20textureCoordinate);\x0d\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture2D(currentTrailsColor,\x20textureCoordinate);\x0d\x0a\x0d\x0a\x20\x20\x20\x20trailsColor\x20=\x20floor(fadeOpacity\x20*\x20255.0\x20*\x20trailsColor)\x20/\x20255.0;\x20//\x20make\x20sure\x20the\x20trailsColor\x20will\x20be\x20strictly\x20decreased\x0d\x0a\x0d\x0a\x20\x20\x20\x20float\x20pointsDepth\x20=\x20texture2D(segmentsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture2D(trailsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture2D(czm_globeDepthTexture,\x20textureCoordinate));\x0d\x0a\x0d\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0d\x0a\x20\x20\x20\x20if\x20(pointsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20gl_FragColor\x20+\x20pointsColor;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20gl_FragColor\x20+\x20trailsColor;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20gl_FragDepthEXT\x20=\x20min(pointsDepth,\x20trailsDepth);\x0d\x0a}','TRIANGLES','applyUserInput','particleHeight','xmin','updateSpeed','tlat','_bilinearInterpolation','segmentsDepth','_calcUV','globeLayer','bindEvent','90MxwTEn','camera','lat','getExtent','create','NEAREST','Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function','bind','frameTime','clearCommand','vertexShaderSource','ymin','drawingBufferWidth','enumerable','ymax','lighter','this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called','SCENE3D','dropRateBump','6094520wrhxaU','abs','cancelAnimationFrame','815441KLuaGw','createComputingPrimitives','mouseMove','_maxAge','depthMask','windData','TextureMagnificationFilter','rgba(0,\x200,\x200,\x200.97)','value','commandList','absolute','source','geometry','PixelFormat','particlesWind','uniformMap','Framebuffer','ellipsoid','getUVByXY','updatePosition','forEach','arrayBufferView','defineProperty','PixelDatatype','fixedHeight','_calcStep','destroyParticlesTextures','age','call','lev','getContext','redraw','createRawRenderState','fromCache','WindUtil','canvasWind','outputTexture','clampToLatitudeRange','particlesNumber','particleSystem','lineWidth','lng','stroke','rows','lon','commandToExecute','computeViewRectangle','data','fillStyle','style','defined','postProcessingSpeed','PrimitiveType','layer','maxParticles','addEventListener','uniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avec2\x20lengthOfLonLat(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20unit\x20conversion:\x20meters\x20->\x20longitude\x20latitude\x20degrees\x0a\x20\x20\x20\x20//\x20see\x20https://en.wikipedia.org/wiki/Geographic_coordinate_system#Length_of_a_degree\x20for\x20detail\x0a\x0a\x20\x20\x20\x20//\x20Calculate\x20the\x20length\x20of\x20a\x20degree\x20of\x20latitude\x20and\x20longitude\x20in\x20meters\x0a\x20\x20\x20\x20float\x20latitude\x20=\x20radians(lonLatLev.y);\x0a\x0a\x20\x20\x20\x20float\x20term1\x20=\x20111132.92;\x0a\x20\x20\x20\x20float\x20term2\x20=\x20559.82\x20*\x20cos(2.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term3\x20=\x201.175\x20*\x20cos(4.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term4\x20=\x200.0023\x20*\x20cos(6.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20latLength\x20=\x20term1\x20-\x20term2\x20+\x20term3\x20-\x20term4;\x0a\x0a\x20\x20\x20\x20float\x20term5\x20=\x20111412.84\x20*\x20cos(latitude);\x0a\x20\x20\x20\x20float\x20term6\x20=\x2093.5\x20*\x20cos(3.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term7\x20=\x200.118\x20*\x20cos(5.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20longLength\x20=\x20term5\x20-\x20term6\x20+\x20term7;\x0a\x0a\x20\x20\x20\x20return\x20vec2(longLength,\x20latLength);\x0a}\x0a\x0avoid\x20updatePosition(vec3\x20lonLatLev,\x20vec3\x20speed)\x20{\x0a\x20\x20\x20\x20vec2\x20lonLatLength\x20=\x20lengthOfLonLat(lonLatLev);\x0a\x20\x20\x20\x20float\x20u\x20=\x20speed.x\x20/\x20lonLatLength.x;\x0a\x20\x20\x20\x20float\x20v\x20=\x20speed.y\x20/\x20lonLatLength.y;\x0a\x20\x20\x20\x20float\x20w\x20=\x200.0;\x0a\x20\x20\x20\x20vec3\x20windVectorInLonLatLev\x20=\x20vec3(u,\x20v,\x20w);\x0a\x0a\x20\x20\x20\x20vec3\x20nextParticle\x20=\x20lonLatLev\x20+\x20windVectorInLonLatLev;\x0a\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(nextParticle,\x200.0);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20lonLatLev\x20=\x20texture2D(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20speed\x20=\x20texture2D(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20updatePosition(lonLatLev,\x20speed);\x0a}','RenderState','_onMap_preRenderEvent','BufferUsage','PI_OVER_THREE','function','ShaderProgram','drawWind','colorTable','requestAnimationFrame','animateFrame','dropRate','beginPath','createRenderingPrimitives','undefined','ComponentDatatype','north','mouse_down','UNSIGNED_INT','canvasResize','LayerUtil','29400XDHdcF','toGridXY','west','mod','clientWidth','nextTrailsDepth','pixelSize','VertexArray','strokeStyle','keys','OPAQUE','array','_onMouseMoveEvent','_particlesNumber','clientHeight','calc_speedRate','exports','_onMouseDownEvent','postProcessingPosition','GeometryAttribute','rawRenderState','min','length','DepthFunction','nextTrailsColor','segments','viewerParameters','_onMouseUpEvent','createFramebuffer','currentParticlesSpeed','reverse','Geometry','update','createRenderingFramebuffers','viewRectangleToLonLatRange','IDENTITY','resize','STATIC_DRAW','south','valueOf','_tomap','screen','isInExtent','tlng','mode','apply','nextTrails','PI_OVER_TWO','toRadians','WindLayer','TWO_PI','getUVByPoint','removeChild','options','EllipsoidalOccluder','Draw','xmax','getU','Matrix4','Color','blending','//\x20the\x20size\x20of\x20UV\x20textures:\x20width\x20=\x20lon,\x20height\x20=\x20lat*lev\x0auniform\x20sampler2D\x20U;\x20//\x20eastward\x20wind\x20\x0auniform\x20sampler2D\x20V;\x20//\x20northward\x20wind\x0a\x0auniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0a\x0auniform\x20vec3\x20dimension;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20vec3\x20minimum;\x20//\x20minimum\x20of\x20each\x20dimension\x0auniform\x20vec3\x20maximum;\x20//\x20maximum\x20of\x20each\x20dimension\x0auniform\x20vec3\x20interval;\x20//\x20interval\x20of\x20each\x20dimension\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avec2\x20mapPositionToNormalizedIndex2D(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20range\x20of\x20longitude\x20and\x20latitude\x0a\x20\x20\x20\x20lonLatLev.x\x20=\x20mod(lonLatLev.x,\x20360.0);\x0a\x20\x20\x20\x20lonLatLev.y\x20=\x20clamp(lonLatLev.y,\x20-90.0,\x2090.0);\x0a\x0a\x20\x20\x20\x20vec3\x20index3D\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20index3D.x\x20=\x20(lonLatLev.x\x20-\x20minimum.x)\x20/\x20interval.x;\x0a\x20\x20\x20\x20index3D.y\x20=\x20(lonLatLev.y\x20-\x20minimum.y)\x20/\x20interval.y;\x0a\x20\x20\x20\x20index3D.z\x20=\x20(lonLatLev.z\x20-\x20minimum.z)\x20/\x20interval.z;\x0a\x0a\x20\x20\x20\x20//\x20the\x20st\x20texture\x20coordinate\x20corresponding\x20to\x20(col,\x20row)\x20index\x0a\x20\x20\x20\x20//\x20example\x0a\x20\x20\x20\x20//\x20data\x20array\x20is\x20[0,\x201,\x202,\x203,\x204,\x205],\x20width\x20=\x203,\x20height\x20=\x202\x0a\x20\x20\x20\x20//\x20the\x20content\x20of\x20texture\x20will\x20be\x0a\x20\x20\x20\x20//\x20t\x201.0\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x203\x204\x205\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x200\x201\x202\x0a\x20\x20\x20\x20//\x20\x20\x200.0------1.0\x20s\x0a\x0a\x20\x20\x20\x20vec2\x20index2D\x20=\x20vec2(index3D.x,\x20index3D.z\x20*\x20dimension.y\x20+\x20index3D.y);\x0a\x20\x20\x20\x20vec2\x20normalizedIndex2D\x20=\x20vec2(index2D.x\x20/\x20dimension.x,\x20index2D.y\x20/\x20(dimension.y\x20*\x20dimension.z));\x0a\x20\x20\x20\x20return\x20normalizedIndex2D;\x0a}\x0a\x0afloat\x20getWind(sampler2D\x20windTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20vec2\x20normalizedIndex2D\x20=\x20mapPositionToNormalizedIndex2D(lonLatLev);\x0a\x20\x20\x20\x20float\x20result\x20=\x20texture2D(windTexture,\x20normalizedIndex2D).r;\x0a\x20\x20\x20\x20return\x20result;\x0a}\x0a\x0aconst\x20mat4\x20kernelMatrix\x20=\x20mat4(\x0a\x20\x20\x20\x200.0,\x20-1.0,\x202.0,\x20-1.0,\x20//\x20first\x20column\x0a\x20\x20\x20\x202.0,\x200.0,\x20-5.0,\x203.0,\x20//\x20second\x20column\x0a\x20\x20\x20\x200.0,\x201.0,\x204.0,\x20-3.0,\x20//\x20third\x20column\x0a\x20\x20\x20\x200.0,\x200.0,\x20-1.0,\x201.0\x20//\x20fourth\x20column\x0a);\x0afloat\x20oneDimensionInterpolation(float\x20t,\x20float\x20p0,\x20float\x20p1,\x20float\x20p2,\x20float\x20p3)\x20{\x0a\x20\x20\x20\x20vec4\x20tVec4\x20=\x20vec4(1.0,\x20t,\x20t\x20*\x20t,\x20t\x20*\x20t\x20*\x20t);\x0a\x20\x20\x20\x20tVec4\x20=\x20tVec4\x20/\x202.0;\x0a\x20\x20\x20\x20vec4\x20pVec4\x20=\x20vec4(p0,\x20p1,\x20p2,\x20p3);\x0a\x20\x20\x20\x20return\x20dot((tVec4\x20*\x20kernelMatrix),\x20pVec4);\x0a}\x0a\x0afloat\x20calculateB(sampler2D\x20windTexture,\x20float\x20t,\x20float\x20lon,\x20float\x20lat,\x20float\x20lev)\x20{\x0a\x20\x20\x20\x20float\x20lon0\x20=\x20floor(lon)\x20-\x201.0\x20*\x20interval.x;\x0a\x20\x20\x20\x20float\x20lon1\x20=\x20floor(lon);\x0a\x20\x20\x20\x20float\x20lon2\x20=\x20floor(lon)\x20+\x201.0\x20*\x20interval.x;\x0a\x20\x20\x20\x20float\x20lon3\x20=\x20floor(lon)\x20+\x202.0\x20*\x20interval.x;\x0a\x0a\x20\x20\x20\x20float\x20p0\x20=\x20getWind(windTexture,\x20vec3(lon0,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p1\x20=\x20getWind(windTexture,\x20vec3(lon1,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p2\x20=\x20getWind(windTexture,\x20vec3(lon2,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p3\x20=\x20getWind(windTexture,\x20vec3(lon3,\x20lat,\x20lev));\x0a\x0a\x20\x20\x20\x20return\x20oneDimensionInterpolation(t,\x20p0,\x20p1,\x20p2,\x20p3);\x0a}\x0a\x0afloat\x20interpolateOneTexture(sampler2D\x20windTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20float\x20lon\x20=\x20lonLatLev.x;\x0a\x20\x20\x20\x20float\x20lat\x20=\x20lonLatLev.y;\x0a\x20\x20\x20\x20float\x20lev\x20=\x20lonLatLev.z;\x0a\x0a\x20\x20\x20\x20float\x20lat0\x20=\x20floor(lat)\x20-\x201.0\x20*\x20interval.y;\x0a\x20\x20\x20\x20float\x20lat1\x20=\x20floor(lat);\x0a\x20\x20\x20\x20float\x20lat2\x20=\x20floor(lat)\x20+\x201.0\x20*\x20interval.y;\x0a\x20\x20\x20\x20float\x20lat3\x20=\x20floor(lat)\x20+\x202.0\x20*\x20interval.y;\x0a\x0a\x20\x20\x20\x20vec2\x20coefficient\x20=\x20lonLatLev.xy\x20-\x20floor(lonLatLev.xy);\x0a\x20\x20\x20\x20float\x20b0\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat0,\x20lev);\x0a\x20\x20\x20\x20float\x20b1\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat1,\x20lev);\x0a\x20\x20\x20\x20float\x20b2\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat2,\x20lev);\x0a\x20\x20\x20\x20float\x20b3\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat3,\x20lev);\x0a\x0a\x20\x20\x20\x20return\x20oneDimensionInterpolation(coefficient.y,\x20b0,\x20b1,\x20b2,\x20b3);\x0a}\x0a\x0avec3\x20bicubic(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20https://en.wikipedia.org/wiki/Bicubic_interpolation#Bicubic_convolution_algorithm\x0a\x20\x20\x20\x20float\x20u\x20=\x20interpolateOneTexture(U,\x20lonLatLev);\x0a\x20\x20\x20\x20float\x20v\x20=\x20interpolateOneTexture(V,\x20lonLatLev);\x0a\x20\x20\x20\x20float\x20w\x20=\x200.0;\x0a\x20\x20\x20\x20return\x20vec3(u,\x20v,\x20w);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20lonLatLev\x20=\x20texture2D(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20bicubic(lonLatLev);\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(windVector,\x200.0);\x0a}','globe','_addedHook','ceil','DrawCommand','GeometryAttributes','lonRange','canvasWindy','removeAll','mouse_move','preExecute','setPrototypeOf','100%','visibility','wheel','framebuffers','7ijYbQP','5559417EDfIqH','getFullscreenQuad','key','color','dimensions','removeEventListener','WMS_URL','BaseLayer','updateViewerParameters','particlesTextures','construct','SceneTransforms','floor','updateDate','wgs84ToWindowCoordinates','canvas','createParticlesTextures','particlesComputing','EventType','commandType','createRenderingTextures','hasOwnProperty','currentTrails','LINEAR','mouseDown','prototype','off','pointerEvents','shaderProgram','ZERO','nextParticlesSpeed','max','iterator','attributeLocations','toStringTag','78325mbqymQ','ShaderSource','top','depthTexture','2606748hAtbWk','getWind','canvasHeight','symbol','Pass','_mountedHook','cols','getPrototypeOf','THREE_PI_OVER_TWO','__esModule','primitiveType','maxAge','nextParticlesPosition','getSpeed','randomBetween','Cannot\x20call\x20a\x20class\x20as\x20a\x20function','uniform\x20sampler2D\x20nextParticlesPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0a//\x20range\x20(min,\x20max)\x0auniform\x20vec2\x20lonRange;\x0auniform\x20vec2\x20latRange;\x0a\x0auniform\x20float\x20randomCoefficient;\x20//\x20use\x20to\x20improve\x20the\x20pseudo-random\x20generator\x0auniform\x20float\x20dropRate;\x20//\x20drop\x20rate\x20is\x20a\x20chance\x20a\x20particle\x20will\x20restart\x20at\x20random\x20position\x20to\x20avoid\x20degeneration\x0auniform\x20float\x20dropRateBump;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0a//\x20pseudo-random\x20generator\x0aconst\x20vec3\x20randomConstants\x20=\x20vec3(12.9898,\x2078.233,\x204375.85453);\x0aconst\x20vec2\x20normalRange\x20=\x20vec2(0.0,\x201.0);\x0afloat\x20rand(vec2\x20seed,\x20vec2\x20range)\x20{\x0a\x20\x20\x20\x20vec2\x20randomSeed\x20=\x20randomCoefficient\x20*\x20seed;\x0a\x20\x20\x20\x20float\x20temp\x20=\x20dot(randomConstants.xy,\x20randomSeed);\x0a\x20\x20\x20\x20temp\x20=\x20fract(sin(temp)\x20*\x20(randomConstants.z\x20+\x20temp));\x0a\x20\x20\x20\x20return\x20temp\x20*\x20(range.y\x20-\x20range.x)\x20+\x20range.x;\x0a}\x0a\x0avec3\x20generateRandomParticle(vec2\x20seed,\x20float\x20lev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20longitude\x20is\x20in\x20[0,\x20360]\x0a\x20\x20\x20\x20float\x20randomLon\x20=\x20mod(rand(seed,\x20lonRange),\x20360.0);\x0a\x20\x20\x20\x20float\x20randomLat\x20=\x20rand(-seed,\x20latRange);\x0a\x0a\x20\x20\x20\x20return\x20vec3(randomLon,\x20randomLat,\x20lev);\x0a}\x0a\x0abool\x20particleOutbound(vec3\x20particle)\x20{\x0a\x20\x20\x20\x20return\x20particle.y\x20<\x20-90.0\x20||\x20particle.y\x20>\x2090.0;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec3\x20nextParticle\x20=\x20texture2D(nextParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20texture2D(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20float\x20particleDropRate\x20=\x20dropRate\x20+\x20dropRateBump\x20*\x20nextSpeed.a;\x0a\x0a\x20\x20\x20\x20vec2\x20seed1\x20=\x20nextParticle.xy\x20+\x20v_textureCoordinates;\x0a\x20\x20\x20\x20vec2\x20seed2\x20=\x20nextSpeed.xy\x20+\x20v_textureCoordinates;\x0a\x20\x20\x20\x20vec3\x20randomParticle\x20=\x20generateRandomParticle(seed1,\x20nextParticle.z);\x0a\x20\x20\x20\x20float\x20randomNumber\x20=\x20rand(seed2,\x20normalRange);\x0a\x0a\x20\x20\x20\x20if\x20(randomNumber\x20<\x20particleDropRate\x20||\x20particleOutbound(nextParticle))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(randomParticle,\x201.0);\x20//\x201.0\x20means\x20this\x20is\x20a\x20random\x20particle\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(nextParticle,\x200.0);\x0a\x20\x20\x20\x20}\x0a}'];a0_0x2aa0=function(){return _0x5df3e2;};return a0_0x2aa0();}(function(_0x25a665,_0x1b923e){var _0x5ab3f6=a0_0x3594,_0xc94976=_0x25a665();while(!![]){try{var _0x4bad77=parseInt(_0x5ab3f6(0x2e7))/0x1*(parseInt(_0x5ab3f6(0x1f5))/0x2)+parseInt(_0x5ab3f6(0x1ce))/0x3*(parseInt(_0x5ab3f6(0x276))/0x4)+parseInt(_0x5ab3f6(0x2fe))/0x5+-parseInt(_0x5ab3f6(0x2eb))/0x6*(parseInt(_0x5ab3f6(0x2c3))/0x7)+parseInt(_0x5ab3f6(0x226))/0x8+-parseInt(_0x5ab3f6(0x2c4))/0x9+parseInt(_0x5ab3f6(0x213))/0xa*(-parseInt(_0x5ab3f6(0x229))/0xb);if(_0x4bad77===_0x1b923e)break;else _0xc94976['push'](_0xc94976['shift']());}catch(_0x183b87){_0xc94976['push'](_0xc94976['shift']());}}}(a0_0x2aa0,0x648c6),window[a0_0x151bf9(0x1fc)]=function(_0x359bc2){var _0x32f5a5={};function _0x304fa7(_0x579550){var _0x5991e3=a0_0x3594;if(_0x32f5a5[_0x579550])return _0x32f5a5[_0x579550][_0x5991e3(0x286)];var _0x79b10d=_0x32f5a5[_0x579550]={'i':_0x579550,'l':!0x1,'exports':{}};return _0x359bc2[_0x579550]['call'](_0x79b10d['exports'],_0x79b10d,_0x79b10d['exports'],_0x304fa7),_0x79b10d['l']=!0x0,_0x79b10d['exports'];}return _0x304fa7['m']=_0x359bc2,_0x304fa7['c']=_0x32f5a5,_0x304fa7['d']=function(_0x2d3a6c,_0x205ef8,_0x3eb1e6){_0x304fa7['o'](_0x2d3a6c,_0x205ef8)||Object['defineProperty'](_0x2d3a6c,_0x205ef8,{'enumerable':!0x0,'get':_0x3eb1e6});},_0x304fa7['r']=function(_0x2fdfc4){var _0x5d8681=a0_0x3594;_0x5d8681(0x26f)!=typeof Symbol&&Symbol[_0x5d8681(0x2e6)]&&Object['defineProperty'](_0x2fdfc4,Symbol[_0x5d8681(0x2e6)],{'value':_0x5d8681(0x2fc)}),Object['defineProperty'](_0x2fdfc4,'__esModule',{'value':!0x0});},_0x304fa7['t']=function(_0x4fca74,_0x3cb8c4){var _0x4f73b4=a0_0x3594;if(0x1&_0x3cb8c4&&(_0x4fca74=_0x304fa7(_0x4fca74)),0x8&_0x3cb8c4)return _0x4fca74;if(0x4&_0x3cb8c4&&_0x4f73b4(0x30c)==typeof _0x4fca74&&_0x4fca74&&_0x4fca74[_0x4f73b4(0x2f4)])return _0x4fca74;var _0x41b193=Object[_0x4f73b4(0x217)](null);if(_0x304fa7['r'](_0x41b193),Object[_0x4f73b4(0x23f)](_0x41b193,_0x4f73b4(0x1ed),{'enumerable':!0x0,'value':_0x4fca74}),0x2&_0x3cb8c4&&'string'!=typeof _0x4fca74){for(var _0x2d8fbe in _0x4fca74)_0x304fa7['d'](_0x41b193,_0x2d8fbe,function(_0x104dec){return _0x4fca74[_0x104dec];}[_0x4f73b4(0x21a)](null,_0x2d8fbe));}return _0x41b193;},_0x304fa7['n']=function(_0x4417d7){var _0x668b27=a0_0x3594,_0x50822e=_0x4417d7&&_0x4417d7[_0x668b27(0x2f4)]?function(){var _0x2a7250=_0x668b27;return _0x4417d7[_0x2a7250(0x1ed)];}:function(){return _0x4417d7;};return _0x304fa7['d'](_0x50822e,'a',_0x50822e),_0x50822e;},_0x304fa7['o']=function(_0x3147e5,_0x529cb4){var _0x59d051=a0_0x3594;return Object[_0x59d051(0x2dd)][_0x59d051(0x2d9)][_0x59d051(0x245)](_0x3147e5,_0x529cb4);},_0x304fa7['p']='',_0x304fa7(_0x304fa7['s']=0x14);}([function(_0x3e101b,_0x436dd7){var _0x465234=a0_0x151bf9;_0x3e101b[_0x465234(0x286)]=window[_0x465234(0x1b4)];},function(_0x454887,_0x4ecffe){var _0x515898=a0_0x151bf9;_0x454887[_0x515898(0x286)]=window['mars3d'];},function(_0xe4f178,_0x51a4b2){var _0x492a10=a0_0x151bf9;_0xe4f178['exports']=function(_0x16e48d,_0x4e0d90){var _0x192cb6=a0_0x3594;if(!(_0x16e48d instanceof _0x4e0d90))throw new TypeError(_0x192cb6(0x2fa));},_0xe4f178[_0x492a10(0x286)][_0x492a10(0x1ed)]=_0xe4f178['exports'],_0xe4f178[_0x492a10(0x286)][_0x492a10(0x2f4)]=!0x0;},function(_0x761abc,_0x407bbb){var _0x865e66=a0_0x151bf9;function _0x1282f1(_0x1ddc69,_0x569e51){var _0x40645b=a0_0x3594;for(var _0x5c98ca=0x0;_0x5c98ca<_0x569e51[_0x40645b(0x28c)];_0x5c98ca++){var _0x19a171=_0x569e51[_0x5c98ca];_0x19a171[_0x40645b(0x220)]=_0x19a171['enumerable']||!0x1,_0x19a171[_0x40645b(0x1ff)]=!0x0,_0x40645b(0x231)in _0x19a171&&(_0x19a171[_0x40645b(0x1e0)]=!0x0),Object[_0x40645b(0x23f)](_0x1ddc69,_0x19a171[_0x40645b(0x2c6)],_0x19a171);}}_0x761abc[_0x865e66(0x286)]=function(_0x508762,_0x2a0d16,_0x48a3f1){var _0x4d4645=_0x865e66;return _0x2a0d16&&_0x1282f1(_0x508762[_0x4d4645(0x2dd)],_0x2a0d16),_0x48a3f1&&_0x1282f1(_0x508762,_0x48a3f1),_0x508762;},_0x761abc[_0x865e66(0x286)]['default']=_0x761abc[_0x865e66(0x286)],_0x761abc[_0x865e66(0x286)][_0x865e66(0x2f4)]=!0x0;},function(_0x2752fc,_0x3206fa){var _0x3dd7e5=a0_0x151bf9;function _0x551672(_0x157c0c){var _0x2ecdff=a0_0x3594;return _0x2752fc['exports']=_0x551672=Object[_0x2ecdff(0x2be)]?Object['getPrototypeOf']:function(_0x5dba41){var _0x2a8003=_0x2ecdff;return _0x5dba41[_0x2a8003(0x1df)]||Object[_0x2a8003(0x2f2)](_0x5dba41);},_0x2752fc[_0x2ecdff(0x286)][_0x2ecdff(0x1ed)]=_0x2752fc['exports'],_0x2752fc[_0x2ecdff(0x286)]['__esModule']=!0x0,_0x551672(_0x157c0c);}_0x2752fc[_0x3dd7e5(0x286)]=_0x551672,_0x2752fc[_0x3dd7e5(0x286)][_0x3dd7e5(0x1ed)]=_0x2752fc[_0x3dd7e5(0x286)],_0x2752fc[_0x3dd7e5(0x286)][_0x3dd7e5(0x2f4)]=!0x0;},function(_0x1e804c,_0x5b308d,_0x251dff){var _0x508ce0=a0_0x151bf9,_0x111060=_0x251dff(0x11);_0x1e804c[_0x508ce0(0x286)]=function(_0x242130,_0x583957){var _0xd211fb=_0x508ce0;if(_0xd211fb(0x266)!=typeof _0x583957&&null!==_0x583957)throw new TypeError(_0xd211fb(0x219));_0x242130[_0xd211fb(0x2dd)]=Object[_0xd211fb(0x217)](_0x583957&&_0x583957[_0xd211fb(0x2dd)],{'constructor':{'value':_0x242130,'writable':!0x0,'configurable':!0x0}}),_0x583957&&_0x111060(_0x242130,_0x583957);},_0x1e804c['exports'][_0x508ce0(0x1ed)]=_0x1e804c['exports'],_0x1e804c['exports'][_0x508ce0(0x2f4)]=!0x0;},function(_0x1b1aa7,_0x31b576,_0x1f1a98){var _0x320156=a0_0x151bf9,_0x132c4a=_0x1f1a98(0x12)['default'],_0x2a6a74=_0x1f1a98(0x13);_0x1b1aa7[_0x320156(0x286)]=function(_0xd172f2,_0x2aff85){var _0x5aec=_0x320156;if(_0x2aff85&&(_0x5aec(0x30c)===_0x132c4a(_0x2aff85)||'function'==typeof _0x2aff85))return _0x2aff85;if(void 0x0!==_0x2aff85)throw new TypeError(_0x5aec(0x308));return _0x2a6a74(_0xd172f2);},_0x1b1aa7[_0x320156(0x286)][_0x320156(0x1ed)]=_0x1b1aa7['exports'],_0x1b1aa7['exports'][_0x320156(0x2f4)]=!0x0;},function(_0x5c4c25,_0x5d343b){var _0x50d4b1=a0_0x151bf9;_0x5c4c25[_0x50d4b1(0x286)]=_0x50d4b1(0x30d);},function(_0x3d8788,_0x24c79a){var _0x4c474e=a0_0x151bf9;_0x3d8788[_0x4c474e(0x286)]='attribute\x20vec2\x20st;\x0a//\x20it\x20is\x20not\x20normal\x20itself,\x20but\x20used\x20to\x20control\x20normal\x0aattribute\x20vec3\x20normal;\x20//\x20(point\x20to\x20use,\x20offset\x20sign,\x20not\x20used\x20component)\x0a\x0auniform\x20sampler2D\x20currentParticlesPosition;\x0auniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20postProcessingSpeed;\x0a\x0auniform\x20float\x20particleHeight;\x0a\x0auniform\x20float\x20aspect;\x0auniform\x20float\x20pixelSize;\x0auniform\x20float\x20lineWidth;\x0a\x0avarying\x20float\x20speedNormalization;\x0a\x0avec3\x20convertCoordinate(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20WGS84\x20(lon,\x20lat,\x20lev)\x20->\x20ECEF\x20(x,\x20y,\x20z)\x0a\x20\x20\x20\x20//\x20see\x20https://en.wikipedia.org/wiki/Geographic_coordinate_conversion#From_geodetic_to_ECEF_coordinates\x20for\x20detail\x0a\x0a\x20\x20\x20\x20//\x20WGS\x2084\x20geometric\x20constants\x20\x0a\x20\x20\x20\x20float\x20a\x20=\x206378137.0;\x20//\x20Semi-major\x20axis\x20\x0a\x20\x20\x20\x20float\x20b\x20=\x206356752.3142;\x20//\x20Semi-minor\x20axis\x20\x0a\x20\x20\x20\x20float\x20e2\x20=\x206.69437999014e-3;\x20//\x20First\x20eccentricity\x20squared\x0a\x0a\x20\x20\x20\x20float\x20latitude\x20=\x20radians(lonLatLev.y);\x0a\x20\x20\x20\x20float\x20longitude\x20=\x20radians(lonLatLev.x);\x0a\x0a\x20\x20\x20\x20float\x20cosLat\x20=\x20cos(latitude);\x0a\x20\x20\x20\x20float\x20sinLat\x20=\x20sin(latitude);\x0a\x20\x20\x20\x20float\x20cosLon\x20=\x20cos(longitude);\x0a\x20\x20\x20\x20float\x20sinLon\x20=\x20sin(longitude);\x0a\x0a\x20\x20\x20\x20float\x20N_Phi\x20=\x20a\x20/\x20sqrt(1.0\x20-\x20e2\x20*\x20sinLat\x20*\x20sinLat);\x0a\x20\x20\x20\x20float\x20h\x20=\x20particleHeight;\x20//\x20it\x20should\x20be\x20high\x20enough\x20otherwise\x20the\x20particle\x20may\x20not\x20pass\x20the\x20terrain\x20depth\x20test\x0a\x0a\x20\x20\x20\x20vec3\x20cartesian\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20cartesian.x\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20cosLon;\x0a\x20\x20\x20\x20cartesian.y\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20sinLon;\x0a\x20\x20\x20\x20cartesian.z\x20=\x20((b\x20*\x20b)\x20/\x20(a\x20*\x20a)\x20*\x20N_Phi\x20+\x20h)\x20*\x20sinLat;\x0a\x20\x20\x20\x20return\x20cartesian;\x0a}\x0a\x0avec4\x20calcProjectedCoordinate(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20the\x20range\x20of\x20longitude\x20in\x20Cesium\x20is\x20[-180,\x20180]\x20but\x20the\x20range\x20of\x20longitude\x20in\x20the\x20NetCDF\x20file\x20is\x20[0,\x20360]\x0a\x20\x20\x20\x20//\x20[0,\x20180]\x20is\x20corresponding\x20to\x20[0,\x20180]\x20and\x20[180,\x20360]\x20is\x20corresponding\x20to\x20[-180,\x200]\x0a\x20\x20\x20\x20lonLatLev.x\x20=\x20mod(lonLatLev.x\x20+\x20180.0,\x20360.0)\x20-\x20180.0;\x0a\x20\x20\x20\x20vec3\x20particlePosition\x20=\x20convertCoordinate(lonLatLev);\x0a\x20\x20\x20\x20vec4\x20projectedCoordinate\x20=\x20czm_modelViewProjection\x20*\x20vec4(particlePosition,\x201.0);\x0a\x20\x20\x20\x20return\x20projectedCoordinate;\x0a}\x0a\x0avec4\x20calcOffset(vec4\x20currentProjectedCoordinate,\x20vec4\x20nextProjectedCoordinate,\x20float\x20offsetSign)\x20{\x0a\x20\x20\x20\x20vec2\x20aspectVec2\x20=\x20vec2(aspect,\x201.0);\x0a\x20\x20\x20\x20vec2\x20currentXY\x20=\x20(currentProjectedCoordinate.xy\x20/\x20currentProjectedCoordinate.w)\x20*\x20aspectVec2;\x0a\x20\x20\x20\x20vec2\x20nextXY\x20=\x20(nextProjectedCoordinate.xy\x20/\x20nextProjectedCoordinate.w)\x20*\x20aspectVec2;\x0a\x0a\x20\x20\x20\x20float\x20offsetLength\x20=\x20lineWidth\x20/\x202.0;\x0a\x20\x20\x20\x20vec2\x20direction\x20=\x20normalize(nextXY\x20-\x20currentXY);\x0a\x20\x20\x20\x20vec2\x20normalVector\x20=\x20vec2(-direction.y,\x20direction.x);\x0a\x20\x20\x20\x20normalVector.x\x20=\x20normalVector.x\x20/\x20aspect;\x0a\x20\x20\x20\x20normalVector\x20=\x20offsetLength\x20*\x20normalVector;\x0a\x0a\x20\x20\x20\x20vec4\x20offset\x20=\x20vec4(offsetSign\x20*\x20normalVector,\x200.0,\x200.0);\x0a\x20\x20\x20\x20return\x20offset;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec2\x20particleIndex\x20=\x20st;\x0a\x0a\x20\x20\x20\x20vec3\x20currentPosition\x20=\x20texture2D(currentParticlesPosition,\x20particleIndex).rgb;\x0a\x20\x20\x20\x20vec4\x20nextPosition\x20=\x20texture2D(postProcessingPosition,\x20particleIndex);\x0a\x0a\x20\x20\x20\x20vec4\x20currentProjectedCoordinate\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20vec4\x20nextProjectedCoordinate\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20if\x20(nextPosition.w\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20currentProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20\x20\x20\x20\x20nextProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20currentProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20\x20\x20\x20\x20nextProjectedCoordinate\x20=\x20calcProjectedCoordinate(nextPosition.xyz);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20float\x20pointToUse\x20=\x20normal.x;\x20//\x20-1\x20is\x20currentProjectedCoordinate\x20and\x20+1\x20is\x20nextProjectedCoordinate\x0a\x20\x20\x20\x20float\x20offsetSign\x20=\x20normal.y;\x0a\x0a\x20\x20\x20\x20vec4\x20offset\x20=\x20pixelSize\x20*\x20calcOffset(currentProjectedCoordinate,\x20nextProjectedCoordinate,\x20offsetSign);\x0a\x20\x20\x20\x20if\x20(pointToUse\x20<\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20currentProjectedCoordinate\x20+\x20offset;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20nextProjectedCoordinate\x20+\x20offset;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20speedNormalization\x20=\x20texture2D(postProcessingSpeed,\x20particleIndex).a;\x0a}';},function(_0x3f2714,_0xdcb10d){var _0xd26d5d=a0_0x151bf9;_0x3f2714['exports']=_0xd26d5d(0x1d2);},function(_0x6aa6be,_0x432274){var _0x164f31=a0_0x151bf9;_0x6aa6be['exports']=_0x164f31(0x207);},function(_0x325f43,_0x3c42b4){var _0x321dcc=a0_0x151bf9;_0x325f43[_0x321dcc(0x286)]=_0x321dcc(0x309);},function(_0x1a5417,_0x343ad3){var _0x2030e9=a0_0x151bf9;_0x1a5417[_0x2030e9(0x286)]=_0x2030e9(0x2b3);},function(_0x334a69,_0x45f2a2){var _0x2662b4=a0_0x151bf9;_0x334a69['exports']=_0x2662b4(0x318);},function(_0x4e7d58,_0x28cc34){var _0x328a78=a0_0x151bf9;_0x4e7d58[_0x328a78(0x286)]=_0x328a78(0x261);},function(_0x124d12,_0x42a6c4){var _0x5865d1=a0_0x151bf9;_0x124d12[_0x5865d1(0x286)]=_0x5865d1(0x2fb);},function(_0xd86b5c,_0x3c17f4){_0xd86b5c['exports']='uniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20randomParticle\x20=\x20texture2D(postProcessingPosition,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20vec4\x20particleSpeed\x20=\x20texture2D(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x0a\x20\x20\x20\x20if\x20(randomParticle.a\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20particleSpeed;\x0a\x20\x20\x20\x20}\x0a}';},function(_0x349f54,_0x4d3040){var _0x757ced=a0_0x151bf9;function _0xe98806(_0xef395,_0x9eab13){var _0x4127af=a0_0x3594;return _0x349f54[_0x4127af(0x286)]=_0xe98806=Object[_0x4127af(0x2be)]||function(_0x59011c,_0x123b4b){var _0x44cf2f=_0x4127af;return _0x59011c[_0x44cf2f(0x1df)]=_0x123b4b,_0x59011c;},_0x349f54['exports'][_0x4127af(0x1ed)]=_0x349f54[_0x4127af(0x286)],_0x349f54[_0x4127af(0x286)][_0x4127af(0x2f4)]=!0x0,_0xe98806(_0xef395,_0x9eab13);}_0x349f54[_0x757ced(0x286)]=_0xe98806,_0x349f54[_0x757ced(0x286)]['default']=_0x349f54[_0x757ced(0x286)],_0x349f54[_0x757ced(0x286)][_0x757ced(0x2f4)]=!0x0;},function(_0x345499,_0x55eae6){var _0x48690e=a0_0x151bf9;function _0xb17c0b(_0x49971d){var _0x3e0ca6=a0_0x3594;return _0x3e0ca6(0x266)==typeof Symbol&&_0x3e0ca6(0x2ee)==typeof Symbol[_0x3e0ca6(0x2e4)]?(_0x345499[_0x3e0ca6(0x286)]=_0xb17c0b=function(_0x54829c){return typeof _0x54829c;},_0x345499[_0x3e0ca6(0x286)][_0x3e0ca6(0x1ed)]=_0x345499[_0x3e0ca6(0x286)],_0x345499[_0x3e0ca6(0x286)][_0x3e0ca6(0x2f4)]=!0x0):(_0x345499[_0x3e0ca6(0x286)]=_0xb17c0b=function(_0x5cf5cd){var _0x5f18e8=_0x3e0ca6;return _0x5cf5cd&&_0x5f18e8(0x266)==typeof Symbol&&_0x5cf5cd['constructor']===Symbol&&_0x5cf5cd!==Symbol[_0x5f18e8(0x2dd)]?'symbol':typeof _0x5cf5cd;},_0x345499[_0x3e0ca6(0x286)][_0x3e0ca6(0x1ed)]=_0x345499[_0x3e0ca6(0x286)],_0x345499['exports'][_0x3e0ca6(0x2f4)]=!0x0),_0xb17c0b(_0x49971d);}_0x345499[_0x48690e(0x286)]=_0xb17c0b,_0x345499[_0x48690e(0x286)]['default']=_0x345499[_0x48690e(0x286)],_0x345499[_0x48690e(0x286)][_0x48690e(0x2f4)]=!0x0;},function(_0x17b80b,_0x222351){var _0x880433=a0_0x151bf9;_0x17b80b[_0x880433(0x286)]=function(_0x53bbda){var _0x33e588=_0x880433;if(void 0x0===_0x53bbda)throw new ReferenceError(_0x33e588(0x223));return _0x53bbda;},_0x17b80b[_0x880433(0x286)][_0x880433(0x1ed)]=_0x17b80b['exports'],_0x17b80b['exports'][_0x880433(0x2f4)]=!0x0;},function(_0x1e351c,_0x31244f,_0x3546eb){'use strict';var _0x3fa314=a0_0x151bf9;_0x3546eb['r'](_0x31244f),_0x3546eb['d'](_0x31244f,_0x3fa314(0x2a7),function(){return _0x1b3d8f;}),_0x3546eb['d'](_0x31244f,_0x3fa314(0x305),function(){return _0x37b8a6;}),_0x3546eb['d'](_0x31244f,_0x3fa314(0x24b),function(){return _0x4f5f37;});var _0x4f5f37={};_0x3546eb['r'](_0x4f5f37),_0x3546eb['d'](_0x4f5f37,_0x3fa314(0x2af),function(){return _0x6c529e;}),_0x3546eb['d'](_0x4f5f37,_0x3fa314(0x1c4),function(){return _0x2028da;}),_0x3546eb['d'](_0x4f5f37,_0x3fa314(0x2f8),function(){return _0x59e262;}),_0x3546eb['d'](_0x4f5f37,_0x3fa314(0x325),function(){return _0x2be7aa;});var _0x3933d9=_0x3546eb(0x1),_0x4410ab=_0x3546eb(0x2),_0x56af1d=_0x3546eb['n'](_0x4410ab),_0x3704b4=_0x3546eb(0x3),_0x1c42a7=_0x3546eb['n'](_0x3704b4),_0x482fc7=_0x3546eb(0x5),_0x58dc92=_0x3546eb['n'](_0x482fc7),_0x2925d8=_0x3546eb(0x6),_0x173342=_0x3546eb['n'](_0x2925d8),_0x17943c=_0x3546eb(0x4),_0x2e13bc=_0x3546eb['n'](_0x17943c),_0xcd9f5b=_0x3546eb(0x0),_0x511e40=function(){function _0x1dae15(_0x31c383){var _0x24d4ea=a0_0x3594;_0x56af1d()(this,_0x1dae15),this[_0x24d4ea(0x2d7)]=_0x31c383[_0x24d4ea(0x2d7)],this[_0x24d4ea(0x235)]=_0x31c383['geometry'],this[_0x24d4ea(0x2e5)]=_0x31c383[_0x24d4ea(0x2e5)],this[_0x24d4ea(0x2f5)]=_0x31c383[_0x24d4ea(0x2f5)],this[_0x24d4ea(0x238)]=_0x31c383[_0x24d4ea(0x238)],this[_0x24d4ea(0x21d)]=_0x31c383[_0x24d4ea(0x21d)],this[_0x24d4ea(0x1ec)]=_0x31c383[_0x24d4ea(0x1ec)],this[_0x24d4ea(0x28a)]=_0x31c383[_0x24d4ea(0x28a)],this['framebuffer']=_0x31c383[_0x24d4ea(0x1f0)],this[_0x24d4ea(0x24d)]=_0x31c383['outputTexture'],this['autoClear']=_0xcd9f5b['defaultValue'](_0x31c383[_0x24d4ea(0x1e1)],!0x1),this[_0x24d4ea(0x2bd)]=_0x31c383['preExecute'],this['show']=!0x0,this[_0x24d4ea(0x256)]=void 0x0,this[_0x24d4ea(0x21c)]=void 0x0,this[_0x24d4ea(0x1e1)]&&(this[_0x24d4ea(0x21c)]=new _0xcd9f5b[(_0x24d4ea(0x1e9))]({'color':new _0xcd9f5b['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x24d4ea(0x1f0)],'pass':_0xcd9f5b[_0x24d4ea(0x2ef)][_0x24d4ea(0x280)]}));}return _0x1c42a7()(_0x1dae15,[{'key':'createCommand','value':function(_0x3d91aa){var _0x2666d2=a0_0x3594;switch(this[_0x2666d2(0x2d7)]){case _0x2666d2(0x2ad):var _0x15bf76=_0xcd9f5b['VertexArray'][_0x2666d2(0x1b5)]({'context':_0x3d91aa,'geometry':this[_0x2666d2(0x235)],'attributeLocations':this[_0x2666d2(0x2e5)],'bufferUsage':_0xcd9f5b[_0x2666d2(0x264)][_0x2666d2(0x29b)]}),_0x11a133=_0xcd9f5b[_0x2666d2(0x267)]['fromCache']({'context':_0x3d91aa,'attributeLocations':this[_0x2666d2(0x2e5)],'vertexShaderSource':this[_0x2666d2(0x21d)],'fragmentShaderSource':this['fragmentShaderSource']}),_0x448083=_0xcd9f5b[_0x2666d2(0x262)][_0x2666d2(0x24a)](this[_0x2666d2(0x28a)]);return new _0xcd9f5b[(_0x2666d2(0x2b7))]({'owner':this,'vertexArray':_0x15bf76,'primitiveType':this[_0x2666d2(0x2f5)],'uniformMap':this[_0x2666d2(0x238)],'modelMatrix':_0xcd9f5b[_0x2666d2(0x2b0)][_0x2666d2(0x299)],'shaderProgram':_0x11a133,'framebuffer':this[_0x2666d2(0x1f0)],'renderState':_0x448083,'pass':_0xcd9f5b[_0x2666d2(0x2ef)][_0x2666d2(0x280)]});case _0x2666d2(0x1e4):return new _0xcd9f5b[(_0x2666d2(0x1c9))]({'owner':this,'fragmentShaderSource':this[_0x2666d2(0x1ec)],'uniformMap':this[_0x2666d2(0x238)],'outputTexture':this['outputTexture'],'persists':!0x0});}}},{'key':'setGeometry','value':function(_0x23a630,_0x214ae2){var _0x363b43=a0_0x3594;this['geometry']=_0x214ae2;var _0x25c885=_0xcd9f5b['VertexArray'][_0x363b43(0x1b5)]({'context':_0x23a630,'geometry':this['geometry'],'attributeLocations':this['attributeLocations'],'bufferUsage':_0xcd9f5b[_0x363b43(0x264)]['STATIC_DRAW']});this[_0x363b43(0x256)][_0x363b43(0x2ff)]=_0x25c885;}},{'key':'update','value':function(_0x451753){var _0x28a9cf=a0_0x3594;this[_0x28a9cf(0x1b9)]&&_0x451753['mode']==_0xcd9f5b['SceneMode'][_0x28a9cf(0x224)]&&(_0xcd9f5b[_0x28a9cf(0x25b)](this['commandToExecute'])||(this[_0x28a9cf(0x256)]=this['createCommand'](_0x451753[_0x28a9cf(0x1c5)])),_0xcd9f5b[_0x28a9cf(0x25b)](this['preExecute'])&&this[_0x28a9cf(0x2bd)](),_0xcd9f5b[_0x28a9cf(0x25b)](this[_0x28a9cf(0x21c)])&&_0x451753[_0x28a9cf(0x232)][_0x28a9cf(0x203)](this[_0x28a9cf(0x21c)]),_0x451753[_0x28a9cf(0x232)][_0x28a9cf(0x203)](this[_0x28a9cf(0x256)]));}},{'key':'isDestroyed','value':function(){return!0x1;}},{'key':'destroy','value':function(){var _0x577e38=a0_0x3594;return _0xcd9f5b[_0x577e38(0x25b)](this['commandToExecute'])&&(this[_0x577e38(0x256)][_0x577e38(0x2e0)]=this['commandToExecute'][_0x577e38(0x2e0)]&&this[_0x577e38(0x256)][_0x577e38(0x2e0)][_0x577e38(0x1f3)]()),_0xcd9f5b[_0x577e38(0x1be)](this);}}]),_0x1dae15;}(),_0x3597ed={'getFullscreenQuad':function(){var _0x44e2c7=_0x3fa314;return new _0xcd9f5b[(_0x44e2c7(0x295))]({'attributes':new _0xcd9f5b[(_0x44e2c7(0x2b8))]({'position':new _0xcd9f5b[(_0x44e2c7(0x289))]({'componentDatatype':_0xcd9f5b[_0x44e2c7(0x270)][_0x44e2c7(0x1ee)],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new _0xcd9f5b[(_0x44e2c7(0x289))]({'componentDatatype':_0xcd9f5b[_0x44e2c7(0x270)]['FLOAT'],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});},'createTexture':function(_0x5ced6f,_0x3e7e9d){var _0x29918a=_0x3fa314;if(_0xcd9f5b[_0x29918a(0x25b)](_0x3e7e9d)){var _0x2024ab={};_0x2024ab[_0x29918a(0x23e)]=_0x3e7e9d,_0x5ced6f[_0x29918a(0x234)]=_0x2024ab;}return new _0xcd9f5b['Texture'](_0x5ced6f);},'createFramebuffer':function(_0x2efc26,_0x577161,_0x2ff8a6){var _0x45c066=_0x3fa314;return new _0xcd9f5b[(_0x45c066(0x239))]({'context':_0x2efc26,'colorTextures':[_0x577161],'depthTexture':_0x2ff8a6});},'createRawRenderState':function(_0x3b65f4){var _0x3aebd5=_0x3fa314,_0x2170a5={'viewport':_0x3b65f4['viewport'],'depthTest':_0x3b65f4['depthTest'],'depthMask':_0x3b65f4[_0x3aebd5(0x22d)],'blending':_0x3b65f4[_0x3aebd5(0x2b2)]};return _0xcd9f5b['Appearance']['getDefaultRenderState'](!0x0,!0x1,_0x2170a5);},'viewRectangleToLonLatRange':function(_0x5e7fc2){var _0x1d3770=_0x3fa314,_0x55ef11,_0x1ffc5e,_0xe80f54={},_0x4cadbb=_0xcd9f5b[_0x1d3770(0x315)][_0x1d3770(0x279)](_0x5e7fc2[_0x1d3770(0x278)],_0xcd9f5b[_0x1d3770(0x315)][_0x1d3770(0x2a8)]),_0x35207c=_0xcd9f5b[_0x1d3770(0x315)]['mod'](_0x5e7fc2[_0x1d3770(0x1e6)],_0xcd9f5b[_0x1d3770(0x315)][_0x1d3770(0x2a8)]),_0x368839=_0x5e7fc2[_0x1d3770(0x31e)];_0x368839>_0xcd9f5b[_0x1d3770(0x315)][_0x1d3770(0x2f3)]?(_0x55ef11=0x0,_0x1ffc5e=_0xcd9f5b[_0x1d3770(0x315)][_0x1d3770(0x2a8)]):_0x35207c-_0x4cadbb<_0x368839?(_0x55ef11=_0x4cadbb,_0x1ffc5e=_0x4cadbb+_0x368839):(_0x55ef11=_0x4cadbb,_0x1ffc5e=_0x35207c),_0xe80f54['lon']={'min':_0xcd9f5b['Math'][_0x1d3770(0x1f1)](_0x55ef11),'max':_0xcd9f5b[_0x1d3770(0x315)]['toDegrees'](_0x1ffc5e)};var _0x489c18=_0x5e7fc2[_0x1d3770(0x29c)],_0x598bb9=_0x5e7fc2[_0x1d3770(0x271)],_0x55d959=_0x5e7fc2['height'],_0x48edca=_0x55d959>_0xcd9f5b[_0x1d3770(0x315)]['PI']/0xc?_0x55d959/0x2:0x0,_0x28ac3a=_0xcd9f5b[_0x1d3770(0x315)][_0x1d3770(0x24e)](_0x489c18-_0x48edca),_0x5b787e=_0xcd9f5b['Math']['clampToLatitudeRange'](_0x598bb9+_0x48edca);return _0x28ac3a<-_0xcd9f5b['Math'][_0x1d3770(0x265)]&&(_0x28ac3a=-_0xcd9f5b[_0x1d3770(0x315)][_0x1d3770(0x2a5)]),_0x5b787e>_0xcd9f5b[_0x1d3770(0x315)]['PI_OVER_THREE']&&(_0x5b787e=_0xcd9f5b[_0x1d3770(0x315)][_0x1d3770(0x2a5)]),_0xe80f54[_0x1d3770(0x215)]={'min':_0xcd9f5b[_0x1d3770(0x315)][_0x1d3770(0x1f1)](_0x28ac3a),'max':_0xcd9f5b[_0x1d3770(0x315)]['toDegrees'](_0x5b787e)},_0xe80f54;}},_0x25dfa3=_0x3546eb(0x8),_0x4733da=_0x3546eb['n'](_0x25dfa3),_0x1b9dbb=_0x3546eb(0x9),_0x208b3a=_0x3546eb['n'](_0x1b9dbb),_0x3e09b2=_0x3546eb(0x7),_0x4e5242=_0x3546eb['n'](_0x3e09b2),_0x5b500d=_0x3546eb(0xa),_0x1d6c92=_0x3546eb['n'](_0x5b500d),_0x17debb=_0x3546eb(0xb),_0x38d9a0=_0x3546eb['n'](_0x17debb),_0x210558=function(){var _0x57a21c=_0x3fa314;function _0x563eb3(_0x475eb1,_0x42212d,_0x3e75de,_0x4f86f5,_0x1bdc90){var _0x3c9017=a0_0x3594;_0x56af1d()(this,_0x563eb3),this[_0x3c9017(0x2d8)](_0x475eb1,_0x42212d),this[_0x3c9017(0x297)](_0x475eb1),this[_0x3c9017(0x26e)](_0x475eb1,_0x3e75de,_0x4f86f5,_0x1bdc90);}return _0x1c42a7()(_0x563eb3,[{'key':_0x57a21c(0x2d8),'value':function(_0x315f4f,_0x105ac5){var _0x1f30d2=_0x57a21c,_0x57453c={'context':_0x315f4f,'width':_0x315f4f[_0x1f30d2(0x21f)],'height':_0x315f4f[_0x1f30d2(0x1fe)],'pixelFormat':_0xcd9f5b[_0x1f30d2(0x236)]['RGBA'],'pixelDatatype':_0xcd9f5b[_0x1f30d2(0x240)]['UNSIGNED_BYTE']},_0x4f03ab={'context':_0x315f4f,'width':_0x315f4f[_0x1f30d2(0x21f)],'height':_0x315f4f[_0x1f30d2(0x1fe)],'pixelFormat':_0xcd9f5b['PixelFormat'][_0x1f30d2(0x322)],'pixelDatatype':_0xcd9f5b[_0x1f30d2(0x240)][_0x1f30d2(0x273)]},_0x43d01e={'context':_0x315f4f,'width':_0x105ac5[_0x1f30d2(0x269)]['colorNum'],'height':0x1,'pixelFormat':_0xcd9f5b[_0x1f30d2(0x236)][_0x1f30d2(0x1bc)],'pixelDatatype':_0xcd9f5b[_0x1f30d2(0x240)]['FLOAT'],'sampler':new _0xcd9f5b['Sampler']({'minificationFilter':_0xcd9f5b[_0x1f30d2(0x2fd)][_0x1f30d2(0x2db)],'magnificationFilter':_0xcd9f5b[_0x1f30d2(0x22f)][_0x1f30d2(0x2db)]})};this[_0x1f30d2(0x1d3)]={'segmentsColor':_0x3597ed[_0x1f30d2(0x310)](_0x57453c),'segmentsDepth':_0x3597ed['createTexture'](_0x4f03ab),'currentTrailsColor':_0x3597ed['createTexture'](_0x57453c),'currentTrailsDepth':_0x3597ed[_0x1f30d2(0x310)](_0x4f03ab),'nextTrailsColor':_0x3597ed[_0x1f30d2(0x310)](_0x57453c),'nextTrailsDepth':_0x3597ed[_0x1f30d2(0x310)](_0x4f03ab),'colorTable':_0x3597ed[_0x1f30d2(0x310)](_0x43d01e,_0x105ac5[_0x1f30d2(0x269)][_0x1f30d2(0x281)])};}},{'key':'createRenderingFramebuffers','value':function(_0x177664){var _0x4189d9=_0x57a21c;this['framebuffers']={'segments':_0x3597ed[_0x4189d9(0x292)](_0x177664,this[_0x4189d9(0x1d3)][_0x4189d9(0x1cf)],this[_0x4189d9(0x1d3)][_0x4189d9(0x20f)]),'currentTrails':_0x3597ed[_0x4189d9(0x292)](_0x177664,this[_0x4189d9(0x1d3)]['currentTrailsColor'],this[_0x4189d9(0x1d3)]['currentTrailsDepth']),'nextTrails':_0x3597ed[_0x4189d9(0x292)](_0x177664,this['textures'][_0x4189d9(0x28e)],this[_0x4189d9(0x1d3)][_0x4189d9(0x27b)])};}},{'key':_0x57a21c(0x31d),'value':function(_0x5adc4b){var _0x3a9761=_0x57a21c;for(var _0xd35b0=[],_0x5cb991=0x0;_0x5cb991<_0x5adc4b[_0x3a9761(0x30e)];_0x5cb991++)for(var _0x469cbc=0x0;_0x469cbc<_0x5adc4b[_0x3a9761(0x30e)];_0x469cbc++)for(var _0x4fd35b=0x0;_0x4fd35b<0x4;_0x4fd35b++)_0xd35b0['push'](_0x5cb991/_0x5adc4b[_0x3a9761(0x30e)]),_0xd35b0[_0x3a9761(0x203)](_0x469cbc/_0x5adc4b[_0x3a9761(0x30e)]);_0xd35b0=new Float32Array(_0xd35b0);for(var _0x5f5d3c=[],_0x1ccade=[-0x1,0x1],_0x5bb91f=[-0x1,0x1],_0xdbb9f2=0x0;_0xdbb9f2<_0x5adc4b['maxParticles'];_0xdbb9f2++)for(var _0x387ddb=0x0;_0x387ddb<0x2;_0x387ddb++)for(var _0x280f2a=0x0;_0x280f2a<0x2;_0x280f2a++)_0x5f5d3c[_0x3a9761(0x203)](_0x1ccade[_0x387ddb]),_0x5f5d3c[_0x3a9761(0x203)](_0x5bb91f[_0x280f2a]),_0x5f5d3c[_0x3a9761(0x203)](0x0);_0x5f5d3c=new Float32Array(_0x5f5d3c);for(var _0x2d3837=0x6*_0x5adc4b[_0x3a9761(0x25f)],_0x2faa22=new Uint32Array(_0x2d3837),_0x39b6a3=0x0,_0x25d790=0x0,_0x5723f1=0x0;_0x39b6a3<_0x5adc4b[_0x3a9761(0x25f)];_0x39b6a3++)_0x2faa22[_0x25d790++]=_0x5723f1+0x0,_0x2faa22[_0x25d790++]=_0x5723f1+0x1,_0x2faa22[_0x25d790++]=_0x5723f1+0x2,_0x2faa22[_0x25d790++]=_0x5723f1+0x2,_0x2faa22[_0x25d790++]=_0x5723f1+0x1,_0x2faa22[_0x25d790++]=_0x5723f1+0x3,_0x5723f1+=0x4;return new _0xcd9f5b['Geometry']({'attributes':new _0xcd9f5b[(_0x3a9761(0x2b8))]({'st':new _0xcd9f5b[(_0x3a9761(0x289))]({'componentDatatype':_0xcd9f5b[_0x3a9761(0x270)]['FLOAT'],'componentsPerAttribute':0x2,'values':_0xd35b0}),'normal':new _0xcd9f5b[(_0x3a9761(0x289))]({'componentDatatype':_0xcd9f5b[_0x3a9761(0x270)]['FLOAT'],'componentsPerAttribute':0x3,'values':_0x5f5d3c})}),'indices':_0x2faa22});}},{'key':_0x57a21c(0x26e),'value':function(_0x2a7e40,_0x34f7ee,_0x139e77,_0x4ac98d){var _0x3212c2=_0x57a21c,_0x1a6e0f=this;this[_0x3212c2(0x304)]={'segments':new _0x511e40({'commandType':'Draw','attributeLocations':{'st':0x0,'normal':0x1},'geometry':this[_0x3212c2(0x31d)](_0x34f7ee),'primitiveType':_0xcd9f5b[_0x3212c2(0x25d)][_0x3212c2(0x208)],'uniformMap':{'currentParticlesPosition':function(){var _0xd2d735=_0x3212c2;return _0x4ac98d[_0xd2d735(0x2cd)][_0xd2d735(0x1ea)];},'postProcessingPosition':function(){var _0x40fa40=_0x3212c2;return _0x4ac98d[_0x40fa40(0x2cd)][_0x40fa40(0x288)];},'postProcessingSpeed':function(){var _0x18426b=_0x3212c2;return _0x4ac98d[_0x18426b(0x2cd)][_0x18426b(0x25c)];},'colorTable':function(){var _0x101d25=_0x3212c2;return _0x1a6e0f[_0x101d25(0x1d3)][_0x101d25(0x269)];},'aspect':function(){var _0x1f81af=_0x3212c2;return _0x2a7e40[_0x1f81af(0x21f)]/_0x2a7e40[_0x1f81af(0x1fe)];},'pixelSize':function(){var _0x2551da=_0x3212c2;return _0x139e77[_0x2551da(0x27c)];},'lineWidth':function(){return _0x34f7ee['lineWidth'];},'particleHeight':function(){var _0xe0fbd6=_0x3212c2;return _0x34f7ee[_0xe0fbd6(0x20a)];}},'vertexShaderSource':new _0xcd9f5b[(_0x3212c2(0x2e8))]({'sources':[_0x4733da['a']]}),'fragmentShaderSource':new _0xcd9f5b[(_0x3212c2(0x2e8))]({'sources':[_0x208b3a['a']]}),'rawRenderState':_0x3597ed[_0x3212c2(0x249)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0},'depthMask':!0x0}),'framebuffer':this[_0x3212c2(0x2c2)]['segments'],'autoClear':!0x0}),'trails':new _0x511e40({'commandType':_0x3212c2(0x2ad),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x3597ed['getFullscreenQuad'](),'primitiveType':_0xcd9f5b[_0x3212c2(0x25d)][_0x3212c2(0x208)],'uniformMap':{'segmentsColorTexture':function(){var _0x4491ba=_0x3212c2;return _0x1a6e0f[_0x4491ba(0x1d3)][_0x4491ba(0x1cf)];},'segmentsDepthTexture':function(){var _0x223117=_0x3212c2;return _0x1a6e0f[_0x223117(0x1d3)]['segmentsDepth'];},'currentTrailsColor':function(){var _0x37a77b=_0x3212c2;return _0x1a6e0f[_0x37a77b(0x2c2)][_0x37a77b(0x2da)][_0x37a77b(0x1d5)](0x0);},'trailsDepthTexture':function(){var _0x286856=_0x3212c2;return _0x1a6e0f[_0x286856(0x2c2)][_0x286856(0x2da)][_0x286856(0x2ea)];},'fadeOpacity':function(){var _0x17be9d=_0x3212c2;return _0x34f7ee[_0x17be9d(0x31f)];}},'vertexShaderSource':new _0xcd9f5b[(_0x3212c2(0x2e8))]({'defines':[_0x3212c2(0x1f9)],'sources':[_0x4e5242['a']]}),'fragmentShaderSource':new _0xcd9f5b[(_0x3212c2(0x2e8))]({'defines':['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],'sources':[_0x1d6c92['a']]}),'rawRenderState':_0x3597ed[_0x3212c2(0x249)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0,'func':_0xcd9f5b[_0x3212c2(0x28d)][_0x3212c2(0x30b)]},'depthMask':!0x0}),'framebuffer':this['framebuffers'][_0x3212c2(0x2a4)],'autoClear':!0x0,'preExecute':function(){var _0x3505cb=_0x3212c2,_0x220921;_0x220921=_0x1a6e0f[_0x3505cb(0x2c2)][_0x3505cb(0x2da)],_0x1a6e0f[_0x3505cb(0x2c2)][_0x3505cb(0x2da)]=_0x1a6e0f[_0x3505cb(0x2c2)]['nextTrails'],_0x1a6e0f[_0x3505cb(0x2c2)][_0x3505cb(0x2a4)]=_0x220921,_0x1a6e0f[_0x3505cb(0x304)][_0x3505cb(0x1fa)]['commandToExecute']['framebuffer']=_0x1a6e0f[_0x3505cb(0x2c2)]['nextTrails'],_0x1a6e0f[_0x3505cb(0x304)][_0x3505cb(0x1fa)]['clearCommand'][_0x3505cb(0x1f0)]=_0x1a6e0f[_0x3505cb(0x2c2)]['nextTrails'];}}),'screen':new _0x511e40({'commandType':_0x3212c2(0x2ad),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x3597ed[_0x3212c2(0x2c5)](),'primitiveType':_0xcd9f5b['PrimitiveType'][_0x3212c2(0x208)],'uniformMap':{'trailsColorTexture':function(){var _0x18fd0d=_0x3212c2;return _0x1a6e0f[_0x18fd0d(0x2c2)][_0x18fd0d(0x2a4)][_0x18fd0d(0x1d5)](0x0);},'trailsDepthTexture':function(){var _0x3d0841=_0x3212c2;return _0x1a6e0f[_0x3d0841(0x2c2)]['nextTrails'][_0x3d0841(0x2ea)];}},'vertexShaderSource':new _0xcd9f5b[(_0x3212c2(0x2e8))]({'defines':[_0x3212c2(0x1f9)],'sources':[_0x4e5242['a']]}),'fragmentShaderSource':new _0xcd9f5b[(_0x3212c2(0x2e8))]({'defines':['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],'sources':[_0x38d9a0['a']]}),'rawRenderState':_0x3597ed[_0x3212c2(0x249)]({'viewport':void 0x0,'depthTest':{'enabled':!0x1},'depthMask':!0x0,'blending':{'enabled':!0x0}}),'framebuffer':void 0x0})};}}]),_0x563eb3;}(),_0xe33879=_0x3546eb(0xc),_0x3f7cc1=_0x3546eb['n'](_0xe33879),_0x4e76ea=_0x3546eb(0xd),_0xdc97cf=_0x3546eb['n'](_0x4e76ea),_0x339d62=_0x3546eb(0xe),_0x240a47=_0x3546eb['n'](_0x339d62),_0x19bba9=_0x3546eb(0xf),_0x2223fc=_0x3546eb['n'](_0x19bba9),_0x4f4dfb=_0x3546eb(0x10),_0x18968a=_0x3546eb['n'](_0x4f4dfb),_0x41c647=function(){var _0x3b97f8=_0x3fa314;function _0x10e1d8(_0x3a461c,_0x5dd010,_0x55036b,_0x55e3d4){var _0x374e2b=a0_0x3594;_0x56af1d()(this,_0x10e1d8),this[_0x374e2b(0x258)]=_0x5dd010,this['createWindTextures'](_0x3a461c,_0x5dd010),this['createParticlesTextures'](_0x3a461c,_0x55036b,_0x55e3d4),this[_0x374e2b(0x22a)](_0x5dd010,_0x55036b,_0x55e3d4);}return _0x1c42a7()(_0x10e1d8,[{'key':_0x3b97f8(0x1c2),'value':function(_0x3f6a48,_0x59790e){var _0x36ed49=_0x3b97f8,_0x28bfa9={'context':_0x3f6a48,'width':_0x59790e['dimensions']['lon'],'height':_0x59790e[_0x36ed49(0x2c8)][_0x36ed49(0x215)]*_0x59790e['dimensions'][_0x36ed49(0x246)],'pixelFormat':_0xcd9f5b[_0x36ed49(0x236)][_0x36ed49(0x1fb)],'pixelDatatype':_0xcd9f5b[_0x36ed49(0x240)][_0x36ed49(0x1ee)],'flipY':!0x1,'sampler':new _0xcd9f5b['Sampler']({'minificationFilter':_0xcd9f5b[_0x36ed49(0x2fd)][_0x36ed49(0x218)],'magnificationFilter':_0xcd9f5b[_0x36ed49(0x22f)][_0x36ed49(0x218)]})};this['windTextures']={'U':_0x3597ed['createTexture'](_0x28bfa9,_0x59790e['U'][_0x36ed49(0x281)]),'V':_0x3597ed['createTexture'](_0x28bfa9,_0x59790e['V'][_0x36ed49(0x281)])};}},{'key':'createParticlesTextures','value':function(_0x481cdd,_0xb525c3,_0x48a6f1){var _0x4294bb=_0x3b97f8,_0x41f2cb={'context':_0x481cdd,'width':_0xb525c3[_0x4294bb(0x30e)],'height':_0xb525c3['particlesTextureSize'],'pixelFormat':_0xcd9f5b[_0x4294bb(0x236)][_0x4294bb(0x206)],'pixelDatatype':_0xcd9f5b[_0x4294bb(0x240)]['FLOAT'],'flipY':!0x1,'sampler':new _0xcd9f5b['Sampler']({'minificationFilter':_0xcd9f5b[_0x4294bb(0x2fd)][_0x4294bb(0x218)],'magnificationFilter':_0xcd9f5b['TextureMagnificationFilter'][_0x4294bb(0x218)]})},_0x1587bb=this[_0x4294bb(0x31c)](_0xb525c3[_0x4294bb(0x25f)],_0x48a6f1),_0x41b663=new Float32Array(0x4*_0xb525c3[_0x4294bb(0x25f)])['fill'](0x0);this[_0x4294bb(0x2cd)]={'particlesWind':_0x3597ed[_0x4294bb(0x310)](_0x41f2cb),'currentParticlesPosition':_0x3597ed['createTexture'](_0x41f2cb,_0x1587bb),'nextParticlesPosition':_0x3597ed['createTexture'](_0x41f2cb,_0x1587bb),'currentParticlesSpeed':_0x3597ed['createTexture'](_0x41f2cb,_0x41b663),'nextParticlesSpeed':_0x3597ed[_0x4294bb(0x310)](_0x41f2cb,_0x41b663),'postProcessingPosition':_0x3597ed[_0x4294bb(0x310)](_0x41f2cb,_0x1587bb),'postProcessingSpeed':_0x3597ed[_0x4294bb(0x310)](_0x41f2cb,_0x41b663)};}},{'key':'randomizeParticles','value':function(_0x4bdf55,_0x525b20){var _0x2a9ea2=_0x3b97f8;for(var _0x503ac0=new Float32Array(0x4*_0x4bdf55),_0x1b01a8=0x0;_0x1b01a8<_0x4bdf55;_0x1b01a8++)_0x503ac0[0x4*_0x1b01a8]=_0xcd9f5b[_0x2a9ea2(0x315)][_0x2a9ea2(0x2f9)](_0x525b20['lonRange']['x'],_0x525b20[_0x2a9ea2(0x2b9)]['y']),_0x503ac0[0x4*_0x1b01a8+0x1]=_0xcd9f5b[_0x2a9ea2(0x315)]['randomBetween'](_0x525b20[_0x2a9ea2(0x1de)]['x'],_0x525b20['latRange']['y']),_0x503ac0[0x4*_0x1b01a8+0x2]=_0xcd9f5b[_0x2a9ea2(0x315)][_0x2a9ea2(0x2f9)](this[_0x2a9ea2(0x258)][_0x2a9ea2(0x246)][_0x2a9ea2(0x28b)],this[_0x2a9ea2(0x258)][_0x2a9ea2(0x246)][_0x2a9ea2(0x2e3)]),_0x503ac0[0x4*_0x1b01a8+0x3]=0x0;return _0x503ac0;}},{'key':'destroyParticlesTextures','value':function(){var _0x415135=_0x3b97f8,_0x15dea9=this;Object['keys'](this[_0x415135(0x2cd)])[_0x415135(0x23d)](function(_0x483088){var _0x2398ab=_0x415135;_0x15dea9[_0x2398ab(0x2cd)][_0x483088][_0x2398ab(0x1f3)]();});}},{'key':_0x3b97f8(0x22a),'value':function(_0x6ec92e,_0x29a33f,_0x1e20db){var _0x3b9dea=_0x3b97f8,_0x4318ea=new _0xcd9f5b[(_0x3b9dea(0x1f4))](_0x6ec92e['dimensions'][_0x3b9dea(0x255)],_0x6ec92e[_0x3b9dea(0x2c8)][_0x3b9dea(0x215)],_0x6ec92e[_0x3b9dea(0x2c8)][_0x3b9dea(0x246)]),_0x158a06=new _0xcd9f5b[(_0x3b9dea(0x1f4))](_0x6ec92e['lon'][_0x3b9dea(0x28b)],_0x6ec92e[_0x3b9dea(0x215)]['min'],_0x6ec92e[_0x3b9dea(0x246)][_0x3b9dea(0x28b)]),_0x529209=new _0xcd9f5b[(_0x3b9dea(0x1f4))](_0x6ec92e['lon'][_0x3b9dea(0x2e3)],_0x6ec92e['lat'][_0x3b9dea(0x2e3)],_0x6ec92e[_0x3b9dea(0x246)]['max']),_0x5cd3a7=new _0xcd9f5b['Cartesian3']((_0x529209['x']-_0x158a06['x'])/(_0x4318ea['x']-0x1),(_0x529209['y']-_0x158a06['y'])/(_0x4318ea['y']-0x1),_0x4318ea['z']>0x1?(_0x529209['z']-_0x158a06['z'])/(_0x4318ea['z']-0x1):0x1),_0x5e813e=new _0xcd9f5b[(_0x3b9dea(0x1ba))](_0x6ec92e['U'][_0x3b9dea(0x28b)],_0x6ec92e['U'][_0x3b9dea(0x2e3)]),_0x5f0ff8=new _0xcd9f5b[(_0x3b9dea(0x1ba))](_0x6ec92e['V'][_0x3b9dea(0x28b)],_0x6ec92e['V']['max']),_0x2d911e=this;this[_0x3b9dea(0x304)]={'getWind':new _0x511e40({'commandType':'Compute','uniformMap':{'U':function(){var _0x513fe5=_0x3b9dea;return _0x2d911e[_0x513fe5(0x312)]['U'];},'V':function(){var _0x15e292=_0x3b9dea;return _0x2d911e[_0x15e292(0x312)]['V'];},'currentParticlesPosition':function(){var _0x17a151=_0x3b9dea;return _0x2d911e[_0x17a151(0x2cd)][_0x17a151(0x1ea)];},'dimension':function(){return _0x4318ea;},'minimum':function(){return _0x158a06;},'maximum':function(){return _0x529209;},'interval':function(){return _0x5cd3a7;}},'fragmentShaderSource':new _0xcd9f5b[(_0x3b9dea(0x2e8))]({'sources':[_0x3f7cc1['a']]}),'outputTexture':this['particlesTextures'][_0x3b9dea(0x237)],'preExecute':function(){var _0x465933=_0x3b9dea;_0x2d911e[_0x465933(0x304)][_0x465933(0x2ec)][_0x465933(0x256)][_0x465933(0x24d)]=_0x2d911e[_0x465933(0x2cd)]['particlesWind'];}}),'updateSpeed':new _0x511e40({'commandType':_0x3b9dea(0x1e4),'uniformMap':{'currentParticlesSpeed':function(){var _0x6d3c02=_0x3b9dea;return _0x2d911e[_0x6d3c02(0x2cd)][_0x6d3c02(0x293)];},'particlesWind':function(){var _0xf93752=_0x3b9dea;return _0x2d911e[_0xf93752(0x2cd)][_0xf93752(0x237)];},'uSpeedRange':function(){return _0x5e813e;},'vSpeedRange':function(){return _0x5f0ff8;},'pixelSize':function(){var _0x5b1595=_0x3b9dea;return _0x1e20db[_0x5b1595(0x27c)];},'speedFactor':function(){var _0x325f3f=_0x3b9dea;return _0x29a33f[_0x325f3f(0x1e3)];}},'fragmentShaderSource':new _0xcd9f5b[(_0x3b9dea(0x2e8))]({'sources':[_0xdc97cf['a']]}),'outputTexture':this[_0x3b9dea(0x2cd)][_0x3b9dea(0x2e2)],'preExecute':function(){var _0x57826b=_0x3b9dea,_0x64d69f;_0x64d69f=_0x2d911e['particlesTextures'][_0x57826b(0x293)],_0x2d911e[_0x57826b(0x2cd)]['currentParticlesSpeed']=_0x2d911e[_0x57826b(0x2cd)][_0x57826b(0x25c)],_0x2d911e[_0x57826b(0x2cd)][_0x57826b(0x25c)]=_0x64d69f,_0x2d911e['primitives'][_0x57826b(0x20c)]['commandToExecute'][_0x57826b(0x24d)]=_0x2d911e[_0x57826b(0x2cd)][_0x57826b(0x2e2)];}}),'updatePosition':new _0x511e40({'commandType':_0x3b9dea(0x1e4),'uniformMap':{'currentParticlesPosition':function(){var _0x177473=_0x3b9dea;return _0x2d911e[_0x177473(0x2cd)][_0x177473(0x1ea)];},'currentParticlesSpeed':function(){var _0x1675d8=_0x3b9dea;return _0x2d911e[_0x1675d8(0x2cd)]['currentParticlesSpeed'];}},'fragmentShaderSource':new _0xcd9f5b[(_0x3b9dea(0x2e8))]({'sources':[_0x240a47['a']]}),'outputTexture':this[_0x3b9dea(0x2cd)]['nextParticlesPosition'],'preExecute':function(){var _0x55787a=_0x3b9dea,_0x5ddcd8;_0x5ddcd8=_0x2d911e[_0x55787a(0x2cd)][_0x55787a(0x1ea)],_0x2d911e[_0x55787a(0x2cd)][_0x55787a(0x1ea)]=_0x2d911e[_0x55787a(0x2cd)][_0x55787a(0x288)],_0x2d911e[_0x55787a(0x2cd)][_0x55787a(0x288)]=_0x5ddcd8,_0x2d911e['primitives']['updatePosition'][_0x55787a(0x256)][_0x55787a(0x24d)]=_0x2d911e[_0x55787a(0x2cd)][_0x55787a(0x2f7)];}}),'postProcessingPosition':new _0x511e40({'commandType':_0x3b9dea(0x1e4),'uniformMap':{'nextParticlesPosition':function(){var _0x23c6c9=_0x3b9dea;return _0x2d911e[_0x23c6c9(0x2cd)][_0x23c6c9(0x2f7)];},'nextParticlesSpeed':function(){var _0x218253=_0x3b9dea;return _0x2d911e[_0x218253(0x2cd)][_0x218253(0x2e2)];},'lonRange':function(){var _0x252cd4=_0x3b9dea;return _0x1e20db[_0x252cd4(0x2b9)];},'latRange':function(){var _0x25d53d=_0x3b9dea;return _0x1e20db[_0x25d53d(0x1de)];},'randomCoefficient':function(){var _0x35d812=_0x3b9dea,_0x4a7807=Math[_0x35d812(0x1dd)]();return _0x4a7807;},'dropRate':function(){var _0x57a8e6=_0x3b9dea;return _0x29a33f[_0x57a8e6(0x26c)];},'dropRateBump':function(){var _0x31e11d=_0x3b9dea;return _0x29a33f[_0x31e11d(0x225)];}},'fragmentShaderSource':new _0xcd9f5b[(_0x3b9dea(0x2e8))]({'sources':[_0x2223fc['a']]}),'outputTexture':this['particlesTextures'][_0x3b9dea(0x288)],'preExecute':function(){var _0x1f120c=_0x3b9dea;_0x2d911e[_0x1f120c(0x304)][_0x1f120c(0x288)]['commandToExecute'][_0x1f120c(0x24d)]=_0x2d911e['particlesTextures'][_0x1f120c(0x288)];}}),'postProcessingSpeed':new _0x511e40({'commandType':'Compute','uniformMap':{'postProcessingPosition':function(){return _0x2d911e['particlesTextures']['postProcessingPosition'];},'nextParticlesSpeed':function(){var _0x2efcfd=_0x3b9dea;return _0x2d911e['particlesTextures'][_0x2efcfd(0x2e2)];}},'fragmentShaderSource':new _0xcd9f5b['ShaderSource']({'sources':[_0x18968a['a']]}),'outputTexture':this['particlesTextures']['postProcessingSpeed'],'preExecute':function(){var _0x29c39d=_0x3b9dea;_0x2d911e[_0x29c39d(0x304)][_0x29c39d(0x25c)][_0x29c39d(0x256)][_0x29c39d(0x24d)]=_0x2d911e[_0x29c39d(0x2cd)][_0x29c39d(0x25c)];}})};}}]),_0x10e1d8;}(),_0x37c580=function(){var _0x123a34=_0x3fa314;function _0x4c5cef(_0x49541,_0x2d566c,_0x34bb05,_0x12fb9c){var _0x346d86=a0_0x3594;_0x56af1d()(this,_0x4c5cef),this[_0x346d86(0x1c5)]=_0x49541,this[_0x346d86(0x258)]=_0x2d566c,this['userInput']=_0x34bb05,this[_0x346d86(0x290)]=_0x12fb9c,this[_0x346d86(0x2d5)]=new _0x41c647(this[_0x346d86(0x1c5)],this[_0x346d86(0x258)],this[_0x346d86(0x1c1)],this[_0x346d86(0x290)]),this[_0x346d86(0x307)]=new _0x210558(this[_0x346d86(0x1c5)],this[_0x346d86(0x258)],this[_0x346d86(0x1c1)],this[_0x346d86(0x290)],this[_0x346d86(0x2d5)]);}return _0x1c42a7()(_0x4c5cef,[{'key':_0x123a34(0x274),'value':function(_0x460b7a){var _0x34f52e=_0x123a34,_0x51f2e0=this;this['particlesComputing'][_0x34f52e(0x243)](),Object[_0x34f52e(0x27f)](this[_0x34f52e(0x2d5)][_0x34f52e(0x312)])[_0x34f52e(0x23d)](function(_0x48aac7){var _0x5e99af=_0x34f52e;_0x51f2e0[_0x5e99af(0x2d5)][_0x5e99af(0x312)][_0x48aac7][_0x5e99af(0x1f3)]();}),this[_0x34f52e(0x307)][_0x34f52e(0x1d3)]['colorTable'][_0x34f52e(0x1f3)](),Object[_0x34f52e(0x27f)](this[_0x34f52e(0x307)][_0x34f52e(0x2c2)])[_0x34f52e(0x23d)](function(_0x2f0b44){var _0x249bbd=_0x34f52e;_0x51f2e0[_0x249bbd(0x307)][_0x249bbd(0x2c2)][_0x2f0b44][_0x249bbd(0x1f3)]();}),this[_0x34f52e(0x1c5)]=_0x460b7a,this['particlesComputing']=new _0x41c647(this[_0x34f52e(0x1c5)],this[_0x34f52e(0x258)],this['userInput'],this[_0x34f52e(0x290)]),this['particlesRendering']=new _0x210558(this[_0x34f52e(0x1c5)],this[_0x34f52e(0x258)],this[_0x34f52e(0x1c1)],this['viewerParameters'],this['particlesComputing']);}},{'key':_0x123a34(0x313),'value':function(){var _0x1b4561=_0x123a34,_0x2d3f52=this,_0x54f5d2=new _0xcd9f5b[(_0x1b4561(0x1e9))]({'color':new _0xcd9f5b[(_0x1b4561(0x2b1))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':void 0x0,'pass':_0xcd9f5b[_0x1b4561(0x2ef)][_0x1b4561(0x280)]});Object['keys'](this[_0x1b4561(0x307)][_0x1b4561(0x2c2)])[_0x1b4561(0x23d)](function(_0x5705cd){var _0x46c4a2=_0x1b4561;_0x54f5d2['framebuffer']=_0x2d3f52[_0x46c4a2(0x307)]['framebuffers'][_0x5705cd],_0x54f5d2['execute'](_0x2d3f52['context']);});}},{'key':_0x123a34(0x1ef),'value':function(_0x57e416){var _0x1f5aa1=_0x123a34;if(this[_0x1f5aa1(0x313)](),this[_0x1f5aa1(0x2d5)][_0x1f5aa1(0x243)](),this['particlesComputing'][_0x1f5aa1(0x2d4)](this[_0x1f5aa1(0x1c5)],this[_0x1f5aa1(0x1c1)],this[_0x1f5aa1(0x290)]),_0x57e416){var _0x18c077=this[_0x1f5aa1(0x307)]['createSegmentsGeometry'](this[_0x1f5aa1(0x1c1)]);this[_0x1f5aa1(0x307)][_0x1f5aa1(0x304)][_0x1f5aa1(0x28f)][_0x1f5aa1(0x235)]=_0x18c077;var _0x215be9=_0xcd9f5b[_0x1f5aa1(0x27d)][_0x1f5aa1(0x1b5)]({'context':this[_0x1f5aa1(0x1c5)],'geometry':_0x18c077,'attributeLocations':this[_0x1f5aa1(0x307)][_0x1f5aa1(0x304)][_0x1f5aa1(0x28f)][_0x1f5aa1(0x2e5)],'bufferUsage':_0xcd9f5b[_0x1f5aa1(0x264)][_0x1f5aa1(0x29b)]});this['particlesRendering'][_0x1f5aa1(0x304)][_0x1f5aa1(0x28f)][_0x1f5aa1(0x256)][_0x1f5aa1(0x2ff)]=_0x215be9;}}},{'key':'applyUserInput','value':function(_0x23dc15){var _0x1497bc=_0x123a34,_0x151391=this,_0x512569=!0x1;this[_0x1497bc(0x1c1)][_0x1497bc(0x25f)]!=_0x23dc15['maxParticles']&&(_0x512569=!0x0),Object[_0x1497bc(0x27f)](_0x23dc15)[_0x1497bc(0x23d)](function(_0x30f739){_0x151391['userInput'][_0x30f739]=_0x23dc15[_0x30f739];}),this[_0x1497bc(0x1ef)](_0x512569);}},{'key':_0x123a34(0x202),'value':function(_0x3689d1){var _0xdf9cb2=_0x123a34,_0xd3cf9a=this;Object[_0xdf9cb2(0x27f)](_0x3689d1)[_0xdf9cb2(0x23d)](function(_0x44a936){_0xd3cf9a['viewerParameters'][_0x44a936]=_0x3689d1[_0x44a936];}),this['refreshParticles'](!0x1);}}]),_0x4c5cef;}();function _0x38f95a(_0x51af12){var _0x4b248b=function(){var _0x487018=a0_0x3594;if(_0x487018(0x26f)==typeof Reflect||!Reflect[_0x487018(0x2ce)])return!0x1;if(Reflect['construct']['sham'])return!0x1;if(_0x487018(0x266)==typeof Proxy)return!0x0;try{return Boolean[_0x487018(0x2dd)][_0x487018(0x29d)]['call'](Reflect[_0x487018(0x2ce)](Boolean,[],function(){})),!0x0;}catch(_0x29e2bc){return!0x1;}}();return function(){var _0x128803=a0_0x3594,_0x3fe83e,_0x145da4=_0x2e13bc()(_0x51af12);if(_0x4b248b){var _0xf1676c=_0x2e13bc()(this)['constructor'];_0x3fe83e=Reflect['construct'](_0x145da4,arguments,_0xf1676c);}else _0x3fe83e=_0x145da4[_0x128803(0x2a3)](this,arguments);return _0x173342()(this,_0x3fe83e);};}var _0x811b8b=_0x3933d9[_0x3fa314(0x25e)][_0x3fa314(0x2cb)],_0x42fc2d=0x1000,_0x16e2a8=0x64,_0x4ef3a9=0.996,_0x452552=0.003,_0x58f467=0.01,_0x6ef28=0.5,_0x382796=0x2,_0x1b3d8f=function(_0xd79cd6){var _0x480141=_0x3fa314;_0x58dc92()(_0x520a13,_0xd79cd6);var _0x382d5c=_0x38f95a(_0x520a13);function _0x520a13(){var _0x5dc86e=a0_0x3594,_0xb2f34d,_0x5aae6f=arguments['length']>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};if(_0x56af1d()(this,_0x520a13),(_0xb2f34d=_0x382d5c[_0x5dc86e(0x245)](this,_0x5aae6f))[_0x5dc86e(0x25f)]=_0x42fc2d,_0xb2f34d[_0x5dc86e(0x20a)]=_0x16e2a8,_0xb2f34d[_0x5dc86e(0x31f)]=_0x4ef3a9,_0xb2f34d[_0x5dc86e(0x26c)]=_0x452552,_0xb2f34d[_0x5dc86e(0x225)]=_0x58f467,_0xb2f34d[_0x5dc86e(0x1e3)]=_0x6ef28,_0xb2f34d[_0x5dc86e(0x251)]=_0x382796,_0x5aae6f){for(var _0x459f61 in _0x5aae6f)_0xb2f34d[_0x459f61]=_0x5aae6f[_0x459f61];}return _0xb2f34d;}return _0x1c42a7()(_0x520a13,[{'key':_0x480141(0x25e),'get':function(){var _0x27b8e0=_0x480141;return this[_0x27b8e0(0x304)];}},{'key':_0x480141(0x2f0),'value':function(){}},{'key':_0x480141(0x2b5),'value':function(){var _0x28d352=_0x480141;this['scene']=this[_0x28d352(0x1eb)]['scene'],this[_0x28d352(0x214)]=this[_0x28d352(0x1eb)][_0x28d352(0x214)],this[_0x28d352(0x304)]=new _0xcd9f5b[(_0x28d352(0x30a))](),this[_0x28d352(0x1eb)][_0x28d352(0x321)][_0x28d352(0x304)][_0x28d352(0x302)](this['primitives']),this[_0x28d352(0x290)]={'lonRange':new _0xcd9f5b[(_0x28d352(0x1ba))](),'latRange':new _0xcd9f5b['Cartesian2'](),'pixelSize':0x0},this[_0x28d352(0x1e7)]=new _0xcd9f5b[(_0x28d352(0x1c0))](_0xcd9f5b['Cartesian3'][_0x28d352(0x2e1)],6314355.63),this[_0x28d352(0x2cc)](),window[_0x28d352(0x260)](_0x28d352(0x29a),this[_0x28d352(0x29a)][_0x28d352(0x21a)](this),!0x1),this[_0x28d352(0x272)]=!0x1,this[_0x28d352(0x2bc)]=!0x1,this['_map']['on'](_0x3933d9[_0x28d352(0x2d6)][_0x28d352(0x2c1)],this[_0x28d352(0x319)],this),this[_0x28d352(0x1eb)]['on'](_0x3933d9[_0x28d352(0x2d6)][_0x28d352(0x2dc)],this[_0x28d352(0x287)],this),this[_0x28d352(0x1eb)]['on'](_0x3933d9[_0x28d352(0x2d6)][_0x28d352(0x1db)],this[_0x28d352(0x291)],this),this[_0x28d352(0x1eb)]['on'](_0x3933d9[_0x28d352(0x2d6)]['mouseMove'],this['_onMouseMoveEvent'],this);}},{'key':'_removedHook','value':function(){var _0x50090b=_0x480141;window[_0x50090b(0x2c9)](_0x50090b(0x29a),this[_0x50090b(0x29a)]),this[_0x50090b(0x1eb)][_0x50090b(0x2de)](_0x3933d9['EventType'][_0x50090b(0x1fd)],this[_0x50090b(0x263)],this),this['_map'][_0x50090b(0x2de)](_0x3933d9[_0x50090b(0x2d6)][_0x50090b(0x2c1)],this['_onMapWhellEvent'],this),this[_0x50090b(0x1eb)]['off'](_0x3933d9['EventType'][_0x50090b(0x2dc)],this[_0x50090b(0x287)],this),this[_0x50090b(0x1eb)]['off'](_0x3933d9[_0x50090b(0x2d6)][_0x50090b(0x1db)],this[_0x50090b(0x291)],this),this[_0x50090b(0x1eb)][_0x50090b(0x2de)](_0x3933d9[_0x50090b(0x2d6)][_0x50090b(0x22b)],this[_0x50090b(0x282)],this),this[_0x50090b(0x304)][_0x50090b(0x2bb)](),this[_0x50090b(0x1eb)][_0x50090b(0x321)][_0x50090b(0x304)]['remove'](this[_0x50090b(0x304)]);}},{'key':_0x480141(0x29a),'value':function(){var _0x195145=_0x480141;this[_0x195145(0x1b9)]&&this[_0x195145(0x250)]&&(this[_0x195145(0x304)][_0x195145(0x1b9)]=!0x1,this[_0x195145(0x304)]['removeAll'](),this[_0x195145(0x1eb)]['once'](_0x3933d9['EventType'][_0x195145(0x1fd)],this[_0x195145(0x263)],this));}},{'key':_0x480141(0x263),'value':function(_0x505ba2){var _0x4fe1e8=_0x480141;this[_0x4fe1e8(0x250)][_0x4fe1e8(0x274)](this['scene'][_0x4fe1e8(0x1c5)]),this['addPrimitives'](),this[_0x4fe1e8(0x304)]['show']=!0x0;}},{'key':'_onMapWhellEvent','value':function(_0x427174){var _0x5f10c8=_0x480141,_0x21f69d=this;clearTimeout(this['refreshTimer']),this['show']&&this[_0x5f10c8(0x250)]&&(this[_0x5f10c8(0x304)][_0x5f10c8(0x1b9)]=!0x1,this['refreshTimer']=setTimeout(function(){var _0x3a3bce=_0x5f10c8;_0x21f69d[_0x3a3bce(0x1b9)]&&_0x21f69d[_0x3a3bce(0x248)]();},0xc8));}},{'key':_0x480141(0x287),'value':function(_0x352d42){var _0x803321=_0x480141;this[_0x803321(0x272)]=!0x0;}},{'key':_0x480141(0x282),'value':function(_0x31cbd5){var _0xd9726d=_0x480141;this[_0xd9726d(0x1b9)]&&this[_0xd9726d(0x250)]&&this[_0xd9726d(0x272)]&&(this[_0xd9726d(0x304)]['show']=!0x1,this[_0xd9726d(0x2bc)]=!0x0);}},{'key':_0x480141(0x291),'value':function(_0x368cdf){var _0x3b8826=_0x480141;this['show']&&this[_0x3b8826(0x250)]&&(this[_0x3b8826(0x272)]&&this['mouse_move']&&this[_0x3b8826(0x248)](),this['primitives'][_0x3b8826(0x1b9)]=!0x0,this[_0x3b8826(0x272)]=!0x1,this[_0x3b8826(0x2bc)]=!0x1);}},{'key':_0x480141(0x248),'value':function(){var _0x1d9218=_0x480141;this[_0x1d9218(0x1eb)]&&this['show']&&(this[_0x1d9218(0x2cc)](),this['particleSystem'][_0x1d9218(0x202)](this[_0x1d9218(0x290)]),this[_0x1d9218(0x304)][_0x1d9218(0x1b9)]=!0x0);}},{'key':_0x480141(0x1bd),'value':function(_0x3467dc){var _0x4bec73=_0x480141;this[_0x4bec73(0x250)]=new _0x37c580(this[_0x4bec73(0x321)]['context'],_0x3467dc,this[_0x4bec73(0x1d8)](),this[_0x4bec73(0x290)]),this[_0x4bec73(0x316)]();}},{'key':_0x480141(0x200),'value':function(_0x38c31f){var _0x5f59c8=_0x480141;if(_0x38c31f){for(var _0x4b64cf in _0x38c31f)this[_0x4b64cf]=_0x38c31f[_0x4b64cf];}return this['particleSystem']&&this['particleSystem'][_0x5f59c8(0x209)](this[_0x5f59c8(0x1d8)]()),this;}},{'key':_0x480141(0x1d8),'value':function(){var _0x46bf1a=_0x480141,_0x5e1290=Math[_0x46bf1a(0x2b6)](Math['sqrt'](this[_0x46bf1a(0x25f)]));return this[_0x46bf1a(0x25f)]=_0x5e1290*_0x5e1290,{'particlesTextureSize':_0x5e1290,'maxParticles':this[_0x46bf1a(0x25f)],'particleHeight':this[_0x46bf1a(0x20a)],'fadeOpacity':this[_0x46bf1a(0x31f)],'dropRate':this['dropRate'],'dropRateBump':this['dropRateBump'],'speedFactor':this[_0x46bf1a(0x1e3)],'lineWidth':this['lineWidth'],'globeLayer':this[_0x46bf1a(0x211)],'WMS_URL':this[_0x46bf1a(0x2ca)]};}},{'key':_0x480141(0x316),'value':function(){var _0x11621c=_0x480141;this[_0x11621c(0x304)]['add'](this[_0x11621c(0x250)][_0x11621c(0x2d5)][_0x11621c(0x304)][_0x11621c(0x2ec)]),this['primitives']['add'](this[_0x11621c(0x250)][_0x11621c(0x2d5)][_0x11621c(0x304)][_0x11621c(0x20c)]),this[_0x11621c(0x304)][_0x11621c(0x302)](this[_0x11621c(0x250)][_0x11621c(0x2d5)][_0x11621c(0x304)][_0x11621c(0x23c)]),this[_0x11621c(0x304)][_0x11621c(0x302)](this[_0x11621c(0x250)][_0x11621c(0x2d5)][_0x11621c(0x304)][_0x11621c(0x288)]),this['primitives'][_0x11621c(0x302)](this[_0x11621c(0x250)][_0x11621c(0x2d5)][_0x11621c(0x304)][_0x11621c(0x25c)]),this['primitives'][_0x11621c(0x302)](this[_0x11621c(0x250)][_0x11621c(0x307)][_0x11621c(0x304)][_0x11621c(0x28f)]),this[_0x11621c(0x304)]['add'](this[_0x11621c(0x250)][_0x11621c(0x307)]['primitives']['trails']),this[_0x11621c(0x304)][_0x11621c(0x302)](this[_0x11621c(0x250)]['particlesRendering'][_0x11621c(0x304)][_0x11621c(0x29f)]);}},{'key':_0x480141(0x2cc),'value':function(){var _0x183b44=_0x480141,_0x21f070=this[_0x183b44(0x214)][_0x183b44(0x257)](this[_0x183b44(0x321)][_0x183b44(0x2b4)][_0x183b44(0x23a)]);if(!_0x21f070){var _0x86fd9e=this[_0x183b44(0x1eb)][_0x183b44(0x216)]();_0x21f070=_0xcd9f5b[_0x183b44(0x1e5)][_0x183b44(0x1f2)](_0x86fd9e[_0x183b44(0x20b)],_0x86fd9e[_0x183b44(0x21e)],_0x86fd9e['xmax'],_0x86fd9e[_0x183b44(0x221)]);}var _0x5e5521=_0x3597ed[_0x183b44(0x298)](_0x21f070);this['viewerParameters'][_0x183b44(0x2b9)]['x']=_0x5e5521[_0x183b44(0x255)][_0x183b44(0x28b)],this['viewerParameters']['lonRange']['y']=_0x5e5521[_0x183b44(0x255)]['max'],this[_0x183b44(0x290)][_0x183b44(0x1de)]['x']=_0x5e5521['lat']['min'],this[_0x183b44(0x290)]['latRange']['y']=_0x5e5521[_0x183b44(0x215)][_0x183b44(0x2e3)];var _0x51cfd0=this[_0x183b44(0x214)][_0x183b44(0x1d6)](this[_0x183b44(0x1e7)],this[_0x183b44(0x321)][_0x183b44(0x21f)],this['scene'][_0x183b44(0x1fe)]);_0x51cfd0>0x0&&(this[_0x183b44(0x290)][_0x183b44(0x27c)]=_0x51cfd0);}}]),_0x520a13;}(_0x811b8b);_0x3933d9['LayerUtil']['register'](_0x3fa314(0x1f8),_0x1b3d8f),_0x3933d9[_0x3fa314(0x25e)][_0x3fa314(0x2a7)]=_0x1b3d8f;var _0x5713ef=function _0x58146a(){var _0x50212e=_0x3fa314;_0x56af1d()(this,_0x58146a),this[_0x50212e(0x252)]=null,this[_0x50212e(0x215)]=null,this['tlng']=null,this[_0x50212e(0x20d)]=null,this['age']=null;},_0x2f3b9e=function(){var _0xf9dfe2=_0x3fa314;function _0x2eb7a1(_0x56aac5,_0x4ecaf2){var _0x190c57=a0_0x3594;_0x56af1d()(this,_0x2eb7a1),this[_0x190c57(0x254)]=_0x56aac5[_0x190c57(0x254)],this[_0x190c57(0x2f1)]=_0x56aac5[_0x190c57(0x2f1)],this['xmin']=_0x56aac5['xmin'],this[_0x190c57(0x2ae)]=_0x56aac5[_0x190c57(0x2ae)],this[_0x190c57(0x21e)]=_0x56aac5['ymin'],this[_0x190c57(0x221)]=_0x56aac5['ymax'],this[_0x190c57(0x1da)]=[];var _0xa9d7cf=_0x56aac5['udata'],_0x11fdff=_0x56aac5[_0x190c57(0x1d9)],_0x315278=!0x1;_0xa9d7cf[_0x190c57(0x28c)]===this[_0x190c57(0x254)]&&_0xa9d7cf[0x0][_0x190c57(0x28c)]===this[_0x190c57(0x2f1)]&&(_0x315278=!0x0);for(var _0x168033=0x0,_0x5cca00=null,_0xcbf452=null,_0x4d92bb=0x0;_0x4d92bb<this[_0x190c57(0x254)];_0x4d92bb++){_0x5cca00=[];for(var _0x5c4e12=0x0;_0x5c4e12<this[_0x190c57(0x2f1)];_0x5c4e12++,_0x168033++)_0xcbf452=_0x315278?this['_calcUV'](_0xa9d7cf[_0x4d92bb][_0x5c4e12],_0x11fdff[_0x4d92bb][_0x5c4e12]):this[_0x190c57(0x210)](_0xa9d7cf[_0x168033],_0x11fdff[_0x168033]),_0x5cca00[_0x190c57(0x203)](_0xcbf452);this[_0x190c57(0x1da)][_0x190c57(0x203)](_0x5cca00);}_0x4ecaf2&&this[_0x190c57(0x1da)][_0x190c57(0x294)]();}return _0x1c42a7()(_0x2eb7a1,[{'key':'toGridXY','value':function(_0x251b91,_0x3cdd2a){var _0x45aac4=a0_0x3594;return{'x':(_0x251b91-this[_0x45aac4(0x20b)])/(this[_0x45aac4(0x2ae)]-this['xmin'])*(this['cols']-0x1),'y':(this[_0x45aac4(0x221)]-_0x3cdd2a)/(this[_0x45aac4(0x221)]-this[_0x45aac4(0x21e)])*(this['rows']-0x1)};}},{'key':_0xf9dfe2(0x23b),'value':function(_0x86dd4a,_0x2662de){var _0x1760fe=_0xf9dfe2;if(_0x86dd4a<0x0||_0x86dd4a>=this[_0x1760fe(0x2f1)]||_0x2662de>=this[_0x1760fe(0x254)])return[0x0,0x0,0x0];var _0x2f1434,_0x5d02eb,_0x4a99d0=Math[_0x1760fe(0x2d0)](_0x86dd4a),_0x5def6c=Math[_0x1760fe(0x2d0)](_0x2662de);if(_0x4a99d0===_0x86dd4a&&_0x5def6c===_0x2662de)return this[_0x1760fe(0x1da)][_0x2662de][_0x86dd4a];_0x2f1434=_0x4a99d0+0x1,_0x5d02eb=_0x5def6c+0x1;var _0x100935=this[_0x1760fe(0x23b)](_0x4a99d0,_0x5def6c),_0xd7bb3e=this[_0x1760fe(0x23b)](_0x2f1434,_0x5def6c),_0x10c77d=this[_0x1760fe(0x23b)](_0x4a99d0,_0x5d02eb),_0xbcb204=this['getUVByXY'](_0x2f1434,_0x5d02eb),_0x26d787=null;try{_0x26d787=this[_0x1760fe(0x20e)](_0x86dd4a-_0x4a99d0,_0x2662de-_0x5def6c,_0x100935,_0xd7bb3e,_0x10c77d,_0xbcb204);}catch(_0x1133c4){console['log'](_0x86dd4a,_0x2662de);}return _0x26d787;}},{'key':'_bilinearInterpolation','value':function(_0x3c7193,_0x502e45,_0x81afae,_0x439ee7,_0x1075fb,_0x58b4e0){var _0x247be2=_0xf9dfe2,_0x2e7e70=0x1-_0x3c7193,_0x2586c6=0x1-_0x502e45,_0x589451=_0x2e7e70*_0x2586c6,_0x9ddb9c=_0x3c7193*_0x2586c6,_0x341edc=_0x2e7e70*_0x502e45,_0x52d2a8=_0x3c7193*_0x502e45,_0x61fb87=_0x81afae[0x0]*_0x589451+_0x439ee7[0x0]*_0x9ddb9c+_0x1075fb[0x0]*_0x341edc+_0x58b4e0[0x0]*_0x52d2a8,_0x1841b6=_0x81afae[0x1]*_0x589451+_0x439ee7[0x1]*_0x9ddb9c+_0x1075fb[0x1]*_0x341edc+_0x58b4e0[0x1]*_0x52d2a8;return this[_0x247be2(0x210)](_0x61fb87,_0x1841b6);}},{'key':_0xf9dfe2(0x210),'value':function(_0x50818a,_0x48781d){var _0x558e39=_0xf9dfe2;return[+_0x50818a,+_0x48781d,Math[_0x558e39(0x314)](_0x50818a*_0x50818a+_0x48781d*_0x48781d)];}},{'key':_0xf9dfe2(0x2a9),'value':function(_0x566230,_0x2d09dd){var _0x1bf6cf=_0xf9dfe2;if(!this[_0x1bf6cf(0x2a0)](_0x566230,_0x2d09dd))return null;var _0x2e61dc=this[_0x1bf6cf(0x277)](_0x566230,_0x2d09dd);return this[_0x1bf6cf(0x23b)](_0x2e61dc['x'],_0x2e61dc['y']);}},{'key':_0xf9dfe2(0x2a0),'value':function(_0x10b32c,_0x244fec){var _0x513e41=_0xf9dfe2;return _0x10b32c>=this[_0x513e41(0x20b)]&&_0x10b32c<=this[_0x513e41(0x2ae)]&&_0x244fec>=this[_0x513e41(0x21e)]&&_0x244fec<=this[_0x513e41(0x221)];}},{'key':_0xf9dfe2(0x1e8),'value':function(){var _0x151115=_0xf9dfe2,_0x103f0a=_0x2e1235(this['xmin'],this[_0x151115(0x2ae)]);return{'lat':_0x2e1235(this[_0x151115(0x21e)],this[_0x151115(0x221)]),'lng':_0x103f0a};}}]),_0x2eb7a1;}();function _0x2e1235(_0x2e5465,_0x163679){var _0x2304bd=_0x3fa314;return _0x2e5465+Math[_0x2304bd(0x1dd)]()*(_0x163679-_0x2e5465);}function _0x2df1c3(_0x1bf7ed){var _0x313039=function(){var _0x21d352=a0_0x3594;if('undefined'==typeof Reflect||!Reflect[_0x21d352(0x2ce)])return!0x1;if(Reflect[_0x21d352(0x2ce)]['sham'])return!0x1;if(_0x21d352(0x266)==typeof Proxy)return!0x0;try{return Boolean['prototype'][_0x21d352(0x29d)]['call'](Reflect[_0x21d352(0x2ce)](Boolean,[],function(){})),!0x0;}catch(_0x58def6){return!0x1;}}();return function(){var _0x231cc4=a0_0x3594,_0x4f66c4,_0x1c776b=_0x2e13bc()(_0x1bf7ed);if(_0x313039){var _0x54cad7=_0x2e13bc()(this)['constructor'];_0x4f66c4=Reflect[_0x231cc4(0x2ce)](_0x1c776b,arguments,_0x54cad7);}else _0x4f66c4=_0x1c776b[_0x231cc4(0x2a3)](this,arguments);return _0x173342()(this,_0x4f66c4);};}var _0x37b8a6=function(_0x4f9944){var _0xe6eff9=_0x3fa314;_0x58dc92()(_0x47f40a,_0x4f9944);var _0x1b8b48=_0x2df1c3(_0x47f40a);function _0x47f40a(){var _0x6b628f=a0_0x3594,_0x2d5afa,_0xbc1b16=arguments[_0x6b628f(0x28c)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x56af1d()(this,_0x47f40a),(_0x2d5afa=_0x1b8b48[_0x6b628f(0x245)](this,_0xbc1b16))[_0x6b628f(0x285)]=[0x0,0x0],_0x2d5afa[_0x6b628f(0x301)]=[],_0x2d5afa[_0x6b628f(0x1cb)]=_0xbc1b16[_0x6b628f(0x1cb)]||0x32,_0x2d5afa[_0x6b628f(0x283)]=_0xbc1b16[_0x6b628f(0x24f)]||0x4e20,_0x2d5afa['_maxAge']=_0xbc1b16[_0x6b628f(0x2f6)]||0x78,_0x2d5afa[_0x6b628f(0x21b)]=0x3e8/(_0xbc1b16['frameRate']||0xa),_0x2d5afa['_pointerEvents']=_0xcd9f5b[_0x6b628f(0x1c8)](_0x2d5afa[_0x6b628f(0x2ab)][_0x6b628f(0x2df)],!0x1),_0x2d5afa['color']=_0xbc1b16[_0x6b628f(0x2c7)]||'#ffffff',_0x2d5afa[_0x6b628f(0x251)]=_0xbc1b16['lineWidth']||0x1,_0x2d5afa[_0x6b628f(0x241)]=_0xcd9f5b[_0x6b628f(0x1c8)](_0xbc1b16['fixedHeight'],0x0),_0x2d5afa[_0x6b628f(0x30f)]=_0xcd9f5b[_0x6b628f(0x1c8)](_0xbc1b16[_0x6b628f(0x30f)],!0x1),_0x2d5afa[_0x6b628f(0x2d3)]=null,_0x2d5afa;}return _0x1c42a7()(_0x47f40a,[{'key':'layer','get':function(){var _0x1414cd=a0_0x3594;return this[_0x1414cd(0x2d3)];}},{'key':_0xe6eff9(0x1f7),'get':function(){var _0x397ce5=_0xe6eff9;return this['_map'][_0x397ce5(0x321)][_0x397ce5(0x2d3)]['clientWidth'];}},{'key':_0xe6eff9(0x2ed),'get':function(){var _0x4dd615=_0xe6eff9;return this[_0x4dd615(0x1eb)]['scene'][_0x4dd615(0x2d3)][_0x4dd615(0x284)];}},{'key':_0xe6eff9(0x2df),'get':function(){var _0x27b82e=_0xe6eff9;return this[_0x27b82e(0x320)];},'set':function(_0x508d6a){var _0xf31209=_0xe6eff9;this[_0xf31209(0x320)]=_0x508d6a,this[_0xf31209(0x2d3)]&&(this['canvas'][_0xf31209(0x25a)]['pointer-events']=_0x508d6a?_0xf31209(0x1bf):_0xf31209(0x323));}},{'key':_0xe6eff9(0x1cb),'get':function(){var _0x2bbf7d=_0xe6eff9;return this[_0x2bbf7d(0x1d4)];},'set':function(_0x53be7d){var _0x3f1d12=_0xe6eff9;this['_speedRate']=0x64*(0x64-(_0x53be7d>0x63?0x63:_0x53be7d)),this[_0x3f1d12(0x242)]();}},{'key':_0xe6eff9(0x24f),'get':function(){var _0x5d95b6=_0xe6eff9;return this[_0x5d95b6(0x283)];},'set':function(_0x2afaf2){var _0x3c2391=_0xe6eff9,_0x3d6ada=this;this[_0x3c2391(0x283)]=_0x2afaf2,clearTimeout(this[_0x3c2391(0x311)]),this['canrefresh']=setTimeout(function(){var _0x2e8fe6=_0x3c2391;_0x3d6ada[_0x2e8fe6(0x248)]();},0x1f4);}},{'key':_0xe6eff9(0x2f6),'get':function(){var _0x5c036b=_0xe6eff9;return this[_0x5c036b(0x22c)];},'set':function(_0xce1a5d){var _0x496e0c=_0xe6eff9,_0xbc5e43=this;this[_0x496e0c(0x22c)]=_0xce1a5d,clearTimeout(this[_0x496e0c(0x311)]),this['canrefresh']=setTimeout(function(){var _0x417e19=_0x496e0c;_0xbc5e43[_0x417e19(0x248)]();},0x1f4);}},{'key':_0xe6eff9(0x258),'get':function(){var _0x431ed5=_0xe6eff9;return this[_0x431ed5(0x22e)];},'set':function(_0x4d904b){var _0x1e39ff=_0xe6eff9;this[_0x1e39ff(0x2d1)](_0x4d904b);}},{'key':'_showHook','value':function(_0x5981f9){var _0x5e017=_0xe6eff9;_0x5981f9?this['_addedHook']():(this[_0x5e017(0x22e)]&&(this[_0x5e017(0x2ab)][_0x5e017(0x258)]=this[_0x5e017(0x22e)]),this[_0x5e017(0x1d7)]());}},{'key':_0xe6eff9(0x2f0),'value':function(){}},{'key':_0xe6eff9(0x2b5),'value':function(){var _0x1d753b=_0xe6eff9;this[_0x1d753b(0x2d3)]=this[_0x1d753b(0x1cd)](),this['canvasContext']=this[_0x1d753b(0x2d3)][_0x1d753b(0x247)]('2d'),this[_0x1d753b(0x212)](),this[_0x1d753b(0x2ab)][_0x1d753b(0x258)]&&this[_0x1d753b(0x2d1)](this[_0x1d753b(0x2ab)]['data']);}},{'key':_0xe6eff9(0x1d7),'value':function(){var _0x1d34c5=_0xe6eff9;this[_0x1d34c5(0x1f6)](),this[_0x1d34c5(0x1c3)](),this[_0x1d34c5(0x2d3)]&&(this[_0x1d34c5(0x1eb)][_0x1d34c5(0x306)][_0x1d34c5(0x2aa)](this[_0x1d34c5(0x2d3)]),delete this[_0x1d34c5(0x2d3)]);}},{'key':_0xe6eff9(0x1cd),'value':function(){var _0x25e1e0=_0xe6eff9,_0x53186a=document['createElement']('canvas');_0x53186a[_0x25e1e0(0x25a)]['position']=_0x25e1e0(0x233),_0x53186a[_0x25e1e0(0x25a)][_0x25e1e0(0x2e9)]=_0x25e1e0(0x1b8),_0x53186a[_0x25e1e0(0x25a)][_0x25e1e0(0x31b)]=_0x25e1e0(0x1b8),_0x53186a[_0x25e1e0(0x25a)][_0x25e1e0(0x31e)]=_0x25e1e0(0x2bf),_0x53186a[_0x25e1e0(0x25a)][_0x25e1e0(0x205)]=_0x25e1e0(0x2bf),_0x53186a['style'][_0x25e1e0(0x2df)]=this[_0x25e1e0(0x320)]?'auto':_0x25e1e0(0x323),_0x53186a['style']['zIndex']=0xa,_0x53186a['setAttribute']('id',_0x25e1e0(0x2ba)),_0x53186a['setAttribute']('class',_0x25e1e0(0x2ba)),this['_map'][_0x25e1e0(0x306)][_0x25e1e0(0x1e2)](_0x53186a);var _0x400e03=this['_map'][_0x25e1e0(0x321)];return _0x53186a['width']=_0x400e03[_0x25e1e0(0x2d3)][_0x25e1e0(0x27a)],_0x53186a[_0x25e1e0(0x205)]=_0x400e03[_0x25e1e0(0x2d3)][_0x25e1e0(0x284)],_0x53186a;}},{'key':_0xe6eff9(0x29a),'value':function(){var _0x189599=_0xe6eff9;this[_0x189599(0x2d3)]&&(this['canvas'][_0x189599(0x31e)]=this[_0x189599(0x1f7)],this[_0x189599(0x2d3)]['height']=this[_0x189599(0x2ed)]);}},{'key':'bindEvent','value':function(){var _0x1f6485=_0xe6eff9,_0x570bc7=this,_0x1cf297=Date['now']();!function _0x303183(){var _0x5733fc=a0_0x3594;_0x570bc7[_0x5733fc(0x26b)]=window[_0x5733fc(0x26a)](_0x303183);var _0x479eb3=Date[_0x5733fc(0x303)](),_0x5e9d31=_0x479eb3-_0x1cf297;_0x5e9d31>_0x570bc7[_0x5733fc(0x21b)]&&(_0x1cf297=_0x479eb3-_0x5e9d31%_0x570bc7['frameTime'],_0x570bc7[_0x5733fc(0x296)]());}(),window[_0x1f6485(0x260)](_0x1f6485(0x29a),this[_0x1f6485(0x29a)][_0x1f6485(0x21a)](this),!0x1),this[_0x1f6485(0x272)]=!0x1,this[_0x1f6485(0x2bc)]=!0x1,this[_0x1f6485(0x1eb)]['on'](_0x3933d9[_0x1f6485(0x2d6)][_0x1f6485(0x2c1)],this[_0x1f6485(0x319)],this),this[_0x1f6485(0x1eb)]['on'](_0x3933d9[_0x1f6485(0x2d6)][_0x1f6485(0x2dc)],this[_0x1f6485(0x287)],this),this[_0x1f6485(0x1eb)]['on'](_0x3933d9[_0x1f6485(0x2d6)][_0x1f6485(0x1db)],this['_onMouseUpEvent'],this),this[_0x1f6485(0x1eb)]['on'](_0x3933d9[_0x1f6485(0x2d6)][_0x1f6485(0x22b)],this['_onMouseMoveEvent'],this);}},{'key':_0xe6eff9(0x1c3),'value':function(){var _0x195e57=_0xe6eff9;window[_0x195e57(0x228)](this['animateFrame']),delete this[_0x195e57(0x26b)],window[_0x195e57(0x2c9)](_0x195e57(0x29a),this[_0x195e57(0x29a)]),this[_0x195e57(0x1eb)][_0x195e57(0x2de)](_0x3933d9[_0x195e57(0x2d6)][_0x195e57(0x2c1)],this[_0x195e57(0x319)],this),this['_map'][_0x195e57(0x2de)](_0x3933d9[_0x195e57(0x2d6)][_0x195e57(0x2dc)],this[_0x195e57(0x287)],this),this['_map'][_0x195e57(0x2de)](_0x3933d9[_0x195e57(0x2d6)][_0x195e57(0x1db)],this[_0x195e57(0x291)],this),this['_map'][_0x195e57(0x2de)](_0x3933d9[_0x195e57(0x2d6)][_0x195e57(0x22b)],this[_0x195e57(0x282)],this);}},{'key':'_onMapWhellEvent','value':function(_0xa33c66){var _0xa9c4af=_0xe6eff9,_0x47fcf0=this;clearTimeout(this[_0xa9c4af(0x1b6)]),this[_0xa9c4af(0x1b9)]&&this['canvas']&&(this[_0xa9c4af(0x2d3)][_0xa9c4af(0x25a)][_0xa9c4af(0x2c0)]=_0xa9c4af(0x1d0),this['refreshTimer']=setTimeout(function(){var _0x31a0ad=_0xa9c4af;_0x47fcf0[_0x31a0ad(0x1b9)]&&(_0x47fcf0[_0x31a0ad(0x248)](),_0x47fcf0[_0x31a0ad(0x2d3)][_0x31a0ad(0x25a)][_0x31a0ad(0x2c0)]='visible');},0xc8));}},{'key':'_onMouseDownEvent','value':function(_0x3d5956){var _0x22a264=_0xe6eff9;this[_0x22a264(0x272)]=!0x0;}},{'key':_0xe6eff9(0x282),'value':function(_0x1159c9){var _0x2ed562=_0xe6eff9;this[_0x2ed562(0x1b9)]&&this['canvas']&&this[_0x2ed562(0x272)]&&(this[_0x2ed562(0x2d3)]['style'][_0x2ed562(0x2c0)]='hidden',this['mouse_move']=!0x0);}},{'key':_0xe6eff9(0x291),'value':function(_0x2a73f1){var _0x1fd1af=_0xe6eff9;this[_0x1fd1af(0x1b9)]&&this[_0x1fd1af(0x2d3)]&&(this[_0x1fd1af(0x272)]&&this[_0x1fd1af(0x2bc)]&&this[_0x1fd1af(0x248)](),this['canvas']['style'][_0x1fd1af(0x2c0)]='visible',this['mouse_down']=!0x1,this[_0x1fd1af(0x2bc)]=!0x1);}},{'key':_0xe6eff9(0x248),'value':function(){var _0x37980b=_0xe6eff9;this[_0x37980b(0x1b9)]&&this[_0x37980b(0x31a)]&&(this[_0x37980b(0x301)]=[],this[_0x37980b(0x268)]());}},{'key':_0xe6eff9(0x2d1),'value':function(_0x4401b2){var _0x40ebeb=_0xe6eff9;this['clear'](),this['windData']=_0x4401b2,this['windField']=new _0x2f3b9e(this[_0x40ebeb(0x22e)],this[_0x40ebeb(0x30f)]),this['drawWind']();}},{'key':_0xe6eff9(0x268),'value':function(){var _0x5b6d78=_0xe6eff9;this[_0x5b6d78(0x242)]();for(var _0x3fe8c2=0x0;_0x3fe8c2<this[_0x5b6d78(0x24f)];_0x3fe8c2++){var _0x3e8af5=this[_0x5b6d78(0x300)](new _0x5713ef());this[_0x5b6d78(0x301)]['push'](_0x3e8af5);}this[_0x5b6d78(0x1c6)][_0x5b6d78(0x259)]=_0x5b6d78(0x230),this[_0x5b6d78(0x1c6)][_0x5b6d78(0x1ca)]=0.6,this[_0x5b6d78(0x296)]();}},{'key':_0xe6eff9(0x242),'value':function(){var _0x427268=_0xe6eff9;this[_0x427268(0x31a)]&&(this[_0x427268(0x285)]=[(this[_0x427268(0x31a)]['xmax']-this['windField'][_0x427268(0x20b)])/this[_0x427268(0x1cb)],(this[_0x427268(0x31a)][_0x427268(0x221)]-this[_0x427268(0x31a)][_0x427268(0x21e)])/this[_0x427268(0x1cb)]]);}},{'key':_0xe6eff9(0x296),'value':function(){var _0x19c1f1=_0xe6eff9,_0x2bf675=this;if(this[_0x19c1f1(0x1b9)]&&!(this[_0x19c1f1(0x301)][_0x19c1f1(0x28c)]<=0x0)){var _0x3220fd=null,_0x2bde10=null,_0xd36252=null;this[_0x19c1f1(0x301)][_0x19c1f1(0x23d)](function(_0x5da24){var _0x5c38b3=_0x19c1f1;if(_0x5da24[_0x5c38b3(0x244)]<=0x0&&_0x2bf675[_0x5c38b3(0x300)](_0x5da24),_0x5da24[_0x5c38b3(0x244)]>0x0){var _0x370e2a=_0x5da24[_0x5c38b3(0x2a1)],_0x23cf0e=_0x5da24['tlat'];(_0xd36252=_0x2bf675[_0x5c38b3(0x31a)][_0x5c38b3(0x2a9)](_0x370e2a,_0x23cf0e))?(_0x3220fd=_0x370e2a+_0x2bf675['calc_speedRate'][0x0]*_0xd36252[0x0],_0x2bde10=_0x23cf0e+_0x2bf675[_0x5c38b3(0x285)][0x1]*_0xd36252[0x1],_0x5da24['lng']=_0x370e2a,_0x5da24[_0x5c38b3(0x215)]=_0x23cf0e,_0x5da24[_0x5c38b3(0x2a1)]=_0x3220fd,_0x5da24[_0x5c38b3(0x20d)]=_0x2bde10,_0x5da24[_0x5c38b3(0x244)]--):_0x5da24['age']=0x0;}}),this[_0x19c1f1(0x201)]();}}},{'key':_0xe6eff9(0x29e),'value':function(_0x17cf2f,_0x35f5b2,_0x3e847c){var _0x3f02e6=_0xe6eff9,_0xbb4a34=_0xcd9f5b[_0x3f02e6(0x1f4)]['fromDegrees'](_0x17cf2f,_0x35f5b2,this[_0x3f02e6(0x241)]),_0x29a913=this[_0x3f02e6(0x1eb)][_0x3f02e6(0x321)];if(_0x29a913[_0x3f02e6(0x2a2)]===_0xcd9f5b[_0x3f02e6(0x1d1)][_0x3f02e6(0x224)]&&!new _0xcd9f5b[(_0x3f02e6(0x2ac))](_0x29a913[_0x3f02e6(0x2b4)][_0x3f02e6(0x23a)],_0x29a913[_0x3f02e6(0x214)]['positionWC'])[_0x3f02e6(0x1cc)](_0xbb4a34))return _0x3e847c[_0x3f02e6(0x244)]=0x0,null;var _0x442027=_0xcd9f5b[_0x3f02e6(0x2cf)][_0x3f02e6(0x2d2)](this[_0x3f02e6(0x1eb)][_0x3f02e6(0x321)],_0xbb4a34);return _0x442027?[_0x442027['x'],_0x442027['y']]:null;}},{'key':'_drawLines','value':function(){var _0x5b46a4=_0xe6eff9,_0xe2fd03=this,_0x47f601=this[_0x5b46a4(0x301)];this[_0x5b46a4(0x1c6)][_0x5b46a4(0x251)]=_0xe2fd03[_0x5b46a4(0x251)],this[_0x5b46a4(0x1c6)]['globalCompositeOperation']=_0x5b46a4(0x1c7),this[_0x5b46a4(0x1c6)][_0x5b46a4(0x1bb)](0x0,0x0,this[_0x5b46a4(0x1f7)],this[_0x5b46a4(0x2ed)]),this['canvasContext'][_0x5b46a4(0x204)]=_0x5b46a4(0x222),this[_0x5b46a4(0x1c6)][_0x5b46a4(0x1ca)]=0.9,this['canvasContext'][_0x5b46a4(0x26d)](),this[_0x5b46a4(0x1c6)][_0x5b46a4(0x27e)]=this['color'];var _0x11711f=this['_map'][_0x5b46a4(0x321)][_0x5b46a4(0x2a2)]!==_0xcd9f5b[_0x5b46a4(0x1d1)][_0x5b46a4(0x224)];_0x47f601['forEach'](function(_0x4cafc8){var _0x2cfb28=_0x5b46a4,_0xc445f6=_0xe2fd03[_0x2cfb28(0x29e)](_0x4cafc8[_0x2cfb28(0x252)],_0x4cafc8[_0x2cfb28(0x215)],_0x4cafc8),_0x4040a9=_0xe2fd03[_0x2cfb28(0x29e)](_0x4cafc8[_0x2cfb28(0x2a1)],_0x4cafc8[_0x2cfb28(0x20d)],_0x4cafc8);if(null!=_0xc445f6&&null!=_0x4040a9){var _0x90cb9f=Math[_0x2cfb28(0x227)](_0xc445f6[0x0]-_0x4040a9[0x0]);_0x11711f&&_0x90cb9f>=_0xe2fd03[_0x2cfb28(0x1f7)]||(_0xe2fd03[_0x2cfb28(0x1c6)]['moveTo'](_0xc445f6[0x0],_0xc445f6[0x1]),_0xe2fd03[_0x2cfb28(0x1c6)]['lineTo'](_0x4040a9[0x0],_0x4040a9[0x1]));}}),this['canvasContext'][_0x5b46a4(0x253)]();}},{'key':_0xe6eff9(0x300),'value':function(_0x303a6b){var _0x393e39=_0xe6eff9;for(var _0x26ee7d,_0xab97c3,_0x39b2c5=0x0;_0x39b2c5<0x1e&&(_0x26ee7d=this[_0x393e39(0x31a)][_0x393e39(0x1e8)](),!((_0xab97c3=this[_0x393e39(0x31a)][_0x393e39(0x2a9)](_0x26ee7d['lng'],_0x26ee7d['lat']))&&_0xab97c3[0x2]>0x0));_0x39b2c5++);if(!_0xab97c3)return _0x303a6b;var _0x4e3eaa=_0x26ee7d[_0x393e39(0x252)]+this['calc_speedRate'][0x0]*_0xab97c3[0x0],_0x58d088=_0x26ee7d['lat']+this[_0x393e39(0x285)][0x1]*_0xab97c3[0x1];return _0x303a6b[_0x393e39(0x252)]=_0x26ee7d[_0x393e39(0x252)],_0x303a6b['lat']=_0x26ee7d['lat'],_0x303a6b[_0x393e39(0x2a1)]=_0x4e3eaa,_0x303a6b[_0x393e39(0x20d)]=_0x58d088,_0x303a6b['age']=Math[_0x393e39(0x324)](Math[_0x393e39(0x1dd)]()*this['maxAge']),_0x303a6b;}},{'key':'clear','value':function(){var _0x11653e=_0xe6eff9;this[_0x11653e(0x301)]=[],delete this['windField'],delete this['windData'];}}]),_0x47f40a;}(_0x3933d9[_0x3fa314(0x25e)][_0x3fa314(0x2cb)]);function _0x6c529e(_0x1a3f5c,_0x4e5e68){var _0x29801f=_0x3fa314;return _0x1a3f5c*Math['cos'](_0xcd9f5b[_0x29801f(0x315)]['toRadians'](_0x4e5e68));}function _0x2028da(_0x52cd2a,_0x5e5a18){var _0x57e42a=_0x3fa314;return _0x52cd2a*Math['sin'](_0xcd9f5b[_0x57e42a(0x315)][_0x57e42a(0x2a6)](_0x5e5a18));}function _0x59e262(_0x56e55d,_0x41536a){var _0x16619b=_0x3fa314;return Math[_0x16619b(0x314)](Math[_0x16619b(0x1dc)](_0x56e55d,0x2)+Math[_0x16619b(0x1dc)](_0x41536a,0x2));}function _0x2be7aa(_0x1dc0dd,_0x4264ee){var _0xdab0a=_0x3fa314,_0x3fec09=_0xcd9f5b['Math'][_0xdab0a(0x1f1)](Math[_0xdab0a(0x1b7)](_0x4264ee,_0x1dc0dd));return _0x3fec09+=_0x3fec09<0x0?0x168:0x0;}_0x3933d9[_0x3fa314(0x275)][_0x3fa314(0x317)](_0x3fa314(0x24c),_0x37b8a6),_0x3933d9[_0x3fa314(0x25e)][_0x3fa314(0x305)]=_0x37b8a6,_0x3933d9['WindUtil']=_0x4f5f37;}]));
30
+ function a0_0x268f(){var _0x2b694d=['applyViewerParameters','Cartesian3','canvasWind','speedRate','PI_OVER_THREE','wgs84ToWindowCoordinates','updatePosition','bindEvent','commandList','globe','now','110stWvFF','iterator','windField','Math','clear','LayerUtil','THREE_PI_OVER_TWO','ymax','nextTrailsColor','position','fillRect','toRadians','defineProperty','this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called','removeEventListener','windTextures','nextTrails','source','randomizeParticles','Geometry','framebuffers','show','lineWidth','Color','FLOAT','setGeometry','prototype','rows','clientWidth','bind','canvasWindy','ShaderSource','mouseMove','north','particleSystem','frameRate','3774vSyKBi','south','3041217ypLgvf','canrefresh','_createCanvas','rgba(0,\x200,\x200,\x200.97)','EventType','nextParticlesPosition','_calcStep','all','animateFrame','remove','drawingBufferHeight','lat','maxAge','100%','setPrototypeOf','push','particlesTextureSize','xmax','xmin','auto','_removedHook','getContext','uniform\x20sampler2D\x20colorTable;\x0a\x0avarying\x20float\x20speedNormalization;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20texture2D(colorTable,\x20vec2(speedNormalization,\x200.0));\x0a}','style','top','ComponentDatatype','mars3dWind','createRenderingFramebuffers','EllipsoidalOccluder','defaultValue','pow','fromDegrees','_particlesNumber','getDirection','createElement','removeAll','redraw','apply','refreshParticles','createCommand','getUVByXY','ComputeCommand','calc_speedRate','3156330wTZhoZ','LINEAR','SceneMode','toDegrees','forEach','trails','createRawRenderState','updateViewerParameters','DrawCommand','maxParticles','context','segments','requestAnimationFrame','nextTrailsDepth','isDestroyed','random','destroyParticlesTextures','Draw','vertexShaderSource','drawingBufferWidth','preRender','latRange','absolute','destroy','frameTime','uniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0auniform\x20sampler2D\x20particlesWind;\x0a\x0a//\x20used\x20to\x20calculate\x20the\x20wind\x20norm\x0auniform\x20vec2\x20uSpeedRange;\x20//\x20(min,\x20max);\x0auniform\x20vec2\x20vSpeedRange;\x0auniform\x20float\x20pixelSize;\x0auniform\x20float\x20speedFactor;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0afloat\x20calculateWindNorm(vec3\x20speed)\x20{\x0a\x20\x20\x20\x20vec3\x20percent\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20percent.x\x20=\x20(speed.x\x20-\x20uSpeedRange.x)\x20/\x20(uSpeedRange.y\x20-\x20uSpeedRange.x);\x0a\x20\x20\x20\x20percent.y\x20=\x20(speed.y\x20-\x20vSpeedRange.x)\x20/\x20(vSpeedRange.y\x20-\x20vSpeedRange.x);\x0a\x20\x20\x20\x20float\x20normalization\x20=\x20length(percent);\x0a\x0a\x20\x20\x20\x20return\x20normalization;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20currentSpeed\x20=\x20texture2D(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20texture2D(particlesWind,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20vec4(speedFactor\x20*\x20pixelSize\x20*\x20windVector,\x20calculateWindNorm(windVector));\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20nextSpeed;\x0a}','globalAlpha','applyUserInput','sqrt','mouse_down','pixelSize','getWind','defined','max','OPAQUE','addPrimitives','undefined','_maxAge','default','resize','outputTexture','color','mode','none','array','fill','canvas','_calcUV','262308iKYgGZ','__esModule','segmentsDepth','fillStyle','viewerParameters','CanvasWindLayer','createFramebuffer','class','__proto__','canvasHeight','PrimitiveType','fragmentShaderSource','_pointerEvents','getUserInput','lon','WindUtil','isInExtent','getColorTexture','canvasResize','canvasContext','postProcessingSpeed','_mountedHook','42ZUJjNe','TWO_PI','955996DJNpZO','STATIC_DRAW','getFullscreenQuad','_onMouseMoveEvent','_addedHook','uniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20randomParticle\x20=\x20texture2D(postProcessingPosition,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20vec4\x20particleSpeed\x20=\x20texture2D(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x0a\x20\x20\x20\x20if\x20(randomParticle.a\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20particleSpeed;\x0a\x20\x20\x20\x20}\x0a}','removeChild','reverseY','lev','uniform\x20sampler2D\x20trailsColorTexture;\x0d\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture2D(trailsColorTexture,\x20textureCoordinate);\x0d\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture2D(trailsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture2D(czm_globeDepthTexture,\x20textureCoordinate));\x0d\x0a\x0d\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20trailsColor;\x0d\x0a\x20\x20\x20\x20}\x20else\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0d\x0a\x20\x20\x20\x20}\x0d\x0a}','computeViewRectangle','shaderProgram','createWindTextures','refreshTimer','visible','PixelDatatype','depthTest','fromCache','off','lineTo','updateDate','wheel','particlesTextures','tlat','height','getSpeed','fixedHeight','UNSIGNED_BYTE','drawWind','VertexArray','_showHook','cols','options','blending','particles','particlesWind','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','vertexArray','age','304473XbBEEE','construct','unbindEvent','currentParticlesPosition','reverse','windData','_tomap','tlng','mouseDown','west','canvasWidth','mars3d','grid','createSegmentsGeometry','particlesNumber','register','GeometryAttribute','ZERO','string','length','viewRectangleToLonLatRange','#ffffff','depthTexture','add','clientHeight','DISABLE_GL_POSITION_LOG_DEPTH','setOptions','setAttribute','uniform\x20sampler2D\x20segmentsColorTexture;\x0d\x0auniform\x20sampler2D\x20segmentsDepthTexture;\x0d\x0a\x0d\x0auniform\x20sampler2D\x20currentTrailsColor;\x0d\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0d\x0a\x0d\x0auniform\x20float\x20fadeOpacity;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20vec4\x20pointsColor\x20=\x20texture2D(segmentsColorTexture,\x20textureCoordinate);\x0d\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture2D(currentTrailsColor,\x20textureCoordinate);\x0d\x0a\x0d\x0a\x20\x20\x20\x20trailsColor\x20=\x20floor(fadeOpacity\x20*\x20255.0\x20*\x20trailsColor)\x20/\x20255.0;\x20//\x20make\x20sure\x20the\x20trailsColor\x20will\x20be\x20strictly\x20decreased\x0d\x0a\x0d\x0a\x20\x20\x20\x20float\x20pointsDepth\x20=\x20texture2D(segmentsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture2D(trailsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture2D(czm_globeDepthTexture,\x20textureCoordinate));\x0d\x0a\x0d\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0d\x0a\x20\x20\x20\x20if\x20(pointsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20gl_FragColor\x20+\x20pointsColor;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20gl_FragColor\x20+\x20trailsColor;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20gl_FragDepthEXT\x20=\x20min(pointsDepth,\x20trailsDepth);\x0d\x0a}','attribute\x20vec3\x20position;\x0d\x0aattribute\x20vec2\x20st;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20textureCoordinate\x20=\x20st;\x0d\x0a\x20\x20\x20\x20gl_Position\x20=\x20vec4(position,\x201.0);\x0d\x0a}','destination-in','createRenderingPrimitives','_onMouseDownEvent','Cartesian2','getRandomLatLng','layer','beginPath','userInput','textures','dropRateBump','globeLayer','Framebuffer','container','lng','rawRenderState','createRenderingTextures','isPointVisible','Compute','RenderState','currentTrails','8vDFpsT','BufferUsage','dropRate','BoundingSphere','min','uniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avec2\x20lengthOfLonLat(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20unit\x20conversion:\x20meters\x20->\x20longitude\x20latitude\x20degrees\x0a\x20\x20\x20\x20//\x20see\x20https://en.wikipedia.org/wiki/Geographic_coordinate_system#Length_of_a_degree\x20for\x20detail\x0a\x0a\x20\x20\x20\x20//\x20Calculate\x20the\x20length\x20of\x20a\x20degree\x20of\x20latitude\x20and\x20longitude\x20in\x20meters\x0a\x20\x20\x20\x20float\x20latitude\x20=\x20radians(lonLatLev.y);\x0a\x0a\x20\x20\x20\x20float\x20term1\x20=\x20111132.92;\x0a\x20\x20\x20\x20float\x20term2\x20=\x20559.82\x20*\x20cos(2.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term3\x20=\x201.175\x20*\x20cos(4.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term4\x20=\x200.0023\x20*\x20cos(6.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20latLength\x20=\x20term1\x20-\x20term2\x20+\x20term3\x20-\x20term4;\x0a\x0a\x20\x20\x20\x20float\x20term5\x20=\x20111412.84\x20*\x20cos(latitude);\x0a\x20\x20\x20\x20float\x20term6\x20=\x2093.5\x20*\x20cos(3.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term7\x20=\x200.118\x20*\x20cos(5.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20longLength\x20=\x20term5\x20-\x20term6\x20+\x20term7;\x0a\x0a\x20\x20\x20\x20return\x20vec2(longLength,\x20latLength);\x0a}\x0a\x0avoid\x20updatePosition(vec3\x20lonLatLev,\x20vec3\x20speed)\x20{\x0a\x20\x20\x20\x20vec2\x20lonLatLength\x20=\x20lengthOfLonLat(lonLatLev);\x0a\x20\x20\x20\x20float\x20u\x20=\x20speed.x\x20/\x20lonLatLength.x;\x0a\x20\x20\x20\x20float\x20v\x20=\x20speed.y\x20/\x20lonLatLength.y;\x0a\x20\x20\x20\x20float\x20w\x20=\x200.0;\x0a\x20\x20\x20\x20vec3\x20windVectorInLonLatLev\x20=\x20vec3(u,\x20v,\x20w);\x0a\x0a\x20\x20\x20\x20vec3\x20nextParticle\x20=\x20lonLatLev\x20+\x20windVectorInLonLatLev;\x0a\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(nextParticle,\x200.0);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20lonLatLev\x20=\x20texture2D(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20speed\x20=\x20texture2D(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20updatePosition(lonLatLev,\x20speed);\x0a}','camera','Appearance','visibility','wind','screen','call','udata','cos','uniform\x20sampler2D\x20nextParticlesPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0a//\x20range\x20(min,\x20max)\x0auniform\x20vec2\x20lonRange;\x0auniform\x20vec2\x20latRange;\x0a\x0auniform\x20float\x20randomCoefficient;\x20//\x20use\x20to\x20improve\x20the\x20pseudo-random\x20generator\x0auniform\x20float\x20dropRate;\x20//\x20drop\x20rate\x20is\x20a\x20chance\x20a\x20particle\x20will\x20restart\x20at\x20random\x20position\x20to\x20avoid\x20degeneration\x0auniform\x20float\x20dropRateBump;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0a//\x20pseudo-random\x20generator\x0aconst\x20vec3\x20randomConstants\x20=\x20vec3(12.9898,\x2078.233,\x204375.85453);\x0aconst\x20vec2\x20normalRange\x20=\x20vec2(0.0,\x201.0);\x0afloat\x20rand(vec2\x20seed,\x20vec2\x20range)\x20{\x0a\x20\x20\x20\x20vec2\x20randomSeed\x20=\x20randomCoefficient\x20*\x20seed;\x0a\x20\x20\x20\x20float\x20temp\x20=\x20dot(randomConstants.xy,\x20randomSeed);\x0a\x20\x20\x20\x20temp\x20=\x20fract(sin(temp)\x20*\x20(randomConstants.z\x20+\x20temp));\x0a\x20\x20\x20\x20return\x20temp\x20*\x20(range.y\x20-\x20range.x)\x20+\x20range.x;\x0a}\x0a\x0avec3\x20generateRandomParticle(vec2\x20seed,\x20float\x20lev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20longitude\x20is\x20in\x20[0,\x20360]\x0a\x20\x20\x20\x20float\x20randomLon\x20=\x20mod(rand(seed,\x20lonRange),\x20360.0);\x0a\x20\x20\x20\x20float\x20randomLat\x20=\x20rand(-seed,\x20latRange);\x0a\x0a\x20\x20\x20\x20return\x20vec3(randomLon,\x20randomLat,\x20lev);\x0a}\x0a\x0abool\x20particleOutbound(vec3\x20particle)\x20{\x0a\x20\x20\x20\x20return\x20particle.y\x20<\x20-90.0\x20||\x20particle.y\x20>\x2090.0;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec3\x20nextParticle\x20=\x20texture2D(nextParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20texture2D(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20float\x20particleDropRate\x20=\x20dropRate\x20+\x20dropRateBump\x20*\x20nextSpeed.a;\x0a\x0a\x20\x20\x20\x20vec2\x20seed1\x20=\x20nextParticle.xy\x20+\x20v_textureCoordinates;\x0a\x20\x20\x20\x20vec2\x20seed2\x20=\x20nextSpeed.xy\x20+\x20v_textureCoordinates;\x0a\x20\x20\x20\x20vec3\x20randomParticle\x20=\x20generateRandomParticle(seed1,\x20nextParticle.z);\x0a\x20\x20\x20\x20float\x20randomNumber\x20=\x20rand(seed2,\x20normalRange);\x0a\x0a\x20\x20\x20\x20if\x20(randomNumber\x20<\x20particleDropRate\x20||\x20particleOutbound(nextParticle))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(randomParticle,\x201.0);\x20//\x201.0\x20means\x20this\x20is\x20a\x20random\x20particle\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(nextParticle,\x200.0);\x0a\x20\x20\x20\x20}\x0a}','configurable','round','createParticlesTextures','getV','4mmBXbr','scene','0px','hasOwnProperty','ALWAYS','getUVByPoint','clearFramebuffers','Texture','strokeStyle','uniformMap','pointerEvents','ceil','preExecute','randomParticle','autoClear','exports','nextParticlesSpeed','sham','commandToExecute','width','particlesRendering','//\x20the\x20size\x20of\x20UV\x20textures:\x20width\x20=\x20lon,\x20height\x20=\x20lat*lev\x0auniform\x20sampler2D\x20U;\x20//\x20eastward\x20wind\x20\x0auniform\x20sampler2D\x20V;\x20//\x20northward\x20wind\x0a\x0auniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0a\x0auniform\x20vec3\x20dimension;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20vec3\x20minimum;\x20//\x20minimum\x20of\x20each\x20dimension\x0auniform\x20vec3\x20maximum;\x20//\x20maximum\x20of\x20each\x20dimension\x0auniform\x20vec3\x20interval;\x20//\x20interval\x20of\x20each\x20dimension\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avec2\x20mapPositionToNormalizedIndex2D(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20range\x20of\x20longitude\x20and\x20latitude\x0a\x20\x20\x20\x20lonLatLev.x\x20=\x20mod(lonLatLev.x,\x20360.0);\x0a\x20\x20\x20\x20lonLatLev.y\x20=\x20clamp(lonLatLev.y,\x20-90.0,\x2090.0);\x0a\x0a\x20\x20\x20\x20vec3\x20index3D\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20index3D.x\x20=\x20(lonLatLev.x\x20-\x20minimum.x)\x20/\x20interval.x;\x0a\x20\x20\x20\x20index3D.y\x20=\x20(lonLatLev.y\x20-\x20minimum.y)\x20/\x20interval.y;\x0a\x20\x20\x20\x20index3D.z\x20=\x20(lonLatLev.z\x20-\x20minimum.z)\x20/\x20interval.z;\x0a\x0a\x20\x20\x20\x20//\x20the\x20st\x20texture\x20coordinate\x20corresponding\x20to\x20(col,\x20row)\x20index\x0a\x20\x20\x20\x20//\x20example\x0a\x20\x20\x20\x20//\x20data\x20array\x20is\x20[0,\x201,\x202,\x203,\x204,\x205],\x20width\x20=\x203,\x20height\x20=\x202\x0a\x20\x20\x20\x20//\x20the\x20content\x20of\x20texture\x20will\x20be\x0a\x20\x20\x20\x20//\x20t\x201.0\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x203\x204\x205\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x200\x201\x202\x0a\x20\x20\x20\x20//\x20\x20\x200.0------1.0\x20s\x0a\x0a\x20\x20\x20\x20vec2\x20index2D\x20=\x20vec2(index3D.x,\x20index3D.z\x20*\x20dimension.y\x20+\x20index3D.y);\x0a\x20\x20\x20\x20vec2\x20normalizedIndex2D\x20=\x20vec2(index2D.x\x20/\x20dimension.x,\x20index2D.y\x20/\x20(dimension.y\x20*\x20dimension.z));\x0a\x20\x20\x20\x20return\x20normalizedIndex2D;\x0a}\x0a\x0afloat\x20getWind(sampler2D\x20windTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20vec2\x20normalizedIndex2D\x20=\x20mapPositionToNormalizedIndex2D(lonLatLev);\x0a\x20\x20\x20\x20float\x20result\x20=\x20texture2D(windTexture,\x20normalizedIndex2D).r;\x0a\x20\x20\x20\x20return\x20result;\x0a}\x0a\x0aconst\x20mat4\x20kernelMatrix\x20=\x20mat4(\x0a\x20\x20\x20\x200.0,\x20-1.0,\x202.0,\x20-1.0,\x20//\x20first\x20column\x0a\x20\x20\x20\x202.0,\x200.0,\x20-5.0,\x203.0,\x20//\x20second\x20column\x0a\x20\x20\x20\x200.0,\x201.0,\x204.0,\x20-3.0,\x20//\x20third\x20column\x0a\x20\x20\x20\x200.0,\x200.0,\x20-1.0,\x201.0\x20//\x20fourth\x20column\x0a);\x0afloat\x20oneDimensionInterpolation(float\x20t,\x20float\x20p0,\x20float\x20p1,\x20float\x20p2,\x20float\x20p3)\x20{\x0a\x20\x20\x20\x20vec4\x20tVec4\x20=\x20vec4(1.0,\x20t,\x20t\x20*\x20t,\x20t\x20*\x20t\x20*\x20t);\x0a\x20\x20\x20\x20tVec4\x20=\x20tVec4\x20/\x202.0;\x0a\x20\x20\x20\x20vec4\x20pVec4\x20=\x20vec4(p0,\x20p1,\x20p2,\x20p3);\x0a\x20\x20\x20\x20return\x20dot((tVec4\x20*\x20kernelMatrix),\x20pVec4);\x0a}\x0a\x0afloat\x20calculateB(sampler2D\x20windTexture,\x20float\x20t,\x20float\x20lon,\x20float\x20lat,\x20float\x20lev)\x20{\x0a\x20\x20\x20\x20float\x20lon0\x20=\x20floor(lon)\x20-\x201.0\x20*\x20interval.x;\x0a\x20\x20\x20\x20float\x20lon1\x20=\x20floor(lon);\x0a\x20\x20\x20\x20float\x20lon2\x20=\x20floor(lon)\x20+\x201.0\x20*\x20interval.x;\x0a\x20\x20\x20\x20float\x20lon3\x20=\x20floor(lon)\x20+\x202.0\x20*\x20interval.x;\x0a\x0a\x20\x20\x20\x20float\x20p0\x20=\x20getWind(windTexture,\x20vec3(lon0,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p1\x20=\x20getWind(windTexture,\x20vec3(lon1,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p2\x20=\x20getWind(windTexture,\x20vec3(lon2,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p3\x20=\x20getWind(windTexture,\x20vec3(lon3,\x20lat,\x20lev));\x0a\x0a\x20\x20\x20\x20return\x20oneDimensionInterpolation(t,\x20p0,\x20p1,\x20p2,\x20p3);\x0a}\x0a\x0afloat\x20interpolateOneTexture(sampler2D\x20windTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20float\x20lon\x20=\x20lonLatLev.x;\x0a\x20\x20\x20\x20float\x20lat\x20=\x20lonLatLev.y;\x0a\x20\x20\x20\x20float\x20lev\x20=\x20lonLatLev.z;\x0a\x0a\x20\x20\x20\x20float\x20lat0\x20=\x20floor(lat)\x20-\x201.0\x20*\x20interval.y;\x0a\x20\x20\x20\x20float\x20lat1\x20=\x20floor(lat);\x0a\x20\x20\x20\x20float\x20lat2\x20=\x20floor(lat)\x20+\x201.0\x20*\x20interval.y;\x0a\x20\x20\x20\x20float\x20lat3\x20=\x20floor(lat)\x20+\x202.0\x20*\x20interval.y;\x0a\x0a\x20\x20\x20\x20vec2\x20coefficient\x20=\x20lonLatLev.xy\x20-\x20floor(lonLatLev.xy);\x0a\x20\x20\x20\x20float\x20b0\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat0,\x20lev);\x0a\x20\x20\x20\x20float\x20b1\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat1,\x20lev);\x0a\x20\x20\x20\x20float\x20b2\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat2,\x20lev);\x0a\x20\x20\x20\x20float\x20b3\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat3,\x20lev);\x0a\x0a\x20\x20\x20\x20return\x20oneDimensionInterpolation(coefficient.y,\x20b0,\x20b1,\x20b2,\x20b3);\x0a}\x0a\x0avec3\x20bicubic(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20https://en.wikipedia.org/wiki/Bicubic_interpolation#Bicubic_convolution_algorithm\x0a\x20\x20\x20\x20float\x20u\x20=\x20interpolateOneTexture(U,\x20lonLatLev);\x0a\x20\x20\x20\x20float\x20v\x20=\x20interpolateOneTexture(V,\x20lonLatLev);\x0a\x20\x20\x20\x20float\x20w\x20=\x200.0;\x0a\x20\x20\x20\x20return\x20vec3(u,\x20v,\x20w);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20lonLatLev\x20=\x20texture2D(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20bicubic(lonLatLev);\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(windVector,\x200.0);\x0a}','WindLayer','function','ymin','keys','sin','setData','clearCommand','Module','_drawLines','commandType','fromGeometry','Pass','ClearCommand','createTexture','getPixelSize','hidden','UNSIGNED_INT','globalCompositeOperation','getU','attributeLocations','moveTo','floor','getPrototypeOf','depthMask','addEventListener','PixelFormat','SCENE3D','_onMap_preRenderEvent','GeometryAttributes','TextureMagnificationFilter','update','primitives','framebuffer','create','DEPTH_COMPONENT','Rectangle','364830ctKRkK','primitiveType','_map','enumerable','mouseUp','mouse_move','stroke','PI_OVER_TWO','globeBoundingSphere','symbol','toStringTag','execute','pointer-events','_onMapWhellEvent','currentTrailsColor','updateSpeed','postProcessingPosition','_onMouseUpEvent','east','appendChild','currentParticlesSpeed','RGBA','particlesComputing','data','speedFactor','LUMINANCE','mod','constructor','geometry','left','BaseLayer','randomBetween','TextureMinificationFilter','particleHeight','Sampler','zIndex','TRIANGLES','colorNum','once','lonRange','10OOAJzS','fadeOpacity','object','value','DepthFunction','colorTable','toGridXY','atan2','dimensions'];a0_0x268f=function(){return _0x2b694d;};return a0_0x268f();}function a0_0x4400(_0x368e1e,_0x238b11){var _0x268f1d=a0_0x268f();return a0_0x4400=function(_0x4400d8,_0x450cdb){_0x4400d8=_0x4400d8-0x13a;var _0x22980d=_0x268f1d[_0x4400d8];return _0x22980d;},a0_0x4400(_0x368e1e,_0x238b11);}var a0_0x4f3c9d=a0_0x4400;(function(_0xa1c406,_0x42f70b){var _0x5ce287=a0_0x4400,_0x349856=_0xa1c406();while(!![]){try{var _0x5545b6=parseInt(_0x5ce287(0x289))/0x1+-parseInt(_0x5ce287(0x153))/0x2*(-parseInt(_0x5ce287(0x18d))/0x3)+-parseInt(_0x5ce287(0x262))/0x4*(parseInt(_0x5ce287(0x1b5))/0x5)+parseInt(_0x5ce287(0x1ed))/0x6*(-parseInt(_0x5ce287(0x260))/0x7)+-parseInt(_0x5ce287(0x140))/0x8*(-parseInt(_0x5ce287(0x1ef))/0x9)+-parseInt(_0x5ce287(0x21a))/0xa+parseInt(_0x5ce287(0x1c9))/0xb*(parseInt(_0x5ce287(0x24a))/0xc);if(_0x5545b6===_0x42f70b)break;else _0x349856['push'](_0x349856['shift']());}catch(_0x2eefc0){_0x349856['push'](_0x349856['shift']());}}}(a0_0x268f,0x4ae67),window[a0_0x4f3c9d(0x209)]=function(_0x46cc30){var _0x39d166={};function _0xeabd0c(_0x3aca6f){var _0x3d041f=a0_0x4400;if(_0x39d166[_0x3aca6f])return _0x39d166[_0x3aca6f][_0x3d041f(0x162)];var _0x3a1d29=_0x39d166[_0x3aca6f]={'i':_0x3aca6f,'l':!0x1,'exports':{}};return _0x46cc30[_0x3aca6f][_0x3d041f(0x14b)](_0x3a1d29[_0x3d041f(0x162)],_0x3a1d29,_0x3a1d29[_0x3d041f(0x162)],_0xeabd0c),_0x3a1d29['l']=!0x0,_0x3a1d29[_0x3d041f(0x162)];}return _0xeabd0c['m']=_0x46cc30,_0xeabd0c['c']=_0x39d166,_0xeabd0c['d']=function(_0x110120,_0x7c0d3e,_0x2b0ea3){var _0x402e95=a0_0x4400;_0xeabd0c['o'](_0x110120,_0x7c0d3e)||Object[_0x402e95(0x1d5)](_0x110120,_0x7c0d3e,{'enumerable':!0x0,'get':_0x2b0ea3});},_0xeabd0c['r']=function(_0x1d6974){var _0x5e8438=a0_0x4400;_0x5e8438(0x23e)!=typeof Symbol&&Symbol[_0x5e8438(0x197)]&&Object[_0x5e8438(0x1d5)](_0x1d6974,Symbol['toStringTag'],{'value':_0x5e8438(0x170)}),Object[_0x5e8438(0x1d5)](_0x1d6974,'__esModule',{'value':!0x0});},_0xeabd0c['t']=function(_0x288bac,_0x36916c){var _0x148078=a0_0x4400;if(0x1&_0x36916c&&(_0x288bac=_0xeabd0c(_0x288bac)),0x8&_0x36916c)return _0x288bac;if(0x4&_0x36916c&&_0x148078(0x1b7)==typeof _0x288bac&&_0x288bac&&_0x288bac[_0x148078(0x24b)])return _0x288bac;var _0x4c8d7b=Object['create'](null);if(_0xeabd0c['r'](_0x4c8d7b),Object[_0x148078(0x1d5)](_0x4c8d7b,'default',{'enumerable':!0x0,'value':_0x288bac}),0x2&_0x36916c&&_0x148078(0x29b)!=typeof _0x288bac){for(var _0x565d25 in _0x288bac)_0xeabd0c['d'](_0x4c8d7b,_0x565d25,function(_0x3ca70f){return _0x288bac[_0x3ca70f];}[_0x148078(0x1e6)](null,_0x565d25));}return _0x4c8d7b;},_0xeabd0c['n']=function(_0x589581){var _0x4f55fe=a0_0x4400,_0x5443d9=_0x589581&&_0x589581[_0x4f55fe(0x24b)]?function(){var _0x4ffc69=_0x4f55fe;return _0x589581[_0x4ffc69(0x240)];}:function(){return _0x589581;};return _0xeabd0c['d'](_0x5443d9,'a',_0x5443d9),_0x5443d9;},_0xeabd0c['o']=function(_0x3969f1,_0x3520b2){var _0x30cef9=a0_0x4400;return Object[_0x30cef9(0x1e3)][_0x30cef9(0x156)][_0x30cef9(0x14b)](_0x3969f1,_0x3520b2);},_0xeabd0c['p']='',_0xeabd0c(_0xeabd0c['s']=0x14);}([function(_0xdea4,_0x36bc21){var _0x161017=a0_0x4f3c9d;_0xdea4[_0x161017(0x162)]=window['Cesium'];},function(_0x5089f7,_0x8afa01){var _0x1f0ea5=a0_0x4f3c9d;_0x5089f7[_0x1f0ea5(0x162)]=window[_0x1f0ea5(0x294)];},function(_0x27db33,_0x5a7b41){var _0x564c23=a0_0x4f3c9d;_0x27db33['exports']=function(_0x5d04d4,_0x318f46){if(!(_0x5d04d4 instanceof _0x318f46))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');},_0x27db33[_0x564c23(0x162)][_0x564c23(0x24b)]=!0x0,_0x27db33[_0x564c23(0x162)]['default']=_0x27db33[_0x564c23(0x162)];},function(_0x34158c,_0x2a167a){var _0x520b62=a0_0x4f3c9d;function _0x29a8b5(_0x2ab12f,_0x584713){var _0x2942ec=a0_0x4400;for(var _0xecefb5=0x0;_0xecefb5<_0x584713[_0x2942ec(0x29c)];_0xecefb5++){var _0x1dcc79=_0x584713[_0xecefb5];_0x1dcc79[_0x2942ec(0x190)]=_0x1dcc79[_0x2942ec(0x190)]||!0x1,_0x1dcc79[_0x2942ec(0x14f)]=!0x0,_0x2942ec(0x1b8)in _0x1dcc79&&(_0x1dcc79['writable']=!0x0),Object[_0x2942ec(0x1d5)](_0x2ab12f,_0x1dcc79['key'],_0x1dcc79);}}_0x34158c[_0x520b62(0x162)]=function(_0x4621bb,_0xa7402d,_0xbe2d50){var _0x4c1ff9=_0x520b62;return _0xa7402d&&_0x29a8b5(_0x4621bb[_0x4c1ff9(0x1e3)],_0xa7402d),_0xbe2d50&&_0x29a8b5(_0x4621bb,_0xbe2d50),Object[_0x4c1ff9(0x1d5)](_0x4621bb,_0x4c1ff9(0x1e3),{'writable':!0x1}),_0x4621bb;},_0x34158c[_0x520b62(0x162)]['__esModule']=!0x0,_0x34158c['exports'][_0x520b62(0x240)]=_0x34158c[_0x520b62(0x162)];},function(_0x2a6d60,_0x2569c1){var _0x54c18d=a0_0x4f3c9d;function _0x46e015(_0x410f0b){var _0xb29a8f=a0_0x4400;return _0x2a6d60['exports']=_0x46e015=Object[_0xb29a8f(0x1fd)]?Object[_0xb29a8f(0x17f)]:function(_0x495eb9){var _0x4abe4d=_0xb29a8f;return _0x495eb9[_0x4abe4d(0x252)]||Object[_0x4abe4d(0x17f)](_0x495eb9);},_0x2a6d60[_0xb29a8f(0x162)][_0xb29a8f(0x24b)]=!0x0,_0x2a6d60[_0xb29a8f(0x162)][_0xb29a8f(0x240)]=_0x2a6d60[_0xb29a8f(0x162)],_0x46e015(_0x410f0b);}_0x2a6d60[_0x54c18d(0x162)]=_0x46e015,_0x2a6d60[_0x54c18d(0x162)][_0x54c18d(0x24b)]=!0x0,_0x2a6d60['exports'][_0x54c18d(0x240)]=_0x2a6d60[_0x54c18d(0x162)];},function(_0x26a28d,_0x39510f,_0x243bec){var _0x2517a6=a0_0x4f3c9d,_0x38d669=_0x243bec(0x11);_0x26a28d[_0x2517a6(0x162)]=function(_0x5022d2,_0x1ab5f9){var _0xaad1df=_0x2517a6;if(_0xaad1df(0x16a)!=typeof _0x1ab5f9&&null!==_0x1ab5f9)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');Object['defineProperty'](_0x5022d2,_0xaad1df(0x1e3),{'value':Object[_0xaad1df(0x18a)](_0x1ab5f9&&_0x1ab5f9[_0xaad1df(0x1e3)],{'constructor':{'value':_0x5022d2,'writable':!0x0,'configurable':!0x0}}),'writable':!0x1}),_0x1ab5f9&&_0x38d669(_0x5022d2,_0x1ab5f9);},_0x26a28d[_0x2517a6(0x162)][_0x2517a6(0x24b)]=!0x0,_0x26a28d[_0x2517a6(0x162)][_0x2517a6(0x240)]=_0x26a28d['exports'];},function(_0x15817b,_0x5cf482,_0x4dc6a4){var _0x425230=a0_0x4f3c9d,_0xa29f65=_0x4dc6a4(0x12)[_0x425230(0x240)],_0x4b1c05=_0x4dc6a4(0x13);_0x15817b[_0x425230(0x162)]=function(_0x3de4e8,_0x2c9adc){var _0x14aafc=_0x425230;if(_0x2c9adc&&(_0x14aafc(0x1b7)===_0xa29f65(_0x2c9adc)||'function'==typeof _0x2c9adc))return _0x2c9adc;if(void 0x0!==_0x2c9adc)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');return _0x4b1c05(_0x3de4e8);},_0x15817b[_0x425230(0x162)][_0x425230(0x24b)]=!0x0,_0x15817b['exports'][_0x425230(0x240)]=_0x15817b[_0x425230(0x162)];},function(_0x1acda7,_0x595ade){var _0x466447=a0_0x4f3c9d;_0x1acda7[_0x466447(0x162)]=_0x466447(0x2a6);},function(_0x451c42,_0x151a46){_0x451c42['exports']='attribute\x20vec2\x20st;\x0a//\x20it\x20is\x20not\x20normal\x20itself,\x20but\x20used\x20to\x20control\x20normal\x0aattribute\x20vec3\x20normal;\x20//\x20(point\x20to\x20use,\x20offset\x20sign,\x20not\x20used\x20component)\x0a\x0auniform\x20sampler2D\x20currentParticlesPosition;\x0auniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20postProcessingSpeed;\x0a\x0auniform\x20float\x20particleHeight;\x0a\x0auniform\x20float\x20aspect;\x0auniform\x20float\x20pixelSize;\x0auniform\x20float\x20lineWidth;\x0a\x0avarying\x20float\x20speedNormalization;\x0a\x0avec3\x20convertCoordinate(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20WGS84\x20(lon,\x20lat,\x20lev)\x20->\x20ECEF\x20(x,\x20y,\x20z)\x0a\x20\x20\x20\x20//\x20see\x20https://en.wikipedia.org/wiki/Geographic_coordinate_conversion#From_geodetic_to_ECEF_coordinates\x20for\x20detail\x0a\x0a\x20\x20\x20\x20//\x20WGS\x2084\x20geometric\x20constants\x20\x0a\x20\x20\x20\x20float\x20a\x20=\x206378137.0;\x20//\x20Semi-major\x20axis\x20\x0a\x20\x20\x20\x20float\x20b\x20=\x206356752.3142;\x20//\x20Semi-minor\x20axis\x20\x0a\x20\x20\x20\x20float\x20e2\x20=\x206.69437999014e-3;\x20//\x20First\x20eccentricity\x20squared\x0a\x0a\x20\x20\x20\x20float\x20latitude\x20=\x20radians(lonLatLev.y);\x0a\x20\x20\x20\x20float\x20longitude\x20=\x20radians(lonLatLev.x);\x0a\x0a\x20\x20\x20\x20float\x20cosLat\x20=\x20cos(latitude);\x0a\x20\x20\x20\x20float\x20sinLat\x20=\x20sin(latitude);\x0a\x20\x20\x20\x20float\x20cosLon\x20=\x20cos(longitude);\x0a\x20\x20\x20\x20float\x20sinLon\x20=\x20sin(longitude);\x0a\x0a\x20\x20\x20\x20float\x20N_Phi\x20=\x20a\x20/\x20sqrt(1.0\x20-\x20e2\x20*\x20sinLat\x20*\x20sinLat);\x0a\x20\x20\x20\x20float\x20h\x20=\x20particleHeight;\x20//\x20it\x20should\x20be\x20high\x20enough\x20otherwise\x20the\x20particle\x20may\x20not\x20pass\x20the\x20terrain\x20depth\x20test\x0a\x0a\x20\x20\x20\x20vec3\x20cartesian\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20cartesian.x\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20cosLon;\x0a\x20\x20\x20\x20cartesian.y\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20sinLon;\x0a\x20\x20\x20\x20cartesian.z\x20=\x20((b\x20*\x20b)\x20/\x20(a\x20*\x20a)\x20*\x20N_Phi\x20+\x20h)\x20*\x20sinLat;\x0a\x20\x20\x20\x20return\x20cartesian;\x0a}\x0a\x0avec4\x20calcProjectedCoordinate(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20the\x20range\x20of\x20longitude\x20in\x20Cesium\x20is\x20[-180,\x20180]\x20but\x20the\x20range\x20of\x20longitude\x20in\x20the\x20NetCDF\x20file\x20is\x20[0,\x20360]\x0a\x20\x20\x20\x20//\x20[0,\x20180]\x20is\x20corresponding\x20to\x20[0,\x20180]\x20and\x20[180,\x20360]\x20is\x20corresponding\x20to\x20[-180,\x200]\x0a\x20\x20\x20\x20lonLatLev.x\x20=\x20mod(lonLatLev.x\x20+\x20180.0,\x20360.0)\x20-\x20180.0;\x0a\x20\x20\x20\x20vec3\x20particlePosition\x20=\x20convertCoordinate(lonLatLev);\x0a\x20\x20\x20\x20vec4\x20projectedCoordinate\x20=\x20czm_modelViewProjection\x20*\x20vec4(particlePosition,\x201.0);\x0a\x20\x20\x20\x20return\x20projectedCoordinate;\x0a}\x0a\x0avec4\x20calcOffset(vec4\x20currentProjectedCoordinate,\x20vec4\x20nextProjectedCoordinate,\x20float\x20offsetSign)\x20{\x0a\x20\x20\x20\x20vec2\x20aspectVec2\x20=\x20vec2(aspect,\x201.0);\x0a\x20\x20\x20\x20vec2\x20currentXY\x20=\x20(currentProjectedCoordinate.xy\x20/\x20currentProjectedCoordinate.w)\x20*\x20aspectVec2;\x0a\x20\x20\x20\x20vec2\x20nextXY\x20=\x20(nextProjectedCoordinate.xy\x20/\x20nextProjectedCoordinate.w)\x20*\x20aspectVec2;\x0a\x0a\x20\x20\x20\x20float\x20offsetLength\x20=\x20lineWidth\x20/\x202.0;\x0a\x20\x20\x20\x20vec2\x20direction\x20=\x20normalize(nextXY\x20-\x20currentXY);\x0a\x20\x20\x20\x20vec2\x20normalVector\x20=\x20vec2(-direction.y,\x20direction.x);\x0a\x20\x20\x20\x20normalVector.x\x20=\x20normalVector.x\x20/\x20aspect;\x0a\x20\x20\x20\x20normalVector\x20=\x20offsetLength\x20*\x20normalVector;\x0a\x0a\x20\x20\x20\x20vec4\x20offset\x20=\x20vec4(offsetSign\x20*\x20normalVector,\x200.0,\x200.0);\x0a\x20\x20\x20\x20return\x20offset;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec2\x20particleIndex\x20=\x20st;\x0a\x0a\x20\x20\x20\x20vec3\x20currentPosition\x20=\x20texture2D(currentParticlesPosition,\x20particleIndex).rgb;\x0a\x20\x20\x20\x20vec4\x20nextPosition\x20=\x20texture2D(postProcessingPosition,\x20particleIndex);\x0a\x0a\x20\x20\x20\x20vec4\x20currentProjectedCoordinate\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20vec4\x20nextProjectedCoordinate\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20if\x20(nextPosition.w\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20currentProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20\x20\x20\x20\x20nextProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20currentProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20\x20\x20\x20\x20nextProjectedCoordinate\x20=\x20calcProjectedCoordinate(nextPosition.xyz);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20float\x20pointToUse\x20=\x20normal.x;\x20//\x20-1\x20is\x20currentProjectedCoordinate\x20and\x20+1\x20is\x20nextProjectedCoordinate\x0a\x20\x20\x20\x20float\x20offsetSign\x20=\x20normal.y;\x0a\x0a\x20\x20\x20\x20vec4\x20offset\x20=\x20pixelSize\x20*\x20calcOffset(currentProjectedCoordinate,\x20nextProjectedCoordinate,\x20offsetSign);\x0a\x20\x20\x20\x20if\x20(pointToUse\x20<\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20currentProjectedCoordinate\x20+\x20offset;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20nextProjectedCoordinate\x20+\x20offset;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20speedNormalization\x20=\x20texture2D(postProcessingSpeed,\x20particleIndex).a;\x0a}';},function(_0x425dde,_0x27f1ff){var _0x551521=a0_0x4f3c9d;_0x425dde[_0x551521(0x162)]=_0x551521(0x205);},function(_0x3a9495,_0x650f76){var _0x18da8f=a0_0x4f3c9d;_0x3a9495['exports']=_0x18da8f(0x2a5);},function(_0x340593,_0x385927){var _0x21a426=a0_0x4f3c9d;_0x340593[_0x21a426(0x162)]=_0x21a426(0x26b);},function(_0x10706a,_0xe1b0f8){var _0x59867c=a0_0x4f3c9d;_0x10706a[_0x59867c(0x162)]=_0x59867c(0x168);},function(_0x522ed0,_0x6f74f5){var _0x5a1aac=a0_0x4f3c9d;_0x522ed0[_0x5a1aac(0x162)]=_0x5a1aac(0x233);},function(_0x146fa2,_0x21472d){var _0x4a7b65=a0_0x4f3c9d;_0x146fa2[_0x4a7b65(0x162)]=_0x4a7b65(0x145);},function(_0x3c061e,_0x5cd4d7){var _0x4896da=a0_0x4f3c9d;_0x3c061e['exports']=_0x4896da(0x14e);},function(_0x11c118,_0x2da3bb){var _0x262db4=a0_0x4f3c9d;_0x11c118['exports']=_0x262db4(0x267);},function(_0x261f84,_0x4eacb9){var _0x272c2b=a0_0x4f3c9d;function _0x4f6977(_0x456ad,_0x2b79d6){var _0x1ae144=a0_0x4400;return _0x261f84[_0x1ae144(0x162)]=_0x4f6977=Object[_0x1ae144(0x1fd)]||function(_0x588ba5,_0x431881){return _0x588ba5['__proto__']=_0x431881,_0x588ba5;},_0x261f84['exports'][_0x1ae144(0x24b)]=!0x0,_0x261f84[_0x1ae144(0x162)][_0x1ae144(0x240)]=_0x261f84[_0x1ae144(0x162)],_0x4f6977(_0x456ad,_0x2b79d6);}_0x261f84[_0x272c2b(0x162)]=_0x4f6977,_0x261f84[_0x272c2b(0x162)]['__esModule']=!0x0,_0x261f84['exports']['default']=_0x261f84[_0x272c2b(0x162)];},function(_0x5a7a2c,_0x5942c9){var _0x521f01=a0_0x4f3c9d;function _0x4fce75(_0x3ce720){var _0x180a9f=a0_0x4400;return _0x5a7a2c[_0x180a9f(0x162)]=_0x4fce75=_0x180a9f(0x16a)==typeof Symbol&&'symbol'==typeof Symbol[_0x180a9f(0x1ca)]?function(_0x1b2575){return typeof _0x1b2575;}:function(_0x3714e4){var _0x35af03=_0x180a9f;return _0x3714e4&&_0x35af03(0x16a)==typeof Symbol&&_0x3714e4[_0x35af03(0x1a8)]===Symbol&&_0x3714e4!==Symbol[_0x35af03(0x1e3)]?_0x35af03(0x196):typeof _0x3714e4;},_0x5a7a2c['exports'][_0x180a9f(0x24b)]=!0x0,_0x5a7a2c['exports']['default']=_0x5a7a2c['exports'],_0x4fce75(_0x3ce720);}_0x5a7a2c['exports']=_0x4fce75,_0x5a7a2c['exports']['__esModule']=!0x0,_0x5a7a2c['exports']['default']=_0x5a7a2c[_0x521f01(0x162)];},function(_0x2d9d45,_0x294620){var _0x22cdb5=a0_0x4f3c9d;_0x2d9d45[_0x22cdb5(0x162)]=function(_0x505f97){var _0x50e5e7=_0x22cdb5;if(void 0x0===_0x505f97)throw new ReferenceError(_0x50e5e7(0x1d6));return _0x505f97;},_0x2d9d45[_0x22cdb5(0x162)][_0x22cdb5(0x24b)]=!0x0,_0x2d9d45[_0x22cdb5(0x162)][_0x22cdb5(0x240)]=_0x2d9d45[_0x22cdb5(0x162)];},function(_0x21dd38,_0x853129,_0x5b6846){'use strict';var _0x1cfef6=a0_0x4f3c9d;_0x5b6846['r'](_0x853129),_0x5b6846['d'](_0x853129,_0x1cfef6(0x169),function(){return _0x1be7bc;}),_0x5b6846['d'](_0x853129,'CanvasWindLayer',function(){return _0x39089f;}),_0x5b6846['d'](_0x853129,_0x1cfef6(0x259),function(){return _0x1eadea;});var _0x1eadea={};_0x5b6846['r'](_0x1eadea),_0x5b6846['d'](_0x1eadea,_0x1cfef6(0x17b),function(){return _0x17c690;}),_0x5b6846['d'](_0x1eadea,_0x1cfef6(0x152),function(){return _0x49f5a9;}),_0x5b6846['d'](_0x1eadea,_0x1cfef6(0x27b),function(){return _0xd2fb33;}),_0x5b6846['d'](_0x1eadea,_0x1cfef6(0x210),function(){return _0x4666c4;});var _0x18811e=_0x5b6846(0x1),_0x2a0565=_0x5b6846(0x2),_0x1d12ba=_0x5b6846['n'](_0x2a0565),_0x5151b7=_0x5b6846(0x3),_0x27ad1f=_0x5b6846['n'](_0x5151b7),_0x2b975a=_0x5b6846(0x5),_0x3901bb=_0x5b6846['n'](_0x2b975a),_0x8a84df=_0x5b6846(0x6),_0x2654f9=_0x5b6846['n'](_0x8a84df),_0x697ed9=_0x5b6846(0x4),_0x2cdf9c=_0x5b6846['n'](_0x697ed9),_0xd8b266=_0x5b6846(0x0),_0x11d2ce=(function(){var _0x22f524=_0x1cfef6;function _0x39484c(_0x10f3e3){var _0x5651d0=a0_0x4400;_0x1d12ba()(this,_0x39484c),this[_0x5651d0(0x172)]=_0x10f3e3[_0x5651d0(0x172)],this[_0x5651d0(0x1a9)]=_0x10f3e3[_0x5651d0(0x1a9)],this[_0x5651d0(0x17c)]=_0x10f3e3['attributeLocations'],this[_0x5651d0(0x18e)]=_0x10f3e3[_0x5651d0(0x18e)],this['uniformMap']=_0x10f3e3[_0x5651d0(0x15c)],this['vertexShaderSource']=_0x10f3e3['vertexShaderSource'],this[_0x5651d0(0x255)]=_0x10f3e3[_0x5651d0(0x255)],this[_0x5651d0(0x13a)]=_0x10f3e3[_0x5651d0(0x13a)],this[_0x5651d0(0x189)]=_0x10f3e3['framebuffer'],this[_0x5651d0(0x242)]=_0x10f3e3[_0x5651d0(0x242)],this[_0x5651d0(0x161)]=_0xd8b266[_0x5651d0(0x20c)](_0x10f3e3['autoClear'],!0x1),this[_0x5651d0(0x15f)]=_0x10f3e3['preExecute'],this[_0x5651d0(0x1de)]=!0x0,this[_0x5651d0(0x165)]=void 0x0,this[_0x5651d0(0x16f)]=void 0x0,this['autoClear']&&(this[_0x5651d0(0x16f)]=new _0xd8b266[(_0x5651d0(0x175))]({'color':new _0xd8b266[(_0x5651d0(0x1e0))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x5651d0(0x189)],'pass':_0xd8b266['Pass']['OPAQUE']}));}return _0x27ad1f()(_0x39484c,[{'key':_0x22f524(0x216),'value':function(_0x184ae7){var _0x4f515b=_0x22f524;switch(this[_0x4f515b(0x172)]){case _0x4f515b(0x22b):var _0x4cc55b=_0xd8b266[_0x4f515b(0x27f)][_0x4f515b(0x173)]({'context':_0x184ae7,'geometry':this[_0x4f515b(0x1a9)],'attributeLocations':this['attributeLocations'],'bufferUsage':_0xd8b266['BufferUsage'][_0x4f515b(0x263)]}),_0x229c0e=_0xd8b266['ShaderProgram'][_0x4f515b(0x273)]({'context':_0x184ae7,'attributeLocations':this['attributeLocations'],'vertexShaderSource':this[_0x4f515b(0x22c)],'fragmentShaderSource':this[_0x4f515b(0x255)]}),_0x1201b9=_0xd8b266[_0x4f515b(0x13e)][_0x4f515b(0x273)](this[_0x4f515b(0x13a)]);return new _0xd8b266[(_0x4f515b(0x222))]({'owner':this,'vertexArray':_0x4cc55b,'primitiveType':this['primitiveType'],'uniformMap':this[_0x4f515b(0x15c)],'modelMatrix':_0xd8b266['Matrix4']['IDENTITY'],'shaderProgram':_0x229c0e,'framebuffer':this[_0x4f515b(0x189)],'renderState':_0x1201b9,'pass':_0xd8b266['Pass'][_0x4f515b(0x23c)]});case'Compute':return new _0xd8b266[(_0x4f515b(0x218))]({'owner':this,'fragmentShaderSource':this[_0x4f515b(0x255)],'uniformMap':this['uniformMap'],'outputTexture':this[_0x4f515b(0x242)],'persists':!0x0});}}},{'key':_0x22f524(0x1e2),'value':function(_0x1f4d4c,_0x584b16){var _0x410e6c=_0x22f524;this[_0x410e6c(0x1a9)]=_0x584b16;var _0x1ccb96=_0xd8b266[_0x410e6c(0x27f)]['fromGeometry']({'context':_0x1f4d4c,'geometry':this[_0x410e6c(0x1a9)],'attributeLocations':this[_0x410e6c(0x17c)],'bufferUsage':_0xd8b266[_0x410e6c(0x141)][_0x410e6c(0x263)]});this['commandToExecute'][_0x410e6c(0x287)]=_0x1ccb96;}},{'key':_0x22f524(0x187),'value':function(_0x106b1d){var _0x4c6804=_0x22f524;this[_0x4c6804(0x1de)]&&_0x106b1d[_0x4c6804(0x244)]==_0xd8b266[_0x4c6804(0x21c)][_0x4c6804(0x183)]&&(_0xd8b266['defined'](this[_0x4c6804(0x165)])||(this['commandToExecute']=this[_0x4c6804(0x216)](_0x106b1d['context'])),_0xd8b266[_0x4c6804(0x23a)](this[_0x4c6804(0x15f)])&&this[_0x4c6804(0x15f)](),_0xd8b266[_0x4c6804(0x23a)](this[_0x4c6804(0x16f)])&&_0x106b1d[_0x4c6804(0x1c6)][_0x4c6804(0x1fe)](this['clearCommand']),_0x106b1d['commandList'][_0x4c6804(0x1fe)](this[_0x4c6804(0x165)]));}},{'key':_0x22f524(0x228),'value':function(){return!0x1;}},{'key':_0x22f524(0x231),'value':function(){var _0x252f86=_0x22f524;return _0xd8b266[_0x252f86(0x23a)](this['commandToExecute'])&&(this[_0x252f86(0x165)][_0x252f86(0x26d)]=this[_0x252f86(0x165)][_0x252f86(0x26d)]&&this[_0x252f86(0x165)][_0x252f86(0x26d)][_0x252f86(0x231)]()),_0xd8b266['destroyObject'](this);}}]),_0x39484c;}()),_0x1173bc={'getFullscreenQuad':function(){var _0x24a198=_0x1cfef6;return new _0xd8b266[(_0x24a198(0x1dc))]({'attributes':new _0xd8b266['GeometryAttributes']({'position':new _0xd8b266[(_0x24a198(0x299))]({'componentDatatype':_0xd8b266[_0x24a198(0x208)]['FLOAT'],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new _0xd8b266[(_0x24a198(0x299))]({'componentDatatype':_0xd8b266[_0x24a198(0x208)][_0x24a198(0x1e1)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});},'createTexture':function(_0x5b3f66,_0x711b8f){var _0x24e596=_0x1cfef6;if(_0xd8b266[_0x24e596(0x23a)](_0x711b8f)){var _0x3ede66={};_0x3ede66['arrayBufferView']=_0x711b8f,_0x5b3f66[_0x24e596(0x1da)]=_0x3ede66;}return new _0xd8b266[(_0x24e596(0x15a))](_0x5b3f66);},'createFramebuffer':function(_0x5604cf,_0x5db1ad,_0x3f4e5a){var _0x56293c=_0x1cfef6;return new _0xd8b266[(_0x56293c(0x2b2))]({'context':_0x5604cf,'colorTextures':[_0x5db1ad],'depthTexture':_0x3f4e5a});},'createRawRenderState':function(_0x47087f){var _0x38ed6a=_0x1cfef6,_0x2217d4={'viewport':_0x47087f['viewport'],'depthTest':_0x47087f[_0x38ed6a(0x272)],'depthMask':_0x47087f[_0x38ed6a(0x180)],'blending':_0x47087f[_0x38ed6a(0x283)]};return _0xd8b266[_0x38ed6a(0x147)]['getDefaultRenderState'](!0x0,!0x1,_0x2217d4);},'viewRectangleToLonLatRange':function(_0x39ea13){var _0x5c0931=_0x1cfef6,_0x3b7731,_0x5c5afb,_0xf7d5b4={},_0x425ed1=_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x1a7)](_0x39ea13[_0x5c0931(0x292)],_0xd8b266[_0x5c0931(0x1cc)]['TWO_PI']),_0x455e20=_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x1a7)](_0x39ea13[_0x5c0931(0x19f)],_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x261)]),_0x151dc0=_0x39ea13['width'];_0x151dc0>_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x1cf)]?(_0x3b7731=0x0,_0x5c5afb=_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x261)]):_0x455e20-_0x425ed1<_0x151dc0?(_0x3b7731=_0x425ed1,_0x5c5afb=_0x425ed1+_0x151dc0):(_0x3b7731=_0x425ed1,_0x5c5afb=_0x455e20),_0xf7d5b4[_0x5c0931(0x258)]={'min':_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x21d)](_0x3b7731),'max':_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x21d)](_0x5c5afb)};var _0x14f504=_0x39ea13[_0x5c0931(0x1ee)],_0x11ed97=_0x39ea13[_0x5c0931(0x1ea)],_0x37097e=_0x39ea13['height'],_0x825b07=_0x37097e>_0xd8b266[_0x5c0931(0x1cc)]['PI']/0xc?_0x37097e/0x2:0x0,_0x3f2439=_0xd8b266['Math']['clampToLatitudeRange'](_0x14f504-_0x825b07),_0x180f6c=_0xd8b266[_0x5c0931(0x1cc)]['clampToLatitudeRange'](_0x11ed97+_0x825b07);return _0x3f2439<-_0xd8b266['Math'][_0x5c0931(0x1c2)]&&(_0x3f2439=-_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x194)]),_0x180f6c>_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x1c2)]&&(_0x180f6c=_0xd8b266[_0x5c0931(0x1cc)]['PI_OVER_TWO']),_0xf7d5b4[_0x5c0931(0x1fa)]={'min':_0xd8b266[_0x5c0931(0x1cc)]['toDegrees'](_0x3f2439),'max':_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x21d)](_0x180f6c)},_0xf7d5b4;}},_0x16b3dc=_0x5b6846(0x8),_0x5ec76a=_0x5b6846['n'](_0x16b3dc),_0x2b3ca3=_0x5b6846(0x9),_0x30321e=_0x5b6846['n'](_0x2b3ca3),_0x3d4277=_0x5b6846(0x7),_0x516e8a=_0x5b6846['n'](_0x3d4277),_0x186e79=_0x5b6846(0xa),_0x386d3f=_0x5b6846['n'](_0x186e79),_0x2d7e29=_0x5b6846(0xb),_0x3a9d09=_0x5b6846['n'](_0x2d7e29),_0x2a4547=(function(){var _0xfdafae=_0x1cfef6;function _0xc30d2(_0x11fe41,_0x3e6437,_0x53d5bb,_0x16505c,_0x13d54e){var _0x4b9c64=a0_0x4400;_0x1d12ba()(this,_0xc30d2),this['createRenderingTextures'](_0x11fe41,_0x3e6437),this[_0x4b9c64(0x20a)](_0x11fe41),this[_0x4b9c64(0x2a8)](_0x11fe41,_0x53d5bb,_0x16505c,_0x13d54e);}return _0x27ad1f()(_0xc30d2,[{'key':_0xfdafae(0x13b),'value':function(_0x4efc13,_0x1fd5b3){var _0xe53c91=_0xfdafae,_0x5310c8={'context':_0x4efc13,'width':_0x4efc13[_0xe53c91(0x22d)],'height':_0x4efc13[_0xe53c91(0x1f9)],'pixelFormat':_0xd8b266[_0xe53c91(0x182)][_0xe53c91(0x1a2)],'pixelDatatype':_0xd8b266['PixelDatatype'][_0xe53c91(0x27d)]},_0x311c4d={'context':_0x4efc13,'width':_0x4efc13['drawingBufferWidth'],'height':_0x4efc13[_0xe53c91(0x1f9)],'pixelFormat':_0xd8b266[_0xe53c91(0x182)][_0xe53c91(0x18b)],'pixelDatatype':_0xd8b266[_0xe53c91(0x271)][_0xe53c91(0x179)]},_0x385167={'context':_0x4efc13,'width':_0x1fd5b3[_0xe53c91(0x1ba)][_0xe53c91(0x1b2)],'height':0x1,'pixelFormat':_0xd8b266[_0xe53c91(0x182)]['RGB'],'pixelDatatype':_0xd8b266[_0xe53c91(0x271)][_0xe53c91(0x1e1)],'sampler':new _0xd8b266[(_0xe53c91(0x1af))]({'minificationFilter':_0xd8b266[_0xe53c91(0x1ad)][_0xe53c91(0x21b)],'magnificationFilter':_0xd8b266[_0xe53c91(0x186)][_0xe53c91(0x21b)]})};this['textures']={'segmentsColor':_0x1173bc[_0xe53c91(0x176)](_0x5310c8),'segmentsDepth':_0x1173bc['createTexture'](_0x311c4d),'currentTrailsColor':_0x1173bc['createTexture'](_0x5310c8),'currentTrailsDepth':_0x1173bc[_0xe53c91(0x176)](_0x311c4d),'nextTrailsColor':_0x1173bc[_0xe53c91(0x176)](_0x5310c8),'nextTrailsDepth':_0x1173bc[_0xe53c91(0x176)](_0x311c4d),'colorTable':_0x1173bc['createTexture'](_0x385167,_0x1fd5b3[_0xe53c91(0x1ba)][_0xe53c91(0x246)])};}},{'key':_0xfdafae(0x20a),'value':function(_0x64e660){var _0x813e65=_0xfdafae;this[_0x813e65(0x1dd)]={'segments':_0x1173bc[_0x813e65(0x250)](_0x64e660,this['textures']['segmentsColor'],this['textures'][_0x813e65(0x24c)]),'currentTrails':_0x1173bc['createFramebuffer'](_0x64e660,this[_0x813e65(0x2af)][_0x813e65(0x19b)],this[_0x813e65(0x2af)]['currentTrailsDepth']),'nextTrails':_0x1173bc[_0x813e65(0x250)](_0x64e660,this[_0x813e65(0x2af)][_0x813e65(0x1d1)],this[_0x813e65(0x2af)][_0x813e65(0x227)])};}},{'key':_0xfdafae(0x296),'value':function(_0x43dc19){var _0x1670fb=_0xfdafae;for(var _0x282c0c=[],_0x8f4373=0x0;_0x8f4373<_0x43dc19[_0x1670fb(0x1ff)];_0x8f4373++)for(var _0x3eed74=0x0;_0x3eed74<_0x43dc19[_0x1670fb(0x1ff)];_0x3eed74++)for(var _0x147166=0x0;_0x147166<0x4;_0x147166++)_0x282c0c[_0x1670fb(0x1fe)](_0x8f4373/_0x43dc19[_0x1670fb(0x1ff)]),_0x282c0c['push'](_0x3eed74/_0x43dc19[_0x1670fb(0x1ff)]);_0x282c0c=new Float32Array(_0x282c0c);for(var _0x52dacc=[],_0x10f730=[-0x1,0x1],_0x4e1368=[-0x1,0x1],_0x3095ed=0x0;_0x3095ed<_0x43dc19[_0x1670fb(0x223)];_0x3095ed++)for(var _0x494f95=0x0;_0x494f95<0x2;_0x494f95++)for(var _0x1126a2=0x0;_0x1126a2<0x2;_0x1126a2++)_0x52dacc[_0x1670fb(0x1fe)](_0x10f730[_0x494f95]),_0x52dacc['push'](_0x4e1368[_0x1126a2]),_0x52dacc['push'](0x0);_0x52dacc=new Float32Array(_0x52dacc);for(var _0x413c41=0x6*_0x43dc19[_0x1670fb(0x223)],_0x29ca71=new Uint32Array(_0x413c41),_0x472759=0x0,_0x1e76a5=0x0,_0x5ce846=0x0;_0x472759<_0x43dc19[_0x1670fb(0x223)];_0x472759++)_0x29ca71[_0x1e76a5++]=_0x5ce846+0x0,_0x29ca71[_0x1e76a5++]=_0x5ce846+0x1,_0x29ca71[_0x1e76a5++]=_0x5ce846+0x2,_0x29ca71[_0x1e76a5++]=_0x5ce846+0x2,_0x29ca71[_0x1e76a5++]=_0x5ce846+0x1,_0x29ca71[_0x1e76a5++]=_0x5ce846+0x3,_0x5ce846+=0x4;return new _0xd8b266['Geometry']({'attributes':new _0xd8b266[(_0x1670fb(0x185))]({'st':new _0xd8b266[(_0x1670fb(0x299))]({'componentDatatype':_0xd8b266[_0x1670fb(0x208)]['FLOAT'],'componentsPerAttribute':0x2,'values':_0x282c0c}),'normal':new _0xd8b266['GeometryAttribute']({'componentDatatype':_0xd8b266[_0x1670fb(0x208)][_0x1670fb(0x1e1)],'componentsPerAttribute':0x3,'values':_0x52dacc})}),'indices':_0x29ca71});}},{'key':_0xfdafae(0x2a8),'value':function(_0x1c1cfa,_0x33dd2f,_0x2a6b67,_0x5e32c3){var _0x1a3c6d=_0xfdafae,_0x258f0f=this;this['primitives']={'segments':new _0x11d2ce({'commandType':_0x1a3c6d(0x22b),'attributeLocations':{'st':0x0,'normal':0x1},'geometry':this['createSegmentsGeometry'](_0x33dd2f),'primitiveType':_0xd8b266[_0x1a3c6d(0x254)][_0x1a3c6d(0x1b1)],'uniformMap':{'currentParticlesPosition':function(){var _0x10453e=_0x1a3c6d;return _0x5e32c3['particlesTextures'][_0x10453e(0x28c)];},'postProcessingPosition':function(){var _0x279568=_0x1a3c6d;return _0x5e32c3[_0x279568(0x278)][_0x279568(0x19d)];},'postProcessingSpeed':function(){var _0x29af45=_0x1a3c6d;return _0x5e32c3[_0x29af45(0x278)][_0x29af45(0x25e)];},'colorTable':function(){var _0x1fc773=_0x1a3c6d;return _0x258f0f[_0x1fc773(0x2af)]['colorTable'];},'aspect':function(){var _0x4fa90e=_0x1a3c6d;return _0x1c1cfa[_0x4fa90e(0x22d)]/_0x1c1cfa[_0x4fa90e(0x1f9)];},'pixelSize':function(){var _0x70146e=_0x1a3c6d;return _0x2a6b67[_0x70146e(0x238)];},'lineWidth':function(){return _0x33dd2f['lineWidth'];},'particleHeight':function(){var _0x52145c=_0x1a3c6d;return _0x33dd2f[_0x52145c(0x1ae)];}},'vertexShaderSource':new _0xd8b266[(_0x1a3c6d(0x1e8))]({'sources':[_0x5ec76a['a']]}),'fragmentShaderSource':new _0xd8b266['ShaderSource']({'sources':[_0x30321e['a']]}),'rawRenderState':_0x1173bc[_0x1a3c6d(0x220)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0},'depthMask':!0x0}),'framebuffer':this[_0x1a3c6d(0x1dd)][_0x1a3c6d(0x225)],'autoClear':!0x0}),'trails':new _0x11d2ce({'commandType':_0x1a3c6d(0x22b),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x1173bc[_0x1a3c6d(0x264)](),'primitiveType':_0xd8b266[_0x1a3c6d(0x254)][_0x1a3c6d(0x1b1)],'uniformMap':{'segmentsColorTexture':function(){return _0x258f0f['textures']['segmentsColor'];},'segmentsDepthTexture':function(){var _0x2a4469=_0x1a3c6d;return _0x258f0f['textures'][_0x2a4469(0x24c)];},'currentTrailsColor':function(){var _0x1377ea=_0x1a3c6d;return _0x258f0f[_0x1377ea(0x1dd)][_0x1377ea(0x13f)][_0x1377ea(0x25b)](0x0);},'trailsDepthTexture':function(){var _0x174b1e=_0x1a3c6d;return _0x258f0f['framebuffers'][_0x174b1e(0x13f)][_0x174b1e(0x29f)];},'fadeOpacity':function(){var _0x192e92=_0x1a3c6d;return _0x33dd2f[_0x192e92(0x1b6)];}},'vertexShaderSource':new _0xd8b266['ShaderSource']({'defines':['DISABLE_GL_POSITION_LOG_DEPTH'],'sources':[_0x516e8a['a']]}),'fragmentShaderSource':new _0xd8b266[(_0x1a3c6d(0x1e8))]({'defines':[_0x1a3c6d(0x286)],'sources':[_0x386d3f['a']]}),'rawRenderState':_0x1173bc[_0x1a3c6d(0x220)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0,'func':_0xd8b266[_0x1a3c6d(0x1b9)][_0x1a3c6d(0x157)]},'depthMask':!0x0}),'framebuffer':this['framebuffers'][_0x1a3c6d(0x1d9)],'autoClear':!0x0,'preExecute':function(){var _0x1479b7=_0x1a3c6d,_0x23d58c;_0x23d58c=_0x258f0f[_0x1479b7(0x1dd)][_0x1479b7(0x13f)],_0x258f0f[_0x1479b7(0x1dd)][_0x1479b7(0x13f)]=_0x258f0f[_0x1479b7(0x1dd)][_0x1479b7(0x1d9)],_0x258f0f[_0x1479b7(0x1dd)][_0x1479b7(0x1d9)]=_0x23d58c,_0x258f0f['primitives'][_0x1479b7(0x21f)]['commandToExecute'][_0x1479b7(0x189)]=_0x258f0f[_0x1479b7(0x1dd)][_0x1479b7(0x1d9)],_0x258f0f[_0x1479b7(0x188)]['trails']['clearCommand'][_0x1479b7(0x189)]=_0x258f0f[_0x1479b7(0x1dd)][_0x1479b7(0x1d9)];}}),'screen':new _0x11d2ce({'commandType':_0x1a3c6d(0x22b),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x1173bc[_0x1a3c6d(0x264)](),'primitiveType':_0xd8b266[_0x1a3c6d(0x254)]['TRIANGLES'],'uniformMap':{'trailsColorTexture':function(){var _0x493082=_0x1a3c6d;return _0x258f0f['framebuffers'][_0x493082(0x1d9)][_0x493082(0x25b)](0x0);},'trailsDepthTexture':function(){var _0x1a8d8b=_0x1a3c6d;return _0x258f0f[_0x1a8d8b(0x1dd)][_0x1a8d8b(0x1d9)]['depthTexture'];}},'vertexShaderSource':new _0xd8b266[(_0x1a3c6d(0x1e8))]({'defines':[_0x1a3c6d(0x2a2)],'sources':[_0x516e8a['a']]}),'fragmentShaderSource':new _0xd8b266['ShaderSource']({'defines':[_0x1a3c6d(0x286)],'sources':[_0x3a9d09['a']]}),'rawRenderState':_0x1173bc[_0x1a3c6d(0x220)]({'viewport':void 0x0,'depthTest':{'enabled':!0x1},'depthMask':!0x0,'blending':{'enabled':!0x0}}),'framebuffer':void 0x0})};}}]),_0xc30d2;}()),_0x5ee7e3=_0x5b6846(0xc),_0x3d2edc=_0x5b6846['n'](_0x5ee7e3),_0x1e0bc7=_0x5b6846(0xd),_0x32daf4=_0x5b6846['n'](_0x1e0bc7),_0xcc6ecb=_0x5b6846(0xe),_0x13d9db=_0x5b6846['n'](_0xcc6ecb),_0x35e81b=_0x5b6846(0xf),_0x2dbd65=_0x5b6846['n'](_0x35e81b),_0x15468b=_0x5b6846(0x10),_0x4038e0=_0x5b6846['n'](_0x15468b),_0x260bd0=(function(){var _0x8885d2=_0x1cfef6;function _0x3df8fb(_0x52b953,_0x3a179c,_0x171226,_0x270076){var _0x165688=a0_0x4400;_0x1d12ba()(this,_0x3df8fb),this[_0x165688(0x1a4)]=_0x3a179c,this[_0x165688(0x26e)](_0x52b953,_0x3a179c),this[_0x165688(0x151)](_0x52b953,_0x171226,_0x270076),this['createComputingPrimitives'](_0x3a179c,_0x171226,_0x270076);}return _0x27ad1f()(_0x3df8fb,[{'key':'createWindTextures','value':function(_0xd2addb,_0x30e80e){var _0x2e0336=a0_0x4400,_0x43f9a6={'context':_0xd2addb,'width':_0x30e80e['dimensions'][_0x2e0336(0x258)],'height':_0x30e80e['dimensions'][_0x2e0336(0x1fa)]*_0x30e80e[_0x2e0336(0x1bd)][_0x2e0336(0x26a)],'pixelFormat':_0xd8b266['PixelFormat'][_0x2e0336(0x1a6)],'pixelDatatype':_0xd8b266[_0x2e0336(0x271)][_0x2e0336(0x1e1)],'flipY':!0x1,'sampler':new _0xd8b266[(_0x2e0336(0x1af))]({'minificationFilter':_0xd8b266['TextureMinificationFilter']['NEAREST'],'magnificationFilter':_0xd8b266[_0x2e0336(0x186)]['NEAREST']})};this['windTextures']={'U':_0x1173bc[_0x2e0336(0x176)](_0x43f9a6,_0x30e80e['U'][_0x2e0336(0x246)]),'V':_0x1173bc[_0x2e0336(0x176)](_0x43f9a6,_0x30e80e['V'][_0x2e0336(0x246)])};}},{'key':_0x8885d2(0x151),'value':function(_0x14ee13,_0x1b6320,_0x4d9c1f){var _0x5d3b9d=_0x8885d2,_0x4811c1={'context':_0x14ee13,'width':_0x1b6320[_0x5d3b9d(0x1ff)],'height':_0x1b6320[_0x5d3b9d(0x1ff)],'pixelFormat':_0xd8b266['PixelFormat']['RGBA'],'pixelDatatype':_0xd8b266[_0x5d3b9d(0x271)][_0x5d3b9d(0x1e1)],'flipY':!0x1,'sampler':new _0xd8b266[(_0x5d3b9d(0x1af))]({'minificationFilter':_0xd8b266[_0x5d3b9d(0x1ad)]['NEAREST'],'magnificationFilter':_0xd8b266['TextureMagnificationFilter']['NEAREST']})},_0x594b08=this[_0x5d3b9d(0x1db)](_0x1b6320['maxParticles'],_0x4d9c1f),_0x5b38ab=new Float32Array(0x4*_0x1b6320[_0x5d3b9d(0x223)])[_0x5d3b9d(0x247)](0x0);this[_0x5d3b9d(0x278)]={'particlesWind':_0x1173bc['createTexture'](_0x4811c1),'currentParticlesPosition':_0x1173bc[_0x5d3b9d(0x176)](_0x4811c1,_0x594b08),'nextParticlesPosition':_0x1173bc[_0x5d3b9d(0x176)](_0x4811c1,_0x594b08),'currentParticlesSpeed':_0x1173bc['createTexture'](_0x4811c1,_0x5b38ab),'nextParticlesSpeed':_0x1173bc[_0x5d3b9d(0x176)](_0x4811c1,_0x5b38ab),'postProcessingPosition':_0x1173bc[_0x5d3b9d(0x176)](_0x4811c1,_0x594b08),'postProcessingSpeed':_0x1173bc[_0x5d3b9d(0x176)](_0x4811c1,_0x5b38ab)};}},{'key':'randomizeParticles','value':function(_0x3fbaa8,_0x452dc8){var _0x3e2a1c=_0x8885d2;for(var _0x1cc133=new Float32Array(0x4*_0x3fbaa8),_0x4cb8c7=0x0;_0x4cb8c7<_0x3fbaa8;_0x4cb8c7++)_0x1cc133[0x4*_0x4cb8c7]=_0xd8b266[_0x3e2a1c(0x1cc)][_0x3e2a1c(0x1ac)](_0x452dc8[_0x3e2a1c(0x1b4)]['x'],_0x452dc8[_0x3e2a1c(0x1b4)]['y']),_0x1cc133[0x4*_0x4cb8c7+0x1]=_0xd8b266[_0x3e2a1c(0x1cc)][_0x3e2a1c(0x1ac)](_0x452dc8[_0x3e2a1c(0x22f)]['x'],_0x452dc8['latRange']['y']),_0x1cc133[0x4*_0x4cb8c7+0x2]=_0xd8b266[_0x3e2a1c(0x1cc)][_0x3e2a1c(0x1ac)](this[_0x3e2a1c(0x1a4)][_0x3e2a1c(0x26a)]['min'],this['data'][_0x3e2a1c(0x26a)][_0x3e2a1c(0x23b)]),_0x1cc133[0x4*_0x4cb8c7+0x3]=0x0;return _0x1cc133;}},{'key':_0x8885d2(0x22a),'value':function(){var _0x2a2b0a=_0x8885d2,_0x497d0f=this;Object['keys'](this[_0x2a2b0a(0x278)])[_0x2a2b0a(0x21e)](function(_0x23f48c){var _0x56d305=_0x2a2b0a;_0x497d0f[_0x56d305(0x278)][_0x23f48c][_0x56d305(0x231)]();});}},{'key':'createComputingPrimitives','value':function(_0x21bdf5,_0x2c8453,_0x15bbc8){var _0x46f718=_0x8885d2,_0x5593bb=new _0xd8b266[(_0x46f718(0x1bf))](_0x21bdf5[_0x46f718(0x1bd)]['lon'],_0x21bdf5['dimensions'][_0x46f718(0x1fa)],_0x21bdf5['dimensions'][_0x46f718(0x26a)]),_0x41aa9b=new _0xd8b266['Cartesian3'](_0x21bdf5[_0x46f718(0x258)]['min'],_0x21bdf5[_0x46f718(0x1fa)][_0x46f718(0x144)],_0x21bdf5[_0x46f718(0x26a)][_0x46f718(0x144)]),_0x4552d7=new _0xd8b266[(_0x46f718(0x1bf))](_0x21bdf5[_0x46f718(0x258)]['max'],_0x21bdf5[_0x46f718(0x1fa)]['max'],_0x21bdf5['lev'][_0x46f718(0x23b)]),_0x3452df=new _0xd8b266[(_0x46f718(0x1bf))]((_0x4552d7['x']-_0x41aa9b['x'])/(_0x5593bb['x']-0x1),(_0x4552d7['y']-_0x41aa9b['y'])/(_0x5593bb['y']-0x1),_0x5593bb['z']>0x1?(_0x4552d7['z']-_0x41aa9b['z'])/(_0x5593bb['z']-0x1):0x1),_0x5ced52=new _0xd8b266['Cartesian2'](_0x21bdf5['U'][_0x46f718(0x144)],_0x21bdf5['U'][_0x46f718(0x23b)]),_0x312e25=new _0xd8b266['Cartesian2'](_0x21bdf5['V']['min'],_0x21bdf5['V'][_0x46f718(0x23b)]),_0x27abd4=this;this[_0x46f718(0x188)]={'getWind':new _0x11d2ce({'commandType':_0x46f718(0x13d),'uniformMap':{'U':function(){var _0x76f69f=_0x46f718;return _0x27abd4[_0x76f69f(0x1d8)]['U'];},'V':function(){var _0x4173f1=_0x46f718;return _0x27abd4[_0x4173f1(0x1d8)]['V'];},'currentParticlesPosition':function(){var _0x538d4f=_0x46f718;return _0x27abd4[_0x538d4f(0x278)][_0x538d4f(0x28c)];},'dimension':function(){return _0x5593bb;},'minimum':function(){return _0x41aa9b;},'maximum':function(){return _0x4552d7;},'interval':function(){return _0x3452df;}},'fragmentShaderSource':new _0xd8b266[(_0x46f718(0x1e8))]({'sources':[_0x3d2edc['a']]}),'outputTexture':this[_0x46f718(0x278)][_0x46f718(0x285)],'preExecute':function(){var _0x1c8702=_0x46f718;_0x27abd4[_0x1c8702(0x188)][_0x1c8702(0x239)][_0x1c8702(0x165)]['outputTexture']=_0x27abd4['particlesTextures'][_0x1c8702(0x285)];}}),'updateSpeed':new _0x11d2ce({'commandType':_0x46f718(0x13d),'uniformMap':{'currentParticlesSpeed':function(){var _0x54dfe6=_0x46f718;return _0x27abd4[_0x54dfe6(0x278)]['currentParticlesSpeed'];},'particlesWind':function(){var _0x4c123f=_0x46f718;return _0x27abd4[_0x4c123f(0x278)][_0x4c123f(0x285)];},'uSpeedRange':function(){return _0x5ced52;},'vSpeedRange':function(){return _0x312e25;},'pixelSize':function(){var _0x360d34=_0x46f718;return _0x15bbc8[_0x360d34(0x238)];},'speedFactor':function(){var _0x545e76=_0x46f718;return _0x2c8453[_0x545e76(0x1a5)];}},'fragmentShaderSource':new _0xd8b266[(_0x46f718(0x1e8))]({'sources':[_0x32daf4['a']]}),'outputTexture':this[_0x46f718(0x278)][_0x46f718(0x163)],'preExecute':function(){var _0x405687=_0x46f718,_0x5412c5;_0x5412c5=_0x27abd4[_0x405687(0x278)][_0x405687(0x1a1)],_0x27abd4[_0x405687(0x278)][_0x405687(0x1a1)]=_0x27abd4[_0x405687(0x278)][_0x405687(0x25e)],_0x27abd4[_0x405687(0x278)][_0x405687(0x25e)]=_0x5412c5,_0x27abd4[_0x405687(0x188)][_0x405687(0x19c)][_0x405687(0x165)][_0x405687(0x242)]=_0x27abd4[_0x405687(0x278)][_0x405687(0x163)];}}),'updatePosition':new _0x11d2ce({'commandType':_0x46f718(0x13d),'uniformMap':{'currentParticlesPosition':function(){var _0x44299f=_0x46f718;return _0x27abd4[_0x44299f(0x278)][_0x44299f(0x28c)];},'currentParticlesSpeed':function(){var _0x5181df=_0x46f718;return _0x27abd4[_0x5181df(0x278)][_0x5181df(0x1a1)];}},'fragmentShaderSource':new _0xd8b266[(_0x46f718(0x1e8))]({'sources':[_0x13d9db['a']]}),'outputTexture':this['particlesTextures'][_0x46f718(0x1f4)],'preExecute':function(){var _0x31a892=_0x46f718,_0x525506;_0x525506=_0x27abd4['particlesTextures'][_0x31a892(0x28c)],_0x27abd4[_0x31a892(0x278)][_0x31a892(0x28c)]=_0x27abd4[_0x31a892(0x278)]['postProcessingPosition'],_0x27abd4[_0x31a892(0x278)][_0x31a892(0x19d)]=_0x525506,_0x27abd4[_0x31a892(0x188)][_0x31a892(0x1c4)][_0x31a892(0x165)]['outputTexture']=_0x27abd4[_0x31a892(0x278)][_0x31a892(0x1f4)];}}),'postProcessingPosition':new _0x11d2ce({'commandType':_0x46f718(0x13d),'uniformMap':{'nextParticlesPosition':function(){var _0x280cdb=_0x46f718;return _0x27abd4[_0x280cdb(0x278)][_0x280cdb(0x1f4)];},'nextParticlesSpeed':function(){var _0x260ad7=_0x46f718;return _0x27abd4[_0x260ad7(0x278)]['nextParticlesSpeed'];},'lonRange':function(){var _0x15096f=_0x46f718;return _0x15bbc8[_0x15096f(0x1b4)];},'latRange':function(){var _0x536303=_0x46f718;return _0x15bbc8[_0x536303(0x22f)];},'randomCoefficient':function(){var _0xce2c3=_0x46f718,_0x4d2660=Math[_0xce2c3(0x229)]();return _0x4d2660;},'dropRate':function(){var _0x2eb73e=_0x46f718;return _0x2c8453[_0x2eb73e(0x142)];},'dropRateBump':function(){return _0x2c8453['dropRateBump'];}},'fragmentShaderSource':new _0xd8b266['ShaderSource']({'sources':[_0x2dbd65['a']]}),'outputTexture':this[_0x46f718(0x278)]['postProcessingPosition'],'preExecute':function(){var _0x51ddc7=_0x46f718;_0x27abd4[_0x51ddc7(0x188)]['postProcessingPosition'][_0x51ddc7(0x165)]['outputTexture']=_0x27abd4[_0x51ddc7(0x278)][_0x51ddc7(0x19d)];}}),'postProcessingSpeed':new _0x11d2ce({'commandType':_0x46f718(0x13d),'uniformMap':{'postProcessingPosition':function(){var _0x500965=_0x46f718;return _0x27abd4['particlesTextures'][_0x500965(0x19d)];},'nextParticlesSpeed':function(){var _0x371f6b=_0x46f718;return _0x27abd4[_0x371f6b(0x278)][_0x371f6b(0x163)];}},'fragmentShaderSource':new _0xd8b266['ShaderSource']({'sources':[_0x4038e0['a']]}),'outputTexture':this['particlesTextures']['postProcessingSpeed'],'preExecute':function(){var _0x31bb5b=_0x46f718;_0x27abd4['primitives'][_0x31bb5b(0x25e)][_0x31bb5b(0x165)][_0x31bb5b(0x242)]=_0x27abd4[_0x31bb5b(0x278)][_0x31bb5b(0x25e)];}})};}}]),_0x3df8fb;}()),_0x4be1cf=(function(){var _0x4a5318=_0x1cfef6;function _0x100ba9(_0x49e7c7,_0x41a305,_0x2d6fbb,_0x42a391){var _0x5d708a=a0_0x4400;_0x1d12ba()(this,_0x100ba9),this[_0x5d708a(0x224)]=_0x49e7c7,this[_0x5d708a(0x1a4)]=_0x41a305,this[_0x5d708a(0x2ae)]=_0x2d6fbb,this[_0x5d708a(0x24e)]=_0x42a391,this[_0x5d708a(0x1a3)]=new _0x260bd0(this[_0x5d708a(0x224)],this[_0x5d708a(0x1a4)],this[_0x5d708a(0x2ae)],this[_0x5d708a(0x24e)]),this[_0x5d708a(0x167)]=new _0x2a4547(this[_0x5d708a(0x224)],this['data'],this[_0x5d708a(0x2ae)],this[_0x5d708a(0x24e)],this[_0x5d708a(0x1a3)]);}return _0x27ad1f()(_0x100ba9,[{'key':_0x4a5318(0x25c),'value':function(_0x4d30e3){var _0x315a60=_0x4a5318,_0x14606b=this;this[_0x315a60(0x1a3)][_0x315a60(0x22a)](),Object[_0x315a60(0x16c)](this[_0x315a60(0x1a3)]['windTextures'])[_0x315a60(0x21e)](function(_0x10af8c){var _0x223cc7=_0x315a60;_0x14606b[_0x223cc7(0x1a3)][_0x223cc7(0x1d8)][_0x10af8c][_0x223cc7(0x231)]();}),this[_0x315a60(0x167)][_0x315a60(0x2af)][_0x315a60(0x1ba)][_0x315a60(0x231)](),Object[_0x315a60(0x16c)](this[_0x315a60(0x167)][_0x315a60(0x1dd)])[_0x315a60(0x21e)](function(_0x33e502){var _0x2b0449=_0x315a60;_0x14606b[_0x2b0449(0x167)][_0x2b0449(0x1dd)][_0x33e502][_0x2b0449(0x231)]();}),this[_0x315a60(0x224)]=_0x4d30e3,this['particlesComputing']=new _0x260bd0(this[_0x315a60(0x224)],this[_0x315a60(0x1a4)],this[_0x315a60(0x2ae)],this[_0x315a60(0x24e)]),this[_0x315a60(0x167)]=new _0x2a4547(this[_0x315a60(0x224)],this['data'],this[_0x315a60(0x2ae)],this[_0x315a60(0x24e)],this[_0x315a60(0x1a3)]);}},{'key':_0x4a5318(0x159),'value':function(){var _0x4289eb=_0x4a5318,_0x3d0e38=this,_0x2b01b9=new _0xd8b266[(_0x4289eb(0x175))]({'color':new _0xd8b266[(_0x4289eb(0x1e0))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':void 0x0,'pass':_0xd8b266[_0x4289eb(0x174)]['OPAQUE']});Object['keys'](this[_0x4289eb(0x167)]['framebuffers'])['forEach'](function(_0x322c04){var _0x5c4a38=_0x4289eb;_0x2b01b9[_0x5c4a38(0x189)]=_0x3d0e38[_0x5c4a38(0x167)]['framebuffers'][_0x322c04],_0x2b01b9[_0x5c4a38(0x198)](_0x3d0e38['context']);});}},{'key':_0x4a5318(0x215),'value':function(_0x35cc62){var _0x3d7d9a=_0x4a5318;if(this[_0x3d7d9a(0x159)](),this['particlesComputing'][_0x3d7d9a(0x22a)](),this[_0x3d7d9a(0x1a3)][_0x3d7d9a(0x151)](this[_0x3d7d9a(0x224)],this['userInput'],this[_0x3d7d9a(0x24e)]),_0x35cc62){var _0x535be6=this[_0x3d7d9a(0x167)][_0x3d7d9a(0x296)](this[_0x3d7d9a(0x2ae)]);this[_0x3d7d9a(0x167)]['primitives']['segments'][_0x3d7d9a(0x1a9)]=_0x535be6;var _0x1e810d=_0xd8b266['VertexArray'][_0x3d7d9a(0x173)]({'context':this[_0x3d7d9a(0x224)],'geometry':_0x535be6,'attributeLocations':this[_0x3d7d9a(0x167)][_0x3d7d9a(0x188)][_0x3d7d9a(0x225)]['attributeLocations'],'bufferUsage':_0xd8b266[_0x3d7d9a(0x141)]['STATIC_DRAW']});this[_0x3d7d9a(0x167)]['primitives'][_0x3d7d9a(0x225)][_0x3d7d9a(0x165)][_0x3d7d9a(0x287)]=_0x1e810d;}}},{'key':_0x4a5318(0x235),'value':function(_0x2b9e34){var _0x2004a6=_0x4a5318,_0x4ce43d=this,_0x4995ba=!0x1;this[_0x2004a6(0x2ae)][_0x2004a6(0x223)]!=_0x2b9e34[_0x2004a6(0x223)]&&(_0x4995ba=!0x0),Object[_0x2004a6(0x16c)](_0x2b9e34)[_0x2004a6(0x21e)](function(_0x428eee){var _0x2a92ba=_0x2004a6;_0x4ce43d[_0x2a92ba(0x2ae)][_0x428eee]=_0x2b9e34[_0x428eee];}),this[_0x2004a6(0x215)](_0x4995ba);}},{'key':'applyViewerParameters','value':function(_0x5f3127){var _0xe897ab=_0x4a5318,_0x1fc34=this;Object[_0xe897ab(0x16c)](_0x5f3127)[_0xe897ab(0x21e)](function(_0x4bfeb5){var _0x13c6f2=_0xe897ab;_0x1fc34[_0x13c6f2(0x24e)][_0x4bfeb5]=_0x5f3127[_0x4bfeb5];}),this[_0xe897ab(0x215)](!0x1);}}]),_0x100ba9;}());function _0x19c602(_0xa25688){var _0xf4b1a=(function(){var _0x1b16ca=a0_0x4400;if(_0x1b16ca(0x23e)==typeof Reflect||!Reflect[_0x1b16ca(0x28a)])return!0x1;if(Reflect['construct']['sham'])return!0x1;if('function'==typeof Proxy)return!0x0;try{return Boolean[_0x1b16ca(0x1e3)]['valueOf']['call'](Reflect[_0x1b16ca(0x28a)](Boolean,[],function(){})),!0x0;}catch(_0x37a6c0){return!0x1;}}());return function(){var _0x872a9b=a0_0x4400,_0x117b06,_0x42966e=_0x2cdf9c()(_0xa25688);if(_0xf4b1a){var _0x58336e=_0x2cdf9c()(this)[_0x872a9b(0x1a8)];_0x117b06=Reflect[_0x872a9b(0x28a)](_0x42966e,arguments,_0x58336e);}else _0x117b06=_0x42966e[_0x872a9b(0x214)](this,arguments);return _0x2654f9()(this,_0x117b06);};}var _0x483918=_0x18811e['layer']['BaseLayer'],_0x3a58a9=0x1000,_0x1a4882=0x64,_0x4e27b8=0.996,_0x1e5401=0.003,_0x10b511=0.01,_0x456ddf=0.5,_0x188341=0x2,_0x1be7bc=function(_0x4bf278){var _0x32512f=_0x1cfef6;_0x3901bb()(_0x4f4cf8,_0x4bf278);var _0x40ec2c=_0x19c602(_0x4f4cf8);function _0x4f4cf8(){var _0x557d55=a0_0x4400,_0x878e87,_0x72e3d6=arguments['length']>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};if(_0x1d12ba()(this,_0x4f4cf8),(_0x878e87=_0x40ec2c[_0x557d55(0x14b)](this,_0x72e3d6))['maxParticles']=_0x3a58a9,_0x878e87[_0x557d55(0x1ae)]=_0x1a4882,_0x878e87[_0x557d55(0x1b6)]=_0x4e27b8,_0x878e87[_0x557d55(0x142)]=_0x1e5401,_0x878e87[_0x557d55(0x2b0)]=_0x10b511,_0x878e87[_0x557d55(0x1a5)]=_0x456ddf,_0x878e87[_0x557d55(0x1df)]=_0x188341,_0x72e3d6){for(var _0x2354d9 in _0x72e3d6)_0x878e87[_0x2354d9]=_0x72e3d6[_0x2354d9];}return _0x878e87;}return _0x27ad1f()(_0x4f4cf8,[{'key':_0x32512f(0x2ac),'get':function(){var _0x29accf=_0x32512f;return this[_0x29accf(0x188)];}},{'key':_0x32512f(0x25f),'value':function(){}},{'key':'_addedHook','value':function(){var _0x3fec3c=_0x32512f;this[_0x3fec3c(0x154)]=this[_0x3fec3c(0x18f)][_0x3fec3c(0x154)],this[_0x3fec3c(0x146)]=this[_0x3fec3c(0x18f)][_0x3fec3c(0x146)],this[_0x3fec3c(0x188)]=new _0xd8b266['PrimitiveCollection'](),this['_map'][_0x3fec3c(0x154)][_0x3fec3c(0x188)][_0x3fec3c(0x2a0)](this['primitives']),this[_0x3fec3c(0x24e)]={'lonRange':new _0xd8b266[(_0x3fec3c(0x2aa))](),'latRange':new _0xd8b266['Cartesian2'](),'pixelSize':0x0},this[_0x3fec3c(0x195)]=new _0xd8b266[(_0x3fec3c(0x143))](_0xd8b266['Cartesian3'][_0x3fec3c(0x29a)],6314355.63),this[_0x3fec3c(0x221)](),window[_0x3fec3c(0x181)](_0x3fec3c(0x241),this[_0x3fec3c(0x241)][_0x3fec3c(0x1e6)](this),!0x1),this['mouse_down']=!0x1,this[_0x3fec3c(0x192)]=!0x1,this[_0x3fec3c(0x18f)]['on'](_0x18811e[_0x3fec3c(0x1f3)][_0x3fec3c(0x277)],this[_0x3fec3c(0x19a)],this),this['_map']['on'](_0x18811e[_0x3fec3c(0x1f3)][_0x3fec3c(0x291)],this[_0x3fec3c(0x2a9)],this),this[_0x3fec3c(0x18f)]['on'](_0x18811e[_0x3fec3c(0x1f3)]['mouseUp'],this[_0x3fec3c(0x19e)],this),this['_map']['on'](_0x18811e[_0x3fec3c(0x1f3)][_0x3fec3c(0x1e9)],this['_onMouseMoveEvent'],this);}},{'key':_0x32512f(0x203),'value':function(){var _0x531057=_0x32512f;window[_0x531057(0x1d7)](_0x531057(0x241),this['resize']),this[_0x531057(0x18f)][_0x531057(0x274)](_0x18811e['EventType'][_0x531057(0x22e)],this[_0x531057(0x184)],this),this[_0x531057(0x18f)][_0x531057(0x274)](_0x18811e[_0x531057(0x1f3)][_0x531057(0x277)],this[_0x531057(0x19a)],this),this[_0x531057(0x18f)][_0x531057(0x274)](_0x18811e[_0x531057(0x1f3)][_0x531057(0x291)],this[_0x531057(0x2a9)],this),this[_0x531057(0x18f)][_0x531057(0x274)](_0x18811e['EventType'][_0x531057(0x191)],this[_0x531057(0x19e)],this),this[_0x531057(0x18f)][_0x531057(0x274)](_0x18811e[_0x531057(0x1f3)][_0x531057(0x1e9)],this['_onMouseMoveEvent'],this),this[_0x531057(0x188)][_0x531057(0x212)](),this[_0x531057(0x18f)][_0x531057(0x154)][_0x531057(0x188)][_0x531057(0x1f8)](this['primitives']);}},{'key':'resize','value':function(){var _0x305370=_0x32512f;this[_0x305370(0x1de)]&&this['particleSystem']&&(this[_0x305370(0x188)][_0x305370(0x1de)]=!0x1,this[_0x305370(0x188)][_0x305370(0x212)](),this[_0x305370(0x18f)][_0x305370(0x1b3)](_0x18811e[_0x305370(0x1f3)][_0x305370(0x22e)],this['_onMap_preRenderEvent'],this));}},{'key':_0x32512f(0x184),'value':function(_0x4ca44b){var _0x1c81b8=_0x32512f;this['particleSystem'][_0x1c81b8(0x25c)](this['scene'][_0x1c81b8(0x224)]),this[_0x1c81b8(0x23d)](),this['primitives']['show']=!0x0;}},{'key':_0x32512f(0x19a),'value':function(_0x1daaa2){var _0x45034a=_0x32512f,_0x3348af=this;clearTimeout(this[_0x45034a(0x26f)]),this[_0x45034a(0x1de)]&&this['particleSystem']&&(this[_0x45034a(0x188)][_0x45034a(0x1de)]=!0x1,this['refreshTimer']=setTimeout(function(){var _0x6de896=_0x45034a;_0x3348af[_0x6de896(0x1de)]&&_0x3348af['redraw']();},0xc8));}},{'key':_0x32512f(0x2a9),'value':function(_0x3d5621){var _0x244f37=_0x32512f;this[_0x244f37(0x237)]=!0x0;}},{'key':_0x32512f(0x265),'value':function(_0x1c0492){var _0x2bd55c=_0x32512f;this['show']&&this[_0x2bd55c(0x1eb)]&&this[_0x2bd55c(0x237)]&&(this[_0x2bd55c(0x188)][_0x2bd55c(0x1de)]=!0x1,this[_0x2bd55c(0x192)]=!0x0);}},{'key':'_onMouseUpEvent','value':function(_0x418ce9){var _0x2718b3=_0x32512f;this[_0x2718b3(0x1de)]&&this['particleSystem']&&(this['mouse_down']&&this[_0x2718b3(0x192)]&&this['redraw'](),this[_0x2718b3(0x188)][_0x2718b3(0x1de)]=!0x0,this[_0x2718b3(0x237)]=!0x1,this['mouse_move']=!0x1);}},{'key':_0x32512f(0x213),'value':function(){var _0x30bb2a=_0x32512f;this[_0x30bb2a(0x18f)]&&this['show']&&(this['updateViewerParameters'](),this[_0x30bb2a(0x1eb)][_0x30bb2a(0x1be)](this[_0x30bb2a(0x24e)]),this[_0x30bb2a(0x188)][_0x30bb2a(0x1de)]=!0x0);}},{'key':_0x32512f(0x16e),'value':function(_0x5b9361){var _0x3a9d1b=_0x32512f;this[_0x3a9d1b(0x1eb)]=new _0x4be1cf(this[_0x3a9d1b(0x154)][_0x3a9d1b(0x224)],_0x5b9361,this[_0x3a9d1b(0x257)](),this[_0x3a9d1b(0x24e)]),this[_0x3a9d1b(0x23d)]();}},{'key':_0x32512f(0x2a3),'value':function(_0x53e138){var _0x2b3334=_0x32512f;if(_0x53e138){for(var _0x28148b in _0x53e138)this[_0x28148b]=_0x53e138[_0x28148b];}return this[_0x2b3334(0x1eb)]&&this[_0x2b3334(0x1eb)][_0x2b3334(0x235)](this[_0x2b3334(0x257)]()),this;}},{'key':_0x32512f(0x257),'value':function(){var _0x1acb15=_0x32512f,_0x107d02=Math[_0x1acb15(0x15e)](Math[_0x1acb15(0x236)](this['maxParticles']));return this[_0x1acb15(0x223)]=_0x107d02*_0x107d02,{'particlesTextureSize':_0x107d02,'maxParticles':this['maxParticles'],'particleHeight':this[_0x1acb15(0x1ae)],'fadeOpacity':this[_0x1acb15(0x1b6)],'dropRate':this[_0x1acb15(0x142)],'dropRateBump':this['dropRateBump'],'speedFactor':this[_0x1acb15(0x1a5)],'lineWidth':this[_0x1acb15(0x1df)],'globeLayer':this[_0x1acb15(0x2b1)],'WMS_URL':this['WMS_URL']};}},{'key':_0x32512f(0x23d),'value':function(){var _0x140416=_0x32512f;this[_0x140416(0x188)]['add'](this['particleSystem'][_0x140416(0x1a3)][_0x140416(0x188)]['getWind']),this[_0x140416(0x188)][_0x140416(0x2a0)](this[_0x140416(0x1eb)][_0x140416(0x1a3)][_0x140416(0x188)][_0x140416(0x19c)]),this[_0x140416(0x188)][_0x140416(0x2a0)](this[_0x140416(0x1eb)][_0x140416(0x1a3)][_0x140416(0x188)]['updatePosition']),this[_0x140416(0x188)][_0x140416(0x2a0)](this['particleSystem'][_0x140416(0x1a3)][_0x140416(0x188)][_0x140416(0x19d)]),this[_0x140416(0x188)][_0x140416(0x2a0)](this[_0x140416(0x1eb)][_0x140416(0x1a3)]['primitives'][_0x140416(0x25e)]),this['primitives'][_0x140416(0x2a0)](this[_0x140416(0x1eb)]['particlesRendering'][_0x140416(0x188)]['segments']),this[_0x140416(0x188)][_0x140416(0x2a0)](this[_0x140416(0x1eb)][_0x140416(0x167)][_0x140416(0x188)][_0x140416(0x21f)]),this[_0x140416(0x188)][_0x140416(0x2a0)](this[_0x140416(0x1eb)][_0x140416(0x167)][_0x140416(0x188)][_0x140416(0x14a)]);}},{'key':_0x32512f(0x221),'value':function(){var _0x55c8f7=_0x32512f,_0x1f032d=this[_0x55c8f7(0x146)][_0x55c8f7(0x26c)](this[_0x55c8f7(0x154)][_0x55c8f7(0x1c7)]['ellipsoid']);if(!_0x1f032d){var _0x2d16c5=this[_0x55c8f7(0x18f)]['getExtent']();_0x1f032d=_0xd8b266[_0x55c8f7(0x18c)][_0x55c8f7(0x20e)](_0x2d16c5['xmin'],_0x2d16c5['ymin'],_0x2d16c5[_0x55c8f7(0x200)],_0x2d16c5[_0x55c8f7(0x1d0)]);}var _0x2535b0=_0x1173bc[_0x55c8f7(0x29d)](_0x1f032d);this[_0x55c8f7(0x24e)]['lonRange']['x']=_0x2535b0[_0x55c8f7(0x258)][_0x55c8f7(0x144)],this[_0x55c8f7(0x24e)][_0x55c8f7(0x1b4)]['y']=_0x2535b0[_0x55c8f7(0x258)]['max'],this[_0x55c8f7(0x24e)][_0x55c8f7(0x22f)]['x']=_0x2535b0[_0x55c8f7(0x1fa)][_0x55c8f7(0x144)],this['viewerParameters'][_0x55c8f7(0x22f)]['y']=_0x2535b0[_0x55c8f7(0x1fa)][_0x55c8f7(0x23b)];var _0x59adbe=this[_0x55c8f7(0x146)][_0x55c8f7(0x177)](this['globeBoundingSphere'],this[_0x55c8f7(0x154)]['drawingBufferWidth'],this[_0x55c8f7(0x154)][_0x55c8f7(0x1f9)]);_0x59adbe>0x0&&(this[_0x55c8f7(0x24e)][_0x55c8f7(0x238)]=_0x59adbe);}}]),_0x4f4cf8;}(_0x483918);_0x18811e['LayerUtil'][_0x1cfef6(0x298)](_0x1cfef6(0x149),_0x1be7bc),_0x18811e[_0x1cfef6(0x2ac)]['WindLayer']=_0x1be7bc;var _0x2d99ff=_0x27ad1f()(function _0x3ce2e5(){var _0x360a2d=_0x1cfef6;_0x1d12ba()(this,_0x3ce2e5),this[_0x360a2d(0x2b4)]=null,this[_0x360a2d(0x1fa)]=null,this[_0x360a2d(0x290)]=null,this[_0x360a2d(0x279)]=null,this[_0x360a2d(0x288)]=null;}),_0x52e90d=(function(){var _0x3acccf=_0x1cfef6;function _0x15519f(_0x1ff144,_0xf7c674){var _0x472602=a0_0x4400;_0x1d12ba()(this,_0x15519f),this[_0x472602(0x1e4)]=_0x1ff144['rows'],this[_0x472602(0x281)]=_0x1ff144[_0x472602(0x281)],this[_0x472602(0x201)]=_0x1ff144[_0x472602(0x201)],this[_0x472602(0x200)]=_0x1ff144[_0x472602(0x200)],this[_0x472602(0x16b)]=_0x1ff144[_0x472602(0x16b)],this['ymax']=_0x1ff144[_0x472602(0x1d0)],this['grid']=[];var _0x146db6=_0x1ff144[_0x472602(0x14c)],_0x564d80=_0x1ff144['vdata'],_0x41ad24=!0x1;_0x146db6['length']===this[_0x472602(0x1e4)]&&_0x146db6[0x0][_0x472602(0x29c)]===this[_0x472602(0x281)]&&(_0x41ad24=!0x0);for(var _0x253af0=0x0,_0x85fa1f=null,_0x18aadf=null,_0x5afa85=0x0;_0x5afa85<this['rows'];_0x5afa85++){_0x85fa1f=[];for(var _0xc1d2fd=0x0;_0xc1d2fd<this[_0x472602(0x281)];_0xc1d2fd++,_0x253af0++)_0x18aadf=_0x41ad24?this[_0x472602(0x249)](_0x146db6[_0x5afa85][_0xc1d2fd],_0x564d80[_0x5afa85][_0xc1d2fd]):this[_0x472602(0x249)](_0x146db6[_0x253af0],_0x564d80[_0x253af0]),_0x85fa1f[_0x472602(0x1fe)](_0x18aadf);this[_0x472602(0x295)][_0x472602(0x1fe)](_0x85fa1f);}_0xf7c674&&this[_0x472602(0x295)][_0x472602(0x28d)]();}return _0x27ad1f()(_0x15519f,[{'key':_0x3acccf(0x1bb),'value':function(_0x3d6002,_0x25762f){var _0xbc609=_0x3acccf;return{'x':(_0x3d6002-this[_0xbc609(0x201)])/(this['xmax']-this[_0xbc609(0x201)])*(this[_0xbc609(0x281)]-0x1),'y':(this[_0xbc609(0x1d0)]-_0x25762f)/(this[_0xbc609(0x1d0)]-this[_0xbc609(0x16b)])*(this['rows']-0x1)};}},{'key':_0x3acccf(0x217),'value':function(_0x3031cd,_0x14d6f0){var _0x4ea51e=_0x3acccf;if(_0x3031cd<0x0||_0x3031cd>=this['cols']||_0x14d6f0>=this[_0x4ea51e(0x1e4)])return[0x0,0x0,0x0];var _0x374f6e,_0x39cd3f,_0x2b10ed=Math[_0x4ea51e(0x17e)](_0x3031cd),_0x4e2073=Math[_0x4ea51e(0x17e)](_0x14d6f0);if(_0x2b10ed===_0x3031cd&&_0x4e2073===_0x14d6f0)return this[_0x4ea51e(0x295)][_0x14d6f0][_0x3031cd];_0x374f6e=_0x2b10ed+0x1,_0x39cd3f=_0x4e2073+0x1;var _0x7bf29=this[_0x4ea51e(0x217)](_0x2b10ed,_0x4e2073),_0x20af08=this['getUVByXY'](_0x374f6e,_0x4e2073),_0x5490f9=this[_0x4ea51e(0x217)](_0x2b10ed,_0x39cd3f),_0x2c8adc=this['getUVByXY'](_0x374f6e,_0x39cd3f),_0x1f0f14=null;try{_0x1f0f14=this['_bilinearInterpolation'](_0x3031cd-_0x2b10ed,_0x14d6f0-_0x4e2073,_0x7bf29,_0x20af08,_0x5490f9,_0x2c8adc);}catch(_0x15c4c4){console['log'](_0x3031cd,_0x14d6f0);}return _0x1f0f14;}},{'key':'_bilinearInterpolation','value':function(_0x282eae,_0x224697,_0x52fc63,_0x4d250e,_0x5291e8,_0x2cc354){var _0x3aa962=_0x3acccf,_0x4ea728=0x1-_0x282eae,_0x2e29d7=0x1-_0x224697,_0x398d05=_0x4ea728*_0x2e29d7,_0x420cb3=_0x282eae*_0x2e29d7,_0x4ca04b=_0x4ea728*_0x224697,_0xe81f4f=_0x282eae*_0x224697,_0x3f06e6=_0x52fc63[0x0]*_0x398d05+_0x4d250e[0x0]*_0x420cb3+_0x5291e8[0x0]*_0x4ca04b+_0x2cc354[0x0]*_0xe81f4f,_0x5e46a7=_0x52fc63[0x1]*_0x398d05+_0x4d250e[0x1]*_0x420cb3+_0x5291e8[0x1]*_0x4ca04b+_0x2cc354[0x1]*_0xe81f4f;return this[_0x3aa962(0x249)](_0x3f06e6,_0x5e46a7);}},{'key':_0x3acccf(0x249),'value':function(_0x17489e,_0x2123dd){return[+_0x17489e,+_0x2123dd,Math['sqrt'](_0x17489e*_0x17489e+_0x2123dd*_0x2123dd)];}},{'key':_0x3acccf(0x158),'value':function(_0xccf418,_0x41cd96){var _0x39fb0e=_0x3acccf;if(!this[_0x39fb0e(0x25a)](_0xccf418,_0x41cd96))return null;var _0x3a55d6=this['toGridXY'](_0xccf418,_0x41cd96);return this[_0x39fb0e(0x217)](_0x3a55d6['x'],_0x3a55d6['y']);}},{'key':_0x3acccf(0x25a),'value':function(_0x3fc044,_0xee66ca){var _0x46ff5a=_0x3acccf;return _0x3fc044>=this[_0x46ff5a(0x201)]&&_0x3fc044<=this[_0x46ff5a(0x200)]&&_0xee66ca>=this['ymin']&&_0xee66ca<=this[_0x46ff5a(0x1d0)];}},{'key':_0x3acccf(0x2ab),'value':function(){var _0x54b8fe=_0x3acccf,_0x29ed52=_0x3b2fec(this[_0x54b8fe(0x201)],this[_0x54b8fe(0x200)]);return{'lat':_0x3b2fec(this[_0x54b8fe(0x16b)],this[_0x54b8fe(0x1d0)]),'lng':_0x29ed52};}}]),_0x15519f;}());function _0x3b2fec(_0x154d09,_0x942568){var _0x228eaf=_0x1cfef6;return _0x154d09+Math[_0x228eaf(0x229)]()*(_0x942568-_0x154d09);}function _0x2a979d(_0xfa422){var _0x54821=(function(){var _0x32c5e3=a0_0x4400;if(_0x32c5e3(0x23e)==typeof Reflect||!Reflect['construct'])return!0x1;if(Reflect[_0x32c5e3(0x28a)][_0x32c5e3(0x164)])return!0x1;if(_0x32c5e3(0x16a)==typeof Proxy)return!0x0;try{return Boolean[_0x32c5e3(0x1e3)]['valueOf'][_0x32c5e3(0x14b)](Reflect[_0x32c5e3(0x28a)](Boolean,[],function(){})),!0x0;}catch(_0x584f94){return!0x1;}}());return function(){var _0x158614=a0_0x4400,_0x504745,_0x1c59df=_0x2cdf9c()(_0xfa422);if(_0x54821){var _0x58d519=_0x2cdf9c()(this)[_0x158614(0x1a8)];_0x504745=Reflect[_0x158614(0x28a)](_0x1c59df,arguments,_0x58d519);}else _0x504745=_0x1c59df[_0x158614(0x214)](this,arguments);return _0x2654f9()(this,_0x504745);};}var _0x39089f=function(_0x1628e8){var _0x4e12d7=_0x1cfef6;_0x3901bb()(_0x4493ed,_0x1628e8);var _0x56c03b=_0x2a979d(_0x4493ed);function _0x4493ed(){var _0x51c8f6=a0_0x4400,_0x4dfe82,_0x3004ec=arguments[_0x51c8f6(0x29c)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x1d12ba()(this,_0x4493ed),(_0x4dfe82=_0x56c03b[_0x51c8f6(0x14b)](this,_0x3004ec))['calc_speedRate']=[0x0,0x0],_0x4dfe82[_0x51c8f6(0x284)]=[],_0x4dfe82[_0x51c8f6(0x1c1)]=_0x3004ec[_0x51c8f6(0x1c1)]||0x32,_0x4dfe82[_0x51c8f6(0x20f)]=_0x3004ec['particlesNumber']||0x4e20,_0x4dfe82[_0x51c8f6(0x23f)]=_0x3004ec[_0x51c8f6(0x1fb)]||0x78,_0x4dfe82[_0x51c8f6(0x232)]=0x3e8/(_0x3004ec[_0x51c8f6(0x1ec)]||0xa),_0x4dfe82[_0x51c8f6(0x256)]=_0xd8b266['defaultValue'](_0x4dfe82[_0x51c8f6(0x282)][_0x51c8f6(0x15d)],!0x1),_0x4dfe82[_0x51c8f6(0x243)]=_0x3004ec[_0x51c8f6(0x243)]||_0x51c8f6(0x29e),_0x4dfe82[_0x51c8f6(0x1df)]=_0x3004ec[_0x51c8f6(0x1df)]||0x1,_0x4dfe82[_0x51c8f6(0x27c)]=_0xd8b266['defaultValue'](_0x3004ec['fixedHeight'],0x0),_0x4dfe82[_0x51c8f6(0x269)]=_0xd8b266[_0x51c8f6(0x20c)](_0x3004ec[_0x51c8f6(0x269)],!0x1),_0x4dfe82[_0x51c8f6(0x248)]=null,_0x4dfe82;}return _0x27ad1f()(_0x4493ed,[{'key':_0x4e12d7(0x2ac),'get':function(){var _0x436aee=_0x4e12d7;return this[_0x436aee(0x248)];}},{'key':_0x4e12d7(0x293),'get':function(){var _0x1fa390=_0x4e12d7;return this['_map']['scene'][_0x1fa390(0x248)][_0x1fa390(0x1e5)];}},{'key':_0x4e12d7(0x253),'get':function(){var _0x573ac4=_0x4e12d7;return this[_0x573ac4(0x18f)][_0x573ac4(0x154)][_0x573ac4(0x248)]['clientHeight'];}},{'key':_0x4e12d7(0x15d),'get':function(){return this['_pointerEvents'];},'set':function(_0x26d629){var _0x1224a4=_0x4e12d7;this['_pointerEvents']=_0x26d629,this['canvas']&&(this[_0x1224a4(0x248)][_0x1224a4(0x206)][_0x1224a4(0x199)]=_0x26d629?_0x1224a4(0x1f6):_0x1224a4(0x245));}},{'key':_0x4e12d7(0x1c1),'get':function(){return this['_speedRate'];},'set':function(_0x2eedd9){var _0x211f4b=_0x4e12d7;this['_speedRate']=0x64*(0x64-(_0x2eedd9>0x63?0x63:_0x2eedd9)),this[_0x211f4b(0x1f5)]();}},{'key':'particlesNumber','get':function(){return this['_particlesNumber'];},'set':function(_0x4495a2){var _0x369463=_0x4e12d7,_0x484ce7=this;this[_0x369463(0x20f)]=_0x4495a2,clearTimeout(this['canrefresh']),this[_0x369463(0x1f0)]=setTimeout(function(){var _0x5a59c1=_0x369463;_0x484ce7[_0x5a59c1(0x213)]();},0x1f4);}},{'key':_0x4e12d7(0x1fb),'get':function(){return this['_maxAge'];},'set':function(_0x3f2225){var _0x4a9e62=_0x4e12d7,_0xecf93a=this;this[_0x4a9e62(0x23f)]=_0x3f2225,clearTimeout(this[_0x4a9e62(0x1f0)]),this[_0x4a9e62(0x1f0)]=setTimeout(function(){var _0x1e6901=_0x4a9e62;_0xecf93a[_0x1e6901(0x213)]();},0x1f4);}},{'key':_0x4e12d7(0x1a4),'get':function(){return this['windData'];},'set':function(_0x44fa9e){var _0x52361a=_0x4e12d7;this[_0x52361a(0x276)](_0x44fa9e);}},{'key':_0x4e12d7(0x280),'value':function(_0x31e983){var _0x5a3683=_0x4e12d7;_0x31e983?this[_0x5a3683(0x266)]():(this[_0x5a3683(0x28e)]&&(this['options'][_0x5a3683(0x1a4)]=this[_0x5a3683(0x28e)]),this[_0x5a3683(0x203)]());}},{'key':_0x4e12d7(0x25f),'value':function(){}},{'key':_0x4e12d7(0x266),'value':function(){var _0x586f03=_0x4e12d7;this['canvas']=this[_0x586f03(0x1f1)](),this[_0x586f03(0x25d)]=this['canvas'][_0x586f03(0x204)]('2d'),this[_0x586f03(0x1c5)](),this[_0x586f03(0x282)][_0x586f03(0x1a4)]&&this[_0x586f03(0x276)](this[_0x586f03(0x282)][_0x586f03(0x1a4)]);}},{'key':_0x4e12d7(0x203),'value':function(){var _0x5c0077=_0x4e12d7;this[_0x5c0077(0x1cd)](),this[_0x5c0077(0x28b)](),this[_0x5c0077(0x248)]&&(this['_map'][_0x5c0077(0x2b3)][_0x5c0077(0x268)](this[_0x5c0077(0x248)]),delete this[_0x5c0077(0x248)]);}},{'key':'_createCanvas','value':function(){var _0x6513f7=_0x4e12d7,_0x137c0e=document[_0x6513f7(0x211)]('canvas');_0x137c0e['style'][_0x6513f7(0x1d2)]=_0x6513f7(0x230),_0x137c0e[_0x6513f7(0x206)][_0x6513f7(0x207)]=_0x6513f7(0x155),_0x137c0e['style'][_0x6513f7(0x1aa)]=_0x6513f7(0x155),_0x137c0e['style']['width']=_0x6513f7(0x1fc),_0x137c0e['style'][_0x6513f7(0x27a)]='100%',_0x137c0e[_0x6513f7(0x206)]['pointerEvents']=this[_0x6513f7(0x256)]?_0x6513f7(0x202):_0x6513f7(0x245),_0x137c0e[_0x6513f7(0x206)][_0x6513f7(0x1b0)]=0xa,_0x137c0e[_0x6513f7(0x2a4)]('id',_0x6513f7(0x1e7)),_0x137c0e[_0x6513f7(0x2a4)](_0x6513f7(0x251),'canvasWindy'),this['_map']['container'][_0x6513f7(0x1a0)](_0x137c0e);var _0x1ee05c=this[_0x6513f7(0x18f)][_0x6513f7(0x154)];return _0x137c0e['width']=_0x1ee05c['canvas'][_0x6513f7(0x1e5)],_0x137c0e[_0x6513f7(0x27a)]=_0x1ee05c[_0x6513f7(0x248)][_0x6513f7(0x2a1)],_0x137c0e;}},{'key':'resize','value':function(){var _0x165b19=_0x4e12d7;this[_0x165b19(0x248)]&&(this[_0x165b19(0x248)][_0x165b19(0x166)]=this[_0x165b19(0x293)],this[_0x165b19(0x248)][_0x165b19(0x27a)]=this['canvasHeight']);}},{'key':_0x4e12d7(0x1c5),'value':function(){var _0x4a70ba=_0x4e12d7,_0x5c46e7=this,_0x2ddeff=Date[_0x4a70ba(0x1c8)]();!function _0x3a977c(){var _0x427bcc=_0x4a70ba;_0x5c46e7['animateFrame']=window[_0x427bcc(0x226)](_0x3a977c);var _0x469124=Date[_0x427bcc(0x1c8)](),_0x2ce5cf=_0x469124-_0x2ddeff;_0x2ce5cf>_0x5c46e7[_0x427bcc(0x232)]&&(_0x2ddeff=_0x469124-_0x2ce5cf%_0x5c46e7[_0x427bcc(0x232)],_0x5c46e7[_0x427bcc(0x187)]());}(),window[_0x4a70ba(0x181)](_0x4a70ba(0x241),this[_0x4a70ba(0x241)][_0x4a70ba(0x1e6)](this),!0x1),this[_0x4a70ba(0x237)]=!0x1,this[_0x4a70ba(0x192)]=!0x1,this[_0x4a70ba(0x18f)]['on'](_0x18811e['EventType'][_0x4a70ba(0x277)],this[_0x4a70ba(0x19a)],this),this[_0x4a70ba(0x18f)]['on'](_0x18811e['EventType'][_0x4a70ba(0x291)],this[_0x4a70ba(0x2a9)],this),this['_map']['on'](_0x18811e[_0x4a70ba(0x1f3)][_0x4a70ba(0x191)],this[_0x4a70ba(0x19e)],this),this[_0x4a70ba(0x18f)]['on'](_0x18811e[_0x4a70ba(0x1f3)][_0x4a70ba(0x1e9)],this[_0x4a70ba(0x265)],this);}},{'key':_0x4e12d7(0x28b),'value':function(){var _0x41117a=_0x4e12d7;window['cancelAnimationFrame'](this['animateFrame']),delete this[_0x41117a(0x1f7)],window['removeEventListener'](_0x41117a(0x241),this['resize']),this[_0x41117a(0x18f)][_0x41117a(0x274)](_0x18811e['EventType'][_0x41117a(0x277)],this[_0x41117a(0x19a)],this),this['_map']['off'](_0x18811e[_0x41117a(0x1f3)][_0x41117a(0x291)],this['_onMouseDownEvent'],this),this[_0x41117a(0x18f)][_0x41117a(0x274)](_0x18811e[_0x41117a(0x1f3)][_0x41117a(0x191)],this[_0x41117a(0x19e)],this),this[_0x41117a(0x18f)][_0x41117a(0x274)](_0x18811e['EventType'][_0x41117a(0x1e9)],this[_0x41117a(0x265)],this);}},{'key':_0x4e12d7(0x19a),'value':function(_0x387a9c){var _0x2839af=_0x4e12d7,_0x181c3a=this;clearTimeout(this[_0x2839af(0x26f)]),this[_0x2839af(0x1de)]&&this['canvas']&&(this[_0x2839af(0x248)][_0x2839af(0x206)]['visibility']=_0x2839af(0x178),this[_0x2839af(0x26f)]=setTimeout(function(){var _0x17fe45=_0x2839af;_0x181c3a[_0x17fe45(0x1de)]&&(_0x181c3a[_0x17fe45(0x213)](),_0x181c3a[_0x17fe45(0x248)][_0x17fe45(0x206)][_0x17fe45(0x148)]=_0x17fe45(0x270));},0xc8));}},{'key':'_onMouseDownEvent','value':function(_0x40ba7d){this['mouse_down']=!0x0;}},{'key':_0x4e12d7(0x265),'value':function(_0x3ff1b2){var _0x1da496=_0x4e12d7;this['show']&&this[_0x1da496(0x248)]&&this[_0x1da496(0x237)]&&(this['canvas'][_0x1da496(0x206)][_0x1da496(0x148)]=_0x1da496(0x178),this['mouse_move']=!0x0);}},{'key':'_onMouseUpEvent','value':function(_0x3297f2){var _0x2eea57=_0x4e12d7;this[_0x2eea57(0x1de)]&&this[_0x2eea57(0x248)]&&(this[_0x2eea57(0x237)]&&this[_0x2eea57(0x192)]&&this[_0x2eea57(0x213)](),this[_0x2eea57(0x248)][_0x2eea57(0x206)][_0x2eea57(0x148)]='visible',this[_0x2eea57(0x237)]=!0x1,this['mouse_move']=!0x1);}},{'key':'redraw','value':function(){var _0x49a99e=_0x4e12d7;this[_0x49a99e(0x1de)]&&this['windField']&&(this[_0x49a99e(0x284)]=[],this[_0x49a99e(0x27e)]());}},{'key':_0x4e12d7(0x276),'value':function(_0xbcac49){var _0x4c698e=_0x4e12d7;this[_0x4c698e(0x1cd)](),this[_0x4c698e(0x28e)]=_0xbcac49,this['windField']=new _0x52e90d(this[_0x4c698e(0x28e)],this['reverseY']),this[_0x4c698e(0x27e)]();}},{'key':_0x4e12d7(0x27e),'value':function(){var _0x303595=_0x4e12d7;this['_calcStep']();for(var _0x44c783=0x0;_0x44c783<this[_0x303595(0x297)];_0x44c783++){var _0x42b195=this[_0x303595(0x160)](new _0x2d99ff());this['particles'][_0x303595(0x1fe)](_0x42b195);}this[_0x303595(0x25d)][_0x303595(0x24d)]=_0x303595(0x1f2),this[_0x303595(0x25d)][_0x303595(0x234)]=0.6,this[_0x303595(0x187)]();}},{'key':_0x4e12d7(0x1f5),'value':function(){var _0x12ce4b=_0x4e12d7;this[_0x12ce4b(0x1cb)]&&(this[_0x12ce4b(0x219)]=[(this[_0x12ce4b(0x1cb)]['xmax']-this[_0x12ce4b(0x1cb)]['xmin'])/this[_0x12ce4b(0x1c1)],(this[_0x12ce4b(0x1cb)][_0x12ce4b(0x1d0)]-this[_0x12ce4b(0x1cb)][_0x12ce4b(0x16b)])/this['speedRate']]);}},{'key':_0x4e12d7(0x187),'value':function(){var _0x198fa6=_0x4e12d7,_0x4afb3e=this;if(this['show']&&!(this[_0x198fa6(0x284)][_0x198fa6(0x29c)]<=0x0)){var _0x23ab0=null,_0xb8e668=null,_0x1daeee=null;this[_0x198fa6(0x284)][_0x198fa6(0x21e)](function(_0x5e7b79){var _0x40a9f8=_0x198fa6;if(_0x5e7b79[_0x40a9f8(0x288)]<=0x0&&_0x4afb3e[_0x40a9f8(0x160)](_0x5e7b79),_0x5e7b79[_0x40a9f8(0x288)]>0x0){var _0x58960a=_0x5e7b79[_0x40a9f8(0x290)],_0x33eb5a=_0x5e7b79['tlat'];(_0x1daeee=_0x4afb3e[_0x40a9f8(0x1cb)][_0x40a9f8(0x158)](_0x58960a,_0x33eb5a))?(_0x23ab0=_0x58960a+_0x4afb3e[_0x40a9f8(0x219)][0x0]*_0x1daeee[0x0],_0xb8e668=_0x33eb5a+_0x4afb3e[_0x40a9f8(0x219)][0x1]*_0x1daeee[0x1],_0x5e7b79[_0x40a9f8(0x2b4)]=_0x58960a,_0x5e7b79[_0x40a9f8(0x1fa)]=_0x33eb5a,_0x5e7b79['tlng']=_0x23ab0,_0x5e7b79[_0x40a9f8(0x279)]=_0xb8e668,_0x5e7b79[_0x40a9f8(0x288)]--):_0x5e7b79[_0x40a9f8(0x288)]=0x0;}}),this[_0x198fa6(0x171)]();}}},{'key':'_tomap','value':function(_0x24bbb7,_0x2bfc85,_0x564b17){var _0x5be010=_0x4e12d7,_0x4e2c23=_0xd8b266['Cartesian3'][_0x5be010(0x20e)](_0x24bbb7,_0x2bfc85,this['fixedHeight']),_0x4f35d6=this['_map'][_0x5be010(0x154)];if(_0x4f35d6[_0x5be010(0x244)]===_0xd8b266['SceneMode'][_0x5be010(0x183)]&&!new _0xd8b266[(_0x5be010(0x20b))](_0x4f35d6[_0x5be010(0x1c7)]['ellipsoid'],_0x4f35d6['camera']['positionWC'])[_0x5be010(0x13c)](_0x4e2c23))return _0x564b17['age']=0x0,null;var _0x6670fe=_0xd8b266['SceneTransforms'][_0x5be010(0x1c3)](this['_map']['scene'],_0x4e2c23);return _0x6670fe?[_0x6670fe['x'],_0x6670fe['y']]:null;}},{'key':_0x4e12d7(0x171),'value':function(){var _0x49f0f1=_0x4e12d7,_0x4ae9b8=this,_0x1b41ba=this[_0x49f0f1(0x284)];this[_0x49f0f1(0x25d)][_0x49f0f1(0x1df)]=_0x4ae9b8[_0x49f0f1(0x1df)],this[_0x49f0f1(0x25d)][_0x49f0f1(0x17a)]=_0x49f0f1(0x2a7),this[_0x49f0f1(0x25d)][_0x49f0f1(0x1d3)](0x0,0x0,this[_0x49f0f1(0x293)],this[_0x49f0f1(0x253)]),this[_0x49f0f1(0x25d)]['globalCompositeOperation']='lighter',this[_0x49f0f1(0x25d)]['globalAlpha']=0.9,this[_0x49f0f1(0x25d)][_0x49f0f1(0x2ad)](),this[_0x49f0f1(0x25d)][_0x49f0f1(0x15b)]=this['color'];var _0xc60ded=this[_0x49f0f1(0x18f)][_0x49f0f1(0x154)]['mode']!==_0xd8b266['SceneMode'][_0x49f0f1(0x183)];_0x1b41ba[_0x49f0f1(0x21e)](function(_0x1ec47d){var _0xc6fe9a=_0x49f0f1,_0x206678=_0x4ae9b8[_0xc6fe9a(0x28f)](_0x1ec47d[_0xc6fe9a(0x2b4)],_0x1ec47d[_0xc6fe9a(0x1fa)],_0x1ec47d),_0x56b8cb=_0x4ae9b8[_0xc6fe9a(0x28f)](_0x1ec47d['tlng'],_0x1ec47d['tlat'],_0x1ec47d);if(null!=_0x206678&&null!=_0x56b8cb){var _0x1cd6de=Math['abs'](_0x206678[0x0]-_0x56b8cb[0x0]);_0xc60ded&&_0x1cd6de>=_0x4ae9b8[_0xc6fe9a(0x293)]||(_0x4ae9b8[_0xc6fe9a(0x25d)][_0xc6fe9a(0x17d)](_0x206678[0x0],_0x206678[0x1]),_0x4ae9b8[_0xc6fe9a(0x25d)][_0xc6fe9a(0x275)](_0x56b8cb[0x0],_0x56b8cb[0x1]));}}),this[_0x49f0f1(0x25d)][_0x49f0f1(0x193)]();}},{'key':_0x4e12d7(0x160),'value':function(_0x1033b1){var _0x1461d2=_0x4e12d7;for(var _0xb6f762,_0x1ee8d,_0x1266b7=0x0;_0x1266b7<0x1e&&(_0xb6f762=this[_0x1461d2(0x1cb)][_0x1461d2(0x2ab)](),!((_0x1ee8d=this[_0x1461d2(0x1cb)]['getUVByPoint'](_0xb6f762[_0x1461d2(0x2b4)],_0xb6f762[_0x1461d2(0x1fa)]))&&_0x1ee8d[0x2]>0x0));_0x1266b7++);if(!_0x1ee8d)return _0x1033b1;var _0x56baa8=_0xb6f762['lng']+this[_0x1461d2(0x219)][0x0]*_0x1ee8d[0x0],_0x178547=_0xb6f762['lat']+this[_0x1461d2(0x219)][0x1]*_0x1ee8d[0x1];return _0x1033b1['lng']=_0xb6f762[_0x1461d2(0x2b4)],_0x1033b1[_0x1461d2(0x1fa)]=_0xb6f762['lat'],_0x1033b1[_0x1461d2(0x290)]=_0x56baa8,_0x1033b1[_0x1461d2(0x279)]=_0x178547,_0x1033b1[_0x1461d2(0x288)]=Math[_0x1461d2(0x150)](Math[_0x1461d2(0x229)]()*this[_0x1461d2(0x1fb)]),_0x1033b1;}},{'key':_0x4e12d7(0x1cd),'value':function(){var _0x41beb6=_0x4e12d7;this['particles']=[],delete this[_0x41beb6(0x1cb)],delete this['windData'];}}]),_0x4493ed;}(_0x18811e['layer'][_0x1cfef6(0x1ab)]);function _0x17c690(_0x57e303,_0x2cb4c0){var _0x2a7592=_0x1cfef6;return _0x57e303*Math[_0x2a7592(0x14d)](_0xd8b266['Math'][_0x2a7592(0x1d4)](_0x2cb4c0));}function _0x49f5a9(_0x3e9df0,_0x50953e){var _0x27d3c2=_0x1cfef6;return _0x3e9df0*Math[_0x27d3c2(0x16d)](_0xd8b266[_0x27d3c2(0x1cc)]['toRadians'](_0x50953e));}function _0xd2fb33(_0x45917a,_0x2ee0e2){var _0x338d20=_0x1cfef6;return Math[_0x338d20(0x236)](Math[_0x338d20(0x20d)](_0x45917a,0x2)+Math[_0x338d20(0x20d)](_0x2ee0e2,0x2));}function _0x4666c4(_0x4ae033,_0x3c1ddf){var _0x44e224=_0x1cfef6,_0x5b230b=_0xd8b266[_0x44e224(0x1cc)][_0x44e224(0x21d)](Math[_0x44e224(0x1bc)](_0x3c1ddf,_0x4ae033));return _0x5b230b+=_0x5b230b<0x0?0x168:0x0;}_0x18811e[_0x1cfef6(0x1ce)][_0x1cfef6(0x298)](_0x1cfef6(0x1c0),_0x39089f),_0x18811e[_0x1cfef6(0x2ac)][_0x1cfef6(0x24f)]=_0x39089f,_0x18811e[_0x1cfef6(0x259)]=_0x1eadea;}]));
31
31
 
32
32
  })(window);
33
33
 
package/package.json CHANGED
@@ -1,10 +1,13 @@
1
1
  {
2
2
  "name": "mars3d-wind",
3
- "version": "3.1.16",
3
+ "version": "3.1.18",
4
4
  "description": "Mars3D平台插件,支持气象 风向图 功能插件",
5
5
  "main": "dist/mars3d-wind.js",
6
+ "files": [
7
+ "dist"
8
+ ],
6
9
  "dependencies": {
7
- "mars3d": "^3.1.16",
10
+ "mars3d": "^3.1.18",
8
11
  "mars3d-cesium": "^1.88.0"
9
12
  },
10
13
  "devDependencies": {},
package/index.html DELETED
@@ -1,124 +0,0 @@
1
- <!DOCTYPE html>
2
- <html class="no-js css-menubar" lang="zh-cn">
3
-
4
- <head>
5
- <title> Mars3D三维地球 wind插件</title>
6
- <meta charset="utf-8">
7
- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
8
- <!-- 移动设备 viewport -->
9
- <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no,minimal-ui">
10
- <meta name="author" content="火星科技 http://mars3d.cn ">
11
- <!-- 360浏览器默认使用Webkit内核 -->
12
- <meta name="renderer" content="webkit">
13
- <!-- Chrome浏览器添加桌面快捷方式(安卓) -->
14
- <link rel="icon" type="image/png" href="img/favicon/favicon.png">
15
- <meta name="mobile-web-app-capable" content="yes">
16
- <!-- Safari浏览器添加到主屏幕(IOS) -->
17
- <link rel="icon" sizes="192x192" href="img/favicon/apple-touch-icon.png">
18
- <meta name="apple-mobile-web-app-capable" content="yes">
19
- <meta name="apple-mobile-web-app-status-bar-style" content="black">
20
- <meta name="apple-mobile-web-app-title" content="火星科技 MarsGIS">
21
- <!-- Win8标题栏及ICON图标 -->
22
- <link rel="apple-touch-icon-precomposed" href="img/favicon/apple-touch-icon.png">
23
- <meta name="msapplication-TileImage" content="img/favicon/app-icon72x72@2x.png">
24
- <meta name="msapplication-TileColor" content="#62a8ea">
25
-
26
-
27
- <!--引入基础lib-->
28
- <link href="https://cdn.jsdelivr.net/npm/mars3d-cesium/Build/Cesium/Widgets/widgets.css" rel="stylesheet" type="text/css" />
29
- <script src="https://cdn.jsdelivr.net/npm/mars3d-cesium/Build/Cesium/Cesium.js" type="text/javascript" ></script>
30
- <script src="https://unpkg.com/@turf/turf/turf.min.js" type="text/javascript" ></script>
31
- <script type="text/javascript" src="http://mars3d.cn/lib/jquery/jquery-2.1.4.min.js"></script>
32
- <script type="text/javascript" src="http://mars3d.cn/lib/hao/haoutil.js"></script>
33
-
34
- <!--引入mars3d库lib-->
35
- <link href="https://cdn.jsdelivr.net/npm/mars3d/dist/mars3d.css" rel="stylesheet" type="text/css" />
36
- <script src="https://cdn.jsdelivr.net/npm/mars3d/dist/mars3d.js" type="text/javascript" ></script>
37
-
38
-
39
- <script type="text/javascript" src="dist/mars3d-wind.js"></script>
40
-
41
- <style>
42
- html,
43
- body {
44
- height: 100%;
45
- width: 100%;
46
- margin: 0;
47
- padding: 0;
48
- border: none;
49
- overflow: hidden;
50
- font-size: 14px;
51
- background: #000;
52
- }
53
- </style>
54
- </head>
55
-
56
- <body>
57
- <div id="mars3dContainer" class="mars3d-container"></div>
58
-
59
- <!--业务代码-->
60
- <script type="text/javascript">
61
- //判断webgl支持
62
- if (!mars3d.Util.webglreport()) {
63
- mars3d.Util.webglerror()
64
- }
65
-
66
- //读取 config.json 配置文件
67
- var configUrl = 'http://mars3d.cn/example/config/config.json'
68
- mars3d.Resource.fetchJson({ url: configUrl }).then(function (json) {
69
- initMap(json.map3d)//构建地图
70
- })
71
-
72
- var map
73
-
74
- //创建三维地球场景
75
- function initMap(options) {
76
- //合并属性参数,可覆盖config.json中的对应配置
77
- let mapOptions = mars3d.Util.merge(options, {
78
- scene: {
79
- center: {
80
- y: 17.262069,
81
- x: 118.610529,
82
- z: 21466322.79,
83
- heading: 358.6,
84
- pitch: -88.5,
85
- roll: 0,
86
- },
87
- },
88
- })
89
-
90
- map = new mars3d.Map('mars3dContainer', mapOptions)
91
-
92
- map.basemap = 2017 //蓝色底图
93
-
94
- //风场
95
- var canvasWindLayer = new mars3d.layer.CanvasWindLayer({
96
- color: '#ffffff', //颜色
97
- frameRate: 20, //每秒刷新次数
98
- speedRate: 60, //风前进速率
99
- particlesNumber: 5000,
100
- maxAge: 120,
101
- lineWidth: 1,
102
- })
103
- map.addLayer(canvasWindLayer)
104
-
105
-
106
-
107
- $.ajax({
108
- type: 'get',
109
- url: 'http://data.mars3d.cn/file/apidemo/windyuv.json',
110
- dataType: 'json',
111
- success: function (res) {
112
- earthWindData = res
113
- canvasWindLayer.data = earthWindData
114
- },
115
- error: function (error) {
116
- console.log('请求数据失败!', error)
117
- },
118
- })
119
- }
120
-
121
- </script>
122
- </body>
123
-
124
- </html>