mars3d-wind 3.2.2 → 3.3.0
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/dist/mars3d-wind.js +12 -22
- package/package.json +13 -27
- package/LICENSE +0 -206
package/dist/mars3d-wind.js
CHANGED
|
@@ -1,24 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
* Mars3D
|
|
3
|
-
*
|
|
4
|
-
*
|
|
1
|
+
/**
|
|
2
|
+
* Mars3D三维可视化平台 mars3d-sdk
|
|
3
|
+
*
|
|
4
|
+
* 版本信息:v3.3.0
|
|
5
|
+
* 编译日期:2022-03-18 17:26:22
|
|
5
6
|
* 版权所有:Copyright by 火星科技 http://mars3d.cn
|
|
7
|
+
* 使用单位:免费公开版 ,2022-02-01
|
|
6
8
|
*/
|
|
7
|
-
(function
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
let mars3d = window.mars3d //通过index.html的head引入
|
|
12
|
-
|
|
13
|
-
mars3d = require("mars3d")
|
|
14
|
-
window['mars3d'] = mars3d
|
|
15
|
-
}
|
|
16
|
-
if (!mars3d) {
|
|
17
|
-
console.error('请引入mars3d库,可参考教程:http://mars3d.cn/dev/guide/basics/import.html')
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
function a0_0x3604(_0x27babc,_0x516915){var _0x1e30c0=a0_0x1e30();return a0_0x3604=function(_0x360421,_0x3e960b){_0x360421=_0x360421-0x1df;var _0x233d2e=_0x1e30c0[_0x360421];return _0x233d2e;},a0_0x3604(_0x27babc,_0x516915);}(function(_0x25f568,_0x4285fe){var _0x5e17ac=a0_0x3604,_0x37cf8c=_0x25f568();while(!![]){try{var _0x3b2d40=parseInt(_0x5e17ac(0x30b))/0x1+-parseInt(_0x5e17ac(0x272))/0x2+-parseInt(_0x5e17ac(0x30e))/0x3*(-parseInt(_0x5e17ac(0x2b2))/0x4)+parseInt(_0x5e17ac(0x2e9))/0x5*(-parseInt(_0x5e17ac(0x241))/0x6)+parseInt(_0x5e17ac(0x21f))/0x7*(-parseInt(_0x5e17ac(0x329))/0x8)+parseInt(_0x5e17ac(0x263))/0x9*(parseInt(_0x5e17ac(0x24f))/0xa)+-parseInt(_0x5e17ac(0x323))/0xb*(-parseInt(_0x5e17ac(0x363))/0xc);if(_0x3b2d40===_0x4285fe)break;else _0x37cf8c['push'](_0x37cf8c['shift']());}catch(_0x513689){_0x37cf8c['push'](_0x37cf8c['shift']());}}}(a0_0x1e30,0xf322b),window['mars3dWind']=function(_0xe25917){var _0x109f13={};function _0x546b01(_0x124820){var _0x2965c4=a0_0x3604;if(_0x109f13[_0x124820])return _0x109f13[_0x124820][_0x2965c4(0x1e9)];var _0x27b5f6=_0x109f13[_0x124820]={'i':_0x124820,'l':!0x1,'exports':{}};return _0xe25917[_0x124820][_0x2965c4(0x240)](_0x27b5f6[_0x2965c4(0x1e9)],_0x27b5f6,_0x27b5f6[_0x2965c4(0x1e9)],_0x546b01),_0x27b5f6['l']=!0x0,_0x27b5f6[_0x2965c4(0x1e9)];}return _0x546b01['m']=_0xe25917,_0x546b01['c']=_0x109f13,_0x546b01['d']=function(_0x3bab9e,_0x167587,_0x59340b){_0x546b01['o'](_0x3bab9e,_0x167587)||Object['defineProperty'](_0x3bab9e,_0x167587,{'enumerable':!0x0,'get':_0x59340b});},_0x546b01['r']=function(_0x57ca8f){var _0x5b03fc=a0_0x3604;_0x5b03fc(0x325)!=typeof Symbol&&Symbol[_0x5b03fc(0x340)]&&Object[_0x5b03fc(0x358)](_0x57ca8f,Symbol[_0x5b03fc(0x340)],{'value':'Module'}),Object[_0x5b03fc(0x358)](_0x57ca8f,_0x5b03fc(0x2c1),{'value':!0x0});},_0x546b01['t']=function(_0xeb27e9,_0xadada){var _0x265edd=a0_0x3604;if(0x1&_0xadada&&(_0xeb27e9=_0x546b01(_0xeb27e9)),0x8&_0xadada)return _0xeb27e9;if(0x4&_0xadada&&'object'==typeof _0xeb27e9&&_0xeb27e9&&_0xeb27e9['__esModule'])return _0xeb27e9;var _0x1c503e=Object['create'](null);if(_0x546b01['r'](_0x1c503e),Object[_0x265edd(0x358)](_0x1c503e,_0x265edd(0x2fe),{'enumerable':!0x0,'value':_0xeb27e9}),0x2&_0xadada&&_0x265edd(0x309)!=typeof _0xeb27e9){for(var _0x3d4024 in _0xeb27e9)_0x546b01['d'](_0x1c503e,_0x3d4024,function(_0x3673a5){return _0xeb27e9[_0x3673a5];}[_0x265edd(0x292)](null,_0x3d4024));}return _0x1c503e;},_0x546b01['n']=function(_0x1751e9){var _0x4ae984=_0x1751e9&&_0x1751e9['__esModule']?function(){return _0x1751e9['default'];}:function(){return _0x1751e9;};return _0x546b01['d'](_0x4ae984,'a',_0x4ae984),_0x4ae984;},_0x546b01['o']=function(_0x6f8f78,_0x1257f0){var _0x190f5a=a0_0x3604;return Object['prototype'][_0x190f5a(0x27f)]['call'](_0x6f8f78,_0x1257f0);},_0x546b01['p']='',_0x546b01(_0x546b01['s']=0x1a);}([function(_0xc17f16,_0x21302c){var _0x15d3a0=a0_0x3604;_0xc17f16['exports']=window[_0x15d3a0(0x2bb)];},function(_0x24dd15,_0x9cdc07){var _0x4ce78f=a0_0x3604;_0x24dd15[_0x4ce78f(0x1e9)]=function(_0x2dec5f,_0x28c021){var _0xee474e=_0x4ce78f;if(!(_0x2dec5f instanceof _0x28c021))throw new TypeError(_0xee474e(0x204));},_0x24dd15[_0x4ce78f(0x1e9)][_0x4ce78f(0x2c1)]=!0x0,_0x24dd15['exports']['default']=_0x24dd15[_0x4ce78f(0x1e9)];},function(_0x56e488,_0x5e7629){var _0x267f2d=a0_0x3604;function _0x22291b(_0x533649,_0x3068e7){var _0x15b0f7=a0_0x3604;for(var _0x530003=0x0;_0x530003<_0x3068e7[_0x15b0f7(0x2a4)];_0x530003++){var _0x5965c5=_0x3068e7[_0x530003];_0x5965c5[_0x15b0f7(0x221)]=_0x5965c5[_0x15b0f7(0x221)]||!0x1,_0x5965c5[_0x15b0f7(0x212)]=!0x0,'value'in _0x5965c5&&(_0x5965c5[_0x15b0f7(0x21c)]=!0x0),Object[_0x15b0f7(0x358)](_0x533649,_0x5965c5[_0x15b0f7(0x31a)],_0x5965c5);}}_0x56e488['exports']=function(_0x42b851,_0x1fc35a,_0x613c27){var _0x1897cc=a0_0x3604;return _0x1fc35a&&_0x22291b(_0x42b851[_0x1897cc(0x30a)],_0x1fc35a),_0x613c27&&_0x22291b(_0x42b851,_0x613c27),Object['defineProperty'](_0x42b851,_0x1897cc(0x30a),{'writable':!0x1}),_0x42b851;},_0x56e488[_0x267f2d(0x1e9)][_0x267f2d(0x2c1)]=!0x0,_0x56e488[_0x267f2d(0x1e9)]['default']=_0x56e488[_0x267f2d(0x1e9)];},function(_0x41f72c,_0x108432){var _0xca8488=a0_0x3604;function _0x3a219c(_0x20115d){var _0x5910db=a0_0x3604;return _0x41f72c[_0x5910db(0x1e9)]=_0x3a219c=Object[_0x5910db(0x202)]?Object[_0x5910db(0x2a2)]:function(_0x155e04){var _0x2eceba=_0x5910db;return _0x155e04['__proto__']||Object[_0x2eceba(0x2a2)](_0x155e04);},_0x41f72c[_0x5910db(0x1e9)]['__esModule']=!0x0,_0x41f72c[_0x5910db(0x1e9)][_0x5910db(0x2fe)]=_0x41f72c[_0x5910db(0x1e9)],_0x3a219c(_0x20115d);}_0x41f72c[_0xca8488(0x1e9)]=_0x3a219c,_0x41f72c[_0xca8488(0x1e9)]['__esModule']=!0x0,_0x41f72c[_0xca8488(0x1e9)][_0xca8488(0x2fe)]=_0x41f72c['exports'];},function(_0x32c6f4,_0x2ce714,_0x5b9e47){var _0x4fda43=a0_0x3604,_0x1e7d38=_0x5b9e47(0x16),_0x3ca35e=_0x5b9e47(0x17),_0x137f37=_0x5b9e47(0x18),_0x24bf9b=_0x5b9e47(0x19);_0x32c6f4['exports']=function(_0x396a39){return _0x1e7d38(_0x396a39)||_0x3ca35e(_0x396a39)||_0x137f37(_0x396a39)||_0x24bf9b();},_0x32c6f4[_0x4fda43(0x1e9)]['__esModule']=!0x0,_0x32c6f4[_0x4fda43(0x1e9)][_0x4fda43(0x2fe)]=_0x32c6f4['exports'];},function(_0x3e7e13,_0x24733a){var _0x370325=a0_0x3604;_0x3e7e13[_0x370325(0x1e9)]=function(_0x460a1a,_0x4d9ff7,_0xbb1bb){var _0x46cda2=_0x370325;return _0x4d9ff7 in _0x460a1a?Object[_0x46cda2(0x358)](_0x460a1a,_0x4d9ff7,{'value':_0xbb1bb,'enumerable':!0x0,'configurable':!0x0,'writable':!0x0}):_0x460a1a[_0x4d9ff7]=_0xbb1bb,_0x460a1a;},_0x3e7e13[_0x370325(0x1e9)]['__esModule']=!0x0,_0x3e7e13['exports']['default']=_0x3e7e13[_0x370325(0x1e9)];},function(_0x1c5bef,_0x3147ab,_0x77e768){var _0x151c94=a0_0x3604,_0x401be1=_0x77e768(0x13);_0x1c5bef[_0x151c94(0x1e9)]=function(_0x398a34,_0x501a3c){var _0x1a157b=_0x151c94;if(_0x1a157b(0x1ec)!=typeof _0x501a3c&&null!==_0x501a3c)throw new TypeError(_0x1a157b(0x236));Object[_0x1a157b(0x358)](_0x398a34,_0x1a157b(0x30a),{'value':Object[_0x1a157b(0x267)](_0x501a3c&&_0x501a3c[_0x1a157b(0x30a)],{'constructor':{'value':_0x398a34,'writable':!0x0,'configurable':!0x0}}),'writable':!0x1}),_0x501a3c&&_0x401be1(_0x398a34,_0x501a3c);},_0x1c5bef['exports'][_0x151c94(0x2c1)]=!0x0,_0x1c5bef[_0x151c94(0x1e9)]['default']=_0x1c5bef[_0x151c94(0x1e9)];},function(_0x6ca35a,_0x3f661b,_0x2f9ed6){var _0x41da4f=a0_0x3604,_0x237a24=_0x2f9ed6(0x14)[_0x41da4f(0x2fe)],_0x19345f=_0x2f9ed6(0x15);_0x6ca35a[_0x41da4f(0x1e9)]=function(_0x76f01a,_0x276caa){var _0x26a30a=_0x41da4f;if(_0x276caa&&('object'===_0x237a24(_0x276caa)||_0x26a30a(0x1ec)==typeof _0x276caa))return _0x276caa;if(void 0x0!==_0x276caa)throw new TypeError(_0x26a30a(0x220));return _0x19345f(_0x76f01a);},_0x6ca35a[_0x41da4f(0x1e9)][_0x41da4f(0x2c1)]=!0x0,_0x6ca35a[_0x41da4f(0x1e9)][_0x41da4f(0x2fe)]=_0x6ca35a[_0x41da4f(0x1e9)];},function(_0x31de65,_0x2cc9ec){var _0x428aaa=a0_0x3604;_0x31de65[_0x428aaa(0x1e9)]='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}';},function(_0x4aaf5c,_0x39e6e0){var _0x2a79f2=a0_0x3604;_0x4aaf5c['exports']=function(_0x1d6585,_0x479a99){var _0x24df2c=a0_0x3604;(null==_0x479a99||_0x479a99>_0x1d6585[_0x24df2c(0x2a4)])&&(_0x479a99=_0x1d6585[_0x24df2c(0x2a4)]);for(var _0x5d7489=0x0,_0x2385ce=new Array(_0x479a99);_0x5d7489<_0x479a99;_0x5d7489++)_0x2385ce[_0x5d7489]=_0x1d6585[_0x5d7489];return _0x2385ce;},_0x4aaf5c[_0x2a79f2(0x1e9)][_0x2a79f2(0x2c1)]=!0x0,_0x4aaf5c[_0x2a79f2(0x1e9)][_0x2a79f2(0x2fe)]=_0x4aaf5c[_0x2a79f2(0x1e9)];},function(_0x4fa719,_0x5c4660){var _0x338a69=a0_0x3604;_0x4fa719[_0x338a69(0x1e9)]=_0x338a69(0x29d);},function(_0x37588c,_0x2bbf41){var _0x2c8a6e=a0_0x3604;_0x37588c[_0x2c8a6e(0x1e9)]=_0x2c8a6e(0x22b);},function(_0x312bca,_0x179843){var _0x3ab57c=a0_0x3604;_0x312bca[_0x3ab57c(0x1e9)]=_0x3ab57c(0x2b8);},function(_0x1fb1d8,_0x37e2eb){var _0x552b4b=a0_0x3604;_0x1fb1d8[_0x552b4b(0x1e9)]=_0x552b4b(0x224);},function(_0x55b27c,_0x368a3f){var _0x4a0541=a0_0x3604;_0x55b27c[_0x4a0541(0x1e9)]=_0x4a0541(0x338);},function(_0x583e07,_0x358518){var _0xb34a50=a0_0x3604;_0x583e07[_0xb34a50(0x1e9)]='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}';},function(_0x40078b,_0x592bdf){_0x40078b['exports']='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}';},function(_0x351207,_0x34ea11){var _0x5b794c=a0_0x3604;_0x351207[_0x5b794c(0x1e9)]=_0x5b794c(0x30c);},function(_0x5cd7bb,_0x3745c6){var _0x141a7b=a0_0x3604;_0x5cd7bb[_0x141a7b(0x1e9)]=_0x141a7b(0x242);},function(_0xda8997,_0x7f2d0){var _0x5707a6=a0_0x3604;function _0x2cbee7(_0x2d868a,_0x15e603){var _0x1e012b=a0_0x3604;return _0xda8997['exports']=_0x2cbee7=Object[_0x1e012b(0x202)]||function(_0x296a44,_0x4d41b3){var _0x357ac4=_0x1e012b;return _0x296a44[_0x357ac4(0x249)]=_0x4d41b3,_0x296a44;},_0xda8997[_0x1e012b(0x1e9)][_0x1e012b(0x2c1)]=!0x0,_0xda8997[_0x1e012b(0x1e9)][_0x1e012b(0x2fe)]=_0xda8997[_0x1e012b(0x1e9)],_0x2cbee7(_0x2d868a,_0x15e603);}_0xda8997['exports']=_0x2cbee7,_0xda8997['exports'][_0x5707a6(0x2c1)]=!0x0,_0xda8997[_0x5707a6(0x1e9)]['default']=_0xda8997[_0x5707a6(0x1e9)];},function(_0x72c0d8,_0x57e484){var _0x1f4814=a0_0x3604;function _0x1a7097(_0x17c9f5){var _0x17d9a5=a0_0x3604;return _0x72c0d8['exports']=_0x1a7097=_0x17d9a5(0x1ec)==typeof Symbol&&'symbol'==typeof Symbol[_0x17d9a5(0x344)]?function(_0x1093c6){return typeof _0x1093c6;}:function(_0x3c5cf3){var _0x3f7934=_0x17d9a5;return _0x3c5cf3&&'function'==typeof Symbol&&_0x3c5cf3['constructor']===Symbol&&_0x3c5cf3!==Symbol[_0x3f7934(0x30a)]?_0x3f7934(0x32f):typeof _0x3c5cf3;},_0x72c0d8[_0x17d9a5(0x1e9)]['__esModule']=!0x0,_0x72c0d8[_0x17d9a5(0x1e9)][_0x17d9a5(0x2fe)]=_0x72c0d8[_0x17d9a5(0x1e9)],_0x1a7097(_0x17c9f5);}_0x72c0d8[_0x1f4814(0x1e9)]=_0x1a7097,_0x72c0d8['exports'][_0x1f4814(0x2c1)]=!0x0,_0x72c0d8[_0x1f4814(0x1e9)][_0x1f4814(0x2fe)]=_0x72c0d8[_0x1f4814(0x1e9)];},function(_0x18accc,_0x5a0760){var _0x4fd729=a0_0x3604;_0x18accc[_0x4fd729(0x1e9)]=function(_0x1c4f18){var _0x18ccdb=_0x4fd729;if(void 0x0===_0x1c4f18)throw new ReferenceError(_0x18ccdb(0x247));return _0x1c4f18;},_0x18accc['exports'][_0x4fd729(0x2c1)]=!0x0,_0x18accc[_0x4fd729(0x1e9)]['default']=_0x18accc[_0x4fd729(0x1e9)];},function(_0x29e85e,_0x530252,_0x363579){var _0x1e53ba=a0_0x3604,_0x59285e=_0x363579(0x9);_0x29e85e[_0x1e53ba(0x1e9)]=function(_0x5070ff){if(Array['isArray'](_0x5070ff))return _0x59285e(_0x5070ff);},_0x29e85e[_0x1e53ba(0x1e9)][_0x1e53ba(0x2c1)]=!0x0,_0x29e85e[_0x1e53ba(0x1e9)]['default']=_0x29e85e[_0x1e53ba(0x1e9)];},function(_0x25ce5,_0x52cc58){var _0xa9163e=a0_0x3604;_0x25ce5[_0xa9163e(0x1e9)]=function(_0x432c0c){var _0x158b05=_0xa9163e;if('undefined'!=typeof Symbol&&null!=_0x432c0c[Symbol['iterator']]||null!=_0x432c0c[_0x158b05(0x222)])return Array[_0x158b05(0x1fe)](_0x432c0c);},_0x25ce5[_0xa9163e(0x1e9)][_0xa9163e(0x2c1)]=!0x0,_0x25ce5[_0xa9163e(0x1e9)][_0xa9163e(0x2fe)]=_0x25ce5[_0xa9163e(0x1e9)];},function(_0x1292a5,_0x4effe3,_0x32ba69){var _0x1eff9e=a0_0x3604,_0xbfb1ab=_0x32ba69(0x9);_0x1292a5['exports']=function(_0x2f50ae,_0x18063){var _0x560dcb=a0_0x3604;if(_0x2f50ae){if('string'==typeof _0x2f50ae)return _0xbfb1ab(_0x2f50ae,_0x18063);var _0x43c31a=Object[_0x560dcb(0x30a)][_0x560dcb(0x245)][_0x560dcb(0x240)](_0x2f50ae)[_0x560dcb(0x33f)](0x8,-0x1);return _0x560dcb(0x307)===_0x43c31a&&_0x2f50ae[_0x560dcb(0x1e0)]&&(_0x43c31a=_0x2f50ae[_0x560dcb(0x1e0)][_0x560dcb(0x269)]),_0x560dcb(0x2ab)===_0x43c31a||'Set'===_0x43c31a?Array[_0x560dcb(0x1fe)](_0x2f50ae):'Arguments'===_0x43c31a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/[_0x560dcb(0x265)](_0x43c31a)?_0xbfb1ab(_0x2f50ae,_0x18063):void 0x0;}},_0x1292a5[_0x1eff9e(0x1e9)][_0x1eff9e(0x2c1)]=!0x0,_0x1292a5[_0x1eff9e(0x1e9)]['default']=_0x1292a5[_0x1eff9e(0x1e9)];},function(_0x35e9a6,_0x4f4b02){var _0x50cb95=a0_0x3604;_0x35e9a6[_0x50cb95(0x1e9)]=function(){var _0x2559a3=_0x50cb95;throw new TypeError(_0x2559a3(0x209));},_0x35e9a6[_0x50cb95(0x1e9)]['__esModule']=!0x0,_0x35e9a6[_0x50cb95(0x1e9)][_0x50cb95(0x2fe)]=_0x35e9a6[_0x50cb95(0x1e9)];},function(_0x507167,_0x1d8b92,_0x419905){'use strict';var _0x1ad61d=a0_0x3604;_0x419905['r'](_0x1d8b92),_0x419905['d'](_0x1d8b92,_0x1ad61d(0x334),function(){return _0x18adfe;}),_0x419905['d'](_0x1d8b92,_0x1ad61d(0x203),function(){return _0x13f2d9;}),_0x419905['d'](_0x1d8b92,_0x1ad61d(0x1df),function(){return _0x52787e;});var _0x52787e={};_0x419905['r'](_0x52787e),_0x419905['d'](_0x52787e,_0x1ad61d(0x331),function(){return _0x1b555c;}),_0x419905['d'](_0x52787e,'getV',function(){return _0x1dd602;}),_0x419905['d'](_0x52787e,'getSpeed',function(){return _0x51ccab;}),_0x419905['d'](_0x52787e,_0x1ad61d(0x27a),function(){return _0x5c9010;});var _0x53dab5=_0x419905(0x0),_0x354b94=_0x419905(0x5),_0x5e924e=_0x419905['n'](_0x354b94),_0x5a7616=_0x419905(0x1),_0xa20c6a=_0x419905['n'](_0x5a7616),_0x1a80b5=_0x419905(0x2),_0x407531=_0x419905['n'](_0x1a80b5),_0x20be94=_0x419905(0x6),_0x598885=_0x419905['n'](_0x20be94),_0x197f6b=_0x419905(0x7),_0x2c9e32=_0x419905['n'](_0x197f6b),_0x373865=_0x419905(0x3),_0x56bc89=_0x419905['n'](_0x373865),_0x2dd7dd=_0x419905(0x4),_0x52b1e2=_0x419905['n'](_0x2dd7dd),_0x5c16b3=_0x53dab5[_0x1ad61d(0x308)],_0x1462e5=(function(){var _0x17f25c=_0x1ad61d;function _0x62696d(_0x3e4d11){var _0x21ee45=a0_0x3604;_0xa20c6a()(this,_0x62696d),this[_0x21ee45(0x28d)]=_0x3e4d11[_0x21ee45(0x28d)],this[_0x21ee45(0x260)]=_0x3e4d11[_0x21ee45(0x260)],this[_0x21ee45(0x2b3)]=_0x3e4d11[_0x21ee45(0x2b3)],this[_0x21ee45(0x239)]=_0x3e4d11[_0x21ee45(0x239)],this[_0x21ee45(0x28a)]=_0x3e4d11[_0x21ee45(0x28a)],this[_0x21ee45(0x34f)]=_0x3e4d11['vertexShaderSource'],this['fragmentShaderSource']=_0x3e4d11[_0x21ee45(0x2d0)],this[_0x21ee45(0x2c0)]=_0x3e4d11['rawRenderState'],this[_0x21ee45(0x35a)]=_0x3e4d11[_0x21ee45(0x35a)],this[_0x21ee45(0x2bd)]=_0x3e4d11['outputTexture'],this[_0x21ee45(0x349)]=_0x5c16b3['defaultValue'](_0x3e4d11[_0x21ee45(0x349)],!0x1),this[_0x21ee45(0x2e0)]=_0x3e4d11['preExecute'],this['show']=!0x0,this[_0x21ee45(0x318)]=void 0x0,this[_0x21ee45(0x304)]=void 0x0,this[_0x21ee45(0x349)]&&(this[_0x21ee45(0x304)]=new _0x5c16b3['ClearCommand']({'color':new _0x5c16b3[(_0x21ee45(0x1f8))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x21ee45(0x35a)],'pass':_0x5c16b3[_0x21ee45(0x1e4)][_0x21ee45(0x264)]}));}return _0x407531()(_0x62696d,[{'key':_0x17f25c(0x31b),'value':function(_0x441ff2){var _0x142887=_0x17f25c;switch(this[_0x142887(0x28d)]){case _0x142887(0x24c):var _0x1d73e2=_0x5c16b3[_0x142887(0x25f)][_0x142887(0x302)]({'context':_0x441ff2,'geometry':this['geometry'],'attributeLocations':this[_0x142887(0x2b3)],'bufferUsage':_0x5c16b3[_0x142887(0x2a8)]['STATIC_DRAW']}),_0x2d9ebe=_0x5c16b3['ShaderProgram']['fromCache']({'context':_0x441ff2,'attributeLocations':this[_0x142887(0x2b3)],'vertexShaderSource':this[_0x142887(0x34f)],'fragmentShaderSource':this['fragmentShaderSource']}),_0x1216af=_0x5c16b3[_0x142887(0x2b1)][_0x142887(0x34a)](this[_0x142887(0x2c0)]);return new _0x5c16b3['DrawCommand']({'owner':this,'vertexArray':_0x1d73e2,'primitiveType':this['primitiveType'],'uniformMap':this[_0x142887(0x28a)],'modelMatrix':_0x5c16b3[_0x142887(0x248)][_0x142887(0x20a)],'shaderProgram':_0x2d9ebe,'framebuffer':this[_0x142887(0x35a)],'renderState':_0x1216af,'pass':_0x5c16b3[_0x142887(0x1e4)][_0x142887(0x264)]});case _0x142887(0x1e5):return new _0x5c16b3[(_0x142887(0x235))]({'owner':this,'fragmentShaderSource':this[_0x142887(0x2d0)],'uniformMap':this['uniformMap'],'outputTexture':this[_0x142887(0x2bd)],'persists':!0x0});default:return;}}},{'key':_0x17f25c(0x2e1),'value':function(_0x13295c,_0x5ef345){var _0x1f4ddc=_0x17f25c;this['geometry']=_0x5ef345;var _0x2e98a9=_0x5c16b3[_0x1f4ddc(0x25f)]['fromGeometry']({'context':_0x13295c,'geometry':this[_0x1f4ddc(0x260)],'attributeLocations':this[_0x1f4ddc(0x2b3)],'bufferUsage':_0x5c16b3[_0x1f4ddc(0x2a8)]['STATIC_DRAW']});this['commandToExecute']['vertexArray']=_0x2e98a9;}},{'key':_0x17f25c(0x1e1),'value':function(_0x36ea42){var _0x29eeef=_0x17f25c;this['show']&&_0x36ea42['mode']==_0x5c16b3[_0x29eeef(0x289)][_0x29eeef(0x297)]&&(_0x5c16b3[_0x29eeef(0x22c)](this[_0x29eeef(0x318)])||(this[_0x29eeef(0x318)]=this['createCommand'](_0x36ea42['context'])),_0x5c16b3[_0x29eeef(0x22c)](this[_0x29eeef(0x2e0)])&&this[_0x29eeef(0x2e0)](),_0x5c16b3[_0x29eeef(0x22c)](this[_0x29eeef(0x304)])&&_0x36ea42[_0x29eeef(0x2f3)]['push'](this[_0x29eeef(0x304)]),_0x36ea42[_0x29eeef(0x2f3)][_0x29eeef(0x208)](this[_0x29eeef(0x318)]));}},{'key':_0x17f25c(0x2be),'value':function(){return!0x1;}},{'key':_0x17f25c(0x2c7),'value':function(){var _0x19e01a=_0x17f25c;return _0x5c16b3[_0x19e01a(0x22c)](this[_0x19e01a(0x318)])&&(this[_0x19e01a(0x318)]['shaderProgram']=this[_0x19e01a(0x318)][_0x19e01a(0x2c9)]&&this['commandToExecute'][_0x19e01a(0x2c9)]['destroy']()),_0x5c16b3[_0x19e01a(0x211)](this);}}]),_0x62696d;}()),_0x86fff8=_0x53dab5['Cesium'],_0x2b0296={'getFullscreenQuad':function(){var _0x96bca3=_0x1ad61d;return new _0x86fff8['Geometry']({'attributes':new _0x86fff8['GeometryAttributes']({'position':new _0x86fff8[(_0x96bca3(0x33d))]({'componentDatatype':_0x86fff8['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new _0x86fff8['GeometryAttribute']({'componentDatatype':_0x86fff8[_0x96bca3(0x1e3)][_0x96bca3(0x229)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});},'createTexture':function(_0x5d3b53,_0x23ef46){var _0x2cd3fa=_0x1ad61d;if(_0x86fff8[_0x2cd3fa(0x22c)](_0x23ef46)){var _0x561255={};_0x561255[_0x2cd3fa(0x336)]=_0x23ef46,_0x5d3b53['source']=_0x561255;}return new _0x86fff8[(_0x2cd3fa(0x310))](_0x5d3b53);},'createFramebuffer':function(_0x35c0b1,_0x3dddbc,_0x180721){return new _0x86fff8['Framebuffer']({'context':_0x35c0b1,'colorTextures':[_0x3dddbc],'depthTexture':_0x180721});},'createRawRenderState':function(_0x1e05c5){var _0x1c9972=_0x1ad61d,_0x55271e={'viewport':_0x1e05c5[_0x1c9972(0x343)],'depthTest':_0x1e05c5['depthTest'],'depthMask':_0x1e05c5[_0x1c9972(0x213)],'blending':_0x1e05c5[_0x1c9972(0x2de)]};return _0x86fff8[_0x1c9972(0x206)][_0x1c9972(0x2cd)](!0x0,!0x1,_0x55271e);},'viewRectangleToLonLatRange':function(_0x211b17){var _0x4351e3=_0x1ad61d,_0x5b1112,_0x2be9b3,_0xdb8c05={},_0x182168=_0x86fff8[_0x4351e3(0x364)][_0x4351e3(0x32a)](_0x211b17[_0x4351e3(0x1fd)],_0x86fff8[_0x4351e3(0x364)][_0x4351e3(0x324)]),_0x3396e5=_0x86fff8[_0x4351e3(0x364)][_0x4351e3(0x32a)](_0x211b17['east'],_0x86fff8[_0x4351e3(0x364)][_0x4351e3(0x324)]),_0x1e673b=_0x211b17[_0x4351e3(0x23d)];_0x1e673b>_0x86fff8[_0x4351e3(0x364)][_0x4351e3(0x28f)]?(_0x5b1112=0x0,_0x2be9b3=_0x86fff8[_0x4351e3(0x364)][_0x4351e3(0x324)]):_0x3396e5-_0x182168<_0x1e673b?(_0x5b1112=_0x182168,_0x2be9b3=_0x182168+_0x1e673b):(_0x5b1112=_0x182168,_0x2be9b3=_0x3396e5),_0xdb8c05[_0x4351e3(0x2ee)]={'min':_0x86fff8[_0x4351e3(0x364)][_0x4351e3(0x295)](_0x5b1112),'max':_0x86fff8[_0x4351e3(0x364)]['toDegrees'](_0x2be9b3)};var _0x413cdd=_0x211b17['south'],_0x372b87=_0x211b17[_0x4351e3(0x31d)],_0x5ed304=_0x211b17[_0x4351e3(0x205)],_0x41a838=_0x5ed304>_0x86fff8[_0x4351e3(0x364)]['PI']/0xc?_0x5ed304/0x2:0x0,_0x51699b=_0x86fff8[_0x4351e3(0x364)][_0x4351e3(0x1ff)](_0x413cdd-_0x41a838),_0x4c4edf=_0x86fff8[_0x4351e3(0x364)][_0x4351e3(0x1ff)](_0x372b87+_0x41a838);return _0x51699b<-_0x86fff8[_0x4351e3(0x364)][_0x4351e3(0x2b4)]&&(_0x51699b=-_0x86fff8['Math'][_0x4351e3(0x24d)]),_0x4c4edf>_0x86fff8[_0x4351e3(0x364)][_0x4351e3(0x2b4)]&&(_0x4c4edf=_0x86fff8[_0x4351e3(0x364)][_0x4351e3(0x24d)]),_0xdb8c05['lat']={'min':_0x86fff8[_0x4351e3(0x364)][_0x4351e3(0x295)](_0x51699b),'max':_0x86fff8[_0x4351e3(0x364)][_0x4351e3(0x295)](_0x4c4edf)},_0xdb8c05;}},_0x3c9b24=_0x419905(0xa),_0x140984=_0x419905['n'](_0x3c9b24),_0x5e9ea2=_0x419905(0xb),_0x257e17=_0x419905['n'](_0x5e9ea2),_0x3b4c9f=_0x419905(0x8),_0x2f3a7c=_0x419905['n'](_0x3b4c9f),_0xed8139=_0x419905(0xc),_0x3d6f3b=_0x419905['n'](_0xed8139),_0x102668=_0x419905(0xd),_0x233761=_0x419905['n'](_0x102668),_0x4210c8=_0x53dab5[_0x1ad61d(0x308)],_0x4a9d8a=(function(){var _0xa8017f=_0x1ad61d;function _0x28451d(_0x26bb5b,_0x2497fa,_0x5aeceb,_0x1e366c,_0x400857){var _0x1403e5=a0_0x3604;_0xa20c6a()(this,_0x28451d),this[_0x1403e5(0x238)](_0x26bb5b,_0x2497fa,_0x5aeceb[_0x1403e5(0x218)]),this[_0x1403e5(0x2c3)](_0x26bb5b),this[_0x1403e5(0x30d)](_0x26bb5b,_0x5aeceb,_0x1e366c,_0x400857);}return _0x407531()(_0x28451d,[{'key':'createRenderingTextures','value':function(_0x1eab42,_0x267c8c,_0x3e0602){var _0x4a1a42=a0_0x3604;for(var _0x401196={'context':_0x1eab42,'width':_0x1eab42[_0x4a1a42(0x21e)],'height':_0x1eab42[_0x4a1a42(0x2b6)],'pixelFormat':_0x4210c8[_0x4a1a42(0x276)][_0x4a1a42(0x286)],'pixelDatatype':_0x4210c8['PixelDatatype'][_0x4a1a42(0x2db)]},_0x5dbdaf={'context':_0x1eab42,'width':_0x1eab42[_0x4a1a42(0x21e)],'height':_0x1eab42[_0x4a1a42(0x2b6)],'pixelFormat':_0x4210c8['PixelFormat']['DEPTH_COMPONENT'],'pixelDatatype':_0x4210c8[_0x4a1a42(0x314)][_0x4a1a42(0x361)]},_0xb06ea=_0x3e0602[_0x4a1a42(0x2a4)],_0x56a831=new Float32Array(0x3*_0xb06ea),_0x57c253=0x0;_0x57c253<_0xb06ea;_0x57c253++){var _0x586f6b=_0x4210c8[_0x4a1a42(0x1f8)]['fromCssColorString'](_0x3e0602[_0x57c253]);_0x56a831[0x3*_0x57c253]=_0x586f6b[_0x4a1a42(0x359)],_0x56a831[0x3*_0x57c253+0x1]=_0x586f6b['green'],_0x56a831[0x3*_0x57c253+0x2]=_0x586f6b['blue'];}var _0x149e14={'context':_0x1eab42,'width':_0xb06ea,'height':0x1,'pixelFormat':_0x4210c8[_0x4a1a42(0x276)][_0x4a1a42(0x26e)],'pixelDatatype':_0x4210c8[_0x4a1a42(0x314)]['FLOAT'],'sampler':new _0x4210c8[(_0x4a1a42(0x354))]({'minificationFilter':_0x4210c8['TextureMinificationFilter'][_0x4a1a42(0x284)],'magnificationFilter':_0x4210c8[_0x4a1a42(0x33c)][_0x4a1a42(0x284)]})};this[_0x4a1a42(0x2fd)]={'segmentsColor':_0x2b0296[_0x4a1a42(0x341)](_0x401196),'segmentsDepth':_0x2b0296[_0x4a1a42(0x341)](_0x5dbdaf),'currentTrailsColor':_0x2b0296[_0x4a1a42(0x341)](_0x401196),'currentTrailsDepth':_0x2b0296['createTexture'](_0x5dbdaf),'nextTrailsColor':_0x2b0296[_0x4a1a42(0x341)](_0x401196),'nextTrailsDepth':_0x2b0296['createTexture'](_0x5dbdaf),'colorTable':_0x2b0296[_0x4a1a42(0x341)](_0x149e14,_0x56a831)};}},{'key':'createRenderingFramebuffers','value':function(_0x306329){var _0x3aa9dc=a0_0x3604;this[_0x3aa9dc(0x2d7)]={'segments':_0x2b0296[_0x3aa9dc(0x270)](_0x306329,this[_0x3aa9dc(0x2fd)]['segmentsColor'],this[_0x3aa9dc(0x2fd)]['segmentsDepth']),'currentTrails':_0x2b0296['createFramebuffer'](_0x306329,this[_0x3aa9dc(0x2fd)][_0x3aa9dc(0x2b7)],this[_0x3aa9dc(0x2fd)][_0x3aa9dc(0x201)]),'nextTrails':_0x2b0296[_0x3aa9dc(0x270)](_0x306329,this[_0x3aa9dc(0x2fd)][_0x3aa9dc(0x2af)],this[_0x3aa9dc(0x2fd)][_0x3aa9dc(0x2f7)])};}},{'key':_0xa8017f(0x22e),'value':function(_0x236b15){var _0x43ef01=_0xa8017f;for(var _0x29fcd9=[],_0x1a627d=0x0;_0x1a627d<_0x236b15['particlesTextureSize'];_0x1a627d++)for(var _0x32a3ea=0x0;_0x32a3ea<_0x236b15[_0x43ef01(0x2f8)];_0x32a3ea++)for(var _0x5d8247=0x0;_0x5d8247<0x4;_0x5d8247++)_0x29fcd9['push'](_0x1a627d/_0x236b15[_0x43ef01(0x2f8)]),_0x29fcd9[_0x43ef01(0x208)](_0x32a3ea/_0x236b15['particlesTextureSize']);_0x29fcd9=new Float32Array(_0x29fcd9);for(var _0x14df9b=[],_0x3985a8=[-0x1,0x1],_0x32edcc=[-0x1,0x1],_0x25cec8=0x0;_0x25cec8<_0x236b15['maxParticles'];_0x25cec8++)for(var _0x2486ae=0x0;_0x2486ae<0x2;_0x2486ae++)for(var _0x3e5ff0=0x0;_0x3e5ff0<0x2;_0x3e5ff0++)_0x14df9b[_0x43ef01(0x208)](_0x3985a8[_0x2486ae]),_0x14df9b[_0x43ef01(0x208)](_0x32edcc[_0x3e5ff0]),_0x14df9b['push'](0x0);_0x14df9b=new Float32Array(_0x14df9b);for(var _0x540c48=0x6*_0x236b15['maxParticles'],_0x22ba1c=new Uint32Array(_0x540c48),_0x46bbc=0x0,_0x12d2cf=0x0,_0x8aa12b=0x0;_0x46bbc<_0x236b15[_0x43ef01(0x21a)];_0x46bbc++)_0x22ba1c[_0x12d2cf++]=_0x8aa12b+0x0,_0x22ba1c[_0x12d2cf++]=_0x8aa12b+0x1,_0x22ba1c[_0x12d2cf++]=_0x8aa12b+0x2,_0x22ba1c[_0x12d2cf++]=_0x8aa12b+0x2,_0x22ba1c[_0x12d2cf++]=_0x8aa12b+0x1,_0x22ba1c[_0x12d2cf++]=_0x8aa12b+0x3,_0x8aa12b+=0x4;return new _0x4210c8[(_0x43ef01(0x200))]({'attributes':new _0x4210c8[(_0x43ef01(0x26d))]({'st':new _0x4210c8['GeometryAttribute']({'componentDatatype':_0x4210c8[_0x43ef01(0x1e3)]['FLOAT'],'componentsPerAttribute':0x2,'values':_0x29fcd9}),'normal':new _0x4210c8[(_0x43ef01(0x33d))]({'componentDatatype':_0x4210c8[_0x43ef01(0x1e3)]['FLOAT'],'componentsPerAttribute':0x3,'values':_0x14df9b})}),'indices':_0x22ba1c});}},{'key':_0xa8017f(0x30d),'value':function(_0x3fe385,_0x571c10,_0x481190,_0x5e38d5){var _0x274e0c=_0xa8017f,_0x47ccc4=this;this[_0x274e0c(0x226)]={'segments':new _0x1462e5({'commandType':'Draw','attributeLocations':{'st':0x0,'normal':0x1},'geometry':this[_0x274e0c(0x22e)](_0x571c10),'primitiveType':_0x4210c8[_0x274e0c(0x2ec)][_0x274e0c(0x27b)],'uniformMap':{'currentParticlesPosition':function(){var _0x282a5e=_0x274e0c;return _0x5e38d5[_0x282a5e(0x327)][_0x282a5e(0x2ae)];},'postProcessingPosition':function(){var _0x2e3e72=_0x274e0c;return _0x5e38d5['particlesTextures'][_0x2e3e72(0x2cc)];},'postProcessingSpeed':function(){var _0x3179c0=_0x274e0c;return _0x5e38d5[_0x3179c0(0x327)][_0x3179c0(0x2dd)];},'colorTable':function(){var _0x1813e5=_0x274e0c;return _0x47ccc4[_0x1813e5(0x2fd)][_0x1813e5(0x1f1)];},'aspect':function(){var _0x52680e=_0x274e0c;return _0x3fe385['drawingBufferWidth']/_0x3fe385[_0x52680e(0x2b6)];},'pixelSize':function(){var _0x37c0c6=_0x274e0c;return _0x481190[_0x37c0c6(0x345)];},'lineWidth':function(){var _0x470d55=_0x274e0c;return _0x571c10[_0x470d55(0x1ea)];},'particleHeight':function(){var _0x164baf=_0x274e0c;return _0x571c10[_0x164baf(0x2c6)];}},'vertexShaderSource':new _0x4210c8['ShaderSource']({'sources':[_0x140984['a']]}),'fragmentShaderSource':new _0x4210c8['ShaderSource']({'sources':[_0x257e17['a']]}),'rawRenderState':_0x2b0296[_0x274e0c(0x2ac)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0},'depthMask':!0x0}),'framebuffer':this[_0x274e0c(0x2d7)][_0x274e0c(0x273)],'autoClear':!0x0}),'trails':new _0x1462e5({'commandType':_0x274e0c(0x24c),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x2b0296[_0x274e0c(0x244)](),'primitiveType':_0x4210c8['PrimitiveType'][_0x274e0c(0x27b)],'uniformMap':{'segmentsColorTexture':function(){var _0x2525e7=_0x274e0c;return _0x47ccc4[_0x2525e7(0x2fd)][_0x2525e7(0x2c8)];},'segmentsDepthTexture':function(){var _0x14ef06=_0x274e0c;return _0x47ccc4[_0x14ef06(0x2fd)][_0x14ef06(0x31c)];},'currentTrailsColor':function(){var _0x3e3889=_0x274e0c;return _0x47ccc4[_0x3e3889(0x2d7)]['currentTrails'][_0x3e3889(0x2a1)](0x0);},'trailsDepthTexture':function(){var _0x1d614d=_0x274e0c;return _0x47ccc4['framebuffers'][_0x1d614d(0x234)]['depthTexture'];},'fadeOpacity':function(){var _0x1404ee=_0x274e0c;return _0x571c10[_0x1404ee(0x2ca)];}},'vertexShaderSource':new _0x4210c8[(_0x274e0c(0x20b))]({'defines':[_0x274e0c(0x2dc)],'sources':[_0x2f3a7c['a']]}),'fragmentShaderSource':new _0x4210c8[(_0x274e0c(0x20b))]({'defines':[_0x274e0c(0x223)],'sources':[_0x3d6f3b['a']]}),'rawRenderState':_0x2b0296[_0x274e0c(0x2ac)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0,'func':_0x4210c8[_0x274e0c(0x2cf)]['ALWAYS']},'depthMask':!0x0}),'framebuffer':this['framebuffers'][_0x274e0c(0x2a7)],'autoClear':!0x0,'preExecute':function(){var _0x310de2=_0x274e0c,_0x5b2790;_0x5b2790=_0x47ccc4[_0x310de2(0x2d7)]['currentTrails'],_0x47ccc4[_0x310de2(0x2d7)][_0x310de2(0x234)]=_0x47ccc4[_0x310de2(0x2d7)][_0x310de2(0x2a7)],_0x47ccc4[_0x310de2(0x2d7)][_0x310de2(0x2a7)]=_0x5b2790,_0x47ccc4[_0x310de2(0x226)][_0x310de2(0x214)][_0x310de2(0x318)][_0x310de2(0x35a)]=_0x47ccc4['framebuffers'][_0x310de2(0x2a7)],_0x47ccc4['primitives'][_0x310de2(0x214)][_0x310de2(0x304)][_0x310de2(0x35a)]=_0x47ccc4[_0x310de2(0x2d7)][_0x310de2(0x2a7)];}}),'screen':new _0x1462e5({'commandType':_0x274e0c(0x24c),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x2b0296[_0x274e0c(0x244)](),'primitiveType':_0x4210c8[_0x274e0c(0x2ec)]['TRIANGLES'],'uniformMap':{'trailsColorTexture':function(){var _0x57c3c9=_0x274e0c;return _0x47ccc4[_0x57c3c9(0x2d7)][_0x57c3c9(0x2a7)][_0x57c3c9(0x2a1)](0x0);},'trailsDepthTexture':function(){var _0x8340c3=_0x274e0c;return _0x47ccc4[_0x8340c3(0x2d7)][_0x8340c3(0x2a7)]['depthTexture'];}},'vertexShaderSource':new _0x4210c8[(_0x274e0c(0x20b))]({'defines':[_0x274e0c(0x2dc)],'sources':[_0x2f3a7c['a']]}),'fragmentShaderSource':new _0x4210c8[(_0x274e0c(0x20b))]({'defines':['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],'sources':[_0x233761['a']]}),'rawRenderState':_0x2b0296['createRawRenderState']({'viewport':void 0x0,'depthTest':{'enabled':!0x1},'depthMask':!0x0,'blending':{'enabled':!0x0}}),'framebuffer':void 0x0})};}}]),_0x28451d;}()),_0x3c5922=_0x419905(0xe),_0x6fe6e0=_0x419905['n'](_0x3c5922),_0x3614ec=_0x419905(0xf),_0x183918=_0x419905['n'](_0x3614ec),_0x1ace55=_0x419905(0x10),_0x3001be=_0x419905['n'](_0x1ace55),_0x49a1e1=_0x419905(0x11),_0xe8114b=_0x419905['n'](_0x49a1e1),_0x4d4bf6=_0x419905(0x12),_0x1f31d5=_0x419905['n'](_0x4d4bf6),_0x47d9e3=_0x53dab5[_0x1ad61d(0x308)],_0x32cebf=(function(){var _0x4a06c9=_0x1ad61d;function _0x33b7c8(_0x28bf3a,_0x3e1cc5,_0x5c3407,_0x4f0bee){var _0x257cb9=a0_0x3604;_0xa20c6a()(this,_0x33b7c8),this[_0x257cb9(0x285)]=_0x3e1cc5,this[_0x257cb9(0x2f0)](_0x28bf3a,_0x3e1cc5),this[_0x257cb9(0x255)](_0x28bf3a,_0x5c3407,_0x4f0bee),this[_0x257cb9(0x29a)](_0x3e1cc5,_0x5c3407,_0x4f0bee);}return _0x407531()(_0x33b7c8,[{'key':'createWindTextures','value':function(_0x2581b8,_0x130fdf){var _0x11cd6f=a0_0x3604,_0x41ea6b={'context':_0x2581b8,'width':_0x130fdf[_0x11cd6f(0x262)]['lon'],'height':_0x130fdf['dimensions'][_0x11cd6f(0x2e3)]*(_0x130fdf['dimensions']['lev']||0x1),'pixelFormat':_0x47d9e3[_0x11cd6f(0x276)]['LUMINANCE'],'pixelDatatype':_0x47d9e3['PixelDatatype'][_0x11cd6f(0x229)],'flipY':!0x1,'sampler':new _0x47d9e3[(_0x11cd6f(0x354))]({'minificationFilter':_0x47d9e3[_0x11cd6f(0x2aa)][_0x11cd6f(0x25e)],'magnificationFilter':_0x47d9e3['TextureMagnificationFilter'][_0x11cd6f(0x25e)]})};this[_0x11cd6f(0x299)]={'U':_0x2b0296[_0x11cd6f(0x341)](_0x41ea6b,_0x130fdf['U'][_0x11cd6f(0x320)]),'V':_0x2b0296[_0x11cd6f(0x341)](_0x41ea6b,_0x130fdf['V'][_0x11cd6f(0x320)])};}},{'key':'createParticlesTextures','value':function(_0x1a476c,_0x573c32,_0x32e97c){var _0x16dfd7=a0_0x3604,_0x12509b={'context':_0x1a476c,'width':_0x573c32[_0x16dfd7(0x2f8)],'height':_0x573c32[_0x16dfd7(0x2f8)],'pixelFormat':_0x47d9e3[_0x16dfd7(0x276)][_0x16dfd7(0x286)],'pixelDatatype':_0x47d9e3[_0x16dfd7(0x314)][_0x16dfd7(0x229)],'flipY':!0x1,'sampler':new _0x47d9e3['Sampler']({'minificationFilter':_0x47d9e3[_0x16dfd7(0x2aa)]['NEAREST'],'magnificationFilter':_0x47d9e3[_0x16dfd7(0x33c)]['NEAREST']})},_0x3fd71c=this[_0x16dfd7(0x2bf)](_0x573c32[_0x16dfd7(0x21a)],_0x32e97c),_0x172981=new Float32Array(0x4*_0x573c32[_0x16dfd7(0x21a)])[_0x16dfd7(0x21b)](0x0);this['particlesTextures']={'particlesWind':_0x2b0296[_0x16dfd7(0x341)](_0x12509b),'currentParticlesPosition':_0x2b0296[_0x16dfd7(0x341)](_0x12509b,_0x3fd71c),'nextParticlesPosition':_0x2b0296[_0x16dfd7(0x341)](_0x12509b,_0x3fd71c),'currentParticlesSpeed':_0x2b0296[_0x16dfd7(0x341)](_0x12509b,_0x172981),'nextParticlesSpeed':_0x2b0296[_0x16dfd7(0x341)](_0x12509b,_0x172981),'postProcessingPosition':_0x2b0296[_0x16dfd7(0x341)](_0x12509b,_0x3fd71c),'postProcessingSpeed':_0x2b0296['createTexture'](_0x12509b,_0x172981)};}},{'key':'randomizeParticles','value':function(_0x135971,_0x5567a4){var _0x1ea0c1=a0_0x3604;for(var _0x415081=new Float32Array(0x4*_0x135971),_0x60961c=0x0;_0x60961c<_0x135971;_0x60961c++)_0x415081[0x4*_0x60961c]=_0x47d9e3[_0x1ea0c1(0x364)]['randomBetween'](_0x5567a4[_0x1ea0c1(0x339)]['x'],_0x5567a4[_0x1ea0c1(0x339)]['y']),_0x415081[0x4*_0x60961c+0x1]=_0x47d9e3[_0x1ea0c1(0x364)][_0x1ea0c1(0x26c)](_0x5567a4[_0x1ea0c1(0x1f3)]['x'],_0x5567a4[_0x1ea0c1(0x1f3)]['y']),_0x415081[0x4*_0x60961c+0x2]=_0x47d9e3[_0x1ea0c1(0x364)][_0x1ea0c1(0x26c)](this['data'][_0x1ea0c1(0x33a)][_0x1ea0c1(0x254)],this[_0x1ea0c1(0x285)][_0x1ea0c1(0x33a)]['max']),_0x415081[0x4*_0x60961c+0x3]=0x0;return _0x415081;}},{'key':'destroyParticlesTextures','value':function(){var _0x42366b=a0_0x3604,_0x54cc5b=this;Object[_0x42366b(0x271)](this['particlesTextures'])[_0x42366b(0x319)](function(_0x581c85){var _0x5211d2=_0x42366b;_0x54cc5b['particlesTextures'][_0x581c85][_0x5211d2(0x2c7)]();});}},{'key':_0x4a06c9(0x29a),'value':function(_0x1580f1,_0x14cc03,_0x25b137){var _0x525e3=_0x4a06c9,_0x32b978=new _0x47d9e3[(_0x525e3(0x22f))](_0x1580f1[_0x525e3(0x262)]['lon'],_0x1580f1['dimensions']['lat'],_0x1580f1[_0x525e3(0x262)][_0x525e3(0x33a)]),_0x3859b4=new _0x47d9e3[(_0x525e3(0x22f))](_0x1580f1[_0x525e3(0x2ee)][_0x525e3(0x254)],_0x1580f1[_0x525e3(0x2e3)][_0x525e3(0x254)],_0x1580f1[_0x525e3(0x33a)][_0x525e3(0x254)]),_0x4fe3d6=new _0x47d9e3[(_0x525e3(0x22f))](_0x1580f1[_0x525e3(0x2ee)][_0x525e3(0x27c)],_0x1580f1[_0x525e3(0x2e3)]['max'],_0x1580f1[_0x525e3(0x33a)][_0x525e3(0x27c)]),_0x557e2d=new _0x47d9e3[(_0x525e3(0x22f))]((_0x4fe3d6['x']-_0x3859b4['x'])/(_0x32b978['x']-0x1),(_0x4fe3d6['y']-_0x3859b4['y'])/(_0x32b978['y']-0x1),_0x32b978['z']>0x1?(_0x4fe3d6['z']-_0x3859b4['z'])/(_0x32b978['z']-0x1):0x1),_0x3cb5fc=new _0x47d9e3[(_0x525e3(0x20e))](_0x1580f1['U'][_0x525e3(0x254)],_0x1580f1['U']['max']),_0x139b7c=new _0x47d9e3[(_0x525e3(0x20e))](_0x1580f1['V']['min'],_0x1580f1['V'][_0x525e3(0x27c)]),_0x43da6e=this;this['primitives']={'getWind':new _0x1462e5({'commandType':_0x525e3(0x1e5),'uniformMap':{'U':function(){var _0x3efc33=_0x525e3;return _0x43da6e[_0x3efc33(0x299)]['U'];},'V':function(){var _0x2d6946=_0x525e3;return _0x43da6e[_0x2d6946(0x299)]['V'];},'currentParticlesPosition':function(){var _0x48aacd=_0x525e3;return _0x43da6e['particlesTextures'][_0x48aacd(0x2ae)];},'dimension':function(){return _0x32b978;},'minimum':function(){return _0x3859b4;},'maximum':function(){return _0x4fe3d6;},'interval':function(){return _0x557e2d;}},'fragmentShaderSource':new _0x47d9e3[(_0x525e3(0x20b))]({'sources':[_0x6fe6e0['a']]}),'outputTexture':this[_0x525e3(0x327)][_0x525e3(0x26f)],'preExecute':function(){var _0x57fbc4=_0x525e3;_0x43da6e[_0x57fbc4(0x226)][_0x57fbc4(0x2ea)][_0x57fbc4(0x318)][_0x57fbc4(0x2bd)]=_0x43da6e[_0x57fbc4(0x327)][_0x57fbc4(0x26f)];}}),'updateSpeed':new _0x1462e5({'commandType':'Compute','uniformMap':{'currentParticlesSpeed':function(){var _0x5916f9=_0x525e3;return _0x43da6e[_0x5916f9(0x327)][_0x5916f9(0x337)];},'particlesWind':function(){var _0x482eb0=_0x525e3;return _0x43da6e[_0x482eb0(0x327)][_0x482eb0(0x26f)];},'uSpeedRange':function(){return _0x3cb5fc;},'vSpeedRange':function(){return _0x139b7c;},'pixelSize':function(){var _0x1b64c5=_0x525e3;return _0x25b137[_0x1b64c5(0x345)];},'speedFactor':function(){var _0x1de83c=_0x525e3;return _0x14cc03[_0x1de83c(0x2f1)];}},'fragmentShaderSource':new _0x47d9e3[(_0x525e3(0x20b))]({'sources':[_0x183918['a']]}),'outputTexture':this[_0x525e3(0x327)][_0x525e3(0x21d)],'preExecute':function(){var _0x148c00=_0x525e3,_0x22e31d;_0x22e31d=_0x43da6e[_0x148c00(0x327)][_0x148c00(0x337)],_0x43da6e['particlesTextures'][_0x148c00(0x337)]=_0x43da6e[_0x148c00(0x327)][_0x148c00(0x2dd)],_0x43da6e[_0x148c00(0x327)]['postProcessingSpeed']=_0x22e31d,_0x43da6e[_0x148c00(0x226)][_0x148c00(0x2ba)][_0x148c00(0x318)][_0x148c00(0x2bd)]=_0x43da6e[_0x148c00(0x327)][_0x148c00(0x21d)];}}),'updatePosition':new _0x1462e5({'commandType':_0x525e3(0x1e5),'uniformMap':{'currentParticlesPosition':function(){var _0x537ae3=_0x525e3;return _0x43da6e['particlesTextures'][_0x537ae3(0x2ae)];},'currentParticlesSpeed':function(){var _0x2b8b80=_0x525e3;return _0x43da6e['particlesTextures'][_0x2b8b80(0x337)];}},'fragmentShaderSource':new _0x47d9e3[(_0x525e3(0x20b))]({'sources':[_0x3001be['a']]}),'outputTexture':this[_0x525e3(0x327)][_0x525e3(0x278)],'preExecute':function(){var _0x134b5c=_0x525e3,_0x461cc4;_0x461cc4=_0x43da6e[_0x134b5c(0x327)]['currentParticlesPosition'],_0x43da6e[_0x134b5c(0x327)][_0x134b5c(0x2ae)]=_0x43da6e[_0x134b5c(0x327)][_0x134b5c(0x2cc)],_0x43da6e[_0x134b5c(0x327)][_0x134b5c(0x2cc)]=_0x461cc4,_0x43da6e[_0x134b5c(0x226)][_0x134b5c(0x300)][_0x134b5c(0x318)]['outputTexture']=_0x43da6e['particlesTextures'][_0x134b5c(0x278)];}}),'postProcessingPosition':new _0x1462e5({'commandType':_0x525e3(0x1e5),'uniformMap':{'nextParticlesPosition':function(){var _0x3ac6f9=_0x525e3;return _0x43da6e[_0x3ac6f9(0x327)]['nextParticlesPosition'];},'nextParticlesSpeed':function(){return _0x43da6e['particlesTextures']['nextParticlesSpeed'];},'lonRange':function(){var _0x21c606=_0x525e3;return _0x25b137[_0x21c606(0x339)];},'latRange':function(){return _0x25b137['latRange'];},'randomCoefficient':function(){var _0x1c0d0d=_0x525e3,_0x127dfa=Math[_0x1c0d0d(0x365)]();return _0x127dfa;},'dropRate':function(){var _0x3df539=_0x525e3;return _0x14cc03[_0x3df539(0x210)];},'dropRateBump':function(){var _0xd45ca0=_0x525e3;return _0x14cc03[_0xd45ca0(0x347)];}},'fragmentShaderSource':new _0x47d9e3[(_0x525e3(0x20b))]({'sources':[_0xe8114b['a']]}),'outputTexture':this[_0x525e3(0x327)][_0x525e3(0x2cc)],'preExecute':function(){var _0x1cc758=_0x525e3;_0x43da6e[_0x1cc758(0x226)][_0x1cc758(0x2cc)][_0x1cc758(0x318)][_0x1cc758(0x2bd)]=_0x43da6e[_0x1cc758(0x327)]['postProcessingPosition'];}}),'postProcessingSpeed':new _0x1462e5({'commandType':'Compute','uniformMap':{'postProcessingPosition':function(){var _0x363da1=_0x525e3;return _0x43da6e[_0x363da1(0x327)][_0x363da1(0x2cc)];},'nextParticlesSpeed':function(){var _0x2be6b3=_0x525e3;return _0x43da6e[_0x2be6b3(0x327)][_0x2be6b3(0x21d)];}},'fragmentShaderSource':new _0x47d9e3[(_0x525e3(0x20b))]({'sources':[_0x1f31d5['a']]}),'outputTexture':this['particlesTextures'][_0x525e3(0x2dd)],'preExecute':function(){var _0x102c7e=_0x525e3;_0x43da6e[_0x102c7e(0x226)][_0x102c7e(0x2dd)][_0x102c7e(0x318)][_0x102c7e(0x2bd)]=_0x43da6e[_0x102c7e(0x327)][_0x102c7e(0x2dd)];}})};}}]),_0x33b7c8;}());function _0x552d23(_0x53dc07,_0xc8e682){var _0xde4a19=_0x1ad61d,_0xdc8450=Object['keys'](_0x53dc07);if(Object[_0xde4a19(0x332)]){var _0x473014=Object['getOwnPropertySymbols'](_0x53dc07);_0xc8e682&&(_0x473014=_0x473014[_0xde4a19(0x357)](function(_0x5a52df){var _0x1a93a5=_0xde4a19;return Object[_0x1a93a5(0x23f)](_0x53dc07,_0x5a52df)[_0x1a93a5(0x221)];})),_0xdc8450['push'][_0xde4a19(0x22a)](_0xdc8450,_0x473014);}return _0xdc8450;}var _0x247817=_0x53dab5[_0x1ad61d(0x308)],_0x365e92=(function(){var _0x5125cb=_0x1ad61d;function _0x3a872e(_0x511852,_0x1e630e,_0x3ddbf8,_0x2a872c){var _0x1545fa=a0_0x3604,_0x373445,_0x501ce1,_0x2ee512,_0x5b4ee7,_0x551052,_0x552fbd;(_0xa20c6a()(this,_0x3a872e),this['context']=_0x511852,(_0x1e630e=function(_0x15a495){var _0x34f003=a0_0x3604;for(var _0x66a21=0x1;_0x66a21<arguments['length'];_0x66a21++){var _0x40bfd9=null!=arguments[_0x66a21]?arguments[_0x66a21]:{};_0x66a21%0x2?_0x552d23(Object(_0x40bfd9),!0x0)[_0x34f003(0x319)](function(_0x3fb2cb){_0x5e924e()(_0x15a495,_0x3fb2cb,_0x40bfd9[_0x3fb2cb]);}):Object[_0x34f003(0x281)]?Object[_0x34f003(0x315)](_0x15a495,Object['getOwnPropertyDescriptors'](_0x40bfd9)):_0x552d23(Object(_0x40bfd9))[_0x34f003(0x319)](function(_0x5c92c8){var _0xd527f=_0x34f003;Object[_0xd527f(0x358)](_0x15a495,_0x5c92c8,Object[_0xd527f(0x23f)](_0x40bfd9,_0x5c92c8));});}return _0x15a495;}({},_0x1e630e))['udata']&&_0x1e630e[_0x1545fa(0x351)])&&(_0x1e630e[_0x1545fa(0x262)]={},_0x1e630e['dimensions']['lon']=_0x1e630e['cols'],_0x1e630e[_0x1545fa(0x262)]['lat']=_0x1e630e[_0x1545fa(0x2f5)],_0x1e630e[_0x1545fa(0x262)]['lev']=_0x1e630e[_0x1545fa(0x33a)]||0x1,_0x1e630e[_0x1545fa(0x2ee)]={},_0x1e630e[_0x1545fa(0x2ee)][_0x1545fa(0x254)]=_0x1e630e['xmin'],_0x1e630e[_0x1545fa(0x2ee)][_0x1545fa(0x27c)]=_0x1e630e[_0x1545fa(0x28b)],_0x1e630e[_0x1545fa(0x2e3)]={},_0x1e630e['lat'][_0x1545fa(0x254)]=_0x1e630e[_0x1545fa(0x257)],_0x1e630e[_0x1545fa(0x2e3)][_0x1545fa(0x27c)]=_0x1e630e['ymax'],_0x1e630e[_0x1545fa(0x33a)]={},_0x1e630e['lev'][_0x1545fa(0x254)]=null!==(_0x373445=_0x1e630e[_0x1545fa(0x27d)])&&void 0x0!==_0x373445?_0x373445:0x1,_0x1e630e[_0x1545fa(0x33a)][_0x1545fa(0x27c)]=null!==(_0x501ce1=_0x1e630e[_0x1545fa(0x2b9)])&&void 0x0!==_0x501ce1?_0x501ce1:0x1,_0x1e630e['U']={},_0x1e630e['U'][_0x1545fa(0x320)]=new Float32Array(_0x1e630e[_0x1545fa(0x24a)]),_0x1e630e['U']['min']=null!==(_0x2ee512=_0x1e630e[_0x1545fa(0x227)])&&void 0x0!==_0x2ee512?_0x2ee512:Math['min'][_0x1545fa(0x22a)](Math,_0x52b1e2()(_0x1e630e['udata'])),_0x1e630e['U']['max']=null!==(_0x5b4ee7=_0x1e630e[_0x1545fa(0x2ce)])&&void 0x0!==_0x5b4ee7?_0x5b4ee7:Math['max']['apply'](Math,_0x52b1e2()(_0x1e630e[_0x1545fa(0x24a)])),_0x1e630e['V']={},_0x1e630e['V'][_0x1545fa(0x320)]=new Float32Array(_0x1e630e[_0x1545fa(0x351)]),_0x1e630e['V']['min']=null!==(_0x551052=_0x1e630e[_0x1545fa(0x1f9)])&&void 0x0!==_0x551052?_0x551052:Math['min']['apply'](Math,_0x52b1e2()(_0x1e630e['vdata'])),_0x1e630e['V'][_0x1545fa(0x27c)]=null!==(_0x552fbd=_0x1e630e[_0x1545fa(0x355)])&&void 0x0!==_0x552fbd?_0x552fbd:Math[_0x1545fa(0x27c)]['apply'](Math,_0x52b1e2()(_0x1e630e[_0x1545fa(0x351)]))),(this['data']=_0x1e630e,this[_0x1545fa(0x303)]=_0x3ddbf8,this['viewerParameters']=_0x2a872c,this[_0x1545fa(0x25d)]=new _0x32cebf(this[_0x1545fa(0x23c)],this[_0x1545fa(0x285)],this['options'],this['viewerParameters']),this[_0x1545fa(0x2f2)]=new _0x4a9d8a(this[_0x1545fa(0x23c)],this['data'],this[_0x1545fa(0x303)],this[_0x1545fa(0x2e4)],this[_0x1545fa(0x25d)]));}return _0x407531()(_0x3a872e,[{'key':_0x5125cb(0x1f7),'value':function(_0x260023){var _0x5d808a=_0x5125cb,_0x1c7c73=this;this[_0x5d808a(0x25d)]['destroyParticlesTextures'](),Object[_0x5d808a(0x271)](this[_0x5d808a(0x25d)][_0x5d808a(0x299)])[_0x5d808a(0x319)](function(_0x1f3ef4){var _0x325579=_0x5d808a;_0x1c7c73[_0x325579(0x25d)][_0x325579(0x299)][_0x1f3ef4][_0x325579(0x2c7)]();}),this[_0x5d808a(0x2f2)][_0x5d808a(0x2fd)][_0x5d808a(0x1f1)][_0x5d808a(0x2c7)](),Object[_0x5d808a(0x271)](this[_0x5d808a(0x2f2)][_0x5d808a(0x2d7)])['forEach'](function(_0x1ccabc){var _0x4eb46b=_0x5d808a;_0x1c7c73[_0x4eb46b(0x2f2)]['framebuffers'][_0x1ccabc][_0x4eb46b(0x2c7)]();}),this[_0x5d808a(0x23c)]=_0x260023,this[_0x5d808a(0x25d)]=new _0x32cebf(this[_0x5d808a(0x23c)],this[_0x5d808a(0x285)],this[_0x5d808a(0x303)],this[_0x5d808a(0x2e4)]),this[_0x5d808a(0x2f2)]=new _0x4a9d8a(this[_0x5d808a(0x23c)],this['data'],this[_0x5d808a(0x303)],this[_0x5d808a(0x2e4)],this['particlesComputing']);}},{'key':_0x5125cb(0x22d),'value':function(){var _0x1b0829=_0x5125cb,_0x54d988=this,_0x2191f1=new _0x247817[(_0x1b0829(0x2ed))]({'color':new _0x247817[(_0x1b0829(0x1f8))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':void 0x0,'pass':_0x247817[_0x1b0829(0x1e4)][_0x1b0829(0x264)]});Object[_0x1b0829(0x271)](this['particlesRendering'][_0x1b0829(0x2d7)])[_0x1b0829(0x319)](function(_0x4fe4d0){var _0x23fe99=_0x1b0829;_0x2191f1[_0x23fe99(0x35a)]=_0x54d988[_0x23fe99(0x2f2)][_0x23fe99(0x2d7)][_0x4fe4d0],_0x2191f1[_0x23fe99(0x32d)](_0x54d988['context']);});}},{'key':_0x5125cb(0x259),'value':function(_0x38f8bb){var _0x397cd0=_0x5125cb;if(this[_0x397cd0(0x22d)](),this['particlesComputing']['destroyParticlesTextures'](),this[_0x397cd0(0x25d)][_0x397cd0(0x255)](this[_0x397cd0(0x23c)],this[_0x397cd0(0x303)],this[_0x397cd0(0x2e4)]),_0x38f8bb){var _0x3c687b=this['particlesRendering'][_0x397cd0(0x22e)](this[_0x397cd0(0x303)]);this[_0x397cd0(0x2f2)][_0x397cd0(0x226)][_0x397cd0(0x273)][_0x397cd0(0x260)]=_0x3c687b;var _0x362698=_0x247817['VertexArray'][_0x397cd0(0x302)]({'context':this['context'],'geometry':_0x3c687b,'attributeLocations':this['particlesRendering'][_0x397cd0(0x226)][_0x397cd0(0x273)][_0x397cd0(0x2b3)],'bufferUsage':_0x247817[_0x397cd0(0x2a8)]['STATIC_DRAW']});this[_0x397cd0(0x2f2)]['primitives']['segments'][_0x397cd0(0x318)]['vertexArray']=_0x362698;}}},{'key':_0x5125cb(0x2f9),'value':function(_0x3d3de2){var _0xccf0bf=_0x5125cb,_0x4806b3=this,_0x244da3=!0x1;this[_0xccf0bf(0x303)][_0xccf0bf(0x21a)]!=_0x3d3de2[_0xccf0bf(0x21a)]&&(_0x244da3=!0x0),Object[_0xccf0bf(0x271)](_0x3d3de2)[_0xccf0bf(0x319)](function(_0x55324a){var _0x20a2c7=_0xccf0bf;_0x4806b3[_0x20a2c7(0x303)][_0x55324a]=_0x3d3de2[_0x55324a];}),this[_0xccf0bf(0x259)](_0x244da3);}},{'key':_0x5125cb(0x216),'value':function(_0x1272ea){var _0x36afda=_0x5125cb,_0x25e8ab=this;Object[_0x36afda(0x271)](_0x1272ea)['forEach'](function(_0x42f131){_0x25e8ab['viewerParameters'][_0x42f131]=_0x1272ea[_0x42f131];}),this['refreshParticles'](!0x1);}},{'key':_0x5125cb(0x2c7),'value':function(){var _0x5a64c2=_0x5125cb,_0x32ae11=this;for(var _0x19fefa in(clearTimeout(this[_0x5a64c2(0x1f6)]),this[_0x5a64c2(0x25d)][_0x5a64c2(0x1e2)](),Object[_0x5a64c2(0x271)](this['particlesComputing'][_0x5a64c2(0x299)])[_0x5a64c2(0x319)](function(_0x355d46){var _0x5027f9=_0x5a64c2;_0x32ae11[_0x5027f9(0x25d)][_0x5027f9(0x299)][_0x355d46][_0x5027f9(0x2c7)]();}),this[_0x5a64c2(0x2f2)][_0x5a64c2(0x2fd)][_0x5a64c2(0x1f1)][_0x5a64c2(0x2c7)](),Object['keys'](this[_0x5a64c2(0x2f2)]['framebuffers'])['forEach'](function(_0x5e2ae3){var _0x31d96d=_0x5a64c2;_0x32ae11[_0x31d96d(0x2f2)][_0x31d96d(0x2d7)][_0x5e2ae3][_0x31d96d(0x2c7)]();}),this))delete this[_0x19fefa];}}]),_0x3a872e;}());function _0x3421e0(_0x2f798e,_0x2c353d){var _0x3a5d2b=_0x1ad61d,_0x1f84b1=Object['keys'](_0x2f798e);if(Object[_0x3a5d2b(0x332)]){var _0x1ac410=Object[_0x3a5d2b(0x332)](_0x2f798e);_0x2c353d&&(_0x1ac410=_0x1ac410[_0x3a5d2b(0x357)](function(_0x1eeebe){var _0x148e1d=_0x3a5d2b;return Object[_0x148e1d(0x23f)](_0x2f798e,_0x1eeebe)[_0x148e1d(0x221)];})),_0x1f84b1[_0x3a5d2b(0x208)][_0x3a5d2b(0x22a)](_0x1f84b1,_0x1ac410);}return _0x1f84b1;}function _0x5edd2e(_0x185c98){var _0x4c6730=_0x1ad61d;for(var _0x392e0f=0x1;_0x392e0f<arguments[_0x4c6730(0x2a4)];_0x392e0f++){var _0x835f9f=null!=arguments[_0x392e0f]?arguments[_0x392e0f]:{};_0x392e0f%0x2?_0x3421e0(Object(_0x835f9f),!0x0)[_0x4c6730(0x319)](function(_0x125f94){_0x5e924e()(_0x185c98,_0x125f94,_0x835f9f[_0x125f94]);}):Object['getOwnPropertyDescriptors']?Object[_0x4c6730(0x315)](_0x185c98,Object[_0x4c6730(0x281)](_0x835f9f)):_0x3421e0(Object(_0x835f9f))[_0x4c6730(0x319)](function(_0xbd8209){var _0x14f64f=_0x4c6730;Object['defineProperty'](_0x185c98,_0xbd8209,Object[_0x14f64f(0x23f)](_0x835f9f,_0xbd8209));});}return _0x185c98;}function _0x275d10(_0x4b672b){var _0x4d6f9b=(function(){var _0x522086=a0_0x3604;if(_0x522086(0x325)==typeof Reflect||!Reflect[_0x522086(0x2fb)])return!0x1;if(Reflect['construct'][_0x522086(0x268)])return!0x1;if(_0x522086(0x1ec)==typeof Proxy)return!0x0;try{return Boolean[_0x522086(0x30a)][_0x522086(0x277)][_0x522086(0x240)](Reflect[_0x522086(0x2fb)](Boolean,[],function(){})),!0x0;}catch(_0x119a92){return!0x1;}}());return function(){var _0x5e7c39=a0_0x3604,_0x36f9ed,_0x8e05c0=_0x56bc89()(_0x4b672b);if(_0x4d6f9b){var _0x46d4cb=_0x56bc89()(this)[_0x5e7c39(0x1e0)];_0x36f9ed=Reflect[_0x5e7c39(0x2fb)](_0x8e05c0,arguments,_0x46d4cb);}else _0x36f9ed=_0x8e05c0[_0x5e7c39(0x22a)](this,arguments);return _0x2c9e32()(this,_0x36f9ed);};}var _0x2635cd=_0x53dab5[_0x1ad61d(0x308)],_0x3c5e5e=_0x53dab5['layer'][_0x1ad61d(0x296)],_0x3f3882={'particlesNumber':0x1000,'fixedHeight':0x0,'fadeOpacity':0.996,'dropRate':0.003,'dropRateBump':0.01,'speedFactor':0.5,'lineWidth':0x2,'colors':[_0x1ad61d(0x2d1)]},_0x18adfe=function(_0x8fc02d){var _0x5ddaa1=_0x1ad61d;_0x598885()(_0xec47c2,_0x8fc02d);var _0x16cfe3=_0x275d10(_0xec47c2);function _0xec47c2(){var _0x5f1865=a0_0x3604,_0x554997,_0x585bf0=arguments[_0x5f1865(0x2a4)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0xa20c6a()(this,_0xec47c2),_0x585bf0=_0x5edd2e(_0x5edd2e({},_0x3f3882),_0x585bf0),(_0x554997=_0x16cfe3[_0x5f1865(0x240)](this,_0x585bf0))[_0x5f1865(0x23b)](_0x585bf0),_0x554997;}return _0x407531()(_0xec47c2,[{'key':_0x5ddaa1(0x312),'get':function(){var _0x56bff0=_0x5ddaa1;return this[_0x56bff0(0x226)];}},{'key':_0x5ddaa1(0x285),'get':function(){var _0x3f7bb8=_0x5ddaa1;return this[_0x3f7bb8(0x346)];},'set':function(_0x1a8e5f){var _0x5dbb45=_0x5ddaa1;this[_0x5dbb45(0x2df)](_0x1a8e5f);}},{'key':_0x5ddaa1(0x218),'get':function(){var _0x1e8a9c=_0x5ddaa1;return this['options'][_0x1e8a9c(0x218)];},'set':function(_0x301045){var _0x3ef865=_0x5ddaa1;this[_0x3ef865(0x303)][_0x3ef865(0x218)]=_0x301045,this[_0x3ef865(0x20d)]&&this[_0x3ef865(0x20d)][_0x3ef865(0x2f9)]({'colors':_0x301045}),this[_0x3ef865(0x360)]();}},{'key':'_mountedHook','value':function(){}},{'key':_0x5ddaa1(0x29e),'value':function(){var _0x49f592=_0x5ddaa1;this['scene']=this[_0x49f592(0x298)][_0x49f592(0x26b)],this['camera']=this[_0x49f592(0x298)][_0x49f592(0x275)],this[_0x49f592(0x226)]=new _0x2635cd[(_0x49f592(0x317))](),this[_0x49f592(0x298)][_0x49f592(0x26b)]['primitives'][_0x49f592(0x28c)](this[_0x49f592(0x226)]),this[_0x49f592(0x2e4)]={'lonRange':new _0x2635cd[(_0x49f592(0x20e))](),'latRange':new _0x2635cd[(_0x49f592(0x20e))](),'pixelSize':0x0},this[_0x49f592(0x321)]=new _0x2635cd['BoundingSphere'](_0x2635cd[_0x49f592(0x22f)]['ZERO'],6314355.63),this[_0x49f592(0x348)](),window[_0x49f592(0x250)]('resize',this[_0x49f592(0x360)]['bind'](this),!0x1),this[_0x49f592(0x2d2)]=!0x1,this[_0x49f592(0x2d9)]=!0x1,this['_map']['on'](_0x53dab5['EventType']['wheel'],this['_onMapWhellEvent'],this),this[_0x49f592(0x298)]['on'](_0x53dab5[_0x49f592(0x243)]['mouseDown'],this[_0x49f592(0x328)],this),this[_0x49f592(0x298)]['on'](_0x53dab5[_0x49f592(0x243)]['mouseUp'],this[_0x49f592(0x29b)],this),this[_0x49f592(0x298)]['on'](_0x53dab5['EventType']['mouseMove'],this[_0x49f592(0x29c)],this),this['_data']&&this[_0x49f592(0x2df)](this['_data']);}},{'key':_0x5ddaa1(0x306),'value':function(){var _0x3ae02b=_0x5ddaa1;window[_0x3ae02b(0x1e8)]('resize',this[_0x3ae02b(0x360)]),this[_0x3ae02b(0x298)][_0x3ae02b(0x35b)](_0x53dab5[_0x3ae02b(0x243)][_0x3ae02b(0x1ee)],this[_0x3ae02b(0x256)],this),this['_map'][_0x3ae02b(0x35b)](_0x53dab5[_0x3ae02b(0x243)][_0x3ae02b(0x2a0)],this['_onMapWhellEvent'],this),this[_0x3ae02b(0x298)][_0x3ae02b(0x35b)](_0x53dab5[_0x3ae02b(0x243)][_0x3ae02b(0x2a9)],this['_onMouseDownEvent'],this),this[_0x3ae02b(0x298)][_0x3ae02b(0x35b)](_0x53dab5[_0x3ae02b(0x243)][_0x3ae02b(0x2cb)],this['_onMouseUpEvent'],this),this['_map'][_0x3ae02b(0x35b)](_0x53dab5[_0x3ae02b(0x243)][_0x3ae02b(0x2e7)],this[_0x3ae02b(0x29c)],this),this[_0x3ae02b(0x226)][_0x3ae02b(0x233)](),this[_0x3ae02b(0x298)][_0x3ae02b(0x26b)][_0x3ae02b(0x226)][_0x3ae02b(0x28e)](this[_0x3ae02b(0x226)]);}},{'key':'resize','value':function(){var _0x330d4e=_0x5ddaa1;this[_0x330d4e(0x27e)]&&this[_0x330d4e(0x20d)]&&(this[_0x330d4e(0x226)]['show']=!0x1,this[_0x330d4e(0x226)]['removeAll'](),this['_map'][_0x330d4e(0x1ef)](_0x53dab5[_0x330d4e(0x243)][_0x330d4e(0x1ee)],this['_onMap_preRenderEvent'],this));}},{'key':_0x5ddaa1(0x256),'value':function(_0x39f9e5){var _0x4b1084=_0x5ddaa1;this['particleSystem'][_0x4b1084(0x1f7)](this[_0x4b1084(0x26b)]['context']),this[_0x4b1084(0x31e)](),this[_0x4b1084(0x226)][_0x4b1084(0x27e)]=!0x0;}},{'key':_0x5ddaa1(0x2fc),'value':function(_0x4c073b){var _0x222487=_0x5ddaa1,_0x20e036=this;clearTimeout(this['refreshTimer']),this[_0x222487(0x27e)]&&this['particleSystem']&&(this[_0x222487(0x226)][_0x222487(0x27e)]=!0x1,this[_0x222487(0x261)]=setTimeout(function(){var _0x3591d3=_0x222487;_0x20e036[_0x3591d3(0x27e)]&&_0x20e036['redraw']();},0xc8));}},{'key':_0x5ddaa1(0x328),'value':function(_0x2806bd){var _0x56544e=_0x5ddaa1;this[_0x56544e(0x2d2)]=!0x0;}},{'key':_0x5ddaa1(0x29c),'value':function(_0xacd7d4){var _0x58693e=_0x5ddaa1;this[_0x58693e(0x27e)]&&this['particleSystem']&&this[_0x58693e(0x2d2)]&&(this[_0x58693e(0x226)][_0x58693e(0x27e)]=!0x1,this[_0x58693e(0x2d9)]=!0x0);}},{'key':_0x5ddaa1(0x29b),'value':function(_0x2c0f56){var _0x55c22b=_0x5ddaa1;this[_0x55c22b(0x27e)]&&this[_0x55c22b(0x20d)]&&(this[_0x55c22b(0x2d2)]&&this[_0x55c22b(0x2d9)]&&this[_0x55c22b(0x30f)](),this['primitives'][_0x55c22b(0x27e)]=!0x0,this[_0x55c22b(0x2d2)]=!0x1,this[_0x55c22b(0x2d9)]=!0x1);}},{'key':'redraw','value':function(){var _0x5c7720=_0x5ddaa1;this[_0x5c7720(0x298)]&&this[_0x5c7720(0x27e)]&&(this[_0x5c7720(0x348)](),this[_0x5c7720(0x20d)][_0x5c7720(0x216)](this[_0x5c7720(0x2e4)]),this[_0x5c7720(0x226)][_0x5c7720(0x27e)]=!0x0);}},{'key':'setData','value':function(_0x115ffa){var _0x509f7d=_0x5ddaa1;this[_0x509f7d(0x346)]=_0x115ffa,this['particleSystem']&&this['particleSystem']['destroy'](),this[_0x509f7d(0x20d)]=new _0x365e92(this[_0x509f7d(0x26b)][_0x509f7d(0x23c)],_0x115ffa,this['getOptions'](),this[_0x509f7d(0x2e4)]),this['addPrimitives']();}},{'key':_0x5ddaa1(0x23b),'value':function(_0x3d3d3e){var _0x253894=_0x5ddaa1;if(_0x3d3d3e){for(var _0x5afe79 in _0x3d3d3e)this[_0x5afe79]=_0x3d3d3e[_0x5afe79];}this[_0x253894(0x20d)]&&this[_0x253894(0x20d)]['setOptions'](this['getOptions']());}},{'key':_0x5ddaa1(0x219),'value':function(){var _0x2e8919=_0x5ddaa1,_0x46833b=Math['ceil'](Math['sqrt'](this[_0x2e8919(0x2bc)]));return this[_0x2e8919(0x2bc)]=_0x46833b*_0x46833b,{'particlesTextureSize':_0x46833b,'maxParticles':this[_0x2e8919(0x2bc)],'particleHeight':this[_0x2e8919(0x34b)],'fadeOpacity':this[_0x2e8919(0x2ca)],'dropRate':this[_0x2e8919(0x210)],'dropRateBump':this[_0x2e8919(0x347)],'speedFactor':this[_0x2e8919(0x2f1)],'lineWidth':this[_0x2e8919(0x1ea)],'globeLayer':this[_0x2e8919(0x2d6)],'WMS_URL':this[_0x2e8919(0x1f0)],'colors':this['colors']};}},{'key':_0x5ddaa1(0x31e),'value':function(){var _0x321a34=_0x5ddaa1;this[_0x321a34(0x226)]['add'](this[_0x321a34(0x20d)][_0x321a34(0x25d)][_0x321a34(0x226)]['getWind']),this['primitives'][_0x321a34(0x28c)](this[_0x321a34(0x20d)][_0x321a34(0x25d)]['primitives'][_0x321a34(0x2ba)]),this[_0x321a34(0x226)][_0x321a34(0x28c)](this[_0x321a34(0x20d)][_0x321a34(0x25d)]['primitives']['updatePosition']),this[_0x321a34(0x226)][_0x321a34(0x28c)](this[_0x321a34(0x20d)][_0x321a34(0x25d)]['primitives'][_0x321a34(0x2cc)]),this['primitives'][_0x321a34(0x28c)](this[_0x321a34(0x20d)][_0x321a34(0x25d)][_0x321a34(0x226)][_0x321a34(0x2dd)]),this[_0x321a34(0x226)][_0x321a34(0x28c)](this[_0x321a34(0x20d)][_0x321a34(0x2f2)][_0x321a34(0x226)][_0x321a34(0x273)]),this[_0x321a34(0x226)][_0x321a34(0x28c)](this[_0x321a34(0x20d)][_0x321a34(0x2f2)][_0x321a34(0x226)]['trails']),this[_0x321a34(0x226)][_0x321a34(0x28c)](this[_0x321a34(0x20d)][_0x321a34(0x2f2)][_0x321a34(0x226)][_0x321a34(0x1ed)]);}},{'key':_0x5ddaa1(0x348),'value':function(){var _0x2f17ce=_0x5ddaa1,_0x40de8c=this['camera'][_0x2f17ce(0x25c)](this[_0x2f17ce(0x26b)]['globe']['ellipsoid']);if(!_0x40de8c){var _0x1baaa7=this[_0x2f17ce(0x298)][_0x2f17ce(0x24e)]();_0x40de8c=_0x2635cd['Rectangle'][_0x2f17ce(0x2e6)](_0x1baaa7[_0x2f17ce(0x1e6)],_0x1baaa7['ymin'],_0x1baaa7[_0x2f17ce(0x28b)],_0x1baaa7[_0x2f17ce(0x230)]);}var _0x528b75=_0x2b0296['viewRectangleToLonLatRange'](_0x40de8c);this[_0x2f17ce(0x2e4)]['lonRange']['x']=_0x528b75[_0x2f17ce(0x2ee)]['min'],this[_0x2f17ce(0x2e4)][_0x2f17ce(0x339)]['y']=_0x528b75[_0x2f17ce(0x2ee)][_0x2f17ce(0x27c)],this['viewerParameters'][_0x2f17ce(0x1f3)]['x']=_0x528b75[_0x2f17ce(0x2e3)][_0x2f17ce(0x254)],this[_0x2f17ce(0x2e4)][_0x2f17ce(0x1f3)]['y']=_0x528b75[_0x2f17ce(0x2e3)][_0x2f17ce(0x27c)];var _0x5b8482=this[_0x2f17ce(0x275)][_0x2f17ce(0x34c)](this['globeBoundingSphere'],this['scene'][_0x2f17ce(0x21e)],this[_0x2f17ce(0x26b)][_0x2f17ce(0x2b6)]);_0x5b8482>0x0&&(this['viewerParameters'][_0x2f17ce(0x345)]=_0x5b8482);}}]),_0xec47c2;}(_0x3c5e5e);_0x53dab5['LayerUtil'][_0x1ad61d(0x2ff)]('wind',_0x18adfe),_0x53dab5['layer'][_0x1ad61d(0x334)]=_0x18adfe;var _0x592485=_0x407531()(function _0x365cae(){var _0x3f3c75=_0x1ad61d;_0xa20c6a()(this,_0x365cae),this[_0x3f3c75(0x237)]=null,this[_0x3f3c75(0x2e3)]=null,this[_0x3f3c75(0x2f4)]=null,this[_0x3f3c75(0x2da)]=null,this[_0x3f3c75(0x34d)]=null;}),_0x5d9541=(function(){var _0x456492=_0x1ad61d;function _0x383df5(_0x260881,_0x445b39){var _0xa366a9=a0_0x3604;_0xa20c6a()(this,_0x383df5),this[_0xa366a9(0x2f5)]=_0x260881[_0xa366a9(0x2f5)],this[_0xa366a9(0x2fa)]=_0x260881[_0xa366a9(0x2fa)],this['xmin']=_0x260881[_0xa366a9(0x1e6)],this[_0xa366a9(0x28b)]=_0x260881[_0xa366a9(0x28b)],this[_0xa366a9(0x257)]=_0x260881['ymin'],this[_0xa366a9(0x230)]=_0x260881['ymax'],this[_0xa366a9(0x2e8)]=[];var _0x5e0faf=_0x260881[_0xa366a9(0x24a)],_0x7708fa=_0x260881['vdata'],_0x2ea740=!0x1;_0x5e0faf['length']===this[_0xa366a9(0x2f5)]&&_0x5e0faf[0x0]['length']===this['cols']&&(_0x2ea740=!0x0);for(var _0x52aaca=0x0,_0x4c68b1=null,_0xa53be9=null,_0x38bf39=0x0;_0x38bf39<this[_0xa366a9(0x2f5)];_0x38bf39++){_0x4c68b1=[];for(var _0x42ada5=0x0;_0x42ada5<this[_0xa366a9(0x2fa)];_0x42ada5++,_0x52aaca++)_0xa53be9=_0x2ea740?this['_calcUV'](_0x5e0faf[_0x38bf39][_0x42ada5],_0x7708fa[_0x38bf39][_0x42ada5]):this[_0xa366a9(0x283)](_0x5e0faf[_0x52aaca],_0x7708fa[_0x52aaca]),_0x4c68b1[_0xa366a9(0x208)](_0xa53be9);this[_0xa366a9(0x2e8)][_0xa366a9(0x208)](_0x4c68b1);}_0x445b39&&this[_0xa366a9(0x2e8)][_0xa366a9(0x313)]();}return _0x407531()(_0x383df5,[{'key':'toGridXY','value':function(_0x5d58c0,_0x2bcc4d){var _0xa741b9=a0_0x3604;return{'x':(_0x5d58c0-this[_0xa741b9(0x1e6)])/(this[_0xa741b9(0x28b)]-this['xmin'])*(this[_0xa741b9(0x2fa)]-0x1),'y':(this[_0xa741b9(0x230)]-_0x2bcc4d)/(this[_0xa741b9(0x230)]-this[_0xa741b9(0x257)])*(this[_0xa741b9(0x2f5)]-0x1)};}},{'key':_0x456492(0x1fa),'value':function(_0xba0f4d,_0x58044f){var _0x4f3f88=_0x456492;if(_0xba0f4d<0x0||_0xba0f4d>=this[_0x4f3f88(0x2fa)]||_0x58044f>=this[_0x4f3f88(0x2f5)])return[0x0,0x0,0x0];var _0x51a1da,_0x246fb9,_0x2db5b3=Math[_0x4f3f88(0x356)](_0xba0f4d),_0x419040=Math[_0x4f3f88(0x356)](_0x58044f);if(_0x2db5b3===_0xba0f4d&&_0x419040===_0x58044f)return this['grid'][_0x58044f][_0xba0f4d];_0x51a1da=_0x2db5b3+0x1,_0x246fb9=_0x419040+0x1;var _0x380701=this[_0x4f3f88(0x1fa)](_0x2db5b3,_0x419040),_0x5cff72=this[_0x4f3f88(0x1fa)](_0x51a1da,_0x419040),_0xce453b=this[_0x4f3f88(0x1fa)](_0x2db5b3,_0x246fb9),_0x5908b3=this['getUVByXY'](_0x51a1da,_0x246fb9),_0x4b2927=null;try{_0x4b2927=this['_bilinearInterpolation'](_0xba0f4d-_0x2db5b3,_0x58044f-_0x419040,_0x380701,_0x5cff72,_0xce453b,_0x5908b3);}catch(_0x3e5b0c){console[_0x4f3f88(0x1eb)](_0xba0f4d,_0x58044f);}return _0x4b2927;}},{'key':_0x456492(0x35c),'value':function(_0x5a648e,_0x2ed75c,_0x4a0e95,_0x20f667,_0x31bf95,_0x8980ee){var _0x2c7f14=_0x456492,_0x2d723b=0x1-_0x5a648e,_0x317834=0x1-_0x2ed75c,_0x766632=_0x2d723b*_0x317834,_0x40a2a3=_0x5a648e*_0x317834,_0x59c326=_0x2d723b*_0x2ed75c,_0x38e088=_0x5a648e*_0x2ed75c,_0x41bce8=_0x4a0e95[0x0]*_0x766632+_0x20f667[0x0]*_0x40a2a3+_0x31bf95[0x0]*_0x59c326+_0x8980ee[0x0]*_0x38e088,_0x1a9c3d=_0x4a0e95[0x1]*_0x766632+_0x20f667[0x1]*_0x40a2a3+_0x31bf95[0x1]*_0x59c326+_0x8980ee[0x1]*_0x38e088;return this[_0x2c7f14(0x283)](_0x41bce8,_0x1a9c3d);}},{'key':_0x456492(0x283),'value':function(_0x5b3bfc,_0x32d26a){return[+_0x5b3bfc,+_0x32d26a,Math['sqrt'](_0x5b3bfc*_0x5b3bfc+_0x32d26a*_0x32d26a)];}},{'key':_0x456492(0x35d),'value':function(_0x34e32d,_0x12b267){var _0x38a2f7=_0x456492;if(!this[_0x38a2f7(0x31f)](_0x34e32d,_0x12b267))return null;var _0x419e9e=this['toGridXY'](_0x34e32d,_0x12b267);return this[_0x38a2f7(0x1fa)](_0x419e9e['x'],_0x419e9e['y']);}},{'key':'isInExtent','value':function(_0x43df1e,_0x35f9d0){var _0x2e795c=_0x456492;return _0x43df1e>=this[_0x2e795c(0x1e6)]&&_0x43df1e<=this[_0x2e795c(0x28b)]&&_0x35f9d0>=this[_0x2e795c(0x257)]&&_0x35f9d0<=this['ymax'];}},{'key':'getRandomLatLng','value':function(){var _0x390567=_0x456492,_0x106b81=_0x127bd9(this['xmin'],this[_0x390567(0x28b)]);return{'lat':_0x127bd9(this[_0x390567(0x257)],this[_0x390567(0x230)]),'lng':_0x106b81};}}]),_0x383df5;}());function _0x127bd9(_0x52f54b,_0x55e52c){var _0x29914c=_0x1ad61d;return _0x52f54b+Math[_0x29914c(0x365)]()*(_0x55e52c-_0x52f54b);}function _0x56d415(_0x2c73d1){var _0x3dd2c1=(function(){var _0x3683ca=a0_0x3604;if(_0x3683ca(0x325)==typeof Reflect||!Reflect['construct'])return!0x1;if(Reflect[_0x3683ca(0x2fb)]['sham'])return!0x1;if('function'==typeof Proxy)return!0x0;try{return Boolean[_0x3683ca(0x30a)]['valueOf'][_0x3683ca(0x240)](Reflect[_0x3683ca(0x2fb)](Boolean,[],function(){})),!0x0;}catch(_0x2fd3dc){return!0x1;}}());return function(){var _0x350f0a=a0_0x3604,_0x1b855a,_0x1c6290=_0x56bc89()(_0x2c73d1);if(_0x3dd2c1){var _0x1d6b50=_0x56bc89()(this)[_0x350f0a(0x1e0)];_0x1b855a=Reflect[_0x350f0a(0x2fb)](_0x1c6290,arguments,_0x1d6b50);}else _0x1b855a=_0x1c6290[_0x350f0a(0x22a)](this,arguments);return _0x2c9e32()(this,_0x1b855a);};}var _0x14430c=_0x53dab5[_0x1ad61d(0x308)],_0x13f2d9=function(_0x14af61){var _0x31376c=_0x1ad61d;_0x598885()(_0x1f0d93,_0x14af61);var _0x2d6aa8=_0x56d415(_0x1f0d93);function _0x1f0d93(){var _0x5dc0ba=a0_0x3604,_0x219418,_0x5efc72=arguments[_0x5dc0ba(0x2a4)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0xa20c6a()(this,_0x1f0d93),(_0x219418=_0x2d6aa8[_0x5dc0ba(0x240)](this,_0x5efc72))['_setOptionsHook'](_0x5efc72),_0x219418[_0x5dc0ba(0x342)]=null,_0x219418;}return _0x407531()(_0x1f0d93,[{'key':_0x31376c(0x23b),'value':function(_0x85f021){var _0x5713fb=_0x31376c;this[_0x5713fb(0x2c2)]=[0x0,0x0],this[_0x5713fb(0x1f4)]=[],this[_0x5713fb(0x23e)]=_0x85f021['speedRate']||0x32,this[_0x5713fb(0x2a6)]=_0x85f021[_0x5713fb(0x2bc)]||0x1000,this[_0x5713fb(0x1f5)]=_0x85f021[_0x5713fb(0x2ef)]||0x78,this['frameTime']=0x3e8/(_0x85f021[_0x5713fb(0x266)]||0xa),this[_0x5713fb(0x2a5)]=_0x14430c[_0x5713fb(0x288)](this[_0x5713fb(0x303)][_0x5713fb(0x311)],!0x1),this['color']=_0x85f021[_0x5713fb(0x32e)]||_0x5713fb(0x291),this['lineWidth']=_0x85f021[_0x5713fb(0x1ea)]||0x1,this[_0x5713fb(0x34b)]=_0x14430c[_0x5713fb(0x288)](_0x85f021[_0x5713fb(0x34b)],0x0),this['reverseY']=_0x14430c[_0x5713fb(0x288)](_0x85f021['reverseY'],!0x1);}},{'key':_0x31376c(0x312),'get':function(){var _0x4fdb10=_0x31376c;return this[_0x4fdb10(0x342)];}},{'key':_0x31376c(0x35e),'get':function(){var _0x15b417=_0x31376c;return this[_0x15b417(0x298)][_0x15b417(0x26b)]['canvas'][_0x15b417(0x25b)];}},{'key':'canvasHeight','get':function(){var _0x11d921=_0x31376c;return this[_0x11d921(0x298)]['scene'][_0x11d921(0x342)][_0x11d921(0x2b5)];}},{'key':_0x31376c(0x311),'get':function(){var _0x3cd092=_0x31376c;return this[_0x3cd092(0x2a5)];},'set':function(_0x223727){var _0x1d8242=_0x31376c;this[_0x1d8242(0x2a5)]=_0x223727,this[_0x1d8242(0x342)]&&(this[_0x1d8242(0x342)][_0x1d8242(0x225)]['pointer-events']=_0x223727?'all':'none');}},{'key':_0x31376c(0x23e),'get':function(){return this['_speedRate'];},'set':function(_0x5bb06e){var _0x3652a8=_0x31376c;this[_0x3652a8(0x279)]=0x64*(0x64-(_0x5bb06e>0x63?0x63:_0x5bb06e)),this[_0x3652a8(0x1fc)]();}},{'key':_0x31376c(0x2bc),'get':function(){var _0x478a4e=_0x31376c;return this[_0x478a4e(0x2a6)];},'set':function(_0x410c77){var _0x2d0395=_0x31376c,_0x2c1596=this;this['_particlesNumber']=_0x410c77,clearTimeout(this[_0x2d0395(0x282)]),this[_0x2d0395(0x282)]=setTimeout(function(){var _0x20268e=_0x2d0395;_0x2c1596[_0x20268e(0x30f)]();},0x1f4);}},{'key':_0x31376c(0x2ef),'get':function(){var _0x43684a=_0x31376c;return this[_0x43684a(0x1f5)];},'set':function(_0x5c22a5){var _0x4a78b3=_0x31376c,_0x51f976=this;this[_0x4a78b3(0x1f5)]=_0x5c22a5,clearTimeout(this[_0x4a78b3(0x282)]),this['_canrefresh']=setTimeout(function(){var _0x5dbf12=_0x4a78b3;_0x51f976[_0x5dbf12(0x30f)]();},0x1f4);}},{'key':_0x31376c(0x285),'get':function(){var _0x8cd4a1=_0x31376c;return this[_0x8cd4a1(0x207)];},'set':function(_0x28a99a){var _0x123f65=_0x31376c;this[_0x123f65(0x2df)](_0x28a99a);}},{'key':_0x31376c(0x305),'value':function(_0x41b9de){var _0x3abf8d=_0x31376c;_0x41b9de?this['_addedHook']():(this[_0x3abf8d(0x207)]&&(this[_0x3abf8d(0x303)][_0x3abf8d(0x285)]=this[_0x3abf8d(0x207)]),this[_0x3abf8d(0x306)]());}},{'key':_0x31376c(0x258),'value':function(){}},{'key':_0x31376c(0x29e),'value':function(){var _0x53651b=_0x31376c;this['canvas']=this[_0x53651b(0x246)](),this[_0x53651b(0x217)]=this[_0x53651b(0x342)][_0x53651b(0x34e)]('2d'),this[_0x53651b(0x353)](),this['options'][_0x53651b(0x285)]&&this['setData'](this[_0x53651b(0x303)][_0x53651b(0x285)]);}},{'key':'_removedHook','value':function(){var _0x377760=_0x31376c;this['clear'](),this[_0x377760(0x316)](),this[_0x377760(0x342)]&&(this['_map']['container'][_0x377760(0x280)](this[_0x377760(0x342)]),delete this[_0x377760(0x342)]);}},{'key':'_createCanvas','value':function(){var _0x581b8d=_0x31376c,_0x56b363=window[_0x581b8d(0x25a)]['createElement'](_0x581b8d(0x342));_0x56b363['style']['position']=_0x581b8d(0x23a),_0x56b363[_0x581b8d(0x225)]['top']='0px',_0x56b363['style'][_0x581b8d(0x35f)]='0px',_0x56b363['style'][_0x581b8d(0x23d)]=_0x581b8d(0x2c5),_0x56b363[_0x581b8d(0x225)][_0x581b8d(0x205)]=_0x581b8d(0x2c5),_0x56b363[_0x581b8d(0x225)][_0x581b8d(0x311)]=this[_0x581b8d(0x2a5)]?_0x581b8d(0x290):_0x581b8d(0x1f2),_0x56b363[_0x581b8d(0x225)][_0x581b8d(0x252)]=0xa,_0x56b363[_0x581b8d(0x26a)]('id',_0x581b8d(0x24b)),_0x56b363[_0x581b8d(0x26a)]('class',_0x581b8d(0x24b)),this[_0x581b8d(0x298)]['container']['appendChild'](_0x56b363);var _0x2ec4a3=this[_0x581b8d(0x298)][_0x581b8d(0x26b)];return _0x56b363[_0x581b8d(0x23d)]=_0x2ec4a3[_0x581b8d(0x342)][_0x581b8d(0x25b)],_0x56b363['height']=_0x2ec4a3['canvas'][_0x581b8d(0x2b5)],_0x56b363;}},{'key':_0x31376c(0x360),'value':function(){var _0x53b828=_0x31376c;this[_0x53b828(0x342)]&&(this[_0x53b828(0x342)][_0x53b828(0x23d)]=this[_0x53b828(0x35e)],this[_0x53b828(0x342)][_0x53b828(0x205)]=this[_0x53b828(0x301)]);}},{'key':_0x31376c(0x353),'value':function(){var _0x313546=_0x31376c,_0x31dae6=this,_0x1dc787=Date[_0x313546(0x322)]();!function _0x4bafd8(){var _0x1fe2a4=_0x313546;_0x31dae6[_0x1fe2a4(0x2b0)]=window[_0x1fe2a4(0x2c4)](_0x4bafd8);var _0x54cbfb=Date['now'](),_0xedff48=_0x54cbfb-_0x1dc787;_0xedff48>_0x31dae6['frameTime']&&(_0x1dc787=_0x54cbfb-_0xedff48%_0x31dae6['frameTime'],_0x31dae6[_0x1fe2a4(0x1e1)]());}(),window[_0x313546(0x250)](_0x313546(0x360),this['resize']['bind'](this),!0x1),this[_0x313546(0x2d2)]=!0x1,this[_0x313546(0x2d9)]=!0x1,this[_0x313546(0x298)]['on'](_0x53dab5[_0x313546(0x243)][_0x313546(0x2a0)],this[_0x313546(0x2fc)],this),this[_0x313546(0x298)]['on'](_0x53dab5[_0x313546(0x243)][_0x313546(0x2a9)],this[_0x313546(0x328)],this),this[_0x313546(0x298)]['on'](_0x53dab5[_0x313546(0x243)]['mouseUp'],this['_onMouseUpEvent'],this),this['_map']['on'](_0x53dab5[_0x313546(0x243)][_0x313546(0x2e7)],this[_0x313546(0x29c)],this);}},{'key':_0x31376c(0x316),'value':function(){var _0x2fd43a=_0x31376c;window[_0x2fd43a(0x366)](this[_0x2fd43a(0x2b0)]),delete this[_0x2fd43a(0x2b0)],window[_0x2fd43a(0x1e8)](_0x2fd43a(0x360),this[_0x2fd43a(0x360)]),this[_0x2fd43a(0x298)]['off'](_0x53dab5[_0x2fd43a(0x243)]['wheel'],this[_0x2fd43a(0x2fc)],this),this[_0x2fd43a(0x298)][_0x2fd43a(0x35b)](_0x53dab5['EventType']['mouseDown'],this[_0x2fd43a(0x328)],this),this[_0x2fd43a(0x298)][_0x2fd43a(0x35b)](_0x53dab5[_0x2fd43a(0x243)][_0x2fd43a(0x2cb)],this[_0x2fd43a(0x29b)],this),this['_map'][_0x2fd43a(0x35b)](_0x53dab5[_0x2fd43a(0x243)][_0x2fd43a(0x2e7)],this['_onMouseMoveEvent'],this);}},{'key':'_onMapWhellEvent','value':function(_0x502b8a){var _0x170f1d=_0x31376c,_0x1cc799=this;clearTimeout(this['refreshTimer']),this[_0x170f1d(0x27e)]&&this[_0x170f1d(0x342)]&&(this[_0x170f1d(0x342)][_0x170f1d(0x225)][_0x170f1d(0x330)]='hidden',this[_0x170f1d(0x261)]=setTimeout(function(){var _0x27f8a6=_0x170f1d;_0x1cc799[_0x27f8a6(0x27e)]&&(_0x1cc799[_0x27f8a6(0x30f)](),_0x1cc799[_0x27f8a6(0x342)][_0x27f8a6(0x225)][_0x27f8a6(0x330)]=_0x27f8a6(0x2eb));},0xc8));}},{'key':_0x31376c(0x328),'value':function(_0x445a4a){this['mouse_down']=!0x0;}},{'key':'_onMouseMoveEvent','value':function(_0x5456a4){var _0x1cb587=_0x31376c;this['show']&&this[_0x1cb587(0x342)]&&this['mouse_down']&&(this[_0x1cb587(0x342)][_0x1cb587(0x225)][_0x1cb587(0x330)]=_0x1cb587(0x32b),this[_0x1cb587(0x2d9)]=!0x0);}},{'key':_0x31376c(0x29b),'value':function(_0x483121){var _0x5a9a90=_0x31376c;this[_0x5a9a90(0x27e)]&&this[_0x5a9a90(0x342)]&&(this[_0x5a9a90(0x2d2)]&&this[_0x5a9a90(0x2d9)]&&this[_0x5a9a90(0x30f)](),this[_0x5a9a90(0x342)][_0x5a9a90(0x225)]['visibility']=_0x5a9a90(0x2eb),this[_0x5a9a90(0x2d2)]=!0x1,this[_0x5a9a90(0x2d9)]=!0x1);}},{'key':_0x31376c(0x30f),'value':function(){var _0x5a0187=_0x31376c;this[_0x5a0187(0x27e)]&&this[_0x5a0187(0x33b)]&&(this['particles']=[],this[_0x5a0187(0x20f)]());}},{'key':_0x31376c(0x2df),'value':function(_0x192a78){var _0x262553=_0x31376c;this[_0x262553(0x2e5)](),this[_0x262553(0x207)]=_0x192a78,this[_0x262553(0x33b)]=new _0x5d9541(this['windData'],this[_0x262553(0x2d8)]),this[_0x262553(0x20f)]();}},{'key':_0x31376c(0x20f),'value':function(){var _0x2e826a=_0x31376c;this[_0x2e826a(0x1fc)]();for(var _0x1f8ae7=0x0;_0x1f8ae7<this['particlesNumber'];_0x1f8ae7++){var _0x124c19=this[_0x2e826a(0x215)](new _0x592485());this['particles'][_0x2e826a(0x208)](_0x124c19);}this['canvasContext']['fillStyle']=_0x2e826a(0x228),this[_0x2e826a(0x217)]['globalAlpha']=0.6,this[_0x2e826a(0x1e1)]();}},{'key':'_calcStep','value':function(){var _0xb0e42e=_0x31376c;this['windField']&&(this['calc_speedRate']=[(this[_0xb0e42e(0x33b)][_0xb0e42e(0x28b)]-this[_0xb0e42e(0x33b)][_0xb0e42e(0x1e6)])/this[_0xb0e42e(0x23e)],(this[_0xb0e42e(0x33b)]['ymax']-this[_0xb0e42e(0x33b)][_0xb0e42e(0x257)])/this['speedRate']]);}},{'key':_0x31376c(0x1e1),'value':function(){var _0x2034db=_0x31376c,_0x42d109=this;if(this[_0x2034db(0x27e)]&&!(this[_0x2034db(0x1f4)]['length']<=0x0)){var _0x2195cc=null,_0x5041b4=null,_0x2f1bdc=null;this[_0x2034db(0x1f4)]['forEach'](function(_0x3c744e){var _0x1066c7=_0x2034db;if(_0x3c744e[_0x1066c7(0x34d)]<=0x0&&_0x42d109[_0x1066c7(0x215)](_0x3c744e),_0x3c744e[_0x1066c7(0x34d)]>0x0){var _0x4d2294=_0x3c744e[_0x1066c7(0x2f4)],_0xd05be3=_0x3c744e[_0x1066c7(0x2da)];(_0x2f1bdc=_0x42d109[_0x1066c7(0x33b)][_0x1066c7(0x35d)](_0x4d2294,_0xd05be3))?(_0x2195cc=_0x4d2294+_0x42d109[_0x1066c7(0x2c2)][0x0]*_0x2f1bdc[0x0],_0x5041b4=_0xd05be3+_0x42d109['calc_speedRate'][0x1]*_0x2f1bdc[0x1],_0x3c744e['lng']=_0x4d2294,_0x3c744e[_0x1066c7(0x2e3)]=_0xd05be3,_0x3c744e[_0x1066c7(0x2f4)]=_0x2195cc,_0x3c744e[_0x1066c7(0x2da)]=_0x5041b4,_0x3c744e[_0x1066c7(0x34d)]--):_0x3c744e[_0x1066c7(0x34d)]=0x0;}}),this[_0x2034db(0x1fb)]();}}},{'key':_0x31376c(0x350),'value':function(_0x56c5b8,_0x432d72,_0x598fc9){var _0x2862a6=_0x31376c,_0x53735b=_0x14430c[_0x2862a6(0x22f)]['fromDegrees'](_0x56c5b8,_0x432d72,this[_0x2862a6(0x34b)]),_0x3281d1=this[_0x2862a6(0x298)]['scene'];if(_0x3281d1[_0x2862a6(0x333)]===_0x14430c['SceneMode'][_0x2862a6(0x297)]&&!new _0x14430c[(_0x2862a6(0x32c))](_0x3281d1[_0x2862a6(0x274)][_0x2862a6(0x231)],_0x3281d1['camera'][_0x2862a6(0x20c)])['isPointVisible'](_0x53735b))return _0x598fc9['age']=0x0,null;var _0xd087e=_0x14430c[_0x2862a6(0x2ad)][_0x2862a6(0x253)](this[_0x2862a6(0x298)][_0x2862a6(0x26b)],_0x53735b);return _0xd087e?[_0xd087e['x'],_0xd087e['y']]:null;}},{'key':'_drawLines','value':function(){var _0x11ad6c=_0x31376c,_0x41bef0=this,_0x19a2ab=this[_0x11ad6c(0x1f4)];this[_0x11ad6c(0x217)][_0x11ad6c(0x1ea)]=_0x41bef0[_0x11ad6c(0x1ea)],this[_0x11ad6c(0x217)][_0x11ad6c(0x2d4)]=_0x11ad6c(0x251),this['canvasContext'][_0x11ad6c(0x2e2)](0x0,0x0,this[_0x11ad6c(0x35e)],this[_0x11ad6c(0x301)]),this[_0x11ad6c(0x217)][_0x11ad6c(0x2d4)]=_0x11ad6c(0x29f),this[_0x11ad6c(0x217)][_0x11ad6c(0x2f6)]=0.9,this[_0x11ad6c(0x217)]['beginPath'](),this[_0x11ad6c(0x217)][_0x11ad6c(0x293)]=this[_0x11ad6c(0x32e)];var _0x4484bd=this[_0x11ad6c(0x298)]['scene']['mode']!==_0x14430c[_0x11ad6c(0x289)][_0x11ad6c(0x297)];_0x19a2ab['forEach'](function(_0x1822c2){var _0x2be5d1=_0x11ad6c,_0x3cf91b=_0x41bef0[_0x2be5d1(0x350)](_0x1822c2[_0x2be5d1(0x237)],_0x1822c2[_0x2be5d1(0x2e3)],_0x1822c2),_0xe0d478=_0x41bef0[_0x2be5d1(0x350)](_0x1822c2[_0x2be5d1(0x2f4)],_0x1822c2[_0x2be5d1(0x2da)],_0x1822c2);if(null!=_0x3cf91b&&null!=_0xe0d478){var _0x8b1156=Math[_0x2be5d1(0x2a3)](_0x3cf91b[0x0]-_0xe0d478[0x0]);_0x4484bd&&_0x8b1156>=_0x41bef0[_0x2be5d1(0x35e)]||(_0x41bef0[_0x2be5d1(0x217)][_0x2be5d1(0x2d5)](_0x3cf91b[0x0],_0x3cf91b[0x1]),_0x41bef0['canvasContext'][_0x2be5d1(0x232)](_0xe0d478[0x0],_0xe0d478[0x1]));}}),this[_0x11ad6c(0x217)][_0x11ad6c(0x1e7)]();}},{'key':_0x31376c(0x215),'value':function(_0x5b4b54){var _0x2aa7bd=_0x31376c;for(var _0x38575c,_0x2fb9f5,_0x3b312c=0x0;_0x3b312c<0x1e&&(_0x38575c=this[_0x2aa7bd(0x33b)]['getRandomLatLng'](),!((_0x2fb9f5=this[_0x2aa7bd(0x33b)][_0x2aa7bd(0x35d)](_0x38575c[_0x2aa7bd(0x237)],_0x38575c['lat']))&&_0x2fb9f5[0x2]>0x0));_0x3b312c++);if(!_0x2fb9f5)return _0x5b4b54;var _0x13fa58=_0x38575c['lng']+this['calc_speedRate'][0x0]*_0x2fb9f5[0x0],_0x5ec2ba=_0x38575c[_0x2aa7bd(0x2e3)]+this[_0x2aa7bd(0x2c2)][0x1]*_0x2fb9f5[0x1];return _0x5b4b54[_0x2aa7bd(0x237)]=_0x38575c['lng'],_0x5b4b54[_0x2aa7bd(0x2e3)]=_0x38575c[_0x2aa7bd(0x2e3)],_0x5b4b54['tlng']=_0x13fa58,_0x5b4b54['tlat']=_0x5ec2ba,_0x5b4b54[_0x2aa7bd(0x34d)]=Math[_0x2aa7bd(0x2d3)](Math[_0x2aa7bd(0x365)]()*this[_0x2aa7bd(0x2ef)]),_0x5b4b54;}},{'key':_0x31376c(0x2e5),'value':function(){var _0x4cd0d7=_0x31376c;this[_0x4cd0d7(0x1f4)]=[],delete this[_0x4cd0d7(0x33b)],delete this[_0x4cd0d7(0x207)];}}]),_0x1f0d93;}(_0x53dab5[_0x1ad61d(0x312)]['BaseLayer']);_0x53dab5[_0x1ad61d(0x33e)][_0x1ad61d(0x2ff)]('canvasWind',_0x13f2d9),_0x53dab5[_0x1ad61d(0x312)][_0x1ad61d(0x203)]=_0x13f2d9;var _0x2ae431=_0x53dab5['Cesium'];function _0x1b555c(_0x2976f7,_0x4c2bdd){var _0x20fdaf=_0x1ad61d;return _0x2976f7*Math[_0x20fdaf(0x352)](_0x2ae431[_0x20fdaf(0x364)][_0x20fdaf(0x335)](_0x4c2bdd));}function _0x1dd602(_0x1c6ab2,_0x2c209b){var _0x5155cb=_0x1ad61d;return _0x1c6ab2*Math[_0x5155cb(0x362)](_0x2ae431['Math'][_0x5155cb(0x335)](_0x2c209b));}function _0x51ccab(_0x52ac63,_0x5a71fa){var _0x2df403=_0x1ad61d;return Math[_0x2df403(0x294)](Math[_0x2df403(0x287)](_0x52ac63,0x2)+Math['pow'](_0x5a71fa,0x2));}function _0x5c9010(_0x4db810,_0x57c026){var _0x1d85ba=_0x1ad61d,_0x2190a8=_0x2ae431['Math']['toDegrees'](Math[_0x1d85ba(0x326)](_0x57c026,_0x4db810));return _0x2190a8+=_0x2190a8<0x0?0x168:0x0;}_0x53dab5['WindUtil']=_0x52787e;}]));function a0_0x1e30(){var _0x3aa7ef=['once','WMS_URL','colorTable','none','latRange','particles','_maxAge','canrefresh','canvasResize','Color','vmin','getUVByXY','_drawLines','_calcStep','west','from','clampToLatitudeRange','Geometry','currentTrailsDepth','setPrototypeOf','CanvasWindLayer','Cannot\x20call\x20a\x20class\x20as\x20a\x20function','height','Appearance','windData','push','Invalid\x20attempt\x20to\x20spread\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.','IDENTITY','ShaderSource','positionWC','particleSystem','Cartesian2','drawWind','dropRate','destroyObject','configurable','depthMask','trails','randomParticle','applyViewerParameters','canvasContext','colors','getOptions','maxParticles','fill','writable','nextParticlesSpeed','drawingBufferWidth','7mSwEZd','Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined','enumerable','@@iterator','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','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}','style','primitives','umin','rgba(0,\x200,\x200,\x200.97)','FLOAT','apply','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}','defined','clearFramebuffers','createSegmentsGeometry','Cartesian3','ymax','ellipsoid','lineTo','removeAll','currentTrails','ComputeCommand','Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function','lng','createRenderingTextures','primitiveType','absolute','_setOptionsHook','context','width','speedRate','getOwnPropertyDescriptor','call','66pNPWTN','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}','EventType','getFullscreenQuad','toString','_createCanvas','this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called','Matrix4','__proto__','udata','canvasWindy','Draw','PI_OVER_TWO','getExtent','17790PmALhm','addEventListener','destination-in','zIndex','wgs84ToWindowCoordinates','min','createParticlesTextures','_onMap_preRenderEvent','ymin','_mountedHook','refreshParticles','document','clientWidth','computeViewRectangle','particlesComputing','NEAREST','VertexArray','geometry','refreshTimer','dimensions','2619lyErdA','OPAQUE','test','frameRate','create','sham','name','setAttribute','scene','randomBetween','GeometryAttributes','RGB','particlesWind','createFramebuffer','keys','3106444jaEQaW','segments','globe','camera','PixelFormat','valueOf','nextParticlesPosition','_speedRate','getDirection','TRIANGLES','max','levmin','show','hasOwnProperty','removeChild','getOwnPropertyDescriptors','_canrefresh','_calcUV','LINEAR','data','RGBA','pow','defaultValue','SceneMode','uniformMap','xmax','add','commandType','remove','THREE_PI_OVER_TWO','auto','#ffffff','bind','strokeStyle','sqrt','toDegrees','BaseLayer','SCENE3D','_map','windTextures','createComputingPrimitives','_onMouseUpEvent','_onMouseMoveEvent','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}','_addedHook','lighter','wheel','getColorTexture','getPrototypeOf','abs','length','_pointerEvents','_particlesNumber','nextTrails','BufferUsage','mouseDown','TextureMinificationFilter','Map','createRawRenderState','SceneTransforms','currentParticlesPosition','nextTrailsColor','animateFrame','RenderState','4xNTnEZ','attributeLocations','PI_OVER_THREE','clientHeight','drawingBufferHeight','currentTrailsColor','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}','levmax','updateSpeed','mars3d','particlesNumber','outputTexture','isDestroyed','randomizeParticles','rawRenderState','__esModule','calc_speedRate','createRenderingFramebuffers','requestAnimationFrame','100%','particleHeight','destroy','segmentsColor','shaderProgram','fadeOpacity','mouseUp','postProcessingPosition','getDefaultRenderState','umax','DepthFunction','fragmentShaderSource','rgb(206,255,255)','mouse_down','round','globalCompositeOperation','moveTo','globeLayer','framebuffers','reverseY','mouse_move','tlat','UNSIGNED_BYTE','DISABLE_GL_POSITION_LOG_DEPTH','postProcessingSpeed','blending','setData','preExecute','setGeometry','fillRect','lat','viewerParameters','clear','fromDegrees','mouseMove','grid','551695hxyVRu','getWind','visible','PrimitiveType','ClearCommand','lon','maxAge','createWindTextures','speedFactor','particlesRendering','commandList','tlng','rows','globalAlpha','nextTrailsDepth','particlesTextureSize','setOptions','cols','construct','_onMapWhellEvent','textures','default','register','updatePosition','canvasHeight','fromGeometry','options','clearCommand','_showHook','_removedHook','Object','Cesium','string','prototype','1597708yhmnQX','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}','createRenderingPrimitives','1125108ASmOQe','redraw','Texture','pointerEvents','layer','reverse','PixelDatatype','defineProperties','unbindEvent','PrimitiveCollection','commandToExecute','forEach','key','createCommand','segmentsDepth','north','addPrimitives','isInExtent','array','globeBoundingSphere','now','2471821KRnHOp','TWO_PI','undefined','atan2','particlesTextures','_onMouseDownEvent','606920UKnktN','mod','hidden','EllipsoidalOccluder','execute','color','symbol','visibility','getU','getOwnPropertySymbols','mode','WindLayer','toRadians','arrayBufferView','currentParticlesSpeed','//\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}','lonRange','lev','windField','TextureMagnificationFilter','GeometryAttribute','LayerUtil','slice','toStringTag','createTexture','canvas','viewport','iterator','pixelSize','_data','dropRateBump','updateViewerParameters','autoClear','fromCache','fixedHeight','getPixelSize','age','getContext','vertexShaderSource','_tomap','vdata','cos','bindEvent','Sampler','vmax','floor','filter','defineProperty','red','framebuffer','off','_bilinearInterpolation','getUVByPoint','canvasWidth','left','resize','UNSIGNED_INT','sin','72mrKmDt','Math','random','cancelAnimationFrame','WindUtil','constructor','update','destroyParticlesTextures','ComponentDatatype','Pass','Compute','xmin','stroke','removeEventListener','exports','lineWidth','log','function','screen','preRender'];a0_0x1e30=function(){return _0x3aa7ef;};return a0_0x1e30();}
|
|
22
|
-
|
|
23
|
-
})(window);
|
|
24
|
-
|
|
9
|
+
(function (global, factory) {
|
|
10
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, (window.mars3d || require('mars3d'))) :
|
|
11
|
+
typeof define === 'function' && define.amd ? define(['exports', 'mars3d'], factory) :
|
|
12
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["mars3d-wind"] = {}, global.mars3d));
|
|
13
|
+
})(this, (function (exports, mars3d) { 'use strict';var _0x148ef8=_0x5cd8;(function(_0x25fc43,_0x139bff){var _0x17b49d=_0x5cd8,_0x17d6fd=_0x25fc43();while(!![]){try{var _0x8daec7=parseInt(_0x17b49d(0x2c3))/0x1+parseInt(_0x17b49d(0x24b))/0x2+parseInt(_0x17b49d(0x265))/0x3+parseInt(_0x17b49d(0x2bd))/0x4+parseInt(_0x17b49d(0x32a))/0x5+-parseInt(_0x17b49d(0x331))/0x6+-parseInt(_0x17b49d(0x246))/0x7;if(_0x8daec7===_0x139bff)break;else _0x17d6fd['push'](_0x17d6fd['shift']());}catch(_0x313c5f){_0x17d6fd['push'](_0x17d6fd['shift']());}}}(_0x333a,0xbed25));function _interopNamespace(_0x29ea57){var _0x115163=_0x5cd8;if(_0x29ea57&&_0x29ea57[_0x115163(0x2bb)])return _0x29ea57;var _0xdf6f0a=Object[_0x115163(0x244)](null);return _0x29ea57&&Object[_0x115163(0x1f3)](_0x29ea57)[_0x115163(0x26c)](function(_0x4b60e3){var _0x157ac5=_0x115163;if(_0x4b60e3!==_0x157ac5(0x251)){var _0x28ab54=Object['getOwnPropertyDescriptor'](_0x29ea57,_0x4b60e3);Object[_0x157ac5(0x238)](_0xdf6f0a,_0x4b60e3,_0x28ab54['get']?_0x28ab54:{'enumerable':!![],'get':function(){return _0x29ea57[_0x4b60e3];}});}}),_0xdf6f0a[_0x115163(0x251)]=_0x29ea57,_0xdf6f0a;}var mars3d__namespace=_interopNamespace(mars3d),Cesium$7=mars3d__namespace[_0x148ef8(0x297)];function getU(_0x50a9f,_0xdb5f4c){var _0x2178d2=_0x148ef8,_0x20f654=_0x50a9f*Math[_0x2178d2(0x213)](Cesium$7[_0x2178d2(0x2b2)][_0x2178d2(0x1f1)](_0xdb5f4c));return _0x20f654;}function getV(_0x49507d,_0x50f3c7){var _0x4ad2f9=_0x148ef8,_0x2172cf=_0x49507d*Math[_0x4ad2f9(0x234)](Cesium$7['Math'][_0x4ad2f9(0x1f1)](_0x50f3c7));return _0x2172cf;}function getSpeed(_0x412023,_0x60a04d){var _0x548505=_0x148ef8,_0xd8e3b2=Math['sqrt'](Math[_0x548505(0x2c6)](_0x412023,0x2)+Math[_0x548505(0x2c6)](_0x60a04d,0x2));return _0xd8e3b2;}function _0x333a(){var _0x3df719=['x2jPBgLUzwfYsw50zxjWB2XHDgLVBG','nJmXmJyWmeDZre55sG','zNjHz21LBNrtAgfKzxjtB3vYy2u','yxbWBhLwAwv3zxjqyxjHBwv0zxjZ','u2HHzgvYu291CMnL','u2HHzgvYuhjVz3jHBq','vu5tsuDorurFsu5u','yxbWBhK','Cg9ZAxrPB25xqW','C291CMnL','x3nWzwvKuMf0zq','y29SB3jZ','x29UtwfWx3bYzvjLBMrLCKv2zw50','Dw5PzM9YBsbZyw1WBgvYmKqGC2vNBwvUDhndB2XVCLrLEhr1CMu7dqP1BMLMB3jTihnHBxbSzxiYrcbZzwDTzw50C0rLChrOvgv4DhvYztSncG0kDw5PzM9YBsbZyw1WBgvYmKqGy3vYCMvUDfrYywLSC0nVBg9YoW0kDw5PzM9YBsbZyw1WBgvYmKqGDhjHAwXZrgvWDgHuzxH0DxjLoW0kdqP1BMLMB3jTigzSB2f0igzHzgvpCgfJAxr5oW0kdqP2yxj5Aw5NihzLyZiGDgv4DhvYzunVB3jKAw5HDgu7dqOncNzVAwqGBwfPBIGPihSncIaGicb2zwm0ihbVAw50C0nVBg9Yid0GDgv4DhvYztjekhnLz21LBNrZq29SB3juzxH0DxjLlcb0zxH0DxjLq29VCMrPBMf0zsK7dqOGicaGDMvJncb0CMfPBhndB2XVCIa9ihrLEhr1CMuYrcHJDxjYzw50vhjHAwXZq29SB3iSihrLEhr1CMvdB29YzgLUyxrLktSncG0kicaGihrYywLSC0nVBg9Yid0GzMXVB3iOzMfKzu9WywnPDhKGkIaYntuUmcaQihrYywLSC0nVBg9YksaVidi1ns4WoYaVlYbTywTLihn1CMuGDgHLihrYywLSC0nVBg9YihDPBgWGyMuGC3rYAwn0BhKGzgvJCMvHC2vKdqOncIaGicbMBg9HDcbWB2LUDhnezxb0Aca9ihrLEhr1CMuYrcHZzwDTzw50C0rLChrOvgv4DhvYzsWGDgv4DhvYzunVB3jKAw5HDguPlNi7dqOGicaGzMXVyxqGDhjHAwXZrgvWDgGGpsb0zxH0DxjLmKqODhjHAwXZrgvWDgHuzxH0DxjLlcb0zxH0DxjLq29VCMrPBMf0zsKUCJSncIaGicbMBg9HDcbNBg9IzurLChrOid0Gy3PTx3vUCgfJA0rLChrOkhrLEhr1CMuYrcHJEM1Fz2XVyMvezxb0AfrLEhr1CMuSihrLEhr1CMvdB29YzgLUyxrLksK7dqOncIaGicbNBf9gCMfNq29SB3iGpsb2zwm0kdaUmcK7dqOGicaGAwyGkhbVAw50C0rLChrOidWGz2XVyMvezxb0AcKGEW0kicaGicaGicbNBf9gCMfNq29SB3iGpsbNBf9gCMfNq29SB3iGkYbWB2LUDhndB2XVCJSncIaGicb9dqOGicaGAwyGkhrYywLSC0rLChrOidWGz2XVyMvezxb0AcKGEW0kicaGicaGicbNBf9gCMfNq29SB3iGpsbNBf9gCMfNq29SB3iGkYb0CMfPBhndB2XVCJSncIaGicb9dqOGicaGz2XFrNjHz0rLChrOrvHuid0GBwLUkhbVAw50C0rLChrOlcb0CMfPBhnezxb0AcK7dqP9','B3v0Chv0vgv4DhvYzq','BMv4DfrYywLSC0rLChrO','ugL4zwXgB3jTyxq','rhjHDW','vMvYDgv4qxjYyxK','zNjVBurLz3jLzxm','C2v0r2vVBwv0CNK','x2rYyxDmAw5LCW','z2v0rxH0zw50','uKDc','v01tx1vsta','D2LUzerHDge','z3jPza','Cg9PBNrLCKv2zw50CW','yMLUza','y29UDgfPBMvY','Ew1HEa','vgv4DhvYzq','y3vYCMvUDfbHCNrPy2XLC1bVC2L0Aw9U','CMvTB3zLqwXS','DMfSDwvpzG','y2XHBxbuB0XHDgL0DwrLuMfUz2u','C2HHzgvYuhjVz3jHBq','C3rYAw5N','zNjVBunZC0nVBg9Yu3rYAw5N','y29SCW','zw51BwvYywjSzq','y3vYCMvUDfbHCNrPy2XLC1nWzwvK','y2fUDMfZ','u2nLBMvuCMfUC2zVCM1Z','Bg9N','Bgv2','rxzLBNruExbL','BgLUzvrV','BwLU','y3jLyxrLu2vNBwvUDhnhzw9TzxrYEq','Dg9hCMLKwfK','ChjPBwL0AxzLvhLWzq','x3nLDe9WDgLVBNniB29R','vgv4DhvYzu1PBMLMAwnHDgLVBKzPBhrLCG','quXxqvLt','y2fUy2vSqw5PBwf0Aw9UrNjHBwu','zhjVCfjHDgvcDw1W','x21VDw50zwriB29R','veHsruvFueLFt1zfuL9uv08','z2XVyMu','yxr0CMLIDxrLtg9JyxrPB25Z','C3bLzwrgywn0B3i','CMv2zxjZzvK','x3nOB3DiB29R','AgLKzgvU','BM9YDgG','y2fUDMfZq29UDgv4Da','Cg9ZDfbYB2nLC3nPBMDqB3nPDgLVBG','Bgf0','Bgf5zxi','CMv2zxjZzq','Dg9sywrPyw5Z','yw5PBwf0zuzYyw1L','A2v5CW','D2LUzfrLEhr1CMvZ','zMLSBfjLy3q','zgvMAw5Lza','CgfYDgLJBgvtExn0zw0','zNjVBq','uMvJDgfUz2XL','z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9Y','t1bbuvvf','C2v0rgf0yq','zgvMAw5LuhjVCgvYDgLLCW','v2LUzeXHEwvY','C3rYB2TL','zNjHBwvsyxrL','zMLSBa','x29UtwfWv2HLBgXfDMvUDa','DgXUzW','Dg9W','yMvNAw5qyxrO','A2v5','DM1PBG','ugfZCW','Dw5PzM9YBu1HCa','CMfUzg9TugfYDgLJBgu','t2jQzwn0','BgvMDa','y2fSy19ZCgvLzfjHDgu','z2XVyMfSqwXWAge','uMvUzgvYu3rHDgu','q29TChv0zunVBw1HBMq','y2XHC3m','C3bLzwrsyxrL','y29Z','reLtqujmrv9mt0DFrevqveHFrLjbr01ftLrFv1jjveu','zNjVBunHy2HL','DMrHDge','C291DgG','r2vVBwv0CNLbDhrYAwj1Dgu','x2rHDge','Eg1HEa','yMXLBMrPBMC','D2LUzezPzwXK','Bwf4ugfYDgLJBgvZ','x29Utw91C2veB3DUrxzLBNq','y2XLyxjdB21Tyw5K','z2v0q29UDgv4Da','Dg9ezwDYzwvZ','C3fYDa','CMvNAxn0zxi','y3jLyxrLq29TChv0Aw5NuhjPBwL0AxzLCW','C2vNBwvUDhndB2XVCG','Ew1PBG','AxnjBKv4DgvUDa','yxv0BW','ChvZAa','DgHPCYbOyxnUj3qGyMvLBIbPBML0AwfSAxnLzcaTihn1CgvYkcKGAgfZBID0igjLzw4Gy2fSBgvK','x29Utw91C2vnB3zLrxzLBNq','u0nftKuZra','ugL4zwXeyxrHDhLWzq','Dw5KzwzPBMvK','Dg9tDhjPBMC','B3b0Aw9UCW','zg9JDw1LBNq','DMLZAwjSzq','y29TBwfUzeXPC3q','C2LU','C2XPy2u','C2vNBwvUDhm','BgvUz3rO','zgvMAw5LuhjVCgvYDhK','zgvZDhjVEq','C2HVDW','x29Utw91C2vvCev2zw50','Cg9ZDfbYB2nLC3nPBMDtCgvLza','C2v0qxr0CMLIDxrL','CMvTB3zLrxzLBNrmAxn0zw5LCG','DM1HEa','rwXSAxbZB2LKywXpy2nSDwrLCG','y2fUCMvMCMvZAa','zgf0yq','u2fTCgXLCG','y3jLyxrL','Bw91C2vFBw92zq','mta2mZaZodjduxrLDgy','CM91BMq','Bg9U','u2nLBMvnB2rL','Bg5N','mtyZnZaYmfz5yLPqza','BMv4DfbHCNrPy2XLC1nWzwvK','D2HLzwW','y2fUDMfZv2LUzhK','BMv4DfbHCNrPy2XLC1bVC2L0Aw9U','Cg9PBNrLCI1LDMvUDhm','zgvMyxvSDa','ChjVDg90ExbL','z2XVyMfSq29TCg9ZAxrLt3bLCMf0Aw9U','q2XLyxjdB21Tyw5K','BgLNAhrLCG','zML4zwrizwLNAhq','BM93','Bw91C2vvCa','x2nHBNjLzNjLC2G','revqveHFq09nue9oru5u','z2v0q29SB3juzxH0DxjL','C2v0uhjVDg90ExbLt2y','CMvMCMvZAfrPBwvY','DxbKyxrLvMLLD2vYugfYyw1LDgvYCW','qxbWzwfYyw5Jzq','y3jLyxrLuMvUzgvYAw5NrNjHBwvIDwzMzxjZ','CMvTB3zL','CMvMCMvZAfbHCNrPy2XLCW','DhjHAwXZ','AxnbCNjHEq','ndi0mtq2rMrVDxP4','z2v0v2LUza','CMvZAxPL','ywrKuhjPBwL0AxzLCW','y2fUDMfZsgvPz2H0','ueLFt1zfuL9uv08','q2fYDgvZAwfUmG','zM9YrwfJAa','zgvWDgHuzxn0','EKLUzgv4','rgvWDgHgDw5JDgLVBG','r2vVBwv0CNK','zhjHD2LUz0j1zMzLCKHLAwDODa','zxHLy3v0zq','rKXpqvq','x2fKzgvKsg9VAW','Bgf0uMfUz2u','u2v0','CM93CW','CMfUzg9TAxPLugfYDgLJBgvZ','CMDIysGWlcaWlcaWlcaWlJK3kq','y2fUDMfZuMvZAxPL','x3bVAw50zxjfDMvUDhm','zwXSAxbZB2LK','DxbKyxrL','ywjZB2X1Dgu','vfjjqu5htevt','x21HCa','y29UzMLNDxjHyMXL','y29UDgv4Da','C3r5Bgu','y29TBwfUzfrVrxHLy3v0zq','y2fSBa','yxjYyxLcDwzMzxjwAwv3','x2nYzwf0zunHBNzHCW','qxjNDw1LBNrZ','y29UC3rYDwn0B3i','CgfYDgLJBgvZ','C2HHBq','twf0CML4na','Bw9K','x3bHCNrPy2XLC051BwjLCG','D2LKDgG','vgv4DhvYzu1Hz25PzMLJyxrPB25gAwX0zxi','C2v0t3b0Aw9UCW','q2fUDMfZv2LUzeXHEwvY','ChjLrxHLy3v0zq','Bw91C2vnB3zL','surftLrjvfK','y3jLyxrLq29TBwfUza','q2vZAxvT','zMXVB3i','uhjPBwL0AxzLvhLWzq','AgvPz2H0','BgLUzvDPzhrO','yxr0CMLIDxrLihzLyZmGCg9ZAxrPB247dqPHDhrYAwj1DguGDMvJmIbZDdSncG0kDMfYEwLUzYb2zwmYihrLEhr1CMvdB29YzgLUyxrLoW0kdqP2B2LKig1HAw4Oksb7dqOGicaGDgv4DhvYzunVB3jKAw5HDguGpsbZDdSncIaGicbNBf9qB3nPDgLVBIa9ihzLyZqOCg9ZAxrPB24SideUmcK7dqP9','DMLLD1jLy3rHBMDSzvrVtg9Utgf0uMfUz2u','ywjZ','z2v0t3b0Aw9UCW','C2nLBMu','r2vVBwv0CNLbDhrYAwj1DgvZ','DgXHDa','CMfUzg9TqMv0D2vLBG','Bw91C2vFzg93BG','twfW','y3jLyxrLv2LUzfrLEhr1CMvZ','vfDpx1bj','yxbWzw5Kq2HPBgq','u1rbveLdx0rsqvC','CMDIkdiWnIWYntuSmJu1kq','zNjVBuDLB21LDhj5','Bw92zvrV','y29UC3rYDwn0','ChjPBwL0AxzLCW','CMvTB3zLq2HPBgq','Eg1PBG','yxjYyxK','twf0Aa','Bwf4','x3jLBw92zwriB29R','y3jLyxrLuMvUzgvYAw5NuhjPBwL0AxzLCW','yMLUzev2zw50','y29SB3juywjSzq','Dw5PzM9YBsbZyw1WBgvYmKqGCg9ZDfbYB2nLC3nPBMDqB3nPDgLVBJSkDw5PzM9YBsbZyw1WBgvYmKqGBMv4DfbHCNrPy2XLC1nWzwvKoWOkDMfYEwLUzYb2zwmYihzFDgv4DhvYzunVB3jKAw5HDgvZoWOkDM9PzcbTywLUkcKGEWOGicaGDMvJncbYyw5KB21qyxj0AwnSzsa9ihrLEhr1CMuYrcHWB3n0uhjVy2vZC2LUz1bVC2L0Aw9Ulcb2x3rLEhr1CMvdB29YzgLUyxrLCYK7cIaGicb2zwm0ihbHCNrPy2XLu3bLzwqGpsb0zxH0DxjLmKqOBMv4DfbHCNrPy2XLC1nWzwvKlcb2x3rLEhr1CMvdB29YzgLUyxrLCYK7cGOGicaGAwyGkhjHBMrVBvbHCNrPy2XLlMeGpIaWlJaPihSkicaGicaGicbNBf9gCMfNq29SB3iGpsb2zwm0kdaUmcK7cIaGicb9igvSC2uGEWOGicaGicaGigDSx0zYywDdB2XVCIa9ihbHCNrPy2XLu3bLzwq7cIaGicb9cN0','zNvUy3rPB24','Dgv4DhvYzxm','x19LC01VzhvSzq','Dw5PzM9YBsbZyw1WBgvYmKqGy3vYCMvUDfbHCNrPy2XLC1bVC2L0Aw9UoYaVlYaOBg9UlcbSyxqSigXLDIKkDw5PzM9YBsbZyw1WBgvYmKqGy3vYCMvUDfbHCNrPy2XLC1nWzwvKoYaVlYaODsWGDIWGDYWGBM9YBwfSAxPHDgLVBIKkcNzHCNLPBMCGDMvJmIb2x3rLEhr1CMvdB29YzgLUyxrLCZSkcNzLyZiGBgvUz3rOt2zmB25myxqODMvJmYbSB25myxrmzxyPihSkicaGic8VihvUAxqGy29UDMvYC2LVBJOGBwv0zxjZic0+igXVBMDPDhvKzsbSyxrPDhvKzsbKzwDYzwvZcIaGicaVlYbZzwuGAhr0Chm6lY9LBI53AwTPCgvKAweUB3jNl3DPA2KVr2vVz3jHCgHPy19JB29YzgLUyxrLx3n5C3rLBsnmzw5NDgHFB2zFyv9KzwDYzwuGzM9YigrLDgfPBaOkicaGic8VienHBgn1Bgf0zsb0AguGBgvUz3rOig9MigeGzgvNCMvLig9MigXHDgL0DwrLigfUzcbSB25NAxr1zguGAw4GBwv0zxjZcIaGicbMBg9HDcbSyxrPDhvKzsa9ihjHzgLHBNmOBg9Utgf0tgv2lNKPoWOkicaGigzSB2f0ihrLCM0Xid0GmteXmtmYlJKYoWOGicaGzMXVyxqGDgvYBtiGpsa1ntKUodiGkIbJB3mOmI4WicOGBgf0Axr1zguPoWOGicaGzMXVyxqGDgvYBtmGpsaXlJe3nsaQignVCYG0lJaGkIbSyxrPDhvKzsK7cIaGicbMBg9HDcb0zxjTnca9idaUmdaYmYaQignVCYG2lJaGkIbSyxrPDhvKzsK7cIaGicbMBg9HDcbSyxrmzw5NDgGGpsb0zxjTmsaTihrLCM0YicSGDgvYBtmGlsb0zxjTndSkcIaGicbMBg9HDcb0zxjTnsa9ideXmtqXmI44ncaQignVCYHSyxrPDhvKzsK7cIaGicbMBg9HDcb0zxjTnIa9idKZlJuGkIbJB3mOmY4WicOGBgf0Axr1zguPoWOGicaGzMXVyxqGDgvYBtCGpsaWlJeXocaQignVCYG1lJaGkIbSyxrPDhvKzsK7cIaGicbMBg9HDcbSB25NtgvUz3rOid0GDgvYBtuGlsb0zxjTnIaRihrLCM03oWOkicaGihjLDhvYBIb2zwmYkgXVBMDmzw5NDgGSigXHDeXLBMD0AcK7cN0kcNzVAwqGDxbKyxrLug9ZAxrPB24ODMvJmYbSB25myxrmzxySihzLyZmGC3bLzwqPihSkicaGihzLyZiGBg9Utgf0tgvUz3rOid0GBgvUz3rOt2zmB25myxqOBg9Utgf0tgv2ktSkicaGigzSB2f0ihuGpsbZCgvLzc54ic8GBg9Utgf0tgvUz3rOlNG7cIaGicbMBg9HDcb2id0GC3bLzwqUEsaVigXVBKXHDeXLBMD0Ac55oWOGicaGzMXVyxqGDYa9idaUmdSkicaGihzLyZmGD2LUzfzLy3rVCKLUtg9Utgf0tgv2id0GDMvJmYH1lcb2lcb3ktSkcIaGicb2zwmZig5LEhrqyxj0AwnSzsa9igXVBKXHDeXLDIaRihDPBMrwzwn0B3jjBKXVBKXHDeXLDJSkcIaGicbNBf9gCMfNq29SB3iGpsb2zwm0kg5LEhrqyxj0AwnSzsWGmc4WktSkFqOkDM9PzcbTywLUkcKGEWOGicaGlY8GDgv4DhvYzsbJB29YzgLUyxrLig11C3qGyMuGBM9YBwfSAxPLzaOGicaGDMvJmYbSB25myxrmzxyGpsb0zxH0DxjLmKqOy3vYCMvUDfbHCNrPy2XLC1bVC2L0Aw9Ulcb2x3rLEhr1CMvdB29YzgLUyxrLCYKUCMDIoWOGicaGDMvJmYbZCgvLzca9ihrLEhr1CMuYrcHJDxjYzw50ugfYDgLJBgvZu3bLzwqSihzFDgv4DhvYzunVB3jKAw5HDgvZks5Yz2i7cGOGicaGDxbKyxrLug9ZAxrPB24OBg9Utgf0tgv2lcbZCgvLzcK7cN0','mtC0otq4mhDlsff4yq','BM9Uzq','y3jLyxrLugfYDgLJBgvZvgv4DhvYzxm','uhjPBwL0AxzLq29SBgvJDgLVBG','ChjLuMvUzgvY','zhjVCfjHDgu','odaZmdK5CKfzwenb','z2v0vvzcEvbVAw50','DxbKyxrLug9ZAxrPB24','Cg93','teLorufs','x19WCM90B19F','CgfYDgLJBgvZvgv4DhvYzxm','zMfKzu9WywnPDhK','yxv0B0nSzwfY','zNjHBwvuAw1L','DMLLD3bVCNq','zgvMyxvSDfzHBhvL','D2DZodruB1DPBMrVD0nVB3jKAw5HDgvZ','Dw5IAw5KrxzLBNq','z2XVyMvcB3vUzgLUz1nWAgvYzq','yxrHBJi','C2vNBwvUDhnezxb0Aa','q29SB3i','y2XPzw50v2LKDgG','tgf5zxjvDgLS','y29TBwfUzfr5Cgu','zgvWDgHuzxH0DxjL','y2XLyxjgCMfTzwj1zMzLCNm','y3jLyxrLvgv4DhvYzq','Bg9UuMfUz2u','CgfYDgLJBgvZq29TChv0Aw5N','CMfUzg9T','z2v0uhjVDg90ExbLt2y','z2v0vvzcEvHz','C2nYzwvU','qNvMzMvYvxnHz2u','BMv4DfrYywLSC0nVBg9Y','BMfTzq','zNjHBwvIDwzMzxjZ','y3vYCMvUDfrYywLSC0rLChrO','CgfYDgLJBgvizwLNAhq','Dw5PzM9YBsbZyw1WBgvYmKqGy29SB3juywjSztSkcNzHCNLPBMCGzMXVyxqGC3bLzwroB3jTywXPEMf0Aw9UoWOkDM9PzcbTywLUkcKGEWOGicaGz2XFrNjHz0nVBg9Yid0GDgv4DhvYztjekgnVBg9YvgfIBguSihzLyZiOC3bLzwroB3jTywXPEMf0Aw9UlcaWlJaPktSkFq','qebPDgvYyxrVCG','CgfYDgLJBgvZtNvTyMvY','x3rVBwfW','DMLZAwjPBgL0Eq','tKvbuKvtva','y3jLyxrLuMf3uMvUzgvYu3rHDgu','y2fTzxjH','zgvZDhjVEvbHCNrPy2XLC1rLEhr1CMvZ','y2fUDMfZv2LUza','y3vYCMvUDfrYywLSCW','x21HEefNzq','CMf3uMvUzgvYu3rHDgu','CgL4zwXtAxPL','y3jLyxrLrNjHBwvIDwzMzxi','z2v0uMfUzg9Ttgf0tg5N','v2LUzfv0AwW','zhjHD2LUz0j1zMzLCLDPzhrO','DMvYDgv4u2HHzgvYu291CMnL','zgLTzw5ZAw9UCW','zgvZDhjVEu9IAMvJDa','q2fYDgvZAwfUmW','mtaWjq','Bwf4qwDL','sw52ywXPzcbHDhrLBxb0ihrVihnWCMvHzcbUB24TAxrLCMfIBguGAw5ZDgfUy2uUcKLUig9YzgvYihrVigjLigL0zxjHyMXLlcbUB24TyxjYyxKGB2jQzwn0CYbTDxn0igHHDMuGysbBu3LTyM9SlML0zxjHDg9YxsGPig1LDgHVzc4','z2v0t3DUuhjVCgvYDhLtEw1IB2XZ','Bw9Kzq','D3jPDgfIBgu','CMvXDwvZDefUAw1HDgLVBKzYyw1L','ywrKrxzLBNrmAxn0zw5LCG','zgvZDgLUyxrPB24TAw4','AxnqB2LUDfzPC2LIBgu','z2vVBwv0CNK','ueLFt1zfuL9usfjfrq','q29TCg9Uzw50rgf0yxr5Cgu','u3vWzxiGzxHWCMvZC2LVBIbTDxn0igvPDgHLCIbIzsbUDwXSig9YigeGzNvUy3rPB24','x2nHBgntDgvW','ywrK','y29SB3i','CgfYDgLJBgvZuMvUzgvYAw5N','AxrLCMf0B3i','B2jQzwn0','B25Jzq','z3jLzw4','CMvKCMf3','y2fUDMfZv2LKDgG','zNjHBwvIDwzMzxi','y2XPzw50sgvPz2H0','CgfYDgLJBgvZv2LUza','x2nHBgnvvG','Dw5PzM9YBsbZyw1WBgvYmKqGDhjHAwXZq29SB3juzxH0DxjLoW0kDw5PzM9YBsbZyw1WBgvYmKqGDhjHAwXZrgvWDgHuzxH0DxjLoW0kdqP2yxj5Aw5NihzLyZiGDgv4DhvYzunVB3jKAw5HDgu7dqOncNzVAwqGBwfPBIGPihSncIaGicb2zwm0ihrYywLSC0nVBg9Yid0GDgv4DhvYztjekhrYywLSC0nVBg9Yvgv4DhvYzsWGDgv4DhvYzunVB3jKAw5HDguPoW0kicaGigzSB2f0ihrYywLSC0rLChrOid0GDgv4DhvYztjekhrYywLSC0rLChrOvgv4DhvYzsWGDgv4DhvYzunVB3jKAw5HDguPlNi7dqOGicaGzMXVyxqGz2XVyMvezxb0Aca9ign6Bv91BNbHy2Tezxb0AcH0zxH0DxjLmKqOy3PTx2DSB2jLrgvWDgHuzxH0DxjLlcb0zxH0DxjLq29VCMrPBMf0zsKPoW0kdqOGicaGAwyGkhrYywLSC0rLChrOidWGz2XVyMvezxb0AcKGEW0kicaGicaGicbNBf9gCMfNq29SB3iGpsb0CMfPBhndB2XVCJSncIaGicb9igvSC2uGEW0kicaGicaGicbNBf9gCMfNq29SB3iGpsb2zwm0kdaUmcK7dqOGicaGFq0kFq','DxbKyxrLu3bLzwq','Bw91C2veB3DU','B2zM','BMv4DfrYywLSCW','CgfYDgLJBgvZvgv4DhvYzvnPEMu','ywDL','uKDcqq','Axnezxn0CM95zwq','Dw1HEa','y2XLyxi','zhjHD1DPBMq','qM91BMrPBMDtCgHLCMu','CMvK','DMLLD2vYugfYyw1LDgvYCW','z2v0rgvMyxvSDfjLBMrLCLn0yxrL','DgvZDa','ntC1otG1mfDlBgD6Ea','DwrHDge','q29TChv0zq','zMLSBfn0EwXL','mhb4','zMLSDgvY'];_0x333a=function(){return _0x3df719;};return _0x333a();}function getDirection(_0x317b91,_0x48baea){var _0x9fdd3c=_0x148ef8,_0x1faafa=Cesium$7[_0x9fdd3c(0x2b2)][_0x9fdd3c(0x221)](Math[_0x9fdd3c(0x2d2)](_0x48baea,_0x317b91));return _0x1faafa+=_0x1faafa<0x0?0x168:0x0,_0x1faafa;}var WindUtil={'__proto__':null,'getU':getU,'getV':getV,'getSpeed':getSpeed,'getDirection':getDirection};function ownKeys(_0x462fd8,_0x29d068){var _0x1c181d=_0x148ef8,_0x46d677=Object[_0x1c181d(0x1f3)](_0x462fd8);if(Object['getOwnPropertySymbols']){var _0x448985=Object[_0x1c181d(0x300)](_0x462fd8);_0x29d068&&(_0x448985=_0x448985[_0x1c181d(0x32f)](function(_0x1d043e){var _0x257ff6=_0x1c181d;return Object['getOwnPropertyDescriptor'](_0x462fd8,_0x1d043e)[_0x257ff6(0x1d2)];})),_0x46d677['push']['apply'](_0x46d677,_0x448985);}return _0x46d677;}function _objectSpread2(_0x1fcd9a){var _0x4d766a=_0x148ef8;for(var _0x55e62d=0x1;_0x55e62d<arguments['length'];_0x55e62d++){var _0x174e6a=null!=arguments[_0x55e62d]?arguments[_0x55e62d]:{};_0x55e62d%0x2?ownKeys(Object(_0x174e6a),!0x0)['forEach'](function(_0x20fb7d){_defineProperty(_0x1fcd9a,_0x20fb7d,_0x174e6a[_0x20fb7d]);}):Object['getOwnPropertyDescriptors']?Object[_0x4d766a(0x1fd)](_0x1fcd9a,Object['getOwnPropertyDescriptors'](_0x174e6a)):ownKeys(Object(_0x174e6a))[_0x4d766a(0x26c)](function(_0x5b568a){var _0x24d5c8=_0x4d766a;Object['defineProperty'](_0x1fcd9a,_0x5b568a,Object[_0x24d5c8(0x1fa)](_0x174e6a,_0x5b568a));});}return _0x1fcd9a;}function _classCallCheck(_0x2e565a,_0x50aa5a){if(!(_0x2e565a instanceof _0x50aa5a))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function _defineProperties(_0x1f2055,_0x45af71){var _0x569f42=_0x148ef8;for(var _0x100d75=0x0;_0x100d75<_0x45af71[_0x569f42(0x237)];_0x100d75++){var _0x163059=_0x45af71[_0x100d75];_0x163059[_0x569f42(0x1d2)]=_0x163059[_0x569f42(0x1d2)]||![],_0x163059[_0x569f42(0x281)]=!![];if('value'in _0x163059)_0x163059[_0x569f42(0x302)]=!![];Object['defineProperty'](_0x1f2055,_0x163059[_0x569f42(0x206)],_0x163059);}}function _createClass(_0x5de749,_0x48df5b,_0x340400){var _0x4b6b60=_0x148ef8;if(_0x48df5b)_defineProperties(_0x5de749[_0x4b6b60(0x252)],_0x48df5b);if(_0x340400)_defineProperties(_0x5de749,_0x340400);return Object[_0x4b6b60(0x238)](_0x5de749,'prototype',{'writable':![]}),_0x5de749;}function _defineProperty(_0x128f96,_0x407bca,_0x26d8ae){return _0x407bca in _0x128f96?Object['defineProperty'](_0x128f96,_0x407bca,{'value':_0x26d8ae,'enumerable':!![],'configurable':!![],'writable':!![]}):_0x128f96[_0x407bca]=_0x26d8ae,_0x128f96;}function _inherits(_0x2b8353,_0x10a416){var _0x4f558a=_0x148ef8;if(typeof _0x10a416!=='function'&&_0x10a416!==null)throw new TypeError(_0x4f558a(0x30a));_0x2b8353['prototype']=Object[_0x4f558a(0x244)](_0x10a416&&_0x10a416[_0x4f558a(0x252)],{'constructor':{'value':_0x2b8353,'writable':!![],'configurable':!![]}}),Object[_0x4f558a(0x238)](_0x2b8353,_0x4f558a(0x252),{'writable':![]});if(_0x10a416)_setPrototypeOf(_0x2b8353,_0x10a416);}function _getPrototypeOf(_0x384ad7){var _0x1438cd=_0x148ef8;return _getPrototypeOf=Object[_0x1438cd(0x25c)]?Object[_0x1438cd(0x2de)]:function _0x33d76e(_0x2657a2){var _0x1dfcd2=_0x1438cd;return _0x2657a2[_0x1dfcd2(0x2c8)]||Object['getPrototypeOf'](_0x2657a2);},_getPrototypeOf(_0x384ad7);}function _0x5cd8(_0x320cba,_0x20c865){var _0x333a75=_0x333a();return _0x5cd8=function(_0x5cd8ef,_0x24b3cf){_0x5cd8ef=_0x5cd8ef-0x1b2;var _0xf51439=_0x333a75[_0x5cd8ef];if(_0x5cd8['KOXQUI']===undefined){var _0x4f72a5=function(_0x29ea57){var _0xdf6f0a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x4b60e3='',_0x28ab54='';for(var _0x50a9f=0x0,_0xdb5f4c,_0x20f654,_0x49507d=0x0;_0x20f654=_0x29ea57['charAt'](_0x49507d++);~_0x20f654&&(_0xdb5f4c=_0x50a9f%0x4?_0xdb5f4c*0x40+_0x20f654:_0x20f654,_0x50a9f++%0x4)?_0x4b60e3+=String['fromCharCode'](0xff&_0xdb5f4c>>(-0x2*_0x50a9f&0x6)):0x0){_0x20f654=_0xdf6f0a['indexOf'](_0x20f654);}for(var _0x50f3c7=0x0,_0x2172cf=_0x4b60e3['length'];_0x50f3c7<_0x2172cf;_0x50f3c7++){_0x28ab54+='%'+('00'+_0x4b60e3['charCodeAt'](_0x50f3c7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x28ab54);};_0x5cd8['xPNqxd']=_0x4f72a5,_0x320cba=arguments,_0x5cd8['KOXQUI']=!![];}var _0x18340f=_0x333a75[0x0],_0x4a15f5=_0x5cd8ef+_0x18340f,_0x26c538=_0x320cba[_0x4a15f5];return!_0x26c538?(_0xf51439=_0x5cd8['xPNqxd'](_0xf51439),_0x320cba[_0x4a15f5]=_0xf51439):_0xf51439=_0x26c538,_0xf51439;},_0x5cd8(_0x320cba,_0x20c865);}function _setPrototypeOf(_0x23f213,_0x4022be){var _0x374c89=_0x148ef8;return _setPrototypeOf=Object[_0x374c89(0x25c)]||function _0x5f4bf5(_0x82a256,_0x249526){var _0x29a4f1=_0x374c89;return _0x82a256[_0x29a4f1(0x2c8)]=_0x249526,_0x82a256;},_setPrototypeOf(_0x23f213,_0x4022be);}function _isNativeReflectConstruct(){var _0x14f3ca=_0x148ef8;if(typeof Reflect===_0x14f3ca(0x22e)||!Reflect[_0x14f3ca(0x2ad)])return![];if(Reflect[_0x14f3ca(0x2ad)][_0x14f3ca(0x28b)])return![];if(typeof Proxy===_0x14f3ca(0x2b9))return!![];try{return Boolean[_0x14f3ca(0x252)][_0x14f3ca(0x1cc)]['call'](Reflect[_0x14f3ca(0x2ad)](Boolean,[],function(){})),!![];}catch(_0xc0658b){return![];}}function _assertThisInitialized(_0x4cf375){var _0x3519c4=_0x148ef8;if(_0x4cf375===void 0x0)throw new ReferenceError(_0x3519c4(0x22a));return _0x4cf375;}function _possibleConstructorReturn(_0x38670c,_0x5573a2){var _0x2492a1=_0x148ef8;if(_0x5573a2&&(typeof _0x5573a2===_0x2492a1(0x310)||typeof _0x5573a2==='function'))return _0x5573a2;else{if(_0x5573a2!==void 0x0)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');}return _assertThisInitialized(_0x38670c);}function _createSuper(_0x391979){var _0xa2d3c7=_isNativeReflectConstruct();return function _0x4a8256(){var _0x5edf9c=_0x5cd8,_0x4e8543=_getPrototypeOf(_0x391979),_0x48fdb1;if(_0xa2d3c7){var _0xfbdd6=_getPrototypeOf(this)[_0x5edf9c(0x289)];_0x48fdb1=Reflect[_0x5edf9c(0x2ad)](_0x4e8543,arguments,_0xfbdd6);}else _0x48fdb1=_0x4e8543[_0x5edf9c(0x337)](this,arguments);return _possibleConstructorReturn(this,_0x48fdb1);};}function _toConsumableArray(_0x55181a){return _arrayWithoutHoles(_0x55181a)||_iterableToArray(_0x55181a)||_unsupportedIterableToArray(_0x55181a)||_nonIterableSpread();}function _arrayWithoutHoles(_0x459058){var _0x607094=_0x148ef8;if(Array[_0x607094(0x264)](_0x459058))return _arrayLikeToArray(_0x459058);}function _iterableToArray(_0x594b0f){var _0xfee62d=_0x148ef8;if(typeof Symbol!==_0xfee62d(0x22e)&&_0x594b0f[Symbol[_0xfee62d(0x30f)]]!=null||_0x594b0f[_0xfee62d(0x2e8)]!=null)return Array[_0xfee62d(0x1f8)](_0x594b0f);}function _unsupportedIterableToArray(_0x139043,_0x32dea1){var _0x3fbc61=_0x148ef8;if(!_0x139043)return;if(typeof _0x139043===_0x3fbc61(0x1cf))return _arrayLikeToArray(_0x139043,_0x32dea1);var _0x2e3b92=Object[_0x3fbc61(0x252)][_0x3fbc61(0x22f)][_0x3fbc61(0x285)](_0x139043)[_0x3fbc61(0x235)](0x8,-0x1);if(_0x2e3b92===_0x3fbc61(0x20b)&&_0x139043[_0x3fbc61(0x289)])_0x2e3b92=_0x139043['constructor'][_0x3fbc61(0x2e3)];if(_0x2e3b92===_0x3fbc61(0x2a5)||_0x2e3b92===_0x3fbc61(0x276))return Array['from'](_0x139043);if(_0x2e3b92===_0x3fbc61(0x288)||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/[_0x3fbc61(0x329)](_0x2e3b92))return _arrayLikeToArray(_0x139043,_0x32dea1);}function _arrayLikeToArray(_0xc87e49,_0x3556b4){var _0x1311bb=_0x148ef8;if(_0x3556b4==null||_0x3556b4>_0xc87e49[_0x1311bb(0x237)])_0x3556b4=_0xc87e49['length'];for(var _0x1b84f7=0x0,_0x540f19=new Array(_0x3556b4);_0x1b84f7<_0x3556b4;_0x1b84f7++)_0x540f19[_0x1b84f7]=_0xc87e49[_0x1b84f7];return _0x540f19;}function _nonIterableSpread(){var _0xfa8de3=_0x148ef8;throw new TypeError(_0xfa8de3(0x2ff));}var Cesium$6=mars3d__namespace[_0x148ef8(0x297)],CustomPrimitive=(function(){var _0x50fc57=_0x148ef8;function _0x4acf77(_0x1d073f){var _0xc431bf=_0x5cd8;_classCallCheck(this,_0x4acf77),this['commandType']=_0x1d073f['commandType'],this[_0xc431bf(0x307)]=_0x1d073f['geometry'],this[_0xc431bf(0x1e6)]=_0x1d073f[_0xc431bf(0x1e6)],this[_0xc431bf(0x1dd)]=_0x1d073f[_0xc431bf(0x1dd)],this[_0xc431bf(0x209)]=_0x1d073f['uniformMap'],this[_0xc431bf(0x2f9)]=_0x1d073f[_0xc431bf(0x2f9)],this[_0xc431bf(0x332)]=_0x1d073f[_0xc431bf(0x332)],this['rawRenderState']=_0x1d073f[_0xc431bf(0x2f3)],this[_0xc431bf(0x315)]=_0x1d073f[_0xc431bf(0x315)],this[_0xc431bf(0x1b8)]=_0x1d073f[_0xc431bf(0x1b8)],this[_0xc431bf(0x2cb)]=Cesium$6[_0xc431bf(0x2ce)](_0x1d073f[_0xc431bf(0x2cb)],![]),this['preExecute']=_0x1d073f[_0xc431bf(0x293)],this[_0xc431bf(0x23a)]=!![],this[_0xc431bf(0x284)]=undefined,this[_0xc431bf(0x21f)]=undefined,this['autoClear']&&(this[_0xc431bf(0x21f)]=new Cesium$6[(_0xc431bf(0x254))]({'color':new Cesium$6[(_0xc431bf(0x2d4))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this['framebuffer'],'pass':Cesium$6[_0xc431bf(0x208)][_0xc431bf(0x1fb)]}));}return _createClass(_0x4acf77,[{'key':_0x50fc57(0x296),'value':function _0x30a19b(_0x277961){var _0x25966b=_0x50fc57;switch(this[_0x25966b(0x2d7)]){case'Draw':{var _0x19f68b=Cesium$6[_0x25966b(0x1bc)][_0x25966b(0x2ab)]({'context':_0x277961,'geometry':this[_0x25966b(0x307)],'attributeLocations':this[_0x25966b(0x1e6)],'bufferUsage':Cesium$6['BufferUsage'][_0x25966b(0x2a9)]}),_0x2a9c90=Cesium$6[_0x25966b(0x335)][_0x25966b(0x215)]({'context':_0x277961,'attributeLocations':this[_0x25966b(0x1e6)],'vertexShaderSource':this[_0x25966b(0x2f9)],'fragmentShaderSource':this[_0x25966b(0x332)]}),_0x5ee4ab=Cesium$6[_0x25966b(0x20f)][_0x25966b(0x215)](this[_0x25966b(0x2f3)]);return new Cesium$6['DrawCommand']({'owner':this,'vertexArray':_0x19f68b,'primitiveType':this[_0x25966b(0x1dd)],'uniformMap':this['uniformMap'],'modelMatrix':Cesium$6[_0x25966b(0x28c)][_0x25966b(0x295)],'shaderProgram':_0x2a9c90,'framebuffer':this[_0x25966b(0x315)],'renderState':_0x5ee4ab,'pass':Cesium$6[_0x25966b(0x208)][_0x25966b(0x1fb)]});}case'Compute':{return new Cesium$6[(_0x25966b(0x210))]({'owner':this,'fragmentShaderSource':this['fragmentShaderSource'],'uniformMap':this['uniformMap'],'outputTexture':this['outputTexture'],'persists':!![]});}}}},{'key':_0x50fc57(0x1be),'value':function _0x3ccd59(_0x136932,_0x28ba39){var _0x5c0d5f=_0x50fc57;this[_0x5c0d5f(0x307)]=_0x28ba39;var _0x3076ae=Cesium$6[_0x5c0d5f(0x1bc)]['fromGeometry']({'context':_0x136932,'geometry':this[_0x5c0d5f(0x307)],'attributeLocations':this['attributeLocations'],'bufferUsage':Cesium$6[_0x5c0d5f(0x2e1)][_0x5c0d5f(0x2a9)]});this['commandToExecute']['vertexArray']=_0x3076ae;}},{'key':_0x50fc57(0x27d),'value':function _0x5000d0(_0x2745f6){var _0x2c5f89=_0x50fc57;if(!this[_0x2c5f89(0x23a)])return;if(_0x2745f6[_0x2c5f89(0x301)]!==Cesium$6[_0x2c5f89(0x249)][_0x2c5f89(0x22c)])return;!Cesium$6['defined'](this[_0x2c5f89(0x284)])&&(this['commandToExecute']=this[_0x2c5f89(0x296)](_0x2745f6[_0x2c5f89(0x282)])),Cesium$6['defined'](this['preExecute'])&&this[_0x2c5f89(0x293)](),Cesium$6['defined'](this[_0x2c5f89(0x21f)])&&_0x2745f6['commandList'][_0x2c5f89(0x229)](this[_0x2c5f89(0x21f)]),_0x2745f6[_0x2c5f89(0x233)][_0x2c5f89(0x229)](this['commandToExecute']);}},{'key':_0x50fc57(0x321),'value':function _0x490abd(){return![];}},{'key':_0x50fc57(0x239),'value':function _0x5539ac(){var _0x432c1f=_0x50fc57;return Cesium$6['defined'](this['commandToExecute'])&&(this[_0x432c1f(0x284)][_0x432c1f(0x1ce)]=this[_0x432c1f(0x284)][_0x432c1f(0x1ce)]&&this[_0x432c1f(0x284)][_0x432c1f(0x1ce)][_0x432c1f(0x239)]()),Cesium$6[_0x432c1f(0x2fb)](this);}}]),_0x4acf77;}()),Cesium$5=mars3d__namespace[_0x148ef8(0x297)],Util=(function(){var _0xb1a3d6=function _0x44a020(){var _0x236096=_0x5cd8,_0x3211bf=new Cesium$5[(_0x236096(0x270))]({'attributes':new Cesium$5[(_0x236096(0x2a1))]({'position':new Cesium$5[(_0x236096(0x218))]({'componentDatatype':Cesium$5[_0x236096(0x309)][_0x236096(0x273)],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new Cesium$5['GeometryAttribute']({'componentDatatype':Cesium$5['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});return _0x3211bf;},_0x20b8b4=function _0x422005(_0x45f826,_0x27dca7){var _0x2dbe22=_0x5cd8;if(Cesium$5[_0x2dbe22(0x1f6)](_0x27dca7)){var _0x47ef98={};_0x47ef98[_0x2dbe22(0x286)]=_0x27dca7,_0x45f826[_0x2dbe22(0x1b3)]=_0x47ef98;}var _0x287c1f=new Cesium$5[(_0x2dbe22(0x1c9))](_0x45f826);return _0x287c1f;},_0x4dc65c=function _0x7ab558(_0x5b1ded,_0x1b3207,_0x2ecfdb){var _0x587f66=new Cesium$5['Framebuffer']({'context':_0x5b1ded,'colorTextures':[_0x1b3207],'depthTexture':_0x2ecfdb});return _0x587f66;},_0x43f85a=function _0x52b90b(_0x54a7be){var _0x9a1670=_0x5cd8,_0x134ae5=!![],_0x2a15dc=![],_0x295ac0={'viewport':_0x54a7be[_0x9a1670(0x2cd)],'depthTest':_0x54a7be[_0x9a1670(0x26d)],'depthMask':_0x54a7be['depthMask'],'blending':_0x54a7be[_0x9a1670(0x21b)]},_0x402ed4=Cesium$5[_0x9a1670(0x25f)][_0x9a1670(0x328)](_0x134ae5,_0x2a15dc,_0x295ac0);return _0x402ed4;},_0x13fecf=function _0x3b2346(_0x31fda2){var _0x3e5820=_0x5cd8,_0x5c8e50={},_0x194fb7=Cesium$5[_0x3e5820(0x2b2)][_0x3e5820(0x28d)](_0x31fda2['west'],Cesium$5[_0x3e5820(0x2b2)]['TWO_PI']),_0x369bfe=Cesium$5[_0x3e5820(0x2b2)]['mod'](_0x31fda2['east'],Cesium$5['Math']['TWO_PI']),_0x41de2a=_0x31fda2['width'],_0x3e064f,_0x34a949;_0x41de2a>Cesium$5[_0x3e5820(0x2b2)][_0x3e5820(0x1e4)]?(_0x3e064f=0x0,_0x34a949=Cesium$5[_0x3e5820(0x2b2)][_0x3e5820(0x2a7)]):_0x369bfe-_0x194fb7<_0x41de2a?(_0x3e064f=_0x194fb7,_0x34a949=_0x194fb7+_0x41de2a):(_0x3e064f=_0x194fb7,_0x34a949=_0x369bfe);_0x5c8e50['lon']={'min':Cesium$5[_0x3e5820(0x2b2)]['toDegrees'](_0x3e064f),'max':Cesium$5[_0x3e5820(0x2b2)]['toDegrees'](_0x34a949)};var _0x18f620=_0x31fda2[_0x3e5820(0x217)],_0x389c29=_0x31fda2[_0x3e5820(0x1eb)],_0x353d08=_0x31fda2[_0x3e5820(0x29a)],_0x4c7370=_0x353d08>Cesium$5[_0x3e5820(0x2b2)]['PI']/0xc?_0x353d08/0x2:0x0,_0x477828=Cesium$5[_0x3e5820(0x2b2)][_0x3e5820(0x1cd)](_0x18f620-_0x4c7370),_0x9c8588=Cesium$5[_0x3e5820(0x2b2)]['clampToLatitudeRange'](_0x389c29+_0x4c7370);return _0x477828<-Cesium$5[_0x3e5820(0x2b2)]['PI_OVER_THREE']&&(_0x477828=-Cesium$5['Math'][_0x3e5820(0x26a)]),_0x9c8588>Cesium$5['Math'][_0x3e5820(0x308)]&&(_0x9c8588=Cesium$5[_0x3e5820(0x2b2)][_0x3e5820(0x26a)]),_0x5c8e50[_0x3e5820(0x1ee)]={'min':Cesium$5[_0x3e5820(0x2b2)][_0x3e5820(0x221)](_0x477828),'max':Cesium$5[_0x3e5820(0x2b2)][_0x3e5820(0x221)](_0x9c8588)},_0x5c8e50;};return{'getFullscreenQuad':_0xb1a3d6,'createTexture':_0x20b8b4,'createFramebuffer':_0x4dc65c,'createRawRenderState':_0x43f85a,'viewRectangleToLonLatRange':_0x13fecf};}()),segmentDraw_vert='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}',segmentDraw_frag=_0x148ef8(0x2e7),fullscreen_vert=_0x148ef8(0x29c),trailDraw_frag=_0x148ef8(0x1b7),screenDraw_frag=_0x148ef8(0x319),Cesium$4=mars3d__namespace[_0x148ef8(0x297)],ParticlesRendering=(function(){var _0x1064bd=_0x148ef8;function _0x124823(_0x2d9c00,_0x5206fe,_0x2981fb,_0x20366c,_0x2b73af){var _0x2aec8f=_0x5cd8;_classCallCheck(this,_0x124823),this['createRenderingTextures'](_0x2d9c00,_0x5206fe,_0x2981fb[_0x2aec8f(0x1b5)]),this['createRenderingFramebuffers'](_0x2d9c00),this[_0x2aec8f(0x2b5)](_0x2d9c00,_0x2981fb,_0x20366c,_0x2b73af);}return _createClass(_0x124823,[{'key':'createRenderingTextures','value':function _0x4b291f(_0x138f5e,_0x2f59bd,_0x4b1ba6){var _0x35a210=_0x5cd8,_0x5188f2={'context':_0x138f5e,'width':_0x138f5e[_0x35a210(0x2f8)],'height':_0x138f5e[_0x35a210(0x271)],'pixelFormat':Cesium$4[_0x35a210(0x1ba)]['RGBA'],'pixelDatatype':Cesium$4['PixelDatatype']['UNSIGNED_BYTE']},_0x498d09={'context':_0x138f5e,'width':_0x138f5e[_0x35a210(0x2f8)],'height':_0x138f5e['drawingBufferHeight'],'pixelFormat':Cesium$4[_0x35a210(0x1ba)][_0x35a210(0x25a)],'pixelDatatype':Cesium$4[_0x35a210(0x22d)][_0x35a210(0x336)]},_0x49aa51=_0x4b1ba6[_0x35a210(0x237)],_0x1b0ea5=new Float32Array(_0x49aa51*0x3);for(var _0x55b454=0x0;_0x55b454<_0x49aa51;_0x55b454++){var _0x2b93db=Cesium$4[_0x35a210(0x2d4)][_0x35a210(0x1d0)](_0x4b1ba6[_0x55b454]);_0x1b0ea5[0x3*_0x55b454]=_0x2b93db[_0x35a210(0x326)],_0x1b0ea5[0x3*_0x55b454+0x1]=_0x2b93db[_0x35a210(0x312)],_0x1b0ea5[0x3*_0x55b454+0x2]=_0x2b93db['blue'];}var _0x2438fe={'context':_0x138f5e,'width':_0x49aa51,'height':0x1,'pixelFormat':Cesium$4['PixelFormat'][_0x35a210(0x1c1)],'pixelDatatype':Cesium$4[_0x35a210(0x22d)][_0x35a210(0x273)],'sampler':new Cesium$4[(_0x35a210(0x243))]({'minificationFilter':Cesium$4[_0x35a210(0x1df)][_0x35a210(0x2c7)],'magnificationFilter':Cesium$4[_0x35a210(0x290)]['LINEAR']})};this['textures']={'segmentsColor':Util[_0x35a210(0x2da)](_0x5188f2),'segmentsDepth':Util[_0x35a210(0x2da)](_0x498d09),'currentTrailsColor':Util[_0x35a210(0x2da)](_0x5188f2),'currentTrailsDepth':Util[_0x35a210(0x2da)](_0x498d09),'nextTrailsColor':Util[_0x35a210(0x2da)](_0x5188f2),'nextTrailsDepth':Util[_0x35a210(0x2da)](_0x498d09),'colorTable':Util[_0x35a210(0x2da)](_0x2438fe,_0x1b0ea5)};}},{'key':_0x1064bd(0x260),'value':function _0x5a84db(_0x2fbbae){var _0x36ca53=_0x1064bd;this[_0x36ca53(0x2e4)]={'segments':Util[_0x36ca53(0x2f5)](_0x2fbbae,this[_0x36ca53(0x2ba)][_0x36ca53(0x225)],this[_0x36ca53(0x2ba)][_0x36ca53(0x2d3)]),'currentTrails':Util[_0x36ca53(0x2f5)](_0x2fbbae,this[_0x36ca53(0x2ba)]['currentTrailsColor'],this[_0x36ca53(0x2ba)][_0x36ca53(0x2e5)]),'nextTrails':Util['createFramebuffer'](_0x2fbbae,this[_0x36ca53(0x2ba)][_0x36ca53(0x2e2)],this[_0x36ca53(0x2ba)][_0x36ca53(0x1b9)])};}},{'key':_0x1064bd(0x1db),'value':function _0x1a9641(_0x1df476){var _0x3f9c1e=_0x1064bd,_0x1296b9=0x4,_0x1a64be=[];for(var _0x1f0222=0x0;_0x1f0222<_0x1df476['particlesTextureSize'];_0x1f0222++){for(var _0x4dfca8=0x0;_0x4dfca8<_0x1df476[_0x3f9c1e(0x31e)];_0x4dfca8++){for(var _0x1d9f88=0x0;_0x1d9f88<_0x1296b9;_0x1d9f88++){_0x1a64be[_0x3f9c1e(0x229)](_0x1f0222/_0x1df476['particlesTextureSize']),_0x1a64be[_0x3f9c1e(0x229)](_0x4dfca8/_0x1df476[_0x3f9c1e(0x31e)]);}}}_0x1a64be=new Float32Array(_0x1a64be);var _0x5989c5=[],_0x1b155c=[-0x1,0x1],_0x258951=[-0x1,0x1];for(var _0x59d25e=0x0;_0x59d25e<_0x1df476['maxParticles'];_0x59d25e++){for(var _0x5e25d9=0x0;_0x5e25d9<_0x1296b9/0x2;_0x5e25d9++){for(var _0x1b5adf=0x0;_0x1b5adf<_0x1296b9/0x2;_0x1b5adf++){_0x5989c5['push'](_0x1b155c[_0x5e25d9]),_0x5989c5[_0x3f9c1e(0x229)](_0x258951[_0x1b5adf]),_0x5989c5[_0x3f9c1e(0x229)](0x0);}}}_0x5989c5=new Float32Array(_0x5989c5);var _0x44eabe=0x6*_0x1df476[_0x3f9c1e(0x21d)],_0x7d2a65=new Uint32Array(_0x44eabe);for(var _0x434094=0x0,_0x2f7f16=0x0,_0x1964b7=0x0;_0x434094<_0x1df476[_0x3f9c1e(0x21d)];_0x434094++){_0x7d2a65[_0x2f7f16++]=_0x1964b7+0x0,_0x7d2a65[_0x2f7f16++]=_0x1964b7+0x1,_0x7d2a65[_0x2f7f16++]=_0x1964b7+0x2,_0x7d2a65[_0x2f7f16++]=_0x1964b7+0x2,_0x7d2a65[_0x2f7f16++]=_0x1964b7+0x1,_0x7d2a65[_0x2f7f16++]=_0x1964b7+0x3,_0x1964b7+=0x4;}var _0x493a81=new Cesium$4[(_0x3f9c1e(0x270))]({'attributes':new Cesium$4[(_0x3f9c1e(0x2a1))]({'st':new Cesium$4[(_0x3f9c1e(0x218))]({'componentDatatype':Cesium$4['ComponentDatatype'][_0x3f9c1e(0x273)],'componentsPerAttribute':0x2,'values':_0x1a64be}),'normal':new Cesium$4[(_0x3f9c1e(0x218))]({'componentDatatype':Cesium$4['ComponentDatatype'][_0x3f9c1e(0x273)],'componentsPerAttribute':0x3,'values':_0x5989c5})}),'indices':_0x7d2a65});return _0x493a81;}},{'key':_0x1064bd(0x2b5),'value':function _0x211118(_0x411444,_0x441024,_0x3bbcdb,_0x4d44d7){var _0x1cc623=_0x1064bd,_0x5ae3bd=this;this['primitives']={'segments':new CustomPrimitive({'commandType':_0x1cc623(0x1bb),'attributeLocations':{'st':0x0,'normal':0x1},'geometry':this['createSegmentsGeometry'](_0x441024),'primitiveType':Cesium$4['PrimitiveType']['TRIANGLES'],'uniformMap':{'currentParticlesPosition':function _0x37af00(){var _0x466da4=_0x1cc623;return _0x4d44d7[_0x466da4(0x2c9)][_0x466da4(0x1ca)];},'postProcessingPosition':function _0x24f635(){var _0x5c6231=_0x1cc623;return _0x4d44d7[_0x5c6231(0x2c9)][_0x5c6231(0x1ed)];},'postProcessingSpeed':function _0x2d1066(){var _0x2ec0f9=_0x1cc623;return _0x4d44d7[_0x2ec0f9(0x2c9)][_0x2ec0f9(0x23c)];},'colorTable':function _0x5b584b(){var _0x418169=_0x1cc623;return _0x5ae3bd[_0x418169(0x2ba)][_0x418169(0x2b7)];},'aspect':function _0x2dfcef(){var _0x50bc08=_0x1cc623;return _0x411444[_0x50bc08(0x2f8)]/_0x411444[_0x50bc08(0x271)];},'pixelSize':function _0x4a7fb8(){var _0x23936e=_0x1cc623;return _0x3bbcdb[_0x23936e(0x2f4)];},'lineWidth':function _0x37f04c(){var _0x18d771=_0x1cc623;return _0x441024[_0x18d771(0x29b)];},'particleHeight':function _0x5f157e(){var _0x21e998=_0x1cc623;return _0x441024[_0x21e998(0x2e6)];}},'vertexShaderSource':new Cesium$4[(_0x1cc623(0x334))]({'sources':[segmentDraw_vert]}),'fragmentShaderSource':new Cesium$4[(_0x1cc623(0x334))]({'sources':[segmentDraw_frag]}),'rawRenderState':Util['createRawRenderState']({'viewport':undefined,'depthTest':{'enabled':!![]},'depthMask':!![]}),'framebuffer':this[_0x1cc623(0x2e4)][_0x1cc623(0x236)],'autoClear':!![]}),'trails':new CustomPrimitive({'commandType':_0x1cc623(0x1bb),'attributeLocations':{'position':0x0,'st':0x1},'geometry':Util['getFullscreenQuad'](),'primitiveType':Cesium$4[_0x1cc623(0x299)][_0x1cc623(0x27f)],'uniformMap':{'segmentsColorTexture':function _0x1980c7(){var _0x44c793=_0x1cc623;return _0x5ae3bd[_0x44c793(0x2ba)][_0x44c793(0x225)];},'segmentsDepthTexture':function _0x10a820(){var _0x25eef0=_0x1cc623;return _0x5ae3bd[_0x25eef0(0x2ba)][_0x25eef0(0x2d3)];},'currentTrailsColor':function _0x5496ad(){var _0x299c1f=_0x1cc623;return _0x5ae3bd[_0x299c1f(0x2e4)][_0x299c1f(0x2f1)][_0x299c1f(0x25b)](0x0);},'trailsDepthTexture':function _0x41035e(){var _0x471538=_0x1cc623;return _0x5ae3bd[_0x471538(0x2e4)][_0x471538(0x2f1)]['depthTexture'];},'fadeOpacity':function _0x21324b(){var _0x55b996=_0x1cc623;return _0x441024[_0x55b996(0x2ca)];}},'vertexShaderSource':new Cesium$4['ShaderSource']({'defines':['DISABLE_GL_POSITION_LOG_DEPTH'],'sources':[fullscreen_vert]}),'fragmentShaderSource':new Cesium$4[(_0x1cc623(0x334))]({'defines':[_0x1cc623(0x214)],'sources':[trailDraw_frag]}),'rawRenderState':Util[_0x1cc623(0x2ed)]({'viewport':undefined,'depthTest':{'enabled':!![],'func':Cesium$4[_0x1cc623(0x26f)][_0x1cc623(0x1e0)]},'depthMask':!![]}),'framebuffer':this[_0x1cc623(0x2e4)][_0x1cc623(0x31d)],'autoClear':!![],'preExecute':function _0x36040b(){var _0x2e5eac=_0x1cc623,_0x5e4c0e=_0x5ae3bd[_0x2e5eac(0x2e4)][_0x2e5eac(0x2f1)];_0x5ae3bd[_0x2e5eac(0x2e4)]['currentTrails']=_0x5ae3bd[_0x2e5eac(0x2e4)][_0x2e5eac(0x31d)],_0x5ae3bd[_0x2e5eac(0x2e4)][_0x2e5eac(0x31d)]=_0x5e4c0e,_0x5ae3bd[_0x2e5eac(0x2ae)][_0x2e5eac(0x263)][_0x2e5eac(0x284)][_0x2e5eac(0x315)]=_0x5ae3bd['framebuffers'][_0x2e5eac(0x31d)],_0x5ae3bd[_0x2e5eac(0x2ae)][_0x2e5eac(0x263)][_0x2e5eac(0x21f)][_0x2e5eac(0x315)]=_0x5ae3bd[_0x2e5eac(0x2e4)][_0x2e5eac(0x31d)];}}),'screen':new CustomPrimitive({'commandType':_0x1cc623(0x1bb),'attributeLocations':{'position':0x0,'st':0x1},'geometry':Util['getFullscreenQuad'](),'primitiveType':Cesium$4[_0x1cc623(0x299)]['TRIANGLES'],'uniformMap':{'trailsColorTexture':function _0x393922(){var _0x52e968=_0x1cc623;return _0x5ae3bd['framebuffers'][_0x52e968(0x31d)][_0x52e968(0x25b)](0x0);},'trailsDepthTexture':function _0x5d8af5(){var _0x41b66a=_0x1cc623;return _0x5ae3bd[_0x41b66a(0x2e4)]['nextTrails'][_0x41b66a(0x2d8)];}},'vertexShaderSource':new Cesium$4[(_0x1cc623(0x334))]({'defines':['DISABLE_GL_POSITION_LOG_DEPTH'],'sources':[fullscreen_vert]}),'fragmentShaderSource':new Cesium$4[(_0x1cc623(0x334))]({'defines':[_0x1cc623(0x214)],'sources':[screenDraw_frag]}),'rawRenderState':Util[_0x1cc623(0x2ed)]({'viewport':undefined,'depthTest':{'enabled':![]},'depthMask':!![],'blending':{'enabled':!![]}}),'framebuffer':undefined})};}}]),_0x124823;}()),getWind_frag='//\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}',updateSpeed_frag='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}',updatePosition_frag=_0x148ef8(0x2bc),postProcessingPosition_frag='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}',postProcessingSpeed_frag=_0x148ef8(0x2b8),Cesium$3=mars3d__namespace['Cesium'],ParticlesComputing=(function(){var _0x42b123=_0x148ef8;function _0x12ea68(_0x17ddf4,_0x9ce44d,_0x499c8a,_0x180f7f){var _0x4bdd7f=_0x5cd8;_classCallCheck(this,_0x12ea68),this[_0x4bdd7f(0x242)]=_0x9ce44d,this['createWindTextures'](_0x17ddf4,_0x9ce44d),this[_0x4bdd7f(0x2bf)](_0x17ddf4,_0x499c8a,_0x180f7f),this[_0x4bdd7f(0x224)](_0x9ce44d,_0x499c8a,_0x180f7f);}return _createClass(_0x12ea68,[{'key':_0x42b123(0x2a6),'value':function _0x3ea813(_0x5d03c2,_0x1c6f88){var _0x4dca03=_0x42b123,_0x5c1f72={'context':_0x5d03c2,'width':_0x1c6f88[_0x4dca03(0x2fa)][_0x4dca03(0x248)],'height':_0x1c6f88[_0x4dca03(0x2fa)][_0x4dca03(0x1ee)]*(_0x1c6f88[_0x4dca03(0x2fa)]['lev']||0x1),'pixelFormat':Cesium$3[_0x4dca03(0x1ba)]['LUMINANCE'],'pixelDatatype':Cesium$3[_0x4dca03(0x22d)][_0x4dca03(0x273)],'flipY':![],'sampler':new Cesium$3[(_0x4dca03(0x243))]({'minificationFilter':Cesium$3['TextureMinificationFilter'][_0x4dca03(0x2ec)],'magnificationFilter':Cesium$3[_0x4dca03(0x290)][_0x4dca03(0x2ec)]})};this[_0x4dca03(0x1f4)]={'U':Util['createTexture'](_0x5c1f72,_0x1c6f88['U'][_0x4dca03(0x2b1)]),'V':Util[_0x4dca03(0x2da)](_0x5c1f72,_0x1c6f88['V'][_0x4dca03(0x2b1)])};}},{'key':'createParticlesTextures','value':function _0x53ee99(_0xffb290,_0x320bda,_0x4893f2){var _0x2e8f19=_0x42b123,_0x4ecaa1={'context':_0xffb290,'width':_0x320bda[_0x2e8f19(0x31e)],'height':_0x320bda[_0x2e8f19(0x31e)],'pixelFormat':Cesium$3[_0x2e8f19(0x1ba)][_0x2e8f19(0x320)],'pixelDatatype':Cesium$3['PixelDatatype'][_0x2e8f19(0x273)],'flipY':![],'sampler':new Cesium$3[(_0x2e8f19(0x243))]({'minificationFilter':Cesium$3[_0x2e8f19(0x1df)]['NEAREST'],'magnificationFilter':Cesium$3[_0x2e8f19(0x290)][_0x2e8f19(0x2ec)]})},_0xb1ae15=this[_0x2e8f19(0x278)](_0x320bda[_0x2e8f19(0x21d)],_0x4893f2),_0x2e0a8e=new Float32Array(0x4*_0x320bda[_0x2e8f19(0x21d)])[_0x2e8f19(0x201)](0x0);this[_0x2e8f19(0x2c9)]={'particlesWind':Util[_0x2e8f19(0x2da)](_0x4ecaa1),'currentParticlesPosition':Util[_0x2e8f19(0x2da)](_0x4ecaa1,_0xb1ae15),'nextParticlesPosition':Util[_0x2e8f19(0x2da)](_0x4ecaa1,_0xb1ae15),'currentParticlesSpeed':Util[_0x2e8f19(0x2da)](_0x4ecaa1,_0x2e0a8e),'nextParticlesSpeed':Util[_0x2e8f19(0x2da)](_0x4ecaa1,_0x2e0a8e),'postProcessingPosition':Util[_0x2e8f19(0x2da)](_0x4ecaa1,_0xb1ae15),'postProcessingSpeed':Util['createTexture'](_0x4ecaa1,_0x2e0a8e)};}},{'key':_0x42b123(0x278),'value':function _0x3b20f7(_0x2f7cee,_0x5b5ed4){var _0x418f4a=_0x42b123,_0x5d4a08=new Float32Array(0x4*_0x2f7cee);for(var _0x14978c=0x0;_0x14978c<_0x2f7cee;_0x14978c++){_0x5d4a08[0x4*_0x14978c]=Cesium$3[_0x418f4a(0x2b2)][_0x418f4a(0x2a3)](_0x5b5ed4[_0x418f4a(0x2db)]['x'],_0x5b5ed4['lonRange']['y']),_0x5d4a08[0x4*_0x14978c+0x1]=Cesium$3[_0x418f4a(0x2b2)]['randomBetween'](_0x5b5ed4[_0x418f4a(0x275)]['x'],_0x5b5ed4[_0x418f4a(0x275)]['y']),_0x5d4a08[0x4*_0x14978c+0x2]=Cesium$3[_0x418f4a(0x2b2)][_0x418f4a(0x2a3)](this['data']['lev'][_0x418f4a(0x1da)],this['data'][_0x418f4a(0x1d7)][_0x418f4a(0x2b3)]),_0x5d4a08[0x4*_0x14978c+0x3]=0x0;}return _0x5d4a08;}},{'key':_0x42b123(0x2ef),'value':function _0x4f7735(){var _0x31151a=_0x42b123,_0x23cb0e=this;Object[_0x31151a(0x1f3)](this[_0x31151a(0x2c9)])[_0x31151a(0x26c)](function(_0x820fa5){_0x23cb0e['particlesTextures'][_0x820fa5]['destroy']();});}},{'key':_0x42b123(0x224),'value':function _0x3ec50a(_0xdb95de,_0x37f2d5,_0x3b605a){var _0x443f9a=_0x42b123,_0x452662=new Cesium$3[(_0x443f9a(0x2fc))](_0xdb95de[_0x443f9a(0x2fa)][_0x443f9a(0x248)],_0xdb95de[_0x443f9a(0x2fa)][_0x443f9a(0x1ee)],_0xdb95de[_0x443f9a(0x2fa)][_0x443f9a(0x1d7)]),_0x1eacd6=new Cesium$3[(_0x443f9a(0x2fc))](_0xdb95de[_0x443f9a(0x248)][_0x443f9a(0x1da)],_0xdb95de[_0x443f9a(0x1ee)]['min'],_0xdb95de['lev']['min']),_0x1e05d0=new Cesium$3[(_0x443f9a(0x2fc))](_0xdb95de[_0x443f9a(0x248)]['max'],_0xdb95de[_0x443f9a(0x1ee)][_0x443f9a(0x2b3)],_0xdb95de[_0x443f9a(0x1d7)]['max']),_0x163c65=new Cesium$3['Cartesian3']((_0x1e05d0['x']-_0x1eacd6['x'])/(_0x452662['x']-0x1),(_0x1e05d0['y']-_0x1eacd6['y'])/(_0x452662['y']-0x1),_0x452662['z']>0x1?(_0x1e05d0['z']-_0x1eacd6['z'])/(_0x452662['z']-0x1):0x1),_0x884307=new Cesium$3[(_0x443f9a(0x26b))](_0xdb95de['U']['min'],_0xdb95de['U'][_0x443f9a(0x2b3)]),_0xed0447=new Cesium$3[(_0x443f9a(0x26b))](_0xdb95de['V']['min'],_0xdb95de['V'][_0x443f9a(0x2b3)]),_0x3d9e6d=this;this[_0x443f9a(0x2ae)]={'getWind':new CustomPrimitive({'commandType':_0x443f9a(0x32c),'uniformMap':{'U':function _0x2fb431(){var _0x139aa3=_0x443f9a;return _0x3d9e6d[_0x139aa3(0x1f4)]['U'];},'V':function _0x4d1a54(){var _0x26d1c9=_0x443f9a;return _0x3d9e6d[_0x26d1c9(0x1f4)]['V'];},'currentParticlesPosition':function _0x19adb4(){var _0x3b7a55=_0x443f9a;return _0x3d9e6d[_0x3b7a55(0x2c9)][_0x3b7a55(0x1ca)];},'dimension':function _0x5ab323(){return _0x452662;},'minimum':function _0x137861(){return _0x1eacd6;},'maximum':function _0x272873(){return _0x1e05d0;},'interval':function _0x49b2a6(){return _0x163c65;}},'fragmentShaderSource':new Cesium$3[(_0x443f9a(0x334))]({'sources':[getWind_frag]}),'outputTexture':this['particlesTextures'][_0x443f9a(0x317)],'preExecute':function _0x15a972(){var _0x3201a7=_0x443f9a;_0x3d9e6d[_0x3201a7(0x2ae)][_0x3201a7(0x266)]['commandToExecute'][_0x3201a7(0x1b8)]=_0x3d9e6d['particlesTextures']['particlesWind'];}}),'updateSpeed':new CustomPrimitive({'commandType':_0x443f9a(0x32c),'uniformMap':{'currentParticlesSpeed':function _0x354a7b(){var _0x395863=_0x443f9a;return _0x3d9e6d[_0x395863(0x2c9)][_0x395863(0x1d3)];},'particlesWind':function _0x12aed1(){var _0x2e92be=_0x443f9a;return _0x3d9e6d[_0x2e92be(0x2c9)][_0x2e92be(0x317)];},'uSpeedRange':function _0x420d40(){return _0x884307;},'vSpeedRange':function _0x4f2991(){return _0xed0447;},'pixelSize':function _0x26364e(){return _0x3b605a['pixelSize'];},'speedFactor':function _0xb204a(){var _0x7b0fb1=_0x443f9a;return _0x37f2d5[_0x7b0fb1(0x1e7)];}},'fragmentShaderSource':new Cesium$3[(_0x443f9a(0x334))]({'sources':[updateSpeed_frag]}),'outputTexture':this[_0x443f9a(0x2c9)][_0x443f9a(0x24c)],'preExecute':function _0x3f9876(){var _0x2b8a59=_0x443f9a,_0xec0e5f=_0x3d9e6d['particlesTextures'][_0x2b8a59(0x1d3)];_0x3d9e6d['particlesTextures']['currentParticlesSpeed']=_0x3d9e6d['particlesTextures'][_0x2b8a59(0x23c)],_0x3d9e6d['particlesTextures']['postProcessingSpeed']=_0xec0e5f,_0x3d9e6d['primitives'][_0x2b8a59(0x31a)][_0x2b8a59(0x284)][_0x2b8a59(0x1b8)]=_0x3d9e6d['particlesTextures'][_0x2b8a59(0x24c)];}}),'updatePosition':new CustomPrimitive({'commandType':'Compute','uniformMap':{'currentParticlesPosition':function _0x8eb132(){var _0x1437b0=_0x443f9a;return _0x3d9e6d[_0x1437b0(0x2c9)][_0x1437b0(0x1ca)];},'currentParticlesSpeed':function _0x472f47(){var _0x38486a=_0x443f9a;return _0x3d9e6d[_0x38486a(0x2c9)][_0x38486a(0x1d3)];}},'fragmentShaderSource':new Cesium$3[(_0x443f9a(0x334))]({'sources':[updatePosition_frag]}),'outputTexture':this[_0x443f9a(0x2c9)][_0x443f9a(0x24f)],'preExecute':function _0xdd2b2(){var _0x35a901=_0x443f9a,_0x1a75ad=_0x3d9e6d[_0x35a901(0x2c9)][_0x35a901(0x1ca)];_0x3d9e6d[_0x35a901(0x2c9)][_0x35a901(0x1ca)]=_0x3d9e6d[_0x35a901(0x2c9)][_0x35a901(0x1ed)],_0x3d9e6d[_0x35a901(0x2c9)][_0x35a901(0x1ed)]=_0x1a75ad,_0x3d9e6d[_0x35a901(0x2ae)][_0x35a901(0x2c5)][_0x35a901(0x284)][_0x35a901(0x1b8)]=_0x3d9e6d[_0x35a901(0x2c9)]['nextParticlesPosition'];}}),'postProcessingPosition':new CustomPrimitive({'commandType':_0x443f9a(0x32c),'uniformMap':{'nextParticlesPosition':function _0x43f1c7(){var _0xb3d9cc=_0x443f9a;return _0x3d9e6d[_0xb3d9cc(0x2c9)][_0xb3d9cc(0x24f)];},'nextParticlesSpeed':function _0x5a339d(){var _0x1d6d97=_0x443f9a;return _0x3d9e6d[_0x1d6d97(0x2c9)][_0x1d6d97(0x24c)];},'lonRange':function _0xc9383c(){var _0x35dd86=_0x443f9a;return _0x3b605a[_0x35dd86(0x2db)];},'latRange':function _0x5fa6e3(){var _0x15212c=_0x443f9a;return _0x3b605a[_0x15212c(0x275)];},'randomCoefficient':function _0x44bcf4(){var _0x3e3d05=_0x443f9a,_0xffc29e=Math[_0x3e3d05(0x2dd)]();return _0xffc29e;},'dropRate':function _0x540ddc(){var _0x5d047f=_0x443f9a;return _0x37f2d5[_0x5d047f(0x2c2)];},'dropRateBump':function _0x1290bd(){var _0x127c27=_0x443f9a;return _0x37f2d5[_0x127c27(0x1e2)];}},'fragmentShaderSource':new Cesium$3['ShaderSource']({'sources':[postProcessingPosition_frag]}),'outputTexture':this['particlesTextures'][_0x443f9a(0x1ed)],'preExecute':function _0x7fcdb7(){var _0x93042=_0x443f9a;_0x3d9e6d[_0x93042(0x2ae)]['postProcessingPosition'][_0x93042(0x284)][_0x93042(0x1b8)]=_0x3d9e6d[_0x93042(0x2c9)][_0x93042(0x1ed)];}}),'postProcessingSpeed':new CustomPrimitive({'commandType':_0x443f9a(0x32c),'uniformMap':{'postProcessingPosition':function _0x2f7347(){var _0x244b7a=_0x443f9a;return _0x3d9e6d[_0x244b7a(0x2c9)][_0x244b7a(0x1ed)];},'nextParticlesSpeed':function _0x457bfe(){var _0x530f21=_0x443f9a;return _0x3d9e6d[_0x530f21(0x2c9)]['nextParticlesSpeed'];}},'fragmentShaderSource':new Cesium$3['ShaderSource']({'sources':[postProcessingSpeed_frag]}),'outputTexture':this[_0x443f9a(0x2c9)][_0x443f9a(0x23c)],'preExecute':function _0x288684(){var _0x1af738=_0x443f9a;_0x3d9e6d['primitives'][_0x1af738(0x23c)][_0x1af738(0x284)][_0x1af738(0x1b8)]=_0x3d9e6d[_0x1af738(0x2c9)]['postProcessingSpeed'];}})};}}]),_0x12ea68;}()),Cesium$2=mars3d__namespace[_0x148ef8(0x297)],ParticleSystem=(function(){var _0xaf277a=_0x148ef8;function _0xc08eaf(_0x1ed1d9,_0x25813f,_0x189cf1,_0x24196e){var _0x4e13d3=_0x5cd8;_classCallCheck(this,_0xc08eaf),this[_0x4e13d3(0x282)]=_0x1ed1d9,_0x25813f=_objectSpread2({},_0x25813f);if(_0x25813f[_0x4e13d3(0x32b)]&&_0x25813f[_0x4e13d3(0x216)]){var _0x1dd32d,_0x26604f,_0x43e348,_0x7bc51c,_0x1bbbdf,_0x37ca0c;_0x25813f[_0x4e13d3(0x2fa)]={},_0x25813f[_0x4e13d3(0x2fa)][_0x4e13d3(0x248)]=_0x25813f[_0x4e13d3(0x1d1)],_0x25813f[_0x4e13d3(0x2fa)][_0x4e13d3(0x1ee)]=_0x25813f[_0x4e13d3(0x277)],_0x25813f[_0x4e13d3(0x2fa)][_0x4e13d3(0x1d7)]=_0x25813f[_0x4e13d3(0x1d7)]||0x1,_0x25813f['lon']={},_0x25813f[_0x4e13d3(0x248)][_0x4e13d3(0x1da)]=_0x25813f['xmin'],_0x25813f['lon'][_0x4e13d3(0x2b3)]=_0x25813f['xmax'],_0x25813f[_0x4e13d3(0x1ee)]={},_0x25813f[_0x4e13d3(0x1ee)][_0x4e13d3(0x1da)]=_0x25813f[_0x4e13d3(0x226)],_0x25813f[_0x4e13d3(0x1ee)][_0x4e13d3(0x2b3)]=_0x25813f[_0x4e13d3(0x1c8)],_0x25813f[_0x4e13d3(0x1d7)]={},_0x25813f[_0x4e13d3(0x1d7)][_0x4e13d3(0x1da)]=(_0x1dd32d=_0x25813f['levmin'])!==null&&_0x1dd32d!==void 0x0?_0x1dd32d:0x1,_0x25813f['lev'][_0x4e13d3(0x2b3)]=(_0x26604f=_0x25813f['levmax'])!==null&&_0x26604f!==void 0x0?_0x26604f:0x1,_0x25813f['U']={},_0x25813f['U'][_0x4e13d3(0x2b1)]=new Float32Array(_0x25813f[_0x4e13d3(0x32b)]),_0x25813f['U'][_0x4e13d3(0x1da)]=(_0x43e348=_0x25813f['umin'])!==null&&_0x43e348!==void 0x0?_0x43e348:Math['min'][_0x4e13d3(0x337)](Math,_toConsumableArray(_0x25813f[_0x4e13d3(0x32b)])),_0x25813f['U']['max']=(_0x7bc51c=_0x25813f[_0x4e13d3(0x322)])!==null&&_0x7bc51c!==void 0x0?_0x7bc51c:Math[_0x4e13d3(0x2b3)][_0x4e13d3(0x337)](Math,_toConsumableArray(_0x25813f['udata'])),_0x25813f['V']={},_0x25813f['V']['array']=new Float32Array(_0x25813f['vdata']),_0x25813f['V'][_0x4e13d3(0x1da)]=(_0x1bbbdf=_0x25813f[_0x4e13d3(0x207)])!==null&&_0x1bbbdf!==void 0x0?_0x1bbbdf:Math[_0x4e13d3(0x1da)][_0x4e13d3(0x337)](Math,_toConsumableArray(_0x25813f[_0x4e13d3(0x216)])),_0x25813f['V'][_0x4e13d3(0x2b3)]=(_0x37ca0c=_0x25813f[_0x4e13d3(0x23f)])!==null&&_0x37ca0c!==void 0x0?_0x37ca0c:Math['max'][_0x4e13d3(0x337)](Math,_toConsumableArray(_0x25813f[_0x4e13d3(0x216)]));}this[_0x4e13d3(0x242)]=_0x25813f,this[_0x4e13d3(0x230)]=_0x189cf1,this[_0x4e13d3(0x327)]=_0x24196e,this[_0x4e13d3(0x2dc)]=new ParticlesComputing(this['context'],this[_0x4e13d3(0x242)],this[_0x4e13d3(0x230)],this[_0x4e13d3(0x327)]),this['particlesRendering']=new ParticlesRendering(this['context'],this['data'],this[_0x4e13d3(0x230)],this[_0x4e13d3(0x327)],this[_0x4e13d3(0x2dc)]);}return _createClass(_0xc08eaf,[{'key':'canvasResize','value':function _0x1a2e9e(_0x18c9af){var _0xcf4daf=_0x5cd8,_0x30ff04=this;this[_0xcf4daf(0x2dc)][_0xcf4daf(0x2ef)](),Object[_0xcf4daf(0x1f3)](this['particlesComputing'][_0xcf4daf(0x1f4)])[_0xcf4daf(0x26c)](function(_0x4c5d13){var _0x19cbcf=_0xcf4daf;_0x30ff04['particlesComputing'][_0x19cbcf(0x1f4)][_0x4c5d13][_0x19cbcf(0x239)]();}),this[_0xcf4daf(0x30e)][_0xcf4daf(0x2ba)][_0xcf4daf(0x2b7)][_0xcf4daf(0x239)](),Object['keys'](this[_0xcf4daf(0x30e)][_0xcf4daf(0x2e4)])[_0xcf4daf(0x26c)](function(_0x50ec8e){var _0x38cd4f=_0xcf4daf;_0x30ff04[_0x38cd4f(0x30e)][_0x38cd4f(0x2e4)][_0x50ec8e][_0x38cd4f(0x239)]();}),this[_0xcf4daf(0x282)]=_0x18c9af,this[_0xcf4daf(0x2dc)]=new ParticlesComputing(this[_0xcf4daf(0x282)],this['data'],this[_0xcf4daf(0x230)],this['viewerParameters']),this[_0xcf4daf(0x30e)]=new ParticlesRendering(this['context'],this[_0xcf4daf(0x242)],this[_0xcf4daf(0x230)],this[_0xcf4daf(0x327)],this[_0xcf4daf(0x2dc)]);}},{'key':_0xaf277a(0x2d9),'value':function _0x43c8e5(){var _0x5cf3c6=_0xaf277a,_0x161f8c=this,_0x59df92=new Cesium$2[(_0x5cf3c6(0x254))]({'color':new Cesium$2[(_0x5cf3c6(0x2d4))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':undefined,'pass':Cesium$2[_0x5cf3c6(0x208)]['OPAQUE']});Object[_0x5cf3c6(0x1f3)](this[_0x5cf3c6(0x30e)][_0x5cf3c6(0x2e4)])[_0x5cf3c6(0x26c)](function(_0x21dae2){var _0x32b267=_0x5cf3c6;_0x59df92['framebuffer']=_0x161f8c[_0x32b267(0x30e)][_0x32b267(0x2e4)][_0x21dae2],_0x59df92[_0x32b267(0x272)](_0x161f8c[_0x32b267(0x282)]);});}},{'key':'refreshParticles','value':function _0x2d011a(_0x26fbc8){var _0x2def5c=_0xaf277a;this[_0x2def5c(0x2d9)](),this['particlesComputing'][_0x2def5c(0x2ef)](),this[_0x2def5c(0x2dc)][_0x2def5c(0x2bf)](this[_0x2def5c(0x282)],this[_0x2def5c(0x230)],this[_0x2def5c(0x327)]);if(_0x26fbc8){var _0x13c49e=this['particlesRendering'][_0x2def5c(0x1db)](this[_0x2def5c(0x230)]);this[_0x2def5c(0x30e)]['primitives'][_0x2def5c(0x236)][_0x2def5c(0x307)]=_0x13c49e;var _0x225171=Cesium$2[_0x2def5c(0x1bc)][_0x2def5c(0x2ab)]({'context':this[_0x2def5c(0x282)],'geometry':_0x13c49e,'attributeLocations':this['particlesRendering']['primitives'][_0x2def5c(0x236)][_0x2def5c(0x1e6)],'bufferUsage':Cesium$2[_0x2def5c(0x2e1)][_0x2def5c(0x2a9)]});this[_0x2def5c(0x30e)]['primitives'][_0x2def5c(0x236)][_0x2def5c(0x284)]['vertexArray']=_0x225171;}}},{'key':'setOptions','value':function _0x5d334d(_0x52dbed){var _0x15c73a=_0xaf277a,_0x1f77fa=this,_0x20a683=![];this['options'][_0x15c73a(0x21d)]!==_0x52dbed[_0x15c73a(0x21d)]&&(_0x20a683=!![]),Object[_0x15c73a(0x1f3)](_0x52dbed)['forEach'](function(_0x32bc50){_0x1f77fa['options'][_0x32bc50]=_0x52dbed[_0x32bc50];}),this[_0x15c73a(0x262)](_0x20a683);}},{'key':_0xaf277a(0x333),'value':function _0x3b9dee(_0x77fe36){var _0x2079e1=_0xaf277a,_0x2f4d72=this;Object['keys'](_0x77fe36)[_0x2079e1(0x26c)](function(_0x4e9250){_0x2f4d72['viewerParameters'][_0x4e9250]=_0x77fe36[_0x4e9250];}),this[_0x2079e1(0x262)](![]);}},{'key':_0xaf277a(0x239),'value':function _0x34aa11(){var _0x38cf56=_0xaf277a,_0x29a357=this;clearTimeout(this[_0x38cf56(0x241)]),this[_0x38cf56(0x2dc)][_0x38cf56(0x2ef)](),Object[_0x38cf56(0x1f3)](this['particlesComputing']['windTextures'])['forEach'](function(_0x2a84df){var _0x29df20=_0x38cf56;_0x29a357[_0x29df20(0x2dc)][_0x29df20(0x1f4)][_0x2a84df]['destroy']();}),this[_0x38cf56(0x30e)][_0x38cf56(0x2ba)]['colorTable']['destroy'](),Object[_0x38cf56(0x1f3)](this[_0x38cf56(0x30e)][_0x38cf56(0x2e4)])[_0x38cf56(0x26c)](function(_0x21e129){var _0x4c6740=_0x38cf56;_0x29a357[_0x4c6740(0x30e)]['framebuffers'][_0x21e129][_0x4c6740(0x239)]();});for(var _0x2676e3 in this){delete this[_0x2676e3];}}}]),_0xc08eaf;}()),Cesium$1=mars3d__namespace[_0x148ef8(0x297)],BaseLayer$1=mars3d__namespace[_0x148ef8(0x1ef)]['BaseLayer'],DEF_OPTIONS={'particlesNumber':0x1000,'fixedHeight':0x0,'fadeOpacity':0.996,'dropRate':0.003,'dropRateBump':0.01,'speedFactor':0.5,'lineWidth':0x2,'colors':[_0x148ef8(0x2aa)]},WindLayer=function(_0x295432){var _0x2b80a7=_0x148ef8;_inherits(_0x2deb9d,_0x295432);var _0xb6258a=_createSuper(_0x2deb9d);function _0x2deb9d(){var _0x1b1105=_0x5cd8,_0x17ae2c,_0x233264=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};return _classCallCheck(this,_0x2deb9d),_0x233264=_objectSpread2(_objectSpread2({},DEF_OPTIONS),_0x233264),_0x17ae2c=_0xb6258a[_0x1b1105(0x285)](this,_0x233264),_0x17ae2c['_setOptionsHook'](_0x233264),_0x17ae2c;}return _createClass(_0x2deb9d,[{'key':_0x2b80a7(0x1ef),'get':function _0x1c6261(){var _0x2aee78=_0x2b80a7;return this[_0x2aee78(0x2ae)];}},{'key':_0x2b80a7(0x242),'get':function _0x8b6084(){var _0x243136=_0x2b80a7;return this[_0x243136(0x219)];},'set':function _0x2bd5c8(_0x579908){var _0x594a66=_0x2b80a7;this[_0x594a66(0x1fc)](_0x579908);}},{'key':'colors','get':function _0x4f1e9c(){var _0xe88206=_0x2b80a7;return this[_0xe88206(0x230)][_0xe88206(0x1b5)];},'set':function _0x107575(_0x50ccbb){var _0x226941=_0x2b80a7;this['options'][_0x226941(0x1b5)]=_0x50ccbb,this[_0x226941(0x1f7)]&&this[_0x226941(0x1f7)][_0x226941(0x291)]({'colors':_0x50ccbb}),this[_0x226941(0x267)]();}},{'key':_0x2b80a7(0x1e3),'value':function _0x562392(){}},{'key':_0x2b80a7(0x274),'value':function _0x23c1e8(){var _0x1eeaad=_0x2b80a7;this[_0x1eeaad(0x2a0)]=this[_0x1eeaad(0x280)][_0x1eeaad(0x2a0)],this[_0x1eeaad(0x2ee)]=this[_0x1eeaad(0x280)][_0x1eeaad(0x2ee)],this[_0x1eeaad(0x2ae)]=new Cesium$1[(_0x1eeaad(0x2c0))](),this['_map']['scene'][_0x1eeaad(0x2ae)][_0x1eeaad(0x30c)](this[_0x1eeaad(0x2ae)]),this[_0x1eeaad(0x327)]={'lonRange':new Cesium$1['Cartesian2'](),'latRange':new Cesium$1['Cartesian2'](),'pixelSize':0x0},this[_0x1eeaad(0x2d1)]=new Cesium$1[(_0x1eeaad(0x325))](Cesium$1[_0x1eeaad(0x2fc)]['ZERO'],0.99*0x615299),this[_0x1eeaad(0x25e)](),window[_0x1eeaad(0x304)](_0x1eeaad(0x267),this[_0x1eeaad(0x267)][_0x1eeaad(0x1c6)](this),![]),this[_0x1eeaad(0x2a4)]=![],this[_0x1eeaad(0x245)]=![],this[_0x1eeaad(0x280)]['on'](mars3d__namespace['EventType'][_0x1eeaad(0x24d)],this[_0x1eeaad(0x202)],this),this[_0x1eeaad(0x280)]['on'](mars3d__namespace[_0x1eeaad(0x1d8)]['mouseDown'],this['_onMouseDownEvent'],this),this[_0x1eeaad(0x280)]['on'](mars3d__namespace['EventType']['mouseUp'],this['_onMouseUpEvent'],this),this[_0x1eeaad(0x280)]['on'](mars3d__namespace[_0x1eeaad(0x1d8)]['mouseMove'],this['_onMouseMoveEvent'],this),this[_0x1eeaad(0x219)]&&this['setData'](this[_0x1eeaad(0x219)]);}},{'key':_0x2b80a7(0x2b4),'value':function _0x1c2df1(){var _0x256c56=_0x2b80a7;window[_0x256c56(0x23e)](_0x256c56(0x267),this[_0x256c56(0x267)]),this[_0x256c56(0x280)][_0x256c56(0x31c)](mars3d__namespace[_0x256c56(0x1d8)][_0x256c56(0x2c1)],this[_0x256c56(0x1b6)],this),this[_0x256c56(0x280)]['off'](mars3d__namespace[_0x256c56(0x1d8)][_0x256c56(0x24d)],this[_0x256c56(0x202)],this),this[_0x256c56(0x280)]['off'](mars3d__namespace['EventType']['mouseDown'],this[_0x256c56(0x21e)],this),this[_0x256c56(0x280)]['off'](mars3d__namespace[_0x256c56(0x1d8)][_0x256c56(0x258)],this[_0x256c56(0x23b)],this),this[_0x256c56(0x280)][_0x256c56(0x31c)](mars3d__namespace[_0x256c56(0x1d8)][_0x256c56(0x294)],this[_0x256c56(0x22b)],this),this[_0x256c56(0x2ae)][_0x256c56(0x1cb)](),this[_0x256c56(0x280)][_0x256c56(0x2a0)]['primitives'][_0x256c56(0x261)](this[_0x256c56(0x2ae)]);}},{'key':_0x2b80a7(0x267),'value':function _0xeeabe9(){var _0x187d1e=_0x2b80a7;if(!this[_0x187d1e(0x23a)]||!this[_0x187d1e(0x1f7)])return;this[_0x187d1e(0x2ae)][_0x187d1e(0x23a)]=![],this[_0x187d1e(0x2ae)][_0x187d1e(0x1cb)](),this[_0x187d1e(0x280)][_0x187d1e(0x311)](mars3d__namespace['EventType']['preRender'],this[_0x187d1e(0x1b6)],this);}},{'key':_0x2b80a7(0x1b6),'value':function _0x3d7f01(_0x449f7b){var _0x278c64=_0x2b80a7;this[_0x278c64(0x1f7)][_0x278c64(0x27a)](this[_0x278c64(0x2a0)][_0x278c64(0x282)]),this[_0x278c64(0x268)](),this[_0x278c64(0x2ae)][_0x278c64(0x23a)]=!![];}},{'key':_0x2b80a7(0x202),'value':function _0x1c0ca0(_0x1e072b){var _0xcea88=_0x2b80a7,_0x5e2b90=this;clearTimeout(this['refreshTimer']);if(!this['show']||!this['particleSystem'])return;this[_0xcea88(0x2ae)][_0xcea88(0x23a)]=![],this[_0xcea88(0x25d)]=setTimeout(function(){var _0x417b50=_0xcea88;if(!_0x5e2b90[_0x417b50(0x23a)])return;_0x5e2b90[_0x417b50(0x313)]();},0xc8);}},{'key':_0x2b80a7(0x21e),'value':function _0x442d11(_0x274487){var _0x13fc5f=_0x2b80a7;this[_0x13fc5f(0x2a4)]=!![];}},{'key':_0x2b80a7(0x22b),'value':function _0xac35b1(_0x4f2f7a){var _0x3fb66b=_0x2b80a7;if(!this[_0x3fb66b(0x23a)]||!this['particleSystem'])return;this['mouse_down']&&(this[_0x3fb66b(0x2ae)]['show']=![],this['mouse_move']=!![]);}},{'key':_0x2b80a7(0x23b),'value':function _0x4560f5(_0x3617f1){var _0x6bbff2=_0x2b80a7;if(!this[_0x6bbff2(0x23a)]||!this['particleSystem'])return;this['mouse_down']&&this[_0x6bbff2(0x245)]&&this['redraw'](),this[_0x6bbff2(0x2ae)][_0x6bbff2(0x23a)]=!![],this['mouse_down']=![],this[_0x6bbff2(0x245)]=![];}},{'key':'redraw','value':function _0x2e63ed(){var _0x4aa283=_0x2b80a7;if(!this[_0x4aa283(0x280)]||!this[_0x4aa283(0x23a)])return;this[_0x4aa283(0x25e)](),this['particleSystem'][_0x4aa283(0x333)](this[_0x4aa283(0x327)]),this[_0x4aa283(0x2ae)][_0x4aa283(0x23a)]=!![];}},{'key':_0x2b80a7(0x1fc),'value':function _0x52424b(_0x10de16){var _0x46bde1=_0x2b80a7;this['_data']=_0x10de16,this[_0x46bde1(0x1f7)]&&this[_0x46bde1(0x1f7)][_0x46bde1(0x239)](),this[_0x46bde1(0x1f7)]=new ParticleSystem(this[_0x46bde1(0x2a0)][_0x46bde1(0x282)],_0x10de16,this[_0x46bde1(0x29f)](),this[_0x46bde1(0x327)]),this[_0x46bde1(0x268)]();}},{'key':_0x2b80a7(0x1de),'value':function _0x52c08a(_0x3ccaf2){var _0x432707=_0x2b80a7;if(_0x3ccaf2)for(var _0x39b92c in _0x3ccaf2){this[_0x39b92c]=_0x3ccaf2[_0x39b92c];}this[_0x432707(0x1f7)]&&this[_0x432707(0x1f7)][_0x432707(0x291)](this[_0x432707(0x29f)]());}},{'key':_0x2b80a7(0x29f),'value':function _0x23c74b(){var _0xd5140a=_0x2b80a7,_0x44bc3e=Math['ceil'](Math[_0xd5140a(0x222)](this[_0xd5140a(0x2e9)]));return this[_0xd5140a(0x2e9)]=_0x44bc3e*_0x44bc3e,{'particlesTextureSize':_0x44bc3e,'maxParticles':this[_0xd5140a(0x2e9)],'particleHeight':this[_0xd5140a(0x256)],'fadeOpacity':this[_0xd5140a(0x2ca)],'dropRate':this[_0xd5140a(0x2c2)],'dropRateBump':this[_0xd5140a(0x1e2)],'speedFactor':this[_0xd5140a(0x1e7)],'lineWidth':this['lineWidth'],'globeLayer':this['globeLayer'],'WMS_URL':this[_0xd5140a(0x1c2)],'colors':this[_0xd5140a(0x1b5)]};}},{'key':'addPrimitives','value':function _0x5acd74(){var _0x156739=_0x2b80a7;this[_0x156739(0x2ae)][_0x156739(0x30c)](this[_0x156739(0x1f7)][_0x156739(0x2dc)]['primitives'][_0x156739(0x266)]),this[_0x156739(0x2ae)][_0x156739(0x30c)](this['particleSystem'][_0x156739(0x2dc)][_0x156739(0x2ae)][_0x156739(0x31a)]),this[_0x156739(0x2ae)][_0x156739(0x30c)](this[_0x156739(0x1f7)]['particlesComputing']['primitives'][_0x156739(0x2c5)]),this[_0x156739(0x2ae)][_0x156739(0x30c)](this[_0x156739(0x1f7)]['particlesComputing'][_0x156739(0x2ae)][_0x156739(0x1ed)]),this[_0x156739(0x2ae)]['add'](this[_0x156739(0x1f7)][_0x156739(0x2dc)][_0x156739(0x2ae)][_0x156739(0x23c)]),this['primitives'][_0x156739(0x30c)](this[_0x156739(0x1f7)][_0x156739(0x30e)][_0x156739(0x2ae)][_0x156739(0x236)]),this[_0x156739(0x2ae)]['add'](this[_0x156739(0x1f7)][_0x156739(0x30e)][_0x156739(0x2ae)][_0x156739(0x263)]),this[_0x156739(0x2ae)][_0x156739(0x30c)](this[_0x156739(0x1f7)][_0x156739(0x30e)][_0x156739(0x2ae)][_0x156739(0x2e0)]);}},{'key':_0x2b80a7(0x25e),'value':function _0x1557ab(){var _0x407958=_0x2b80a7,_0x1f0a12=this[_0x407958(0x2ee)]['computeViewRectangle'](this['scene'][_0x407958(0x1e5)][_0x407958(0x27c)]);if(!_0x1f0a12){var _0x49e9dc=this['_map'][_0x407958(0x1c0)]();_0x1f0a12=Cesium$1[_0x407958(0x1f9)][_0x407958(0x1bd)](_0x49e9dc[_0x407958(0x2b0)],_0x49e9dc['ymin'],_0x49e9dc[_0x407958(0x21a)],_0x49e9dc[_0x407958(0x1c8)]);}var _0x3eb22e=Util[_0x407958(0x29d)](_0x1f0a12);this[_0x407958(0x327)]['lonRange']['x']=_0x3eb22e[_0x407958(0x248)][_0x407958(0x1da)],this[_0x407958(0x327)]['lonRange']['y']=_0x3eb22e[_0x407958(0x248)][_0x407958(0x2b3)],this[_0x407958(0x327)][_0x407958(0x275)]['x']=_0x3eb22e['lat'][_0x407958(0x1da)],this[_0x407958(0x327)][_0x407958(0x275)]['y']=_0x3eb22e['lat'][_0x407958(0x2b3)];var _0x350947=this[_0x407958(0x2ee)]['getPixelSize'](this['globeBoundingSphere'],this['scene'][_0x407958(0x2f8)],this[_0x407958(0x2a0)][_0x407958(0x271)]);_0x350947>0x0&&(this[_0x407958(0x327)]['pixelSize']=_0x350947);}}]),_0x2deb9d;}(BaseLayer$1);mars3d__namespace[_0x148ef8(0x2d6)]['register']('wind',WindLayer),mars3d__namespace[_0x148ef8(0x1ef)][_0x148ef8(0x1fe)]=WindLayer;var CanvasParticle=_createClass(function CanvasParticle(){var _0x155c7e=_0x148ef8;_classCallCheck(this,CanvasParticle),this[_0x155c7e(0x24a)]=null,this[_0x155c7e(0x1ee)]=null,this[_0x155c7e(0x203)]=null,this[_0x155c7e(0x2a2)]=null,this['age']=null;}),CanvasWindField=(function(){var _0x277b93=_0x148ef8;function _0x482f04(_0x572c39,_0x37f357){var _0x53d884=_0x5cd8;_classCallCheck(this,_0x482f04),this[_0x53d884(0x277)]=_0x572c39['rows'],this[_0x53d884(0x1d1)]=_0x572c39[_0x53d884(0x1d1)],this[_0x53d884(0x2b0)]=_0x572c39['xmin'],this[_0x53d884(0x21a)]=_0x572c39[_0x53d884(0x21a)],this[_0x53d884(0x226)]=_0x572c39[_0x53d884(0x226)],this[_0x53d884(0x1c8)]=_0x572c39[_0x53d884(0x1c8)],this['grid']=[];var _0x53985d=_0x572c39[_0x53d884(0x32b)],_0x490c65=_0x572c39['vdata'],_0x4cbdd6=![];_0x53985d[_0x53d884(0x237)]===this[_0x53d884(0x277)]&&_0x53985d[0x0][_0x53d884(0x237)]===this[_0x53d884(0x1d1)]&&(_0x4cbdd6=!![]);var _0xe48050=0x0,_0x454d73=null,_0x328ca9=null;for(var _0x580cb0=0x0;_0x580cb0<this[_0x53d884(0x277)];_0x580cb0++){_0x454d73=[];for(var _0x37a47b=0x0;_0x37a47b<this['cols'];_0x37a47b++,_0xe48050++){_0x4cbdd6?_0x328ca9=this[_0x53d884(0x318)](_0x53985d[_0x580cb0][_0x37a47b],_0x490c65[_0x580cb0][_0x37a47b]):_0x328ca9=this[_0x53d884(0x318)](_0x53985d[_0xe48050],_0x490c65[_0xe48050]),_0x454d73[_0x53d884(0x229)](_0x328ca9);}this[_0x53d884(0x1c4)][_0x53d884(0x229)](_0x454d73);}_0x37f357&&this['grid'][_0x53d884(0x1f0)]();}return _createClass(_0x482f04,[{'key':_0x277b93(0x1dc),'value':function _0x2ba0e5(_0x41d984,_0x3b86d4){var _0xfa7f50=_0x277b93,_0x59b7a=(_0x41d984-this[_0xfa7f50(0x2b0)])/(this[_0xfa7f50(0x21a)]-this[_0xfa7f50(0x2b0)])*(this[_0xfa7f50(0x1d1)]-0x1),_0x217bb6=(this[_0xfa7f50(0x1c8)]-_0x3b86d4)/(this['ymax']-this['ymin'])*(this['rows']-0x1);return{'x':_0x59b7a,'y':_0x217bb6};}},{'key':_0x277b93(0x2df),'value':function _0xa6588d(_0x2b2574,_0x3ab6f8){var _0x4a3fcf=_0x277b93;if(_0x2b2574<0x0||_0x2b2574>=this[_0x4a3fcf(0x1d1)]||_0x3ab6f8>=this[_0x4a3fcf(0x277)])return[0x0,0x0,0x0];var _0x8df45=Math[_0x4a3fcf(0x298)](_0x2b2574),_0xe4091c=Math[_0x4a3fcf(0x298)](_0x3ab6f8);if(_0x8df45===_0x2b2574&&_0xe4091c===_0x3ab6f8)return this[_0x4a3fcf(0x1c4)][_0x3ab6f8][_0x2b2574];var _0x438686=_0x8df45+0x1,_0x18056b=_0xe4091c+0x1,_0x217097=this[_0x4a3fcf(0x2df)](_0x8df45,_0xe4091c),_0x562c7f=this[_0x4a3fcf(0x2df)](_0x438686,_0xe4091c),_0x2c77d9=this[_0x4a3fcf(0x2df)](_0x8df45,_0x18056b),_0x31a4ee=this[_0x4a3fcf(0x2df)](_0x438686,_0x18056b),_0x550823=null;try{_0x550823=this['_bilinearInterpolation'](_0x2b2574-_0x8df45,_0x3ab6f8-_0xe4091c,_0x217097,_0x562c7f,_0x2c77d9,_0x31a4ee);}catch(_0x459c77){console[_0x4a3fcf(0x1d6)](_0x2b2574,_0x3ab6f8);}return _0x550823;}},{'key':_0x277b93(0x330),'value':function _0x1da8af(_0x435101,_0x22e4c4,_0x1751b6,_0x53fde6,_0x2e4bfb,_0x1bec06){var _0x446b43=_0x277b93,_0x81b31=0x1-_0x435101,_0x2e2c33=0x1-_0x22e4c4,_0x377be3=_0x81b31*_0x2e2c33,_0x335aa2=_0x435101*_0x2e2c33,_0x4ec619=_0x81b31*_0x22e4c4,_0x18065a=_0x435101*_0x22e4c4,_0x4902f4=_0x1751b6[0x0]*_0x377be3+_0x53fde6[0x0]*_0x335aa2+_0x2e4bfb[0x0]*_0x4ec619+_0x1bec06[0x0]*_0x18065a,_0x548df6=_0x1751b6[0x1]*_0x377be3+_0x53fde6[0x1]*_0x335aa2+_0x2e4bfb[0x1]*_0x4ec619+_0x1bec06[0x1]*_0x18065a;return this[_0x446b43(0x318)](_0x4902f4,_0x548df6);}},{'key':_0x277b93(0x318),'value':function _0x904e80(_0x86bdfd,_0x5da55f){var _0x560dcf=_0x277b93;return[+_0x86bdfd,+_0x5da55f,Math[_0x560dcf(0x222)](_0x86bdfd*_0x86bdfd+_0x5da55f*_0x5da55f)];}},{'key':_0x277b93(0x2c4),'value':function _0x3ac43b(_0x21238e,_0x3145bf){var _0x42bbd9=_0x277b93;if(!this['isInExtent'](_0x21238e,_0x3145bf))return null;var _0x1f3c93=this['toGridXY'](_0x21238e,_0x3145bf),_0x19a759=this[_0x42bbd9(0x2df)](_0x1f3c93['x'],_0x1f3c93['y']);return _0x19a759;}},{'key':_0x277b93(0x227),'value':function _0x4f819f(_0x437bbc,_0x319224){var _0x47299d=_0x277b93;return _0x437bbc>=this[_0x47299d(0x2b0)]&&_0x437bbc<=this['xmax']&&_0x319224>=this[_0x47299d(0x226)]&&_0x319224<=this['ymax']?!![]:![];}},{'key':_0x277b93(0x2f6),'value':function _0x17cedc(){var _0x2180df=_0x277b93,_0xe177eb=fRandomByfloat(this[_0x2180df(0x2b0)],this[_0x2180df(0x21a)]),_0x1d081a=fRandomByfloat(this[_0x2180df(0x226)],this[_0x2180df(0x1c8)]);return{'lat':_0x1d081a,'lng':_0xe177eb};}}]),_0x482f04;}());function fRandomByfloat(_0x30e0ab,_0x2c9442){return _0x30e0ab+Math['random']()*(_0x2c9442-_0x30e0ab);}var Cesium=mars3d__namespace[_0x148ef8(0x297)],BaseLayer=mars3d__namespace[_0x148ef8(0x1ef)]['BaseLayer'],CanvasWindLayer=function(_0x49db01){var _0x5872e9=_0x148ef8;_inherits(_0x173024,_0x49db01);var _0x566f85=_createSuper(_0x173024);function _0x173024(){var _0x480aa8=_0x5cd8,_0x5112af,_0x42fdfe=arguments[_0x480aa8(0x237)]>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};return _classCallCheck(this,_0x173024),_0x5112af=_0x566f85['call'](this,_0x42fdfe),_0x5112af['_setOptionsHook'](_0x42fdfe),_0x5112af['canvas']=null,_0x5112af;}return _createClass(_0x173024,[{'key':_0x5872e9(0x1de),'value':function _0x3cfd67(_0xd8b0ac){var _0x39ee45=_0x5872e9;this[_0x39ee45(0x20d)]=[0x0,0x0],this['particles']=[],this[_0x39ee45(0x212)]=_0xd8b0ac[_0x39ee45(0x212)]||0x32,this['_particlesNumber']=_0xd8b0ac[_0x39ee45(0x2e9)]||0x1000,this[_0x39ee45(0x2f2)]=_0xd8b0ac['maxAge']||0x78,this['frameTime']=0x3e8/(_0xd8b0ac[_0x39ee45(0x200)]||0xa),this['_pointerEvents']=Cesium[_0x39ee45(0x2ce)](this[_0x39ee45(0x230)][_0x39ee45(0x1c5)],![]),this[_0x39ee45(0x30d)]=_0xd8b0ac['color']||'#ffffff',this[_0x39ee45(0x29b)]=_0xd8b0ac['lineWidth']||0x1,this['fixedHeight']=Cesium[_0x39ee45(0x2ce)](_0xd8b0ac[_0x39ee45(0x256)],0x0),this[_0x39ee45(0x1e8)]=Cesium['defaultValue'](_0xd8b0ac[_0x39ee45(0x1e8)],![]);}},{'key':'layer','get':function _0x4a96ee(){return this['canvas'];}},{'key':_0x5872e9(0x314),'get':function _0x4bcda5(){var _0x35743f=_0x5872e9;return this[_0x35743f(0x280)][_0x35743f(0x2a0)][_0x35743f(0x1d4)][_0x35743f(0x2d5)];}},{'key':_0x5872e9(0x269),'get':function _0x25a2e2(){var _0x587187=_0x5872e9;return this['_map'][_0x587187(0x2a0)][_0x587187(0x1d4)]['clientHeight'];}},{'key':'pointerEvents','get':function _0x12d464(){var _0x16b5dd=_0x5872e9;return this[_0x16b5dd(0x27b)];},'set':function _0x1c198d(_0x414f10){var _0x5ddd84=_0x5872e9;this[_0x5ddd84(0x27b)]=_0x414f10;if(!this['canvas'])return;_0x414f10?this[_0x5ddd84(0x1d4)][_0x5ddd84(0x283)][_0x5ddd84(0x250)]='all':this[_0x5ddd84(0x1d4)][_0x5ddd84(0x283)][_0x5ddd84(0x250)]='none';}},{'key':'speedRate','get':function _0x2fb216(){var _0x5176ce=_0x5872e9;return this[_0x5176ce(0x1b4)];},'set':function _0x236cc1(_0x49796d){var _0x39758e=_0x5872e9;this[_0x39758e(0x1b4)]=(0x64-(_0x49796d>0x63?0x63:_0x49796d))*0x64,this['_calcStep']();}},{'key':'particlesNumber','get':function _0x3fb74f(){return this['_particlesNumber'];},'set':function _0x5df2af(_0x538e1d){var _0x10205b=_0x5872e9,_0x57e4a0=this;this[_0x10205b(0x28e)]=_0x538e1d,clearTimeout(this[_0x10205b(0x259)]),this[_0x10205b(0x259)]=setTimeout(function(){var _0x3eeb97=_0x10205b;_0x57e4a0[_0x3eeb97(0x313)]();},0x1f4);}},{'key':_0x5872e9(0x2fe),'get':function _0x352684(){var _0x190149=_0x5872e9;return this[_0x190149(0x2f2)];},'set':function _0x12c445(_0x5cf6e5){var _0x587851=_0x5872e9,_0x1e2b55=this;this[_0x587851(0x2f2)]=_0x5cf6e5,clearTimeout(this[_0x587851(0x259)]),this['_canrefresh']=setTimeout(function(){var _0x4b9112=_0x587851;_0x1e2b55[_0x4b9112(0x313)]();},0x1f4);}},{'key':'data','get':function _0x4313e8(){var _0x94b6b5=_0x5872e9;return this[_0x94b6b5(0x1c3)];},'set':function _0x56ff58(_0x256848){var _0x54c7e5=_0x5872e9;this[_0x54c7e5(0x1fc)](_0x256848);}},{'key':_0x5872e9(0x1e9),'value':function _0x50ca35(_0x217e81){var _0x400964=_0x5872e9;_0x217e81?this[_0x400964(0x274)]():(this[_0x400964(0x1c3)]&&(this[_0x400964(0x230)]['data']=this['windData']),this[_0x400964(0x2b4)]());}},{'key':'_mountedHook','value':function _0x113292(){}},{'key':_0x5872e9(0x274),'value':function _0x3365bd(){var _0x346dba=_0x5872e9;this[_0x346dba(0x1d4)]=this[_0x346dba(0x287)](),this['canvasContext']=this['canvas'][_0x346dba(0x220)]('2d'),this[_0x346dba(0x2b6)](),this[_0x346dba(0x230)]['data']&&this['setData'](this[_0x346dba(0x230)]['data']);}},{'key':_0x5872e9(0x2b4),'value':function _0x451bba(){var _0x4eaef8=_0x5872e9;this[_0x4eaef8(0x323)](),this[_0x4eaef8(0x2d0)](),this[_0x4eaef8(0x1d4)]&&(this['_map'][_0x4eaef8(0x1c7)][_0x4eaef8(0x2af)](this['canvas']),delete this[_0x4eaef8(0x1d4)]);}},{'key':'_createCanvas','value':function _0x45c8c0(){var _0x4606b5=_0x5872e9,_0x594797=window[_0x4606b5(0x231)]['createElement'](_0x4606b5(0x1d4));_0x594797['style']['position']=_0x4606b5(0x27e),_0x594797[_0x4606b5(0x283)][_0x4606b5(0x204)]='0px',_0x594797['style'][_0x4606b5(0x20c)]=_0x4606b5(0x32e),_0x594797['style'][_0x4606b5(0x28f)]=_0x4606b5(0x2fd),_0x594797[_0x4606b5(0x283)][_0x4606b5(0x29a)]=_0x4606b5(0x2fd),_0x594797['style'][_0x4606b5(0x1c5)]=this[_0x4606b5(0x27b)]?_0x4606b5(0x228):_0x4606b5(0x2be),_0x594797[_0x4606b5(0x283)][_0x4606b5(0x26e)]=0xa,_0x594797[_0x4606b5(0x23d)]('id',_0x4606b5(0x24e)),_0x594797['setAttribute'](_0x4606b5(0x211),_0x4606b5(0x24e)),this['_map'][_0x4606b5(0x1c7)][_0x4606b5(0x2a8)](_0x594797);var _0x4cd1c0=this[_0x4606b5(0x280)][_0x4606b5(0x2a0)];return _0x594797[_0x4606b5(0x28f)]=_0x4cd1c0[_0x4606b5(0x1d4)]['clientWidth'],_0x594797['height']=_0x4cd1c0[_0x4606b5(0x1d4)][_0x4606b5(0x316)],_0x594797;}},{'key':'resize','value':function _0x1d9204(){var _0x2d237f=_0x5872e9;this[_0x2d237f(0x1d4)]&&(this[_0x2d237f(0x1d4)][_0x2d237f(0x28f)]=this['canvasWidth'],this[_0x2d237f(0x1d4)][_0x2d237f(0x29a)]=this['canvasHeight']);}},{'key':_0x5872e9(0x2b6),'value':function _0x4398c8(){var _0x2edb59=_0x5872e9,_0x2cc137=this,_0x595fe1=Date[_0x2edb59(0x257)]();(function _0x297567(){var _0x5bdce8=_0x2edb59;_0x2cc137[_0x5bdce8(0x1f2)]=window[_0x5bdce8(0x303)](_0x297567);var _0x1e0d10=Date[_0x5bdce8(0x257)](),_0x6ad641=_0x1e0d10-_0x595fe1;_0x6ad641>_0x2cc137[_0x5bdce8(0x2cc)]&&(_0x595fe1=_0x1e0d10-_0x6ad641%_0x2cc137[_0x5bdce8(0x2cc)],_0x2cc137[_0x5bdce8(0x27d)]());}(),window['addEventListener'](_0x2edb59(0x267),this[_0x2edb59(0x267)]['bind'](this),![]),this[_0x2edb59(0x2a4)]=![],this['mouse_move']=![],this['_map']['on'](mars3d__namespace[_0x2edb59(0x1d8)]['wheel'],this[_0x2edb59(0x202)],this),this[_0x2edb59(0x280)]['on'](mars3d__namespace[_0x2edb59(0x1d8)][_0x2edb59(0x31b)],this[_0x2edb59(0x21e)],this),this[_0x2edb59(0x280)]['on'](mars3d__namespace[_0x2edb59(0x1d8)][_0x2edb59(0x258)],this[_0x2edb59(0x23b)],this),this[_0x2edb59(0x280)]['on'](mars3d__namespace[_0x2edb59(0x1d8)][_0x2edb59(0x294)],this[_0x2edb59(0x22b)],this));}},{'key':_0x5872e9(0x2d0),'value':function _0x160ebf(){var _0x2133d2=_0x5872e9;window[_0x2133d2(0x1e1)](this[_0x2133d2(0x1f2)]),delete this['animateFrame'],window[_0x2133d2(0x23e)](_0x2133d2(0x267),this['resize']),this['_map']['off'](mars3d__namespace[_0x2133d2(0x1d8)][_0x2133d2(0x24d)],this[_0x2133d2(0x202)],this),this[_0x2133d2(0x280)]['off'](mars3d__namespace[_0x2133d2(0x1d8)]['mouseDown'],this[_0x2133d2(0x21e)],this),this[_0x2133d2(0x280)]['off'](mars3d__namespace['EventType'][_0x2133d2(0x258)],this[_0x2133d2(0x23b)],this),this[_0x2133d2(0x280)][_0x2133d2(0x31c)](mars3d__namespace[_0x2133d2(0x1d8)][_0x2133d2(0x294)],this[_0x2133d2(0x22b)],this);}},{'key':'_onMapWhellEvent','value':function _0x4489eb(_0x4c09d6){var _0x4aa099=_0x5872e9,_0x19106e=this;clearTimeout(this[_0x4aa099(0x25d)]);if(!this[_0x4aa099(0x23a)]||!this[_0x4aa099(0x1d4)])return;this['canvas'][_0x4aa099(0x283)][_0x4aa099(0x2eb)]='hidden',this[_0x4aa099(0x25d)]=setTimeout(function(){var _0x3b83e7=_0x4aa099;if(!_0x19106e[_0x3b83e7(0x23a)])return;_0x19106e['redraw'](),_0x19106e[_0x3b83e7(0x1d4)][_0x3b83e7(0x283)][_0x3b83e7(0x2eb)]=_0x3b83e7(0x232);},0xc8);}},{'key':_0x5872e9(0x21e),'value':function _0x3300a4(_0x2e7600){this['mouse_down']=!![];}},{'key':_0x5872e9(0x22b),'value':function _0x4fadb9(_0x4739eb){var _0x11a04c=_0x5872e9;if(!this[_0x11a04c(0x23a)]||!this[_0x11a04c(0x1d4)])return;this[_0x11a04c(0x2a4)]&&(this[_0x11a04c(0x1d4)][_0x11a04c(0x283)][_0x11a04c(0x2eb)]=_0x11a04c(0x1ea),this['mouse_move']=!![]);}},{'key':'_onMouseUpEvent','value':function _0x385c0a(_0x4cfbf2){var _0x5c1937=_0x5872e9;if(!this[_0x5c1937(0x23a)]||!this[_0x5c1937(0x1d4)])return;this['mouse_down']&&this[_0x5c1937(0x245)]&&this[_0x5c1937(0x313)](),this['canvas'][_0x5c1937(0x283)][_0x5c1937(0x2eb)]='visible',this[_0x5c1937(0x2a4)]=![],this[_0x5c1937(0x245)]=![];}},{'key':_0x5872e9(0x313),'value':function _0x20adf8(){var _0x38dc35=_0x5872e9;if(!this['show']||!this[_0x38dc35(0x21c)])return;this['particles']=[],this[_0x38dc35(0x324)]();}},{'key':'setData','value':function _0x2a9630(_0x3afc69){var _0x35586c=_0x5872e9;this[_0x35586c(0x323)](),this[_0x35586c(0x1c3)]=_0x3afc69,this[_0x35586c(0x21c)]=new CanvasWindField(this[_0x35586c(0x1c3)],this[_0x35586c(0x1e8)]),this['drawWind']();}},{'key':_0x5872e9(0x324),'value':function _0x59f8f7(){var _0x50595c=_0x5872e9;this['_calcStep']();for(var _0x17dbac=0x0;_0x17dbac<this[_0x50595c(0x2e9)];_0x17dbac++){var _0x113d31=this[_0x50595c(0x20a)](new CanvasParticle());this[_0x50595c(0x28a)][_0x50595c(0x229)](_0x113d31);}this[_0x50595c(0x1ec)][_0x50595c(0x32d)]=_0x50595c(0x279),this[_0x50595c(0x1ec)][_0x50595c(0x20e)]=0.6,this[_0x50595c(0x27d)]();}},{'key':_0x5872e9(0x30b),'value':function _0x5e754e(){var _0x10c522=_0x5872e9;if(!this['windField'])return;this['calc_speedRate']=[(this[_0x10c522(0x21c)][_0x10c522(0x21a)]-this[_0x10c522(0x21c)][_0x10c522(0x2b0)])/this['speedRate'],(this['windField'][_0x10c522(0x1c8)]-this[_0x10c522(0x21c)][_0x10c522(0x226)])/this[_0x10c522(0x212)]];}},{'key':_0x5872e9(0x27d),'value':function _0x27890b(){var _0x2d3cb4=_0x5872e9,_0xa4dc33=this;if(!this['show']||this[_0x2d3cb4(0x28a)]['length']<=0x0)return;var _0x4d7c52=null,_0x347778=null,_0x43ec62=null;this[_0x2d3cb4(0x28a)]['forEach'](function(_0x40063d){var _0x4c54bb=_0x2d3cb4;_0x40063d['age']<=0x0&&_0xa4dc33[_0x4c54bb(0x20a)](_0x40063d);if(_0x40063d[_0x4c54bb(0x31f)]>0x0){var _0x1125d7=_0x40063d[_0x4c54bb(0x203)],_0x4cee1b=_0x40063d['tlat'];_0x43ec62=_0xa4dc33[_0x4c54bb(0x21c)]['getUVByPoint'](_0x1125d7,_0x4cee1b),_0x43ec62?(_0x4d7c52=_0x1125d7+_0xa4dc33['calc_speedRate'][0x0]*_0x43ec62[0x0],_0x347778=_0x4cee1b+_0xa4dc33[_0x4c54bb(0x20d)][0x1]*_0x43ec62[0x1],_0x40063d['lng']=_0x1125d7,_0x40063d[_0x4c54bb(0x1ee)]=_0x4cee1b,_0x40063d['tlng']=_0x4d7c52,_0x40063d[_0x4c54bb(0x2a2)]=_0x347778,_0x40063d['age']--):_0x40063d['age']=0x0;}}),this['_drawLines']();}},{'key':_0x5872e9(0x2ea),'value':function _0xcd6b(_0x445f9a,_0x5582e6,_0x58a1be){var _0x28ffea=_0x5872e9,_0x31c2c8=Cesium[_0x28ffea(0x2fc)][_0x28ffea(0x1bd)](_0x445f9a,_0x5582e6,this[_0x28ffea(0x256)]),_0x5b0e92=this[_0x28ffea(0x280)]['scene'];if(_0x5b0e92[_0x28ffea(0x301)]===Cesium[_0x28ffea(0x249)][_0x28ffea(0x22c)]){var _0x28e70a=new Cesium[(_0x28ffea(0x240))](_0x5b0e92[_0x28ffea(0x1e5)][_0x28ffea(0x27c)],_0x5b0e92['camera'][_0x28ffea(0x1b2)]),_0xce1ef1=_0x28e70a[_0x28ffea(0x306)](_0x31c2c8);if(!_0xce1ef1)return _0x58a1be[_0x28ffea(0x31f)]=0x0,null;}var _0x228d8c=Cesium[_0x28ffea(0x1d5)][_0x28ffea(0x2cf)](this[_0x28ffea(0x280)][_0x28ffea(0x2a0)],_0x31c2c8);return _0x228d8c?[_0x228d8c['x'],_0x228d8c['y']]:null;}},{'key':_0x5872e9(0x1bf),'value':function _0x44a8b2(){var _0x12215d=_0x5872e9,_0x4947f5=this,_0x385b5a=this['particles'];this[_0x12215d(0x1ec)][_0x12215d(0x29b)]=_0x4947f5['lineWidth'],this[_0x12215d(0x1ec)][_0x12215d(0x253)]=_0x12215d(0x305),this['canvasContext'][_0x12215d(0x1f5)](0x0,0x0,this[_0x12215d(0x314)],this[_0x12215d(0x269)]),this[_0x12215d(0x1ec)][_0x12215d(0x253)]=_0x12215d(0x255),this[_0x12215d(0x1ec)][_0x12215d(0x20e)]=0.9,this[_0x12215d(0x1ec)][_0x12215d(0x205)](),this['canvasContext']['strokeStyle']=this[_0x12215d(0x30d)];var _0x200b00=this[_0x12215d(0x280)]['scene'][_0x12215d(0x301)]!==Cesium[_0x12215d(0x249)]['SCENE3D'];_0x385b5a[_0x12215d(0x26c)](function(_0x1cb56e){var _0x433292=_0x12215d,_0x2471f2=_0x4947f5[_0x433292(0x2ea)](_0x1cb56e[_0x433292(0x24a)],_0x1cb56e[_0x433292(0x1ee)],_0x1cb56e),_0x520c99=_0x4947f5[_0x433292(0x2ea)](_0x1cb56e[_0x433292(0x203)],_0x1cb56e['tlat'],_0x1cb56e);if(_0x2471f2!=null&&_0x520c99!=null){var _0x3408dd=Math[_0x433292(0x29e)](_0x2471f2[0x0]-_0x520c99[0x0]);if(_0x200b00&&_0x3408dd>=_0x4947f5['canvasWidth']);else _0x4947f5[_0x433292(0x1ec)][_0x433292(0x2ac)](_0x2471f2[0x0],_0x2471f2[0x1]),_0x4947f5[_0x433292(0x1ec)][_0x433292(0x1d9)](_0x520c99[0x0],_0x520c99[0x1]);}}),this[_0x12215d(0x1ec)][_0x12215d(0x1ff)]();}},{'key':'randomParticle','value':function _0x167515(_0x5074aa){var _0x4b346c=_0x5872e9,_0xb1a171,_0x10f214;for(var _0x535930=0x0;_0x535930<0x1e;_0x535930++){_0xb1a171=this[_0x4b346c(0x21c)][_0x4b346c(0x2f6)](),_0x10f214=this[_0x4b346c(0x21c)][_0x4b346c(0x2c4)](_0xb1a171[_0x4b346c(0x24a)],_0xb1a171[_0x4b346c(0x1ee)]);if(_0x10f214&&_0x10f214[0x2]>0x0)break;}if(!_0x10f214)return _0x5074aa;var _0x4834ed=_0xb1a171[_0x4b346c(0x24a)]+this['calc_speedRate'][0x0]*_0x10f214[0x0],_0x55e665=_0xb1a171[_0x4b346c(0x1ee)]+this[_0x4b346c(0x20d)][0x1]*_0x10f214[0x1];return _0x5074aa[_0x4b346c(0x24a)]=_0xb1a171[_0x4b346c(0x24a)],_0x5074aa[_0x4b346c(0x1ee)]=_0xb1a171[_0x4b346c(0x1ee)],_0x5074aa[_0x4b346c(0x203)]=_0x4834ed,_0x5074aa[_0x4b346c(0x2a2)]=_0x55e665,_0x5074aa['age']=Math[_0x4b346c(0x247)](Math[_0x4b346c(0x2dd)]()*this['maxAge']),_0x5074aa;}},{'key':'clear','value':function _0xc410ef(){var _0x204bbb=_0x5872e9;this[_0x204bbb(0x28a)]=[],delete this[_0x204bbb(0x21c)],delete this['windData'];}}]),_0x173024;}(BaseLayer);mars3d__namespace[_0x148ef8(0x2d6)][_0x148ef8(0x223)](_0x148ef8(0x2f0),CanvasWindLayer),mars3d__namespace['layer'][_0x148ef8(0x292)]=CanvasWindLayer,mars3d__namespace[_0x148ef8(0x2f7)]=WindUtil,exports[_0x148ef8(0x292)]=CanvasWindLayer,exports[_0x148ef8(0x1fe)]=WindLayer,exports[_0x148ef8(0x2f7)]=WindUtil,Object['defineProperty'](exports,'__esModule',{'value':!![]});
|
|
14
|
+
}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mars3d-wind",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.3.0",
|
|
4
4
|
"description": "Mars3D平台插件,支持气象 风向图 功能插件",
|
|
5
5
|
"main": "dist/mars3d-wind.js",
|
|
6
6
|
"files": [
|
|
@@ -8,33 +8,10 @@
|
|
|
8
8
|
],
|
|
9
9
|
"dependencies": {},
|
|
10
10
|
"devDependencies": {
|
|
11
|
-
"mars3d": "^3.
|
|
12
|
-
"@babel/core": "^7.14.3",
|
|
13
|
-
"@babel/eslint-parser": "^7.14.3",
|
|
14
|
-
"@babel/plugin-proposal-class-properties": "^7.14.3",
|
|
15
|
-
"@babel/plugin-transform-runtime": "^7.14.3",
|
|
16
|
-
"@babel/preset-env": "^7.14.3",
|
|
17
|
-
"babel-eslint": "^10.1.0",
|
|
18
|
-
"babel-loader": "^8.2.2",
|
|
19
|
-
"eslint": "^7.26.0",
|
|
20
|
-
"eslint-config-prettier": "^7.2.0",
|
|
21
|
-
"eslint-plugin-import": "^2.22.1",
|
|
22
|
-
"eslint-plugin-node": "^11.1.0",
|
|
23
|
-
"eslint-plugin-prettier": "^3.3.1",
|
|
24
|
-
"eslint-plugin-promise": "^4.3.1",
|
|
25
|
-
"prettier": "^2.2.1",
|
|
26
|
-
"webpack": "^4.46.0",
|
|
27
|
-
"webpack-cli": "^3.3.12",
|
|
28
|
-
"webpack-glsl-loader": "^1.0.1",
|
|
29
|
-
"javascript-obfuscator": "^2.15.5",
|
|
30
|
-
"webpack-obfuscator": "^2.6.0"
|
|
11
|
+
"mars3d": "^3.3.0"
|
|
31
12
|
},
|
|
32
13
|
"scripts": {
|
|
33
|
-
"
|
|
34
|
-
"build-src": "webpack --env.prod --progress --profile --colors --config ./scripts/webpack.config.js --devtool source-map",
|
|
35
|
-
"build-min": "webpack --env.prod --env.min --progress --profile --colors --config ./scripts/webpack.config.js",
|
|
36
|
-
"build-npm": "webpack --env.prod --env.min --progress --profile --colors --config ./scripts/webpack.npm.js && node scripts/npm/buildNpm.js",
|
|
37
|
-
"push": "npm publish"
|
|
14
|
+
"lint": "eslint ./src/**/*.{js,ts} --fix"
|
|
38
15
|
},
|
|
39
16
|
"repository": {
|
|
40
17
|
"type": "git",
|
|
@@ -56,5 +33,14 @@
|
|
|
56
33
|
],
|
|
57
34
|
"author": "火星科技",
|
|
58
35
|
"license": "Apache-2.0",
|
|
59
|
-
"homepage": "http://mars3d.cn"
|
|
36
|
+
"homepage": "http://mars3d.cn",
|
|
37
|
+
"build": {
|
|
38
|
+
"plugin": true,
|
|
39
|
+
"globals": {
|
|
40
|
+
"@turf/turf": "turf",
|
|
41
|
+
"mars3d-cesium": "Cesium",
|
|
42
|
+
"mars3d": "mars3d"
|
|
43
|
+
},
|
|
44
|
+
"minify": "obfuscator"
|
|
45
|
+
}
|
|
60
46
|
}
|
package/LICENSE
DELETED
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
Apache License
|
|
3
|
-
Version 2.0, January 2004
|
|
4
|
-
http://www.apache.org/licenses/
|
|
5
|
-
http://mars3d.cn/
|
|
6
|
-
|
|
7
|
-
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
8
|
-
|
|
9
|
-
1. Definitions.
|
|
10
|
-
|
|
11
|
-
"License" shall mean the terms and conditions for use, reproduction,
|
|
12
|
-
and distribution as defined by Sections 1 through 9 of this document.
|
|
13
|
-
|
|
14
|
-
"Licensor" shall mean the copyright owner or entity authorized by
|
|
15
|
-
the copyright owner that is granting the License.
|
|
16
|
-
|
|
17
|
-
"Legal Entity" shall mean the union of the acting entity and all
|
|
18
|
-
other entities that control, are controlled by, or are under common
|
|
19
|
-
control with that entity. For the purposes of this definition,
|
|
20
|
-
"control" means (i) the power, direct or indirect, to cause the
|
|
21
|
-
direction or management of such entity, whether by contract or
|
|
22
|
-
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
23
|
-
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
24
|
-
|
|
25
|
-
"You" (or "Your") shall mean an individual or Legal Entity
|
|
26
|
-
exercising permissions granted by this License.
|
|
27
|
-
|
|
28
|
-
"Source" form shall mean the preferred form for making modifications,
|
|
29
|
-
including but not limited to software source code, documentation
|
|
30
|
-
source, and configuration files.
|
|
31
|
-
|
|
32
|
-
"Object" form shall mean any form resulting from mechanical
|
|
33
|
-
transformation or translation of a Source form, including but
|
|
34
|
-
not limited to compiled object code, generated documentation,
|
|
35
|
-
and conversions to other media types.
|
|
36
|
-
|
|
37
|
-
"Work" shall mean the work of authorship, whether in Source or
|
|
38
|
-
Object form, made available under the License, as indicated by a
|
|
39
|
-
copyright notice that is included in or attached to the work
|
|
40
|
-
(an example is provided in the Appendix below).
|
|
41
|
-
|
|
42
|
-
"Derivative Works" shall mean any work, whether in Source or Object
|
|
43
|
-
form, that is based on (or derived from) the Work and for which the
|
|
44
|
-
editorial revisions, annotations, elaborations, or other modifications
|
|
45
|
-
represent, as a whole, an original work of authorship. For the purposes
|
|
46
|
-
of this License, Derivative Works shall not include works that remain
|
|
47
|
-
separable from, or merely link (or bind by name) to the interfaces of,
|
|
48
|
-
the Work and Derivative Works thereof.
|
|
49
|
-
|
|
50
|
-
"Contribution" shall mean any work of authorship, including
|
|
51
|
-
the original version of the Work and any modifications or additions
|
|
52
|
-
to that Work or Derivative Works thereof, that is intentionally
|
|
53
|
-
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
54
|
-
or by an individual or Legal Entity authorized to submit on behalf of
|
|
55
|
-
the copyright owner. For the purposes of this definition, "submitted"
|
|
56
|
-
means any form of electronic, verbal, or written communication sent
|
|
57
|
-
to the Licensor or its representatives, including but not limited to
|
|
58
|
-
communication on electronic mailing lists, source code control systems,
|
|
59
|
-
and issue tracking systems that are managed by, or on behalf of, the
|
|
60
|
-
Licensor for the purpose of discussing and improving the Work, but
|
|
61
|
-
excluding communication that is conspicuously marked or otherwise
|
|
62
|
-
designated in writing by the copyright owner as "Not a Contribution."
|
|
63
|
-
|
|
64
|
-
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
65
|
-
on behalf of whom a Contribution has been received by Licensor and
|
|
66
|
-
subsequently incorporated within the Work.
|
|
67
|
-
|
|
68
|
-
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
69
|
-
this License, each Contributor hereby grants to You a perpetual,
|
|
70
|
-
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
71
|
-
copyright license to reproduce, prepare Derivative Works of,
|
|
72
|
-
publicly display, publicly perform, sublicense, and distribute the
|
|
73
|
-
Work and such Derivative Works in Source or Object form.
|
|
74
|
-
|
|
75
|
-
3. Grant of Patent License. Subject to the terms and conditions of
|
|
76
|
-
this License, each Contributor hereby grants to You a perpetual,
|
|
77
|
-
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
78
|
-
(except as stated in this section) patent license to make, have made,
|
|
79
|
-
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
80
|
-
where such license applies only to those patent claims licensable
|
|
81
|
-
by such Contributor that are necessarily infringed by their
|
|
82
|
-
Contribution(s) alone or by combination of their Contribution(s)
|
|
83
|
-
with the Work to which such Contribution(s) was submitted. If You
|
|
84
|
-
institute patent litigation against any entity (including a
|
|
85
|
-
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
86
|
-
or a Contribution incorporated within the Work constitutes direct
|
|
87
|
-
or contributory patent infringement, then any patent licenses
|
|
88
|
-
granted to You under this License for that Work shall terminate
|
|
89
|
-
as of the date such litigation is filed.
|
|
90
|
-
|
|
91
|
-
4. Redistribution. You may reproduce and distribute copies of the
|
|
92
|
-
Work or Derivative Works thereof in any medium, with or without
|
|
93
|
-
modifications, and in Source or Object form, provided that You
|
|
94
|
-
meet the following conditions:
|
|
95
|
-
|
|
96
|
-
(a) You must give any other recipients of the Work or
|
|
97
|
-
Derivative Works a copy of this License; and
|
|
98
|
-
|
|
99
|
-
(b) You must cause any modified files to carry prominent notices
|
|
100
|
-
stating that You changed the files; and
|
|
101
|
-
|
|
102
|
-
(c) You must retain, in the Source form of any Derivative Works
|
|
103
|
-
that You distribute, all copyright, patent, trademark, and
|
|
104
|
-
attribution notices from the Source form of the Work,
|
|
105
|
-
excluding those notices that do not pertain to any part of
|
|
106
|
-
the Derivative Works; and
|
|
107
|
-
|
|
108
|
-
(d) If the Work includes a "NOTICE" text file as part of its
|
|
109
|
-
distribution, then any Derivative Works that You distribute must
|
|
110
|
-
include a readable copy of the attribution notices contained
|
|
111
|
-
within such NOTICE file, excluding those notices that do not
|
|
112
|
-
pertain to any part of the Derivative Works, in at least one
|
|
113
|
-
of the following places: within a NOTICE text file distributed
|
|
114
|
-
as part of the Derivative Works; within the Source form or
|
|
115
|
-
documentation, if provided along with the Derivative Works; or,
|
|
116
|
-
within a display generated by the Derivative Works, if and
|
|
117
|
-
wherever such third-party notices normally appear. The contents
|
|
118
|
-
of the NOTICE file are for informational purposes only and
|
|
119
|
-
do not modify the License. You may add Your own attribution
|
|
120
|
-
notices within Derivative Works that You distribute, alongside
|
|
121
|
-
or as an addendum to the NOTICE text from the Work, provided
|
|
122
|
-
that such additional attribution notices cannot be construed
|
|
123
|
-
as modifying the License.
|
|
124
|
-
|
|
125
|
-
You may add Your own copyright statement to Your modifications and
|
|
126
|
-
may provide additional or different license terms and conditions
|
|
127
|
-
for use, reproduction, or distribution of Your modifications, or
|
|
128
|
-
for any such Derivative Works as a whole, provided Your use,
|
|
129
|
-
reproduction, and distribution of the Work otherwise complies with
|
|
130
|
-
the conditions stated in this License.
|
|
131
|
-
|
|
132
|
-
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
133
|
-
any Contribution intentionally submitted for inclusion in the Work
|
|
134
|
-
by You to the Licensor shall be under the terms and conditions of
|
|
135
|
-
this License, without any additional terms or conditions.
|
|
136
|
-
Notwithstanding the above, nothing herein shall supersede or modify
|
|
137
|
-
the terms of any separate license agreement you may have executed
|
|
138
|
-
with Licensor regarding such Contributions.
|
|
139
|
-
|
|
140
|
-
6. Trademarks. This License does not grant permission to use the trade
|
|
141
|
-
names, trademarks, service marks, or product names of the Licensor,
|
|
142
|
-
except as required for reasonable and customary use in describing the
|
|
143
|
-
origin of the Work and reproducing the content of the NOTICE file.
|
|
144
|
-
|
|
145
|
-
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
146
|
-
agreed to in writing, Licensor provides the Work (and each
|
|
147
|
-
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
148
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
149
|
-
implied, including, without limitation, any warranties or conditions
|
|
150
|
-
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
151
|
-
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
152
|
-
appropriateness of using or redistributing the Work and assume any
|
|
153
|
-
risks associated with Your exercise of permissions under this License.
|
|
154
|
-
|
|
155
|
-
8. Limitation of Liability. In no event and under no legal theory,
|
|
156
|
-
whether in tort (including negligence), contract, or otherwise,
|
|
157
|
-
unless required by applicable law (such as deliberate and grossly
|
|
158
|
-
negligent acts) or agreed to in writing, shall any Contributor be
|
|
159
|
-
liable to You for damages, including any direct, indirect, special,
|
|
160
|
-
incidental, or consequential damages of any character arising as a
|
|
161
|
-
result of this License or out of the use or inability to use the
|
|
162
|
-
Work (including but not limited to damages for loss of goodwill,
|
|
163
|
-
work stoppage, computer failure or malfunction, or any and all
|
|
164
|
-
other commercial damages or losses), even if such Contributor
|
|
165
|
-
has been advised of the possibility of such damages.
|
|
166
|
-
|
|
167
|
-
9. Accepting Warranty or Additional Liability. While redistributing
|
|
168
|
-
the Work or Derivative Works thereof, You may choose to offer,
|
|
169
|
-
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
170
|
-
or other liability obligations and/or rights consistent with this
|
|
171
|
-
License. However, in accepting such obligations, You may act only
|
|
172
|
-
on Your own behalf and on Your sole responsibility, not on behalf
|
|
173
|
-
of any other Contributor, and only if You agree to indemnify,
|
|
174
|
-
defend, and hold each Contributor harmless for any liability
|
|
175
|
-
incurred by, or claims asserted against, such Contributor by reason
|
|
176
|
-
of your accepting any such warranty or additional liability.
|
|
177
|
-
|
|
178
|
-
END OF TERMS AND CONDITIONS
|
|
179
|
-
|
|
180
|
-
APPENDIX: How to apply the Apache License to your work.
|
|
181
|
-
|
|
182
|
-
To apply the Apache License to your work, attach the following
|
|
183
|
-
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
184
|
-
replaced with your own identifying information. (Don't include
|
|
185
|
-
the brackets!) The text should be enclosed in the appropriate
|
|
186
|
-
comment syntax for the file format. We also recommend that a
|
|
187
|
-
file or class name and description of purpose be included on the
|
|
188
|
-
same "printed page" as the copyright notice for easier
|
|
189
|
-
identification within third-party archives.
|
|
190
|
-
|
|
191
|
-
Copyright [2017-2022] [Hefei Mars Technology Co., LTD., China] http://mars3d.cn/
|
|
192
|
-
|
|
193
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
194
|
-
you may not use this file except in compliance with the License.
|
|
195
|
-
You may obtain a copy of the License at
|
|
196
|
-
|
|
197
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
Unless required by applicable law or agreed to in writing, software
|
|
201
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
202
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
203
|
-
See the License for the specific language governing permissions and
|
|
204
|
-
limitations under the License.
|
|
205
|
-
|
|
206
|
-
|