| | |
| | | var a0_0x32c3=['RHJhdw==','cmVkcmF3','YmxlbmRpbmc=','dW5iaW5kRXZlbnQ=','Y2FudmFz','Z2V0RnVsbHNjcmVlblF1YWQ=','U2NyZWVuU3BhY2VFdmVudEhhbmRsZXI=','cmFuZG9tQmV0d2Vlbg==','c2V0SW5wdXRBY3Rpb24=','X3RvbWFw','aXNEZXN0cm95ZWQ=','Y3JlYXRlUmVuZGVyaW5nUHJpbWl0aXZlcw==','Y3JlYXRlV2luZFRleHR1cmVz','c3ltYm9s','QnVmZmVyVXNhZ2U=','aGFuZGxlcg==','Z2VvbWV0cnk=','cmVmcmVzaFBhcnRpY2xlcw==','Y3VycmVudFBhcnRpY2xlc1Bvc2l0aW9u','Y3JlYXRlVGV4dHVyZQ==','a2V5cw==','cmVxdWVzdEFuaW1hdGlvbkZyYW1l','REVQVEhfQ09NUE9ORU5U','cHJvdG90eXBl','Y2FsbA==','dW5pZm9ybSBzYW1wbGVyMkQgc2VnbWVudHNDb2xvclRleHR1cmU7DQp1bmlmb3JtIHNhbXBsZXIyRCBzZWdtZW50c0RlcHRoVGV4dHVyZTsNCg0KdW5pZm9ybSBzYW1wbGVyMkQgY3VycmVudFRyYWlsc0NvbG9yOw0KdW5pZm9ybSBzYW1wbGVyMkQgdHJhaWxzRGVwdGhUZXh0dXJlOw0KDQp1bmlmb3JtIGZsb2F0IGZhZGVPcGFjaXR5Ow0KDQp2YXJ5aW5nIHZlYzIgdGV4dHVyZUNvb3JkaW5hdGU7DQoNCnZvaWQgbWFpbigpIHsNCiAgICB2ZWM0IHBvaW50c0NvbG9yID0gdGV4dHVyZTJEKHNlZ21lbnRzQ29sb3JUZXh0dXJlLCB0ZXh0dXJlQ29vcmRpbmF0ZSk7DQogICAgdmVjNCB0cmFpbHNDb2xvciA9IHRleHR1cmUyRChjdXJyZW50VHJhaWxzQ29sb3IsIHRleHR1cmVDb29yZGluYXRlKTsNCg0KICAgIHRyYWlsc0NvbG9yID0gZmxvb3IoZmFkZU9wYWNpdHkgKiAyNTUuMCAqIHRyYWlsc0NvbG9yKSAvIDI1NS4wOyAvLyBtYWtlIHN1cmUgdGhlIHRyYWlsc0NvbG9yIHdpbGwgYmUgc3RyaWN0bHkgZGVjcmVhc2VkDQoNCiAgICBmbG9hdCBwb2ludHNEZXB0aCA9IHRleHR1cmUyRChzZWdtZW50c0RlcHRoVGV4dHVyZSwgdGV4dHVyZUNvb3JkaW5hdGUpLnI7DQogICAgZmxvYXQgdHJhaWxzRGVwdGggPSB0ZXh0dXJlMkQodHJhaWxzRGVwdGhUZXh0dXJlLCB0ZXh0dXJlQ29vcmRpbmF0ZSkucjsNCiAgICBmbG9hdCBnbG9iZURlcHRoID0gY3ptX3VucGFja0RlcHRoKHRleHR1cmUyRChjem1fZ2xvYmVEZXB0aFRleHR1cmUsIHRleHR1cmVDb29yZGluYXRlKSk7DQoNCiAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KDAuMCk7DQogICAgaWYgKHBvaW50c0RlcHRoIDwgZ2xvYmVEZXB0aCkgew0KICAgICAgICBnbF9GcmFnQ29sb3IgPSBnbF9GcmFnQ29sb3IgKyBwb2ludHNDb2xvcjsNCiAgICB9DQogICAgaWYgKHRyYWlsc0RlcHRoIDwgZ2xvYmVEZXB0aCkgew0KICAgICAgICBnbF9GcmFnQ29sb3IgPSBnbF9GcmFnQ29sb3IgKyB0cmFpbHNDb2xvcjsNCiAgICB9DQogICAgZ2xfRnJhZ0RlcHRoRVhUID0gbWluKHBvaW50c0RlcHRoLCB0cmFpbHNEZXB0aCk7DQp9','VU5TSUdORURfQllURQ==','cGFydGljbGVz','cG9zaXRpb25XQw==','dXBkYXRlU3BlZWQ=','R2VvbWV0cnlBdHRyaWJ1dGU=','Ly8gdGhlIHNpemUgb2YgVVYgdGV4dHVyZXM6IHdpZHRoID0gbG9uLCBoZWlnaHQgPSBsYXQqbGV2CnVuaWZvcm0gc2FtcGxlcjJEIFU7IC8vIGVhc3R3YXJkIHdpbmQgCnVuaWZvcm0gc2FtcGxlcjJEIFY7IC8vIG5vcnRod2FyZCB3aW5kCgp1bmlmb3JtIHNhbXBsZXIyRCBjdXJyZW50UGFydGljbGVzUG9zaXRpb247IC8vIChsb24sIGxhdCwgbGV2KQoKdW5pZm9ybSB2ZWMzIGRpbWVuc2lvbjsgLy8gKGxvbiwgbGF0LCBsZXYpCnVuaWZvcm0gdmVjMyBtaW5pbXVtOyAvLyBtaW5pbXVtIG9mIGVhY2ggZGltZW5zaW9uCnVuaWZvcm0gdmVjMyBtYXhpbXVtOyAvLyBtYXhpbXVtIG9mIGVhY2ggZGltZW5zaW9uCnVuaWZvcm0gdmVjMyBpbnRlcnZhbDsgLy8gaW50ZXJ2YWwgb2YgZWFjaCBkaW1lbnNpb24KCnZhcnlpbmcgdmVjMiB2X3RleHR1cmVDb29yZGluYXRlczsKCnZlYzIgbWFwUG9zaXRpb25Ub05vcm1hbGl6ZWRJbmRleDJEKHZlYzMgbG9uTGF0TGV2KSB7CiAgICAvLyBlbnN1cmUgdGhlIHJhbmdlIG9mIGxvbmdpdHVkZSBhbmQgbGF0aXR1ZGUKICAgIGxvbkxhdExldi54ID0gbW9kKGxvbkxhdExldi54LCAzNjAuMCk7CiAgICBsb25MYXRMZXYueSA9IGNsYW1wKGxvbkxhdExldi55LCAtOTAuMCwgOTAuMCk7CgogICAgdmVjMyBpbmRleDNEID0gdmVjMygwLjApOwogICAgaW5kZXgzRC54ID0gKGxvbkxhdExldi54IC0gbWluaW11bS54KSAvIGludGVydmFsLng7CiAgICBpbmRleDNELnkgPSAobG9uTGF0TGV2LnkgLSBtaW5pbXVtLnkpIC8gaW50ZXJ2YWwueTsKICAgIGluZGV4M0QueiA9IChsb25MYXRMZXYueiAtIG1pbmltdW0ueikgLyBpbnRlcnZhbC56OwoKICAgIC8vIHRoZSBzdCB0ZXh0dXJlIGNvb3JkaW5hdGUgY29ycmVzcG9uZGluZyB0byAoY29sLCByb3cpIGluZGV4CiAgICAvLyBleGFtcGxlCiAgICAvLyBkYXRhIGFycmF5IGlzIFswLCAxLCAyLCAzLCA0LCA1XSwgd2lkdGggPSAzLCBoZWlnaHQgPSAyCiAgICAvLyB0aGUgY29udGVudCBvZiB0ZXh0dXJlIHdpbGwgYmUKICAgIC8vIHQgMS4wCiAgICAvLyAgICB8ICAzIDQgNQogICAgLy8gICAgfAogICAgLy8gICAgfCAgMCAxIDIKICAgIC8vICAgMC4wLS0tLS0tMS4wIHMKCiAgICB2ZWMyIGluZGV4MkQgPSB2ZWMyKGluZGV4M0QueCwgaW5kZXgzRC56ICogZGltZW5zaW9uLnkgKyBpbmRleDNELnkpOwogICAgdmVjMiBub3JtYWxpemVkSW5kZXgyRCA9IHZlYzIoaW5kZXgyRC54IC8gZGltZW5zaW9uLngsIGluZGV4MkQueSAvIChkaW1lbnNpb24ueSAqIGRpbWVuc2lvbi56KSk7CiAgICByZXR1cm4gbm9ybWFsaXplZEluZGV4MkQ7Cn0KCmZsb2F0IGdldFdpbmQoc2FtcGxlcjJEIHdpbmRUZXh0dXJlLCB2ZWMzIGxvbkxhdExldikgewogICAgdmVjMiBub3JtYWxpemVkSW5kZXgyRCA9IG1hcFBvc2l0aW9uVG9Ob3JtYWxpemVkSW5kZXgyRChsb25MYXRMZXYpOwogICAgZmxvYXQgcmVzdWx0ID0gdGV4dHVyZTJEKHdpbmRUZXh0dXJlLCBub3JtYWxpemVkSW5kZXgyRCkucjsKICAgIHJldHVybiByZXN1bHQ7Cn0KCmNvbnN0IG1hdDQga2VybmVsTWF0cml4ID0gbWF0NCgKICAgIDAuMCwgLTEuMCwgMi4wLCAtMS4wLCAvLyBmaXJzdCBjb2x1bW4KICAgIDIuMCwgMC4wLCAtNS4wLCAzLjAsIC8vIHNlY29uZCBjb2x1bW4KICAgIDAuMCwgMS4wLCA0LjAsIC0zLjAsIC8vIHRoaXJkIGNvbHVtbgogICAgMC4wLCAwLjAsIC0xLjAsIDEuMCAvLyBmb3VydGggY29sdW1uCik7CmZsb2F0IG9uZURpbWVuc2lvbkludGVycG9sYXRpb24oZmxvYXQgdCwgZmxvYXQgcDAsIGZsb2F0IHAxLCBmbG9hdCBwMiwgZmxvYXQgcDMpIHsKICAgIHZlYzQgdFZlYzQgPSB2ZWM0KDEuMCwgdCwgdCAqIHQsIHQgKiB0ICogdCk7CiAgICB0VmVjNCA9IHRWZWM0IC8gMi4wOwogICAgdmVjNCBwVmVjNCA9IHZlYzQocDAsIHAxLCBwMiwgcDMpOwogICAgcmV0dXJuIGRvdCgodFZlYzQgKiBrZXJuZWxNYXRyaXgpLCBwVmVjNCk7Cn0KCmZsb2F0IGNhbGN1bGF0ZUIoc2FtcGxlcjJEIHdpbmRUZXh0dXJlLCBmbG9hdCB0LCBmbG9hdCBsb24sIGZsb2F0IGxhdCwgZmxvYXQgbGV2KSB7CiAgICBmbG9hdCBsb24wID0gZmxvb3IobG9uKSAtIDEuMCAqIGludGVydmFsLng7CiAgICBmbG9hdCBsb24xID0gZmxvb3IobG9uKTsKICAgIGZsb2F0IGxvbjIgPSBmbG9vcihsb24pICsgMS4wICogaW50ZXJ2YWwueDsKICAgIGZsb2F0IGxvbjMgPSBmbG9vcihsb24pICsgMi4wICogaW50ZXJ2YWwueDsKCiAgICBmbG9hdCBwMCA9IGdldFdpbmQod2luZFRleHR1cmUsIHZlYzMobG9uMCwgbGF0LCBsZXYpKTsKICAgIGZsb2F0IHAxID0gZ2V0V2luZCh3aW5kVGV4dHVyZSwgdmVjMyhsb24xLCBsYXQsIGxldikpOwogICAgZmxvYXQgcDIgPSBnZXRXaW5kKHdpbmRUZXh0dXJlLCB2ZWMzKGxvbjIsIGxhdCwgbGV2KSk7CiAgICBmbG9hdCBwMyA9IGdldFdpbmQod2luZFRleHR1cmUsIHZlYzMobG9uMywgbGF0LCBsZXYpKTsKCiAgICByZXR1cm4gb25lRGltZW5zaW9uSW50ZXJwb2xhdGlvbih0LCBwMCwgcDEsIHAyLCBwMyk7Cn0KCmZsb2F0IGludGVycG9sYXRlT25lVGV4dHVyZShzYW1wbGVyMkQgd2luZFRleHR1cmUsIHZlYzMgbG9uTGF0TGV2KSB7CiAgICBmbG9hdCBsb24gPSBsb25MYXRMZXYueDsKICAgIGZsb2F0IGxhdCA9IGxvbkxhdExldi55OwogICAgZmxvYXQgbGV2ID0gbG9uTGF0TGV2Lno7CgogICAgZmxvYXQgbGF0MCA9IGZsb29yKGxhdCkgLSAxLjAgKiBpbnRlcnZhbC55OwogICAgZmxvYXQgbGF0MSA9IGZsb29yKGxhdCk7CiAgICBmbG9hdCBsYXQyID0gZmxvb3IobGF0KSArIDEuMCAqIGludGVydmFsLnk7CiAgICBmbG9hdCBsYXQzID0gZmxvb3IobGF0KSArIDIuMCAqIGludGVydmFsLnk7CgogICAgdmVjMiBjb2VmZmljaWVudCA9IGxvbkxhdExldi54eSAtIGZsb29yKGxvbkxhdExldi54eSk7CiAgICBmbG9hdCBiMCA9IGNhbGN1bGF0ZUIod2luZFRleHR1cmUsIGNvZWZmaWNpZW50LngsIGxvbiwgbGF0MCwgbGV2KTsKICAgIGZsb2F0IGIxID0gY2FsY3VsYXRlQih3aW5kVGV4dHVyZSwgY29lZmZpY2llbnQueCwgbG9uLCBsYXQxLCBsZXYpOwogICAgZmxvYXQgYjIgPSBjYWxjdWxhdGVCKHdpbmRUZXh0dXJlLCBjb2VmZmljaWVudC54LCBsb24sIGxhdDIsIGxldik7CiAgICBmbG9hdCBiMyA9IGNhbGN1bGF0ZUIod2luZFRleHR1cmUsIGNvZWZmaWNpZW50LngsIGxvbiwgbGF0MywgbGV2KTsKCiAgICByZXR1cm4gb25lRGltZW5zaW9uSW50ZXJwb2xhdGlvbihjb2VmZmljaWVudC55LCBiMCwgYjEsIGIyLCBiMyk7Cn0KCnZlYzMgYmljdWJpYyh2ZWMzIGxvbkxhdExldikgewogICAgLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQmljdWJpY19pbnRlcnBvbGF0aW9uI0JpY3ViaWNfY29udm9sdXRpb25fYWxnb3JpdGhtCiAgICBmbG9hdCB1ID0gaW50ZXJwb2xhdGVPbmVUZXh0dXJlKFUsIGxvbkxhdExldik7CiAgICBmbG9hdCB2ID0gaW50ZXJwb2xhdGVPbmVUZXh0dXJlKFYsIGxvbkxhdExldik7CiAgICBmbG9hdCB3ID0gMC4wOwogICAgcmV0dXJuIHZlYzModSwgdiwgdyk7Cn0KCnZvaWQgbWFpbigpIHsKICAgIC8vIHRleHR1cmUgY29vcmRpbmF0ZSBtdXN0IGJlIG5vcm1hbGl6ZWQKICAgIHZlYzMgbG9uTGF0TGV2ID0gdGV4dHVyZTJEKGN1cnJlbnRQYXJ0aWNsZXNQb3NpdGlvbiwgdl90ZXh0dXJlQ29vcmRpbmF0ZXMpLnJnYjsKICAgIHZlYzMgd2luZFZlY3RvciA9IGJpY3ViaWMobG9uTGF0TGV2KTsKICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQod2luZFZlY3RvciwgMC4wKTsKfQ==','d2dzODRUb1dpbmRvd0Nvb3JkaW5hdGVz','cG9zaXRpb24=','TU9VU0VfTU9WRQ==','RnJhbWVidWZmZXI=','X2FkZGVkSG9vaw==','X3JlbW92ZWRIb29r','Y3JlYXRlQ29tcHV0aW5nUHJpbWl0aXZlcw==','ZGVwdGhNYXNr','X2JpbGluZWFySW50ZXJwb2xhdGlvbg==','cGFydGljbGVzV2luZA==','QmFzZUxheWVy','Y3JlYXRlUmF3UmVuZGVyU3RhdGU=','YXR0cmlidXRlIHZlYzIgc3Q7Ci8vIGl0IGlzIG5vdCBub3JtYWwgaXRzZWxmLCBidXQgdXNlZCB0byBjb250cm9sIG5vcm1hbAphdHRyaWJ1dGUgdmVjMyBub3JtYWw7IC8vIChwb2ludCB0byB1c2UsIG9mZnNldCBzaWduLCBub3QgdXNlZCBjb21wb25lbnQpCgp1bmlmb3JtIHNhbXBsZXIyRCBjdXJyZW50UGFydGljbGVzUG9zaXRpb247CnVuaWZvcm0gc2FtcGxlcjJEIHBvc3RQcm9jZXNzaW5nUG9zaXRpb247CnVuaWZvcm0gc2FtcGxlcjJEIHBvc3RQcm9jZXNzaW5nU3BlZWQ7Cgp1bmlmb3JtIGZsb2F0IHBhcnRpY2xlSGVpZ2h0OwoKdW5pZm9ybSBmbG9hdCBhc3BlY3Q7CnVuaWZvcm0gZmxvYXQgcGl4ZWxTaXplOwp1bmlmb3JtIGZsb2F0IGxpbmVXaWR0aDsKCnZhcnlpbmcgZmxvYXQgc3BlZWROb3JtYWxpemF0aW9uOwoKdmVjMyBjb252ZXJ0Q29vcmRpbmF0ZSh2ZWMzIGxvbkxhdExldikgewogICAgLy8gV0dTODQgKGxvbiwgbGF0LCBsZXYpIC0+IEVDRUYgKHgsIHksIHopCiAgICAvLyBzZWUgaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvR2VvZ3JhcGhpY19jb29yZGluYXRlX2NvbnZlcnNpb24jRnJvbV9nZW9kZXRpY190b19FQ0VGX2Nvb3JkaW5hdGVzIGZvciBkZXRhaWwKCiAgICAvLyBXR1MgODQgZ2VvbWV0cmljIGNvbnN0YW50cyAKICAgIGZsb2F0IGEgPSA2Mzc4MTM3LjA7IC8vIFNlbWktbWFqb3IgYXhpcyAKICAgIGZsb2F0IGIgPSA2MzU2NzUyLjMxNDI7IC8vIFNlbWktbWlub3IgYXhpcyAKICAgIGZsb2F0IGUyID0gNi42OTQzNzk5OTAxNGUtMzsgLy8gRmlyc3QgZWNjZW50cmljaXR5IHNxdWFyZWQKCiAgICBmbG9hdCBsYXRpdHVkZSA9IHJhZGlhbnMobG9uTGF0TGV2LnkpOwogICAgZmxvYXQgbG9uZ2l0dWRlID0gcmFkaWFucyhsb25MYXRMZXYueCk7CgogICAgZmxvYXQgY29zTGF0ID0gY29zKGxhdGl0dWRlKTsKICAgIGZsb2F0IHNpbkxhdCA9IHNpbihsYXRpdHVkZSk7CiAgICBmbG9hdCBjb3NMb24gPSBjb3MobG9uZ2l0dWRlKTsKICAgIGZsb2F0IHNpbkxvbiA9IHNpbihsb25naXR1ZGUpOwoKICAgIGZsb2F0IE5fUGhpID0gYSAvIHNxcnQoMS4wIC0gZTIgKiBzaW5MYXQgKiBzaW5MYXQpOwogICAgZmxvYXQgaCA9IHBhcnRpY2xlSGVpZ2h0OyAvLyBpdCBzaG91bGQgYmUgaGlnaCBlbm91Z2ggb3RoZXJ3aXNlIHRoZSBwYXJ0aWNsZSBtYXkgbm90IHBhc3MgdGhlIHRlcnJhaW4gZGVwdGggdGVzdAoKICAgIHZlYzMgY2FydGVzaWFuID0gdmVjMygwLjApOwogICAgY2FydGVzaWFuLnggPSAoTl9QaGkgKyBoKSAqIGNvc0xhdCAqIGNvc0xvbjsKICAgIGNhcnRlc2lhbi55ID0gKE5fUGhpICsgaCkgKiBjb3NMYXQgKiBzaW5Mb247CiAgICBjYXJ0ZXNpYW4ueiA9ICgoYiAqIGIpIC8gKGEgKiBhKSAqIE5fUGhpICsgaCkgKiBzaW5MYXQ7CiAgICByZXR1cm4gY2FydGVzaWFuOwp9Cgp2ZWM0IGNhbGNQcm9qZWN0ZWRDb29yZGluYXRlKHZlYzMgbG9uTGF0TGV2KSB7CiAgICAvLyB0aGUgcmFuZ2Ugb2YgbG9uZ2l0dWRlIGluIENlc2l1bSBpcyBbLTE4MCwgMTgwXSBidXQgdGhlIHJhbmdlIG9mIGxvbmdpdHVkZSBpbiB0aGUgTmV0Q0RGIGZpbGUgaXMgWzAsIDM2MF0KICAgIC8vIFswLCAxODBdIGlzIGNvcnJlc3BvbmRpbmcgdG8gWzAsIDE4MF0gYW5kIFsxODAsIDM2MF0gaXMgY29ycmVzcG9uZGluZyB0byBbLTE4MCwgMF0KICAgIGxvbkxhdExldi54ID0gbW9kKGxvbkxhdExldi54ICsgMTgwLjAsIDM2MC4wKSAtIDE4MC4wOwogICAgdmVjMyBwYXJ0aWNsZVBvc2l0aW9uID0gY29udmVydENvb3JkaW5hdGUobG9uTGF0TGV2KTsKICAgIHZlYzQgcHJvamVjdGVkQ29vcmRpbmF0ZSA9IGN6bV9tb2RlbFZpZXdQcm9qZWN0aW9uICogdmVjNChwYXJ0aWNsZVBvc2l0aW9uLCAxLjApOwogICAgcmV0dXJuIHByb2plY3RlZENvb3JkaW5hdGU7Cn0KCnZlYzQgY2FsY09mZnNldCh2ZWM0IGN1cnJlbnRQcm9qZWN0ZWRDb29yZGluYXRlLCB2ZWM0IG5leHRQcm9qZWN0ZWRDb29yZGluYXRlLCBmbG9hdCBvZmZzZXRTaWduKSB7CiAgICB2ZWMyIGFzcGVjdFZlYzIgPSB2ZWMyKGFzcGVjdCwgMS4wKTsKICAgIHZlYzIgY3VycmVudFhZID0gKGN1cnJlbnRQcm9qZWN0ZWRDb29yZGluYXRlLnh5IC8gY3VycmVudFByb2plY3RlZENvb3JkaW5hdGUudykgKiBhc3BlY3RWZWMyOwogICAgdmVjMiBuZXh0WFkgPSAobmV4dFByb2plY3RlZENvb3JkaW5hdGUueHkgLyBuZXh0UHJvamVjdGVkQ29vcmRpbmF0ZS53KSAqIGFzcGVjdFZlYzI7CgogICAgZmxvYXQgb2Zmc2V0TGVuZ3RoID0gbGluZVdpZHRoIC8gMi4wOwogICAgdmVjMiBkaXJlY3Rpb24gPSBub3JtYWxpemUobmV4dFhZIC0gY3VycmVudFhZKTsKICAgIHZlYzIgbm9ybWFsVmVjdG9yID0gdmVjMigtZGlyZWN0aW9uLnksIGRpcmVjdGlvbi54KTsKICAgIG5vcm1hbFZlY3Rvci54ID0gbm9ybWFsVmVjdG9yLnggLyBhc3BlY3Q7CiAgICBub3JtYWxWZWN0b3IgPSBvZmZzZXRMZW5ndGggKiBub3JtYWxWZWN0b3I7CgogICAgdmVjNCBvZmZzZXQgPSB2ZWM0KG9mZnNldFNpZ24gKiBub3JtYWxWZWN0b3IsIDAuMCwgMC4wKTsKICAgIHJldHVybiBvZmZzZXQ7Cn0KCnZvaWQgbWFpbigpIHsKICAgIHZlYzIgcGFydGljbGVJbmRleCA9IHN0OwoKICAgIHZlYzMgY3VycmVudFBvc2l0aW9uID0gdGV4dHVyZTJEKGN1cnJlbnRQYXJ0aWNsZXNQb3NpdGlvbiwgcGFydGljbGVJbmRleCkucmdiOwogICAgdmVjNCBuZXh0UG9zaXRpb24gPSB0ZXh0dXJlMkQocG9zdFByb2Nlc3NpbmdQb3NpdGlvbiwgcGFydGljbGVJbmRleCk7CgogICAgdmVjNCBjdXJyZW50UHJvamVjdGVkQ29vcmRpbmF0ZSA9IHZlYzQoMC4wKTsKICAgIHZlYzQgbmV4dFByb2plY3RlZENvb3JkaW5hdGUgPSB2ZWM0KDAuMCk7CiAgICBpZiAobmV4dFBvc2l0aW9uLncgPiAwLjApIHsKICAgICAgICBjdXJyZW50UHJvamVjdGVkQ29vcmRpbmF0ZSA9IGNhbGNQcm9qZWN0ZWRDb29yZGluYXRlKGN1cnJlbnRQb3NpdGlvbik7CiAgICAgICAgbmV4dFByb2plY3RlZENvb3JkaW5hdGUgPSBjYWxjUHJvamVjdGVkQ29vcmRpbmF0ZShjdXJyZW50UG9zaXRpb24pOwogICAgfSBlbHNlIHsKICAgICAgICBjdXJyZW50UHJvamVjdGVkQ29vcmRpbmF0ZSA9IGNhbGNQcm9qZWN0ZWRDb29yZGluYXRlKGN1cnJlbnRQb3NpdGlvbik7CiAgICAgICAgbmV4dFByb2plY3RlZENvb3JkaW5hdGUgPSBjYWxjUHJvamVjdGVkQ29vcmRpbmF0ZShuZXh0UG9zaXRpb24ueHl6KTsKICAgIH0KCiAgICBmbG9hdCBwb2ludFRvVXNlID0gbm9ybWFsLng7IC8vIC0xIGlzIGN1cnJlbnRQcm9qZWN0ZWRDb29yZGluYXRlIGFuZCArMSBpcyBuZXh0UHJvamVjdGVkQ29vcmRpbmF0ZQogICAgZmxvYXQgb2Zmc2V0U2lnbiA9IG5vcm1hbC55OwoKICAgIHZlYzQgb2Zmc2V0ID0gcGl4ZWxTaXplICogY2FsY09mZnNldChjdXJyZW50UHJvamVjdGVkQ29vcmRpbmF0ZSwgbmV4dFByb2plY3RlZENvb3JkaW5hdGUsIG9mZnNldFNpZ24pOwogICAgaWYgKHBvaW50VG9Vc2UgPCAwLjApIHsKICAgICAgICBnbF9Qb3NpdGlvbiA9IGN1cnJlbnRQcm9qZWN0ZWRDb29yZGluYXRlICsgb2Zmc2V0OwogICAgfSBlbHNlIHsKICAgICAgICBnbF9Qb3NpdGlvbiA9IG5leHRQcm9qZWN0ZWRDb29yZGluYXRlICsgb2Zmc2V0OwogICAgfQoKICAgIHNwZWVkTm9ybWFsaXphdGlvbiA9IHRleHR1cmUyRChwb3N0UHJvY2Vzc2luZ1NwZWVkLCBwYXJ0aWNsZUluZGV4KS5hOwp9','d2luZEZpZWxk','eG1heA==','Y2xlYXI=','ZGVmaW5lZA==','Q2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9u','ekluZGV4','cG9zdFByb2Nlc3NpbmdQb3NpdGlvbg==','Z2V0VVZCeVBvaW50','Y3JlYXRlUmVuZGVyaW5nVGV4dHVyZXM=','bmV4dFRyYWlscw==','dG9EZWdyZWVz','dG9SYWRpYW5z','bm93','YWJz','Z2xvYmFsQWxwaGE=','ZmFkZU9wYWNpdHk=','ZGVmYXVsdFZhbHVl','UHJpbWl0aXZlVHlwZQ==','Y29tbWFuZFRvRXhlY3V0ZQ==','cHJpbWl0aXZlcw==','Z2V0Q29sb3JUZXh0dXJl','V0hFRUw=','YXV0b0NsZWFy','cmFuZG9tUGFydGljbGU=','dXBkYXRlRGF0ZQ==','bWlu','ZGVzdHJveQ==','c2VnbWVudHNEZXB0aA==','Y2FudmFzSGVpZ2h0','dmlld2VyUGFyYW1ldGVycw==','YXBwbHlVc2VySW5wdXQ=','Zmxvb3I=','bG5n','Y2VzaXVtV2lkZ2V0','bG9n','ZGVmYXVsdA==','ZHJvcFJhdGVCdW1w','cHVzaA==','bmV4dFRyYWlsc0RlcHRo','X2NhbGNVVg==','c291cmNl','bGVmdA==','c2V0QXR0cmlidXRl','c3Ryb2tlU3R5bGU=','YXRhbjI=','cG9pbnRlckV2ZW50cw==','cG93','dW5pZm9ybSBzYW1wbGVyMkQgdHJhaWxzQ29sb3JUZXh0dXJlOw0KdW5pZm9ybSBzYW1wbGVyMkQgdHJhaWxzRGVwdGhUZXh0dXJlOw0KDQp2YXJ5aW5nIHZlYzIgdGV4dHVyZUNvb3JkaW5hdGU7DQoNCnZvaWQgbWFpbigpIHsNCiAgICB2ZWM0IHRyYWlsc0NvbG9yID0gdGV4dHVyZTJEKHRyYWlsc0NvbG9yVGV4dHVyZSwgdGV4dHVyZUNvb3JkaW5hdGUpOw0KICAgIGZsb2F0IHRyYWlsc0RlcHRoID0gdGV4dHVyZTJEKHRyYWlsc0RlcHRoVGV4dHVyZSwgdGV4dHVyZUNvb3JkaW5hdGUpLnI7DQogICAgZmxvYXQgZ2xvYmVEZXB0aCA9IGN6bV91bnBhY2tEZXB0aCh0ZXh0dXJlMkQoY3ptX2dsb2JlRGVwdGhUZXh0dXJlLCB0ZXh0dXJlQ29vcmRpbmF0ZSkpOw0KDQogICAgaWYgKHRyYWlsc0RlcHRoIDwgZ2xvYmVEZXB0aCkgew0KICAgICAgICBnbF9GcmFnQ29sb3IgPSB0cmFpbHNDb2xvcjsNCiAgICB9IGVsc2Ugew0KICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KDAuMCk7DQogICAgfQ0KfQ==','Z2V0RGVmYXVsdFJlbmRlclN0YXRl','V2luZExheWVy','TWF0cml4NA==','b3B0aW9ucw==','YmluZEV2ZW50','Qm91bmRpbmdTcGhlcmU=','d2luZERhdGE=','c2NyZWVu','Z2xvYmVMYXllcg==','c2V0UHJvdG90eXBlT2Y=','Y2FtZXJh','YXR0cmlidXRlTG9jYXRpb25z','U2FtcGxlcg==','dmlzaWJpbGl0eQ==','dGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVk','d2luZFRleHR1cmVz','YW1k','aXNQb2ludFZpc2libGU=','c3FydA==','YXBwbHlWaWV3ZXJQYXJhbWV0ZXJz','dXBkYXRlVmlld2VyUGFyYW1ldGVycw==','d2luZA==','Y2FsY19zcGVlZFJhdGU=','ZnJhZ21lbnRTaGFkZXJTb3VyY2U=','RElTQUJMRV9HTF9QT1NJVElPTl9MT0dfREVQVEg=','TEVGVF9ET1dO','Y29z','bmV4dFBhcnRpY2xlc1NwZWVk','Z2V0Q29udGV4dA==','d2lkdGg=','X21vdW50ZWRIb29r','U2NlbmVNb2Rl','UmVjdGFuZ2xl','WkVSTw==','bWF4','Q29tcHV0ZQ==','YWJzb2x1dGU=','X2NhbGNTdGVw','X3BhcnRpY2xlc051bWJlcg==','U0NFTkUzRA==','dW5pZm9ybSBzYW1wbGVyMkQgbmV4dFBhcnRpY2xlc1Bvc2l0aW9uOwp1bmlmb3JtIHNhbXBsZXIyRCBuZXh0UGFydGljbGVzU3BlZWQ7IC8vICh1LCB2LCB3LCBub3JtYWxpemF0aW9uKQoKLy8gcmFuZ2UgKG1pbiwgbWF4KQp1bmlmb3JtIHZlYzIgbG9uUmFuZ2U7CnVuaWZvcm0gdmVjMiBsYXRSYW5nZTsKCnVuaWZvcm0gZmxvYXQgcmFuZG9tQ29lZmZpY2llbnQ7IC8vIHVzZSB0byBpbXByb3ZlIHRoZSBwc2V1ZG8tcmFuZG9tIGdlbmVyYXRvcgp1bmlmb3JtIGZsb2F0IGRyb3BSYXRlOyAvLyBkcm9wIHJhdGUgaXMgYSBjaGFuY2UgYSBwYXJ0aWNsZSB3aWxsIHJlc3RhcnQgYXQgcmFuZG9tIHBvc2l0aW9uIHRvIGF2b2lkIGRlZ2VuZXJhdGlvbgp1bmlmb3JtIGZsb2F0IGRyb3BSYXRlQnVtcDsKCnZhcnlpbmcgdmVjMiB2X3RleHR1cmVDb29yZGluYXRlczsKCi8vIHBzZXVkby1yYW5kb20gZ2VuZXJhdG9yCmNvbnN0IHZlYzMgcmFuZG9tQ29uc3RhbnRzID0gdmVjMygxMi45ODk4LCA3OC4yMzMsIDQzNzUuODU0NTMpOwpjb25zdCB2ZWMyIG5vcm1hbFJhbmdlID0gdmVjMigwLjAsIDEuMCk7CmZsb2F0IHJhbmQodmVjMiBzZWVkLCB2ZWMyIHJhbmdlKSB7CiAgICB2ZWMyIHJhbmRvbVNlZWQgPSByYW5kb21Db2VmZmljaWVudCAqIHNlZWQ7CiAgICBmbG9hdCB0ZW1wID0gZG90KHJhbmRvbUNvbnN0YW50cy54eSwgcmFuZG9tU2VlZCk7CiAgICB0ZW1wID0gZnJhY3Qoc2luKHRlbXApICogKHJhbmRvbUNvbnN0YW50cy56ICsgdGVtcCkpOwogICAgcmV0dXJuIHRlbXAgKiAocmFuZ2UueSAtIHJhbmdlLngpICsgcmFuZ2UueDsKfQoKdmVjMyBnZW5lcmF0ZVJhbmRvbVBhcnRpY2xlKHZlYzIgc2VlZCwgZmxvYXQgbGV2KSB7CiAgICAvLyBlbnN1cmUgdGhlIGxvbmdpdHVkZSBpcyBpbiBbMCwgMzYwXQogICAgZmxvYXQgcmFuZG9tTG9uID0gbW9kKHJhbmQoc2VlZCwgbG9uUmFuZ2UpLCAzNjAuMCk7CiAgICBmbG9hdCByYW5kb21MYXQgPSByYW5kKC1zZWVkLCBsYXRSYW5nZSk7CgogICAgcmV0dXJuIHZlYzMocmFuZG9tTG9uLCByYW5kb21MYXQsIGxldik7Cn0KCmJvb2wgcGFydGljbGVPdXRib3VuZCh2ZWMzIHBhcnRpY2xlKSB7CiAgICByZXR1cm4gcGFydGljbGUueSA8IC05MC4wIHx8IHBhcnRpY2xlLnkgPiA5MC4wOwp9Cgp2b2lkIG1haW4oKSB7CiAgICB2ZWMzIG5leHRQYXJ0aWNsZSA9IHRleHR1cmUyRChuZXh0UGFydGljbGVzUG9zaXRpb24sIHZfdGV4dHVyZUNvb3JkaW5hdGVzKS5yZ2I7CiAgICB2ZWM0IG5leHRTcGVlZCA9IHRleHR1cmUyRChuZXh0UGFydGljbGVzU3BlZWQsIHZfdGV4dHVyZUNvb3JkaW5hdGVzKTsKICAgIGZsb2F0IHBhcnRpY2xlRHJvcFJhdGUgPSBkcm9wUmF0ZSArIGRyb3BSYXRlQnVtcCAqIG5leHRTcGVlZC5hOwoKICAgIHZlYzIgc2VlZDEgPSBuZXh0UGFydGljbGUueHkgKyB2X3RleHR1cmVDb29yZGluYXRlczsKICAgIHZlYzIgc2VlZDIgPSBuZXh0U3BlZWQueHkgKyB2X3RleHR1cmVDb29yZGluYXRlczsKICAgIHZlYzMgcmFuZG9tUGFydGljbGUgPSBnZW5lcmF0ZVJhbmRvbVBhcnRpY2xlKHNlZWQxLCBuZXh0UGFydGljbGUueik7CiAgICBmbG9hdCByYW5kb21OdW1iZXIgPSByYW5kKHNlZWQyLCBub3JtYWxSYW5nZSk7CgogICAgaWYgKHJhbmRvbU51bWJlciA8IHBhcnRpY2xlRHJvcFJhdGUgfHwgcGFydGljbGVPdXRib3VuZChuZXh0UGFydGljbGUpKSB7CiAgICAgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNChyYW5kb21QYXJ0aWNsZSwgMS4wKTsgLy8gMS4wIG1lYW5zIHRoaXMgaXMgYSByYW5kb20gcGFydGljbGUKICAgIH0gZWxzZSB7CiAgICAgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNChuZXh0UGFydGljbGUsIDAuMCk7CiAgICB9Cn0=','VmVydGV4QXJyYXk=','ZnJvbUNhY2hl','Y3VycmVudFRyYWlsc0RlcHRo','QXBwZWFyYW5jZQ==','Y3VycmVudFBhcnRpY2xlc1NwZWVk','Q2FydGVzaWFuMw==','ZGVzdHJveVBhcnRpY2xlc1RleHR1cmVz','U3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24=','dW5pZm9ybSBzYW1wbGVyMkQgcG9zdFByb2Nlc3NpbmdQb3NpdGlvbjsKdW5pZm9ybSBzYW1wbGVyMkQgbmV4dFBhcnRpY2xlc1NwZWVkOwoKdmFyeWluZyB2ZWMyIHZfdGV4dHVyZUNvb3JkaW5hdGVzOwoKdm9pZCBtYWluKCkgewogICAgdmVjNCByYW5kb21QYXJ0aWNsZSA9IHRleHR1cmUyRChwb3N0UHJvY2Vzc2luZ1Bvc2l0aW9uLCB2X3RleHR1cmVDb29yZGluYXRlcyk7CiAgICB2ZWM0IHBhcnRpY2xlU3BlZWQgPSB0ZXh0dXJlMkQobmV4dFBhcnRpY2xlc1NwZWVkLCB2X3RleHR1cmVDb29yZGluYXRlcyk7CgogICAgaWYgKHJhbmRvbVBhcnRpY2xlLmEgPiAwLjApIHsKICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KDAuMCk7CiAgICB9IGVsc2UgewogICAgICAgIGdsX0ZyYWdDb2xvciA9IHBhcnRpY2xlU3BlZWQ7CiAgICB9Cn0=','Y2xlYXJDb21tYW5k','dHJhaWxz','YW5pbWF0ZUZyYW1l','Q29tcG9uZW50RGF0YXR5cGU=','dW5pZm9ybSBzYW1wbGVyMkQgY3VycmVudFBhcnRpY2xlc1Bvc2l0aW9uOyAvLyAobG9uLCBsYXQsIGxldikKdW5pZm9ybSBzYW1wbGVyMkQgY3VycmVudFBhcnRpY2xlc1NwZWVkOyAvLyAodSwgdiwgdywgbm9ybWFsaXphdGlvbikKCnZhcnlpbmcgdmVjMiB2X3RleHR1cmVDb29yZGluYXRlczsKCnZlYzIgbGVuZ3RoT2ZMb25MYXQodmVjMyBsb25MYXRMZXYpIHsKICAgIC8vIHVuaXQgY29udmVyc2lvbjogbWV0ZXJzIC0+IGxvbmdpdHVkZSBsYXRpdHVkZSBkZWdyZWVzCiAgICAvLyBzZWUgaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvR2VvZ3JhcGhpY19jb29yZGluYXRlX3N5c3RlbSNMZW5ndGhfb2ZfYV9kZWdyZWUgZm9yIGRldGFpbAoKICAgIC8vIENhbGN1bGF0ZSB0aGUgbGVuZ3RoIG9mIGEgZGVncmVlIG9mIGxhdGl0dWRlIGFuZCBsb25naXR1ZGUgaW4gbWV0ZXJzCiAgICBmbG9hdCBsYXRpdHVkZSA9IHJhZGlhbnMobG9uTGF0TGV2LnkpOwoKICAgIGZsb2F0IHRlcm0xID0gMTExMTMyLjkyOwogICAgZmxvYXQgdGVybTIgPSA1NTkuODIgKiBjb3MoMi4wICogbGF0aXR1ZGUpOwogICAgZmxvYXQgdGVybTMgPSAxLjE3NSAqIGNvcyg0LjAgKiBsYXRpdHVkZSk7CiAgICBmbG9hdCB0ZXJtNCA9IDAuMDAyMyAqIGNvcyg2LjAgKiBsYXRpdHVkZSk7CiAgICBmbG9hdCBsYXRMZW5ndGggPSB0ZXJtMSAtIHRlcm0yICsgdGVybTMgLSB0ZXJtNDsKCiAgICBmbG9hdCB0ZXJtNSA9IDExMTQxMi44NCAqIGNvcyhsYXRpdHVkZSk7CiAgICBmbG9hdCB0ZXJtNiA9IDkzLjUgKiBjb3MoMy4wICogbGF0aXR1ZGUpOwogICAgZmxvYXQgdGVybTcgPSAwLjExOCAqIGNvcyg1LjAgKiBsYXRpdHVkZSk7CiAgICBmbG9hdCBsb25nTGVuZ3RoID0gdGVybTUgLSB0ZXJtNiArIHRlcm03OwoKICAgIHJldHVybiB2ZWMyKGxvbmdMZW5ndGgsIGxhdExlbmd0aCk7Cn0KCnZvaWQgdXBkYXRlUG9zaXRpb24odmVjMyBsb25MYXRMZXYsIHZlYzMgc3BlZWQpIHsKICAgIHZlYzIgbG9uTGF0TGVuZ3RoID0gbGVuZ3RoT2ZMb25MYXQobG9uTGF0TGV2KTsKICAgIGZsb2F0IHUgPSBzcGVlZC54IC8gbG9uTGF0TGVuZ3RoLng7CiAgICBmbG9hdCB2ID0gc3BlZWQueSAvIGxvbkxhdExlbmd0aC55OwogICAgZmxvYXQgdyA9IDAuMDsKICAgIHZlYzMgd2luZFZlY3RvckluTG9uTGF0TGV2ID0gdmVjMyh1LCB2LCB3KTsKCiAgICB2ZWMzIG5leHRQYXJ0aWNsZSA9IGxvbkxhdExldiArIHdpbmRWZWN0b3JJbkxvbkxhdExldjsKCiAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KG5leHRQYXJ0aWNsZSwgMC4wKTsKfQoKdm9pZCBtYWluKCkgewogICAgLy8gdGV4dHVyZSBjb29yZGluYXRlIG11c3QgYmUgbm9ybWFsaXplZAogICAgdmVjMyBsb25MYXRMZXYgPSB0ZXh0dXJlMkQoY3VycmVudFBhcnRpY2xlc1Bvc2l0aW9uLCB2X3RleHR1cmVDb29yZGluYXRlcykucmdiOwogICAgdmVjMyBzcGVlZCA9IHRleHR1cmUyRChjdXJyZW50UGFydGljbGVzU3BlZWQsIHZfdGV4dHVyZUNvb3JkaW5hdGVzKS5yZ2I7CgogICAgdXBkYXRlUG9zaXRpb24obG9uTGF0TGV2LCBzcGVlZCk7Cn0=','bGluZVRv','Y2FudmFzUmVzaXpl','Y2FudmFzQ29udGV4dA==','Q2xlYXJDb21tYW5k','ZHJhd2luZ0J1ZmZlckhlaWdodA==','Y29tcHV0ZVZpZXdSZWN0YW5nbGU=','VU5TSUdORURfSU5U','ZXhlY3V0ZQ==','YXJyYXlCdWZmZXJWaWV3','c2hhZGVyUHJvZ3JhbQ==','bG9u','UklHSFRfVVA=','Y2FucmVmcmVzaA==','bW9kZQ==','Y2VzaXVt','bWF4QWdl','ZWFzdA==','UGl4ZWxGb3JtYXQ=','YWxs','Y3JlYXRlUmVuZGVyaW5nRnJhbWVidWZmZXJz','UElfT1ZFUl9UV08=','V01TX1VSTA==','dW5kZWZpbmVk','bW92ZUVuZA==','UGFzcw==','Z2V0UmFuZG9tTGF0TG5n','dmFsdWU=','ZnJhbWVUaW1l','dmRhdGE=','c2NlbmU=','X3BvaW50ZXJFdmVudHM=','Y3JlYXRlRnJhbWVidWZmZXI=','c3BlZWRSYXRl','Y3JlYXRlU2VnbWVudHNHZW9tZXRyeQ==','Z2V0RGlyZWN0aW9u','YXJyYXk=','Z3JpZA==','MTAwJQ==','cGFydGljbGVIZWlnaHQ=','d3JpdGFibGU=','TEVGVF9VUA==','c2VnbWVudHNDb2xvcg==','cGFydGljbGVzUmVuZGVyaW5n','UElfT1ZFUl9USFJFRQ==','X21hcA==','eG1pbg==','c2hhbQ==','Zml4ZWRIZWlnaHQ=','dGxuZw==','cG9pbnRlci1ldmVudHM=','bWFyczNk','Z2V0UHJvdG90eXBlT2Y=','ZnJvbURlZ3JlZXM=','bGF0','X19lc01vZHVsZQ==','Y2FudmFzV2lkdGg=','Y2FuY2VsQW5pbWF0aW9uRnJhbWU=','Z2xvYmU=','U2hhZGVyU291cmNl','b3V0cHV0VGV4dHVyZQ==','VFdPX1BJ','b2JqZWN0','bGVuZ3Ro','ZHJhd1dpbmQ=','Zm9yRWFjaA==','cmVtb3Zl','Z2V0RXh0ZW50','ZXhwb3J0cw==','Z2V0V2luZA==','X21heEFnZQ==','eW1heA==','Y2FudmFzV2luZHk=','ZmlsbFN0eWxl','cHJlRXhlY3V0ZQ==','ZGVwdGhUZXN0','Y2VpbA==','bGF5ZXI=','U2NyZWVuU3BhY2VFdmVudFR5cGU=','ZnJhbWVidWZmZXI=','c2VnbWVudHM=','aXRlcmF0b3I=','ZnJhbWVidWZmZXJz','bGF0UmFuZ2U=','cGFydGljbGVzTnVtYmVy','cmFuZG9t','YXBwbHk=','bGV2','YmluZA==','Y29tbWFuZFR5cGU=','dW5pZm9ybU1hcA==','cGFydGljbGVzQ29tcHV0aW5n','X3NwZWVkUmF0ZQ==','Q29sb3I=','dXBkYXRl','Q2FydGVzaWFuMg==','ZmlsbA==','dGxhdA==','ZWxsaXBzb2lk','bm9uZQ==','Y3VycmVudFRyYWlscw==','bWF4UGFydGljbGVz','bWFyczNkV2luZA==','Z2xvYmVCb3VuZGluZ1NwaGVyZQ==','Y2xlYXJGcmFtZWJ1ZmZlcnM=','TWF0aA==','Y2xpZW50V2lkdGg=','ZnJvbUdlb21ldHJ5','dmVydGV4QXJyYXk=','YWRk','dG9HcmlkWFk=','TFVNSU5BTkNF','TW9kdWxl','bmV4dFRyYWlsc0NvbG9y','ZGltZW5zaW9ucw==','aGlkZGVu','cmVtb3ZlQWxs','Z2V0Vg==','YWRkUHJpbWl0aXZlcw==','Y3JlYXRlRWxlbWVudA==','Y29uZmlndXJhYmxl','cHJlUmVuZGVy','dG9TdHJpbmc=','c2lu','X19wcm90b19f','Y2xpZW50SGVpZ2h0','YXR0cmlidXRlIHZlYzMgcG9zaXRpb247DQphdHRyaWJ1dGUgdmVjMiBzdDsNCg0KdmFyeWluZyB2ZWMyIHRleHR1cmVDb29yZGluYXRlOw0KDQp2b2lkIG1haW4oKSB7DQogICAgdGV4dHVyZUNvb3JkaW5hdGUgPSBzdDsNCiAgICBnbF9Qb3NpdGlvbiA9IHZlYzQocG9zaXRpb24sIDEuMCk7DQp9','cmV2ZXJzZVk=','cmVnaXN0ZXI=','Y29udGV4dA==','Y29uc3RydWN0b3I=','RElTQUJMRV9MT0dfREVQVEhfRlJBR01FTlRfV1JJVEU=','Y3JlYXRlQ29tbWFuZA==','Y29sb3JOdW0=','T1BBUVVF','cGFydGljbGVzVGV4dHVyZVNpemU=','d2VzdA==','cGFydGljbGVTeXN0ZW0=','UkdCQQ==','U1RBVElDX0RSQVc=','c3RyaW5n','ZGVwdGhUZXh0dXJl','YXBwZW5kQ2hpbGQ=','VEhSRUVfUElfT1ZFUl9UV08=','UHJpbWl0aXZlQ29sbGVjdGlvbg==','X2NyZWF0ZUNhbnZhcw==','Y3JlYXRl','SURFTlRJVFk=','dWRhdGE=','ZHJvcFJhdGU=','Y29tbWFuZExpc3Q=','Y29scw==','YWdl','V2luZFV0aWw=','VGV4dHVyZQ==','X3Nob3dIb29r','VGV4dHVyZU1pbmlmaWNhdGlvbkZpbHRlcg==','dXBkYXRlUG9zaXRpb24=','cmVtb3ZlQ2hpbGQ=','U2hhZGVyUHJvZ3JhbQ==','R2VvbWV0cnlBdHRyaWJ1dGVz','bm9ydGg=','dG9TdHJpbmdUYWc=','dmlzaWJsZQ==','ZGF0YQ==','c2hvdw==','ZGVmaW5lUHJvcGVydHk=','cmVzaXpl','c3R5bGU=','MHB4','ZHJhd2luZ0J1ZmZlcldpZHRo','Z2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9u','RWxsaXBzb2lkYWxPY2NsdWRlcg==','cm93cw==','Y29uc3RydWN0','YXV0bw==','bGluZVdpZHRo','bW9k','cGFydGljbGVzVGV4dHVyZXM=','U2NlbmVUcmFuc2Zvcm1z','Q2FudmFzV2luZExheWVy','ZnVuY3Rpb24=','VFJJQU5HTEVT','Y3VycmVudFRyYWlsc0NvbG9y','aGVpZ2h0','YWRkRXZlbnRMaXN0ZW5lcg==','bG9uUmFuZ2U=','Y29sb3JUYWJsZQ==','dmlld1JlY3RhbmdsZVRvTG9uTGF0UmFuZ2U=','X2RyYXdMaW5lcw==','c3BlZWRGYWN0b3I=','Z2V0VQ==','dXNlcklucHV0','VGV4dHVyZU1hZ25pZmljYXRpb25GaWx0ZXI=','dGV4dHVyZXM=','Z2V0VVZCeVhZ','TkVBUkVTVA==','Z2V0UGl4ZWxTaXpl','Q2VzaXVt','bW92ZVN0YXJ0','X2lzRGVzdHJveQ==','Y3JlYXRlUGFydGljbGVzVGV4dHVyZXM=','RGVwdGhGdW5jdGlvbg==','ZnJhbWVSYXRl','Y2xhc3M=','cGl4ZWxTaXpl','Z2V0VXNlcklucHV0','ZGVzdHJveU9iamVjdA==','cmF3UmVuZGVyU3RhdGU=','dmVydGV4U2hhZGVyU291cmNl','Z2V0U3BlZWQ=','c291dGg=','Y29sb3I=','bW92ZVRv','eW1pbg==','RkxPQVQ=','cG9zdFByb2Nlc3NpbmdTcGVlZA==','UGl4ZWxEYXRhdHlwZQ==','Y2xhbXBUb0xhdGl0dWRlUmFuZ2U=','bmV4dFBhcnRpY2xlc1Bvc2l0aW9u'];(function(_0x295bd3,_0x32c36b){var _0x4b6c87=function(_0x91ea8){while(--_0x91ea8){_0x295bd3['push'](_0x295bd3['shift']());}};_0x4b6c87(++_0x32c36b);}(a0_0x32c3,0x111));var a0_0x4b6c=function(_0x295bd3,_0x32c36b){_0x295bd3=_0x295bd3-0x0;var _0x4b6c87=a0_0x32c3[_0x295bd3];if(a0_0x4b6c['UIOTgJ']===undefined){(function(){var _0x2d0030;try{var _0x549da2=Function('return\x20(function()\x20'+'{}.constructor(\x22return\x20this\x22)(\x20)'+');');_0x2d0030=_0x549da2();}catch(_0x4f1b25){_0x2d0030=window;}var _0x14aca0='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x2d0030['atob']||(_0x2d0030['atob']=function(_0xac36b7){var _0x2d7f91=String(_0xac36b7)['replace'](/=+$/,'');var _0x31c45c='';for(var _0x8a6b5f=0x0,_0x354ff6,_0x30c4be,_0x1c27af=0x0;_0x30c4be=_0x2d7f91['charAt'](_0x1c27af++);~_0x30c4be&&(_0x354ff6=_0x8a6b5f%0x4?_0x354ff6*0x40+_0x30c4be:_0x30c4be,_0x8a6b5f++%0x4)?_0x31c45c+=String['fromCharCode'](0xff&_0x354ff6>>(-0x2*_0x8a6b5f&0x6)):0x0){_0x30c4be=_0x14aca0['indexOf'](_0x30c4be);}return _0x31c45c;});}());a0_0x4b6c['PCgxus']=function(_0x39e278){var _0x367682=atob(_0x39e278);var _0x5d1acb=[];for(var _0x294c3b=0x0,_0x4afb32=_0x367682['length'];_0x294c3b<_0x4afb32;_0x294c3b++){_0x5d1acb+='%'+('00'+_0x367682['charCodeAt'](_0x294c3b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5d1acb);};a0_0x4b6c['UxbBlx']={};a0_0x4b6c['UIOTgJ']=!![];}var _0x91ea8=a0_0x4b6c['UxbBlx'][_0x295bd3];if(_0x91ea8===undefined){_0x4b6c87=a0_0x4b6c['PCgxus'](_0x4b6c87);a0_0x4b6c['UxbBlx'][_0x295bd3]=_0x4b6c87;}else{_0x4b6c87=_0x91ea8;}return _0x4b6c87;};!function(_0x37121c,_0xe32c13){a0_0x4b6c('0x12f')==typeof exports&&a0_0x4b6c('0x12f')==typeof module?module[a0_0x4b6c('0x135')]=_0xe32c13(require('cesium'),require('mars3d')):a0_0x4b6c('0x37')==typeof define&&define[a0_0x4b6c('0xcb')]?define(a0_0x4b6c('0x157'),[a0_0x4b6c('0x100'),a0_0x4b6c('0x124')],_0xe32c13):a0_0x4b6c('0x12f')==typeof exports?exports[a0_0x4b6c('0x157')]=_0xe32c13(require(a0_0x4b6c('0x100')),require(a0_0x4b6c('0x124'))):_0x37121c['mars3dWind']=_0xe32c13(_0x37121c[a0_0x4b6c('0x48')],_0x37121c['mars3d']);}(window,function(_0x250a47,_0x69c886){return function(_0x1e49ef){var _0x176072={};function _0x1aac39(_0x4feb50){if(_0x176072[_0x4feb50])return _0x176072[_0x4feb50]['exports'];var _0x1c5e4d=_0x176072[_0x4feb50]={'i':_0x4feb50,'l':!0x1,'exports':{}};return _0x1e49ef[_0x4feb50][a0_0x4b6c('0x76')](_0x1c5e4d[a0_0x4b6c('0x135')],_0x1c5e4d,_0x1c5e4d[a0_0x4b6c('0x135')],_0x1aac39),_0x1c5e4d['l']=!0x0,_0x1c5e4d['exports'];}return _0x1aac39['m']=_0x1e49ef,_0x1aac39['c']=_0x176072,_0x1aac39['d']=function(_0xcb9b64,_0x3de40a,_0x1cd931){_0x1aac39['o'](_0xcb9b64,_0x3de40a)||Object['defineProperty'](_0xcb9b64,_0x3de40a,{'enumerable':!0x0,'get':_0x1cd931});},_0x1aac39['r']=function(_0x5a2545){a0_0x4b6c('0x108')!=typeof Symbol&&Symbol[a0_0x4b6c('0x24')]&&Object[a0_0x4b6c('0x28')](_0x5a2545,Symbol[a0_0x4b6c('0x24')],{'value':a0_0x4b6c('0x161')}),Object['defineProperty'](_0x5a2545,a0_0x4b6c('0x128'),{'value':!0x0});},_0x1aac39['t']=function(_0x48595c,_0x2a808c){if(0x1&_0x2a808c&&(_0x48595c=_0x1aac39(_0x48595c)),0x8&_0x2a808c)return _0x48595c;if(0x4&_0x2a808c&&a0_0x4b6c('0x12f')==typeof _0x48595c&&_0x48595c&&_0x48595c[a0_0x4b6c('0x128')])return _0x48595c;var _0x4c04dc=Object['create'](null);if(_0x1aac39['r'](_0x4c04dc),Object['defineProperty'](_0x4c04dc,a0_0x4b6c('0xae'),{'enumerable':!0x0,'value':_0x48595c}),0x2&_0x2a808c&&a0_0x4b6c('0xe')!=typeof _0x48595c)for(var _0x37d992 in _0x48595c)_0x1aac39['d'](_0x4c04dc,_0x37d992,function(_0x557fb4){return _0x48595c[_0x557fb4];}[a0_0x4b6c('0x149')](null,_0x37d992));return _0x4c04dc;},_0x1aac39['n']=function(_0x5886e6){var _0x1cff96=_0x5886e6&&_0x5886e6['__esModule']?function(){return _0x5886e6[a0_0x4b6c('0xae')];}:function(){return _0x5886e6;};return _0x1aac39['d'](_0x1cff96,'a',_0x1cff96),_0x1cff96;},_0x1aac39['o']=function(_0x11758d,_0x378b2c){return Object[a0_0x4b6c('0x75')]['hasOwnProperty'][a0_0x4b6c('0x76')](_0x11758d,_0x378b2c);},_0x1aac39['p']='',_0x1aac39(_0x1aac39['s']=0x14);}([function(_0x4f7b8c,_0x103443){_0x4f7b8c[a0_0x4b6c('0x135')]=_0x250a47;},function(_0x2d7ee4,_0x2de933){_0x2d7ee4[a0_0x4b6c('0x135')]=function(_0x584210,_0xb5289){if(!(_0x584210 instanceof _0xb5289))throw new TypeError(a0_0x4b6c('0x8f'));};},function(_0x191840,_0x469ca2){function _0x19e540(_0x1b942e,_0x520257){for(var _0x23b197=0x0;_0x23b197<_0x520257[a0_0x4b6c('0x130')];_0x23b197++){var _0x4f16d1=_0x520257[_0x23b197];_0x4f16d1['enumerable']=_0x4f16d1['enumerable']||!0x1,_0x4f16d1[a0_0x4b6c('0x169')]=!0x0,a0_0x4b6c('0x10c')in _0x4f16d1&&(_0x4f16d1[a0_0x4b6c('0x119')]=!0x0),Object[a0_0x4b6c('0x28')](_0x1b942e,_0x4f16d1['key'],_0x4f16d1);}}_0x191840[a0_0x4b6c('0x135')]=function(_0x26645d,_0xa62a51,_0x285f4d){return _0xa62a51&&_0x19e540(_0x26645d[a0_0x4b6c('0x75')],_0xa62a51),_0x285f4d&&_0x19e540(_0x26645d,_0x285f4d),_0x26645d;};},function(_0x132a43,_0x21dc7b){_0x132a43[a0_0x4b6c('0x135')]=_0x69c886;},function(_0x4bfed6,_0x288560){function _0x2b19e2(_0x5de964){return _0x4bfed6['exports']=_0x2b19e2=Object[a0_0x4b6c('0xc4')]?Object[a0_0x4b6c('0x125')]:function(_0x13d145){return _0x13d145['__proto__']||Object[a0_0x4b6c('0x125')](_0x13d145);},_0x2b19e2(_0x5de964);}_0x4bfed6[a0_0x4b6c('0x135')]=_0x2b19e2;},function(_0x1416e6,_0x1bbbc4,_0xdd5e20){var _0x292532=_0xdd5e20(0x11);_0x1416e6[a0_0x4b6c('0x135')]=function(_0x301ccf,_0x297921){if(a0_0x4b6c('0x37')!=typeof _0x297921&&null!==_0x297921)throw new TypeError(a0_0x4b6c('0xeb'));_0x301ccf[a0_0x4b6c('0x75')]=Object[a0_0x4b6c('0x14')](_0x297921&&_0x297921['prototype'],{'constructor':{'value':_0x301ccf,'writable':!0x0,'configurable':!0x0}}),_0x297921&&_0x292532(_0x301ccf,_0x297921);};},function(_0x403832,_0x292ec8,_0x5b5040){var _0x410e8d=_0x5b5040(0x12),_0xa230a4=_0x5b5040(0x13);_0x403832['exports']=function(_0x5e75be,_0x58651a){return!_0x58651a||a0_0x4b6c('0x12f')!==_0x410e8d(_0x58651a)&&a0_0x4b6c('0x37')!=typeof _0x58651a?_0xa230a4(_0x5e75be):_0x58651a;};},function(_0x64c165,_0x2fb4ed){_0x64c165[a0_0x4b6c('0x135')]=a0_0x4b6c('0x0');},function(_0x4acdf3,_0x1e16d5){_0x4acdf3[a0_0x4b6c('0x135')]=a0_0x4b6c('0x8a');},function(_0x48a9ae,_0x2db3b8){_0x48a9ae[a0_0x4b6c('0x135')]='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}';},function(_0xb33253,_0x5d611f){_0xb33253[a0_0x4b6c('0x135')]=a0_0x4b6c('0x77');},function(_0x45f3a1,_0x4ea539){_0x45f3a1[a0_0x4b6c('0x135')]=a0_0x4b6c('0xba');},function(_0x2311c6,_0x18c541){_0x2311c6[a0_0x4b6c('0x135')]=a0_0x4b6c('0x7d');},function(_0x10e581,_0x47302c){_0x10e581[a0_0x4b6c('0x135')]='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(_0x54af88,_0x43cebb){_0x54af88['exports']=a0_0x4b6c('0xf1');},function(_0x37665e,_0x42dc57){_0x37665e[a0_0x4b6c('0x135')]=a0_0x4b6c('0xe3');},function(_0x4e67a6,_0x2b455f){_0x4e67a6[a0_0x4b6c('0x135')]=a0_0x4b6c('0xec');},function(_0x2a6569,_0x4c8770){function _0x547e42(_0x2c6fc8,_0x438d20){return _0x2a6569['exports']=_0x547e42=Object[a0_0x4b6c('0xc4')]||function(_0x5cf952,_0x84c2eb){return _0x5cf952[a0_0x4b6c('0x16d')]=_0x84c2eb,_0x5cf952;},_0x547e42(_0x2c6fc8,_0x438d20);}_0x2a6569[a0_0x4b6c('0x135')]=_0x547e42;},function(_0x42027a,_0x1be32d){function _0x1100fa(_0x56a6d6){return a0_0x4b6c('0x37')==typeof Symbol&&a0_0x4b6c('0x6b')==typeof Symbol[a0_0x4b6c('0x142')]?_0x42027a['exports']=_0x1100fa=function(_0x15eac5){return typeof _0x15eac5;}:_0x42027a[a0_0x4b6c('0x135')]=_0x1100fa=function(_0x1cfdb0){return _0x1cfdb0&&a0_0x4b6c('0x37')==typeof Symbol&&_0x1cfdb0[a0_0x4b6c('0x4')]===Symbol&&_0x1cfdb0!==Symbol['prototype']?a0_0x4b6c('0x6b'):typeof _0x1cfdb0;},_0x1100fa(_0x56a6d6);}_0x42027a[a0_0x4b6c('0x135')]=_0x1100fa;},function(_0x62ea07,_0xcf8cae){_0x62ea07['exports']=function(_0x3d8fe3){if(void 0x0===_0x3d8fe3)throw new ReferenceError(a0_0x4b6c('0xc9'));return _0x3d8fe3;};},function(_0x36a333,_0x56699d,_0x4c6152){'use strict';_0x4c6152['r'](_0x56699d),_0x4c6152['d'](_0x56699d,a0_0x4b6c('0xbc'),function(){return _0x18a70d;}),_0x4c6152['d'](_0x56699d,a0_0x4b6c('0x36'),function(){return _0x15afc4;}),_0x4c6152['d'](_0x56699d,a0_0x4b6c('0x1b'),function(){return _0xa23ae8;});var _0xa23ae8={};_0x4c6152['r'](_0xa23ae8),_0x4c6152['d'](_0xa23ae8,a0_0x4b6c('0x41'),function(){return _0x2929f4;}),_0x4c6152['d'](_0xa23ae8,a0_0x4b6c('0x166'),function(){return _0x2cf9ce;}),_0x4c6152['d'](_0xa23ae8,a0_0x4b6c('0x54'),function(){return _0x2511ea;}),_0x4c6152['d'](_0xa23ae8,a0_0x4b6c('0x114'),function(){return _0x326399;});var _0x24da1e=_0x4c6152(0x3),_0x52f496=_0x4c6152(0x1),_0x44f553=_0x4c6152['n'](_0x52f496),_0x519801=_0x4c6152(0x2),_0x558324=_0x4c6152['n'](_0x519801),_0x464b9a=_0x4c6152(0x5),_0x24516e=_0x4c6152['n'](_0x464b9a),_0x5893b7=_0x4c6152(0x6),_0x4d5caa=_0x4c6152['n'](_0x5893b7),_0x2ab892=_0x4c6152(0x4),_0x1c84db=_0x4c6152['n'](_0x2ab892),_0x45f28c=_0x4c6152(0x0),_0x44d579=function(){function _0x1e7a5d(_0x40c87f){_0x44f553()(this,_0x1e7a5d),this['commandType']=_0x40c87f[a0_0x4b6c('0x14a')],this['geometry']=_0x40c87f[a0_0x4b6c('0x6e')],this['attributeLocations']=_0x40c87f[a0_0x4b6c('0xc6')],this['primitiveType']=_0x40c87f['primitiveType'],this['uniformMap']=_0x40c87f[a0_0x4b6c('0x14b')],this[a0_0x4b6c('0x53')]=_0x40c87f[a0_0x4b6c('0x53')],this[a0_0x4b6c('0xd2')]=_0x40c87f[a0_0x4b6c('0xd2')],this[a0_0x4b6c('0x52')]=_0x40c87f['rawRenderState'],this[a0_0x4b6c('0x140')]=_0x40c87f[a0_0x4b6c('0x140')],this[a0_0x4b6c('0x12d')]=_0x40c87f[a0_0x4b6c('0x12d')],this[a0_0x4b6c('0xa1')]=_0x45f28c[a0_0x4b6c('0x9b')](_0x40c87f[a0_0x4b6c('0xa1')],!0x1),this[a0_0x4b6c('0x13b')]=_0x40c87f[a0_0x4b6c('0x13b')],this[a0_0x4b6c('0x27')]=!0x0,this[a0_0x4b6c('0x9d')]=void 0x0,this[a0_0x4b6c('0xed')]=void 0x0,this['autoClear']&&(this[a0_0x4b6c('0xed')]=new _0x45f28c[(a0_0x4b6c('0xf5'))]({'color':new _0x45f28c['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[a0_0x4b6c('0x140')],'pass':_0x45f28c[a0_0x4b6c('0x10a')][a0_0x4b6c('0x8')]}));}return _0x558324()(_0x1e7a5d,[{'key':a0_0x4b6c('0x6'),'value':function(_0x2d0508){switch(this[a0_0x4b6c('0x14a')]){case a0_0x4b6c('0x5e'):var _0x560361=_0x45f28c[a0_0x4b6c('0xe4')][a0_0x4b6c('0x15c')]({'context':_0x2d0508,'geometry':this[a0_0x4b6c('0x6e')],'attributeLocations':this[a0_0x4b6c('0xc6')],'bufferUsage':_0x45f28c[a0_0x4b6c('0x6c')][a0_0x4b6c('0xd')]}),_0x2ac1bb=_0x45f28c[a0_0x4b6c('0x21')][a0_0x4b6c('0xe5')]({'context':_0x2d0508,'attributeLocations':this[a0_0x4b6c('0xc6')],'vertexShaderSource':this[a0_0x4b6c('0x53')],'fragmentShaderSource':this['fragmentShaderSource']}),_0x20ef6e=_0x45f28c['RenderState']['fromCache'](this['rawRenderState']);return new _0x45f28c['DrawCommand']({'owner':this,'vertexArray':_0x560361,'primitiveType':this['primitiveType'],'uniformMap':this['uniformMap'],'modelMatrix':_0x45f28c[a0_0x4b6c('0xbd')][a0_0x4b6c('0x15')],'shaderProgram':_0x2ac1bb,'framebuffer':this['framebuffer'],'renderState':_0x20ef6e,'pass':_0x45f28c[a0_0x4b6c('0x10a')][a0_0x4b6c('0x8')]});case'Compute':return new _0x45f28c['ComputeCommand']({'owner':this,'fragmentShaderSource':this[a0_0x4b6c('0xd2')],'uniformMap':this[a0_0x4b6c('0x14b')],'outputTexture':this['outputTexture'],'persists':!0x0});}}},{'key':'setGeometry','value':function(_0x5a0d90,_0x560486){this[a0_0x4b6c('0x6e')]=_0x560486;var _0x33cc9a=_0x45f28c[a0_0x4b6c('0xe4')][a0_0x4b6c('0x15c')]({'context':_0x5a0d90,'geometry':this[a0_0x4b6c('0x6e')],'attributeLocations':this[a0_0x4b6c('0xc6')],'bufferUsage':_0x45f28c[a0_0x4b6c('0x6c')][a0_0x4b6c('0xd')]});this['commandToExecute'][a0_0x4b6c('0x15d')]=_0x33cc9a;}},{'key':a0_0x4b6c('0x14f'),'value':function(_0x382f7f){this[a0_0x4b6c('0x27')]&&_0x382f7f[a0_0x4b6c('0xff')]==_0x45f28c[a0_0x4b6c('0xda')][a0_0x4b6c('0xe2')]&&(_0x45f28c['defined'](this[a0_0x4b6c('0x9d')])||(this[a0_0x4b6c('0x9d')]=this['createCommand'](_0x382f7f[a0_0x4b6c('0x3')])),_0x45f28c['defined'](this[a0_0x4b6c('0x13b')])&&this[a0_0x4b6c('0x13b')](),_0x45f28c['defined'](this[a0_0x4b6c('0xed')])&&_0x382f7f[a0_0x4b6c('0x18')][a0_0x4b6c('0xb0')](this[a0_0x4b6c('0xed')]),_0x382f7f[a0_0x4b6c('0x18')][a0_0x4b6c('0xb0')](this[a0_0x4b6c('0x9d')]));}},{'key':a0_0x4b6c('0x68'),'value':function(){return!0x1;}},{'key':a0_0x4b6c('0xa5'),'value':function(){return _0x45f28c[a0_0x4b6c('0x8e')](this[a0_0x4b6c('0x9d')])&&(this[a0_0x4b6c('0x9d')]['shaderProgram']=this[a0_0x4b6c('0x9d')]['shaderProgram']&&this[a0_0x4b6c('0x9d')][a0_0x4b6c('0xfb')]['destroy']()),_0x45f28c[a0_0x4b6c('0x51')](this);}}]),_0x1e7a5d;}(),_0x51d963={'getFullscreenQuad':function(){return new _0x45f28c['Geometry']({'attributes':new _0x45f28c[(a0_0x4b6c('0x22'))]({'position':new _0x45f28c[(a0_0x4b6c('0x7c'))]({'componentDatatype':_0x45f28c[a0_0x4b6c('0xf0')]['FLOAT'],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new _0x45f28c[(a0_0x4b6c('0x7c'))]({'componentDatatype':_0x45f28c[a0_0x4b6c('0xf0')]['FLOAT'],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});},'createTexture':function(_0x1dfefa,_0x448abb){if(_0x45f28c[a0_0x4b6c('0x8e')](_0x448abb)){var _0x223922={};_0x223922[a0_0x4b6c('0xfa')]=_0x448abb,_0x1dfefa[a0_0x4b6c('0xb3')]=_0x223922;}return new _0x45f28c[(a0_0x4b6c('0x1c'))](_0x1dfefa);},'createFramebuffer':function(_0x483fb5,_0x6e75d3,_0xdfde64){return new _0x45f28c[(a0_0x4b6c('0x81'))]({'context':_0x483fb5,'colorTextures':[_0x6e75d3],'depthTexture':_0xdfde64});},'createRawRenderState':function(_0x2100e7){var _0x447840={'viewport':_0x2100e7['viewport'],'depthTest':_0x2100e7[a0_0x4b6c('0x13c')],'depthMask':_0x2100e7[a0_0x4b6c('0x85')],'blending':_0x2100e7[a0_0x4b6c('0x60')]};return _0x45f28c[a0_0x4b6c('0xe7')][a0_0x4b6c('0xbb')](!0x0,!0x1,_0x447840);},'viewRectangleToLonLatRange':function(_0x5f0e76){var _0x28099d,_0x1f6fd6,_0x34e88b={},_0x3f388b=_0x45f28c[a0_0x4b6c('0x15a')][a0_0x4b6c('0x33')](_0x5f0e76[a0_0x4b6c('0xa')],_0x45f28c['Math']['TWO_PI']),_0x2ad59a=_0x45f28c['Math'][a0_0x4b6c('0x33')](_0x5f0e76[a0_0x4b6c('0x102')],_0x45f28c[a0_0x4b6c('0x15a')][a0_0x4b6c('0x12e')]),_0x237841=_0x5f0e76[a0_0x4b6c('0xd8')];_0x237841>_0x45f28c[a0_0x4b6c('0x15a')][a0_0x4b6c('0x11')]?(_0x28099d=0x0,_0x1f6fd6=_0x45f28c[a0_0x4b6c('0x15a')][a0_0x4b6c('0x12e')]):_0x2ad59a-_0x3f388b<_0x237841?(_0x28099d=_0x3f388b,_0x1f6fd6=_0x3f388b+_0x237841):(_0x28099d=_0x3f388b,_0x1f6fd6=_0x2ad59a),_0x34e88b['lon']={'min':_0x45f28c['Math'][a0_0x4b6c('0x95')](_0x28099d),'max':_0x45f28c['Math']['toDegrees'](_0x1f6fd6)};var _0x33f3fb=_0x5f0e76[a0_0x4b6c('0x55')],_0x547939=_0x5f0e76[a0_0x4b6c('0x23')],_0x57fcec=_0x5f0e76[a0_0x4b6c('0x3a')],_0x32655d=_0x57fcec>_0x45f28c[a0_0x4b6c('0x15a')]['PI']/0xc?_0x57fcec/0x2:0x0,_0x260099=_0x45f28c[a0_0x4b6c('0x15a')]['clampToLatitudeRange'](_0x33f3fb-_0x32655d),_0x4abd2a=_0x45f28c[a0_0x4b6c('0x15a')][a0_0x4b6c('0x5c')](_0x547939+_0x32655d);return _0x260099<-_0x45f28c[a0_0x4b6c('0x15a')][a0_0x4b6c('0x11d')]&&(_0x260099=-_0x45f28c['Math'][a0_0x4b6c('0x106')]),_0x4abd2a>_0x45f28c[a0_0x4b6c('0x15a')][a0_0x4b6c('0x11d')]&&(_0x4abd2a=_0x45f28c[a0_0x4b6c('0x15a')][a0_0x4b6c('0x106')]),_0x34e88b[a0_0x4b6c('0x127')]={'min':_0x45f28c[a0_0x4b6c('0x15a')][a0_0x4b6c('0x95')](_0x260099),'max':_0x45f28c[a0_0x4b6c('0x15a')][a0_0x4b6c('0x95')](_0x4abd2a)},_0x34e88b;}},_0x188e99=_0x4c6152(0x8),_0x3c5cb0=_0x4c6152['n'](_0x188e99),_0x225147=_0x4c6152(0x9),_0x924ed4=_0x4c6152['n'](_0x225147),_0x1ae57a=_0x4c6152(0x7),_0x39c92e=_0x4c6152['n'](_0x1ae57a),_0x5db640=_0x4c6152(0xa),_0x48d08f=_0x4c6152['n'](_0x5db640),_0x11390d=_0x4c6152(0xb),_0x456710=_0x4c6152['n'](_0x11390d),_0x35e332=function(){function _0x5063c1(_0x1eb00c,_0x40ebed,_0x125c83,_0x325396,_0x272bfa){_0x44f553()(this,_0x5063c1),this[a0_0x4b6c('0x93')](_0x1eb00c,_0x40ebed),this[a0_0x4b6c('0x105')](_0x1eb00c),this[a0_0x4b6c('0x69')](_0x1eb00c,_0x125c83,_0x325396,_0x272bfa);}return _0x558324()(_0x5063c1,[{'key':a0_0x4b6c('0x93'),'value':function(_0x1f5368,_0x2419ad){var _0xfbf4f0={'context':_0x1f5368,'width':_0x1f5368[a0_0x4b6c('0x2c')],'height':_0x1f5368[a0_0x4b6c('0xf6')],'pixelFormat':_0x45f28c[a0_0x4b6c('0x103')][a0_0x4b6c('0xc')],'pixelDatatype':_0x45f28c[a0_0x4b6c('0x5b')][a0_0x4b6c('0x78')]},_0x1d376c={'context':_0x1f5368,'width':_0x1f5368['drawingBufferWidth'],'height':_0x1f5368[a0_0x4b6c('0xf6')],'pixelFormat':_0x45f28c[a0_0x4b6c('0x103')][a0_0x4b6c('0x74')],'pixelDatatype':_0x45f28c[a0_0x4b6c('0x5b')][a0_0x4b6c('0xf8')]},_0x1c21a6={'context':_0x1f5368,'width':_0x2419ad[a0_0x4b6c('0x3d')][a0_0x4b6c('0x7')],'height':0x1,'pixelFormat':_0x45f28c['PixelFormat']['RGB'],'pixelDatatype':_0x45f28c[a0_0x4b6c('0x5b')][a0_0x4b6c('0x59')],'sampler':new _0x45f28c[(a0_0x4b6c('0xc7'))]({'minificationFilter':_0x45f28c[a0_0x4b6c('0x1e')]['LINEAR'],'magnificationFilter':_0x45f28c[a0_0x4b6c('0x43')]['LINEAR']})};this[a0_0x4b6c('0x44')]={'segmentsColor':_0x51d963[a0_0x4b6c('0x71')](_0xfbf4f0),'segmentsDepth':_0x51d963['createTexture'](_0x1d376c),'currentTrailsColor':_0x51d963[a0_0x4b6c('0x71')](_0xfbf4f0),'currentTrailsDepth':_0x51d963['createTexture'](_0x1d376c),'nextTrailsColor':_0x51d963['createTexture'](_0xfbf4f0),'nextTrailsDepth':_0x51d963[a0_0x4b6c('0x71')](_0x1d376c),'colorTable':_0x51d963['createTexture'](_0x1c21a6,_0x2419ad['colorTable']['array'])};}},{'key':a0_0x4b6c('0x105'),'value':function(_0x43a9c5){this[a0_0x4b6c('0x143')]={'segments':_0x51d963[a0_0x4b6c('0x111')](_0x43a9c5,this['textures'][a0_0x4b6c('0x11b')],this[a0_0x4b6c('0x44')][a0_0x4b6c('0xa6')]),'currentTrails':_0x51d963[a0_0x4b6c('0x111')](_0x43a9c5,this[a0_0x4b6c('0x44')][a0_0x4b6c('0x39')],this[a0_0x4b6c('0x44')][a0_0x4b6c('0xe6')]),'nextTrails':_0x51d963['createFramebuffer'](_0x43a9c5,this['textures'][a0_0x4b6c('0x162')],this['textures'][a0_0x4b6c('0xb1')])};}},{'key':a0_0x4b6c('0x113'),'value':function(_0x55f5e6){for(var _0x19f80d=[],_0x5664b6=0x0;_0x5664b6<_0x55f5e6[a0_0x4b6c('0x9')];_0x5664b6++)for(var _0x1050a5=0x0;_0x1050a5<_0x55f5e6[a0_0x4b6c('0x9')];_0x1050a5++)for(var _0x4c0da4=0x0;_0x4c0da4<0x4;_0x4c0da4++)_0x19f80d[a0_0x4b6c('0xb0')](_0x5664b6/_0x55f5e6[a0_0x4b6c('0x9')]),_0x19f80d[a0_0x4b6c('0xb0')](_0x1050a5/_0x55f5e6[a0_0x4b6c('0x9')]);_0x19f80d=new Float32Array(_0x19f80d);for(var _0x1a285b=[],_0x1afbe8=[-0x1,0x1],_0x688130=[-0x1,0x1],_0x594455=0x0;_0x594455<_0x55f5e6[a0_0x4b6c('0x156')];_0x594455++)for(var _0x4bb6fd=0x0;_0x4bb6fd<0x2;_0x4bb6fd++)for(var _0x24dc9e=0x0;_0x24dc9e<0x2;_0x24dc9e++)_0x1a285b[a0_0x4b6c('0xb0')](_0x1afbe8[_0x4bb6fd]),_0x1a285b['push'](_0x688130[_0x24dc9e]),_0x1a285b[a0_0x4b6c('0xb0')](0x0);_0x1a285b=new Float32Array(_0x1a285b);for(var _0x2248f1=0x6*_0x55f5e6[a0_0x4b6c('0x156')],_0x516744=new Uint32Array(_0x2248f1),_0x4d69cb=0x0,_0x43aaed=0x0,_0x3e327d=0x0;_0x4d69cb<_0x55f5e6[a0_0x4b6c('0x156')];_0x4d69cb++)_0x516744[_0x43aaed++]=_0x3e327d+0x0,_0x516744[_0x43aaed++]=_0x3e327d+0x1,_0x516744[_0x43aaed++]=_0x3e327d+0x2,_0x516744[_0x43aaed++]=_0x3e327d+0x2,_0x516744[_0x43aaed++]=_0x3e327d+0x1,_0x516744[_0x43aaed++]=_0x3e327d+0x3,_0x3e327d+=0x4;return new _0x45f28c['Geometry']({'attributes':new _0x45f28c['GeometryAttributes']({'st':new _0x45f28c['GeometryAttribute']({'componentDatatype':_0x45f28c[a0_0x4b6c('0xf0')][a0_0x4b6c('0x59')],'componentsPerAttribute':0x2,'values':_0x19f80d}),'normal':new _0x45f28c[(a0_0x4b6c('0x7c'))]({'componentDatatype':_0x45f28c[a0_0x4b6c('0xf0')][a0_0x4b6c('0x59')],'componentsPerAttribute':0x3,'values':_0x1a285b})}),'indices':_0x516744});}},{'key':a0_0x4b6c('0x69'),'value':function(_0x251dbb,_0x35f655,_0x5d0a50,_0x4fc116){var _0x2561b7=this;this[a0_0x4b6c('0x9e')]={'segments':new _0x44d579({'commandType':a0_0x4b6c('0x5e'),'attributeLocations':{'st':0x0,'normal':0x1},'geometry':this[a0_0x4b6c('0x113')](_0x35f655),'primitiveType':_0x45f28c['PrimitiveType'][a0_0x4b6c('0x38')],'uniformMap':{'currentParticlesPosition':function(){return _0x4fc116[a0_0x4b6c('0x34')][a0_0x4b6c('0x70')];},'postProcessingPosition':function(){return _0x4fc116[a0_0x4b6c('0x34')][a0_0x4b6c('0x91')];},'postProcessingSpeed':function(){return _0x4fc116[a0_0x4b6c('0x34')][a0_0x4b6c('0x5a')];},'colorTable':function(){return _0x2561b7['textures'][a0_0x4b6c('0x3d')];},'aspect':function(){return _0x251dbb[a0_0x4b6c('0x2c')]/_0x251dbb[a0_0x4b6c('0xf6')];},'pixelSize':function(){return _0x5d0a50['pixelSize'];},'lineWidth':function(){return _0x35f655['lineWidth'];},'particleHeight':function(){return _0x35f655[a0_0x4b6c('0x118')];}},'vertexShaderSource':new _0x45f28c[(a0_0x4b6c('0x12c'))]({'sources':[_0x3c5cb0['a']]}),'fragmentShaderSource':new _0x45f28c[(a0_0x4b6c('0x12c'))]({'sources':[_0x924ed4['a']]}),'rawRenderState':_0x51d963[a0_0x4b6c('0x89')]({'viewport':void 0x0,'depthTest':{'enabled':!0x0},'depthMask':!0x0}),'framebuffer':this[a0_0x4b6c('0x143')][a0_0x4b6c('0x141')],'autoClear':!0x0}),'trails':new _0x44d579({'commandType':'Draw','attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x51d963[a0_0x4b6c('0x63')](),'primitiveType':_0x45f28c[a0_0x4b6c('0x9c')][a0_0x4b6c('0x38')],'uniformMap':{'segmentsColorTexture':function(){return _0x2561b7[a0_0x4b6c('0x44')][a0_0x4b6c('0x11b')];},'segmentsDepthTexture':function(){return _0x2561b7[a0_0x4b6c('0x44')]['segmentsDepth'];},'currentTrailsColor':function(){return _0x2561b7[a0_0x4b6c('0x143')][a0_0x4b6c('0x155')][a0_0x4b6c('0x9f')](0x0);},'trailsDepthTexture':function(){return _0x2561b7[a0_0x4b6c('0x143')]['currentTrails'][a0_0x4b6c('0xf')];},'fadeOpacity':function(){return _0x35f655[a0_0x4b6c('0x9a')];}},'vertexShaderSource':new _0x45f28c[(a0_0x4b6c('0x12c'))]({'defines':[a0_0x4b6c('0xd3')],'sources':[_0x39c92e['a']]}),'fragmentShaderSource':new _0x45f28c[(a0_0x4b6c('0x12c'))]({'defines':[a0_0x4b6c('0x5')],'sources':[_0x48d08f['a']]}),'rawRenderState':_0x51d963[a0_0x4b6c('0x89')]({'viewport':void 0x0,'depthTest':{'enabled':!0x0,'func':_0x45f28c[a0_0x4b6c('0x4c')]['ALWAYS']},'depthMask':!0x0}),'framebuffer':this[a0_0x4b6c('0x143')]['nextTrails'],'autoClear':!0x0,'preExecute':function(){var _0x296c2b;_0x296c2b=_0x2561b7[a0_0x4b6c('0x143')][a0_0x4b6c('0x155')],_0x2561b7[a0_0x4b6c('0x143')][a0_0x4b6c('0x155')]=_0x2561b7['framebuffers'][a0_0x4b6c('0x94')],_0x2561b7[a0_0x4b6c('0x143')][a0_0x4b6c('0x94')]=_0x296c2b,_0x2561b7['primitives'][a0_0x4b6c('0xee')][a0_0x4b6c('0x9d')]['framebuffer']=_0x2561b7['framebuffers'][a0_0x4b6c('0x94')],_0x2561b7[a0_0x4b6c('0x9e')][a0_0x4b6c('0xee')]['clearCommand'][a0_0x4b6c('0x140')]=_0x2561b7[a0_0x4b6c('0x143')][a0_0x4b6c('0x94')];}}),'screen':new _0x44d579({'commandType':a0_0x4b6c('0x5e'),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x51d963[a0_0x4b6c('0x63')](),'primitiveType':_0x45f28c[a0_0x4b6c('0x9c')]['TRIANGLES'],'uniformMap':{'trailsColorTexture':function(){return _0x2561b7[a0_0x4b6c('0x143')]['nextTrails'][a0_0x4b6c('0x9f')](0x0);},'trailsDepthTexture':function(){return _0x2561b7[a0_0x4b6c('0x143')][a0_0x4b6c('0x94')]['depthTexture'];}},'vertexShaderSource':new _0x45f28c[(a0_0x4b6c('0x12c'))]({'defines':[a0_0x4b6c('0xd3')],'sources':[_0x39c92e['a']]}),'fragmentShaderSource':new _0x45f28c[(a0_0x4b6c('0x12c'))]({'defines':[a0_0x4b6c('0x5')],'sources':[_0x456710['a']]}),'rawRenderState':_0x51d963[a0_0x4b6c('0x89')]({'viewport':void 0x0,'depthTest':{'enabled':!0x1},'depthMask':!0x0,'blending':{'enabled':!0x0}}),'framebuffer':void 0x0})};}}]),_0x5063c1;}(),_0x6cdfa2=_0x4c6152(0xc),_0x441ea2=_0x4c6152['n'](_0x6cdfa2),_0x1fc610=_0x4c6152(0xd),_0x23188c=_0x4c6152['n'](_0x1fc610),_0x4dcca8=_0x4c6152(0xe),_0x19df39=_0x4c6152['n'](_0x4dcca8),_0x14cddb=_0x4c6152(0xf),_0x3087ae=_0x4c6152['n'](_0x14cddb),_0x3c7a11=_0x4c6152(0x10),_0x16c2b9=_0x4c6152['n'](_0x3c7a11),_0x1d2dae=function(){function _0x26fd31(_0x5b964e,_0x305e20,_0x409007,_0x1172db){_0x44f553()(this,_0x26fd31),this['data']=_0x305e20,this['createWindTextures'](_0x5b964e,_0x305e20),this[a0_0x4b6c('0x4b')](_0x5b964e,_0x409007,_0x1172db),this[a0_0x4b6c('0x84')](_0x305e20,_0x409007,_0x1172db);}return _0x558324()(_0x26fd31,[{'key':a0_0x4b6c('0x6a'),'value':function(_0x18e9c1,_0x5973b0){var _0x161b0f={'context':_0x18e9c1,'width':_0x5973b0['dimensions'][a0_0x4b6c('0xfc')],'height':_0x5973b0[a0_0x4b6c('0x163')]['lat']*_0x5973b0['dimensions']['lev'],'pixelFormat':_0x45f28c[a0_0x4b6c('0x103')][a0_0x4b6c('0x160')],'pixelDatatype':_0x45f28c[a0_0x4b6c('0x5b')][a0_0x4b6c('0x59')],'flipY':!0x1,'sampler':new _0x45f28c[(a0_0x4b6c('0xc7'))]({'minificationFilter':_0x45f28c[a0_0x4b6c('0x1e')][a0_0x4b6c('0x46')],'magnificationFilter':_0x45f28c['TextureMagnificationFilter'][a0_0x4b6c('0x46')]})};this[a0_0x4b6c('0xca')]={'U':_0x51d963['createTexture'](_0x161b0f,_0x5973b0['U'][a0_0x4b6c('0x115')]),'V':_0x51d963['createTexture'](_0x161b0f,_0x5973b0['V'][a0_0x4b6c('0x115')])};}},{'key':a0_0x4b6c('0x4b'),'value':function(_0x17a3a2,_0xbd5bbd,_0x4332c9){var _0x112662={'context':_0x17a3a2,'width':_0xbd5bbd[a0_0x4b6c('0x9')],'height':_0xbd5bbd[a0_0x4b6c('0x9')],'pixelFormat':_0x45f28c['PixelFormat'][a0_0x4b6c('0xc')],'pixelDatatype':_0x45f28c['PixelDatatype'][a0_0x4b6c('0x59')],'flipY':!0x1,'sampler':new _0x45f28c[(a0_0x4b6c('0xc7'))]({'minificationFilter':_0x45f28c[a0_0x4b6c('0x1e')][a0_0x4b6c('0x46')],'magnificationFilter':_0x45f28c['TextureMagnificationFilter'][a0_0x4b6c('0x46')]})},_0x1e751d=this['randomizeParticles'](_0xbd5bbd['maxParticles'],_0x4332c9),_0x295c10=new Float32Array(0x4*_0xbd5bbd[a0_0x4b6c('0x156')])[a0_0x4b6c('0x151')](0x0);this[a0_0x4b6c('0x34')]={'particlesWind':_0x51d963['createTexture'](_0x112662),'currentParticlesPosition':_0x51d963['createTexture'](_0x112662,_0x1e751d),'nextParticlesPosition':_0x51d963[a0_0x4b6c('0x71')](_0x112662,_0x1e751d),'currentParticlesSpeed':_0x51d963[a0_0x4b6c('0x71')](_0x112662,_0x295c10),'nextParticlesSpeed':_0x51d963[a0_0x4b6c('0x71')](_0x112662,_0x295c10),'postProcessingPosition':_0x51d963['createTexture'](_0x112662,_0x1e751d),'postProcessingSpeed':_0x51d963[a0_0x4b6c('0x71')](_0x112662,_0x295c10)};}},{'key':'randomizeParticles','value':function(_0x4107d2,_0x403e17){for(var _0x5005bf=new Float32Array(0x4*_0x4107d2),_0x27e3ab=0x0;_0x27e3ab<_0x4107d2;_0x27e3ab++)_0x5005bf[0x4*_0x27e3ab]=_0x45f28c[a0_0x4b6c('0x15a')]['randomBetween'](_0x403e17[a0_0x4b6c('0x3c')]['x'],_0x403e17[a0_0x4b6c('0x3c')]['y']),_0x5005bf[0x4*_0x27e3ab+0x1]=_0x45f28c[a0_0x4b6c('0x15a')]['randomBetween'](_0x403e17['latRange']['x'],_0x403e17[a0_0x4b6c('0x144')]['y']),_0x5005bf[0x4*_0x27e3ab+0x2]=_0x45f28c[a0_0x4b6c('0x15a')][a0_0x4b6c('0x65')](this[a0_0x4b6c('0x26')][a0_0x4b6c('0x148')][a0_0x4b6c('0xa4')],this[a0_0x4b6c('0x26')][a0_0x4b6c('0x148')]['max']),_0x5005bf[0x4*_0x27e3ab+0x3]=0x0;return _0x5005bf;}},{'key':a0_0x4b6c('0xea'),'value':function(){var _0x4b0958=this;Object[a0_0x4b6c('0x72')](this[a0_0x4b6c('0x34')])['forEach'](function(_0x541e9c){_0x4b0958['particlesTextures'][_0x541e9c][a0_0x4b6c('0xa5')]();});}},{'key':a0_0x4b6c('0x84'),'value':function(_0x29d858,_0x59ff7e,_0x80adf2){var _0x8550c9=new _0x45f28c['Cartesian3'](_0x29d858[a0_0x4b6c('0x163')][a0_0x4b6c('0xfc')],_0x29d858[a0_0x4b6c('0x163')][a0_0x4b6c('0x127')],_0x29d858[a0_0x4b6c('0x163')][a0_0x4b6c('0x148')]),_0x2a29fd=new _0x45f28c[(a0_0x4b6c('0xe9'))](_0x29d858[a0_0x4b6c('0xfc')][a0_0x4b6c('0xa4')],_0x29d858[a0_0x4b6c('0x127')]['min'],_0x29d858['lev'][a0_0x4b6c('0xa4')]),_0x59aee1=new _0x45f28c[(a0_0x4b6c('0xe9'))](_0x29d858['lon'][a0_0x4b6c('0xdd')],_0x29d858[a0_0x4b6c('0x127')][a0_0x4b6c('0xdd')],_0x29d858[a0_0x4b6c('0x148')][a0_0x4b6c('0xdd')]),_0x3facec=new _0x45f28c[(a0_0x4b6c('0xe9'))]((_0x59aee1['x']-_0x2a29fd['x'])/(_0x8550c9['x']-0x1),(_0x59aee1['y']-_0x2a29fd['y'])/(_0x8550c9['y']-0x1),_0x8550c9['z']>0x1?(_0x59aee1['z']-_0x2a29fd['z'])/(_0x8550c9['z']-0x1):0x1),_0x5a6f23=new _0x45f28c[(a0_0x4b6c('0x150'))](_0x29d858['U']['min'],_0x29d858['U'][a0_0x4b6c('0xdd')]),_0xc14dec=new _0x45f28c['Cartesian2'](_0x29d858['V']['min'],_0x29d858['V'][a0_0x4b6c('0xdd')]),_0x486212=this;this[a0_0x4b6c('0x9e')]={'getWind':new _0x44d579({'commandType':a0_0x4b6c('0xde'),'uniformMap':{'U':function(){return _0x486212[a0_0x4b6c('0xca')]['U'];},'V':function(){return _0x486212['windTextures']['V'];},'currentParticlesPosition':function(){return _0x486212[a0_0x4b6c('0x34')][a0_0x4b6c('0x70')];},'dimension':function(){return _0x8550c9;},'minimum':function(){return _0x2a29fd;},'maximum':function(){return _0x59aee1;},'interval':function(){return _0x3facec;}},'fragmentShaderSource':new _0x45f28c[(a0_0x4b6c('0x12c'))]({'sources':[_0x441ea2['a']]}),'outputTexture':this[a0_0x4b6c('0x34')][a0_0x4b6c('0x87')],'preExecute':function(){_0x486212[a0_0x4b6c('0x9e')]['getWind'][a0_0x4b6c('0x9d')][a0_0x4b6c('0x12d')]=_0x486212[a0_0x4b6c('0x34')][a0_0x4b6c('0x87')];}}),'updateSpeed':new _0x44d579({'commandType':a0_0x4b6c('0xde'),'uniformMap':{'currentParticlesSpeed':function(){return _0x486212[a0_0x4b6c('0x34')][a0_0x4b6c('0xe8')];},'particlesWind':function(){return _0x486212[a0_0x4b6c('0x34')][a0_0x4b6c('0x87')];},'uSpeedRange':function(){return _0x5a6f23;},'vSpeedRange':function(){return _0xc14dec;},'pixelSize':function(){return _0x80adf2[a0_0x4b6c('0x4f')];},'speedFactor':function(){return _0x59ff7e['speedFactor'];}},'fragmentShaderSource':new _0x45f28c['ShaderSource']({'sources':[_0x23188c['a']]}),'outputTexture':this[a0_0x4b6c('0x34')][a0_0x4b6c('0xd6')],'preExecute':function(){var _0x2c6e19;_0x2c6e19=_0x486212['particlesTextures'][a0_0x4b6c('0xe8')],_0x486212['particlesTextures']['currentParticlesSpeed']=_0x486212[a0_0x4b6c('0x34')]['postProcessingSpeed'],_0x486212['particlesTextures'][a0_0x4b6c('0x5a')]=_0x2c6e19,_0x486212[a0_0x4b6c('0x9e')][a0_0x4b6c('0x7b')]['commandToExecute'][a0_0x4b6c('0x12d')]=_0x486212['particlesTextures'][a0_0x4b6c('0xd6')];}}),'updatePosition':new _0x44d579({'commandType':a0_0x4b6c('0xde'),'uniformMap':{'currentParticlesPosition':function(){return _0x486212['particlesTextures'][a0_0x4b6c('0x70')];},'currentParticlesSpeed':function(){return _0x486212[a0_0x4b6c('0x34')][a0_0x4b6c('0xe8')];}},'fragmentShaderSource':new _0x45f28c[(a0_0x4b6c('0x12c'))]({'sources':[_0x19df39['a']]}),'outputTexture':this[a0_0x4b6c('0x34')]['nextParticlesPosition'],'preExecute':function(){var _0x578d48;_0x578d48=_0x486212[a0_0x4b6c('0x34')][a0_0x4b6c('0x70')],_0x486212[a0_0x4b6c('0x34')][a0_0x4b6c('0x70')]=_0x486212[a0_0x4b6c('0x34')][a0_0x4b6c('0x91')],_0x486212[a0_0x4b6c('0x34')][a0_0x4b6c('0x91')]=_0x578d48,_0x486212['primitives'][a0_0x4b6c('0x1f')][a0_0x4b6c('0x9d')][a0_0x4b6c('0x12d')]=_0x486212[a0_0x4b6c('0x34')][a0_0x4b6c('0x5d')];}}),'postProcessingPosition':new _0x44d579({'commandType':a0_0x4b6c('0xde'),'uniformMap':{'nextParticlesPosition':function(){return _0x486212[a0_0x4b6c('0x34')]['nextParticlesPosition'];},'nextParticlesSpeed':function(){return _0x486212[a0_0x4b6c('0x34')]['nextParticlesSpeed'];},'lonRange':function(){return _0x80adf2[a0_0x4b6c('0x3c')];},'latRange':function(){return _0x80adf2[a0_0x4b6c('0x144')];},'randomCoefficient':function(){var _0x36ec21=Math[a0_0x4b6c('0x146')]();return _0x36ec21;},'dropRate':function(){return _0x59ff7e[a0_0x4b6c('0x17')];},'dropRateBump':function(){return _0x59ff7e['dropRateBump'];}},'fragmentShaderSource':new _0x45f28c['ShaderSource']({'sources':[_0x3087ae['a']]}),'outputTexture':this[a0_0x4b6c('0x34')][a0_0x4b6c('0x91')],'preExecute':function(){_0x486212[a0_0x4b6c('0x9e')][a0_0x4b6c('0x91')][a0_0x4b6c('0x9d')][a0_0x4b6c('0x12d')]=_0x486212[a0_0x4b6c('0x34')]['postProcessingPosition'];}}),'postProcessingSpeed':new _0x44d579({'commandType':a0_0x4b6c('0xde'),'uniformMap':{'postProcessingPosition':function(){return _0x486212[a0_0x4b6c('0x34')]['postProcessingPosition'];},'nextParticlesSpeed':function(){return _0x486212[a0_0x4b6c('0x34')][a0_0x4b6c('0xd6')];}},'fragmentShaderSource':new _0x45f28c[(a0_0x4b6c('0x12c'))]({'sources':[_0x16c2b9['a']]}),'outputTexture':this[a0_0x4b6c('0x34')][a0_0x4b6c('0x5a')],'preExecute':function(){_0x486212['primitives'][a0_0x4b6c('0x5a')][a0_0x4b6c('0x9d')][a0_0x4b6c('0x12d')]=_0x486212['particlesTextures'][a0_0x4b6c('0x5a')];}})};}}]),_0x26fd31;}(),_0x90cca3=function(){function _0x3caf8e(_0x446883,_0xf63ed,_0xd12f00,_0x3c0dba){_0x44f553()(this,_0x3caf8e),this['context']=_0x446883,this[a0_0x4b6c('0x26')]=_0xf63ed,this[a0_0x4b6c('0x42')]=_0xd12f00,this['viewerParameters']=_0x3c0dba,this[a0_0x4b6c('0x14c')]=new _0x1d2dae(this[a0_0x4b6c('0x3')],this[a0_0x4b6c('0x26')],this['userInput'],this['viewerParameters']),this[a0_0x4b6c('0x11c')]=new _0x35e332(this[a0_0x4b6c('0x3')],this[a0_0x4b6c('0x26')],this[a0_0x4b6c('0x42')],this[a0_0x4b6c('0xa8')],this['particlesComputing']);}return _0x558324()(_0x3caf8e,[{'key':'canvasResize','value':function(_0x3137a6){var _0x37adfd=this;this['particlesComputing'][a0_0x4b6c('0xea')](),Object[a0_0x4b6c('0x72')](this[a0_0x4b6c('0x14c')][a0_0x4b6c('0xca')])[a0_0x4b6c('0x132')](function(_0x33eff9){_0x37adfd[a0_0x4b6c('0x14c')]['windTextures'][_0x33eff9]['destroy']();}),this[a0_0x4b6c('0x11c')][a0_0x4b6c('0x44')]['colorTable'][a0_0x4b6c('0xa5')](),Object[a0_0x4b6c('0x72')](this[a0_0x4b6c('0x11c')][a0_0x4b6c('0x143')])[a0_0x4b6c('0x132')](function(_0x354837){_0x37adfd[a0_0x4b6c('0x11c')][a0_0x4b6c('0x143')][_0x354837]['destroy']();}),this[a0_0x4b6c('0x3')]=_0x3137a6,this['particlesComputing']=new _0x1d2dae(this[a0_0x4b6c('0x3')],this[a0_0x4b6c('0x26')],this[a0_0x4b6c('0x42')],this[a0_0x4b6c('0xa8')]),this[a0_0x4b6c('0x11c')]=new _0x35e332(this[a0_0x4b6c('0x3')],this[a0_0x4b6c('0x26')],this[a0_0x4b6c('0x42')],this[a0_0x4b6c('0xa8')],this[a0_0x4b6c('0x14c')]);}},{'key':a0_0x4b6c('0x159'),'value':function(){var _0x56c995=this,_0x2a420e=new _0x45f28c[(a0_0x4b6c('0xf5'))]({'color':new _0x45f28c[(a0_0x4b6c('0x14e'))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':void 0x0,'pass':_0x45f28c['Pass'][a0_0x4b6c('0x8')]});Object['keys'](this[a0_0x4b6c('0x11c')][a0_0x4b6c('0x143')])[a0_0x4b6c('0x132')](function(_0x76864d){_0x2a420e[a0_0x4b6c('0x140')]=_0x56c995[a0_0x4b6c('0x11c')]['framebuffers'][_0x76864d],_0x2a420e[a0_0x4b6c('0xf9')](_0x56c995['context']);});}},{'key':a0_0x4b6c('0x6f'),'value':function(_0x501d13){if(this[a0_0x4b6c('0x159')](),this[a0_0x4b6c('0x14c')][a0_0x4b6c('0xea')](),this[a0_0x4b6c('0x14c')][a0_0x4b6c('0x4b')](this[a0_0x4b6c('0x3')],this['userInput'],this[a0_0x4b6c('0xa8')]),_0x501d13){var _0x97038f=this[a0_0x4b6c('0x11c')][a0_0x4b6c('0x113')](this[a0_0x4b6c('0x42')]);this['particlesRendering']['primitives'][a0_0x4b6c('0x141')][a0_0x4b6c('0x6e')]=_0x97038f;var _0x1760ea=_0x45f28c[a0_0x4b6c('0xe4')]['fromGeometry']({'context':this[a0_0x4b6c('0x3')],'geometry':_0x97038f,'attributeLocations':this[a0_0x4b6c('0x11c')]['primitives']['segments'][a0_0x4b6c('0xc6')],'bufferUsage':_0x45f28c[a0_0x4b6c('0x6c')][a0_0x4b6c('0xd')]});this[a0_0x4b6c('0x11c')][a0_0x4b6c('0x9e')]['segments'][a0_0x4b6c('0x9d')][a0_0x4b6c('0x15d')]=_0x1760ea;}}},{'key':'applyUserInput','value':function(_0x9c8ef3){var _0x3392ad=this,_0x39531a=!0x1;this[a0_0x4b6c('0x42')][a0_0x4b6c('0x156')]!=_0x9c8ef3['maxParticles']&&(_0x39531a=!0x0),Object[a0_0x4b6c('0x72')](_0x9c8ef3)[a0_0x4b6c('0x132')](function(_0x1d2c12){_0x3392ad['userInput'][_0x1d2c12]=_0x9c8ef3[_0x1d2c12];}),this['refreshParticles'](_0x39531a);}},{'key':a0_0x4b6c('0xce'),'value':function(_0x5e5809){var _0x1b3d33=this;Object[a0_0x4b6c('0x72')](_0x5e5809)[a0_0x4b6c('0x132')](function(_0x1f755c){_0x1b3d33[a0_0x4b6c('0xa8')][_0x1f755c]=_0x5e5809[_0x1f755c];}),this['refreshParticles'](!0x1);}}]),_0x3caf8e;}();function _0x731f80(_0x4460bb){var _0x275baf=function(){if('undefined'==typeof Reflect||!Reflect['construct'])return!0x1;if(Reflect['construct'][a0_0x4b6c('0x120')])return!0x1;if(a0_0x4b6c('0x37')==typeof Proxy)return!0x0;try{return Date[a0_0x4b6c('0x75')][a0_0x4b6c('0x16b')]['call'](Reflect[a0_0x4b6c('0x30')](Date,[],function(){})),!0x0;}catch(_0x3707b8){return!0x1;}}();return function(){var _0x56f523,_0x1a9618=_0x1c84db()(_0x4460bb);if(_0x275baf){var _0x54b6ef=_0x1c84db()(this)[a0_0x4b6c('0x4')];_0x56f523=Reflect[a0_0x4b6c('0x30')](_0x1a9618,arguments,_0x54b6ef);}else _0x56f523=_0x1a9618['apply'](this,arguments);return _0x4d5caa()(this,_0x56f523);};}var _0x374957=_0x24da1e[a0_0x4b6c('0x13e')]['BaseLayer'],_0x415466=0x1000,_0x3fec3a=0x64,_0xc7cbe=0.996,_0x5721aa=0.003,_0x54a87d=0.01,_0x48420e=0.5,_0x50375a=0x2,_0x18a70d=function(_0x139efd){_0x24516e()(_0x3d5f4a,_0x139efd);var _0x344cc6=_0x731f80(_0x3d5f4a);function _0x3d5f4a(){var _0x26ac5d,_0x3fb013=arguments['length']>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};if(_0x44f553()(this,_0x3d5f4a),(_0x26ac5d=_0x344cc6[a0_0x4b6c('0x76')](this,_0x3fb013))[a0_0x4b6c('0x156')]=_0x415466,_0x26ac5d[a0_0x4b6c('0x118')]=_0x3fec3a,_0x26ac5d['fadeOpacity']=_0xc7cbe,_0x26ac5d[a0_0x4b6c('0x17')]=_0x5721aa,_0x26ac5d['dropRateBump']=_0x54a87d,_0x26ac5d[a0_0x4b6c('0x40')]=_0x48420e,_0x26ac5d['lineWidth']=_0x50375a,_0x3fb013)for(var _0x53939f in _0x3fb013)_0x26ac5d[_0x53939f]=_0x3fb013[_0x53939f];return _0x26ac5d;}return _0x558324()(_0x3d5f4a,[{'key':a0_0x4b6c('0x13e'),'get':function(){return this[a0_0x4b6c('0x9e')];}},{'key':a0_0x4b6c('0xd9'),'value':function(){}},{'key':a0_0x4b6c('0x82'),'value':function(){this[a0_0x4b6c('0x10f')]=this[a0_0x4b6c('0x11e')][a0_0x4b6c('0x10f')],this[a0_0x4b6c('0xc5')]=this['_map'][a0_0x4b6c('0xc5')],this[a0_0x4b6c('0x9e')]=new _0x45f28c[(a0_0x4b6c('0x12'))](),this[a0_0x4b6c('0x11e')]['scene'][a0_0x4b6c('0x9e')][a0_0x4b6c('0x15e')](this[a0_0x4b6c('0x9e')]),this['viewerParameters']={'lonRange':new _0x45f28c[(a0_0x4b6c('0x150'))](),'latRange':new _0x45f28c[(a0_0x4b6c('0x150'))](),'pixelSize':0x0},this[a0_0x4b6c('0x158')]=new _0x45f28c[(a0_0x4b6c('0xc0'))](_0x45f28c[a0_0x4b6c('0xe9')][a0_0x4b6c('0xdc')],6314355.63),this[a0_0x4b6c('0xcf')]();}},{'key':a0_0x4b6c('0x83'),'value':function(){this[a0_0x4b6c('0x4a')]=!0x0,this[a0_0x4b6c('0x9e')][a0_0x4b6c('0x165')](),this['_map']['scene'][a0_0x4b6c('0x9e')][a0_0x4b6c('0x133')](this['primitives']);}},{'key':'setData','value':function(_0x186765){this['particleSystem']=new _0x90cca3(this['scene'][a0_0x4b6c('0x3')],_0x186765,this['getUserInput'](),this[a0_0x4b6c('0xa8')]),this['addPrimitives'](),this['setupEventListeners']();}},{'key':'setOptions','value':function(_0x43e505){if(_0x43e505)for(var _0x41ec0f in _0x43e505)this[_0x41ec0f]=_0x43e505[_0x41ec0f];return this['particleSystem'][a0_0x4b6c('0xa9')](this[a0_0x4b6c('0x50')]()),this;}},{'key':a0_0x4b6c('0x50'),'value':function(){var _0x22d65a=Math[a0_0x4b6c('0x13d')](Math[a0_0x4b6c('0xcd')](this[a0_0x4b6c('0x156')]));return this[a0_0x4b6c('0x156')]=_0x22d65a*_0x22d65a,{'particlesTextureSize':_0x22d65a,'maxParticles':this[a0_0x4b6c('0x156')],'particleHeight':this[a0_0x4b6c('0x118')],'fadeOpacity':this[a0_0x4b6c('0x9a')],'dropRate':this[a0_0x4b6c('0x17')],'dropRateBump':this[a0_0x4b6c('0xaf')],'speedFactor':this[a0_0x4b6c('0x40')],'lineWidth':this[a0_0x4b6c('0x32')],'globeLayer':this[a0_0x4b6c('0xc3')],'WMS_URL':this[a0_0x4b6c('0x107')]};}},{'key':a0_0x4b6c('0x167'),'value':function(){this[a0_0x4b6c('0x9e')]['add'](this[a0_0x4b6c('0xb')][a0_0x4b6c('0x14c')][a0_0x4b6c('0x9e')][a0_0x4b6c('0x136')]),this[a0_0x4b6c('0x9e')]['add'](this['particleSystem']['particlesComputing']['primitives']['updateSpeed']),this['primitives'][a0_0x4b6c('0x15e')](this[a0_0x4b6c('0xb')][a0_0x4b6c('0x14c')][a0_0x4b6c('0x9e')][a0_0x4b6c('0x1f')]),this[a0_0x4b6c('0x9e')][a0_0x4b6c('0x15e')](this['particleSystem'][a0_0x4b6c('0x14c')][a0_0x4b6c('0x9e')][a0_0x4b6c('0x91')]),this[a0_0x4b6c('0x9e')]['add'](this[a0_0x4b6c('0xb')][a0_0x4b6c('0x14c')][a0_0x4b6c('0x9e')]['postProcessingSpeed']),this['primitives']['add'](this[a0_0x4b6c('0xb')][a0_0x4b6c('0x11c')][a0_0x4b6c('0x9e')][a0_0x4b6c('0x141')]),this[a0_0x4b6c('0x9e')][a0_0x4b6c('0x15e')](this[a0_0x4b6c('0xb')][a0_0x4b6c('0x11c')]['primitives'][a0_0x4b6c('0xee')]),this[a0_0x4b6c('0x9e')][a0_0x4b6c('0x15e')](this[a0_0x4b6c('0xb')][a0_0x4b6c('0x11c')][a0_0x4b6c('0x9e')][a0_0x4b6c('0xc2')]);}},{'key':a0_0x4b6c('0xcf'),'value':function(){var _0x525351=this[a0_0x4b6c('0xc5')][a0_0x4b6c('0xf7')](this[a0_0x4b6c('0x10f')][a0_0x4b6c('0x12b')][a0_0x4b6c('0x153')]);if(!_0x525351){var _0xeba519=this[a0_0x4b6c('0x11e')][a0_0x4b6c('0x134')]();_0x525351=_0x45f28c[a0_0x4b6c('0xdb')][a0_0x4b6c('0x126')](_0xeba519[a0_0x4b6c('0x11f')],_0xeba519['ymin'],_0xeba519[a0_0x4b6c('0x8c')],_0xeba519[a0_0x4b6c('0x138')]);}var _0x32923b=_0x51d963[a0_0x4b6c('0x3e')](_0x525351);this[a0_0x4b6c('0xa8')][a0_0x4b6c('0x3c')]['x']=_0x32923b[a0_0x4b6c('0xfc')]['min'],this['viewerParameters']['lonRange']['y']=_0x32923b[a0_0x4b6c('0xfc')][a0_0x4b6c('0xdd')],this[a0_0x4b6c('0xa8')][a0_0x4b6c('0x144')]['x']=_0x32923b[a0_0x4b6c('0x127')]['min'],this['viewerParameters'][a0_0x4b6c('0x144')]['y']=_0x32923b[a0_0x4b6c('0x127')][a0_0x4b6c('0xdd')];var _0x5ded87=this['camera'][a0_0x4b6c('0x47')](this[a0_0x4b6c('0x158')],this[a0_0x4b6c('0x10f')][a0_0x4b6c('0x2c')],this[a0_0x4b6c('0x10f')]['drawingBufferHeight']);_0x5ded87>0x0&&(this[a0_0x4b6c('0xa8')][a0_0x4b6c('0x4f')]=_0x5ded87);}},{'key':'setupEventListeners','value':function(){var _0x56c6b4=this;this[a0_0x4b6c('0xc5')][a0_0x4b6c('0x49')]['addEventListener'](function(){_0x56c6b4[a0_0x4b6c('0x4a')]||(_0x56c6b4[a0_0x4b6c('0x9e')][a0_0x4b6c('0x27')]=!0x1);}),this['camera'][a0_0x4b6c('0x109')][a0_0x4b6c('0x3b')](function(){_0x56c6b4['_isDestroy']||(_0x56c6b4['updateViewerParameters'](),_0x56c6b4[a0_0x4b6c('0xb')][a0_0x4b6c('0xce')](_0x56c6b4[a0_0x4b6c('0xa8')]),_0x56c6b4[a0_0x4b6c('0x9e')][a0_0x4b6c('0x27')]=!0x0);});var _0x455cf4=!0x1;window[a0_0x4b6c('0x3b')]('resize',function(){_0x56c6b4[a0_0x4b6c('0x4a')]||(_0x455cf4=!0x0,_0x56c6b4['primitives'][a0_0x4b6c('0x27')]=!0x1,_0x56c6b4[a0_0x4b6c('0x9e')][a0_0x4b6c('0x165')]());}),this[a0_0x4b6c('0x10f')][a0_0x4b6c('0x16a')][a0_0x4b6c('0x3b')](function(){_0x56c6b4['_isDestroy']||_0x455cf4&&(_0x56c6b4['particleSystem'][a0_0x4b6c('0xf3')](_0x56c6b4[a0_0x4b6c('0x10f')][a0_0x4b6c('0x3')]),_0x455cf4=!0x1,_0x56c6b4[a0_0x4b6c('0x167')](),_0x56c6b4[a0_0x4b6c('0x9e')][a0_0x4b6c('0x27')]=!0x0);});}}]),_0x3d5f4a;}(_0x374957);_0x24da1e[a0_0x4b6c('0x13e')][a0_0x4b6c('0x2')](a0_0x4b6c('0xd0'),_0x18a70d),_0x24da1e[a0_0x4b6c('0x13e')][a0_0x4b6c('0xbc')]=_0x18a70d;var _0x32fee3=function _0x4469e0(){_0x44f553()(this,_0x4469e0),this[a0_0x4b6c('0xab')]=null,this[a0_0x4b6c('0x127')]=null,this[a0_0x4b6c('0x122')]=null,this[a0_0x4b6c('0x152')]=null,this[a0_0x4b6c('0x1a')]=null;},_0x430cc6=function(){function _0xc34eb9(_0x24cc3f,_0x1f02c1){_0x44f553()(this,_0xc34eb9),this[a0_0x4b6c('0x2f')]=_0x24cc3f[a0_0x4b6c('0x2f')],this['cols']=_0x24cc3f[a0_0x4b6c('0x19')],this[a0_0x4b6c('0x11f')]=_0x24cc3f[a0_0x4b6c('0x11f')],this['xmax']=_0x24cc3f[a0_0x4b6c('0x8c')],this['ymin']=_0x24cc3f[a0_0x4b6c('0x58')],this[a0_0x4b6c('0x138')]=_0x24cc3f[a0_0x4b6c('0x138')],this[a0_0x4b6c('0x116')]=[];var _0x40f76a=_0x24cc3f[a0_0x4b6c('0x16')],_0xc6c64a=_0x24cc3f[a0_0x4b6c('0x10e')],_0x1bc2f2=!0x1;_0x40f76a['length']===this[a0_0x4b6c('0x2f')]&&_0x40f76a[0x0]['length']===this['cols']&&(_0x1bc2f2=!0x0);for(var _0x4ea76b=0x0,_0x4eef0e=null,_0x4f485f=null,_0x46f2f7=0x0;_0x46f2f7<this[a0_0x4b6c('0x2f')];_0x46f2f7++){_0x4eef0e=[];for(var _0x302d91=0x0;_0x302d91<this[a0_0x4b6c('0x19')];_0x302d91++,_0x4ea76b++)_0x4f485f=_0x1bc2f2?this['_calcUV'](_0x40f76a[_0x46f2f7][_0x302d91],_0xc6c64a[_0x46f2f7][_0x302d91]):this[a0_0x4b6c('0xb2')](_0x40f76a[_0x4ea76b],_0xc6c64a[_0x4ea76b]),_0x4eef0e[a0_0x4b6c('0xb0')](_0x4f485f);this[a0_0x4b6c('0x116')][a0_0x4b6c('0xb0')](_0x4eef0e);}_0x1f02c1&&this[a0_0x4b6c('0x116')]['reverse']();}return _0x558324()(_0xc34eb9,[{'key':'toGridXY','value':function(_0x2a8040,_0x561b8a){return{'x':(_0x2a8040-this[a0_0x4b6c('0x11f')])/(this[a0_0x4b6c('0x8c')]-this['xmin'])*(this[a0_0x4b6c('0x19')]-0x1),'y':(this[a0_0x4b6c('0x138')]-_0x561b8a)/(this[a0_0x4b6c('0x138')]-this[a0_0x4b6c('0x58')])*(this[a0_0x4b6c('0x2f')]-0x1)};}},{'key':a0_0x4b6c('0x45'),'value':function(_0x7323c1,_0x48b070){if(_0x7323c1<0x0||_0x7323c1>=this[a0_0x4b6c('0x19')]||_0x48b070>=this[a0_0x4b6c('0x2f')])return[0x0,0x0,0x0];var _0x22e536,_0x42e763,_0x26aa8b=Math['floor'](_0x7323c1),_0x48ed13=Math[a0_0x4b6c('0xaa')](_0x48b070);if(_0x26aa8b===_0x7323c1&&_0x48ed13===_0x48b070)return this['grid'][_0x48b070][_0x7323c1];_0x22e536=_0x26aa8b+0x1,_0x42e763=_0x48ed13+0x1;var _0x3ae3c6=this['getUVByXY'](_0x26aa8b,_0x48ed13),_0x1a00ef=this['getUVByXY'](_0x22e536,_0x48ed13),_0x369148=this[a0_0x4b6c('0x45')](_0x26aa8b,_0x42e763),_0x39af33=this['getUVByXY'](_0x22e536,_0x42e763),_0x125ba2=null;try{_0x125ba2=this[a0_0x4b6c('0x86')](_0x7323c1-_0x26aa8b,_0x48b070-_0x48ed13,_0x3ae3c6,_0x1a00ef,_0x369148,_0x39af33);}catch(_0xd4f387){console[a0_0x4b6c('0xad')](_0x7323c1,_0x48b070);}return _0x125ba2;}},{'key':a0_0x4b6c('0x86'),'value':function(_0x151163,_0x392e73,_0x27b847,_0x52136c,_0x873ca8,_0x400aea){var _0x143e58=0x1-_0x151163,_0x3b0de7=0x1-_0x392e73,_0x4e4a04=_0x143e58*_0x3b0de7,_0x17c9e4=_0x151163*_0x3b0de7,_0x2424a8=_0x143e58*_0x392e73,_0x4b8154=_0x151163*_0x392e73,_0x3c211f=_0x27b847[0x0]*_0x4e4a04+_0x52136c[0x0]*_0x17c9e4+_0x873ca8[0x0]*_0x2424a8+_0x400aea[0x0]*_0x4b8154,_0x2a347c=_0x27b847[0x1]*_0x4e4a04+_0x52136c[0x1]*_0x17c9e4+_0x873ca8[0x1]*_0x2424a8+_0x400aea[0x1]*_0x4b8154;return this[a0_0x4b6c('0xb2')](_0x3c211f,_0x2a347c);}},{'key':a0_0x4b6c('0xb2'),'value':function(_0x3b4f59,_0x4ea616){return[+_0x3b4f59,+_0x4ea616,Math[a0_0x4b6c('0xcd')](_0x3b4f59*_0x3b4f59+_0x4ea616*_0x4ea616)];}},{'key':'getUVByPoint','value':function(_0x3f90ed,_0x3e2c30){if(!this['isInExtent'](_0x3f90ed,_0x3e2c30))return null;var _0x1509c6=this[a0_0x4b6c('0x15f')](_0x3f90ed,_0x3e2c30);return this[a0_0x4b6c('0x45')](_0x1509c6['x'],_0x1509c6['y']);}},{'key':'isInExtent','value':function(_0x5678ca,_0x3bbd6d){return _0x5678ca>=this['xmin']&&_0x5678ca<=this[a0_0x4b6c('0x8c')]&&_0x3bbd6d>=this[a0_0x4b6c('0x58')]&&_0x3bbd6d<=this[a0_0x4b6c('0x138')];}},{'key':a0_0x4b6c('0x10b'),'value':function(){var _0x1a51b0=_0x34962d(this[a0_0x4b6c('0x11f')],this[a0_0x4b6c('0x8c')]);return{'lat':_0x34962d(this['ymin'],this[a0_0x4b6c('0x138')]),'lng':_0x1a51b0};}}]),_0xc34eb9;}();function _0x34962d(_0xe24819,_0x50db2c){return _0xe24819+Math[a0_0x4b6c('0x146')]()*(_0x50db2c-_0xe24819);}function _0x2e4151(_0xc5d7de){var _0x34b493=function(){if('undefined'==typeof Reflect||!Reflect['construct'])return!0x1;if(Reflect[a0_0x4b6c('0x30')]['sham'])return!0x1;if('function'==typeof Proxy)return!0x0;try{return Date[a0_0x4b6c('0x75')][a0_0x4b6c('0x16b')][a0_0x4b6c('0x76')](Reflect[a0_0x4b6c('0x30')](Date,[],function(){})),!0x0;}catch(_0x243a82){return!0x1;}}();return function(){var _0x5cdf3c,_0xb10bfb=_0x1c84db()(_0xc5d7de);if(_0x34b493){var _0x3d0141=_0x1c84db()(this)['constructor'];_0x5cdf3c=Reflect[a0_0x4b6c('0x30')](_0xb10bfb,arguments,_0x3d0141);}else _0x5cdf3c=_0xb10bfb[a0_0x4b6c('0x147')](this,arguments);return _0x4d5caa()(this,_0x5cdf3c);};}var _0x15afc4=function(_0x52fa3c){_0x24516e()(_0x170e43,_0x52fa3c);var _0xc610dd=_0x2e4151(_0x170e43);function _0x170e43(){var _0x16b932,_0x7f5a92=arguments[a0_0x4b6c('0x130')]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x44f553()(this,_0x170e43),(_0x16b932=_0xc610dd[a0_0x4b6c('0x76')](this,_0x7f5a92))[a0_0x4b6c('0xd1')]=[0x0,0x0],_0x16b932[a0_0x4b6c('0x79')]=[],_0x16b932[a0_0x4b6c('0x112')]=_0x7f5a92[a0_0x4b6c('0x112')]||0x32,_0x16b932['_particlesNumber']=_0x7f5a92[a0_0x4b6c('0x145')]||0x4e20,_0x16b932[a0_0x4b6c('0x137')]=_0x7f5a92[a0_0x4b6c('0x101')]||0x78,_0x16b932[a0_0x4b6c('0x10d')]=0x3e8/(_0x7f5a92[a0_0x4b6c('0x4d')]||0xa),_0x16b932[a0_0x4b6c('0x110')]=_0x45f28c[a0_0x4b6c('0x9b')](_0x16b932[a0_0x4b6c('0xbe')][a0_0x4b6c('0xb8')],!0x1),_0x16b932[a0_0x4b6c('0x56')]=_0x7f5a92['color']||'#ffffff',_0x16b932['lineWidth']=_0x7f5a92[a0_0x4b6c('0x32')]||0x1,_0x16b932['fixedHeight']=_0x45f28c[a0_0x4b6c('0x9b')](_0x7f5a92[a0_0x4b6c('0x121')],0x0),_0x16b932[a0_0x4b6c('0x1')]=_0x45f28c[a0_0x4b6c('0x9b')](_0x7f5a92[a0_0x4b6c('0x1')],!0x1),_0x16b932[a0_0x4b6c('0x62')]=null,_0x16b932;}return _0x558324()(_0x170e43,[{'key':'layer','get':function(){return this[a0_0x4b6c('0x62')];}},{'key':a0_0x4b6c('0x129'),'get':function(){return this[a0_0x4b6c('0x11e')]['scene'][a0_0x4b6c('0x62')][a0_0x4b6c('0x15b')];}},{'key':a0_0x4b6c('0xa7'),'get':function(){return this['_map'][a0_0x4b6c('0x10f')][a0_0x4b6c('0x62')][a0_0x4b6c('0x16e')];}},{'key':a0_0x4b6c('0xb8'),'get':function(){return this['_pointerEvents'];},'set':function(_0x543c87){this[a0_0x4b6c('0x110')]=_0x543c87,this[a0_0x4b6c('0x62')][a0_0x4b6c('0x2a')][a0_0x4b6c('0x123')]=_0x543c87?a0_0x4b6c('0x104'):a0_0x4b6c('0x154');}},{'key':a0_0x4b6c('0x112'),'get':function(){return this[a0_0x4b6c('0x14d')];},'set':function(_0xc81af9){this['_speedRate']=0x64*(0x64-(_0xc81af9>0x63?0x63:_0xc81af9)),this[a0_0x4b6c('0xe0')]();}},{'key':a0_0x4b6c('0x145'),'get':function(){return this[a0_0x4b6c('0xe1')];},'set':function(_0xc4864b){var _0x236ac2=this;this[a0_0x4b6c('0xe1')]=_0xc4864b,clearTimeout(this[a0_0x4b6c('0xfe')]),this[a0_0x4b6c('0xfe')]=setTimeout(function(){_0x236ac2['redraw']();},0x1f4);}},{'key':'maxAge','get':function(){return this[a0_0x4b6c('0x137')];},'set':function(_0x3a09c6){var _0x132d00=this;this[a0_0x4b6c('0x137')]=_0x3a09c6,clearTimeout(this['canrefresh']),this[a0_0x4b6c('0xfe')]=setTimeout(function(){_0x132d00[a0_0x4b6c('0x5f')]();},0x1f4);}},{'key':'data','get':function(){return this[a0_0x4b6c('0xc1')];},'set':function(_0x31a93f){this[a0_0x4b6c('0xa3')](_0x31a93f);}},{'key':a0_0x4b6c('0x1d'),'value':function(_0x24506f){this[a0_0x4b6c('0x62')]&&(this[a0_0x4b6c('0x62')][a0_0x4b6c('0x2a')][a0_0x4b6c('0xc8')]=_0x24506f?a0_0x4b6c('0x25'):a0_0x4b6c('0x164'));}},{'key':a0_0x4b6c('0xd9'),'value':function(){}},{'key':a0_0x4b6c('0x82'),'value':function(){this[a0_0x4b6c('0x62')]=this[a0_0x4b6c('0x13')](),this['canvasContext']=this['canvas'][a0_0x4b6c('0xd7')]('2d'),this['bindEvent'](),this[a0_0x4b6c('0xbe')][a0_0x4b6c('0x26')]&&this[a0_0x4b6c('0xa3')](this[a0_0x4b6c('0xbe')][a0_0x4b6c('0x26')]);}},{'key':a0_0x4b6c('0x83'),'value':function(){this[a0_0x4b6c('0x8d')](),this[a0_0x4b6c('0x61')](),this[a0_0x4b6c('0x62')]&&(this['_map'][a0_0x4b6c('0xac')]['container'][a0_0x4b6c('0x20')](this[a0_0x4b6c('0x62')]),delete this['canvas']);}},{'key':a0_0x4b6c('0x13'),'value':function(){var _0xe119fc=document[a0_0x4b6c('0x168')]('canvas');_0xe119fc[a0_0x4b6c('0x2a')][a0_0x4b6c('0x7f')]=a0_0x4b6c('0xdf'),_0xe119fc[a0_0x4b6c('0x2a')]['top']=a0_0x4b6c('0x2b'),_0xe119fc[a0_0x4b6c('0x2a')][a0_0x4b6c('0xb4')]=a0_0x4b6c('0x2b'),_0xe119fc[a0_0x4b6c('0x2a')][a0_0x4b6c('0xd8')]=a0_0x4b6c('0x117'),_0xe119fc[a0_0x4b6c('0x2a')][a0_0x4b6c('0x3a')]=a0_0x4b6c('0x117'),_0xe119fc[a0_0x4b6c('0x2a')][a0_0x4b6c('0xb8')]=this['_pointerEvents']?a0_0x4b6c('0x31'):a0_0x4b6c('0x154'),_0xe119fc['style'][a0_0x4b6c('0x90')]=0xa,_0xe119fc[a0_0x4b6c('0xb5')]('id','canvasWindy'),_0xe119fc[a0_0x4b6c('0xb5')](a0_0x4b6c('0x4e'),a0_0x4b6c('0x139')),this[a0_0x4b6c('0x11e')][a0_0x4b6c('0xac')]['container'][a0_0x4b6c('0x10')](_0xe119fc);var _0x1432ec=this[a0_0x4b6c('0x11e')][a0_0x4b6c('0x10f')];return _0xe119fc['width']=_0x1432ec[a0_0x4b6c('0x62')][a0_0x4b6c('0x15b')],_0xe119fc[a0_0x4b6c('0x3a')]=_0x1432ec[a0_0x4b6c('0x62')][a0_0x4b6c('0x16e')],_0xe119fc;}},{'key':a0_0x4b6c('0x29'),'value':function(){this[a0_0x4b6c('0x62')]&&(this[a0_0x4b6c('0x62')][a0_0x4b6c('0xd8')]=this[a0_0x4b6c('0x129')],this['canvas']['height']=this[a0_0x4b6c('0xa7')]);}},{'key':a0_0x4b6c('0xbf'),'value':function(){var _0x5c9046=this,_0x2292df=this,_0xaec2cb=Date[a0_0x4b6c('0x97')]();!function _0x36c4d2(){_0x2292df[a0_0x4b6c('0xef')]=window[a0_0x4b6c('0x73')](_0x36c4d2);var _0x356bab=Date[a0_0x4b6c('0x97')](),_0x3e9720=_0x356bab-_0xaec2cb;_0x3e9720>_0x2292df['frameTime']&&(_0xaec2cb=_0x356bab-_0x3e9720%_0x2292df[a0_0x4b6c('0x10d')],_0x2292df[a0_0x4b6c('0x14f')]());}(),window['addEventListener'](a0_0x4b6c('0x29'),this[a0_0x4b6c('0x29')][a0_0x4b6c('0x149')](this),!0x1),this['handler']=new _0x45f28c[(a0_0x4b6c('0x64'))](this[a0_0x4b6c('0x11e')]['scene'][a0_0x4b6c('0x62')]);var _0x3b6c68=!0x1,_0x31f742=!0x1;this[a0_0x4b6c('0x6d')][a0_0x4b6c('0x66')](function(_0x2de045){clearTimeout(-0x1),_0x5c9046[a0_0x4b6c('0x27')]=!0x1,setTimeout(function(){_0x5c9046['redraw'](),_0x5c9046['show']=!0x0;},0xc8);},_0x45f28c[a0_0x4b6c('0x13f')][a0_0x4b6c('0xa0')]),this['handler'][a0_0x4b6c('0x66')](function(_0x3d1f3b){_0x3b6c68=!0x0;},_0x45f28c[a0_0x4b6c('0x13f')][a0_0x4b6c('0xd4')]),this['handler']['setInputAction'](function(_0x3ed1f0){_0x3b6c68=!0x0;},_0x45f28c[a0_0x4b6c('0x13f')]['RIGHT_DOWN']),this[a0_0x4b6c('0x6d')]['setInputAction'](function(_0x1f2cf0){_0x3b6c68&&(_0x5c9046[a0_0x4b6c('0x27')]=!0x1,_0x31f742=!0x0);},_0x45f28c[a0_0x4b6c('0x13f')][a0_0x4b6c('0x80')]),this[a0_0x4b6c('0x6d')][a0_0x4b6c('0x66')](function(_0x94430f){_0x3b6c68&&_0x31f742&&_0x5c9046[a0_0x4b6c('0x5f')](),_0x5c9046['show']=!0x0,_0x3b6c68=!0x1,_0x31f742=!0x1;},_0x45f28c[a0_0x4b6c('0x13f')][a0_0x4b6c('0x11a')]),this[a0_0x4b6c('0x6d')][a0_0x4b6c('0x66')](function(_0x1b439a){_0x3b6c68&&_0x31f742&&_0x5c9046['redraw'](),_0x5c9046['show']=!0x0,_0x3b6c68=!0x1,_0x31f742=!0x1;},_0x45f28c[a0_0x4b6c('0x13f')][a0_0x4b6c('0xfd')]);}},{'key':a0_0x4b6c('0x61'),'value':function(){window[a0_0x4b6c('0x12a')](this[a0_0x4b6c('0xef')]),delete this[a0_0x4b6c('0xef')],window['removeEventListener'](a0_0x4b6c('0x29'),this[a0_0x4b6c('0x29')]),this[a0_0x4b6c('0x6d')]&&(this['handler'][a0_0x4b6c('0xa5')](),this[a0_0x4b6c('0x6d')]=null);}},{'key':a0_0x4b6c('0x5f'),'value':function(){this[a0_0x4b6c('0x79')]=[],this[a0_0x4b6c('0x131')]();}},{'key':'updateDate','value':function(_0x2378b6){this['clear'](),this[a0_0x4b6c('0xc1')]=_0x2378b6,this['windField']=new _0x430cc6(this[a0_0x4b6c('0xc1')],this['reverseY']),this[a0_0x4b6c('0x131')]();}},{'key':'drawWind','value':function(){this[a0_0x4b6c('0xe0')]();for(var _0x59f4f0=0x0;_0x59f4f0<this['particlesNumber'];_0x59f4f0++){var _0x191adc=this[a0_0x4b6c('0xa2')](new _0x32fee3());this[a0_0x4b6c('0x79')]['push'](_0x191adc);}this[a0_0x4b6c('0xf4')][a0_0x4b6c('0x13a')]='rgba(0,\x200,\x200,\x200.97)',this[a0_0x4b6c('0xf4')][a0_0x4b6c('0x99')]=0.6,this[a0_0x4b6c('0x14f')]();}},{'key':a0_0x4b6c('0xe0'),'value':function(){this[a0_0x4b6c('0x8b')]&&(this[a0_0x4b6c('0xd1')]=[(this[a0_0x4b6c('0x8b')][a0_0x4b6c('0x8c')]-this[a0_0x4b6c('0x8b')]['xmin'])/this['speedRate'],(this[a0_0x4b6c('0x8b')]['ymax']-this[a0_0x4b6c('0x8b')]['ymin'])/this[a0_0x4b6c('0x112')]]);}},{'key':a0_0x4b6c('0x14f'),'value':function(){var _0x2def98=this;if(this['show']&&!(this[a0_0x4b6c('0x79')][a0_0x4b6c('0x130')]<=0x0)){var _0x5aac9f=null,_0x41486e=null,_0x14e924=null;this[a0_0x4b6c('0x79')][a0_0x4b6c('0x132')](function(_0x14b216){if(_0x14b216[a0_0x4b6c('0x1a')]<=0x0&&_0x2def98[a0_0x4b6c('0xa2')](_0x14b216),_0x14b216[a0_0x4b6c('0x1a')]>0x0){var _0xb2daef=_0x14b216[a0_0x4b6c('0x122')],_0x38a2d2=_0x14b216['tlat'];(_0x14e924=_0x2def98[a0_0x4b6c('0x8b')][a0_0x4b6c('0x92')](_0xb2daef,_0x38a2d2))?(_0x5aac9f=_0xb2daef+_0x2def98[a0_0x4b6c('0xd1')][0x0]*_0x14e924[0x0],_0x41486e=_0x38a2d2+_0x2def98['calc_speedRate'][0x1]*_0x14e924[0x1],_0x14b216['lng']=_0xb2daef,_0x14b216[a0_0x4b6c('0x127')]=_0x38a2d2,_0x14b216[a0_0x4b6c('0x122')]=_0x5aac9f,_0x14b216[a0_0x4b6c('0x152')]=_0x41486e,_0x14b216[a0_0x4b6c('0x1a')]--):_0x14b216[a0_0x4b6c('0x1a')]=0x0;}}),this['_drawLines']();}}},{'key':'_tomap','value':function(_0x352a06,_0x30995f,_0x3b9d5f){var _0x317f13=_0x45f28c[a0_0x4b6c('0xe9')][a0_0x4b6c('0x126')](_0x352a06,_0x30995f,this['fixedHeight']),_0x3078e3=this['_map'][a0_0x4b6c('0x10f')];if(_0x3078e3[a0_0x4b6c('0xff')]===_0x45f28c[a0_0x4b6c('0xda')]['SCENE3D']&&!new _0x45f28c[(a0_0x4b6c('0x2e'))](_0x3078e3[a0_0x4b6c('0x12b')]['ellipsoid'],_0x3078e3[a0_0x4b6c('0xc5')][a0_0x4b6c('0x7a')])[a0_0x4b6c('0xcc')](_0x317f13))return _0x3b9d5f[a0_0x4b6c('0x1a')]=0x0,null;var _0xd5586d=_0x45f28c[a0_0x4b6c('0x35')][a0_0x4b6c('0x7e')](this[a0_0x4b6c('0x11e')][a0_0x4b6c('0x10f')],_0x317f13);return _0xd5586d?[_0xd5586d['x'],_0xd5586d['y']]:null;}},{'key':a0_0x4b6c('0x3f'),'value':function(){var _0x297dbb=this,_0x3f6b13=this[a0_0x4b6c('0x79')];this[a0_0x4b6c('0xf4')][a0_0x4b6c('0x32')]=_0x297dbb[a0_0x4b6c('0x32')],this['canvasContext'][a0_0x4b6c('0x2d')]='destination-in',this['canvasContext']['fillRect'](0x0,0x0,this[a0_0x4b6c('0x129')],this['canvasHeight']),this[a0_0x4b6c('0xf4')][a0_0x4b6c('0x2d')]='lighter',this[a0_0x4b6c('0xf4')][a0_0x4b6c('0x99')]=0.9,this['canvasContext']['beginPath'](),this['canvasContext'][a0_0x4b6c('0xb6')]=this[a0_0x4b6c('0x56')];var _0x377d6b=this['_map'][a0_0x4b6c('0x10f')][a0_0x4b6c('0xff')]!==_0x45f28c['SceneMode'][a0_0x4b6c('0xe2')];_0x3f6b13[a0_0x4b6c('0x132')](function(_0x2e594c){var _0x1cdba0=_0x297dbb[a0_0x4b6c('0x67')](_0x2e594c['lng'],_0x2e594c[a0_0x4b6c('0x127')],_0x2e594c),_0x92c59a=_0x297dbb[a0_0x4b6c('0x67')](_0x2e594c['tlng'],_0x2e594c[a0_0x4b6c('0x152')],_0x2e594c);if(null!=_0x1cdba0&&null!=_0x92c59a){var _0x2dbd10=Math[a0_0x4b6c('0x98')](_0x1cdba0[0x0]-_0x92c59a[0x0]);_0x377d6b&&_0x2dbd10>=_0x297dbb[a0_0x4b6c('0x129')]||(_0x297dbb[a0_0x4b6c('0xf4')][a0_0x4b6c('0x57')](_0x1cdba0[0x0],_0x1cdba0[0x1]),_0x297dbb[a0_0x4b6c('0xf4')][a0_0x4b6c('0xf2')](_0x92c59a[0x0],_0x92c59a[0x1]));}}),this[a0_0x4b6c('0xf4')]['stroke']();}},{'key':'randomParticle','value':function(_0x4acb82){for(var _0x5f0957,_0x358e0d,_0x5cf0c0=0x0;_0x5cf0c0<0x1e&&(_0x5f0957=this[a0_0x4b6c('0x8b')][a0_0x4b6c('0x10b')](),!((_0x358e0d=this[a0_0x4b6c('0x8b')][a0_0x4b6c('0x92')](_0x5f0957[a0_0x4b6c('0xab')],_0x5f0957[a0_0x4b6c('0x127')]))&&_0x358e0d[0x2]>0x0));_0x5cf0c0++);if(!_0x358e0d)return _0x4acb82;var _0x5b6313=_0x5f0957[a0_0x4b6c('0xab')]+this[a0_0x4b6c('0xd1')][0x0]*_0x358e0d[0x0],_0x32b9a0=_0x5f0957[a0_0x4b6c('0x127')]+this[a0_0x4b6c('0xd1')][0x1]*_0x358e0d[0x1];return _0x4acb82['lng']=_0x5f0957[a0_0x4b6c('0xab')],_0x4acb82[a0_0x4b6c('0x127')]=_0x5f0957[a0_0x4b6c('0x127')],_0x4acb82[a0_0x4b6c('0x122')]=_0x5b6313,_0x4acb82[a0_0x4b6c('0x152')]=_0x32b9a0,_0x4acb82['age']=Math['round'](Math[a0_0x4b6c('0x146')]()*this[a0_0x4b6c('0x101')]),_0x4acb82;}},{'key':'clear','value':function(){this[a0_0x4b6c('0x79')]=[],delete this[a0_0x4b6c('0x8b')],delete this[a0_0x4b6c('0xc1')];}}]),_0x170e43;}(_0x24da1e[a0_0x4b6c('0x13e')][a0_0x4b6c('0x88')]);function _0x2929f4(_0x37b982,_0x54e2c4){return _0x37b982*Math[a0_0x4b6c('0xd5')](_0x45f28c['Math'][a0_0x4b6c('0x96')](_0x54e2c4));}function _0x2cf9ce(_0xfd13cb,_0x160e1f){return _0xfd13cb*Math[a0_0x4b6c('0x16c')](_0x45f28c[a0_0x4b6c('0x15a')][a0_0x4b6c('0x96')](_0x160e1f));}function _0x2511ea(_0x5750b4,_0x102569){return Math['sqrt'](Math[a0_0x4b6c('0xb9')](_0x5750b4,0x2)+Math[a0_0x4b6c('0xb9')](_0x102569,0x2));}function _0x326399(_0xd6f14c,_0x4473ee){var _0x2457bc=_0x45f28c[a0_0x4b6c('0x15a')][a0_0x4b6c('0x95')](Math[a0_0x4b6c('0xb7')](_0x4473ee,_0xd6f14c));return _0x2457bc+=_0x2457bc<0x0?0x168:0x0;}_0x24da1e[a0_0x4b6c('0x13e')]['register']('canvasWind',_0x15afc4),_0x24da1e['layer'][a0_0x4b6c('0x36')]=_0x15afc4,_0x24da1e['WindUtil']=_0xa23ae8;}]);}); |
| | | (function(_0x349638,_0x1c2f01){var _0x49c473=a0_0x3690,_0x2b266a=_0x349638();while(!![]){try{var _0x476199=-parseInt(_0x49c473(0x276))/0x1+parseInt(_0x49c473(0x249))/0x2+parseInt(_0x49c473(0x287))/0x3*(parseInt(_0x49c473(0x28e))/0x4)+parseInt(_0x49c473(0x2b8))/0x5+-parseInt(_0x49c473(0x2b4))/0x6*(parseInt(_0x49c473(0x2c8))/0x7)+parseInt(_0x49c473(0x19c))/0x8+parseInt(_0x49c473(0x1d0))/0x9*(-parseInt(_0x49c473(0x2a4))/0xa);if(_0x476199===_0x1c2f01)break;else _0x2b266a['push'](_0x2b266a['shift']());}catch(_0x37cb2d){_0x2b266a['push'](_0x2b266a['shift']());}}}(a0_0x586e,0x509a5),!function(_0x2b887c,_0x21faa6){var _0x53d748=a0_0x3690;_0x53d748(0x292)==typeof exports&&'object'==typeof module?module['exports']=_0x21faa6(require('mars3d-cesium'),require(_0x53d748(0x1b2))):'function'==typeof define&&define['amd']?define('mars3dWind',['mars3d-cesium',_0x53d748(0x1b2)],_0x21faa6):_0x53d748(0x292)==typeof exports?exports[_0x53d748(0x2cf)]=_0x21faa6(require(_0x53d748(0x2c6)),require('mars3d')):_0x2b887c[_0x53d748(0x2cf)]=_0x21faa6(_0x2b887c[_0x53d748(0x2e2)],_0x2b887c[_0x53d748(0x1b2)]);}(window,function(_0xf25a1d,_0x11aada){return function(_0x162808){var _0x5278f5={};function _0x4c7686(_0x2ca6c9){var _0x7d56d=a0_0x3690;if(_0x5278f5[_0x2ca6c9])return _0x5278f5[_0x2ca6c9]['exports'];var _0x4faf73=_0x5278f5[_0x2ca6c9]={'i':_0x2ca6c9,'l':!0x1,'exports':{}};return _0x162808[_0x2ca6c9][_0x7d56d(0x2da)](_0x4faf73[_0x7d56d(0x1bb)],_0x4faf73,_0x4faf73[_0x7d56d(0x1bb)],_0x4c7686),_0x4faf73['l']=!0x0,_0x4faf73[_0x7d56d(0x1bb)];}return _0x4c7686['m']=_0x162808,_0x4c7686['c']=_0x5278f5,_0x4c7686['d']=function(_0x1f9fa2,_0x345fba,_0x2ebd20){_0x4c7686['o'](_0x1f9fa2,_0x345fba)||Object['defineProperty'](_0x1f9fa2,_0x345fba,{'enumerable':!0x0,'get':_0x2ebd20});},_0x4c7686['r']=function(_0x101032){var _0x1749a6=a0_0x3690;_0x1749a6(0x2d3)!=typeof Symbol&&Symbol['toStringTag']&&Object[_0x1749a6(0x28f)](_0x101032,Symbol[_0x1749a6(0x2be)],{'value':'Module'}),Object[_0x1749a6(0x28f)](_0x101032,_0x1749a6(0x2f6),{'value':!0x0});},_0x4c7686['t']=function(_0x3d3a27,_0x277dea){var _0x47f1e1=a0_0x3690;if(0x1&_0x277dea&&(_0x3d3a27=_0x4c7686(_0x3d3a27)),0x8&_0x277dea)return _0x3d3a27;if(0x4&_0x277dea&&_0x47f1e1(0x292)==typeof _0x3d3a27&&_0x3d3a27&&_0x3d3a27[_0x47f1e1(0x2f6)])return _0x3d3a27;var _0x356c95=Object[_0x47f1e1(0x24e)](null);if(_0x4c7686['r'](_0x356c95),Object[_0x47f1e1(0x28f)](_0x356c95,_0x47f1e1(0x2cd),{'enumerable':!0x0,'value':_0x3d3a27}),0x2&_0x277dea&&_0x47f1e1(0x1d7)!=typeof _0x3d3a27){for(var _0x379991 in _0x3d3a27)_0x4c7686['d'](_0x356c95,_0x379991,function(_0x250655){return _0x3d3a27[_0x250655];}[_0x47f1e1(0x295)](null,_0x379991));}return _0x356c95;},_0x4c7686['n']=function(_0x13e574){var _0x1b6d9b=a0_0x3690,_0x231657=_0x13e574&&_0x13e574[_0x1b6d9b(0x2f6)]?function(){var _0x485191=_0x1b6d9b;return _0x13e574[_0x485191(0x2cd)];}:function(){return _0x13e574;};return _0x4c7686['d'](_0x231657,'a',_0x231657),_0x231657;},_0x4c7686['o']=function(_0x2279cc,_0x1db47b){var _0x248303=a0_0x3690;return Object[_0x248303(0x1ac)]['hasOwnProperty']['call'](_0x2279cc,_0x1db47b);},_0x4c7686['p']='',_0x4c7686(_0x4c7686['s']=0x14);}([function(_0x4a7545,_0x465a93){var _0x4d1d31=a0_0x3690;_0x4a7545[_0x4d1d31(0x1bb)]=_0xf25a1d;},function(_0x2a22c3,_0x1783fb){var _0x5101df=a0_0x3690;_0x2a22c3[_0x5101df(0x1bb)]=function(_0x45dba9,_0x194ad6){var _0x39d698=_0x5101df;if(!(_0x45dba9 instanceof _0x194ad6))throw new TypeError(_0x39d698(0x2aa));},_0x2a22c3['exports'][_0x5101df(0x2cd)]=_0x2a22c3[_0x5101df(0x1bb)],_0x2a22c3[_0x5101df(0x1bb)]['__esModule']=!0x0;},function(_0x494825,_0x3b826f){var _0x5b56f5=a0_0x3690;function _0x53fdf9(_0xde119e,_0x3e16e8){var _0x59bb39=a0_0x3690;for(var _0x21ac63=0x0;_0x21ac63<_0x3e16e8[_0x59bb39(0x1e1)];_0x21ac63++){var _0x40bca9=_0x3e16e8[_0x21ac63];_0x40bca9[_0x59bb39(0x1df)]=_0x40bca9[_0x59bb39(0x1df)]||!0x1,_0x40bca9['configurable']=!0x0,_0x59bb39(0x2e3)in _0x40bca9&&(_0x40bca9[_0x59bb39(0x1e3)]=!0x0),Object[_0x59bb39(0x28f)](_0xde119e,_0x40bca9[_0x59bb39(0x2f0)],_0x40bca9);}}_0x494825[_0x5b56f5(0x1bb)]=function(_0x3487b0,_0x4fd700,_0x581c73){return _0x4fd700&&_0x53fdf9(_0x3487b0['prototype'],_0x4fd700),_0x581c73&&_0x53fdf9(_0x3487b0,_0x581c73),_0x3487b0;},_0x494825['exports']['default']=_0x494825['exports'],_0x494825[_0x5b56f5(0x1bb)]['__esModule']=!0x0;},function(_0x4fa492,_0x16d9ff){_0x4fa492['exports']=_0x11aada;},function(_0x371c6a,_0x2643ad){var _0x49da7f=a0_0x3690;function _0x29cac8(_0x505cc7){var _0x226135=a0_0x3690;return _0x371c6a[_0x226135(0x1bb)]=_0x29cac8=Object[_0x226135(0x2d6)]?Object[_0x226135(0x228)]:function(_0x3494f4){var _0x3d0974=_0x226135;return _0x3494f4['__proto__']||Object[_0x3d0974(0x228)](_0x3494f4);},_0x371c6a['exports']['default']=_0x371c6a[_0x226135(0x1bb)],_0x371c6a[_0x226135(0x1bb)][_0x226135(0x2f6)]=!0x0,_0x29cac8(_0x505cc7);}_0x371c6a[_0x49da7f(0x1bb)]=_0x29cac8,_0x371c6a['exports']['default']=_0x371c6a[_0x49da7f(0x1bb)],_0x371c6a[_0x49da7f(0x1bb)]['__esModule']=!0x0;},function(_0x107054,_0x20b721,_0x49fb1b){var _0x4ad8d9=a0_0x3690,_0x4352a2=_0x49fb1b(0x11);_0x107054['exports']=function(_0x484efd,_0x220beb){var _0x54ebb6=a0_0x3690;if(_0x54ebb6(0x1b5)!=typeof _0x220beb&&null!==_0x220beb)throw new TypeError(_0x54ebb6(0x296));_0x484efd[_0x54ebb6(0x1ac)]=Object[_0x54ebb6(0x24e)](_0x220beb&&_0x220beb[_0x54ebb6(0x1ac)],{'constructor':{'value':_0x484efd,'writable':!0x0,'configurable':!0x0}}),_0x220beb&&_0x4352a2(_0x484efd,_0x220beb);},_0x107054[_0x4ad8d9(0x1bb)]['default']=_0x107054[_0x4ad8d9(0x1bb)],_0x107054[_0x4ad8d9(0x1bb)][_0x4ad8d9(0x2f6)]=!0x0;},function(_0x81c426,_0x377fe1,_0x37f135){var _0x3b9934=a0_0x3690,_0x48ddf9=_0x37f135(0x12)['default'],_0x57b431=_0x37f135(0x13);_0x81c426['exports']=function(_0x35906e,_0x49c0fc){var _0x2ec6dc=a0_0x3690;if(_0x49c0fc&&('object'===_0x48ddf9(_0x49c0fc)||_0x2ec6dc(0x1b5)==typeof _0x49c0fc))return _0x49c0fc;if(void 0x0!==_0x49c0fc)throw new TypeError(_0x2ec6dc(0x2f2));return _0x57b431(_0x35906e);},_0x81c426[_0x3b9934(0x1bb)]['default']=_0x81c426[_0x3b9934(0x1bb)],_0x81c426['exports'][_0x3b9934(0x2f6)]=!0x0;},function(_0x59f146,_0x1d4492){var _0x569393=a0_0x3690;_0x59f146[_0x569393(0x1bb)]='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(_0x3fcdac,_0x334d0a){var _0x14abb7=a0_0x3690;_0x3fcdac[_0x14abb7(0x1bb)]='attribute\x20vec2\x20st;\x0a//\x20it\x20is\x20not\x20normal\x20itself,\x20but\x20used\x20to\x20control\x20normal\x0aattribute\x20vec3\x20normal;\x20//\x20(point\x20to\x20use,\x20offset\x20sign,\x20not\x20used\x20component)\x0a\x0auniform\x20sampler2D\x20currentParticlesPosition;\x0auniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20postProcessingSpeed;\x0a\x0auniform\x20float\x20particleHeight;\x0a\x0auniform\x20float\x20aspect;\x0auniform\x20float\x20pixelSize;\x0auniform\x20float\x20lineWidth;\x0a\x0avarying\x20float\x20speedNormalization;\x0a\x0avec3\x20convertCoordinate(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20WGS84\x20(lon,\x20lat,\x20lev)\x20->\x20ECEF\x20(x,\x20y,\x20z)\x0a\x20\x20\x20\x20//\x20see\x20https://en.wikipedia.org/wiki/Geographic_coordinate_conversion#From_geodetic_to_ECEF_coordinates\x20for\x20detail\x0a\x0a\x20\x20\x20\x20//\x20WGS\x2084\x20geometric\x20constants\x20\x0a\x20\x20\x20\x20float\x20a\x20=\x206378137.0;\x20//\x20Semi-major\x20axis\x20\x0a\x20\x20\x20\x20float\x20b\x20=\x206356752.3142;\x20//\x20Semi-minor\x20axis\x20\x0a\x20\x20\x20\x20float\x20e2\x20=\x206.69437999014e-3;\x20//\x20First\x20eccentricity\x20squared\x0a\x0a\x20\x20\x20\x20float\x20latitude\x20=\x20radians(lonLatLev.y);\x0a\x20\x20\x20\x20float\x20longitude\x20=\x20radians(lonLatLev.x);\x0a\x0a\x20\x20\x20\x20float\x20cosLat\x20=\x20cos(latitude);\x0a\x20\x20\x20\x20float\x20sinLat\x20=\x20sin(latitude);\x0a\x20\x20\x20\x20float\x20cosLon\x20=\x20cos(longitude);\x0a\x20\x20\x20\x20float\x20sinLon\x20=\x20sin(longitude);\x0a\x0a\x20\x20\x20\x20float\x20N_Phi\x20=\x20a\x20/\x20sqrt(1.0\x20-\x20e2\x20*\x20sinLat\x20*\x20sinLat);\x0a\x20\x20\x20\x20float\x20h\x20=\x20particleHeight;\x20//\x20it\x20should\x20be\x20high\x20enough\x20otherwise\x20the\x20particle\x20may\x20not\x20pass\x20the\x20terrain\x20depth\x20test\x0a\x0a\x20\x20\x20\x20vec3\x20cartesian\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20cartesian.x\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20cosLon;\x0a\x20\x20\x20\x20cartesian.y\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20sinLon;\x0a\x20\x20\x20\x20cartesian.z\x20=\x20((b\x20*\x20b)\x20/\x20(a\x20*\x20a)\x20*\x20N_Phi\x20+\x20h)\x20*\x20sinLat;\x0a\x20\x20\x20\x20return\x20cartesian;\x0a}\x0a\x0avec4\x20calcProjectedCoordinate(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20the\x20range\x20of\x20longitude\x20in\x20Cesium\x20is\x20[-180,\x20180]\x20but\x20the\x20range\x20of\x20longitude\x20in\x20the\x20NetCDF\x20file\x20is\x20[0,\x20360]\x0a\x20\x20\x20\x20//\x20[0,\x20180]\x20is\x20corresponding\x20to\x20[0,\x20180]\x20and\x20[180,\x20360]\x20is\x20corresponding\x20to\x20[-180,\x200]\x0a\x20\x20\x20\x20lonLatLev.x\x20=\x20mod(lonLatLev.x\x20+\x20180.0,\x20360.0)\x20-\x20180.0;\x0a\x20\x20\x20\x20vec3\x20particlePosition\x20=\x20convertCoordinate(lonLatLev);\x0a\x20\x20\x20\x20vec4\x20projectedCoordinate\x20=\x20czm_modelViewProjection\x20*\x20vec4(particlePosition,\x201.0);\x0a\x20\x20\x20\x20return\x20projectedCoordinate;\x0a}\x0a\x0avec4\x20calcOffset(vec4\x20currentProjectedCoordinate,\x20vec4\x20nextProjectedCoordinate,\x20float\x20offsetSign)\x20{\x0a\x20\x20\x20\x20vec2\x20aspectVec2\x20=\x20vec2(aspect,\x201.0);\x0a\x20\x20\x20\x20vec2\x20currentXY\x20=\x20(currentProjectedCoordinate.xy\x20/\x20currentProjectedCoordinate.w)\x20*\x20aspectVec2;\x0a\x20\x20\x20\x20vec2\x20nextXY\x20=\x20(nextProjectedCoordinate.xy\x20/\x20nextProjectedCoordinate.w)\x20*\x20aspectVec2;\x0a\x0a\x20\x20\x20\x20float\x20offsetLength\x20=\x20lineWidth\x20/\x202.0;\x0a\x20\x20\x20\x20vec2\x20direction\x20=\x20normalize(nextXY\x20-\x20currentXY);\x0a\x20\x20\x20\x20vec2\x20normalVector\x20=\x20vec2(-direction.y,\x20direction.x);\x0a\x20\x20\x20\x20normalVector.x\x20=\x20normalVector.x\x20/\x20aspect;\x0a\x20\x20\x20\x20normalVector\x20=\x20offsetLength\x20*\x20normalVector;\x0a\x0a\x20\x20\x20\x20vec4\x20offset\x20=\x20vec4(offsetSign\x20*\x20normalVector,\x200.0,\x200.0);\x0a\x20\x20\x20\x20return\x20offset;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec2\x20particleIndex\x20=\x20st;\x0a\x0a\x20\x20\x20\x20vec3\x20currentPosition\x20=\x20texture2D(currentParticlesPosition,\x20particleIndex).rgb;\x0a\x20\x20\x20\x20vec4\x20nextPosition\x20=\x20texture2D(postProcessingPosition,\x20particleIndex);\x0a\x0a\x20\x20\x20\x20vec4\x20currentProjectedCoordinate\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20vec4\x20nextProjectedCoordinate\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20if\x20(nextPosition.w\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20currentProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20\x20\x20\x20\x20nextProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20currentProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20\x20\x20\x20\x20nextProjectedCoordinate\x20=\x20calcProjectedCoordinate(nextPosition.xyz);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20float\x20pointToUse\x20=\x20normal.x;\x20//\x20-1\x20is\x20currentProjectedCoordinate\x20and\x20+1\x20is\x20nextProjectedCoordinate\x0a\x20\x20\x20\x20float\x20offsetSign\x20=\x20normal.y;\x0a\x0a\x20\x20\x20\x20vec4\x20offset\x20=\x20pixelSize\x20*\x20calcOffset(currentProjectedCoordinate,\x20nextProjectedCoordinate,\x20offsetSign);\x0a\x20\x20\x20\x20if\x20(pointToUse\x20<\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20currentProjectedCoordinate\x20+\x20offset;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20nextProjectedCoordinate\x20+\x20offset;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20speedNormalization\x20=\x20texture2D(postProcessingSpeed,\x20particleIndex).a;\x0a}';},function(_0x4d594f,_0x5282de){var _0x23f0ef=a0_0x3690;_0x4d594f[_0x23f0ef(0x1bb)]=_0x23f0ef(0x2a6);},function(_0x21eb5a,_0x5427e2){var _0x151fae=a0_0x3690;_0x21eb5a['exports']=_0x151fae(0x1a6);},function(_0x4e2005,_0x555729){var _0x3ac474=a0_0x3690;_0x4e2005[_0x3ac474(0x1bb)]=_0x3ac474(0x1ff);},function(_0x3f2d22,_0x5ece21){var _0x2f1e68=a0_0x3690;_0x3f2d22['exports']=_0x2f1e68(0x23d);},function(_0x488bd1,_0x3b59c2){var _0x57bcb7=a0_0x3690;_0x488bd1[_0x57bcb7(0x1bb)]='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(_0x4afe2c,_0x10baf6){_0x4afe2c['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(_0x1fcdd0,_0x34a3ee){var _0x4b6046=a0_0x3690;_0x1fcdd0[_0x4b6046(0x1bb)]=_0x4b6046(0x1e5);},function(_0x139c9e,_0x1c3dfb){var _0x3092ea=a0_0x3690;_0x139c9e[_0x3092ea(0x1bb)]=_0x3092ea(0x1a0);},function(_0x1aaefb,_0x1799c0){var _0x2c4063=a0_0x3690;function _0x2d30a4(_0x3a14ec,_0x4b442d){var _0x52bfda=a0_0x3690;return _0x1aaefb[_0x52bfda(0x1bb)]=_0x2d30a4=Object[_0x52bfda(0x2d6)]||function(_0x3c2f28,_0x3656ee){var _0x1836b1=_0x52bfda;return _0x3c2f28[_0x1836b1(0x27d)]=_0x3656ee,_0x3c2f28;},_0x1aaefb[_0x52bfda(0x1bb)][_0x52bfda(0x2cd)]=_0x1aaefb['exports'],_0x1aaefb[_0x52bfda(0x1bb)][_0x52bfda(0x2f6)]=!0x0,_0x2d30a4(_0x3a14ec,_0x4b442d);}_0x1aaefb[_0x2c4063(0x1bb)]=_0x2d30a4,_0x1aaefb[_0x2c4063(0x1bb)]['default']=_0x1aaefb[_0x2c4063(0x1bb)],_0x1aaefb[_0x2c4063(0x1bb)][_0x2c4063(0x2f6)]=!0x0;},function(_0x55197b,_0x3f8953){var _0xa538bf=a0_0x3690;function _0x1aeb3e(_0x1d73d6){var _0x14aca2=a0_0x3690;return _0x14aca2(0x1b5)==typeof Symbol&&'symbol'==typeof Symbol[_0x14aca2(0x20a)]?(_0x55197b['exports']=_0x1aeb3e=function(_0x14b4b4){return typeof _0x14b4b4;},_0x55197b[_0x14aca2(0x1bb)]['default']=_0x55197b['exports'],_0x55197b[_0x14aca2(0x1bb)][_0x14aca2(0x2f6)]=!0x0):(_0x55197b[_0x14aca2(0x1bb)]=_0x1aeb3e=function(_0x1ea893){var _0x4db02f=_0x14aca2;return _0x1ea893&&'function'==typeof Symbol&&_0x1ea893[_0x4db02f(0x233)]===Symbol&&_0x1ea893!==Symbol[_0x4db02f(0x1ac)]?_0x4db02f(0x1c5):typeof _0x1ea893;},_0x55197b[_0x14aca2(0x1bb)][_0x14aca2(0x2cd)]=_0x55197b[_0x14aca2(0x1bb)],_0x55197b['exports'][_0x14aca2(0x2f6)]=!0x0),_0x1aeb3e(_0x1d73d6);}_0x55197b[_0xa538bf(0x1bb)]=_0x1aeb3e,_0x55197b[_0xa538bf(0x1bb)][_0xa538bf(0x2cd)]=_0x55197b['exports'],_0x55197b[_0xa538bf(0x1bb)][_0xa538bf(0x2f6)]=!0x0;},function(_0x44aefe,_0x16f584){var _0xd11d64=a0_0x3690;_0x44aefe[_0xd11d64(0x1bb)]=function(_0x15e8e8){var _0x543bbe=_0xd11d64;if(void 0x0===_0x15e8e8)throw new ReferenceError(_0x543bbe(0x247));return _0x15e8e8;},_0x44aefe[_0xd11d64(0x1bb)][_0xd11d64(0x2cd)]=_0x44aefe['exports'],_0x44aefe[_0xd11d64(0x1bb)][_0xd11d64(0x2f6)]=!0x0;},function(_0x50fc95,_0x518c74,_0x3d27c5){'use strict';var _0x3271f3=a0_0x3690;_0x3d27c5['r'](_0x518c74),_0x3d27c5['d'](_0x518c74,_0x3271f3(0x22e),function(){return _0x56edb5;}),_0x3d27c5['d'](_0x518c74,_0x3271f3(0x2e0),function(){return _0x2c3fda;}),_0x3d27c5['d'](_0x518c74,_0x3271f3(0x225),function(){return _0x2c13a3;});var _0x2c13a3={};_0x3d27c5['r'](_0x2c13a3),_0x3d27c5['d'](_0x2c13a3,_0x3271f3(0x1f9),function(){return _0x1b20cd;}),_0x3d27c5['d'](_0x2c13a3,_0x3271f3(0x1fe),function(){return _0x4d9888;}),_0x3d27c5['d'](_0x2c13a3,'getSpeed',function(){return _0x194507;}),_0x3d27c5['d'](_0x2c13a3,_0x3271f3(0x262),function(){return _0xb0bd42;});var _0x5deb98=_0x3d27c5(0x3),_0xab1c1f=_0x3d27c5(0x1),_0x9593b9=_0x3d27c5['n'](_0xab1c1f),_0x5615b7=_0x3d27c5(0x2),_0x1a7c99=_0x3d27c5['n'](_0x5615b7),_0x1d19df=_0x3d27c5(0x5),_0x5c2e1b=_0x3d27c5['n'](_0x1d19df),_0x26b20c=_0x3d27c5(0x6),_0x29e5b5=_0x3d27c5['n'](_0x26b20c),_0x2e9f88=_0x3d27c5(0x4),_0x505d0b=_0x3d27c5['n'](_0x2e9f88),_0x5b947f=_0x3d27c5(0x0),_0x1f0fce=function(){var _0x46dba2=_0x3271f3;function _0x1e8a63(_0xd1b67b){var _0x28a3e2=a0_0x3690;_0x9593b9()(this,_0x1e8a63),this[_0x28a3e2(0x26e)]=_0xd1b67b[_0x28a3e2(0x26e)],this[_0x28a3e2(0x2cc)]=_0xd1b67b[_0x28a3e2(0x2cc)],this[_0x28a3e2(0x221)]=_0xd1b67b['attributeLocations'],this[_0x28a3e2(0x267)]=_0xd1b67b[_0x28a3e2(0x267)],this[_0x28a3e2(0x274)]=_0xd1b67b[_0x28a3e2(0x274)],this[_0x28a3e2(0x29f)]=_0xd1b67b[_0x28a3e2(0x29f)],this[_0x28a3e2(0x220)]=_0xd1b67b[_0x28a3e2(0x220)],this[_0x28a3e2(0x2b1)]=_0xd1b67b['rawRenderState'],this[_0x28a3e2(0x202)]=_0xd1b67b[_0x28a3e2(0x202)],this[_0x28a3e2(0x1c6)]=_0xd1b67b[_0x28a3e2(0x1c6)],this[_0x28a3e2(0x2e7)]=_0x5b947f[_0x28a3e2(0x1fb)](_0xd1b67b[_0x28a3e2(0x2e7)],!0x1),this[_0x28a3e2(0x27c)]=_0xd1b67b['preExecute'],this[_0x28a3e2(0x236)]=!0x0,this['commandToExecute']=void 0x0,this[_0x28a3e2(0x1fd)]=void 0x0,this[_0x28a3e2(0x2e7)]&&(this[_0x28a3e2(0x1fd)]=new _0x5b947f['ClearCommand']({'color':new _0x5b947f[(_0x28a3e2(0x215))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x28a3e2(0x202)],'pass':_0x5b947f[_0x28a3e2(0x281)][_0x28a3e2(0x2fb)]}));}return _0x1a7c99()(_0x1e8a63,[{'key':_0x46dba2(0x29b),'value':function(_0x2279aa){var _0x4ddf73=_0x46dba2;switch(this[_0x4ddf73(0x26e)]){case _0x4ddf73(0x285):var _0x4f9151=_0x5b947f[_0x4ddf73(0x2b0)]['fromGeometry']({'context':_0x2279aa,'geometry':this['geometry'],'attributeLocations':this[_0x4ddf73(0x221)],'bufferUsage':_0x5b947f[_0x4ddf73(0x2dd)][_0x4ddf73(0x1cd)]}),_0xf58d40=_0x5b947f[_0x4ddf73(0x24b)][_0x4ddf73(0x239)]({'context':_0x2279aa,'attributeLocations':this['attributeLocations'],'vertexShaderSource':this['vertexShaderSource'],'fragmentShaderSource':this[_0x4ddf73(0x220)]}),_0x2b5452=_0x5b947f[_0x4ddf73(0x27a)][_0x4ddf73(0x239)](this['rawRenderState']);return new _0x5b947f[(_0x4ddf73(0x1e9))]({'owner':this,'vertexArray':_0x4f9151,'primitiveType':this['primitiveType'],'uniformMap':this['uniformMap'],'modelMatrix':_0x5b947f[_0x4ddf73(0x303)][_0x4ddf73(0x2d8)],'shaderProgram':_0xf58d40,'framebuffer':this[_0x4ddf73(0x202)],'renderState':_0x2b5452,'pass':_0x5b947f[_0x4ddf73(0x281)]['OPAQUE']});case _0x4ddf73(0x26a):return new _0x5b947f[(_0x4ddf73(0x21e))]({'owner':this,'fragmentShaderSource':this[_0x4ddf73(0x220)],'uniformMap':this[_0x4ddf73(0x274)],'outputTexture':this['outputTexture'],'persists':!0x0});}}},{'key':_0x46dba2(0x2bf),'value':function(_0x1527cb,_0x3f36e1){var _0x459ec4=_0x46dba2;this[_0x459ec4(0x2cc)]=_0x3f36e1;var _0x5b64ca=_0x5b947f['VertexArray'][_0x459ec4(0x278)]({'context':_0x1527cb,'geometry':this[_0x459ec4(0x2cc)],'attributeLocations':this[_0x459ec4(0x221)],'bufferUsage':_0x5b947f[_0x459ec4(0x2dd)][_0x459ec4(0x1cd)]});this[_0x459ec4(0x21d)]['vertexArray']=_0x5b64ca;}},{'key':_0x46dba2(0x264),'value':function(_0x338a55){var _0x19d7bf=_0x46dba2;this[_0x19d7bf(0x236)]&&_0x338a55['mode']==_0x5b947f[_0x19d7bf(0x2e5)][_0x19d7bf(0x1a8)]&&(_0x5b947f['defined'](this[_0x19d7bf(0x21d)])||(this[_0x19d7bf(0x21d)]=this[_0x19d7bf(0x29b)](_0x338a55[_0x19d7bf(0x1b1)])),_0x5b947f[_0x19d7bf(0x2bc)](this['preExecute'])&&this[_0x19d7bf(0x27c)](),_0x5b947f[_0x19d7bf(0x2bc)](this[_0x19d7bf(0x1fd)])&&_0x338a55[_0x19d7bf(0x2b7)]['push'](this[_0x19d7bf(0x1fd)]),_0x338a55[_0x19d7bf(0x2b7)]['push'](this[_0x19d7bf(0x21d)]));}},{'key':_0x46dba2(0x2ca),'value':function(){return!0x1;}},{'key':_0x46dba2(0x242),'value':function(){var _0x479dbc=_0x46dba2;return _0x5b947f[_0x479dbc(0x2bc)](this['commandToExecute'])&&(this[_0x479dbc(0x21d)][_0x479dbc(0x26b)]=this[_0x479dbc(0x21d)]['shaderProgram']&&this[_0x479dbc(0x21d)][_0x479dbc(0x26b)][_0x479dbc(0x242)]()),_0x5b947f[_0x479dbc(0x2ef)](this);}}]),_0x1e8a63;}(),_0x5bd9bb={'getFullscreenQuad':function(){var _0x3cf4fb=_0x3271f3;return new _0x5b947f[(_0x3cf4fb(0x259))]({'attributes':new _0x5b947f[(_0x3cf4fb(0x1ae))]({'position':new _0x5b947f[(_0x3cf4fb(0x2d1))]({'componentDatatype':_0x5b947f[_0x3cf4fb(0x1e7)][_0x3cf4fb(0x1b0)],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new _0x5b947f['GeometryAttribute']({'componentDatatype':_0x5b947f[_0x3cf4fb(0x1e7)][_0x3cf4fb(0x1b0)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});},'createTexture':function(_0x593b51,_0x5af9d4){var _0x3de7a2=_0x3271f3;if(_0x5b947f[_0x3de7a2(0x2bc)](_0x5af9d4)){var _0x3da0b4={};_0x3da0b4[_0x3de7a2(0x1c7)]=_0x5af9d4,_0x593b51[_0x3de7a2(0x1aa)]=_0x3da0b4;}return new _0x5b947f[(_0x3de7a2(0x2a0))](_0x593b51);},'createFramebuffer':function(_0x138919,_0x4ecd87,_0x2a5224){return new _0x5b947f['Framebuffer']({'context':_0x138919,'colorTextures':[_0x4ecd87],'depthTexture':_0x2a5224});},'createRawRenderState':function(_0x2d39f3){var _0x1ba9ee=_0x3271f3,_0x197947={'viewport':_0x2d39f3[_0x1ba9ee(0x1f6)],'depthTest':_0x2d39f3[_0x1ba9ee(0x20b)],'depthMask':_0x2d39f3['depthMask'],'blending':_0x2d39f3[_0x1ba9ee(0x300)]};return _0x5b947f[_0x1ba9ee(0x2a2)][_0x1ba9ee(0x266)](!0x0,!0x1,_0x197947);},'viewRectangleToLonLatRange':function(_0x33b7b2){var _0x8cb285=_0x3271f3,_0x35e411,_0x2a03e6,_0x19a6a5={},_0x1f58f1=_0x5b947f[_0x8cb285(0x2a8)][_0x8cb285(0x263)](_0x33b7b2[_0x8cb285(0x1ad)],_0x5b947f[_0x8cb285(0x2a8)][_0x8cb285(0x26f)]),_0x47f5f6=_0x5b947f['Math'][_0x8cb285(0x263)](_0x33b7b2[_0x8cb285(0x1f1)],_0x5b947f[_0x8cb285(0x2a8)]['TWO_PI']),_0x13dc3c=_0x33b7b2['width'];_0x13dc3c>_0x5b947f[_0x8cb285(0x2a8)][_0x8cb285(0x25f)]?(_0x35e411=0x0,_0x2a03e6=_0x5b947f['Math'][_0x8cb285(0x26f)]):_0x47f5f6-_0x1f58f1<_0x13dc3c?(_0x35e411=_0x1f58f1,_0x2a03e6=_0x1f58f1+_0x13dc3c):(_0x35e411=_0x1f58f1,_0x2a03e6=_0x47f5f6),_0x19a6a5[_0x8cb285(0x26d)]={'min':_0x5b947f['Math']['toDegrees'](_0x35e411),'max':_0x5b947f[_0x8cb285(0x2a8)][_0x8cb285(0x2bd)](_0x2a03e6)};var _0x1e80bc=_0x33b7b2[_0x8cb285(0x1b9)],_0x3ecc40=_0x33b7b2[_0x8cb285(0x206)],_0x194b8b=_0x33b7b2['height'],_0x490589=_0x194b8b>_0x5b947f[_0x8cb285(0x2a8)]['PI']/0xc?_0x194b8b/0x2:0x0,_0x299026=_0x5b947f[_0x8cb285(0x2a8)]['clampToLatitudeRange'](_0x1e80bc-_0x490589),_0x2c17ba=_0x5b947f['Math'][_0x8cb285(0x268)](_0x3ecc40+_0x490589);return _0x299026<-_0x5b947f[_0x8cb285(0x2a8)]['PI_OVER_THREE']&&(_0x299026=-_0x5b947f[_0x8cb285(0x2a8)][_0x8cb285(0x246)]),_0x2c17ba>_0x5b947f[_0x8cb285(0x2a8)][_0x8cb285(0x2fc)]&&(_0x2c17ba=_0x5b947f['Math'][_0x8cb285(0x246)]),_0x19a6a5[_0x8cb285(0x2c3)]={'min':_0x5b947f['Math'][_0x8cb285(0x2bd)](_0x299026),'max':_0x5b947f[_0x8cb285(0x2a8)]['toDegrees'](_0x2c17ba)},_0x19a6a5;}},_0x39dec1=_0x3d27c5(0x8),_0x5793bf=_0x3d27c5['n'](_0x39dec1),_0x57badd=_0x3d27c5(0x9),_0x152f12=_0x3d27c5['n'](_0x57badd),_0x5c5088=_0x3d27c5(0x7),_0x31d928=_0x3d27c5['n'](_0x5c5088),_0x4496b0=_0x3d27c5(0xa),_0x18fa18=_0x3d27c5['n'](_0x4496b0),_0x2b43f8=_0x3d27c5(0xb),_0xac4b35=_0x3d27c5['n'](_0x2b43f8),_0xcfd54d=function(){var _0x3ff3f9=_0x3271f3;function _0x277393(_0x3cf81f,_0x57661c,_0x41cdd9,_0x48f4fd,_0x1f20a7){var _0x4205fe=a0_0x3690;_0x9593b9()(this,_0x277393),this[_0x4205fe(0x270)](_0x3cf81f,_0x57661c),this[_0x4205fe(0x2f8)](_0x3cf81f),this[_0x4205fe(0x21b)](_0x3cf81f,_0x41cdd9,_0x48f4fd,_0x1f20a7);}return _0x1a7c99()(_0x277393,[{'key':_0x3ff3f9(0x270),'value':function(_0x2a857b,_0x5e05c8){var _0x182153=_0x3ff3f9,_0x526f99={'context':_0x2a857b,'width':_0x2a857b[_0x182153(0x22f)],'height':_0x2a857b[_0x182153(0x1c4)],'pixelFormat':_0x5b947f[_0x182153(0x19d)][_0x182153(0x230)],'pixelDatatype':_0x5b947f['PixelDatatype'][_0x182153(0x1b8)]},_0xf3b007={'context':_0x2a857b,'width':_0x2a857b['drawingBufferWidth'],'height':_0x2a857b[_0x182153(0x1c4)],'pixelFormat':_0x5b947f[_0x182153(0x19d)][_0x182153(0x1fc)],'pixelDatatype':_0x5b947f['PixelDatatype'][_0x182153(0x257)]},_0x4b8539={'context':_0x2a857b,'width':_0x5e05c8[_0x182153(0x254)]['colorNum'],'height':0x1,'pixelFormat':_0x5b947f['PixelFormat']['RGB'],'pixelDatatype':_0x5b947f[_0x182153(0x1d9)]['FLOAT'],'sampler':new _0x5b947f['Sampler']({'minificationFilter':_0x5b947f[_0x182153(0x301)]['LINEAR'],'magnificationFilter':_0x5b947f[_0x182153(0x22d)][_0x182153(0x299)]})};this[_0x182153(0x2a3)]={'segmentsColor':_0x5bd9bb[_0x182153(0x235)](_0x526f99),'segmentsDepth':_0x5bd9bb[_0x182153(0x235)](_0xf3b007),'currentTrailsColor':_0x5bd9bb[_0x182153(0x235)](_0x526f99),'currentTrailsDepth':_0x5bd9bb['createTexture'](_0xf3b007),'nextTrailsColor':_0x5bd9bb[_0x182153(0x235)](_0x526f99),'nextTrailsDepth':_0x5bd9bb['createTexture'](_0xf3b007),'colorTable':_0x5bd9bb[_0x182153(0x235)](_0x4b8539,_0x5e05c8[_0x182153(0x254)]['array'])};}},{'key':_0x3ff3f9(0x2f8),'value':function(_0x125b57){var _0x3ea62e=_0x3ff3f9;this[_0x3ea62e(0x302)]={'segments':_0x5bd9bb[_0x3ea62e(0x29a)](_0x125b57,this[_0x3ea62e(0x2a3)][_0x3ea62e(0x25b)],this[_0x3ea62e(0x2a3)][_0x3ea62e(0x2c4)]),'currentTrails':_0x5bd9bb[_0x3ea62e(0x29a)](_0x125b57,this[_0x3ea62e(0x2a3)][_0x3ea62e(0x24f)],this[_0x3ea62e(0x2a3)]['currentTrailsDepth']),'nextTrails':_0x5bd9bb[_0x3ea62e(0x29a)](_0x125b57,this[_0x3ea62e(0x2a3)][_0x3ea62e(0x204)],this[_0x3ea62e(0x2a3)]['nextTrailsDepth'])};}},{'key':_0x3ff3f9(0x22c),'value':function(_0xbcd7ad){var _0x4c0865=_0x3ff3f9;for(var _0x66fff9=[],_0x2e2e0e=0x0;_0x2e2e0e<_0xbcd7ad[_0x4c0865(0x248)];_0x2e2e0e++)for(var _0x4be102=0x0;_0x4be102<_0xbcd7ad[_0x4c0865(0x248)];_0x4be102++)for(var _0x20a259=0x0;_0x20a259<0x4;_0x20a259++)_0x66fff9[_0x4c0865(0x29d)](_0x2e2e0e/_0xbcd7ad['particlesTextureSize']),_0x66fff9[_0x4c0865(0x29d)](_0x4be102/_0xbcd7ad[_0x4c0865(0x248)]);_0x66fff9=new Float32Array(_0x66fff9);for(var _0x347493=[],_0x1d97e1=[-0x1,0x1],_0x101853=[-0x1,0x1],_0x577724=0x0;_0x577724<_0xbcd7ad['maxParticles'];_0x577724++)for(var _0x14e4c2=0x0;_0x14e4c2<0x2;_0x14e4c2++)for(var _0x313cd2=0x0;_0x313cd2<0x2;_0x313cd2++)_0x347493[_0x4c0865(0x29d)](_0x1d97e1[_0x14e4c2]),_0x347493['push'](_0x101853[_0x313cd2]),_0x347493[_0x4c0865(0x29d)](0x0);_0x347493=new Float32Array(_0x347493);for(var _0x5f0711=0x6*_0xbcd7ad[_0x4c0865(0x1a3)],_0x199059=new Uint32Array(_0x5f0711),_0x2b56cf=0x0,_0x5b2d9c=0x0,_0x2fd5e0=0x0;_0x2b56cf<_0xbcd7ad[_0x4c0865(0x1a3)];_0x2b56cf++)_0x199059[_0x5b2d9c++]=_0x2fd5e0+0x0,_0x199059[_0x5b2d9c++]=_0x2fd5e0+0x1,_0x199059[_0x5b2d9c++]=_0x2fd5e0+0x2,_0x199059[_0x5b2d9c++]=_0x2fd5e0+0x2,_0x199059[_0x5b2d9c++]=_0x2fd5e0+0x1,_0x199059[_0x5b2d9c++]=_0x2fd5e0+0x3,_0x2fd5e0+=0x4;return new _0x5b947f[(_0x4c0865(0x259))]({'attributes':new _0x5b947f[(_0x4c0865(0x1ae))]({'st':new _0x5b947f[(_0x4c0865(0x2d1))]({'componentDatatype':_0x5b947f[_0x4c0865(0x1e7)][_0x4c0865(0x1b0)],'componentsPerAttribute':0x2,'values':_0x66fff9}),'normal':new _0x5b947f[(_0x4c0865(0x2d1))]({'componentDatatype':_0x5b947f[_0x4c0865(0x1e7)][_0x4c0865(0x1b0)],'componentsPerAttribute':0x3,'values':_0x347493})}),'indices':_0x199059});}},{'key':_0x3ff3f9(0x21b),'value':function(_0x26b28b,_0x42e553,_0x21f9d4,_0x40bc01){var _0x1395dc=_0x3ff3f9,_0x333337=this;this['primitives']={'segments':new _0x1f0fce({'commandType':_0x1395dc(0x285),'attributeLocations':{'st':0x0,'normal':0x1},'geometry':this[_0x1395dc(0x22c)](_0x42e553),'primitiveType':_0x5b947f[_0x1395dc(0x232)][_0x1395dc(0x253)],'uniformMap':{'currentParticlesPosition':function(){var _0x4297f1=_0x1395dc;return _0x40bc01[_0x4297f1(0x256)]['currentParticlesPosition'];},'postProcessingPosition':function(){var _0x3bc0af=_0x1395dc;return _0x40bc01[_0x3bc0af(0x256)]['postProcessingPosition'];},'postProcessingSpeed':function(){return _0x40bc01['particlesTextures']['postProcessingSpeed'];},'colorTable':function(){var _0x4bce55=_0x1395dc;return _0x333337[_0x4bce55(0x2a3)][_0x4bce55(0x254)];},'aspect':function(){var _0x1fb173=_0x1395dc;return _0x26b28b[_0x1fb173(0x22f)]/_0x26b28b[_0x1fb173(0x1c4)];},'pixelSize':function(){var _0x195165=_0x1395dc;return _0x21f9d4[_0x195165(0x28d)];},'lineWidth':function(){var _0x495d0e=_0x1395dc;return _0x42e553[_0x495d0e(0x1f3)];},'particleHeight':function(){var _0x1ab9a6=_0x1395dc;return _0x42e553[_0x1ab9a6(0x25c)];}},'vertexShaderSource':new _0x5b947f[(_0x1395dc(0x2d7))]({'sources':[_0x5793bf['a']]}),'fragmentShaderSource':new _0x5b947f['ShaderSource']({'sources':[_0x152f12['a']]}),'rawRenderState':_0x5bd9bb[_0x1395dc(0x258)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0},'depthMask':!0x0}),'framebuffer':this[_0x1395dc(0x302)][_0x1395dc(0x282)],'autoClear':!0x0}),'trails':new _0x1f0fce({'commandType':_0x1395dc(0x285),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x5bd9bb[_0x1395dc(0x198)](),'primitiveType':_0x5b947f[_0x1395dc(0x232)]['TRIANGLES'],'uniformMap':{'segmentsColorTexture':function(){var _0x26aec8=_0x1395dc;return _0x333337['textures'][_0x26aec8(0x25b)];},'segmentsDepthTexture':function(){return _0x333337['textures']['segmentsDepth'];},'currentTrailsColor':function(){var _0x32add2=_0x1395dc;return _0x333337[_0x32add2(0x302)]['currentTrails'][_0x32add2(0x1ee)](0x0);},'trailsDepthTexture':function(){var _0xb702b2=_0x1395dc;return _0x333337[_0xb702b2(0x302)]['currentTrails'][_0xb702b2(0x1fa)];},'fadeOpacity':function(){return _0x42e553['fadeOpacity'];}},'vertexShaderSource':new _0x5b947f[(_0x1395dc(0x2d7))]({'defines':['DISABLE_GL_POSITION_LOG_DEPTH'],'sources':[_0x31d928['a']]}),'fragmentShaderSource':new _0x5b947f[(_0x1395dc(0x2d7))]({'defines':[_0x1395dc(0x214)],'sources':[_0x18fa18['a']]}),'rawRenderState':_0x5bd9bb[_0x1395dc(0x258)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0,'func':_0x5b947f['DepthFunction']['ALWAYS']},'depthMask':!0x0}),'framebuffer':this[_0x1395dc(0x302)][_0x1395dc(0x20e)],'autoClear':!0x0,'preExecute':function(){var _0xd69a27=_0x1395dc,_0x4fea91;_0x4fea91=_0x333337[_0xd69a27(0x302)]['currentTrails'],_0x333337[_0xd69a27(0x302)][_0xd69a27(0x2fa)]=_0x333337['framebuffers'][_0xd69a27(0x20e)],_0x333337[_0xd69a27(0x302)][_0xd69a27(0x20e)]=_0x4fea91,_0x333337['primitives']['trails'][_0xd69a27(0x21d)]['framebuffer']=_0x333337[_0xd69a27(0x302)][_0xd69a27(0x20e)],_0x333337[_0xd69a27(0x1de)][_0xd69a27(0x1d1)][_0xd69a27(0x1fd)][_0xd69a27(0x202)]=_0x333337[_0xd69a27(0x302)]['nextTrails'];}}),'screen':new _0x1f0fce({'commandType':_0x1395dc(0x285),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x5bd9bb['getFullscreenQuad'](),'primitiveType':_0x5b947f[_0x1395dc(0x232)]['TRIANGLES'],'uniformMap':{'trailsColorTexture':function(){var _0x4a4d2f=_0x1395dc;return _0x333337[_0x4a4d2f(0x302)][_0x4a4d2f(0x20e)][_0x4a4d2f(0x1ee)](0x0);},'trailsDepthTexture':function(){var _0x25e07f=_0x1395dc;return _0x333337[_0x25e07f(0x302)][_0x25e07f(0x20e)][_0x25e07f(0x1fa)];}},'vertexShaderSource':new _0x5b947f['ShaderSource']({'defines':['DISABLE_GL_POSITION_LOG_DEPTH'],'sources':[_0x31d928['a']]}),'fragmentShaderSource':new _0x5b947f[(_0x1395dc(0x2d7))]({'defines':['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],'sources':[_0xac4b35['a']]}),'rawRenderState':_0x5bd9bb[_0x1395dc(0x258)]({'viewport':void 0x0,'depthTest':{'enabled':!0x1},'depthMask':!0x0,'blending':{'enabled':!0x0}}),'framebuffer':void 0x0})};}}]),_0x277393;}(),_0x28f155=_0x3d27c5(0xc),_0x225541=_0x3d27c5['n'](_0x28f155),_0x484f12=_0x3d27c5(0xd),_0x43dc6e=_0x3d27c5['n'](_0x484f12),_0x22b1f9=_0x3d27c5(0xe),_0x3878ca=_0x3d27c5['n'](_0x22b1f9),_0x345c3b=_0x3d27c5(0xf),_0x467940=_0x3d27c5['n'](_0x345c3b),_0x16dd51=_0x3d27c5(0x10),_0x1807b1=_0x3d27c5['n'](_0x16dd51),_0x27cbbe=function(){var _0x6a46cf=_0x3271f3;function _0x54151d(_0x4adc0b,_0x377aa3,_0x105823,_0x3e362d){var _0x22ee43=a0_0x3690;_0x9593b9()(this,_0x54151d),this[_0x22ee43(0x1f0)]=_0x377aa3,this[_0x22ee43(0x2a1)](_0x4adc0b,_0x377aa3),this[_0x22ee43(0x1e2)](_0x4adc0b,_0x105823,_0x3e362d),this[_0x22ee43(0x2b9)](_0x377aa3,_0x105823,_0x3e362d);}return _0x1a7c99()(_0x54151d,[{'key':_0x6a46cf(0x2a1),'value':function(_0x2ec21e,_0x20556d){var _0x386332=_0x6a46cf,_0x2ab726={'context':_0x2ec21e,'width':_0x20556d[_0x386332(0x2df)]['lon'],'height':_0x20556d[_0x386332(0x2df)]['lat']*_0x20556d[_0x386332(0x2df)][_0x386332(0x284)],'pixelFormat':_0x5b947f[_0x386332(0x19d)]['LUMINANCE'],'pixelDatatype':_0x5b947f['PixelDatatype'][_0x386332(0x1b0)],'flipY':!0x1,'sampler':new _0x5b947f[(_0x386332(0x2e1))]({'minificationFilter':_0x5b947f[_0x386332(0x301)][_0x386332(0x2b5)],'magnificationFilter':_0x5b947f['TextureMagnificationFilter'][_0x386332(0x2b5)]})};this['windTextures']={'U':_0x5bd9bb['createTexture'](_0x2ab726,_0x20556d['U'][_0x386332(0x1db)]),'V':_0x5bd9bb[_0x386332(0x235)](_0x2ab726,_0x20556d['V']['array'])};}},{'key':_0x6a46cf(0x1e2),'value':function(_0x17d9c7,_0x5ce9d5,_0x453f5b){var _0x27f8e9=_0x6a46cf,_0x5dc4b7={'context':_0x17d9c7,'width':_0x5ce9d5[_0x27f8e9(0x248)],'height':_0x5ce9d5[_0x27f8e9(0x248)],'pixelFormat':_0x5b947f[_0x27f8e9(0x19d)][_0x27f8e9(0x230)],'pixelDatatype':_0x5b947f[_0x27f8e9(0x1d9)][_0x27f8e9(0x1b0)],'flipY':!0x1,'sampler':new _0x5b947f[(_0x27f8e9(0x2e1))]({'minificationFilter':_0x5b947f['TextureMinificationFilter'][_0x27f8e9(0x2b5)],'magnificationFilter':_0x5b947f['TextureMagnificationFilter'][_0x27f8e9(0x2b5)]})},_0x1811ef=this[_0x27f8e9(0x1b4)](_0x5ce9d5[_0x27f8e9(0x1a3)],_0x453f5b),_0x93c7de=new Float32Array(0x4*_0x5ce9d5[_0x27f8e9(0x1a3)])[_0x27f8e9(0x21a)](0x0);this[_0x27f8e9(0x256)]={'particlesWind':_0x5bd9bb['createTexture'](_0x5dc4b7),'currentParticlesPosition':_0x5bd9bb[_0x27f8e9(0x235)](_0x5dc4b7,_0x1811ef),'nextParticlesPosition':_0x5bd9bb[_0x27f8e9(0x235)](_0x5dc4b7,_0x1811ef),'currentParticlesSpeed':_0x5bd9bb[_0x27f8e9(0x235)](_0x5dc4b7,_0x93c7de),'nextParticlesSpeed':_0x5bd9bb[_0x27f8e9(0x235)](_0x5dc4b7,_0x93c7de),'postProcessingPosition':_0x5bd9bb[_0x27f8e9(0x235)](_0x5dc4b7,_0x1811ef),'postProcessingSpeed':_0x5bd9bb[_0x27f8e9(0x235)](_0x5dc4b7,_0x93c7de)};}},{'key':_0x6a46cf(0x1b4),'value':function(_0x5014c6,_0x4392cd){var _0x4f8000=_0x6a46cf;for(var _0x2375a0=new Float32Array(0x4*_0x5014c6),_0x1183ac=0x0;_0x1183ac<_0x5014c6;_0x1183ac++)_0x2375a0[0x4*_0x1183ac]=_0x5b947f[_0x4f8000(0x2a8)]['randomBetween'](_0x4392cd[_0x4f8000(0x1cb)]['x'],_0x4392cd['lonRange']['y']),_0x2375a0[0x4*_0x1183ac+0x1]=_0x5b947f[_0x4f8000(0x2a8)][_0x4f8000(0x1e6)](_0x4392cd[_0x4f8000(0x1da)]['x'],_0x4392cd[_0x4f8000(0x1da)]['y']),_0x2375a0[0x4*_0x1183ac+0x2]=_0x5b947f[_0x4f8000(0x2a8)][_0x4f8000(0x1e6)](this['data']['lev'][_0x4f8000(0x197)],this[_0x4f8000(0x1f0)][_0x4f8000(0x284)][_0x4f8000(0x298)]),_0x2375a0[0x4*_0x1183ac+0x3]=0x0;return _0x2375a0;}},{'key':_0x6a46cf(0x194),'value':function(){var _0x21ab1c=_0x6a46cf,_0x173c2e=this;Object[_0x21ab1c(0x2e6)](this[_0x21ab1c(0x256)])[_0x21ab1c(0x208)](function(_0x3bb6aa){var _0x42c563=_0x21ab1c;_0x173c2e[_0x42c563(0x256)][_0x3bb6aa]['destroy']();});}},{'key':'createComputingPrimitives','value':function(_0x463d8b,_0x98ca52,_0x590673){var _0x5d2ef0=_0x6a46cf,_0x5c7d9b=new _0x5b947f[(_0x5d2ef0(0x2c1))](_0x463d8b[_0x5d2ef0(0x2df)][_0x5d2ef0(0x26d)],_0x463d8b[_0x5d2ef0(0x2df)]['lat'],_0x463d8b[_0x5d2ef0(0x2df)][_0x5d2ef0(0x284)]),_0x548cdc=new _0x5b947f['Cartesian3'](_0x463d8b[_0x5d2ef0(0x26d)][_0x5d2ef0(0x197)],_0x463d8b[_0x5d2ef0(0x2c3)][_0x5d2ef0(0x197)],_0x463d8b[_0x5d2ef0(0x284)]['min']),_0x44ade5=new _0x5b947f[(_0x5d2ef0(0x2c1))](_0x463d8b[_0x5d2ef0(0x26d)]['max'],_0x463d8b[_0x5d2ef0(0x2c3)][_0x5d2ef0(0x298)],_0x463d8b[_0x5d2ef0(0x284)][_0x5d2ef0(0x298)]),_0x53469f=new _0x5b947f[(_0x5d2ef0(0x2c1))]((_0x44ade5['x']-_0x548cdc['x'])/(_0x5c7d9b['x']-0x1),(_0x44ade5['y']-_0x548cdc['y'])/(_0x5c7d9b['y']-0x1),_0x5c7d9b['z']>0x1?(_0x44ade5['z']-_0x548cdc['z'])/(_0x5c7d9b['z']-0x1):0x1),_0x24bcfe=new _0x5b947f[(_0x5d2ef0(0x1af))](_0x463d8b['U']['min'],_0x463d8b['U'][_0x5d2ef0(0x298)]),_0x1e0155=new _0x5b947f['Cartesian2'](_0x463d8b['V'][_0x5d2ef0(0x197)],_0x463d8b['V'][_0x5d2ef0(0x298)]),_0x441a33=this;this[_0x5d2ef0(0x1de)]={'getWind':new _0x1f0fce({'commandType':_0x5d2ef0(0x26a),'uniformMap':{'U':function(){return _0x441a33['windTextures']['U'];},'V':function(){var _0xaababd=_0x5d2ef0;return _0x441a33[_0xaababd(0x1c1)]['V'];},'currentParticlesPosition':function(){var _0x20ad54=_0x5d2ef0;return _0x441a33[_0x20ad54(0x256)][_0x20ad54(0x28a)];},'dimension':function(){return _0x5c7d9b;},'minimum':function(){return _0x548cdc;},'maximum':function(){return _0x44ade5;},'interval':function(){return _0x53469f;}},'fragmentShaderSource':new _0x5b947f[(_0x5d2ef0(0x2d7))]({'sources':[_0x225541['a']]}),'outputTexture':this[_0x5d2ef0(0x256)][_0x5d2ef0(0x294)],'preExecute':function(){var _0x5659d4=_0x5d2ef0;_0x441a33['primitives'][_0x5659d4(0x1b7)][_0x5659d4(0x21d)][_0x5659d4(0x1c6)]=_0x441a33[_0x5659d4(0x256)]['particlesWind'];}}),'updateSpeed':new _0x1f0fce({'commandType':_0x5d2ef0(0x26a),'uniformMap':{'currentParticlesSpeed':function(){var _0x36ed78=_0x5d2ef0;return _0x441a33[_0x36ed78(0x256)][_0x36ed78(0x1cc)];},'particlesWind':function(){var _0x5ada7a=_0x5d2ef0;return _0x441a33[_0x5ada7a(0x256)]['particlesWind'];},'uSpeedRange':function(){return _0x24bcfe;},'vSpeedRange':function(){return _0x1e0155;},'pixelSize':function(){return _0x590673['pixelSize'];},'speedFactor':function(){var _0xaf8221=_0x5d2ef0;return _0x98ca52[_0xaf8221(0x1dd)];}},'fragmentShaderSource':new _0x5b947f[(_0x5d2ef0(0x2d7))]({'sources':[_0x43dc6e['a']]}),'outputTexture':this[_0x5d2ef0(0x256)][_0x5d2ef0(0x2db)],'preExecute':function(){var _0x40199c=_0x5d2ef0,_0x548ce5;_0x548ce5=_0x441a33[_0x40199c(0x256)][_0x40199c(0x1cc)],_0x441a33[_0x40199c(0x256)]['currentParticlesSpeed']=_0x441a33[_0x40199c(0x256)]['postProcessingSpeed'],_0x441a33[_0x40199c(0x256)][_0x40199c(0x271)]=_0x548ce5,_0x441a33['primitives']['updateSpeed'][_0x40199c(0x21d)]['outputTexture']=_0x441a33[_0x40199c(0x256)][_0x40199c(0x2db)];}}),'updatePosition':new _0x1f0fce({'commandType':'Compute','uniformMap':{'currentParticlesPosition':function(){var _0x32f868=_0x5d2ef0;return _0x441a33[_0x32f868(0x256)][_0x32f868(0x28a)];},'currentParticlesSpeed':function(){var _0x510be3=_0x5d2ef0;return _0x441a33[_0x510be3(0x256)][_0x510be3(0x1cc)];}},'fragmentShaderSource':new _0x5b947f[(_0x5d2ef0(0x2d7))]({'sources':[_0x3878ca['a']]}),'outputTexture':this['particlesTextures']['nextParticlesPosition'],'preExecute':function(){var _0x426d72=_0x5d2ef0,_0x12178a;_0x12178a=_0x441a33[_0x426d72(0x256)][_0x426d72(0x28a)],_0x441a33['particlesTextures'][_0x426d72(0x28a)]=_0x441a33[_0x426d72(0x256)]['postProcessingPosition'],_0x441a33['particlesTextures'][_0x426d72(0x28c)]=_0x12178a,_0x441a33[_0x426d72(0x1de)][_0x426d72(0x1f8)][_0x426d72(0x21d)]['outputTexture']=_0x441a33[_0x426d72(0x256)][_0x426d72(0x227)];}}),'postProcessingPosition':new _0x1f0fce({'commandType':_0x5d2ef0(0x26a),'uniformMap':{'nextParticlesPosition':function(){var _0x6350f3=_0x5d2ef0;return _0x441a33['particlesTextures'][_0x6350f3(0x227)];},'nextParticlesSpeed':function(){var _0x1e9919=_0x5d2ef0;return _0x441a33[_0x1e9919(0x256)][_0x1e9919(0x2db)];},'lonRange':function(){return _0x590673['lonRange'];},'latRange':function(){return _0x590673['latRange'];},'randomCoefficient':function(){var _0xb9aa56=_0x5d2ef0,_0x2fe241=Math[_0xb9aa56(0x1a7)]();return _0x2fe241;},'dropRate':function(){var _0x2f26b8=_0x5d2ef0;return _0x98ca52[_0x2f26b8(0x277)];},'dropRateBump':function(){var _0x556952=_0x5d2ef0;return _0x98ca52[_0x556952(0x2a5)];}},'fragmentShaderSource':new _0x5b947f[(_0x5d2ef0(0x2d7))]({'sources':[_0x467940['a']]}),'outputTexture':this[_0x5d2ef0(0x256)]['postProcessingPosition'],'preExecute':function(){var _0x121d6d=_0x5d2ef0;_0x441a33[_0x121d6d(0x1de)][_0x121d6d(0x28c)]['commandToExecute']['outputTexture']=_0x441a33['particlesTextures']['postProcessingPosition'];}}),'postProcessingSpeed':new _0x1f0fce({'commandType':_0x5d2ef0(0x26a),'uniformMap':{'postProcessingPosition':function(){var _0x9272a2=_0x5d2ef0;return _0x441a33[_0x9272a2(0x256)]['postProcessingPosition'];},'nextParticlesSpeed':function(){var _0x40dba1=_0x5d2ef0;return _0x441a33[_0x40dba1(0x256)]['nextParticlesSpeed'];}},'fragmentShaderSource':new _0x5b947f[(_0x5d2ef0(0x2d7))]({'sources':[_0x1807b1['a']]}),'outputTexture':this[_0x5d2ef0(0x256)][_0x5d2ef0(0x271)],'preExecute':function(){var _0x1b1440=_0x5d2ef0;_0x441a33[_0x1b1440(0x1de)][_0x1b1440(0x271)][_0x1b1440(0x21d)][_0x1b1440(0x1c6)]=_0x441a33[_0x1b1440(0x256)][_0x1b1440(0x271)];}})};}}]),_0x54151d;}(),_0x332a01=function(){var _0x391ace=_0x3271f3;function _0x13763c(_0x300471,_0x4b3343,_0x3e9803,_0x5cbabe){var _0x52a5a3=a0_0x3690;_0x9593b9()(this,_0x13763c),this[_0x52a5a3(0x1b1)]=_0x300471,this['data']=_0x4b3343,this['userInput']=_0x3e9803,this[_0x52a5a3(0x23e)]=_0x5cbabe,this['particlesComputing']=new _0x27cbbe(this['context'],this[_0x52a5a3(0x1f0)],this['userInput'],this[_0x52a5a3(0x23e)]),this['particlesRendering']=new _0xcfd54d(this[_0x52a5a3(0x1b1)],this[_0x52a5a3(0x1f0)],this['userInput'],this[_0x52a5a3(0x23e)],this[_0x52a5a3(0x2ee)]);}return _0x1a7c99()(_0x13763c,[{'key':'canvasResize','value':function(_0x2e11d6){var _0x3dddcc=a0_0x3690,_0x457b8d=this;this[_0x3dddcc(0x2ee)]['destroyParticlesTextures'](),Object['keys'](this[_0x3dddcc(0x2ee)]['windTextures'])[_0x3dddcc(0x208)](function(_0x59f24c){var _0xd04809=_0x3dddcc;_0x457b8d[_0xd04809(0x2ee)][_0xd04809(0x1c1)][_0x59f24c][_0xd04809(0x242)]();}),this[_0x3dddcc(0x1b6)][_0x3dddcc(0x2a3)]['colorTable'][_0x3dddcc(0x242)](),Object[_0x3dddcc(0x2e6)](this[_0x3dddcc(0x1b6)]['framebuffers'])[_0x3dddcc(0x208)](function(_0x21464b){var _0x24adfa=_0x3dddcc;_0x457b8d[_0x24adfa(0x1b6)][_0x24adfa(0x302)][_0x21464b][_0x24adfa(0x242)]();}),this['context']=_0x2e11d6,this['particlesComputing']=new _0x27cbbe(this['context'],this[_0x3dddcc(0x1f0)],this[_0x3dddcc(0x21c)],this['viewerParameters']),this['particlesRendering']=new _0xcfd54d(this['context'],this[_0x3dddcc(0x1f0)],this[_0x3dddcc(0x21c)],this['viewerParameters'],this['particlesComputing']);}},{'key':_0x391ace(0x2f4),'value':function(){var _0x5f1ba3=_0x391ace,_0x19f107=this,_0x27fa3e=new _0x5b947f[(_0x5f1ba3(0x275))]({'color':new _0x5b947f[(_0x5f1ba3(0x215))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':void 0x0,'pass':_0x5b947f['Pass'][_0x5f1ba3(0x2fb)]});Object[_0x5f1ba3(0x2e6)](this[_0x5f1ba3(0x1b6)][_0x5f1ba3(0x302)])[_0x5f1ba3(0x208)](function(_0x35be54){var _0x205495=_0x5f1ba3;_0x27fa3e[_0x205495(0x202)]=_0x19f107[_0x205495(0x1b6)][_0x205495(0x302)][_0x35be54],_0x27fa3e['execute'](_0x19f107[_0x205495(0x1b1)]);});}},{'key':'refreshParticles','value':function(_0x4406b0){var _0x2e3560=_0x391ace;if(this[_0x2e3560(0x2f4)](),this[_0x2e3560(0x2ee)]['destroyParticlesTextures'](),this[_0x2e3560(0x2ee)]['createParticlesTextures'](this[_0x2e3560(0x1b1)],this[_0x2e3560(0x21c)],this['viewerParameters']),_0x4406b0){var _0x47157e=this['particlesRendering']['createSegmentsGeometry'](this[_0x2e3560(0x21c)]);this[_0x2e3560(0x1b6)][_0x2e3560(0x1de)][_0x2e3560(0x282)][_0x2e3560(0x2cc)]=_0x47157e;var _0x5b351a=_0x5b947f[_0x2e3560(0x2b0)][_0x2e3560(0x278)]({'context':this[_0x2e3560(0x1b1)],'geometry':_0x47157e,'attributeLocations':this[_0x2e3560(0x1b6)][_0x2e3560(0x1de)][_0x2e3560(0x282)]['attributeLocations'],'bufferUsage':_0x5b947f[_0x2e3560(0x2dd)]['STATIC_DRAW']});this[_0x2e3560(0x1b6)][_0x2e3560(0x1de)][_0x2e3560(0x282)][_0x2e3560(0x21d)][_0x2e3560(0x1be)]=_0x5b351a;}}},{'key':_0x391ace(0x2ce),'value':function(_0x116899){var _0xcf7fc9=_0x391ace,_0x4f2be4=this,_0x59a1c4=!0x1;this['userInput'][_0xcf7fc9(0x1a3)]!=_0x116899[_0xcf7fc9(0x1a3)]&&(_0x59a1c4=!0x0),Object[_0xcf7fc9(0x2e6)](_0x116899)[_0xcf7fc9(0x208)](function(_0x34ec01){var _0x378783=_0xcf7fc9;_0x4f2be4[_0x378783(0x21c)][_0x34ec01]=_0x116899[_0x34ec01];}),this['refreshParticles'](_0x59a1c4);}},{'key':_0x391ace(0x1d4),'value':function(_0x1200dd){var _0x2d6fad=_0x391ace,_0x19ad93=this;Object[_0x2d6fad(0x2e6)](_0x1200dd)[_0x2d6fad(0x208)](function(_0x17d2e0){_0x19ad93['viewerParameters'][_0x17d2e0]=_0x1200dd[_0x17d2e0];}),this[_0x2d6fad(0x2b2)](!0x1);}}]),_0x13763c;}();function _0xb44375(_0x1763b9){var _0x348e09=function(){var _0x23ec0a=a0_0x3690;if(_0x23ec0a(0x2d3)==typeof Reflect||!Reflect['construct'])return!0x1;if(Reflect[_0x23ec0a(0x1f4)][_0x23ec0a(0x209)])return!0x1;if(_0x23ec0a(0x1b5)==typeof Proxy)return!0x0;try{return Boolean[_0x23ec0a(0x1ac)][_0x23ec0a(0x1d8)][_0x23ec0a(0x2da)](Reflect['construct'](Boolean,[],function(){})),!0x0;}catch(_0x2abf2b){return!0x1;}}();return function(){var _0x206b24=a0_0x3690,_0x3214be,_0x475657=_0x505d0b()(_0x1763b9);if(_0x348e09){var _0x42ac93=_0x505d0b()(this)[_0x206b24(0x233)];_0x3214be=Reflect['construct'](_0x475657,arguments,_0x42ac93);}else _0x3214be=_0x475657['apply'](this,arguments);return _0x29e5b5()(this,_0x3214be);};}var _0xb0bb79=_0x5deb98[_0x3271f3(0x19b)]['BaseLayer'],_0x176fae=0x1000,_0x252ac2=0x64,_0x14347d=0.996,_0x1f778c=0.003,_0x58f17f=0.01,_0x22205c=0.5,_0x400126=0x2,_0x56edb5=function(_0x541cfe){var _0x13ba77=_0x3271f3;_0x5c2e1b()(_0x593957,_0x541cfe);var _0x238853=_0xb44375(_0x593957);function _0x593957(){var _0x5dd837=a0_0x3690,_0x45f160,_0x212d6b=arguments['length']>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};if(_0x9593b9()(this,_0x593957),(_0x45f160=_0x238853[_0x5dd837(0x2da)](this,_0x212d6b))[_0x5dd837(0x1a3)]=_0x176fae,_0x45f160[_0x5dd837(0x25c)]=_0x252ac2,_0x45f160[_0x5dd837(0x269)]=_0x14347d,_0x45f160[_0x5dd837(0x277)]=_0x1f778c,_0x45f160['dropRateBump']=_0x58f17f,_0x45f160[_0x5dd837(0x1dd)]=_0x22205c,_0x45f160[_0x5dd837(0x1f3)]=_0x400126,_0x212d6b){for(var _0x2bfcf2 in _0x212d6b)_0x45f160[_0x2bfcf2]=_0x212d6b[_0x2bfcf2];}return _0x45f160;}return _0x1a7c99()(_0x593957,[{'key':_0x13ba77(0x19b),'get':function(){var _0x266175=_0x13ba77;return this[_0x266175(0x1de)];}},{'key':_0x13ba77(0x1bf),'value':function(){}},{'key':_0x13ba77(0x2de),'value':function(){var _0x22db65=_0x13ba77;this['scene']=this[_0x22db65(0x23a)][_0x22db65(0x2f9)],this[_0x22db65(0x223)]=this[_0x22db65(0x23a)][_0x22db65(0x223)],this[_0x22db65(0x1de)]=new _0x5b947f[(_0x22db65(0x261))](),this[_0x22db65(0x23a)][_0x22db65(0x2f9)][_0x22db65(0x1de)][_0x22db65(0x212)](this['primitives']),this[_0x22db65(0x23e)]={'lonRange':new _0x5b947f[(_0x22db65(0x1af))](),'latRange':new _0x5b947f['Cartesian2'](),'pixelSize':0x0},this[_0x22db65(0x21f)]=new _0x5b947f[(_0x22db65(0x200))](_0x5b947f[_0x22db65(0x2c1)][_0x22db65(0x2c5)],6314355.63),this[_0x22db65(0x1d6)]();}},{'key':'_removedHook','value':function(){var _0x47523a=_0x13ba77;this[_0x47523a(0x1de)][_0x47523a(0x195)](),this[_0x47523a(0x23a)][_0x47523a(0x2f9)][_0x47523a(0x1de)]['remove'](this[_0x47523a(0x1de)]);}},{'key':_0x13ba77(0x2e8),'value':function(_0x326729){var _0x5934c4=_0x13ba77;this['particleSystem']=new _0x332a01(this[_0x5934c4(0x2f9)][_0x5934c4(0x1b1)],_0x326729,this['getUserInput'](),this[_0x5934c4(0x23e)]),this[_0x5934c4(0x272)](),this[_0x5934c4(0x22a)]();}},{'key':_0x13ba77(0x291),'value':function(_0x523bfe){var _0x3b46e6=_0x13ba77;if(_0x523bfe){for(var _0x26e324 in _0x523bfe)this[_0x26e324]=_0x523bfe[_0x26e324];}return this['particleSystem']['applyUserInput'](this[_0x3b46e6(0x25d)]()),this;}},{'key':'getUserInput','value':function(){var _0x1d42ed=_0x13ba77,_0x2caddf=Math[_0x1d42ed(0x19e)](Math[_0x1d42ed(0x1c8)](this[_0x1d42ed(0x1a3)]));return this[_0x1d42ed(0x1a3)]=_0x2caddf*_0x2caddf,{'particlesTextureSize':_0x2caddf,'maxParticles':this[_0x1d42ed(0x1a3)],'particleHeight':this[_0x1d42ed(0x25c)],'fadeOpacity':this['fadeOpacity'],'dropRate':this[_0x1d42ed(0x277)],'dropRateBump':this[_0x1d42ed(0x2a5)],'speedFactor':this[_0x1d42ed(0x1dd)],'lineWidth':this[_0x1d42ed(0x1f3)],'globeLayer':this['globeLayer'],'WMS_URL':this[_0x1d42ed(0x2d0)]};}},{'key':_0x13ba77(0x272),'value':function(){var _0x2acaa3=_0x13ba77;this[_0x2acaa3(0x1de)][_0x2acaa3(0x212)](this[_0x2acaa3(0x2c7)]['particlesComputing']['primitives'][_0x2acaa3(0x1b7)]),this[_0x2acaa3(0x1de)][_0x2acaa3(0x212)](this[_0x2acaa3(0x2c7)]['particlesComputing'][_0x2acaa3(0x1de)][_0x2acaa3(0x2ae)]),this['primitives'][_0x2acaa3(0x212)](this['particleSystem'][_0x2acaa3(0x2ee)][_0x2acaa3(0x1de)][_0x2acaa3(0x1f8)]),this[_0x2acaa3(0x1de)][_0x2acaa3(0x212)](this[_0x2acaa3(0x2c7)][_0x2acaa3(0x2ee)][_0x2acaa3(0x1de)][_0x2acaa3(0x28c)]),this[_0x2acaa3(0x1de)][_0x2acaa3(0x212)](this[_0x2acaa3(0x2c7)][_0x2acaa3(0x2ee)][_0x2acaa3(0x1de)][_0x2acaa3(0x271)]),this[_0x2acaa3(0x1de)][_0x2acaa3(0x212)](this[_0x2acaa3(0x2c7)][_0x2acaa3(0x1b6)]['primitives'][_0x2acaa3(0x282)]),this[_0x2acaa3(0x1de)]['add'](this['particleSystem']['particlesRendering']['primitives'][_0x2acaa3(0x1d1)]),this['primitives'][_0x2acaa3(0x212)](this['particleSystem'][_0x2acaa3(0x1b6)][_0x2acaa3(0x1de)][_0x2acaa3(0x224)]);}},{'key':'updateViewerParameters','value':function(){var _0x50b049=_0x13ba77,_0x5e3d04=this['camera'][_0x50b049(0x1a1)](this[_0x50b049(0x2f9)]['globe'][_0x50b049(0x2d5)]);if(!_0x5e3d04){var _0x131b96=this[_0x50b049(0x23a)]['getExtent']();_0x5e3d04=_0x5b947f[_0x50b049(0x2fe)][_0x50b049(0x27e)](_0x131b96[_0x50b049(0x2d4)],_0x131b96['ymin'],_0x131b96['xmax'],_0x131b96[_0x50b049(0x2ed)]);}var _0x451974=_0x5bd9bb[_0x50b049(0x2ab)](_0x5e3d04);this[_0x50b049(0x23e)][_0x50b049(0x1cb)]['x']=_0x451974[_0x50b049(0x26d)]['min'],this[_0x50b049(0x23e)][_0x50b049(0x1cb)]['y']=_0x451974[_0x50b049(0x26d)][_0x50b049(0x298)],this[_0x50b049(0x23e)][_0x50b049(0x1da)]['x']=_0x451974['lat'][_0x50b049(0x197)],this['viewerParameters'][_0x50b049(0x1da)]['y']=_0x451974['lat']['max'];var _0x5b537c=this[_0x50b049(0x223)][_0x50b049(0x1c9)](this[_0x50b049(0x21f)],this[_0x50b049(0x2f9)][_0x50b049(0x22f)],this[_0x50b049(0x2f9)]['drawingBufferHeight']);_0x5b537c>0x0&&(this['viewerParameters'][_0x50b049(0x28d)]=_0x5b537c);}},{'key':'setupEventListeners','value':function(){var _0x380b9c=_0x13ba77,_0x202952=this;this['camera'][_0x380b9c(0x289)][_0x380b9c(0x280)](function(){var _0x29088f=_0x380b9c;_0x202952['_map']&&_0x202952[_0x29088f(0x236)]&&(_0x202952[_0x29088f(0x1de)][_0x29088f(0x236)]=!0x1);}),this[_0x380b9c(0x223)]['moveEnd'][_0x380b9c(0x280)](function(){var _0x4c7611=_0x380b9c;_0x202952['_map']&&_0x202952[_0x4c7611(0x236)]&&(_0x202952['updateViewerParameters'](),_0x202952[_0x4c7611(0x2c7)][_0x4c7611(0x1d4)](_0x202952['viewerParameters']),_0x202952[_0x4c7611(0x1de)]['show']=!0x0);});var _0xe27826=!0x1;window[_0x380b9c(0x280)](_0x380b9c(0x1d5),function(){var _0x372666=_0x380b9c;_0x202952[_0x372666(0x23a)]&&_0x202952[_0x372666(0x236)]&&(_0xe27826=!0x0,_0x202952[_0x372666(0x1de)]['show']=!0x1,_0x202952[_0x372666(0x1de)]['removeAll']());}),this['scene']['preRender']['addEventListener'](function(){var _0x3f27d2=_0x380b9c;_0x202952[_0x3f27d2(0x23a)]&&_0xe27826&&(_0x202952['particleSystem'][_0x3f27d2(0x1f7)](_0x202952[_0x3f27d2(0x2f9)][_0x3f27d2(0x1b1)]),_0xe27826=!0x1,_0x202952[_0x3f27d2(0x272)](),_0x202952[_0x3f27d2(0x1de)][_0x3f27d2(0x236)]=!0x0);});}}]),_0x593957;}(_0xb0bb79);_0x5deb98[_0x3271f3(0x218)][_0x3271f3(0x1ea)](_0x3271f3(0x1f2),_0x56edb5),_0x5deb98[_0x3271f3(0x19b)][_0x3271f3(0x22e)]=_0x56edb5;var _0x218096=function _0x5a0c9e(){var _0x3087e2=_0x3271f3;_0x9593b9()(this,_0x5a0c9e),this[_0x3087e2(0x23b)]=null,this['lat']=null,this['tlng']=null,this[_0x3087e2(0x2c2)]=null,this[_0x3087e2(0x1ed)]=null;},_0x9855c1=function(){var _0x3eb3a3=_0x3271f3;function _0x123615(_0x1d1562,_0x2972be){var _0x193c31=a0_0x3690;_0x9593b9()(this,_0x123615),this[_0x193c31(0x2cb)]=_0x1d1562[_0x193c31(0x2cb)],this['cols']=_0x1d1562['cols'],this[_0x193c31(0x2d4)]=_0x1d1562['xmin'],this[_0x193c31(0x1c0)]=_0x1d1562[_0x193c31(0x1c0)],this['ymin']=_0x1d1562[_0x193c31(0x24a)],this['ymax']=_0x1d1562[_0x193c31(0x2ed)],this[_0x193c31(0x2a9)]=[];var _0x5b7abd=_0x1d1562[_0x193c31(0x241)],_0x4251e1=_0x1d1562[_0x193c31(0x2f3)],_0x1d76fc=!0x1;_0x5b7abd[_0x193c31(0x1e1)]===this['rows']&&_0x5b7abd[0x0][_0x193c31(0x1e1)]===this[_0x193c31(0x237)]&&(_0x1d76fc=!0x0);for(var _0x21ca10=0x0,_0x2648cb=null,_0x589da1=null,_0x325067=0x0;_0x325067<this[_0x193c31(0x2cb)];_0x325067++){_0x2648cb=[];for(var _0x46b734=0x0;_0x46b734<this['cols'];_0x46b734++,_0x21ca10++)_0x589da1=_0x1d76fc?this[_0x193c31(0x213)](_0x5b7abd[_0x325067][_0x46b734],_0x4251e1[_0x325067][_0x46b734]):this['_calcUV'](_0x5b7abd[_0x21ca10],_0x4251e1[_0x21ca10]),_0x2648cb[_0x193c31(0x29d)](_0x589da1);this[_0x193c31(0x2a9)][_0x193c31(0x29d)](_0x2648cb);}_0x2972be&&this['grid']['reverse']();}return _0x1a7c99()(_0x123615,[{'key':_0x3eb3a3(0x27b),'value':function(_0x4e0c67,_0x127a78){var _0x91a04e=_0x3eb3a3;return{'x':(_0x4e0c67-this[_0x91a04e(0x2d4)])/(this['xmax']-this[_0x91a04e(0x2d4)])*(this['cols']-0x1),'y':(this['ymax']-_0x127a78)/(this['ymax']-this[_0x91a04e(0x24a)])*(this[_0x91a04e(0x2cb)]-0x1)};}},{'key':_0x3eb3a3(0x297),'value':function(_0xe09aeb,_0x205d65){var _0x4f6448=_0x3eb3a3;if(_0xe09aeb<0x0||_0xe09aeb>=this[_0x4f6448(0x237)]||_0x205d65>=this[_0x4f6448(0x2cb)])return[0x0,0x0,0x0];var _0x307421,_0x545556,_0x1e4df9=Math[_0x4f6448(0x1dc)](_0xe09aeb),_0x14af89=Math[_0x4f6448(0x1dc)](_0x205d65);if(_0x1e4df9===_0xe09aeb&&_0x14af89===_0x205d65)return this[_0x4f6448(0x2a9)][_0x205d65][_0xe09aeb];_0x307421=_0x1e4df9+0x1,_0x545556=_0x14af89+0x1;var _0x3f0c50=this[_0x4f6448(0x297)](_0x1e4df9,_0x14af89),_0x4b5f24=this[_0x4f6448(0x297)](_0x307421,_0x14af89),_0x4f6649=this[_0x4f6448(0x297)](_0x1e4df9,_0x545556),_0x1249ba=this[_0x4f6448(0x297)](_0x307421,_0x545556),_0x4f336d=null;try{_0x4f336d=this[_0x4f6448(0x1e4)](_0xe09aeb-_0x1e4df9,_0x205d65-_0x14af89,_0x3f0c50,_0x4b5f24,_0x4f6649,_0x1249ba);}catch(_0x3c1650){console[_0x4f6448(0x20c)](_0xe09aeb,_0x205d65);}return _0x4f336d;}},{'key':_0x3eb3a3(0x1e4),'value':function(_0x261582,_0x4f9537,_0x7983cf,_0x4d361e,_0x1b31c4,_0x2a4172){var _0x3b614e=_0x3eb3a3,_0x22b33d=0x1-_0x261582,_0x17b806=0x1-_0x4f9537,_0x21e205=_0x22b33d*_0x17b806,_0x4e9eba=_0x261582*_0x17b806,_0x2bc81e=_0x22b33d*_0x4f9537,_0x295e16=_0x261582*_0x4f9537,_0x49f101=_0x7983cf[0x0]*_0x21e205+_0x4d361e[0x0]*_0x4e9eba+_0x1b31c4[0x0]*_0x2bc81e+_0x2a4172[0x0]*_0x295e16,_0xb47dfa=_0x7983cf[0x1]*_0x21e205+_0x4d361e[0x1]*_0x4e9eba+_0x1b31c4[0x1]*_0x2bc81e+_0x2a4172[0x1]*_0x295e16;return this[_0x3b614e(0x213)](_0x49f101,_0xb47dfa);}},{'key':'_calcUV','value':function(_0x1b6381,_0x5dd5bc){var _0x238367=_0x3eb3a3;return[+_0x1b6381,+_0x5dd5bc,Math[_0x238367(0x1c8)](_0x1b6381*_0x1b6381+_0x5dd5bc*_0x5dd5bc)];}},{'key':'getUVByPoint','value':function(_0x5ad425,_0x267881){var _0x59b656=_0x3eb3a3;if(!this[_0x59b656(0x29e)](_0x5ad425,_0x267881))return null;var _0x25e9cc=this[_0x59b656(0x27b)](_0x5ad425,_0x267881);return this[_0x59b656(0x297)](_0x25e9cc['x'],_0x25e9cc['y']);}},{'key':_0x3eb3a3(0x29e),'value':function(_0x190cb2,_0x2c7ac4){var _0x1ce5b6=_0x3eb3a3;return _0x190cb2>=this['xmin']&&_0x190cb2<=this['xmax']&&_0x2c7ac4>=this[_0x1ce5b6(0x24a)]&&_0x2c7ac4<=this[_0x1ce5b6(0x2ed)];}},{'key':'getRandomLatLng','value':function(){var _0x173da8=_0x3eb3a3,_0x4c5820=_0x2e55be(this[_0x173da8(0x2d4)],this['xmax']);return{'lat':_0x2e55be(this['ymin'],this['ymax']),'lng':_0x4c5820};}}]),_0x123615;}();function _0x2e55be(_0x5e0687,_0xbb9932){return _0x5e0687+Math['random']()*(_0xbb9932-_0x5e0687);}function _0x4d5c2e(_0x2d2ca3){var _0x50b4a1=function(){var _0x25f7d3=a0_0x3690;if(_0x25f7d3(0x2d3)==typeof Reflect||!Reflect[_0x25f7d3(0x1f4)])return!0x1;if(Reflect[_0x25f7d3(0x1f4)][_0x25f7d3(0x209)])return!0x1;if(_0x25f7d3(0x1b5)==typeof Proxy)return!0x0;try{return Boolean[_0x25f7d3(0x1ac)]['valueOf'][_0x25f7d3(0x2da)](Reflect['construct'](Boolean,[],function(){})),!0x0;}catch(_0x4f39b7){return!0x1;}}();return function(){var _0x3a29e7=a0_0x3690,_0x3db64c,_0x499e57=_0x505d0b()(_0x2d2ca3);if(_0x50b4a1){var _0x191337=_0x505d0b()(this)[_0x3a29e7(0x233)];_0x3db64c=Reflect[_0x3a29e7(0x1f4)](_0x499e57,arguments,_0x191337);}else _0x3db64c=_0x499e57[_0x3a29e7(0x1eb)](this,arguments);return _0x29e5b5()(this,_0x3db64c);};}var _0x2c3fda=function(_0x455459){var _0x586aba=_0x3271f3;_0x5c2e1b()(_0x154569,_0x455459);var _0xcd8948=_0x4d5c2e(_0x154569);function _0x154569(){var _0x468bab=a0_0x3690,_0x342ff8,_0x2ce2ec=arguments[_0x468bab(0x1e1)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x9593b9()(this,_0x154569),(_0x342ff8=_0xcd8948[_0x468bab(0x2da)](this,_0x2ce2ec))['calc_speedRate']=[0x0,0x0],_0x342ff8[_0x468bab(0x286)]=[],_0x342ff8[_0x468bab(0x288)]=_0x2ce2ec[_0x468bab(0x288)]||0x32,_0x342ff8['_particlesNumber']=_0x2ce2ec['particlesNumber']||0x4e20,_0x342ff8[_0x468bab(0x293)]=_0x2ce2ec[_0x468bab(0x1ef)]||0x78,_0x342ff8[_0x468bab(0x201)]=0x3e8/(_0x2ce2ec[_0x468bab(0x243)]||0xa),_0x342ff8[_0x468bab(0x1a4)]=_0x5b947f['defaultValue'](_0x342ff8[_0x468bab(0x217)][_0x468bab(0x1a5)],!0x1),_0x342ff8['color']=_0x2ce2ec[_0x468bab(0x231)]||'#ffffff',_0x342ff8[_0x468bab(0x1f3)]=_0x2ce2ec[_0x468bab(0x1f3)]||0x1,_0x342ff8[_0x468bab(0x238)]=_0x5b947f[_0x468bab(0x1fb)](_0x2ce2ec[_0x468bab(0x238)],0x0),_0x342ff8[_0x468bab(0x26c)]=_0x5b947f['defaultValue'](_0x2ce2ec[_0x468bab(0x26c)],!0x1),_0x342ff8[_0x468bab(0x2f1)]=null,_0x342ff8;}return _0x1a7c99()(_0x154569,[{'key':_0x586aba(0x19b),'get':function(){var _0x24a672=_0x586aba;return this[_0x24a672(0x2f1)];}},{'key':_0x586aba(0x1ce),'get':function(){var _0x58f9b3=_0x586aba;return this['_map'][_0x58f9b3(0x2f9)][_0x58f9b3(0x2f1)][_0x58f9b3(0x199)];}},{'key':_0x586aba(0x1e0),'get':function(){var _0x4109eb=_0x586aba;return this[_0x4109eb(0x23a)]['scene']['canvas']['clientHeight'];}},{'key':_0x586aba(0x1a5),'get':function(){var _0x32f7dd=_0x586aba;return this[_0x32f7dd(0x1a4)];},'set':function(_0x2ad966){var _0x1a5dce=_0x586aba;this[_0x1a5dce(0x1a4)]=_0x2ad966,this['canvas']['style'][_0x1a5dce(0x24d)]=_0x2ad966?_0x1a5dce(0x2b3):'none';}},{'key':_0x586aba(0x288),'get':function(){var _0x1cc27e=_0x586aba;return this[_0x1cc27e(0x245)];},'set':function(_0x4a52c0){var _0x47c2fa=_0x586aba;this[_0x47c2fa(0x245)]=0x64*(0x64-(_0x4a52c0>0x63?0x63:_0x4a52c0)),this[_0x47c2fa(0x240)]();}},{'key':_0x586aba(0x2f7),'get':function(){var _0x2c05ee=_0x586aba;return this[_0x2c05ee(0x2ea)];},'set':function(_0x4a117a){var _0x4c590d=_0x586aba,_0x449b73=this;this[_0x4c590d(0x2ea)]=_0x4a117a,clearTimeout(this[_0x4c590d(0x219)]),this[_0x4c590d(0x219)]=setTimeout(function(){var _0x438bb7=_0x4c590d;_0x449b73[_0x438bb7(0x1ec)]();},0x1f4);}},{'key':_0x586aba(0x1ef),'get':function(){return this['_maxAge'];},'set':function(_0x1c863d){var _0x31770f=_0x586aba,_0x36f04e=this;this[_0x31770f(0x293)]=_0x1c863d,clearTimeout(this[_0x31770f(0x219)]),this['canrefresh']=setTimeout(function(){var _0x4c4076=_0x31770f;_0x36f04e[_0x4c4076(0x1ec)]();},0x1f4);}},{'key':_0x586aba(0x1f0),'get':function(){var _0x52f63c=_0x586aba;return this[_0x52f63c(0x24c)];},'set':function(_0x406a0b){var _0x115209=_0x586aba;this[_0x115209(0x251)](_0x406a0b);}},{'key':_0x586aba(0x27f),'value':function(_0x367d97){var _0x596ee6=_0x586aba;this['canvas']&&(this['canvas'][_0x596ee6(0x2a7)][_0x596ee6(0x255)]=_0x367d97?_0x596ee6(0x2e9):'hidden');}},{'key':_0x586aba(0x1bf),'value':function(){}},{'key':'_addedHook','value':function(){var _0x44396d=_0x586aba;this[_0x44396d(0x2f1)]=this[_0x44396d(0x2ba)](),this['canvasContext']=this[_0x44396d(0x2f1)][_0x44396d(0x25e)]('2d'),this[_0x44396d(0x25a)](),this[_0x44396d(0x217)]['data']&&this[_0x44396d(0x251)](this[_0x44396d(0x217)]['data']);}},{'key':_0x586aba(0x2eb),'value':function(){var _0x1b0648=_0x586aba;this[_0x1b0648(0x2b6)](),this[_0x1b0648(0x2e4)](),this[_0x1b0648(0x2f1)]&&(this[_0x1b0648(0x23a)]['container']['removeChild'](this[_0x1b0648(0x2f1)]),delete this[_0x1b0648(0x2f1)]);}},{'key':_0x586aba(0x2ba),'value':function(){var _0x4d345a=_0x586aba,_0x114cb1=document[_0x4d345a(0x1d3)]('canvas');_0x114cb1[_0x4d345a(0x2a7)]['position']=_0x4d345a(0x2bb),_0x114cb1['style'][_0x4d345a(0x1d2)]=_0x4d345a(0x1a2),_0x114cb1['style'][_0x4d345a(0x1c2)]=_0x4d345a(0x1a2),_0x114cb1[_0x4d345a(0x2a7)][_0x4d345a(0x244)]=_0x4d345a(0x23c),_0x114cb1[_0x4d345a(0x2a7)][_0x4d345a(0x1a9)]=_0x4d345a(0x23c),_0x114cb1[_0x4d345a(0x2a7)][_0x4d345a(0x1a5)]=this[_0x4d345a(0x1a4)]?_0x4d345a(0x290):'none',_0x114cb1[_0x4d345a(0x2a7)][_0x4d345a(0x1bc)]=0xa,_0x114cb1[_0x4d345a(0x260)]('id',_0x4d345a(0x2ec)),_0x114cb1[_0x4d345a(0x260)](_0x4d345a(0x283),'canvasWindy'),this[_0x4d345a(0x23a)][_0x4d345a(0x1ba)][_0x4d345a(0x1ab)](_0x114cb1);var _0x517323=this[_0x4d345a(0x23a)][_0x4d345a(0x2f9)];return _0x114cb1[_0x4d345a(0x244)]=_0x517323['canvas']['clientWidth'],_0x114cb1['height']=_0x517323[_0x4d345a(0x2f1)][_0x4d345a(0x2d2)],_0x114cb1;}},{'key':_0x586aba(0x1d5),'value':function(){var _0xda7136=_0x586aba;this[_0xda7136(0x2f1)]&&(this[_0xda7136(0x2f1)][_0xda7136(0x244)]=this['canvasWidth'],this[_0xda7136(0x2f1)][_0xda7136(0x1a9)]=this['canvasHeight']);}},{'key':_0x586aba(0x25a),'value':function(){var _0x2d2151=_0x586aba,_0x53cf97=this,_0x4b50aa=this,_0x22dd53=Date['now']();!function _0xdb84cf(){var _0x1bb9ac=a0_0x3690;_0x4b50aa['animateFrame']=window[_0x1bb9ac(0x2ff)](_0xdb84cf);var _0x53a2de=Date[_0x1bb9ac(0x1f5)](),_0x1528bf=_0x53a2de-_0x22dd53;_0x1528bf>_0x4b50aa[_0x1bb9ac(0x201)]&&(_0x22dd53=_0x53a2de-_0x1528bf%_0x4b50aa[_0x1bb9ac(0x201)],_0x4b50aa[_0x1bb9ac(0x264)]());}(),window['addEventListener'](_0x2d2151(0x1d5),this['resize'][_0x2d2151(0x295)](this),!0x1),this[_0x2d2151(0x216)]=new _0x5b947f[(_0x2d2151(0x2ac))](this[_0x2d2151(0x23a)]['scene'][_0x2d2151(0x2f1)]);var _0x12761c=!0x1,_0x4c40ea=!0x1;this[_0x2d2151(0x216)]['setInputAction'](function(_0x3f7206){var _0x1127d1=_0x2d2151;clearTimeout(-0x1),_0x53cf97[_0x1127d1(0x236)]=!0x1,setTimeout(function(){var _0x2cb60a=_0x1127d1;_0x53cf97[_0x2cb60a(0x1ec)](),_0x53cf97[_0x2cb60a(0x236)]=!0x0;},0xc8);},_0x5b947f['ScreenSpaceEventType'][_0x2d2151(0x23f)]),this[_0x2d2151(0x216)]['setInputAction'](function(_0x752315){_0x12761c=!0x0;},_0x5b947f[_0x2d2151(0x2ad)]['LEFT_DOWN']),this['handler'][_0x2d2151(0x273)](function(_0x525a5f){_0x12761c=!0x0;},_0x5b947f[_0x2d2151(0x2ad)][_0x2d2151(0x2f5)]),this[_0x2d2151(0x216)][_0x2d2151(0x273)](function(_0x314b6b){var _0x547761=_0x2d2151;_0x12761c&&(_0x53cf97[_0x547761(0x236)]=!0x1,_0x4c40ea=!0x0);},_0x5b947f[_0x2d2151(0x2ad)][_0x2d2151(0x234)]),this['handler'][_0x2d2151(0x273)](function(_0x44fdc5){var _0x579d0b=_0x2d2151;_0x12761c&&_0x4c40ea&&_0x53cf97[_0x579d0b(0x1ec)](),_0x53cf97[_0x579d0b(0x236)]=!0x0,_0x12761c=!0x1,_0x4c40ea=!0x1;},_0x5b947f[_0x2d2151(0x2ad)][_0x2d2151(0x207)]),this[_0x2d2151(0x216)][_0x2d2151(0x273)](function(_0x49cf85){var _0x52fa88=_0x2d2151;_0x12761c&&_0x4c40ea&&_0x53cf97[_0x52fa88(0x1ec)](),_0x53cf97[_0x52fa88(0x236)]=!0x0,_0x12761c=!0x1,_0x4c40ea=!0x1;},_0x5b947f[_0x2d2151(0x2ad)][_0x2d2151(0x196)]);}},{'key':'unbindEvent','value':function(){var _0x200892=_0x586aba;window[_0x200892(0x2af)](this[_0x200892(0x252)]),delete this['animateFrame'],window[_0x200892(0x1ca)]('resize',this['resize']),this['handler']&&(this[_0x200892(0x216)][_0x200892(0x242)](),this[_0x200892(0x216)]=null);}},{'key':_0x586aba(0x1ec),'value':function(){var _0x1e8090=_0x586aba;this[_0x1e8090(0x286)]=[],this[_0x1e8090(0x211)]();}},{'key':_0x586aba(0x251),'value':function(_0xa4f45a){var _0x532faa=_0x586aba;this[_0x532faa(0x2b6)](),this['windData']=_0xa4f45a,this[_0x532faa(0x1c3)]=new _0x9855c1(this[_0x532faa(0x24c)],this[_0x532faa(0x26c)]),this[_0x532faa(0x211)]();}},{'key':_0x586aba(0x211),'value':function(){var _0x25bd6d=_0x586aba;this[_0x25bd6d(0x240)]();for(var _0x2f28e8=0x0;_0x2f28e8<this['particlesNumber'];_0x2f28e8++){var _0x26d1a1=this['randomParticle'](new _0x218096());this[_0x25bd6d(0x286)][_0x25bd6d(0x29d)](_0x26d1a1);}this['canvasContext']['fillStyle']='rgba(0,\x200,\x200,\x200.97)',this[_0x25bd6d(0x265)][_0x25bd6d(0x222)]=0.6,this[_0x25bd6d(0x264)]();}},{'key':_0x586aba(0x240),'value':function(){var _0x3762ad=_0x586aba;this[_0x3762ad(0x1c3)]&&(this['calc_speedRate']=[(this[_0x3762ad(0x1c3)][_0x3762ad(0x1c0)]-this[_0x3762ad(0x1c3)][_0x3762ad(0x2d4)])/this[_0x3762ad(0x288)],(this['windField'][_0x3762ad(0x2ed)]-this[_0x3762ad(0x1c3)][_0x3762ad(0x24a)])/this[_0x3762ad(0x288)]]);}},{'key':'update','value':function(){var _0x787087=_0x586aba,_0xab39e5=this;if(this['show']&&!(this[_0x787087(0x286)][_0x787087(0x1e1)]<=0x0)){var _0x548cb0=null,_0x4a2743=null,_0x1baa54=null;this[_0x787087(0x286)]['forEach'](function(_0x35ca81){var _0x502d3b=_0x787087;if(_0x35ca81[_0x502d3b(0x1ed)]<=0x0&&_0xab39e5[_0x502d3b(0x29c)](_0x35ca81),_0x35ca81['age']>0x0){var _0xaeea97=_0x35ca81[_0x502d3b(0x2d9)],_0xff195c=_0x35ca81[_0x502d3b(0x2c2)];(_0x1baa54=_0xab39e5[_0x502d3b(0x1c3)][_0x502d3b(0x2dc)](_0xaeea97,_0xff195c))?(_0x548cb0=_0xaeea97+_0xab39e5[_0x502d3b(0x205)][0x0]*_0x1baa54[0x0],_0x4a2743=_0xff195c+_0xab39e5[_0x502d3b(0x205)][0x1]*_0x1baa54[0x1],_0x35ca81['lng']=_0xaeea97,_0x35ca81[_0x502d3b(0x2c3)]=_0xff195c,_0x35ca81[_0x502d3b(0x2d9)]=_0x548cb0,_0x35ca81[_0x502d3b(0x2c2)]=_0x4a2743,_0x35ca81[_0x502d3b(0x1ed)]--):_0x35ca81[_0x502d3b(0x1ed)]=0x0;}}),this[_0x787087(0x1cf)]();}}},{'key':_0x586aba(0x1e8),'value':function(_0x2a27c4,_0x56f10d,_0x1147dc){var _0xd9e562=_0x586aba,_0x874ea7=_0x5b947f[_0xd9e562(0x2c1)][_0xd9e562(0x27e)](_0x2a27c4,_0x56f10d,this['fixedHeight']),_0x19da16=this['_map']['scene'];if(_0x19da16[_0xd9e562(0x2fd)]===_0x5b947f[_0xd9e562(0x2e5)][_0xd9e562(0x1a8)]&&!new _0x5b947f['EllipsoidalOccluder'](_0x19da16[_0xd9e562(0x226)][_0xd9e562(0x2d5)],_0x19da16['camera'][_0xd9e562(0x210)])['isPointVisible'](_0x874ea7))return _0x1147dc['age']=0x0,null;var _0x47ac61=_0x5b947f[_0xd9e562(0x19f)][_0xd9e562(0x20d)](this['_map']['scene'],_0x874ea7);return _0x47ac61?[_0x47ac61['x'],_0x47ac61['y']]:null;}},{'key':'_drawLines','value':function(){var _0x3a4215=_0x586aba,_0x3813d1=this,_0x3bf749=this[_0x3a4215(0x286)];this[_0x3a4215(0x265)]['lineWidth']=_0x3813d1[_0x3a4215(0x1f3)],this[_0x3a4215(0x265)]['globalCompositeOperation']='destination-in',this[_0x3a4215(0x265)]['fillRect'](0x0,0x0,this[_0x3a4215(0x1ce)],this[_0x3a4215(0x1e0)]),this['canvasContext'][_0x3a4215(0x229)]='lighter',this[_0x3a4215(0x265)][_0x3a4215(0x222)]=0.9,this[_0x3a4215(0x265)][_0x3a4215(0x28b)](),this[_0x3a4215(0x265)][_0x3a4215(0x1bd)]=this['color'];var _0x2ae4e7=this[_0x3a4215(0x23a)][_0x3a4215(0x2f9)][_0x3a4215(0x2fd)]!==_0x5b947f['SceneMode']['SCENE3D'];_0x3bf749[_0x3a4215(0x208)](function(_0x203850){var _0x14404c=_0x3a4215,_0x438b18=_0x3813d1[_0x14404c(0x1e8)](_0x203850[_0x14404c(0x23b)],_0x203850[_0x14404c(0x2c3)],_0x203850),_0x11a736=_0x3813d1[_0x14404c(0x1e8)](_0x203850[_0x14404c(0x2d9)],_0x203850[_0x14404c(0x2c2)],_0x203850);if(null!=_0x438b18&&null!=_0x11a736){var _0x454d8f=Math[_0x14404c(0x279)](_0x438b18[0x0]-_0x11a736[0x0]);_0x2ae4e7&&_0x454d8f>=_0x3813d1[_0x14404c(0x1ce)]||(_0x3813d1[_0x14404c(0x265)]['moveTo'](_0x438b18[0x0],_0x438b18[0x1]),_0x3813d1[_0x14404c(0x265)][_0x14404c(0x19a)](_0x11a736[0x0],_0x11a736[0x1]));}}),this[_0x3a4215(0x265)][_0x3a4215(0x20f)]();}},{'key':_0x586aba(0x29c),'value':function(_0x413da2){var _0x497b5c=_0x586aba;for(var _0x4b835f,_0x2f1f56,_0x48589e=0x0;_0x48589e<0x1e&&(_0x4b835f=this[_0x497b5c(0x1c3)][_0x497b5c(0x22b)](),!((_0x2f1f56=this[_0x497b5c(0x1c3)][_0x497b5c(0x2dc)](_0x4b835f['lng'],_0x4b835f[_0x497b5c(0x2c3)]))&&_0x2f1f56[0x2]>0x0));_0x48589e++);if(!_0x2f1f56)return _0x413da2;var _0x4418e2=_0x4b835f[_0x497b5c(0x23b)]+this[_0x497b5c(0x205)][0x0]*_0x2f1f56[0x0],_0x130fdd=_0x4b835f[_0x497b5c(0x2c3)]+this['calc_speedRate'][0x1]*_0x2f1f56[0x1];return _0x413da2[_0x497b5c(0x23b)]=_0x4b835f['lng'],_0x413da2[_0x497b5c(0x2c3)]=_0x4b835f[_0x497b5c(0x2c3)],_0x413da2[_0x497b5c(0x2d9)]=_0x4418e2,_0x413da2[_0x497b5c(0x2c2)]=_0x130fdd,_0x413da2[_0x497b5c(0x1ed)]=Math[_0x497b5c(0x1b3)](Math[_0x497b5c(0x1a7)]()*this[_0x497b5c(0x1ef)]),_0x413da2;}},{'key':_0x586aba(0x2b6),'value':function(){var _0x433185=_0x586aba;this[_0x433185(0x286)]=[],delete this[_0x433185(0x1c3)],delete this['windData'];}}]),_0x154569;}(_0x5deb98[_0x3271f3(0x19b)][_0x3271f3(0x203)]);function _0x1b20cd(_0x16321b,_0x31fac2){var _0x25c194=_0x3271f3;return _0x16321b*Math['cos'](_0x5b947f[_0x25c194(0x2a8)][_0x25c194(0x2c0)](_0x31fac2));}function _0x4d9888(_0x41139f,_0x6c0950){var _0x2dc4e8=_0x3271f3;return _0x41139f*Math['sin'](_0x5b947f[_0x2dc4e8(0x2a8)][_0x2dc4e8(0x2c0)](_0x6c0950));}function _0x194507(_0x1acdf6,_0x509d30){var _0x2e9109=_0x3271f3;return Math[_0x2e9109(0x1c8)](Math['pow'](_0x1acdf6,0x2)+Math[_0x2e9109(0x2c9)](_0x509d30,0x2));}function _0xb0bd42(_0x5e4773,_0x1f49c7){var _0x3ca03b=_0x3271f3,_0x3200b1=_0x5b947f[_0x3ca03b(0x2a8)][_0x3ca03b(0x2bd)](Math['atan2'](_0x1f49c7,_0x5e4773));return _0x3200b1+=_0x3200b1<0x0?0x168:0x0;}_0x5deb98['LayerUtil'][_0x3271f3(0x1ea)](_0x3271f3(0x250),_0x2c3fda),_0x5deb98[_0x3271f3(0x19b)][_0x3271f3(0x2e0)]=_0x2c3fda,_0x5deb98[_0x3271f3(0x225)]=_0x2c13a3;}]);}));function a0_0x3690(_0x238653,_0x577e35){var _0x586eee=a0_0x586e();return a0_0x3690=function(_0x3690c6,_0x149797){_0x3690c6=_0x3690c6-0x194;var _0x3b013c=_0x586eee[_0x3690c6];return _0x3b013c;},a0_0x3690(_0x238653,_0x577e35);}function a0_0x586e(){var _0x27a7a4=['particles','162123ROQAbm','speedRate','moveStart','currentParticlesPosition','beginPath','postProcessingPosition','pixelSize','4DOCrtD','defineProperty','auto','setOptions','object','_maxAge','particlesWind','bind','Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function','getUVByXY','max','LINEAR','createFramebuffer','createCommand','randomParticle','push','isInExtent','vertexShaderSource','Texture','createWindTextures','Appearance','textures','290jFJxBM','dropRateBump','uniform\x20sampler2D\x20colorTable;\x0a\x0avarying\x20float\x20speedNormalization;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20texture2D(colorTable,\x20vec2(speedNormalization,\x200.0));\x0a}','style','Math','grid','Cannot\x20call\x20a\x20class\x20as\x20a\x20function','viewRectangleToLonLatRange','ScreenSpaceEventHandler','ScreenSpaceEventType','updateSpeed','cancelAnimationFrame','VertexArray','rawRenderState','refreshParticles','all','186JQKiXX','NEAREST','clear','commandList','1232535aPFYTW','createComputingPrimitives','_createCanvas','absolute','defined','toDegrees','toStringTag','setGeometry','toRadians','Cartesian3','tlat','lat','segmentsDepth','ZERO','mars3d-cesium','particleSystem','50757CPiFpo','pow','isDestroyed','rows','geometry','default','applyUserInput','mars3dWind','WMS_URL','GeometryAttribute','clientHeight','undefined','xmin','ellipsoid','setPrototypeOf','ShaderSource','IDENTITY','tlng','call','nextParticlesSpeed','getUVByPoint','BufferUsage','_addedHook','dimensions','CanvasWindLayer','Sampler','Cesium','value','unbindEvent','SceneMode','keys','autoClear','setData','visible','_particlesNumber','_removedHook','canvasWindy','ymax','particlesComputing','destroyObject','key','canvas','Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined','vdata','clearFramebuffers','RIGHT_DOWN','__esModule','particlesNumber','createRenderingFramebuffers','scene','currentTrails','OPAQUE','PI_OVER_THREE','mode','Rectangle','requestAnimationFrame','blending','TextureMinificationFilter','framebuffers','Matrix4','destroyParticlesTextures','removeAll','RIGHT_UP','min','getFullscreenQuad','clientWidth','lineTo','layer','3264448skTUnJ','PixelFormat','ceil','SceneTransforms','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}','computeViewRectangle','0px','maxParticles','_pointerEvents','pointerEvents','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}','random','SCENE3D','height','source','appendChild','prototype','west','GeometryAttributes','Cartesian2','FLOAT','context','mars3d','round','randomizeParticles','function','particlesRendering','getWind','UNSIGNED_BYTE','south','container','exports','zIndex','strokeStyle','vertexArray','_mountedHook','xmax','windTextures','left','windField','drawingBufferHeight','symbol','outputTexture','arrayBufferView','sqrt','getPixelSize','removeEventListener','lonRange','currentParticlesSpeed','STATIC_DRAW','canvasWidth','_drawLines','180657iZSSFO','trails','top','createElement','applyViewerParameters','resize','updateViewerParameters','string','valueOf','PixelDatatype','latRange','array','floor','speedFactor','primitives','enumerable','canvasHeight','length','createParticlesTextures','writable','_bilinearInterpolation','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}','randomBetween','ComponentDatatype','_tomap','DrawCommand','register','apply','redraw','age','getColorTexture','maxAge','data','east','wind','lineWidth','construct','now','viewport','canvasResize','updatePosition','getU','depthTexture','defaultValue','DEPTH_COMPONENT','clearCommand','getV','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}','BoundingSphere','frameTime','framebuffer','BaseLayer','nextTrailsColor','calc_speedRate','north','LEFT_UP','forEach','sham','iterator','depthTest','log','wgs84ToWindowCoordinates','nextTrails','stroke','positionWC','drawWind','add','_calcUV','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','Color','handler','options','LayerUtil','canrefresh','fill','createRenderingPrimitives','userInput','commandToExecute','ComputeCommand','globeBoundingSphere','fragmentShaderSource','attributeLocations','globalAlpha','camera','screen','WindUtil','globe','nextParticlesPosition','getPrototypeOf','globalCompositeOperation','setupEventListeners','getRandomLatLng','createSegmentsGeometry','TextureMagnificationFilter','WindLayer','drawingBufferWidth','RGBA','color','PrimitiveType','constructor','MOUSE_MOVE','createTexture','show','cols','fixedHeight','fromCache','_map','lng','100%','//\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}','viewerParameters','WHEEL','_calcStep','udata','destroy','frameRate','width','_speedRate','PI_OVER_TWO','this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called','particlesTextureSize','1226250OMIJrp','ymin','ShaderProgram','windData','pointer-events','create','currentTrailsColor','canvasWind','updateDate','animateFrame','TRIANGLES','colorTable','visibility','particlesTextures','UNSIGNED_INT','createRawRenderState','Geometry','bindEvent','segmentsColor','particleHeight','getUserInput','getContext','THREE_PI_OVER_TWO','setAttribute','PrimitiveCollection','getDirection','mod','update','canvasContext','getDefaultRenderState','primitiveType','clampToLatitudeRange','fadeOpacity','Compute','shaderProgram','reverseY','lon','commandType','TWO_PI','createRenderingTextures','postProcessingSpeed','addPrimitives','setInputAction','uniformMap','ClearCommand','184682qbVaND','dropRate','fromGeometry','abs','RenderState','toGridXY','preExecute','__proto__','fromDegrees','_showHook','addEventListener','Pass','segments','class','lev','Draw'];a0_0x586e=function(){return _0x27a7a4;};return a0_0x586e();} |